/*
Theme Name: Giglio Dance Academy
Text Domain: giglio-dance-academy
Description: Tema su misura per Giglio Dance Academy, Palermo.
Version: 0.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
*/

/* =========================================================
   1. Token di design
   ========================================================= */
:root{
  --navy-950:#070C19; --navy-900:#0A1020; --navy-800:#0B1226; --navy-glow:rgba(32,52,108,.75);
  --ivory:#F5F0E6; --ivory-80:rgba(245,240,230,.8); --ivory-60:rgba(245,240,230,.6); --ivory-40:rgba(245,240,230,.4);
  --cream:#FBF8F2; --ink:#141A2E; --ink-70:rgba(20,26,46,.72); --ink-line:rgba(20,26,46,.12);
  --gold:#CC9F52; --gold-light:#F2D690; --gold-deep:#8A5108; --line:rgba(204,159,82,.3);
  --glass:rgba(245,240,230,.045); --glass-line:rgba(245,240,230,.1);
  --gold-text:linear-gradient(96deg,#8A5108,#CC9F52 28%,#F2D690 52%,#CC9F52 74%,#8A5108);
  --cta-bg:#F5F0E6; --cta-fg:#141A2E; --cta-glow:rgba(204,159,82,.38);

  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;

  --gutter:clamp(16px,4vw,64px);
  --pad-l:max(var(--gutter),env(safe-area-inset-left,0px));
  --pad-r:max(var(--gutter),env(safe-area-inset-right,0px));
  --ease:cubic-bezier(.16,1,.3,1);
}

/* =========================================================
   2. Base
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{position:relative;margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{display:block;max-width:100%;height:auto}
svg{flex:none}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:500;line-height:1.1}
p{margin:0}
button{font:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
html.g-menu-open{overflow:hidden}

.g-wrap{width:100%;max-width:1360px;margin-inline:auto;padding-left:var(--pad-l);padding-right:var(--pad-r)}
.g-wrap--wide{max-width:1600px}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.g-skip{position:fixed;z-index:100;left:12px;top:-200px;padding:12px 18px;border-radius:999px;background:var(--ivory);color:var(--ink);font-weight:600;text-decoration:none;transform:translateY(-150%)}
.g-skip:focus{top:12px;transform:none}

/* icone */
.g-ico{width:18px;height:18px}

/* =========================================================
   3. Pulsanti
   ========================================================= */
.g-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:58px;padding:0 30px;border-radius:999px;border:0;
  background:var(--cta-bg);color:var(--cta-fg);font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 40px 2px var(--cta-glow);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.g-cta:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.3),0 0 56px 8px var(--cta-glow)}
.g-cta .g-ico{width:18px;height:18px}
.g-cta--sm{min-height:44px;padding:0 20px;gap:10px;font-size:14px;box-shadow:0 0 26px rgba(204,159,82,.3)}
.g-cta--sm .g-ico{width:16px;height:16px}

/* pulsante rotondo (hamburger / chiudi) */
.g-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border-radius:50%;
  border:1px solid var(--glass-line);background:var(--glass);color:var(--ivory);cursor:pointer;transition:border-color .2s,background-color .2s;
  -webkit-tap-highlight-color:transparent}
.g-iconbtn:hover{border-color:var(--line)}
.g-iconbtn svg{width:20px;height:20px}

/* =========================================================
   4. Testata
   ========================================================= */
.g-site-header{position:relative;z-index:30;color:var(--ivory);background:var(--navy-900);font-size:16px;line-height:normal}
.g-mini,.g-dock{font-size:16px;line-height:normal}
.g-has-hero .g-site-header{position:absolute;left:0;right:0;top:0;background:none}
.g-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:20px;padding-bottom:20px}
.g-brand{justify-self:start;display:block;line-height:0;border-radius:8px}
.g-brand img{width:96px;height:auto}

