/* Kali Yoga Studio. Colori e font dal brand sheet: nero caldo come campo, avorio come inchiostro e secondo campo,
   rosso ossido per l'azione e la sezione "prima lezione", oro solo per i numeri (orari, prezzi).
   Le sezioni sono blocchi di WordPress con una classe (es. .hero, .pratiche): il cliente cambia i contenuti, non l'impaginazione. */
:root{
  --nero:#141110;
  --nero-2:#1E1917;
  --nero-3:#2A2320;
  --avorio:#F2EADB;
  --avorio-2:#E8DECB;
  --rosso:#A8351F;
  --rosso-2:#8F2C19;
  --oro:#C9A24A;
  --cenere:#A79C8E;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --text:Lato,"Helvetica Neue",Arial,sans-serif;
  --m:clamp(16px,4vw,56px);
  --gap:clamp(88px,10.5vw,152px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --bar:72px;
  --top:var(--wp-admin--admin-bar--height,0px);
  --fs-1:clamp(44px,7vw,128px);
  --fs-2:clamp(42px,6.4vw,104px);
  --fs-3:clamp(28px,2.8vw,44px);
  --fs-4:clamp(22px,2.2vw,32px);
  --fs-body:clamp(17px,1.2vw,19px);
  --fs-s:16px;
  --fs-xs:15px;
  color-scheme:dark;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + var(--top) + 8px)}
body{margin:0;background:var(--nero);color:var(--avorio);font-family:var(--text);font-weight:300;font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
figure,.wp-block-image{margin:0}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:.98;letter-spacing:-.02em;margin:0;text-wrap:balance}
h2{font-size:var(--fs-2)}
h3{font-size:var(--fs-3);line-height:1.05;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:62ch}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}
::selection{background:var(--rosso);color:var(--avorio)}
figcaption,.wp-element-caption{font-size:var(--fs-xs);color:var(--cenere);margin:12px 0 0;text-align:left}
.wp-site-blocks > *{margin-block-start:0}
.skip-link.screen-reader-text:focus{background:var(--avorio);color:var(--nero)}

/* bottoni: piatti, angoli vivi */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border-radius:0;font-family:var(--text);font-weight:700;font-size:var(--fs-s);line-height:1.2;text-decoration:none;border:0;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.wp-block-button__link:active{transform:translateY(1px)}
.wp-block-button.btn--red .wp-block-button__link{background:var(--rosso);color:var(--avorio)}
.wp-block-button.btn--red .wp-block-button__link:hover{background:var(--rosso-2)}
.wp-block-button.btn--ivory .wp-block-button__link{background:var(--avorio);color:var(--nero)}
.wp-block-button.btn--ivory .wp-block-button__link:hover{background:var(--nero);color:var(--avorio)}
.link-row a{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--rosso);transition:text-decoration-color .2s}
.link-row a:hover{text-decoration-color:currentColor}

/* barra */
.site-header{position:sticky;top:var(--top);z-index:20;transition:transform .35s var(--ease)}
.site-header.is-hidden{transform:translateY(-100%)}
.bar{background:var(--nero)}
.bar__in{display:flex;align-items:center;gap:24px;padding:12px var(--m);min-height:var(--bar)}
.bar__brand{margin-right:auto}
.bar__brand img{height:34px;width:auto}
.bar__nav{font-size:var(--fs-s);font-weight:400;--navigation-layout-justification-setting:flex-end}
.bar__nav .wp-block-navigation__container{gap:clamp(18px,2.2vw,36px)}
.bar__nav .wp-block-navigation-item__content{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px;text-decoration-color:transparent;padding:8px 0;transition:text-decoration-color .25s var(--ease)}
.bar__nav .wp-block-navigation-item__content:hover{text-decoration-color:var(--oro)}
.bar__nav .wp-block-navigation__responsive-container-open,.bar__nav .wp-block-navigation__responsive-container-close{color:var(--avorio)}
.bar__nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--nero);color:var(--avorio);padding:24px var(--m)}
.bar__nav .is-menu-open .wp-block-navigation__container{gap:8px;align-items:flex-start}
.bar__nav .is-menu-open .wp-block-navigation-item__content{font-family:var(--display);font-size:var(--fs-2);font-weight:500;line-height:1.05}
.bar__cta .wp-block-button__link{min-height:44px;padding:10px 18px}

