/* Mental Tennis — chrome globale (header, footer, WhatsApp) estratto da mental-tennis.css */
:root{
  --img-logo: url("/assets/logo.png");
}
/* ---------- HEADER ---------- */
.hdr{
  position:fixed;inset:0 0 auto;z-index:60;
  background:rgba(0,0,0,0);transition:background .35s,border-color .35s,padding .35s;
  border-bottom:1px solid transparent;padding:16px 0;
}
.hdr.on{background:rgba(6,10,9,.92);backdrop-filter:blur(14px);border-bottom-color:var(--line-d);padding:8px 0}
.hdr-in{display:flex;align-items:center;gap:28px;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.logo{width:140px;height:82px;background:var(--img-logo) center/contain no-repeat;flex:none}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.78);padding:6px 0;position:relative;
}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--emerald-lift);transition:width .3s}
.nav a:hover{color:#fff}
.nav a:hover::after{width:100%}
/* language dropdown */
.lang{position:relative;flex:none}
.lang-btn{
  display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line-d);
  color:#fff;padding:9px 12px;border-radius:2px;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;transition:.25s;
}
.lang-btn:hover{border-color:var(--emerald-lift)}
.lang-btn .chev{transition:transform .25s}
.lang[data-open="1"] .lang-btn .chev{transform:rotate(180deg)}
.lang-menu{
  position:absolute;right:0;top:calc(100% + 8px);min-width:132px;background:#0C1312;
  border:1px solid var(--line-d);border-radius:2px;overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.22s;
}
.lang[data-open="1"] .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu button{
  display:flex;width:100%;gap:10px;align-items:center;background:none;border:0;color:#fff;
  padding:11px 14px;cursor:pointer;text-align:left;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;transition:.2s;
}
.lang-menu button:hover{background:rgba(37,144,142,.22)}
.lang-menu button[aria-current="true"]{color:var(--emerald-lift)}
.hdr-cta{flex:none}
.burger{display:none;background:none;border:1px solid var(--line-d);border-radius:2px;padding:10px;cursor:pointer}
.burger span{display:block;width:18px;height:1.5px;background:#fff;margin:3.5px 0;transition:.25s}
/* ---------- FOOTER ---------- */
.ft{background:var(--deep);border-top:1px solid var(--line-d);padding:64px 0 30px}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.ft h5{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--emerald-lift);margin:0 0 18px}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.ft a{font-size:14.5px;color:rgba(255,255,255,.72);transition:.2s}
.ft a:hover{color:var(--emerald-lift)}
.ft .logo{margin-bottom:18px}
.ft-addr{font-family:var(--mono);font-size:11px;line-height:1.9;color:#84908E;letter-spacing:.04em}
.ft-bot{margin-top:52px;padding-top:22px;border-top:1px solid var(--line-d);display:flex;justify-content:space-between;
         gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:#84908E}
@media(max-width:720px){
.ft-grid{grid-template-columns:1fr}
.logo{width:112px;height:65px}
}
/* ---------- NAV DROPDOWN ---------- */
.nav{align-items:center}
.nav-i{position:relative}
.nav-l{
  display:flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.78);padding:6px 0;position:relative;cursor:pointer;
}
.hdr .nav-i>.nav-l{display:flex;padding:6px 0}
.hdr .lang-btn{min-height:0}
.hdr .hdr-cta{min-height:0;padding:15px 26px}
.nav-l::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--emerald-lift);transition:width .3s}
.nav-i:hover>.nav-l,.nav-i[data-open="1"]>.nav-l{color:#fff}
.nav-i:hover>.nav-l::after,.nav-i[data-open="1"]>.nav-l::after{width:100%}
.nchev{flex:none;transition:transform .25s;opacity:.75}
.nav-i:hover>.nav-l .nchev,.nav-i[data-open="1"]>.nav-l .nchev{transform:rotate(180deg)}
.nchev--r{transform:none!important;margin-left:auto}
.sub,.sub2{
  position:absolute;background:#0C1312;border:1px solid var(--line-d);border-radius:2px;
  min-width:244px;padding:6px 0;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.22s;z-index:70;
}
.sub{left:-14px;top:calc(100% + 10px)}
.sub--wide{min-width:330px}
.nav-i:hover>.sub,.nav-i[data-open="1"]>.sub{opacity:1;visibility:visible;transform:none}
.sub a{
  display:flex;align-items:center;gap:10px;padding:11px 16px;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.8);transition:.2s;
}
.sub a:hover{background:rgba(37,144,142,.22);color:var(--emerald-lift)}
.sub-i{position:relative}
.sub2{left:100%;top:-7px}
.sub-i:hover>.sub2,.sub-i:focus-within>.sub2,.sub-i[data-open="1"]>.sub2{opacity:1;visibility:visible;transform:none}
.sub-i:hover>a{background:rgba(37,144,142,.22);color:var(--emerald-lift)}
.sub2 a{display:flex;padding:11px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.8);transition:.2s}
.sub2 a:hover{background:rgba(37,144,142,.22);color:var(--emerald-lift)}
/* ---------- MOBILE NAV ---------- */
.mnav{display:none}
.burger.on span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
@media(max-width:1120px){
.nav{display:none}
.hdr-cta{display:none}
.burger{display:block;margin-left:0;min-width:44px;min-height:44px}
.lang{margin-left:auto}
.hdr .lang-btn{min-height:44px}
.mnav{
    display:block;max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.2,.7,.3,1);
    background:rgba(6,10,9,.97);border-top:1px solid transparent;
  }
