/*
 Theme Name:   Advantec
 Theme URI:    https://generatepress.com
 Description:  Advantec GeneratePress Child Theme
 Author:       Tp Design
 Author URI:   https://tpdesign.it
 Template:     generatepress
 Version:      0.1
*/



/*
1. Regole generali 
2. Header e menù
3. Tipografia
4. Classi custom di Generate Press
5. Altre personalizzazioni (plugin, ...)
-- 5.01 Mappa
*/
/*===============================1. Regole generali===============================*/

html {
	scroll-behavior: smooth;
	scroll-padding-top: 16rem;
	font-size:9px;
}

*, *::before, *::after {
  box-sizing: border-box;
}

@media screen and (min-width: 1181px) {
	.no-sidebar .entry-content .alignfull{
		width: calc(100vw - var(--scrollbar-width)) !important;
		margin-left: calc(-1 * (100vw - var(--scrollbar-width)) / 2 + 100% / 2);
		margin-right: calc(-1 * (100vw - var(--scrollbar-width)) / 2 + 100% / 2);
		max-width: calc(100vw - var(--scrollbar-width)) !important;
	}
}
.dynamic-entry-content{
	max-width: 100%;
}
/*===============================2. Header e menù===============================*/

@media screen and (min-width: 1025px) {
	.site-logo > a > img{
		padding: 0px;
		height: 3rem!important;
	}
}
.mega-menu-container{
	max-height: calc(100vh - 12rem);
	overflow-y: auto;
}
@media screen and (max-width: 1024px) {
	header .gb-menu-container--toggled .gb-menu-hide-on-toggled{
		display: block;
		padding-left: 2rem;
	}
	header .tp-menu-mobile > li > a{
		padding: 1rem 2rem!important;
	}
	.gb-menu-toggle.gb-menu-toggle--toggled{
		position: relative!important;
		align-self: flex-end;
		top: 1rem!important;
		right: 2.5rem!important;
	}
	.gb-menu-container {
	padding-top: 3rem;
	}
	header button.gb-menu-toggle{
		padding: 0;
		font-size: 1.5rem;
		font-weight: 600;
		line-height: 100%;
		border-radius: 0.75rem;
		gap: 0;
	}
	header button.gb-menu-toggle .gb-menu-toggle-text{
		padding: 0.75rem;
	}
	header>nav>div.gb-menu-container{
		margin-top: -4rem;
	}
}

@media screen and (min-width: 1025px) and (max-width: 1920px){
	.container-mega-menu{
		width: calc(100vw - 16px);
	}
	.container-mega-menu.menu-marchi{
		width: calc(100vw - 8px);
	}
}
/*===============================3. Tipografia===============================*/
.button-chevron-after:after{
	content: "\e000";
	font-family: "Font Awesome Kit";
}
.single-prodotto .tp-product-hero-text h2{
	color:#000;
	font-size: 3rem;
}
/*===============================4. Classi custom Generate press===============================*/
.gbp-section:first-of-type{
	padding-top: 4rem!important;
}

@media screen and (max-width: 768px) {
	.site-content{
		padding: 0!important;
	}
	.gbp-section:first-of-type {
	padding-top: 8rem!important;
	}
}

.gbp-section > .gbp-section__inner:empty{
	padding: 0;
	margin: 0;
}
.gbp-section .gbp-section__inner + .gbp-section__inner{
	padding-top: 0;
}
/* Bottoni */
.gb-text.gbp-button--primary::after,
.gb-text.gbp-button--secondary::after,
.gb-text.gbp-button--tertiary::after{
	content: "\e000";
	font-family: "Font Awesome Kit";
}
.gb-text.gbp-button--primary,
.gb-text.gbp-button--secondary,
.gb-text.gbp-button--tertiary{
	display: inline-flex;
	column-gap: 2rem;
	justify-content: space-between;
}