/* apertura: testo a sinistra, Kali a destra */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,4vw,72px);min-height:calc(100svh - var(--bar) - var(--top));padding:var(--m)}
.hero__text{align-self:end;padding:clamp(32px,4vw,64px) 0 clamp(8px,2vw,32px)}
.hero h1{font-size:var(--fs-1);line-height:.92;letter-spacing:-.03em}
.hero__lead{max-width:44ch;margin:clamp(32px,3vw,44px) 0 0;font-size:var(--fs-body)}
.hero__next{font-family:var(--display);font-size:var(--fs-4);line-height:1.2;margin:clamp(28px,3vw,40px) 0;max-width:none}
.hero__next a{color:var(--oro);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px;text-decoration-color:transparent;transition:text-decoration-color .2s var(--ease)}
.hero__next a:hover{text-decoration-color:var(--oro)}
.hero__media{position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.hero__media img{flex:1 1 auto;min-height:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hero__media figcaption{margin-top:10px}

/* chi siamo */
.kali{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,112px);padding:var(--gap) var(--m)}
.kali__head h2{margin-bottom:clamp(28px,3vw,44px)}
.kali__text p:last-child{margin-bottom:0}
.kali__quote{margin:0;padding:0;border:0}
.kali__quote p{font-family:var(--display);font-style:italic;font-size:var(--fs-4);line-height:1.15;max-width:22ch;color:var(--oro);margin:0}
.kali__photo{grid-column:1 / -1;margin-top:clamp(16px,3vw,48px)}
.kali__photo img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 45%}

/* pratiche: campo avorio; su computer la foto della pratica che stai leggendo resta ferma a sinistra (la costruisce theme.js) */
.pratiche{background:var(--avorio);color:var(--nero);font-weight:400;padding:var(--gap) var(--m)}
.pratiche__head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,112px);align-items:end;margin-bottom:clamp(48px,6vw,96px)}
.pratiche__head p{margin:0}
.pratiche__media{display:none}
.has-media.pratiche__body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,112px);align-items:start}
.has-media .pratiche__media{display:block;position:sticky;top:calc(var(--bar) + var(--top) + 24px);aspect-ratio:4/5;background:var(--avorio-2);overflow:hidden}
.pratiche__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .6s var(--ease),transform 1.2s var(--ease)}
.pratiche__media img.is-on{opacity:1;transform:none}
.pratica{padding:clamp(28px,3vw,44px) 0;transition:background-color .3s var(--ease)}
.has-media .pratica{padding:clamp(28px,3vw,44px) clamp(20px,2vw,32px);margin:0 calc(-1*clamp(20px,2vw,32px))}
.has-media .pratica:hover,.has-media .pratica.is-on{background:var(--avorio-2)}
.pratica h3{margin-bottom:14px;transition:color .3s var(--ease)}
.has-media .pratica.is-on h3{color:var(--rosso)}
.pratica p{margin:0 0 10px}
.pratica__meta{font-weight:700;font-size:var(--fs-s)}
.pratica__thumb{margin-bottom:20px}
.pratica__thumb img{width:100%;aspect-ratio:3/2;object-fit:cover}
.has-media .pratica__thumb{display:none}

