:root{--nero:#000;--bianco:#FFF;--verde:#5FE35A;--grigio:#E3E3E3;--grigio-testo:#6B6B6B;--linea:#000;--sans:"Hanken Grotesk",Arial,sans-serif;--mono:"DM Mono",ui-monospace,monospace;--serif:"Instrument Serif",Georgia,serif;--gutter:15px;--barra:21px;--testata:50px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--barra) + var(--testata) + 12px)}
body{margin:0;background:var(--bianco);color:var(--nero);font-family:var(--sans);font-weight:400;font-size:14px;line-height:1.5;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}

/* utility, scritte a mano come quelle del vecchio tema */
.flex{display:-webkit-box;display:-ms-flexbox;display:flex}
.flex-col{-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}
.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}
.items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}
.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}
.w-full{width:100%}
.h-full{height:100%}
.relative{position:relative}
.absolute{position:absolute}
.inset-0{top:0;right:0;bottom:0;left:0}
.uppercase{text-transform:uppercase}
.text-center{text-align:center}
.font-mono{font-family:var(--mono);font-weight:400;letter-spacing:.02em}
.border-t{border-top:1px solid var(--linea)}
.pt-4{padding-top:1rem}
.pb-5{padding-bottom:1.25rem}
.px-15px{padding-left:var(--gutter);padding-right:var(--gutter)}
.mx-auto{margin-left:auto;margin-right:auto}
.max-w-\[1700px\]{max-width:1700px}
.mt-\[17px\]{margin-top:17px}
.mb-\[24px\]{margin-bottom:24px}
.leading-\[1\.5\]{line-height:1.5}
.text-\[11px\]{font-size:11px}
.object-cover{-o-object-fit:cover;object-fit:cover}
.rounded-2xl{border-radius:16px}
.aspect-\[4\/5\]{aspect-ratio:4/5}
.hidden{display:none}

/* barra verde */
.barra-verde{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--barra);background:var(--verde);font-size:11px;line-height:var(--barra);text-align:center;padding:0 34px}
.barra-verde button{position:absolute;right:4px;top:0;height:var(--barra);width:28px;border:0;background:none;cursor:pointer;padding:0}
.barra-verde button svg{width:11px;height:11px;margin:auto}
.barra-chiusa .barra-verde{display:none}
.barra-chiusa{--barra:0px}

/* testata */
.topline{position:fixed;left:0;right:0;top:var(--barra);z-index:39;height:var(--testata);background:var(--bianco);border-bottom:1px solid var(--nero)}
.topline__inner{height:100%;gap:30px}
.topline__mark img{width:150px;height:auto}
.topline__nav{display:none;gap:30px;font-size:12px}
.topline__nav a{padding:6px 0;border-bottom:1px solid transparent;-webkit-transition:border-color .15s cubic-bezier(.4,0,.2,1);transition:border-color .15s cubic-bezier(.4,0,.2,1)}
.topline__nav a:hover,.topline__nav a[aria-current]{border-bottom-color:var(--nero)}
.topline__tel{display:none;margin-left:auto;font-size:12px;white-space:nowrap}
.topline__burger{margin-left:auto;width:36px;height:36px;border:0;background:none;padding:0;cursor:pointer}
.topline__burger span{display:block;width:20px;height:1px;background:var(--nero);margin:5px auto;-webkit-transition:transform .2s ease-in-out;transition:transform .2s ease-in-out}
.menu-mobile{position:fixed;left:0;right:0;top:calc(var(--barra) + var(--testata));z-index:38;background:var(--bianco);border-bottom:1px solid var(--nero);padding:10px var(--gutter) 22px;display:none}
.menu-mobile a{display:block;padding:11px 0;font-size:13px;text-transform:uppercase;border-bottom:1px solid var(--grigio)}
.menu-aperto .menu-mobile{display:block}
.menu-aperto .topline__burger span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-aperto .topline__burger span:last-child{transform:translateY(-3px) rotate(-45deg)}
.spinta{height:calc(var(--barra) + var(--testata))}