/* Bottoni gutenberg */
.wp-block-button{
	display: flex;
    padding: 0.5rem;
    align-items: center;
    gap: 10px;
    border-radius: 4rem;
	background: linear-gradient(339deg, rgba(205, 239, 251, 0.00) -21.18%, rgba(228, 238, 241, 0.06) 93.61%), rgba(255, 255, 255, 0.03);
	box-shadow: 2px 2px 2px 0 rgba(7, 27, 46, 0.20) inset, -12px -12px 36px 0 rgba(0, 123, 140, 0.03) inset;
	backdrop-filter: blur(2px);
}
.wp-block-button > .wp-block-button__link{
 	display: flex;
	gap: 1.5rem;
    align-items: flex-start;
    flex: 1 0 0;
    border-radius: 3rem;
    border: 1px solid #FFF;
	background: radial-gradient(29.71% 57.79% at 19.47% 67.52%, rgba(205, 239, 251, 0.00) 0%, rgba(205, 239, 251, 0.02) 100%);
	box-shadow: 2px 2px 4px 0 rgba(0, 123, 140, 0.20);
    backdrop-filter: blur(2px);
    padding: 1rem 2rem;
	color: var(--accent);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 150%;
	text-transform: uppercase;
}
.wp-block-button > .wp-block-button__link::after{
	content: "\e000";
    font-family: "Font Awesome Kit";
}
.wp-block-button > .wp-block-button__link:hover{
	border: 1px solid var(--accent);
	color: var(--contrast-3);
}


.gbp-section-dark .wp-block-button{
	background: rgba(255, 255, 255, 0.03);
	box-shadow: 0 0 2px 0 rgba(255, 255, 255, 0.45) inset, 2px 2px 2px 0 #071B2E inset;
}
.gbp-section-dark .wp-block-button > .wp-block-button__link{
	border: 1px solid rgba(255, 255, 255, 0.03);
	background: rgba(0, 0, 0, 0.03);
	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.30), 0 0 2px 0 rgba(255, 255, 255, 0.45) inset;
}
.gbp-section-dark .wp-block-button > .wp-block-button__link:hover{
	border: 1px solid var(--accent);
	color: var(--contrast-3);
}

/* Slider homepage*/