.g-nav__list{display:flex;gap:4px;margin:0;padding:5px;list-style:none;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.g-nav__list li{margin:0}
.g-nav__list a{display:block;padding:10px 17px;border-radius:999px;font-size:14px;line-height:1.2;color:var(--ivory-60);text-decoration:none;white-space:nowrap;transition:color .2s,background-color .2s}
.g-nav__list a:hover{color:var(--ivory)}
.g-nav__list a[aria-current="page"],.g-nav__list .current-menu-ancestor > a,.g-nav__list .current-page-ancestor > a{background:rgba(245,240,230,.09);color:var(--ivory)}
.g-drawer__list .current-menu-ancestor > a,.g-drawer__list .current-page-ancestor > a{color:var(--gold-light)}

.g-bar__end{justify-self:end;display:flex;align-items:center;gap:10px}
.g-tel{display:flex;align-items:center;gap:12px;padding:5px 18px 5px 5px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-decoration:none;transition:border-color .2s}
.g-tel:hover{border-color:var(--line)}
.g-tel i{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(204,159,82,.14);color:var(--gold-light)}
.g-tel i svg{width:16px;height:16px}
.g-tel small{display:block;font-size:11px;letter-spacing:.06em;color:var(--gold)}
.g-tel b{display:block;font-weight:500;font-size:14px;line-height:1.2;white-space:nowrap}
.g-burger{display:none}
.g-burger svg{width:20px;height:14px}

/* testata compatta che compare scorrendo */
.g-mini{position:fixed;z-index:40;left:0;right:0;top:0;padding-top:env(safe-area-inset-top,0px);color:var(--ivory);
  background:rgba(10,16,32,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--glass-line);
  transform:translateY(-110%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s linear .45s}
.g-mini.is-on{transform:none;visibility:visible;transition:transform .45s var(--ease),visibility 0s}
.g-mini .g-bar{height:68px;padding-top:0;padding-bottom:0}
.g-mini .g-brand img{width:70px}
.g-mini .g-nav__list{background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}

/* barra fissa in basso (solo telefono) */
.g-dock{display:none}

/* =========================================================
   5. Menu mobile (pannello a schermo intero)
   ========================================================= */
.g-drawer{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;color:var(--ivory);
  background:radial-gradient(ellipse 90% 45% at 50% 0%,rgba(32,52,108,.6),rgba(0,0,0,0) 70%),linear-gradient(180deg,var(--navy-800),var(--navy-950));
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  opacity:0;visibility:hidden;transition:opacity .28s ease,visibility 0s linear .28s}
.g-drawer.is-open{opacity:1;visibility:visible;transition:opacity .28s ease,visibility 0s}
.g-drawer__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:14px}
.g-drawer__top .g-brand img{width:84px}
.g-drawer__nav{padding-top:4px}
.g-drawer__list{margin:0;padding:0;list-style:none;border-top:1px solid var(--glass-line)}
.g-drawer__list li{margin:0;border-bottom:1px solid var(--glass-line)}
.g-drawer__list a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:8px 0;
  font-family:var(--serif);font-weight:500;font-size:clamp(28px,7.8vw,36px);line-height:1.1;color:var(--ivory);text-decoration:none;-webkit-tap-highlight-color:transparent}
.g-drawer__list a::after{content:"";width:9px;height:9px;flex:none;margin-right:6px;border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold);transform:rotate(45deg);opacity:.75}
.g-drawer__list a[aria-current="page"]{color:var(--gold-light)}
.g-drawer__list a:active{color:var(--gold-light)}
.g-drawer__foot{display:grid;gap:14px;margin-top:auto;padding-top:26px;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
.g-drawer__foot .g-cta{width:100%}
.g-drawer__info{display:grid;gap:0}
.g-drawer__info a{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--ivory-80);text-decoration:none;font-size:15px}
.g-drawer__info .g-ico{width:18px;height:18px;color:var(--gold)}

@media (max-height:620px){
  .g-drawer__list a{min-height:50px;font-size:28px}
  .g-drawer__foot{padding-top:20px}
}