/* orari: il pezzo vivo; oggi in evidenza, prossima lezione in grande (theme.js) */
.orari{background:var(--nero-2);padding:var(--gap) var(--m)}
.orari__head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,112px);align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.orari__now{font-family:var(--display);font-size:var(--fs-4);line-height:1.15;margin:0;max-width:24ch}
.orari__now strong{font-weight:500;color:var(--oro)}
.week{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.day{background:var(--nero);padding:clamp(20px,2vw,32px) clamp(16px,1.6vw,26px) clamp(28px,3vw,44px);transition:background-color .3s var(--ease)}
.day h3{margin-bottom:clamp(20px,2vw,32px)}
.day ul{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.day li{font-size:var(--fs-s);line-height:1.3}
.day li.is-parsed{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 14px;align-items:baseline}
.day .t{font-size:var(--fs-4);font-weight:300;color:var(--oro);line-height:1;font-variant-numeric:lining-nums tabular-nums}
.day.is-today{background:var(--nero-3)}
.day.is-today h3::after{content:" · oggi";color:var(--cenere);font-size:.6em;font-family:var(--text);font-weight:400;letter-spacing:0}
.day li.is-next .t{color:#E0674A}
.day li.is-past{opacity:.45}
.orari__days{display:none}
.orari__note{margin:clamp(28px,3vw,44px) 0 0;color:var(--cenere);font-size:var(--fs-s)}

/* prima lezione e prezzi: campo rosso */
.prezzi{background:var(--rosso);color:var(--avorio);padding:var(--gap) var(--m);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,112px);align-items:end}
.prezzi > h2{grid-column:1 / -1;font-size:var(--fs-1);line-height:.92;letter-spacing:-.03em;margin-bottom:clamp(24px,3vw,40px)}
.prezzi__intro p{max-width:44ch;margin-bottom:clamp(28px,3vw,40px)}
.prezzi__list{display:grid;gap:clamp(24px,2.4vw,36px)}
.prezzo{display:grid;grid-template-columns:1fr auto;gap:4px 24px;align-items:baseline}
.prezzo h3{font-size:var(--fs-3);line-height:1.1}
.prezzo__n{grid-column:2;grid-row:1;font-family:var(--display);font-size:var(--fs-3);font-weight:500;font-variant-numeric:lining-nums;margin:0}
.prezzo__d{grid-column:1 / -1;font-size:var(--fs-s);margin:0}

/* lo studio: due foto sfalsate, testo in mezzo */
.studio{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto auto;gap:clamp(32px,5vw,88px) clamp(32px,6vw,112px);padding:var(--gap) var(--m)}
.studio__a{grid-column:1;grid-row:1 / span 2}
.studio__a img{width:100%;height:100%;min-height:520px;object-fit:cover}
.studio__text{grid-column:2;grid-row:1;align-self:start}
.studio__text h2{margin-bottom:clamp(24px,3vw,40px)}
.studio__b{grid-column:2;grid-row:2;align-self:end;max-width:420px}
.studio__b img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* insegnanti */
.insegnanti{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,112px);align-items:center;padding:var(--gap) var(--m)}
.insegnanti__text h2{margin-bottom:clamp(24px,3vw,40px)}
.insegnanti__photo img{width:100%;aspect-ratio:3/2;object-fit:cover}

/* dove siamo e contatti: campo avorio */
.dove{background:var(--avorio);color:var(--nero);font-weight:400;padding:var(--gap) var(--m);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,112px)}
.dove__text h2{margin-bottom:clamp(24px,3vw,40px)}
.dove__street{font-family:var(--display);font-size:var(--fs-3);font-weight:500;line-height:1.1;margin-bottom:8px}
.dove__city{margin-bottom:24px}
.contatti{margin-top:clamp(48px,6vw,88px);background:var(--avorio-2);padding:clamp(24px,3vw,44px)}
.contatti h3{margin-bottom:16px}
.contatti__k{font-weight:700;font-size:var(--fs-s);margin:20px 0 0}
.contatti__v{font-family:var(--display);font-size:var(--fs-4);font-weight:500;margin:0}
.contatti__v a{text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--rosso);overflow-wrap:anywhere}
.dove__map{min-height:420px;background:var(--avorio-2)}
.dove__map iframe{display:block;width:100%;height:100%;min-height:420px;border:0;filter:grayscale(.35) sepia(.15)}
.dove__photo{grid-column:1 / -1}
.dove__photo img{width:100%;aspect-ratio:21/9;object-fit:cover}
.dove__photo figcaption{color:#6E655E}

/* pagine semplici (privacy e altre) */
.pagina{padding:clamp(56px,8vw,120px) var(--m) var(--gap)}
.pagina__titolo{font-size:clamp(48px,6vw,88px);margin-bottom:clamp(32px,4vw,56px)}
.pagina__contenuto,.pagina__testo{max-width:860px}
.pagina h2{font-size:var(--fs-3);margin:48px 0 16px}
.pagina p{font-size:18px}

/* chiusura: il nome torna a tutta larghezza */
.foot{padding:clamp(72px,10vw,160px) var(--m) 40px}
.foot__mark{width:100%;height:auto;margin-bottom:clamp(40px,5vw,72px)}
.foot__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;font-size:var(--fs-xs);color:var(--cenere)}
.foot__cols p{margin:0}
.foot a{color:var(--avorio)}