/* banner_hero */
.banner_hero{height:calc(100vh - 70.9px);height:calc(100svh - var(--barra) - var(--testata) - 1px);min-height:520px;max-height:830px;overflow:hidden}
.banner_hero__meta{width:100%;height:100%}
.banner_hero__meta + .banner_hero__meta{display:none}
.banner_hero img{width:100%;height:100%}
.hero-veil{background:rgba(0,0,0,.2);opacity:.6;-webkit-transition:opacity .15s cubic-bezier(.4,0,.2,1);transition:opacity .15s cubic-bezier(.4,0,.2,1);pointer-events:none}
.hero-text{position:absolute;left:var(--gutter);right:var(--gutter);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:var(--bianco);text-align:center;font-size:16px;line-height:1.375;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.hero-text h1{font-size:16px;font-weight:400}
.hero-text p{max-width:430px;margin:10px auto 0;font-size:14px}
.btn-pillola{display:inline-block;min-width:229px;padding:7px 24px;border:1px solid currentColor;border-radius:30px;text-align:center;font-size:14px;line-height:21px;background:none;cursor:pointer;-webkit-transition:all .15s cubic-bezier(.4,0,.2,1);transition:all .15s cubic-bezier(.4,0,.2,1)}
.btn-pillola:hover{background:var(--verde);color:var(--nero);border-color:var(--nero)}
.btn-pillola--chiaro:hover{background:var(--verde);color:var(--nero);border-color:var(--verde)}
.banner_hero:hover .hero-veil{opacity:1}
.hero-btn{position:absolute;left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:var(--bianco)}

/* slider comuni */
.slider{padding-top:66.4px;padding-bottom:33.6px}
.slider__testa{position:relative;padding-top:1rem}
.slider__testa .slider__titolo{padding-bottom:20px}
.slider__titolo{font-size:14px;line-height:21px}
.con-freccia{width:28px;height:28px;border:0;background:none;padding:0;cursor:pointer}
.con-freccia svg{width:25px;height:12px}
.con-freccia[disabled]{opacity:.25;cursor:default}
.slider__binario{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;overflow-x:auto;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:1.25rem;scroll-behavior:smooth}
.slider__binario::-webkit-scrollbar{display:none}
.slider__binario > *{-ms-flex:0 0 82%;flex:0 0 82%;scroll-snap-align:start}

/* product_slider: cosa c'è nel pacco */
.productItem{font-size:14px}
.productItem__foto{background:var(--grigio);padding:22% 16%}
.productItem__foto img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;-webkit-box-shadow:0 4px 8px rgba(0,0,0,.2);box-shadow:0 4px 8px rgba(0,0,0,.2)}
.productItem em{display:block;font-style:italic}

/* blocco academy */
.slider_academy{padding:58px var(--gutter) 40px}
/* .slider_academy{padding-top:90px} */
.slider_academy__logo{font-size:34px;line-height:.95;letter-spacing:-.01em}
.slider_academy__logo i{font-family:var(--serif);font-weight:400;font-style:italic}
.slider_academy__logo span{display:block;font-family:var(--serif);font-weight:400;font-size:38px}
.slider_academy__testo{max-width:1040px;margin:40px auto 0;font-size:17px;line-height:1.65;text-align:left}
.slider_academy .btn-pillola{margin-top:50px}

/* cicli */
.ciclo-card{font-size:14px}
.ciclo-card img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover}
.ciclo-card h3{font-size:14px;font-weight:400;text-transform:uppercase}
.ciclo-card p{margin-top:2px}
.ciclo-card .posti{color:var(--grigio-testo)}

/* featured_carrousel: casi */
.caso-card img{width:100%;height:399px}
.caso-card h3{font-size:14px;font-weight:400;text-transform:uppercase;line-height:1.5;margin-top:17px}
.caso-card p{margin-top:4px;line-height:1.5}

