/*!
Theme Name: WILDWEB
Author: Ciciliot Nicola
Version: 1.0.0
*/

@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('./assets/fonts/Plus_Jakarta_Sans/PlusJakartaSans-VariableFont_wght.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('./assets/fonts/Plus_Jakarta_Sans/PlusJakartaSans-Italic-VariableFont_wght.ttf') format('truetype');
  font-style: italic;
  font-weight: 100 900;
}

@font-face {
  font-family: 'Fraunces';
  src: url('./assets/fonts/Fraunces/Fraunces-VariableFont_SOFT,WONK,opsz,wght.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
}
@font-face {
  font-family: 'Fraunces';
  src: url('./assets/fonts/Fraunces/Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf') format('truetype');
  font-style: italic;
  font-weight: 100 900;
}

:root{
	--gesso:#f5f0e8;
	--carbone:#252520;
	--calce:#c8c0a8;
	--verde:#178047;
	--terracotta:#b84c2a;
}

/* Header: nascosto in cima solo in homepage, compare allo scroll */
#header.header-home{position:fixed!important;top:0;left:0;opacity:0;transform:translateY(-12px);transition:opacity 0.35s ease,transform 0.35s ease;pointer-events:none}
#header.header-home.scrolled{opacity:1;transform:translateY(0);pointer-events:auto}
/* In mobile il menu va sempre raggiungibile: niente hero-reveal-on-scroll, l'header (con l'hamburger) resta visibile e cliccabile fin da subito */
@media (max-width:767.98px){
	#header.header-home{opacity:1;transform:translateY(0);pointer-events:auto}
}

/* Icona hamburger: sempre leggibile, indipendentemente da sfondo/stato scroll (evita di dipendere dalla classe "scrolled" impostata via JS, che su mobile può risultare in ritardo al primo caricamento) */
#nav-open{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background-color:rgba(37,37,32,0.35)}
#header .hamburger{fill:var(--gesso)}

#header.scrolled,
#header:not(.header-home){background-color:var(--gesso);transition:background-color 0.35s ease}
#header.scrolled .main-navigation ul.menu li a,
#header:not(.header-home) .main-navigation ul.menu li a{color:var(--carbone);transition:color 0.25s ease}
#header.scrolled .main-navigation ul.menu li a:hover,
#header.scrolled .main-navigation ul.menu li a:focus,
#header.scrolled .main-navigation ul.menu li.current_page_item a,
#header.scrolled .main-navigation ul.menu li.current-menu-item a,
#header:not(.header-home) .main-navigation ul.menu li a:hover,
#header:not(.header-home) .main-navigation ul.menu li a:focus,
#header:not(.header-home) .main-navigation ul.menu li.current_page_item a,
#header:not(.header-home) .main-navigation ul.menu li.current-menu-item a{color:var(--terracotta)}

/* Logo header: icona di default, scritta quando si è scrollato */
.site-title img{height:45px;width:auto}
@media (max-width:767.98px){
	.site-title img{height:72px}
}
.site-title .logo-scrolled{display:none}
#header.scrolled .site-title .logo-default,
#header:not(.header-home) .site-title .logo-default{display:none}
#header.scrolled .site-title .logo-scrolled,
#header:not(.header-home) .site-title .logo-scrolled{display:block}

/* Menu mobile: pannello a tutto schermo che si apre da destra (larghezza animata via GSAP in footer.php, 0 -> 100%).
   Senza queste regole il menu desktop resta visibile "in linea" nell'header e sborda a destra dello schermo. */
@media (max-width:767.98px){
	#navigation{position:fixed;top:0;right:0;width:0;height:100vh;height:100svh;overflow:hidden;background-color:var(--carbone);z-index:1050}
	#navigation ul.menu{list-style:none;display:flex;flex-direction:column;margin:0;padding:6rem 2.5rem 2rem;white-space:nowrap}
	#navigation ul.menu li{margin-bottom:0;border-bottom:1px solid rgba(245,240,232,0.15)}
	#navigation ul.menu li:last-child{border-bottom:none}
	#navigation ul.menu li a{color:var(--gesso)!important;font-size:1.3rem;text-decoration:none;background-image:none!important;border-left:3px solid transparent;padding:1rem 0 1rem 1rem;transition:border-color 0.25s ease,color 0.25s ease}
	#navigation ul.menu li.current_page_item a,
	#navigation ul.menu li.current-menu-item a,
	#navigation ul.menu li.current_page_parent a,
	#navigation ul.menu li.current-menu-parent a{border-left-color:var(--terracotta);color:var(--terracotta)!important}
	#nav-close{position:absolute;top:0;right:0}
}

*{outline:0!important}
html{margin-top:0!important;overflow-x:clip;width:100%}
body{background-color:var(--gesso);color:var(--carbone);font-family:"Plus Jakarta Sans",arial,sans-serif;font-weight:400;margin:0;overflow-x:clip;text-rendering:optimizelegibility;-webkit-font-smoothing: subpixel-antialiased}

/* Accento editoriale: corsivo Fraunces usato per le parole chiave nei titoli */
.font-accento{font-family:"Fraunces",serif;font-style:italic;font-weight:400;color:var(--verde);font-size:1.15em}
.font-accento.text-terracotta{color:var(--terracotta)}

/* Citazione generica (es. nei campi WYSIWYG), stile coerente con la citazione della sezione Storia */
blockquote{font-family:"Fraunces",serif;font-style:italic;font-size:1.3em;text-align:center;margin:0 0 1.5rem 0;padding-bottom:0.5rem}
blockquote::before{font-family:"IcoFont";content:"\efcd";font-style:normal;display:block;font-size:1.6em;color:var(--verde);opacity:0.6;margin-bottom:0.5rem}
blockquote::after{content:"";display:block;width:60px;height:2px;background-color:var(--verde);margin:1rem auto 0 auto}

/* Colori brand Vivai Leone */
.text-gesso{color:var(--gesso)!important}
.text-carbone{color:var(--carbone)!important}
.text-calce{color:var(--calce)!important}
.text-verde{color:var(--verde)!important}
.text-terracotta{color:var(--terracotta)!important}
.bg-gesso{background-color:var(--gesso)!important}
.bg-carbone{background-color:var(--carbone)!important}
.bg-calce{background-color:var(--calce)!important}
.bg-verde{background-color:var(--verde)!important}
.bg-terracotta{background-color:var(--terracotta)!important}

/* Bottoni brand: sovrascrivono lo stile generico .btn del tema */
.btn-verde,a.btn-verde{background-color:var(--verde);border-color:var(--verde);color:var(--gesso);font-weight:300!important;transition:background-color 0.3s ease,border-color 0.3s ease,color 0.3s ease}
.btn-verde:hover,a.btn-verde:hover{background-color:var(--calce);border-color:var(--calce);color:var(--carbone)}
.btn-terracotta,a.btn-terracotta{background-color:var(--terracotta);border-color:var(--terracotta);color:#fff}
.btn-terracotta:hover,a.btn-terracotta:hover{background-color:#9a3e21;border-color:#9a3e21;color:#fff}
.btn-outline-calce,a.btn-outline-calce{background-color:transparent;border:1px solid var(--calce);color:var(--carbone)}
.btn-outline-calce:hover,a.btn-outline-calce:hover{background-color:var(--calce);color:var(--carbone)}
.btn-sm-vivai,a.btn-sm-vivai{padding:0.65rem 1.5rem;font-size:1rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border-radius:5px;display:inline-block;text-decoration:none}

/* Eyebrow / etichetta piccola maiuscola */
.eyebrow{font-weight:600;font-size:0.9rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--verde)}

/* Sezione Hero */
.acf_hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;overflow:hidden}
.acf_hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(37,37,32,0) 35%,rgba(37,37,32,0.92) 100%);z-index:1}
.acf_hero .hero-content{position:relative;z-index:2}
.acf_hero .hero-divider{width:110px;height:1px;background-color:var(--calce);margin:1.5rem auto}
.acf_hero .scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;color:var(--gesso);font-size:1.5rem;animation:vivai-bounce 2s infinite}
@keyframes vivai-bounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* Banner header generico di pagina (content-header.php) */
.header-banner{overflow:hidden}
.header-banner.header-banner-home{min-height:100vh}
.header-banner.header-banner-page{min-height:50vh}
.header-banner > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.header-banner-overlay{background:linear-gradient(180deg,rgba(37,37,32,0.15) 0%,rgba(37,37,32,0.85) 100%);z-index:1}
.header-banner .hero-divider{width:110px;height:1px;background-color:var(--calce);margin:2.5rem auto 1.25rem auto}
.header-banner-title{font-family:"Plus Jakarta Sans",arial,sans-serif;font-weight:400}
.header-banner-logo{max-width:350px;width:80%;margin-bottom:1.5rem}
.header-scroll-cue{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;color:var(--gesso);display:flex;flex-direction:column;align-items:center;gap:0.6rem;opacity:0.85;animation:vivai-bounce 2.4s infinite;cursor:pointer;text-decoration:none}
.header-scroll-cue:hover,.header-scroll-cue:focus{color:var(--gesso);text-decoration:none}
.header-scroll-cue svg{width:38px;height:38px;display:block;stroke-width:1.4}


