/* =========================================================================
   FREQUENCY — Brand stylesheet (Music & Language School)
   Adattamento del tema Masco. Caricato per ultimo per sovrascrivere lo stile.
   Le regole di layout della homepage sono incapsulate sotto .frequency-site
   per non alterare blog, shop, archivi o altri template del tema.
   ========================================================================= */

:root{
  --frequency-dark:#07111F;
  --frequency-dark-2:#0B172A;
  --frequency-cyan:#00D4FF;
  --frequency-pink:#FF2D7A;
  --frequency-purple:#7C3AED;
  --frequency-light:#F6F8FC;
  --frequency-white:#FFFFFF;
  --frequency-text:#172033;
  --frequency-muted:#667085;

  --frequency-gradient:linear-gradient(135deg,#00D4FF 0%,#7C3AED 55%,#FF2D7A 100%);
  --frequency-gradient-soft:linear-gradient(135deg,rgba(0,212,255,.14),rgba(124,58,237,.14),rgba(255,45,122,.14));
  --frequency-border:1px solid rgba(23,32,51,.08);
  --frequency-radius:18px;
  --frequency-radius-sm:12px;
  --frequency-shadow:0 18px 50px -24px rgba(11,23,42,.35);
  --frequency-shadow-card:0 12px 34px -18px rgba(11,23,42,.28);
  --frequency-font-display:'Space Grotesk','Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --frequency-font-body:'Inter','Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ---------- Base ---------- */
.frequency-site{
  font-family:var(--frequency-font-body);
  color:var(--frequency-text);
  font-size:17px;
  line-height:1.7;
  background:var(--frequency-white);
  overflow-x:hidden;
}
.frequency-site *{box-sizing:border-box;}
.frequency-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Tipografia & gerarchia ---------- */
.frequency-site h1,.frequency-site h2,.frequency-site h3,.frequency-site h4{
  font-family:var(--frequency-font-display);
  color:var(--frequency-text);
  margin:0 0 .5em;
  font-weight:700;
  letter-spacing:-.01em;
}
.frequency-site h1{font-size:62px;line-height:1.08;}
.frequency-site h2{font-size:44px;line-height:1.12;}
.frequency-site h3{font-size:25px;line-height:1.25;}
.frequency-site p{margin:0 0 1rem;}
.frequency-eyebrow{
  display:inline-block;
  font-family:var(--frequency-font-display);
  font-weight:600;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--frequency-purple);
  margin-bottom:14px;
}
.frequency-site .frequency-dark-block .frequency-eyebrow{color:var(--frequency-cyan);}
.frequency-lead{
  font-size:19px;
  color:var(--frequency-muted);
  max-width:680px;
}
.frequency-gradient-text{
  background:var(--frequency-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}

/* ---------- Sezioni ---------- */
.frequency-section{padding:100px 0;}
.frequency-section--tight{padding:80px 0;}
.frequency-dark{background:var(--frequency-dark);color:#E6EDF7;}
.frequency-dark-block{background:var(--frequency-dark-2);color:#E6EDF7;}
.frequency-light-block{background:var(--frequency-light);}
.frequency-dark h1,.frequency-dark h2,.frequency-dark h3,
.frequency-dark-block h1,.frequency-dark-block h2,.frequency-dark-block h3{color:#fff;}
.frequency-section-head{max-width:720px;margin:0 0 56px;}
.frequency-section-head.is-center{margin-left:auto;margin-right:auto;text-align:center;}
.frequency-section-head .frequency-lead{margin-left:0;}
.frequency-section-head.is-center .frequency-lead{margin-left:auto;margin-right:auto;}

/* ---------- Bottoni ---------- */
.frequency-button,.frequency-outline-button{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--frequency-font-display);
  font-weight:600;font-size:16px;line-height:1;
  padding:16px 30px;border-radius:999px;
  text-decoration:none;cursor:pointer;border:0;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.frequency-button{
  color:#fff;background:var(--frequency-gradient);
  background-size:160% 160%;
  box-shadow:0 14px 30px -12px rgba(124,58,237,.6);
}
.frequency-button:hover{transform:translateY(-2px);background-position:100% 0;color:#fff;box-shadow:0 18px 38px -12px rgba(255,45,122,.55);}
.frequency-outline-button{
  color:var(--frequency-text);background:transparent;
  border:1.5px solid rgba(23,32,51,.22);
}
.frequency-outline-button:hover{border-color:var(--frequency-purple);color:var(--frequency-purple);transform:translateY(-2px);}
.frequency-dark .frequency-outline-button,
.frequency-dark-block .frequency-outline-button{color:#fff;border-color:rgba(255,255,255,.35);}
.frequency-dark .frequency-outline-button:hover,
.frequency-dark-block .frequency-outline-button:hover{border-color:var(--frequency-cyan);color:var(--frequency-cyan);}
.frequency-btn-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.frequency-wa-ico{width:18px;height:18px;fill:currentColor;}

/* ---------- Onde / equalizzatore (sfondo decorativo) ---------- */
.frequency-wave-bg{position:relative;overflow:hidden;}
.frequency-wave-bg::before,
.frequency-wave-bg::after{
  content:"";position:absolute;border-radius:50%;
  filter:blur(70px);opacity:.55;pointer-events:none;z-index:0;
}
.frequency-wave-bg::before{width:480px;height:480px;top:-160px;right:-120px;background:radial-gradient(circle,rgba(0,212,255,.55),transparent 65%);}
.frequency-wave-bg::after{width:520px;height:520px;bottom:-220px;left:-140px;background:radial-gradient(circle,rgba(255,45,122,.5),transparent 65%);}
.frequency-wave-bg>*{position:relative;z-index:1;}
.frequency-eq{display:flex;align-items:flex-end;gap:5px;height:46px;}
.frequency-eq span{width:5px;border-radius:6px;background:var(--frequency-gradient);animation:frequency-eq 1.4s ease-in-out infinite;}
.frequency-eq span:nth-child(1){height:40%;animation-delay:0s}
.frequency-eq span:nth-child(2){height:75%;animation-delay:.15s}
.frequency-eq span:nth-child(3){height:55%;animation-delay:.3s}
.frequency-eq span:nth-child(4){height:95%;animation-delay:.1s}
.frequency-eq span:nth-child(5){height:60%;animation-delay:.25s}
.frequency-eq span:nth-child(6){height:85%;animation-delay:.05s}
.frequency-eq span:nth-child(7){height:45%;animation-delay:.35s}
@keyframes frequency-eq{0%,100%{transform:scaleY(.5)}50%{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.frequency-eq span{animation:none}}

/* ---------- Hero ---------- */
.frequency-hero{
  background:radial-gradient(120% 120% at 80% 0%,#0B1B33 0%,var(--frequency-dark) 55%);
  color:#E6EDF7;padding:118px 0 104px;
}
.frequency-hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
}
.frequency-hero h1{color:#fff;margin-bottom:22px;}
.frequency-hero .frequency-lead{color:#AEBED4;font-size:20px;max-width:560px;}
.frequency-hero-badge{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;
  padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;
  color:#CFE6FF;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
}
.frequency-hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--frequency-cyan);box-shadow:0 0 10px var(--frequency-cyan);}
.frequency-hero-visual{display:flex;justify-content:center;align-items:center;position:relative;}
.frequency-hero-visual img{
  width:100%;max-width:440px;border-radius:28px;
  box-shadow:0 40px 90px -30px rgba(0,212,255,.4);
}
.frequency-hero-stats{display:flex;gap:34px;margin-top:38px;flex-wrap:wrap;}
.frequency-hero-stats .num{font-family:var(--frequency-font-display);font-size:30px;font-weight:700;color:#fff;}
.frequency-hero-stats .lbl{font-size:14px;color:#9DB0CA;}

/* ---------- Grid layouts ---------- */
.frequency-path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.frequency-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.frequency-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.frequency-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

/* ---------- Card ---------- */
.frequency-card{
  background:var(--frequency-white);
  border:var(--frequency-border);
  border-radius:var(--frequency-radius);
  padding:30px;
  box-shadow:var(--frequency-shadow-card);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  position:relative;overflow:hidden;
}
.frequency-card:hover{transform:translateY(-6px);box-shadow:var(--frequency-shadow);}
.frequency-card h3{margin-bottom:8px;}
.frequency-card p{color:var(--frequency-muted);font-size:16px;margin:0;}
.frequency-card-ico{
  width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:24px;margin-bottom:18px;color:#fff;background:var(--frequency-gradient);
}
.frequency-card-tag{
  display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;margin-bottom:14px;
}

/* Path cards (Musica / Lingue) */
.frequency-path-card{
  padding:40px;border-radius:24px;color:#fff;position:relative;overflow:hidden;
  min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:var(--frequency-shadow);
}
.frequency-path-card h3{font-size:30px;color:#fff;}
.frequency-path-card p{font-size:17px;color:rgba(255,255,255,.9);}
.frequency-path-card .frequency-card-tag{background:rgba(255,255,255,.18);color:#fff;}
.frequency-path-card .frequency-card-ico{background:rgba(255,255,255,.16);}
.frequency-path-card a{color:#fff;font-weight:600;text-decoration:none;margin-top:18px;display:inline-flex;gap:8px;align-items:center;}
.frequency-music-card{background:linear-gradient(150deg,#7C3AED 0%,#FF2D7A 100%);}
.frequency-language-card{background:linear-gradient(150deg,#0B63E5 0%,#00D4FF 100%);}

/* Course cards accents */
.frequency-music-accent .frequency-card-ico{background:linear-gradient(135deg,#7C3AED,#FF2D7A);}
.frequency-music-accent .frequency-card-tag{background:rgba(124,58,237,.12);color:var(--frequency-purple);}
.frequency-music-accent:hover{border-color:rgba(124,58,237,.4);}
.frequency-language-accent .frequency-card-ico{background:linear-gradient(135deg,#0B63E5,#00D4FF);}
.frequency-language-accent .frequency-card-tag{background:rgba(0,162,212,.12);color:#0481a8;}
.frequency-language-accent:hover{border-color:rgba(0,212,255,.45);}
.frequency-card-level{font-size:13px;color:var(--frequency-muted);margin-top:14px;display:block;font-weight:500;}

/* ---------- Process (come funziona) ---------- */
.frequency-process{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.frequency-step{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);
  border-radius:var(--frequency-radius);padding:30px;position:relative;
}
.frequency-step .num{
  font-family:var(--frequency-font-display);font-size:15px;font-weight:700;letter-spacing:.05em;
  color:var(--frequency-dark);background:var(--frequency-cyan);
  width:auto;display:inline-block;padding:5px 12px;border-radius:8px;margin-bottom:18px;
}
.frequency-step h3{font-size:20px;color:#fff;}
.frequency-step p{color:#A9BBD4;font-size:15px;margin:0;}

/* ---------- Metodo (two col) ---------- */
.frequency-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.frequency-checklist{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px;}
.frequency-checklist li{display:flex;gap:12px;align-items:flex-start;font-size:17px;}
.frequency-checklist li::before{
  content:"";flex:0 0 24px;width:24px;height:24px;border-radius:50%;margin-top:1px;
  background:var(--frequency-gradient);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/16px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/16px no-repeat;
}
.frequency-method-visual{
  border-radius:24px;padding:46px;color:#fff;background:var(--frequency-dark-2);
  border:1px solid rgba(255,255,255,.08);box-shadow:var(--frequency-shadow);
}

/* ---------- CTA banner ---------- */
.frequency-cta{
  border-radius:28px;padding:64px 56px;text-align:center;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(120% 140% at 50% 0%,#1A2C4D,var(--frequency-dark));
  box-shadow:var(--frequency-shadow);
}
.frequency-cta h2{color:#fff;}
.frequency-cta .frequency-lead{color:#B7C6DD;margin:0 auto 30px;}
.frequency-cta .frequency-btn-row{justify-content:center;}

/* ---------- Audience ---------- */
.frequency-audience-card{text-align:left;}
.frequency-audience-card .frequency-card-ico{background:var(--frequency-gradient-soft);color:var(--frequency-purple);font-size:26px;}

/* ---------- FAQ ---------- */
.frequency-faq{max-width:840px;margin:0 auto;display:grid;gap:14px;}
.frequency-faq details{
  background:var(--frequency-white);border:var(--frequency-border);border-radius:var(--frequency-radius-sm);
  padding:4px 24px;box-shadow:var(--frequency-shadow-card);
}
.frequency-faq summary{
  list-style:none;cursor:pointer;padding:20px 0;font-family:var(--frequency-font-display);
  font-weight:600;font-size:18px;color:var(--frequency-text);
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.frequency-faq summary::-webkit-details-marker{display:none;}
.frequency-faq summary::after{content:"+";font-size:26px;color:var(--frequency-purple);line-height:1;transition:transform .2s ease;}
.frequency-faq details[open] summary::after{transform:rotate(45deg);}
.frequency-faq details p{color:var(--frequency-muted);margin:0 0 20px;font-size:16px;}

/* ---------- Contatti ---------- */
.frequency-contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.frequency-contact-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:20px;}
.frequency-contact-list li{display:flex;gap:16px;align-items:flex-start;}
.frequency-contact-ico{
  flex:0 0 46px;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--frequency-cyan);font-size:20px;
}
.frequency-contact .frequency-contact-ico{color:var(--frequency-cyan);}
.frequency-contact-list .lbl{font-size:13px;color:#9DB0CA;text-transform:uppercase;letter-spacing:.08em;}
.frequency-contact-list .val{font-size:17px;color:#fff;font-weight:500;}
.frequency-contact-list a{color:#fff;text-decoration:none;}
.frequency-contact-list a:hover{color:var(--frequency-cyan);}
.frequency-form{
  background:var(--frequency-white);border-radius:24px;padding:36px;box-shadow:var(--frequency-shadow);
}
.frequency-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.frequency-form label{display:block;font-size:14px;font-weight:600;color:var(--frequency-text);margin:14px 0 6px;}
.frequency-form input,.frequency-form select,.frequency-form textarea{
  width:100%;padding:13px 15px;border:1px solid rgba(23,32,51,.14);border-radius:12px;
  font-family:var(--frequency-font-body);font-size:15px;color:var(--frequency-text);background:#fff;
}
.frequency-form input:focus,.frequency-form select:focus,.frequency-form textarea:focus{
  outline:none;border-color:var(--frequency-purple);box-shadow:0 0 0 3px rgba(124,58,237,.12);
}
.frequency-form textarea{min-height:120px;resize:vertical;}
.frequency-form .frequency-button{width:100%;justify-content:center;margin-top:22px;}
.frequency-map{margin-top:14px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12);}
.frequency-map iframe{width:100%;height:230px;border:0;display:block;}
.frequency-social{display:flex;gap:12px;margin-top:26px;}
.frequency-social a{
  width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:18px;
  transition:all .2s ease;
}
.frequency-social a:hover{background:var(--frequency-gradient);border-color:transparent;transform:translateY(-2px);}

/* ---------- Final CTA strip ---------- */
.frequency-final-cta{text-align:center;padding:84px 0;}
.frequency-final-cta h2{font-size:48px;margin-bottom:26px;}

/* ---------- Responsive ---------- */
@media(max-width:992px){
  .frequency-hero-grid,.frequency-method-grid,.frequency-contact{grid-template-columns:1fr;gap:40px;}
  .frequency-course-grid,.frequency-grid-3,.frequency-process{grid-template-columns:repeat(2,1fr);}
  .frequency-hero-visual{order:-1;}
  .frequency-hero-visual img{max-width:340px;}
}
@media(max-width:768px){
  .frequency-site h1,.frequency-hero h1{font-size:41px;}
  .frequency-site h2{font-size:32px;}
  .frequency-site h3{font-size:22px;}
  .frequency-final-cta h2{font-size:34px;}
  .frequency-section{padding:64px 0;}
  .frequency-section--tight{padding:56px 0;}
  .frequency-path-grid,.frequency-course-grid,.frequency-grid-2,.frequency-grid-3,
  .frequency-process,.frequency-contact{grid-template-columns:1fr;}
  .frequency-cta{padding:48px 24px;}
  .frequency-form .row{grid-template-columns:1fr;}
  .frequency-hero{padding:88px 0 72px;}
  .frequency-hero .frequency-lead{font-size:18px;}
}
@media(max-width:480px){
  .frequency-site h1,.frequency-hero h1{font-size:36px;}
  .frequency-container{padding:0 18px;}
  .frequency-btn-row .frequency-button,.frequency-btn-row .frequency-outline-button{width:100%;justify-content:center;}
}

/* =========================================================================
   FREQUENCY v1.1 — header/footer propri della homepage, fix accessibilità
   (regole in coda: stesso selettore = queste prevalgono per ordine sorgente)
   ========================================================================= */

/* ---- offset ancore sotto header sticky ---- */
.frequency-front{scroll-behavior:smooth;}
.frequency-site section[id]{scroll-margin-top:88px;}

/* ---- HEADER ---- */
.frequency-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(7,17,31,.92);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.admin-bar .frequency-header{top:32px;}
@media(max-width:782px){body.admin-bar .frequency-header{top:46px;}}
.frequency-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px;}
.frequency-brand{display:inline-flex;align-items:center;line-height:0;}
.frequency-brand img{height:34px;width:auto;display:block;}
.frequency-nav{display:flex;align-items:center;gap:26px;}
.frequency-nav a{
  font-family:var(--frequency-font-display);font-weight:500;font-size:15px;
  color:#D6E2F2;text-decoration:none;transition:color .2s ease;
}
.frequency-nav a:hover{color:var(--frequency-cyan);}
.frequency-button--sm{padding:11px 18px;font-size:14px;box-shadow:0 10px 22px -12px rgba(124,58,237,.7);}
.frequency-button--sm .frequency-wa-ico{width:16px;height:16px;}
.frequency-nav .frequency-button{color:#fff;}
.frequency-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;}
.frequency-burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.25s;}
.frequency-nav-toggle{position:absolute;left:-9999px;}

@media(max-width:860px){
  .frequency-burger{display:flex;}
  .frequency-nav{
    position:absolute;top:74px;left:0;right:0;flex-direction:column;gap:4px;
    background:#07111F;border-bottom:1px solid rgba(255,255,255,.08);
    padding:14px 24px 22px;align-items:stretch;
    max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:.25s ease;
  }
  body.admin-bar .frequency-nav{top:120px;}
  .frequency-nav a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:16px;}
  .frequency-nav .frequency-button{margin-top:12px;justify-content:center;}
  .frequency-nav-toggle:checked ~ .frequency-header .frequency-nav,
  .frequency-header:has(.frequency-nav-toggle:checked) .frequency-nav{max-height:520px;opacity:1;pointer-events:auto;}
}
/* toggle senza :has() — fallback con sibling sul wrapper */
#frq-nav-toggle:checked + .frequency-header .frequency-nav{max-height:520px;opacity:1;pointer-events:auto;}

/* ---- OUTLINE BUTTON: ora ben visibile ---- */
.frequency-outline-button{
  background:#FFFFFF;
  border:1.6px solid rgba(23,32,51,.18);
  color:var(--frequency-text);
  box-shadow:var(--frequency-shadow-card);
}
.frequency-outline-button:hover{
  border-color:var(--frequency-purple);
  color:var(--frequency-purple);
  background:#FFFFFF;
  transform:translateY(-2px);
}
/* su sfondi scuri (hero, sezioni dark, CTA): riempimento semitrasparente + bordo chiaro */
.frequency-hero .frequency-outline-button,
.frequency-dark .frequency-outline-button,
.frequency-dark-block .frequency-outline-button,
.frequency-cta .frequency-outline-button,
.frequency-final-cta .frequency-outline-button{
  background:rgba(255,255,255,.10);
  border:1.6px solid rgba(255,255,255,.6);
  color:#FFFFFF;box-shadow:none;
}
.frequency-hero .frequency-outline-button:hover,
.frequency-dark .frequency-outline-button:hover,
.frequency-dark-block .frequency-outline-button:hover,
.frequency-cta .frequency-outline-button:hover,
.frequency-final-cta .frequency-outline-button:hover{
  background:rgba(0,212,255,.16);border-color:var(--frequency-cyan);color:#fff;
}

/* ---- PROCESS STEPS: card solide e leggibili ---- */
.frequency-step{
  background:#0D1D36;
  border:1px solid rgba(255,255,255,.12);
  border-top:3px solid transparent;
  border-image:linear-gradient(135deg,#00D4FF,#7C3AED,#FF2D7A) 1;
  border-radius:var(--frequency-radius);
  padding:30px 28px;box-shadow:0 18px 40px -26px rgba(0,0,0,.8);
}
.frequency-step .num{
  display:inline-block;font-family:var(--frequency-font-display);font-weight:700;font-size:15px;
  color:#07111F;background:var(--frequency-cyan);padding:6px 12px;border-radius:8px;margin-bottom:16px;
  box-shadow:0 0 18px rgba(0,212,255,.45);
}
.frequency-step h3{font-size:20px;color:#fff;margin-bottom:8px;}
.frequency-step p{color:#C4D2E6;font-size:15px;margin:0;}

/* ---- PATH CARD: una sola freccia (annulla eventuali frecce ereditate dal tema) ---- */
.frequency-path-card a::before{content:none !important;}
.frequency-path-card a i,
.frequency-path-card a svg{display:none !important;}
.frequency-path-card a::after{
  content:"→";margin-left:8px;display:inline-block;transition:transform .2s ease;
  font-family:inherit;font-weight:600;
}
.frequency-path-card a:hover::after{transform:translateX(4px);}

/* ---- card "CTA" interne alle griglie corsi ---- */
.frequency-card--cta{
  display:flex;flex-direction:column;justify-content:center;
  background:var(--frequency-light);box-shadow:none;border:1.5px dashed rgba(124,58,237,.4);
}
.frequency-card--cta .frequency-outline-button{align-self:flex-start;margin-top:16px;}

/* ---- FOOTER FREQUENCY ---- */
.frequency-footer{background:#07111F;color:#AEBED4;padding:64px 0 28px;border-top:1px solid rgba(255,255,255,.07);}
.frequency-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;}
.frequency-footer-logo{height:30px;width:auto;margin-bottom:16px;}
.frequency-footer-brand p{font-size:15px;color:#9DB0CA;max-width:320px;}
.frequency-footer h4{font-family:var(--frequency-font-display);color:#fff;font-size:15px;letter-spacing:.04em;margin:0 0 16px;}
.frequency-footer-col{display:flex;flex-direction:column;gap:10px;}
.frequency-footer-col a,.frequency-footer-addr{color:#9DB0CA;text-decoration:none;font-size:15px;transition:color .2s ease;}
.frequency-footer-col a:hover{color:var(--frequency-cyan);}
.frequency-footer .frequency-social{margin-top:18px;}
.frequency-footer-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);
  font-size:14px;color:#7C8BA5;
}
.frequency-footer-bottom a{color:#9DB0CA;text-decoration:none;}
.frequency-footer-bottom a:hover{color:var(--frequency-cyan);}
@media(max-width:860px){.frequency-footer-grid{grid-template-columns:1fr 1fr;gap:30px;}}
@media(max-width:560px){.frequency-footer-grid{grid-template-columns:1fr;}}

/* il method visual h3/p restano leggibili anche dopo override */
.frequency-method-visual h3{margin-top:26px;color:#fff;}
.frequency-method-visual p{color:#A9BBD4;margin:0;}

/* =========================================================================
   FREQUENCY v1.2 — step a prova di conflitto con il CSS di Masco
   (rimuove border-image, usa una barra superiore con ::before; reset difensivi)
   ========================================================================= */
.frequency-process{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;align-items:stretch;}
.frequency-process > *{float:none;min-width:0;}
.frequency-step{
  position:relative;
  background:#0D1D36 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-image:none !important;
  border-radius:var(--frequency-radius) !important;
  padding:34px 28px 30px !important;
  overflow:hidden;
  box-shadow:0 18px 40px -26px rgba(0,0,0,.85) !important;
}
.frequency-step::before{
  content:"" !important;position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--frequency-gradient);border:0;margin:0;
}
.frequency-step::after{content:none !important;display:none !important;}
@media(max-width:992px){.frequency-process{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.frequency-process{grid-template-columns:1fr;}}

/* =========================================================================
   FREQUENCY v2.0 — TEMA STANDALONE
   Base globale (il tema non dipende piu da reset/bootstrap di altri temi)
   + stili pagine interne, blog, commenti, ricerca.
   ========================================================================= */

/* ---- Reset & base ---- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--frequency-font-body);
  font-size:17px;line-height:1.7;
  color:var(--frequency-text);
  background:var(--frequency-white);
}
img{max-width:100%;height:auto;}
a{color:var(--frequency-purple);}
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;
  margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important;
}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:#fff;padding:10px 16px;}
.skip-link:focus{left:8px;top:8px;}

/* ---- Menu del tema (wp_nav_menu) ---- */
.frequency-menu{list-style:none;display:flex;align-items:center;gap:26px;margin:0;padding:0;}
.frequency-menu li{position:relative;}
.frequency-menu a{
  font-family:var(--frequency-font-display);font-weight:500;font-size:15px;
  color:#D6E2F2;text-decoration:none;transition:color .2s ease;
}
.frequency-menu a:hover{color:var(--frequency-cyan);}
.frequency-menu .sub-menu{
  list-style:none;margin:0;padding:10px;display:none;position:absolute;top:100%;left:0;min-width:200px;
  background:#0B172A;border:1px solid rgba(255,255,255,.1);border-radius:12px;flex-direction:column;gap:2px;
}
.frequency-menu li:hover>.sub-menu,.frequency-menu li:focus-within>.sub-menu{display:flex;}
.frequency-menu .sub-menu a{display:block;padding:9px 12px;border-radius:8px;}
.frequency-menu .sub-menu a:hover{background:rgba(255,255,255,.06);}
.frequency-brand img,.frequency-brand .custom-logo{height:34px;width:auto;display:block;}
.frequency-header.is-scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.7);}

/* ---- Container stretto per contenuti testuali ---- */
.frequency-container--narrow{max-width:780px;}

/* ---- Hero pagine interne ---- */
.frequency-page-hero{
  background:radial-gradient(120% 140% at 80% 0%,#0B1B33 0%,var(--frequency-dark) 60%);
  color:#fff;padding:84px 0 56px;
}
.frequency-page-hero h1{color:#fff;font-size:44px;margin:0;}
.frequency-page-hero .frequency-post-meta{margin-bottom:14px;}

/* ---- Contenuto articolo/pagina ---- */
.frequency-entry{padding:64px 0 90px;}
.frequency-entry-content{font-size:17px;}
.frequency-entry-content h2{font-size:32px;margin-top:1.6em;}
.frequency-entry-content h3{font-size:24px;margin-top:1.4em;}
.frequency-entry-content p{margin:0 0 1.15em;}
.frequency-entry-content ul,.frequency-entry-content ol{margin:0 0 1.15em;padding-left:1.3em;}
.frequency-entry-content blockquote{
  margin:1.6em 0;padding:18px 24px;border-left:4px solid var(--frequency-purple);
  background:var(--frequency-light);border-radius:0 12px 12px 0;color:var(--frequency-muted);
}
.frequency-entry-content img{border-radius:14px;}
.frequency-entry-content a{color:var(--frequency-purple);}
.alignwide{margin-left:-60px;margin-right:-60px;max-width:none;}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;}
@media(max-width:992px){.alignwide{margin-left:0;margin-right:0;}}
.frequency-post-thumb{margin:0 0 30px;}
.frequency-post-thumb img{border-radius:18px;width:100%;}
.frequency-post-meta{
  display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px;letter-spacing:.04em;
  text-transform:uppercase;color:#8FA3C0;font-weight:500;
}
.frequency-post-meta a{color:var(--frequency-cyan);text-decoration:none;}
.frequency-tags{margin-top:28px;display:flex;gap:8px;flex-wrap:wrap;}
.frequency-tags a{
  font-size:13px;padding:5px 12px;border-radius:999px;text-decoration:none;
  background:rgba(124,58,237,.1);color:var(--frequency-purple);
}
.frequency-post-nav{
  display:flex;justify-content:space-between;gap:18px;margin-top:40px;padding-top:24px;
  border-top:1px solid rgba(23,32,51,.1);
}
.frequency-post-nav a{color:var(--frequency-text);text-decoration:none;font-weight:600;font-family:var(--frequency-font-display);}
.frequency-post-nav a:hover{color:var(--frequency-purple);}

/* ---- Blog grid ---- */
.frequency-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.frequency-post-card{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.frequency-post-card-thumb{display:block;line-height:0;}
.frequency-post-card-thumb img{width:100%;height:200px;object-fit:cover;}
.frequency-post-card-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.frequency-post-card-body h3{font-size:20px;margin:0;}
.frequency-post-card-body h3 a{color:var(--frequency-text);text-decoration:none;}
.frequency-post-card-body h3 a:hover{color:var(--frequency-purple);}
.frequency-post-card-body p{margin:0;font-size:15px;}
.frequency-readmore{
  margin-top:auto;font-family:var(--frequency-font-display);font-weight:600;font-size:14.5px;
  color:var(--frequency-purple);text-decoration:none;
}
.frequency-readmore:hover{color:var(--frequency-pink);}
@media(max-width:992px){.frequency-blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.frequency-blog-grid{grid-template-columns:1fr;}}

/* ---- Paginazione ---- */
.frequency-pagination{margin-top:48px;text-align:center;}
.frequency-pagination .nav-links{display:inline-flex;gap:8px;align-items:center;}
.frequency-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;
  border-radius:12px;border:1px solid rgba(23,32,51,.14);color:var(--frequency-text);
  text-decoration:none;font-family:var(--frequency-font-display);font-weight:600;font-size:15px;
}
.frequency-pagination .page-numbers.current{background:var(--frequency-gradient);color:#fff;border-color:transparent;}
.frequency-pagination .page-numbers:hover:not(.current){border-color:var(--frequency-purple);color:var(--frequency-purple);}

/* ---- Form di ricerca ---- */
.frequency-searchform{display:flex;gap:10px;}
.frequency-searchform input[type=search]{
  flex:1;padding:13px 15px;border:1px solid rgba(23,32,51,.16);border-radius:12px;
  font-family:var(--frequency-font-body);font-size:15px;
}
.frequency-searchform input[type=search]:focus{outline:none;border-color:var(--frequency-purple);box-shadow:0 0 0 3px rgba(124,58,237,.12);}

/* ---- Commenti ---- */
.frequency-comments{margin-top:56px;padding-top:32px;border-top:1px solid rgba(23,32,51,.1);}
.frequency-comments-title{font-size:24px;}
.frequency-comments .comment-list{list-style:none;margin:0 0 30px;padding:0;}
.frequency-comments .comment-list .comment{padding:18px 0;border-bottom:1px solid rgba(23,32,51,.08);}
.frequency-comments .comment-list .children{list-style:none;padding-left:34px;}
.frequency-comments .avatar{border-radius:50%;margin-right:10px;vertical-align:middle;}
.frequency-comments .comment-metadata{font-size:13px;color:var(--frequency-muted);}
.frequency-comments .comment-metadata a{color:var(--frequency-muted);text-decoration:none;}
.frequency-comments .reply a{font-size:13.5px;font-weight:600;color:var(--frequency-purple);text-decoration:none;}
.frequency-comments input[type=text],.frequency-comments input[type=email],
.frequency-comments input[type=url],.frequency-comments textarea{
  width:100%;padding:12px 14px;border:1px solid rgba(23,32,51,.16);border-radius:12px;
  font-family:var(--frequency-font-body);font-size:15px;margin-bottom:12px;
}
.frequency-comments .submit{
  display:inline-flex;align-items:center;font-family:var(--frequency-font-display);font-weight:600;font-size:15px;
  color:#fff;background:var(--frequency-gradient);border:0;border-radius:999px;padding:14px 28px;cursor:pointer;
}

/* ---- Classi core WordPress richieste ---- */
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:13.5px;color:var(--frequency-muted);text-align:center;margin-top:6px;}
.sticky{display:block;}
.gallery-caption{display:block;}
.bypostauthor{display:block;}

/* ---- Mobile hero pagine interne ---- */
@media(max-width:768px){
  .frequency-page-hero{padding:56px 0 40px;}
  .frequency-page-hero h1{font-size:32px;}
  .frequency-entry{padding:48px 0 64px;}
}

/* menu mobile: la lista wp_nav_menu si impila in colonna */
@media(max-width:860px){
  .frequency-menu{flex-direction:column;align-items:stretch;gap:0;width:100%;}
  .frequency-menu a{display:block;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:16px;}
  .frequency-menu .sub-menu{position:static;display:flex;background:transparent;border:0;padding-left:14px;}
}