/* entrate: solo con JS, mai contenuto nascosto senza */
.js .reveal{opacity:0;transform:translateY(24px)}
.js .reveal.is-in{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.js .hero__media img{transform:scale(1.06);transform-origin:50% 25%;transition:transform 2.4s var(--ease)}
.js .hero.is-in .hero__media img{transform:scale(1)}

@media (max-width:1100px){
  .week{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .bar .bar__cta{display:none}
  .bar__nav .wp-block-navigation__container{gap:16px}
  .bar__nav{font-size:15px}
  .kali,.pratiche__head,.has-media.pratiche__body,.orari__head,.prezzi,.studio,.dove,.insegnanti{grid-template-columns:minmax(0,1fr)}
  .hero{grid-template-columns:minmax(0,1fr);gap:0;min-height:0;padding-top:var(--m)}
  .hero__media{order:-1;height:min(46svh,520px)}
  .hero__text{padding:clamp(24px,4vw,40px) 0}
  .kali__photo img{aspect-ratio:4/3}
  .has-media .pratiche__media{display:none}
  .has-media .pratica{margin:0;padding:28px 0 32px}
  .has-media .pratica:hover,.has-media .pratica.is-on{background:none}
  .has-media .pratica.is-on h3{color:inherit}
  .has-media .pratica__thumb{display:block}
  .studio__a,.studio__text,.studio__b{grid-column:1;grid-row:auto}
  .studio__a img{min-height:0;aspect-ratio:4/3}
  .studio__b{max-width:none}
  .studio__b img{aspect-ratio:3/2}
  .dove__photo img{aspect-ratio:4/3}
  .foot__cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .js .orari__days:not([hidden]){display:flex;gap:4px;overflow-x:auto;margin-bottom:4px;scrollbar-width:none}
  .orari__days button{flex:1 0 auto;min-width:52px;min-height:48px;background:var(--nero);color:var(--avorio);border:0;font:700 15px var(--text);cursor:pointer}
  .orari__days button[aria-selected="true"]{background:var(--avorio);color:var(--nero)}
  .week{grid-template-columns:minmax(0,1fr)}
  .js .week.is-tabbed .day:not(.is-shown){display:none}
  .hero h1{font-size:clamp(40px,11.4vw,84px)}
  .hero .wp-block-button,.hero .wp-block-button__link{width:100%}
  .hero__media{height:34svh}
  .hero__next{margin:20px 0 24px}
  .hero__lead{margin-top:20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .js .reveal{transform:none}
  .js .hero__media img{transform:none}
}

/* nell'editor: niente entrate né barra fissa, così il cliente vede e modifica tutto */
.editor-styles-wrapper .reveal{opacity:1;transform:none}
.editor-styles-wrapper .site-header{position:static}