/* Sezione Intro home */
.acf_intro_home .eyebrow{margin-bottom:0.75rem;display:block}
.acf_intro_home .eyebrow-line{width:100%;height:1px;background-color:var(--verde);margin-bottom:1.5rem}
.acf_intro_home h2{color:var(--calce)}
.acf_intro_home .intro-home-foto{max-width:290px;margin:0 auto}
.acf_intro_home .intro-home-numeri .numero-item{display:flex;align-items:center;margin-bottom:2.5rem}
@media (max-width:767.98px){
	.acf_intro_home .intro-home-numeri .numero-item{justify-content:center;text-align:left}
}
.acf_intro_home .intro-home-numeri .number{font-family:"Fraunces",serif;font-style:italic;font-size:4.8rem;color:var(--verde);line-height:1;margin-right:1.25rem;flex-shrink:0}
.acf_intro_home .intro-home-numeri p{font-size:1rem;color:var(--verde);margin-bottom:0;font-weight:600}

/* Sezione Prodotti */
.acf_prodotti{background-color:var(--calce)}
.acf_prodotti .prodotto-card,.acf_prodotti_home .prodotto-card{background-color:var(--gesso);border-radius:19px;overflow:hidden;height:100%;transition:box-shadow 0.3s ease}
.acf_prodotti .prodotto-card:hover,.acf_prodotti_home .prodotto-card:hover{box-shadow:0 0 25px rgba(0,0,0,0.25)}
.acf_prodotti .prodotto-card .prodotto-img,.acf_prodotti_home .prodotto-card .prodotto-img{aspect-ratio:3/4;background-size:cover;background-position:center;transition:background-size 1.4s cubic-bezier(0.16,1,0.3,1)}
.acf_prodotti .prodotto-card:hover .prodotto-img,.acf_prodotti_home .prodotto-card:hover .prodotto-img{background-size:107%}
.acf_prodotti .prodotto-badge,.acf_prodotti_home .prodotto-badge{position:absolute;top:1rem;left:1rem;background-color:var(--verde);color:#fff;font-size:0.7rem;font-weight:700;letter-spacing:0.07em;padding:0.35rem 0.9rem;border-radius:20px;z-index:2}
.acf_prodotti .prodotto-feature,.acf_prodotti_home .prodotto-feature{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.8rem;color:var(--verde);font-weight:600;text-transform:uppercase;letter-spacing:0.1em;text-decoration:none!important;transition:color 0.25s ease}
.acf_prodotti .prodotto-feature:hover,.acf_prodotti_home .prodotto-feature:hover{color:var(--terracotta);text-decoration:none!important}
.acf_prodotti .prodotto-feature .arrow,.acf_prodotti_home .prodotto-feature .arrow{display:inline-block;transition:transform 0.25s ease}
.acf_prodotti .prodotto-feature:hover .arrow,.acf_prodotti_home .prodotto-feature:hover .arrow{transform:translateX(4px)}
.acf_prodotti .prodotti-cta,.acf_prodotti_home .prodotti-cta{background-color:var(--verde);border-radius:20px}
@media (max-width:767.98px){
	.acf_prodotti .prodotti-cta,.acf_prodotti_home .prodotti-cta{margin-left:0.75rem;margin-right:0.75rem;width:auto}
}

/* Sezione Storia */
.acf_storia{background-color:var(--carbone);color:var(--gesso)}
.acf_storia h2,.acf_prodotti_home h2,.acf_cta_tecnico h2,.acf_varieta h2{font-size:2.75rem}
@media (min-width:992px){
	.acf_storia h2,.acf_prodotti_home h2,.acf_cta_tecnico h2,.acf_varieta h2{font-size:3.25rem}
}
.acf_storia .position-relative{max-width:85%;margin-left:auto}
.acf_storia .storia-immagine-principale{border-radius:10px;overflow:hidden}
.acf_storia .storia-immagine-principale img{width:100%;height:100%;object-fit:cover}
.acf_storia .storia-immagine-secondaria{border:5px solid var(--carbone);border-radius:10px;overflow:hidden;position:absolute;bottom:-2rem;left:-2.5rem;width:55%;box-shadow:0 10px 25px rgba(0,0,0,0.35)}
.acf_storia .storia-immagine-secondaria img{width:100%;height:100%;object-fit:cover;object-position:top center}
.acf_storia .storia-badge{position:absolute;top:1rem;right:-1rem;background-color:var(--terracotta);border-radius:10px;padding:0.75rem 1.25rem;text-align:center;z-index:2}
@media (max-width:767.98px){
	.acf_storia .storia-badge{right:auto;left:1rem}
}
.acf_storia .storia-badge .numero{font-family:"Fraunces",serif;font-style:italic;font-size:1.6rem;line-height:1;display:block}
.acf_storia .storia-badge .testo{font-size:0.7rem;letter-spacing:0.08em;display:block}
.acf_storia .storia-citazione{font-family:"Fraunces",serif;font-style:italic;color:var(--calce);border-left:3px solid var(--verde);padding-left:1.25rem;text-align:left;padding-bottom:0}
.acf_storia .storia-citazione::before,.acf_storia .storia-citazione::after{content:none}

@media (min-width:1400px){
	.acf_storia .row.align-items-center > div:first-child{padding-right:3rem}
	.acf_storia .row.align-items-center > div:last-child{padding-left:3rem}
}

/* Sezione Timeline (Chi siamo): tappe storiche su fondo carbone, anno come elemento decorativo in secondo piano */
.acf_timeline{background-color:var(--carbone);color:var(--gesso);overflow:hidden}
.acf_timeline .timeline-list{z-index:1}
@media (min-width:992px){
	.acf_timeline .timeline-list::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background-color:rgba(245,240,232,0.15);transform:translateX(-50%);z-index:0}
	.acf_timeline .timeline-step{position:relative}
	.acf_timeline .timeline-step::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;background-color:var(--verde);border:3px solid var(--carbone);transform:translate(-50%,-50%);z-index:2}
}
@media (max-width:991.98px){
	.acf_timeline .timeline-step{position:relative;margin-bottom:4.5rem!important;padding-bottom:4rem}
	.acf_timeline .timeline-step:last-child{margin-bottom:0!important;padding-bottom:0}
	.acf_timeline .timeline-step:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:60%;height:1px;background-color:rgba(245,240,232,0.12)}
	.acf_timeline .timeline-step-content{padding-left:1rem;padding-right:1rem}
}
.acf_timeline .timeline-step-content{z-index:1}
.acf_timeline .timeline-year{position:absolute;top:-1.5rem;left:-0.5rem;font-family:"Fraunces",serif;font-style:italic;font-size:5.5rem;line-height:1;color:var(--gesso);opacity:0.07;z-index:0;pointer-events:none;user-select:none}
@media (min-width:992px){
	.acf_timeline .timeline-year{font-size:9rem;top:-3rem;left:-1.5rem}
	.acf_timeline .timeline-step:nth-child(even) .timeline-year{left:auto;right:-1.5rem}
}
.acf_timeline .timeline-anno{font-family:"Fraunces",serif;font-style:italic;font-size:1.15rem}
.acf_timeline h3{font-size:1.85rem;font-weight:500}
.acf_timeline .timeline-testo p:last-child{margin-bottom:0}
.acf_timeline .timeline-img{border-radius:10px;overflow:hidden;box-shadow:0 15px 30px rgba(0,0,0,0.35);max-width:80%;margin-left:auto;margin-right:auto}
.acf_timeline .timeline-img a{display:block;width:100%;height:100%;cursor:zoom-in}
.acf_timeline .timeline-img img{width:100%;height:100%;object-fit:cover}
@media (min-width:992px){
	.acf_timeline .timeline-img{max-width:70%}
	.acf_timeline .timeline-step:nth-child(odd) .timeline-img{transform:rotate(-1.5deg)}
	.acf_timeline .timeline-step:nth-child(even) .timeline-img{transform:rotate(1.5deg)}
	.acf_timeline .timeline-image-col{position:relative}
	.acf_timeline .timeline-step:nth-child(odd) .timeline-image-col::before{content:"";position:absolute;top:50%;left:0;width:15%;height:1px;background-color:rgba(245,240,232,0.3);transform:translateY(-50%);z-index:1}
	.acf_timeline .timeline-step:nth-child(even) .timeline-image-col::before{content:"";position:absolute;top:50%;right:0;width:15%;height:1px;background-color:rgba(245,240,232,0.3);transform:translateY(-50%);z-index:1}
}