/* prenota in una riga */
.riga-prenota{padding-top:70px;padding-bottom:40px;/* old: padding-top: 40px; */}
.riga-prenota__intro{max-width:620px;margin-top:22px}
.riga-prenota form{margin-top:28px}
.riga-prenota__riga{gap:10px}
.campo-riga{position:relative;-ms-flex:1 1 100%;flex:1 1 100%}
.campo-riga input,.campo-riga select{width:100%;height:44px;border:0;border-bottom:1px solid var(--nero);border-radius:0;background:transparent;padding:0 40px 0 0;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}
.campo-riga select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}
.campo-riga input:focus,.campo-riga select:focus{outline:2px solid var(--verde);outline-offset:2px}
.campo-riga .spunta{position:absolute;right:2px;top:12px;width:20px;height:20px;border-radius:50%;background:var(--verde);display:none}
.campo-riga .spunta svg{width:12px;height:12px;margin:4px}
.campo-riga.ok .spunta{display:block}
.campo-riga select + .spunta{right:22px}
.campo-riga.no input,.campo-riga.no select{border-color:#C4161C}
.campo-riga__errore{display:block;min-height:18px;font-size:12px;color:#B0141A;padding:3px 0 0}
.riga-prenota__invia{-ms-flex:1 1 100%;flex:1 1 100%;height:44px;border:1px solid var(--nero);border-radius:30px;background:var(--nero);color:var(--bianco);cursor:pointer;font-size:14px}
.riga-prenota__invia:hover{background:var(--bianco);color:var(--nero)}
.riga-prenota__invia[disabled]{opacity:.55;cursor:wait}
.consenso-riga{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;margin-top:6px;font-size:12px;line-height:18px;max-width:640px}
.consenso-riga input{width:16px;height:16px;margin:1px 0 0;-ms-flex:0 0 16px;flex:0 0 16px;accent-color:var(--nero)}
.consenso-riga a{text-decoration:underline}
.riga-prenota__esito{margin-top:18px;padding:14px 18px;border:1px solid var(--nero);border-radius:16px;max-width:640px}
.riga-prenota__esito.va{background:var(--verde);border-color:var(--verde)}
.fuori-schermo{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* domande in due colonne */
.domande{padding-top:60px;padding-bottom:30px}
.domande__cols{margin-top:24px;gap:0 8px}
.domande__col{-ms-flex:1 1 100%;flex:1 1 100%}
.domanda{border-top:1px solid var(--nero);padding:14px 0 26px}
.domanda h3{font-size:14px;font-weight:400;text-transform:uppercase}
.domanda p{margin-top:8px;color:#222}

/* pagine interne */
.testata-pagina{padding-top:52px;padding-bottom:28px;border-bottom:1px solid var(--nero)}
.testata-pagina h1{font-size:30px;line-height:1.1;font-weight:400;max-width:860px;margin-top:14px}
.testata-pagina h1 i{font-family:var(--serif);font-weight:400}
.testata-pagina p{max-width:700px;margin-top:16px;font-size:16px}
.blocchetto{padding-top:44px;padding-bottom:10px}
.blocchetto h2{font-size:14px;font-weight:400;text-transform:uppercase;padding-top:1rem;border-top:1px solid var(--nero)}
.blocchetto__corpo{margin-top:16px;max-width:780px;font-size:15px;line-height:1.65}
.blocchetto__corpo p + p{margin-top:12px}
.blocchetto__corpo ul{margin-top:12px}
.blocchetto__corpo li{padding:8px 0;border-bottom:1px solid var(--grigio)}
.blocchetto__foto{margin-top:22px}
.blocchetto__foto img{width:100%;height:340px;border-radius:16px}
.martedi{gap:8px;margin-top:20px}
.martedi__uno{-ms-flex:1 1 100%;flex:1 1 100%;border-top:1px solid var(--nero);padding:12px 0 22px}
.martedi__uno b{display:block;font-family:var(--mono);font-weight:400;text-transform:uppercase;font-size:13px}
.martedi__uno h3{font-size:18px;font-weight:400;margin-top:10px}
.martedi__uno p{margin-top:8px}
.tabella-impronte{width:100%;border-collapse:collapse;margin-top:18px;font-size:13px}
.tabella-impronte th,.tabella-impronte td{text-align:left;padding:9px 10px 9px 0;border-bottom:1px solid var(--grigio);vertical-align:top}
.tabella-impronte th{font-family:var(--mono);font-weight:400;text-transform:uppercase;border-bottom-color:var(--nero)}
.tabella-impronte .doppio{background:#EAFBE8}
.scorri-tabella{overflow-x:auto}
.legale{padding-top:44px;padding-bottom:40px}
.legale__corpo{max-width:780px;font-size:15px;line-height:1.65}
.legale__corpo h2{font-size:14px;font-weight:400;text-transform:uppercase;margin-top:30px;padding-top:1rem;border-top:1px solid var(--nero)}
.legale__corpo p,.legale__corpo ul{margin-top:10px}
.legale__corpo li{padding-left:14px;position:relative;margin-top:4px}
.legale__corpo li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:1px;background:var(--nero)}

/* piede */
.lowbar{padding:60px 0 24px;font-size:12px;line-height:18px}
.lowbar__cols{gap:0 12px}
.lowbar__col{-ms-flex:1 1 100%;flex:1 1 100%;border-top:1px solid var(--nero);padding:6px 0 33px}
.lowbar__col h2{font-size:12px;font-weight:400;text-transform:uppercase;margin-bottom:24px}
.lowbar__col li{margin-top:0}
.lowbar__col a,.lowbar__col button{display:inline-block;padding:4px 0;min-height:24px}
.lowbar__col button{border:0;background:none;font-size:12px;cursor:pointer;text-align:left}
.lowbar__fine{margin-top:40px;color:var(--grigio-testo);font-size:11px;gap:10px}
.lowbar__fine img{width:120px;opacity:.7}

/* cookie */
#cookie-banner-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.35);z-index:60}
#cookie-banner{position:fixed;left:var(--gutter);right:var(--gutter);bottom:var(--gutter);z-index:61;background:var(--bianco);border:1px solid var(--nero);border-radius:16px;padding:20px;max-width:520px;max-height:calc(100svh - 30px);overflow:auto}
#cookie-banner h2{font-family:var(--mono);font-weight:400;font-size:13px;text-transform:uppercase}
#cookie-banner p{margin-top:10px;font-size:13px}
.cookie-categorie{margin-top:14px}
.cookie-categorie label{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--grigio);font-size:13px}
.cookie-categorie input{margin-top:3px;accent-color:var(--nero)}
.cookie-categorie small{display:block;color:#555;font-size:12px}
.cookie-bottoni{gap:8px;margin-top:16px}
.cookie-bottoni button{-ms-flex:1 1 100%;flex:1 1 100%;min-width:0;padding:8px 14px}
.cookie-bottoni .pieno{background:var(--nero);color:var(--bianco)}

@media (min-width:768px){
  .slider__binario > *{-ms-flex-basis:calc(33.333% - 6px);flex-basis:calc(33.333% - 6px)}
  .campo-riga{-ms-flex:1 1 0;flex:1 1 0}
  .riga-prenota__invia{-ms-flex:0 0 200px;flex:0 0 200px}
  .domande__col{-ms-flex:1 1 0;flex:1 1 0}
  .lowbar__col{-ms-flex:1 1 0;flex:1 1 0}
  .lowbar__col--largo{-ms-flex:2 1 0;flex:2 1 0}
  .martedi__uno{-ms-flex:1 1 calc(50% - 8px);flex:1 1 calc(50% - 8px)}
  .testata-pagina h1{font-size:42px}
  .slider_academy__logo{font-size:44px}
  .slider_academy__logo span{font-size:50px}
  .slider_academy__testo{font-size:22px;text-align:justify}
  .cookie-bottoni button{-ms-flex:1 1 0;flex:1 1 0}
  #cookie-banner{left:auto}
}
@media (min-width:992px){
  .topline__nav{display:-webkit-box;display:-ms-flexbox;display:flex}
  .topline__burger,.menu-mobile{display:none}
  .topline__tel{display:block}
  .menu-aperto .menu-mobile{display:none}
  .banner_hero__meta{width:50%}
  .banner_hero__meta + .banner_hero__meta{display:block}
  .slider__binario > *{-ms-flex-basis:calc(23% - 6px);flex-basis:calc(23% - 6px)}
  .martedi__uno{-ms-flex:1 1 calc(25% - 8px);flex:1 1 calc(25% - 8px)}
}
@media (min-width:1440px){
  .slider__binario > *{-ms-flex-basis:calc(20% - 7px);flex-basis:calc(20% - 7px)}
}
@media (hover:none){
  .btn-pillola:hover{background:none;color:inherit;border-color:currentColor}
}

/* percorso di un ordine */
.percorso{padding-top:56px;padding-bottom:20px}
.percorso__passi{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0}
.percorso__passi li{border-top:1px solid var(--grigio);padding:18px 0 22px;position:relative}
.percorso__passi span{display:block;font-size:12px;color:var(--grigio-testo)}
.percorso__passi svg{width:32px;height:32px;margin-top:10px}
.percorso__passi h3{font-size:18px;font-weight:400;margin-top:10px}
.percorso__passi p{margin-top:6px;font-size:14px;color:#333}
/* dizionario */
.dizionario{padding-top:50px;padding-bottom:20px}
.dizionario__cerca{display:block;max-width:420px;margin-top:20px}
.dizionario__cerca span{display:block;font-size:12px;margin-bottom:6px}
.dizionario__cerca input{width:100%;border:0;border-bottom:1px solid var(--nero);padding:8px 0;font:inherit;font-size:16px;background:transparent;border-radius:0}
.dizionario__voci{margin:20px 0 0;display:grid;grid-template-columns:1fr;gap:0 24px}
.dizionario__voce{padding:14px 0;border-top:1px solid var(--grigio)}
.dizionario__voce[hidden]{display:none}
.dizionario__voce dt{font-family:var(--serif);font-size:24px;line-height:1.1}
.dizionario__voce dd{margin:6px 0 0;font-size:14px;max-width:520px}
.dizionario__vuoto{margin-top:16px;font-size:14px;color:var(--grigio-testo)}
.esempi-registro{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
.esempio-registro{background:#F4F4F4;padding:18px 20px;border-left:3px solid var(--verde)}
.esempio-registro span{font-size:12px}
.esempio-registro p{margin-top:8px;font-size:15px;line-height:1.6}
@media (min-width:768px){.percorso__passi{grid-template-columns:repeat(4,1fr);gap:0 24px}.dizionario__voci{grid-template-columns:1fr 1fr}.esempi-registro{grid-template-columns:repeat(3,1fr)}}

.preparare{padding-top:40px;padding-bottom:40px}
.preparare__cols{display:grid;grid-template-columns:1fr;gap:28px;margin-top:24px}
.preparare__cols p{font-size:15px;line-height:1.6;max-width:420px}
.preparare__etichetta{font-size:12px!important;text-transform:uppercase;letter-spacing:.06em;padding-bottom:8px;margin-bottom:10px;border-bottom:2px solid var(--verde);color:var(--nero)}
@media (min-width:768px){.preparare__cols{grid-template-columns:repeat(3,1fr);gap:24px}}