.gbp-section-dark{
	background: radial-gradient(50.78% 63.2% at 25.28% 16.1%, #2D6290 0%, rgba(45, 98, 144, 0.00) 100%), radial-gradient(56.56% 52.53% at 79.72% 56.69%, #375457 0%, #2E0E03 100%), #B5D5D7;
	/* padding-top: 6rem; */
	color: var(--base-3);
}
.gbp-section-light{
	background-color: #fff;
	position: relative;
}
.gbp-section-border-radius-top,
.gbp-section-border-radius-bottom{
	position: relative;
	z-index: 100;
}
.gbp-section-border-radius-top{
	margin-top: -6rem;
	border-top-left-radius: 6rem;
	border-top-right-radius: 6rem;
}
.gbp-section-border-radius-bottom{
	border-bottom-left-radius: 6rem;
	border-bottom-right-radius: 6rem;
	margin-bottom: -6rem;
}
.slider-image {
	mask-image: linear-gradient(to left, transparent, #000);
	-webkit-mask-image: linear-gradient(to left, transparent, #000);
}
@media (max-width: 1024px) {
	.slider-image {
		mask-image: linear-gradient(to bottom, transparent, #000);
		-webkit-mask-image: linear-gradient(to bottom, transparent, #000);
	}
}

/* Automatismo padding sezioni sovrapposte*/
*:not(.site):has(+ .gbp-section-border-radius-top ) {
	padding-bottom: 6rem;
}
.gbp-section-border-radius-bottom + * {
	padding-top: 6rem;
}
.gbp-section:last-of-type{
	padding-bottom: 6rem;
}
.site-footer .gbp-section:last-of-type{
	padding-bottom: 0;
}
@media (max-width: 768px) {
    .site-content{
		padding-bottom: 0!important;
	}
}
.entry-content > .wp-block-group:nth-child(1){
	padding-top: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
/* block category product sidebar */
.sidebar-box.box-category {
    background: var(--base);
}
.sidebar-box.box-category ul.wp-block-categories-list {
	padding-inline: 0.5rem;
}
.sidebar-box.box-category .wp-block-categories-list>li>a {
    padding-left: 2rem;
    display: block;
    margin-block: 1.5rem;
}
.sidebar-box .wp-block-categories-list ul.children {
    margin-left: 0 !important;
}
.sidebar-box .wp-block-categories-list ul.children li {
    background: white;
    margin-top: 0.5rem;
    padding-block: 0.5rem;
    padding-inline: 4rem;
}
.wp-block-categories-list > li:last-child > ul:last-child > li:last-child {
    border-bottom-left-radius: 2.5rem;
    border-bottom-right-radius: 2.5rem;
    margin-bottom: 0.5rem;
}
/* nasconde category prodotto da 3° livello in poi nella sidebar */
.sidebar-box .wp-block-categories-list .children .children {
    display: none;
}
/* chips category prodotto */
.chips-categorie-prodotto-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 220px;
    gap: 20px;
}
.chip-categoria-prodotto {
    display: flex;
    flex-direction: column;
	background-color: var(--base);
    border-radius: 3rem;
    overflow: hidden;
    text-decoration: none;
	height: 100%;
	border: 1px solid white;
}
.chip-categoria-prodotto:hover {
    border: 1px solid var(--accent);
}
.chip-immagine-container {
	width: 100%;
	height: 100%;
    aspect-ratio: 16 / 9;
    position: relative;
    overflow: hidden;
} 
.chip-immagine {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.chip-titolo {
    padding: 15px;
	margin-top: auto;
    text-align: center;
    font-weight: bold;
    font-size: 1.75rem;
    color: var(--contrast);
    background-color: rgba(0, 0, 0, 0.05);
}

/* Responsive chips category prodotto */
@media (max-width: 1440px) {
    .chips-categorie-prodotto-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .chips-categorie-prodotto-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .chips-categorie-prodotto-grid {
        grid-template-columns: 1fr;
    }
}
/* Cards */

.search-filter-query > div > article{
	height: 100%;
}
.gbp-section-dark h3{
	color: #fff;
}
.gbp-section-light .card,
.search-filter-query > div .card{
	border: 1px solid rgba(255, 255, 255, 0.00);
	background: linear-gradient(129deg, rgba(205, 239, 251, 0.00) 2.36%, rgba(205, 239, 251, 0.10) 79.54%), #FFF;
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.20) inset;
	backdrop-filter: blur(2px);
}

.search-filter-query > div .card:hover{
	border: 1px solid var(--accent);
}

.gbp-section-dark .card{
	border: 1px solid rgba(0, 0, 0, 0);
	background: rgba(0, 0, 0, 0.03);
	box-shadow: 0 0 2px 0 rgba(255, 255, 255, 0.20) inset;
	backdrop-filter: blur(10px);
}
.card > a{
	display: flex;
	flex-direction: column;
	height: 100%;
}
.card .card-content-wrapper{
	padding: 3rem;
	height: 100%;
	display: flex;
	gap: 1rem;
    flex-direction: column;
}
.card-brand .card-image{
	overflow: clip;
	padding: 1rem;
	mix-blend-mode: multiply;
}
.card .card-image img{
	width: 100%;
}

/*.card:hover .card-image img{
	scale: 1.02;
}*/

.card:hover {
	border: 1px solid var(--accent)
}
.card-button a:hover {
	color: var(--contrast-3)	
}

.gbp-section-dark .card .card-excerpt,
.gbp-section-dark .card .card-label{
	color: #fff;
}
.gbp-section-dark .card .card-excerpt > *{
	color: #fff;
}
/* Filtri archivio */
.filtri-archivio{
	display: flex;
	flex-direction: column;
    row-gap: 3rem;
	align-items: stretch;
}
.filtri-archivio .wp-block-search-filter-choice .search-filter-input-group .search-filter-input-checkbox .search-filter-input-checkbox__control{
	display: none;
}
.filtri-archivio .wp-block-search-filter-choice .search-filter-input-group .search-filter-input-checkbox span{
	text-transform: uppercase;
    font-size: 1.75rem;
    line-height: 1.5;
	color: #000;
}
.filtri-archivio .wp-block-search-filter-choice .search-filter-input-group .search-filter-input-checkbox--is-active label > span{
	color: var(--accent);
	font-weight: 700;
}

/*hover catalogo*/

.sidebar-box .wp-block-categories-list li a:hover {
    color: var(--accent);
}

.filtri-archivio .wp-block-search-filter-choice .search-filter-input-group .search-filter-input-checkbox span:hover {
    color: var(--accent);
}

/* Paginazione */
body .search-filter-query .gb-query-loop-pagination nav > *{
	background: transparent;
	border: solid 1px var(--contrast-3);
	color: var(--contrast-3);
	font-size: 2rem;
	height: auto;
	width: auto;
	padding: 1rem;
}
body .search-filter-query .gb-query-loop-pagination nav > *:not(.page-numbers.dots):hover,
body .search-filter-query .gb-query-loop-pagination nav > *:not(.page-numbers.dots):active,
body .search-filter-query .gb-query-loop-pagination nav > *:not(.page-numbers.dots):focus{
	background: transparent;
	border: solid 1px var(--accent);
	color: var(--accent);
}
body .search-filter-query .gb-query-loop-pagination nav > .page-numbers.dots{
	background: transparent;
}
body .search-filter-query .gb-query-loop-pagination nav > .current{
	background: transparent;
	border: solid 1px var(--accent);
	color: var(--accent);
}
body .search-filter-query .gb-query-loop-pagination > a{
	background-color: transparent;
	color: var(--accent);
	border: solid 1px var(--accent);
	font-size: 1rem;
	height: auto;
	width: auto;
	padding: 1rem;
}
/* Indice prodotto single */
.tp-product-content-index{
	flex-basis: calc(100% / 3 - 5rem);
	margin-bottom: 2rem;
}
.tp-product-content-index .tp-toc{
	border-radius: 4rem;
	position: sticky;
	top: 16rem;
	border: 1px solid var(--base);
	background-color: var(--base);
}
.tp-product-content-index .tp-toc h2{
	padding: 2rem;
	font-size: 2.5rem;
	color: #fff;
	background-color: var(--contrast);
	border-top-left-radius: 4rem;
	border-top-right-radius: 4rem;
}
.tp-product-content-index .tp-toc ul{
	list-style-type: none;
	margin: 0;
	padding: 0 2rem 2rem;
}
.tp-product-content-index .tp-toc ul li a{
	text-transform: uppercase;
    font-size: 1.75rem;
    line-height: 1.5;
    text-decoration: none;
    color: black;
}

/*===============================5. Altre personalizzazioni (plugin, ...) ===============================*/
/*Pagina prodotto */
.tp-product-hero-wrapper,
.tp-product-content-wrapper{
	display: flex;
	flex-wrap: wrap;
	gap: 10rem;
}
.tp-product-hero-gallery{
	overflow: hidden;
	flex-basis: calc(100% / 3 - 5rem);
}
.tp-product-hero-text,
.tp-product-content-text{
	flex-basis: calc(100% / 3 * 2 - 5rem);
}
/* Splider hero */
.wp-block-splide-carousel .card-button:hover{
	color: var(--contrast-3);
}
.wp-block-splide-carousel{
	display:  flex;
	flex-wrap: wrap;
	flex-direction: column;
}
.wp-block-splide-carousel .splide__arrows{
	display: flex;
	padding-top: 4rem;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: nowrap;
	order: 3;
}
.splide__track{
	max-width: 100%;
}
/* Brand logo in prodotto */
.tp-product-brand-wrapper{
	max-width: 25rem;
	}

.tp-product-brand-wrapper img {
	width: 100%;
	height: auto;
	background-size: contain;
}

/* Arrows slider custom */

.gbp-section-dark .wp-block-splide-carousel,
.gbp-section-dark .slider-griglia
{
	display:  flex;
	flex-wrap: nowrap;
	flex-direction: column;
}
.gbp-section-dark .wp-block-splide-carousel .splide__arrows,
.gbp-section-dark .slider-griglia .splide__arrows
{
	display: flex;
	padding-top: 4rem;
	justify-content: flex-end;
	gap: 0.5rem;
	flex-wrap: nowrap;
	order: 3;
}
/* Arrows */

.wp-block-splide-carousel .splide__arrow {
	opacity:1;
}
.gbp-section-dark .wp-block-splide-carousel .splide__arrows button,
.gbp-section-dark .slider-griglia .splide__arrows button
{
	position: static;
	border-radius: 4rem;
	background: rgba(255, 255, 255, 0.03);
	box-shadow: 0 0 2px 0 rgba(255, 255, 255, 0.45) inset, 2px 2px 2px 0 #071B2E inset;
	backdrop-filter: blur(2px);
	transform: translateY(0);
	padding: 0.5rem;
	height: auto!important;
	width: auto!important;
}
.gbp-section-dark .wp-block-splide-carousel .splide__arrows button svg,
.gbp-section-dark .slider-griglia .splide__arrows button svg{
	border: solid 1px transparent;
	border-radius:3rem;
	background: rgba(0, 0, 0, 0.03);
	box-shadow: 0 4px 4px 0 rgba(0, 123, 140, 0.20), 0 0 2px 0 rgba(255, 255, 255, 0.45) inset;
	backdrop-filter: blur(2px);
	fill: var(--accent);
	padding: 0.5rem;
	width: 3rem;
	height: 40.25px;
}

.gbp-section-light .slider-griglia,
.gbp-section-light .wp-block-splide-carousel{
	display:  flex;
	flex-wrap: wrap;
	flex-direction: column;
}
.gbp-section-light .slider-griglia .splide__arrows,
.gbp-section-light .wp-block-splide-carousel .splide__arrows{
	display: flex;
	padding-top: 4rem;
	justify-content: flex-end;
	gap: 0.5rem;
	flex-wrap: nowrap;
	order: 3;
}
.gbp-section-light .slider-griglia .splide__arrows button,
.gbp-section-light .wp-block-splide-carousel .splide__arrows button{
	position: static;
	border-radius: 4rem;
	background: linear-gradient(339deg, rgba(205, 239, 251, 0.00) -21.18%, rgba(228, 238, 241, 0.52) 93.61%), rgba(255, 255, 255, 0.03);
	box-shadow: 2px 2px 2px 0 rgba(7, 27, 46, 0.20) inset, -12px -12px 36px 0 rgba(0, 123, 140, 0.03) inset;
	backdrop-filter: blur(2px);
	transform: translateY(0);
	padding: 0.5rem;
	height: auto!important;
	width: auto!important;
}
.gbp-section-light .slider-griglia .splide__arrows button svg,
.gbp-section-light .wp-block-splide-carousel .splide__arrows button svg{
	border: solid 1px transparent;
	border-radius:3rem;
	background: radial-gradient(29.71% 57.79% at 19.47% 67.52%, rgba(205, 239, 251, 0.00) 0%, rgba(205, 239, 251, 0.02) 100%), #FFF;
	box-shadow: 2px 2px 4px 0 rgba(0, 123, 140, 0.20);
	backdrop-filter: blur(2px);
	fill: var(--accent);
	padding: 0.5rem;
	width: 3rem;
	height: 40.25px;
}
.slider-griglia button:hover svg,
.wp-block-splide-carousel button:hover svg{
	border: solid 1px var(--accent)!important;
	fill: var(--contrast-3)!important;
}

/* Dots */
.wp-block-splide-carousel .splide__pagination,
.slider-griglia .splide__pagination{
	order: 2;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateY(-3rem);
	width: fit-content;
}

.slider-griglia .splide__track{
	width: 100%;
}

/* Shortcode brand*/
.elenco-brand-principali{
	display: flex;
	gap: 3rem;
	flex-wrap: wrap;
}
.elenco-brand-principali .brand-principale{
	flex-basis: calc(100% / 2 - 3rem / 2 * 1);
}
@media screen and (min-width: 640px) {
	.elenco-brand-principali .brand-principale{
		flex-basis: calc(100% / 3 - 3rem / 3 * 2);
	}
}
@media screen and (min-width: 1181px) {
	.elenco-brand-principali .brand-principale{
		flex-basis: calc(100% / 5 - 3rem / 5 * 4);
	}
}
.elenco-brand-principali .brand-principale > a{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-decoration: none;
	height: 100%;
}
.elenco-brand-principali .brand-principale figure > img{
	width: 100%;
}
.elenco-brand-principali .brand-principale p{
	display: flex;
	justify-content: space-between;
	padding: 2rem;
	color: var(--accent);
	font-size: 1.75rem;
	font-style: normal;
	font-weight: 600;
	line-height: 150%; /* 21px */
	text-transform: uppercase;
}

.elenco-brand-principali img,
.elenco-brand-secondari img{
	filter: grayscale(1);
}
.elenco-brand-principali img:hover,
.elenco-brand-secondari img:hover{
	filter: grayscale(0);
}

.single-mec-events #main-content,
.post-type-archive-mec-events #main-content{
	padding-top: 20rem;
}
.yottie-widget-feed-section-slide{
	padding-top: 0!important;
}

/* Serie di brand*/
.elenco-serie-container{
	
}
.elenco-serie-container .serie{
	border: 1px solid rgba(255, 255, 255, 0.00);
    background: linear-gradient(129deg, rgba(205, 239, 251, 0.00) 2.36%, rgba(205, 239, 251, 0.10) 79.54%), #FFF;
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.20) inset;
    backdrop-filter: blur(2px);
	border-radius: 3rem;
	overflow: hidden;
}
.elenco-serie-container .serie:hover{
	border: 1px solid var(--accent);
}
.elenco-serie-container .serie a{
	text-decoration: none;
}
.elenco-serie-container .serie img{
	width: 100%;
	height: auto;
}
.elenco-serie-container .serie .serie-content-wrapper{
	padding: 3rem;
	height: 100%;
	display: flex;
	gap: 1rem;
	flex-direction: column;
}
.elenco-serie-container .serie .serie-content-wrapper h4{
	color: var(--accent);
    font-family: Raleway;
    font-size: 3rem;
    font-weight: 700;
    line-height: 120%;
    margin-bottom: 0rem;
    margin-top: 0px;
    padding: 0px;
}
.elenco-serie-container .serie .serie-content-wrapper p{
	color: #000;
}
.elenco-serie-container .serie .serie-content-wrapper .serie-button{
	display: flex;
    justify-content: space-between;
    align-items: center;
	color: var(--accent);
    font-size: 1.75rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    width: 100%;
}

/* Timeline */
.wp-block-cp-timeline-content-timeline{
	max-width: 100%;
}

/* Eventi */
.single-mec-events .site-content,
.post-type-archive-mec-events .site-content{
	margin-bottom: 6rem;
}




















/* --- Mobile filters in modal only --- */
@media (max-width: 1024px) {
  /* Nascondi i filtri nella posizione “normale” della pagina */
  .filtri-archivio {
    display: none!important;
  }

  /* Quando la modale è aperta, mostra i filtri dentro la modale */
  body.filters-open .mobile-filter-modal .filtri-archivio {
    display: flex !important;
  }
}

/* Bottone flottante */
.mobile-filter-toggle {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: var(--accent, #013399);
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 10px 16px;
  font-size: 16px;
  z-index: 10001;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.mobile-filter-toggle .dashicons { font-size: 20px; }

/* Overlay */
.mobile-filter-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 10000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.mobile-filter-overlay.visible {
  opacity: 1;
  pointer-events: auto;
}

/* Modale */
.mobile-filter-modal {
  position: fixed;
  inset: 0;
  background: #fff;
  overflow-y: auto;
  z-index: 9999999;
  transform: translateY(100%);
  animation: slideUp 0.25s ease forwards;
  padding: 20px;
}
@keyframes slideUp { to { transform: translateY(0); } }

.mobile-filter-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 20px;
}
.mobile-filter-header span { font-weight: 700; font-size: 1.2em; }
.mobile-filter-header .close-filters {
  background: none;
	border: 0; font-size: 1.8em; line-height: 1; cursor: pointer; color: black;
}

/* Blocca lo scroll sotto la modale */
body.filters-open { overflow: hidden; }


.tpsfp-list {
  display: grid;
  gap: 1rem;
}

/* card singola (riuso delle regole esistenti) */

.tpsfp {
  display: grid;
/*   gap: 0.75rem; */
  grid-template-columns: 1fr;
  border: 1px solid var(--wp--preset--color--contrast-3, #e2e8f0);
  border-radius: 3rem;
	overflow: hidden;
/*   padding: 12px; */
  background: var(--wp--preset--color--base, #fff);
}

.tpsfp--inline {
	border: 0;
	padding: 0;
	background: transparent;
}

.tpsfp__preview {
	width: 100%;
}

.tpsfp__info {
	display: grid;
	gap: 0.25rem;
	padding: 3rem;
	word-break: break-all;
}

.tpsfp__title {
	font-weight: 600;
}

.tpsfp__meta {
	color: #64748b;
	font-size: 12px;
}
.tpsfp__footer {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 4px;
}

.tpsfp__action {
	text-decoration: none;
	border: 1px solid var(--accent);
	padding: 0.75rem;
	border-radius: 0.75rem;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 100%;
	background: var(--accent);
	color: white;
}

.tpsfp__action:hover {
	background: white;
}

.tpsfp__pdf-embed {
	border: 1px solid #e2e8f0;
	border-radius: 6px;
}

.tpsfp__pdf-fallback {
	margin-top: 6px;
	font-size: 13px;
}

.tpsfp__image, .tpsfp__pdf-thumb {
	display: block;
	max-width: 100%;
	height: auto;
}

.tpsfp__csv-wrap {
	border: 1px solid #e2e8f0;
	margin: 1rem 0rem 1rem 1rem;
	border-radius: 2rem;
	background: #fff;
}

.tpsfp__csv {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.tpsfp__csv thead th {
	position: sticky;
	top: 0;
	background: #f8fafc;
	z-index: 1;
}

.tpsfp__csv th, .tpsfp__csv td {
	border-bottom: 1px solid #f1f5f9;
	padding: 6px 8px;
	text-align: left;
}

.tpsfp__placeholder {
	font-size: 14px;
	color: #334155;
}

.tpsfp__pdf-canvas {
	line-height: 0;
}

@media (min-width: 720px) {
  .tpsfp:not(.tpsfp--inline) {
	grid-template-columns: 1fr 3fr;
    align-items: start;
  }
}

/* Area Riservata */
.rosf-directory,
.rosf-directory ul.select2-results__options {
	font-size: 2rem;
}

.rosf-select-wrapper .select2-container,
.rosf-select-wrapper .select2-selection,
.rosf-select-wrapper input {
	width:100%!important;
	max-width:100%!important;
	min-width:100%!important;
}