/* Sezione CTA consiglio tecnico */
.acf_cta_tecnico{background-color:var(--gesso)}
.acf_cta_tecnico .btn-sm-vivai{text-transform:none}

/* Sezione Vantaggi (griglia 4 colonne) */
.acf_vantaggi .vantaggio-icona{font-size:2.2rem;color:var(--verde);line-height:1;display:inline-block}

/* Sezione icone */
.acf_icon .ico-img {max-width:90px;}

/* Sezione Varietà disponibili */
.varieta-box{background-color:var(--gesso);border:1px solid var(--calce);border-radius:14px}

/* Sezione flex content "Varietà a disposizione" (acf-varieta.php) */
.acf_varieta{background-color:var(--verde);overflow:hidden}
.varieta-elenco{display:block;column-count:2;column-gap:1.75rem;padding:0;margin:0;list-style:none}
.varieta-elenco .varieta-item{position:relative;padding-left:1.5rem;margin-bottom:0.75rem;color:var(--gesso);font-size:0.95rem;text-align:left;break-inside:avoid}
@media (min-width:768px){
	.varieta-elenco{column-count:3}
}
@media (min-width:1400px){
	.varieta-elenco{column-count:4}
}
.varieta-elenco .varieta-item::before{content:"";position:absolute;left:0;top:0.35em;width:12px;height:14.1px;background-image:url("assets/images/fogliolina.svg");background-size:contain;background-repeat:no-repeat}