/* comparsa sfalsata delle voci */
@media (prefers-reduced-motion:no-preference){
  .g-drawer__list li,.g-drawer__foot{opacity:0;transform:translateY(10px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
  .g-drawer.is-open .g-drawer__list li,.g-drawer.is-open .g-drawer__foot{opacity:1;transform:none}
  .g-drawer.is-open .g-drawer__list li:nth-child(1){transition-delay:.04s}
  .g-drawer.is-open .g-drawer__list li:nth-child(2){transition-delay:.08s}
  .g-drawer.is-open .g-drawer__list li:nth-child(3){transition-delay:.12s}
  .g-drawer.is-open .g-drawer__list li:nth-child(4){transition-delay:.16s}
  .g-drawer.is-open .g-drawer__list li:nth-child(5){transition-delay:.2s}
  .g-drawer.is-open .g-drawer__list li:nth-child(6){transition-delay:.24s}
  .g-drawer.is-open .g-drawer__list li:nth-child(n+7){transition-delay:.28s}
  .g-drawer.is-open .g-drawer__foot{transition-delay:.3s}
}

/* =========================================================
   6. Punti di rottura della testata
   ========================================================= */
@media (max-width:1180px){
  .g-nav__list a{padding:10px 12px}
  .g-tel{padding-right:5px}
  .g-tel span:not(.screen-reader-text){display:none}
}
@media (max-width:1023px){
  .g-mini .g-go{display:none}
}
/* sotto 821 px il menu diventa hamburger (come nel design) */
@media (max-width:820px){
  .g-bar{grid-template-columns:1fr auto;gap:10px}
  .g-site-header .g-nav,.g-mini .g-nav{display:none}
  .g-burger{display:inline-flex}
  .g-brand img{width:84px}
  .g-tel{padding:5px}
  .g-tel i{width:34px;height:34px}
  .g-mini .g-bar{grid-template-columns:1fr auto;height:60px}
  .g-mini .g-brand img{width:62px}
}
@media (min-width:821px){
  .g-drawer{display:none}
}

/* sottomenu: La scuola > La direttrice, Il percorso */
.g-nav__list .menu-item-has-children{position:relative}
.g-nav__list .menu-item-has-children > a{display:flex;align-items:center;gap:8px}
.g-nav__list .menu-item-has-children > a::after{content:"";width:6px;height:6px;margin-top:-4px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:rotate(45deg);opacity:.75;transition:transform .2s}
.g-nav__list .sub-menu{position:absolute;z-index:5;left:50%;top:calc(100% + 12px);min-width:220px;margin:0;padding:8px;list-style:none;border-radius:18px;
  background:rgba(10,16,32,.97);border:1px solid var(--glass-line);box-shadow:0 24px 48px -20px rgba(0,0,0,.75);
  opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s,transform .2s var(--ease),visibility 0s linear .2s}
.g-nav__list .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.g-nav__list .menu-item-has-children:hover > .sub-menu,.g-nav__list .menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .2s var(--ease),visibility 0s}
.g-nav__list .menu-item-has-children:hover > a::after,.g-nav__list .menu-item-has-children:focus-within > a::after{transform:rotate(225deg);margin-top:3px}
.g-nav__list .sub-menu li{margin:0}
.g-nav__list .sub-menu a{padding:12px 16px;border-radius:12px;color:var(--ivory-80)}
.g-nav__list .sub-menu a:hover{background:rgba(245,240,230,.07);color:var(--ivory)}
.g-nav__list .sub-menu a[aria-current="page"]{background:rgba(245,240,230,.09);color:var(--ivory)}
/* pannello mobile: sottovoci rientrate */
.g-drawer__list .sub-menu{margin:-4px 0 0 2px;padding:0 0 12px 18px;list-style:none;border-left:1px solid var(--line)}
.g-drawer__list .sub-menu li{border-bottom:0}
.g-drawer__list .sub-menu a{min-height:44px;padding:4px 0;font-family:var(--sans);font-weight:400;font-size:17px;color:var(--ivory-80)}
.g-drawer__list .sub-menu a::after{width:7px;height:7px;opacity:.55}
.g-drawer__list .sub-menu a[aria-current="page"]{color:var(--gold-light)}

/* preferenze cookie: si cambiano dal link nel pie' di pagina, senza linguetta fissa */
#cmplz-manage-consent .cmplz-manage-consent,.cmplz-manage-consent{display:none!important}
/* barra di amministrazione di WordPress (solo per chi e' collegato) */
.admin-bar .g-mini,.admin-bar .g-drawer{top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){.admin-bar .g-mini{top:0}}
/* telefono */
@media (max-width:820px){
  .g-dock{display:flex;position:fixed;z-index:45;left:0;right:0;bottom:0;gap:10px;align-items:center;
    padding:10px var(--pad-r) calc(10px + env(safe-area-inset-bottom,0px)) var(--pad-l);
    background:rgba(7,12,25,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--glass-line);
    transform:translateY(110%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s linear .45s}
  .g-dock.is-on{transform:none;visibility:visible;transition:transform .45s var(--ease),visibility 0s}
  .g-dock .g-cta{flex:1;min-width:0;min-height:52px;padding:0 18px;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
  .g-dock .g-call{display:flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);color:var(--gold-light)}
  .g-dock .g-call svg{width:20px;height:20px}
}
@media (max-width:359px){
  .g-tel{display:none}
}

/* =========================================================
   7. Segnaposto (temporaneo, sostituito dall'hero vero)
   ========================================================= */
.g-hero-ph{min-height:100svh;display:flex;align-items:center;color:var(--ivory);
  background:radial-gradient(ellipse 36% 56% at 50% 56%,var(--navy-glow),rgba(0,0,0,0) 72%),linear-gradient(180deg,var(--navy-800),var(--navy-900) 55%,var(--navy-950))}
.g-hero-ph h1{font-size:clamp(40px,6vw,72px);font-weight:400}
.g-hero-ph p{margin-top:14px;color:var(--ivory-60)}
.g-hero-ph .g-cta{margin-top:28px}
.g-ph-body{padding:96px 0 140px}
.g-ph-body p{max-width:640px;margin-top:16px;color:var(--ink-70)}

/* =========================================================
   8. Pie' di pagina (base, rifinito al passo successivo)
   ========================================================= */
.g-site-footer{position:relative;overflow:hidden;color:var(--ivory-60);font-size:15px;line-height:1.5;
  background:radial-gradient(ellipse 50% 340px at 50% 0%,rgba(32,52,108,.6),rgba(0,0,0,0) 100%),linear-gradient(180deg,var(--navy-800),var(--navy-950) 60%)}
.g-site-footer a{color:inherit;text-decoration:none}
.g-site-footer ul{margin:0;padding:0;list-style:none}
.g-site-footer .g-ico{width:17px;height:17px;flex:none}
.g-foot{padding-top:64px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}

/* ---- il sipario: invito sotto il riflettore, sulla pedana del palco ---- */
.g-foot__curtain{position:relative;text-align:center;padding-bottom:48px}
.g-foot__curtain::before{content:"";position:absolute;z-index:0;left:50%;top:-64px;width:min(46vw,620px);height:calc(100% + 40px);translate:-50% 0;pointer-events:none;
  background:linear-gradient(180deg,rgba(246,236,210,.1),rgba(0,0,0,0) 85%);clip-path:polygon(40% 0,60% 0,86% 100%,14% 100%);filter:blur(24px)}
.g-foot__curtain > *{position:relative;z-index:1}
.g-foot__kicker{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.g-foot__kicker::before,.g-foot__kicker::after{content:"";width:28px;height:1px;background:var(--gold)}
.g-foot__say{margin-top:14px;font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.4vw,60px);line-height:1;letter-spacing:-.005em;color:var(--ivory)}
.g-foot__say em{font-style:italic;background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.g-foot__sub{margin-top:14px;color:var(--ivory-80);text-wrap:balance}
.g-foot__actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin-top:26px}
.g-foot__cta{color:var(--cta-fg)!important}
.g-foot__ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 26px;border-radius:999px;border:1px solid var(--line);color:var(--ivory)!important;font-size:15px;font-weight:500;transition:border-color .2s,background-color .2s}
.g-foot__ghost .g-ico{width:19px;height:19px;color:var(--gold-light)}
.g-foot__ghost:hover{border-color:var(--gold);background:rgba(204,159,82,.08)}
.g-foot__floor{position:absolute!important;left:50%;bottom:0;width:min(72vw,1040px);height:1px;translate:-50% 0;
  background:linear-gradient(90deg,rgba(204,159,82,0),rgba(204,159,82,.6) 50%,rgba(204,159,82,0))}
.g-foot__floor::after{content:"";position:absolute;left:50%;top:-16px;width:420px;max-width:80vw;height:32px;translate:-50% 0;border-radius:50%;
  background:radial-gradient(closest-side,rgba(246,236,210,.14),rgba(246,236,210,0))}

/* ---- il programma: tre atti della stessa altezza ---- */
.g-foot__bill{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:32px 56px;padding-top:44px;padding-bottom:40px}
.g-foot__act summary{display:block;list-style:none;pointer-events:none}
.g-foot__act summary::-webkit-details-marker{display:none}
.g-foot__act-title{display:flex;align-items:baseline;gap:14px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--glass-line);
  font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory)}