.mnav.open{max-height:calc(100dvh - 84px);overflow-y:auto;border-top-color:var(--line-d);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.mnav>*{border-bottom:1px solid var(--line-d)}
.mnav-l,.macc-h{
    display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;
    background:none;border:0;color:#fff;text-align:left;cursor:pointer;
    padding:15px var(--pad);min-height:52px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  }
.macc-b{max-height:0;overflow:hidden;transition:max-height .32s cubic-bezier(.2,.7,.3,1);background:rgba(255,255,255,.03)}
.macc.open>.macc-b{max-height:620px}
.macc.open>.macc-h .nchev{transform:rotate(180deg)}
.macc-b>a{
    display:block;padding:13px var(--pad) 13px calc(var(--pad) + 18px);
    border-top:1px solid var(--line-d);
    min-height:48px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:rgba(255,255,255,.82);
  }
.macc-b>a:hover{color:var(--emerald-lift)}
.macc--in{border-top:1px solid var(--line-d)}
.macc--in>.macc-h{padding-left:calc(var(--pad) + 18px);font-size:11.5px;color:var(--emerald-lift)}
.macc--in .macc-b>a{padding-left:calc(var(--pad) + 36px)}
}
.nav-l{white-space:nowrap}
.lang-btn{min-height:44px;min-width:72px}
.lang-menu button{min-height:44px}
/* ---------- WhatsApp floating widget ---------- */
.wa-fab{
  position:fixed; right:24px; bottom:24px;
  bottom:calc(24px + env(safe-area-inset-bottom,0px));
  z-index:900;
  display:flex; align-items:center; gap:10px;
  text-decoration:none; color:var(--ink,#f4f6f6);
}
.wa-fab-label{
  font-family:inherit; font-size:13px; letter-spacing:.01em; line-height:1;
  padding:10px 14px; border-radius:999px; white-space:nowrap;
  background:rgba(10,12,12,.92); border:1px solid rgba(45,212,191,.28);
  color:#fff; backdrop-filter:blur(6px);
  opacity:0; transform:translateX(8px); pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
}
.wa-fab.is-hint .wa-fab-label,.wa-fab:hover .wa-fab-label,.wa-fab:focus-visible .wa-fab-label{ opacity:1; transform:translateX(0); }
.wa-fab-btn{
  width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center;
  background:radial-gradient(120% 120% at 30% 20%, #14201f 0%, #070909 70%);
  border:1px solid rgba(45,212,191,.35);
  box-shadow:0 0 0 0 rgba(45,212,191,.22), 0 8px 24px rgba(0,0,0,.5);
  color:#2dd4bf;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.wa-fab:hover .wa-fab-btn,.wa-fab:focus-visible .wa-fab-btn{
  transform:translateY(-2px);
  border-color:rgba(45,212,191,.6);
  box-shadow:0 0 22px rgba(45,212,191,.28), 0 10px 26px rgba(0,0,0,.55);
}
.wa-fab.is-hint .wa-fab-btn{ box-shadow:0 0 18px rgba(45,212,191,.22), 0 8px 24px rgba(0,0,0,.5); }
.wa-fab:focus-visible{outline:2px solid var(--emerald-lift);outline-offset:4px}
body.ck-lock .wa-fab{display:none}
@media (max-width:640px){
.wa-fab{ right:14px; bottom:calc(14px + env(safe-area-inset-bottom,0px)); }
.wa-fab .wa-fab-label{ display:none; }
.wa-fab-btn{ width:48px; height:48px; }
.ft{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){
.wa-fab-label,.wa-fab-btn{ transition:none; }
}
.ft-grid .ft-h2{ margin-top:22px; }