/* Bullet list vantaggi dentro le card prodotto */
.acf_prodotti .prodotto-vantaggi li{color:var(--carbone)}

/* Sezione Blocco base (es. Tipologie nella pagina Prodotti) */
.acf_blocco_base{overflow:hidden}
.acf_blocco_base .row{align-items:center}
.acf_blocco_base h1,.acf_blocco_base h2,.acf_blocco_base h3{color:var(--verde);font-weight:500;font-size:1.85rem}
.acf_blocco_base h4,.acf_blocco_base h5{font-family:"Fraunces",serif;font-style:italic;font-weight:400;color:var(--verde);font-size:1.25rem;margin-bottom:0.75rem}
.acf_blocco_base ul{list-style:none;padding-left:0;margin-top:1rem}
.acf_blocco_base ul li{position:relative;padding-left:1.75rem;margin-bottom:0.6rem;line-height:1.5}
.acf_blocco_base ul li::before{font-family:"IcoFont";content:"\eed8";font-style:normal;position:absolute;left:0;top:0.1em;color:var(--verde)}
.acf_blocco_base img{border-radius:14px}

/* Variante: testo in box chiaro che sormonta leggermente l'immagine (attivabile con la classe "box-testo-sormontato" nel campo "classe" della riga) */
.acf_blocco_base.box-testo-sormontato .row{align-items:center}
.acf_blocco_base.box-testo-sormontato .row>div:first-child{position:relative;z-index:1;background-color:#fff;border-radius:14px;box-shadow:0 10px 25px rgba(0,0,0,0.15);padding:2.25rem 2.75rem 2.25rem 4.5rem}
.acf_blocco_base.box-testo-sormontato .row>div:last-child{position:relative;z-index:3}
@media (min-width:768px){
	.acf_blocco_base.box-testo-sormontato .row>div:first-child{margin-left:-3rem;margin-right:2.5rem;margin-bottom:1.5rem}
}
@media (max-width:767.98px){
	/* Più respiro tra il banner della pagina e il primo blocco di Tipologie/barbatelle (pagina Prodotti) */
	#header_banner + section.acf_blocco_base.box-testo-sormontato{margin-top:3rem}
	.acf_blocco_base.box-testo-sormontato .row{margin-left:0.75rem;margin-right:0.75rem;margin-bottom:2.5rem;width:auto;background-color:#fff;border-radius:14px;box-shadow:0 6px 16px rgba(0,0,0,0.12);overflow:hidden}
	.acf_blocco_base.box-testo-sormontato .row>div:first-child{margin:0;padding:1.75rem 1.75rem 0.5rem 2rem;box-shadow:none;border-radius:0}
	.acf_blocco_base.box-testo-sormontato .row>div:last-child{margin-bottom:0;padding:0 1.5rem 1.5rem}
	.acf_blocco_base.box-testo-sormontato .row>div:last-child img{width:70%!important;max-width:70%;margin:0 auto;display:block;border-radius:10px}
	.acf_blocco_base.box-testo-sormontato .row>div:first-child .btn{display:table;margin:1.5rem auto 2rem}
}
@media (min-width:992px){
	.acf_blocco_base.box-testo-sormontato .row{max-width:1400px;margin-left:auto;margin-right:auto}
	.acf_blocco_base.box-testo-sormontato .row>div:first-child{max-width:680px}
}

/* Bottone CTA dentro Blocco base: applica lo stile brand al bottone generico .btn del template */
.acf_blocco_base .btn{background-color:var(--terracotta)!important;border:1px solid var(--terracotta)!important;color:#fff!important;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;font-size:0.95rem;padding:0.65rem 1.75rem;border-radius:5px;display:inline-block;text-decoration:none;margin-top:1.5rem;transition:background-color 0.3s ease,border-color 0.3s ease,color 0.3s ease}
.acf_blocco_base .btn:hover{background-color:#9a3e21!important;border-color:#9a3e21!important;color:#fff!important}

/* Sfondo alternato tra blocchi consecutivi (es. le tre Tipologie nella pagina Prodotti) */
.acf_blocco_base.box-testo-sormontato:nth-of-type(4){background-color:var(--calce)}

/* Badge "Novità": attivabile aggiungendo la classe "novita" nel campo "classe" della riga - posizionato sopra la foto */
.acf_blocco_base.novita .row>div:last-child{position:relative}
.acf_blocco_base.novita .row>div:last-child::before{content:"Novità";position:absolute;top:1rem;left:2rem;z-index:5;background-color:var(--verde);color:#fff;font-size:0.8rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:0.45rem 1.2rem;border-radius:50px;box-shadow:0 4px 12px rgba(0,0,0,0.2)}

@media (min-width:768px){
	.acf_blocco_base h1,.acf_blocco_base h2,.acf_blocco_base h3{font-size:2.25rem}
}

ul{list-style:disc;padding-left:1rem}
img{height:auto;max-width:100%}

a,a:visited{color:#212529;text-decoration:underline}
a:hover,a:focus,a:active{color:#000;text-decoration:none;}

.fs-7{font-size:0.95rem!important}.fs-8{font-size:0.9rem!important}.fs-9{font-size:0.85rem!important}
.svh{height:100svh;max-height: -webkit-fill-available;}

.btn,a.btn,a.btn:visited{padding:0.5rem 4.5rem;border:0;border-radius:6px;background-color:#212529;color:#fff}
.btn:hover,a.btn:hover,a.btn:visited:hover{background-color:#777;}

.text-grey,.text-grey a,a.text-grey{color:#dedede}
.bg-grey{background-color:#dedede}

.text-orange,.text-orange a,a.text-orange{color:#e85b0e}
.bg-orange{background-color:#e85b0e}
.text-bg-orange{background-color:#e85b0e;color:#fff}

.text-shadow{text-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);}
.bg-cover{background-size:cover;background-repeat:no-repeat;background-position:center}

.video{position:relative;padding-bottom:56.25%;height:0;margin-top:3px}
.video iframe{position:absolute;top:0;left:0;width:100%;height:100%}

iframe{transition:opacity 500ms ease-in-out;transition-delay:250ms}

/* Ancora sopra il modulo di contatto (es. link diretto "/contatti/#form"): tiene conto dell'header fisso in scroll nativo */
#form{scroll-margin-top:6rem}

#header{z-index:1030!important}

ul.menu{margin-bottom:0}
ul.menu li{display:inline-block;position:relative}
ul.menu li a{display:block;text-decoration:none;padding:0.4em 0.85em;line-height:normal;text-transform:uppercase;font-size:0.85rem;font-weight:600;letter-spacing:0.09em;color:#fff;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0.85em bottom;background-size:0% 1px;transition:color 0.25s ease,background-size 0.35s ease}
ul.menu li a:hover,ul.menu li a:focus,ul.menu li.current_page_item a,ul.menu li.current-menu-item a,ul.menu li.current_page_parent a,ul.menu li.current-menu-parent a{color:var(--terracotta);background-size:calc(100% - 1.7em) 1px}

.main-navigation ul > li.menu-item-has-children > a:after{content:"";height:1rem;width:20px;display:inline-block;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yMy4yNDUgNGwtMTEuMjQ1IDE0LjM3NC0xMS4yMTktMTQuMzc0LS43ODEuNjE5IDEyIDE1LjM4MSAxMi0xNS4zOTEtLjc1NS0uNjA5eiIvPjwvc3ZnPg==");background-position:center;background-size:contain;background-repeat:no-repeat}

ul.sub-menu{display:none;position:absolute;top:30px;left:0;z-index:10;width:auto;background-color:#fff;box-shadow:-1px 1px 3px rgba(0,0,0,0.65);padding:0.625em 1.15em;text-align:left}
ul.sub-menu li{width:100%;min-width:200px;display:block;}
ul.sub-menu li a{display:block;position:relative;overflow:hidden;padding:0;}

.sub-menu li{margin:0;width:100%;text-align:left;}
li.menu-item-has-children:hover .sub-menu{display:block}

.logo-scritta{width:100%;max-height:60px;margin-left:-10px;}
.site-footer{font-size:0.95rem;color:var(--calce)}
.site-footer a,.site-footer a:visited{color:var(--calce);text-decoration:none}
.site-footer a:hover{text-decoration:none;color:var(--gesso)}
.site-footer ul{list-style-type:none;margin:0;padding:0}
.site-footer li{display:block}
.social-bottom a{font-size:2rem;display:inline-block;margin-right:5px;margin-bottom:5px;}
.social-bottom a svg{fill:#fff;height:30px;width:30px}
.social-bottom a:hover svg{fill:#dedede}

/* Colonne footer CONTATTI / SOCIAL (bozza Figma) */
.footer-col-title{font-size:0.8rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--calce);margin-bottom:1rem}
.footer-link-list a{display:inline-flex;align-items:center}
.footer-link-list .icofont{font-size:1.1rem;color:var(--calce)}
.footer-link-list .icofont-tiktok-svg{width:16px;height:16px;color:var(--calce)}

/* Spazio sopra il footer per dare aria alla foglia centrale, qualunque sia la sezione precedente */
#footer{margin-top:6rem;}

/* Icona/foglia centrale a cavallo tra il footer e la sezione precedente */
.footer-icon-mark{position:relative;z-index:2;margin-bottom:-2.5rem;}
.logo-icona{width:160px;height:188px;-o-object-fit:contain;object-fit:contain;display:inline-block;transform:translateY(-50%);}
.site-footer .row{padding-top:0.5rem;}

.accordion-button{box-shadow:none!important;border-bottom:1px solid #ccc;}
.accordion-collapse{border-bottom:1px solid #ccc;}

.transition{-o-transition:.3s;-ms-transition:.3s;-moz-transition:.3s;-webkit-transition:.3s;transition:.3s}
.cursor-pointer{cursor:pointer}

.acf_facebook-image{height:250px;background-size:cover;background-position:center;background-repeat:no-repeat}

.acf_numeri .number{font-size:4.5em}

/* Estendi background dei container col a tutto schermo*/
.bg-extend-left,.bg-extend-right{position:relative;}
.bg-extend-left:before{content:"";height:100%;width:500px;left:-500px;top:0;position:absolute;background-color:inherit}
.bg-extend-right:before{content:"";height:100%;width:500px;right:-500px;top:0;position:absolute;background-color:inherit}

/* ANIMAZIONI GSAP */
.fadeIn,.fadeUp,.fadeDown,.fadeStart,.fadeEnd,.slideUp,.slideDown,.slideStart,.slideEnd{position:relative}

/* TESTI LEGALI (privacy/cookie policy) - contenuto inserito da campo ACF con classe .vl-legal-doc */
.vl-legal-doc{font-family:"Plus Jakarta Sans",arial,sans-serif;color:var(--carbone);line-height:1.7}
.vl-legal-doc h1{color:var(--verde);font-size:2rem;font-weight:700;letter-spacing:-0.01em;margin:0 0 2rem}
.vl-legal-doc h3{color:var(--carbone);font-size:1.25rem;font-weight:700;margin:2.5rem 0 0.75rem;padding-bottom:0.5rem;border-bottom:2px solid var(--calce)}
.vl-legal-doc h3:first-of-type{margin-top:0}
.vl-legal-doc h4{color:var(--verde);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;margin:1.5rem 0 0.5rem}
.vl-legal-doc p{margin:0 0 1rem}
.vl-legal-doc ul{margin:0 0 1rem;padding-left:1.25rem}
.vl-legal-doc li{margin-bottom:0.5rem}
.vl-legal-doc a{color:var(--verde);text-decoration:underline}
.vl-legal-doc a:hover{color:var(--terracotta)}
.vl-legal-doc strong{color:var(--carbone)}

/** SIMPLE LIGHTBOX **/
body.hidden-scroll{overflow:hidden}.sl-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background:#fff;display:none;z-index:1035}.sl-wrapper{z-index:1040;width:100%;height:100%;left:0;top:0;position:fixed}.sl-wrapper *{box-sizing:border-box}.sl-wrapper button{border:0 none;background:transparent;font-size:28px;padding:0;cursor:pointer}.sl-wrapper button:hover{opacity:0.7}.sl-wrapper .sl-close{display:none;position:fixed;right:30px;top:30px;z-index:10060;margin-top:-14px;margin-right:-14px;height:44px;width:44px;line-height:44px;font-family:Arial,Baskerville,monospace;color:#000;font-size:3rem}.sl-wrapper .sl-counter{display:none;position:fixed;top:30px;left:30px;z-index:10060;color:#000;font-size:1rem}.sl-wrapper .sl-download{display:none;position:fixed;bottom:5px;width:100%;text-align:center;z-index:10060;color:#fff;font-size:1rem}.sl-wrapper .sl-download a{color:#fff}.sl-wrapper .sl-navigation{width:100%;display:none}.sl-wrapper .sl-navigation button{position:fixed;top:50%;margin-top:-22px;height:44px;width:22px;line-height:44px;text-align:center;display:block;z-index:10060;font-family:Arial,Baskerville,monospace;color:#000}.sl-wrapper .sl-navigation button.sl-next{right:5px;font-size:2rem}.sl-wrapper .sl-navigation button.sl-prev{left:5px;font-size:2rem}@media (min-width: 35.5em){.sl-wrapper .sl-navigation button{width:44px}.sl-wrapper .sl-navigation button.sl-next{right:10px;font-size:3rem}.sl-wrapper .sl-navigation button.sl-prev{left:10px;font-size:3rem}}@media (min-width: 50em){.sl-wrapper .sl-navigation button{width:44px}.sl-wrapper .sl-navigation button.sl-next{right:20px;font-size:3rem}.sl-wrapper .sl-navigation button.sl-prev{left:20px;font-size:3rem}}.sl-wrapper.sl-dir-rtl .sl-navigation{direction:ltr}.sl-wrapper .sl-image{position:fixed;-ms-touch-action:none;touch-action:none;z-index:10000}.sl-wrapper .sl-image img{margin:0;padding:0;display:block;border:0 none;width:100%;height:auto}@media (min-width: 35.5em){.sl-wrapper .sl-image img{border:0 none}}@media (min-width: 50em){.sl-wrapper .sl-image img{border:0 none}}.sl-wrapper .sl-image iframe{background:#000;border:0 none}@media (min-width: 35.5em){.sl-wrapper .sl-image iframe{border:0 none}}@media (min-width: 50em){.sl-wrapper .sl-image iframe{border:0 none}}.sl-wrapper .sl-image .sl-caption{display:none;padding:10px;color:#fff;background:rgba(0,0,0,0.8);font-size:1rem;position:absolute;bottom:0;left:0;right:0}.sl-wrapper .sl-image .sl-caption.pos-top{bottom:auto;top:0}.sl-wrapper .sl-image .sl-caption.pos-outside{bottom:auto}.sl-spinner{display:none;border:5px solid #333;border-radius:40px;height:40px;left:50%;margin:-20px 0 0 -20px;opacity:0;position:fixed;top:50%;width:40px;z-index:1007;-webkit-animation:pulsate 1s ease-out infinite;-moz-animation:pulsate 1s ease-out infinite;-ms-animation:pulsate 1s ease-out infinite;-o-animation:pulsate 1s ease-out infinite;animation:pulsate 1s ease-out infinite}.sl-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.sl-transition{transition:-moz-transform ease 200ms;transition:-ms-transform ease 200ms;transition:-o-transform ease 200ms;transition:-webkit-transform ease 200ms;transition:transform ease 200ms}@-webkit-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-moz-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-o-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-ms-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}

/** SLICK **/
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}
.slick-list:focus{outline:none}
.slick-list.dragging{cursor:pointer;cursor:hand}
.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}
.slick-track:before,.slick-track:after{display:table;content:''}
.slick-track:after{clear:both}
.slick-loading .slick-track{visibility:hidden}
.slick-slide{display:none;float:left;height:100%;min-height:1px}
[dir='rtl'] .slick-slide{float:right}
.slick-slide img{display:block}
.slick-slide.slick-loading img{display:none}
.slick-slide.dragging img{pointer-events:none}
.slick-initialized .slick-slide{display:block}
.slick-loading .slick-slide{visibility:hidden}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}
.slick-arrow.slick-hidden{display:none}

/** SLICK THEME **/
.slick-prev,.slick-next,.slick-prev:before,.slick-next:before{width:30px;height:30px}
.slick-prev,.slick-next{position:absolute;top:50%;display:block;padding:0;z-index:1;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:none;background:transparent}
.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{color:transparent;outline:none;background:transparent}
.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1}
.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}
.slick-prev:before,.slick-next:before{color:#fff;display:block;content:"";background-position:center;background-size:contain;background-repeat:no-repeat;}
.slick-prev{left:25px}
.slick-prev:before{background-image:url('data:image/svg+xml;utf8,<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M20 .755l-14.374 11.245 14.374 11.219-.619.781-15.381-12 15.391-12 .609.755z"/></svg>')}
.slick-next{right:25px}
.slick-next:before{background-image:url('data:image/svg+xml;utf8,<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M4 .755l14.374 11.245-14.374 11.219.619.781 15.381-12-15.391-12-.609.755z"/></svg>')}

.slick-dotted.slick-slider{margin-bottom:30px}
.slick-dots{position:absolute;bottom:-25px;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}
.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}
.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent}
.slick-dots li button:hover,.slick-dots li button:focus{outline:none}
.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}
.slick-dots li button:before{font-size:30px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.slick-dots li.slick-active button:before{opacity:.75;color:#000}

/* WP */
#wp-admin-bar-wp-logo,#wp-admin-bar-top-secondary,#wp-admin-bar-search{display:none!important}
#wpadminbar{width:auto;min-width:0}
#wpadminbar:after{content:"";position:absolute;right:-32px;bottom:0;width:0;height:0;border-style:solid;border-width:0 32px 32px 0;border-color: transparent transparent #1d2327 transparent;transform:rotate(90deg);}

/* Bootstrap Breakpoints */
@media (max-width: 1199px) { /* sm, md, lg   */

}

@media (max-width: 991px) { /* sm, md */

}

@media (max-width: 767px) { /* sm */
	.acf_numeri .number{font-size:2.4em}
}

@media (max-width: 575px) { /* No infix */

}
/* PWA + Mac Desktop */
@media (display-mode: standalone), (display-mode:fullscreen) {

}
/* PWA Windows*/
@media (display-mode: minimal-ui) {

}