.g-foot__act-title span{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;line-height:1;letter-spacing:0;text-transform:none;color:var(--gold)}
.g-foot__list--2{columns:2;column-gap:24px}
.g-foot__list--2 li{break-inside:avoid}
.g-foot__list a{display:inline-flex;align-items:center;gap:0;min-height:32px;color:var(--ivory-80);transition:color .2s}
.g-foot__list a::before{content:"";width:0;height:1px;background:var(--gold);transition:width .25s var(--ease),margin .25s var(--ease)}
.g-foot__list a:hover{color:var(--gold-light)}
.g-foot__list a:hover::before{width:12px;margin-right:8px}
.g-foot__contact{display:grid;gap:2px;font-style:normal}
.g-foot__contact a{display:flex;align-items:center;gap:12px;min-height:32px;color:var(--ivory-80);transition:color .2s}
.g-foot__contact a:hover{color:var(--gold-light)}
.g-foot__contact .g-ico{color:var(--gold)}

/* ---- il sigillo: logo sulla linea ---- */
.g-foot__seal{display:flex;align-items:center;gap:28px}
.g-foot__seal::before,.g-foot__seal::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(204,159,82,0),rgba(204,159,82,.45))}
.g-foot__seal::after{background:linear-gradient(90deg,rgba(204,159,82,.45),rgba(204,159,82,0))}
.g-foot__seal .g-brand img{width:92px}

/* ---- riga finale: note legali, social, policy ---- */
.g-foot__legal{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 24px;padding-top:14px;font-size:13px;color:var(--ivory-60)}
.g-foot__policies{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 22px}
.g-foot__policies a{display:inline-flex;align-items:center;min-height:36px;transition:color .2s}
.g-foot__policies a:hover{color:var(--ivory)}
.g-foot__social{display:flex;gap:8px;margin-top:14px}
.g-foot__social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-line);color:var(--gold-light);transition:border-color .2s,background-color .2s}
.g-foot__social a:hover{border-color:var(--gold);background:rgba(204,159,82,.1)}
.g-foot__social .g-ico{width:18px;height:18px}

@media (max-width:1023px){
  .g-foot__bill{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-foot__bill > :first-child{grid-column:1 / -1}
  .g-foot__legal{grid-template-columns:1fr auto}
  .g-foot__policies{justify-content:flex-start}
}

/* ---- telefono: compatto, tutto a portata di pollice ---- */
@media (max-width:820px){
  .g-foot{padding-top:44px}
  .g-foot__curtain{padding-bottom:30px}
  .g-foot__curtain::before{top:-44px;width:92vw}
  .g-foot__kicker{font-size:11px}
  .g-foot__say{margin-top:10px;font-size:clamp(34px,10vw,42px)}
  .g-foot__sub{margin-top:10px;font-size:14px}
  .g-foot__actions{flex-wrap:nowrap;gap:10px;margin-top:20px}
  .g-foot__cta{flex:1;min-width:0;min-height:54px;padding:0 18px}
  /* WhatsApp diventa un pulsante rotondo, come la chiamata nella barra in basso */
  .g-foot__ghost{flex:none;width:54px;height:54px;min-height:54px;padding:0}
  .g-foot__ghost span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .g-foot__ghost .g-ico{width:22px;height:22px}

  .g-foot__bill{display:block;padding-top:20px;padding-bottom:22px}
  .g-foot__act + .g-foot__act{margin-top:0}
  /* corsi e scuola: righe che si aprono con un tocco */
  .g-foot__act summary{display:flex;align-items:center;justify-content:space-between;min-height:54px;pointer-events:auto;cursor:pointer;border-bottom:1px solid var(--glass-line);-webkit-tap-highlight-color:transparent}
  .g-foot__act summary .g-foot__act-title{margin:0;padding:0;border:0}
  .g-foot__act summary::after{content:"";width:9px;height:9px;margin:0 6px 4px 0;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);transition:transform .25s var(--ease)}
  .g-foot__act[open] summary::after{transform:rotate(-135deg);margin-bottom:-4px}
  .g-foot__act[open] summary{border-bottom-color:transparent}
  .g-foot__act[open] .g-foot__list{padding-bottom:10px;border-bottom:1px solid var(--glass-line)}
  .g-foot__list--2{column-gap:16px}
  .g-foot__list--2 li{break-inside:avoid}
  .g-foot__list a{min-height:44px}
  .g-foot__act-title span{font-size:20px}
  /* contatti: tre righe da toccare */
  .g-foot__act:last-child{padding-top:20px}
  .g-foot__act:last-child .g-foot__act-title{margin-bottom:6px;padding-bottom:0;border:0}
  .g-foot__contact a{min-height:44px}

  .g-foot__seal{gap:18px}
  .g-foot__seal .g-brand img{width:80px}
  .g-foot__legal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-top:12px}
  .g-foot__legal > p{order:3;font-size:12.5px;text-wrap:balance}
  .g-foot__social{order:1}
  .g-foot__social a{width:44px;height:44px}
  .g-foot__policies{order:2;justify-content:center;gap:0 18px}
  .g-foot__policies a{min-height:44px}
}
.g-hero-ph--page{min-height:clamp(360px,44svh,500px);align-items:flex-end;padding:150px 0 56px}
.g-hero-ph--page h1{font-size:clamp(38px,5vw,64px)}

/* contenuto provvisorio delle pagine interne */
.g-entry{padding:64px 0 120px}
.g-entry > .g-wrap > * + *{margin-top:1.1em}
.g-entry h2{font-size:clamp(30px,3.4vw,44px);margin-top:1.6em}
.g-entry h3{font-size:clamp(24px,2.4vw,30px);margin-top:1.4em}
.g-entry a{color:var(--gold-deep)}
.g-entry img{border-radius:16px}
