/* Corsi Download — identità propria: neri neutri, un solo accento ambra, angoli vivi.
   Si carica per ultimo e sistema i punti dove il tema nasceva chiaro. */

/* ---------- 1. superfici ---------- */
body { background: var(--sc-paper); color: var(--sc-text); }

/* i blocchi "ink" nel tema chiaro erano pannelli scuri su pagina bianca:
   qui restano scuri, ma su fondo scuro vanno staccati con un bordo, non col colore */
.sc-on-ink, .sc-section--ink {
  background: var(--sc-paper-2);
  color: var(--sc-text);
  border-top: 1px solid var(--sc-rule-soft);
  border-bottom: 1px solid var(--sc-rule-soft);
}
.sc-on-ink h1, .sc-on-ink h2, .sc-on-ink h3,
.sc-section--ink h1, .sc-section--ink h2, .sc-section--ink h3 { color: var(--sc-ink); }

h1, h2, h3, h4 { color: var(--sc-ink); }

/* ---------- 2. bottoni: ambra con testo scuro, mai bianco su bianco ---------- */
.sc-btn {
  background: var(--sc-accent);
  border-color: var(--sc-accent);
  color: var(--sc-su-accento);
  font-family: var(--sc-display);
  font-weight: 650;
  letter-spacing: 0.01em;
  border-radius: 0;
}
.sc-btn:hover { background: var(--sc-accent-ink); border-color: var(--sc-accent-ink); color: var(--sc-su-accento); }
.sc-btn--accent { background: var(--sc-accent); border-color: var(--sc-accent); color: var(--sc-su-accento); }
.sc-btn--ghost { background: transparent; color: var(--sc-ink); border-color: var(--sc-leader); }
.sc-btn--ghost:hover { background: var(--sc-ink); color: var(--sc-paper); border-color: var(--sc-ink); }
.sc-on-ink .sc-btn, .sc-section--ink .sc-btn {
  background: var(--sc-accent); border-color: var(--sc-accent); color: var(--sc-su-accento);
}
.sc-on-ink .sc-btn:hover, .sc-section--ink .sc-btn:hover { background: var(--sc-accent-ink); color: var(--sc-su-accento); }

/* ---------- 3. campi ---------- */
.sc-input, .sc-select, .sc-textarea {
  background: var(--sc-paper-3);
  color: var(--sc-ink);
  border: 1px solid var(--sc-rule-soft);
  border-radius: 0;
}
.sc-input::placeholder, .sc-textarea::placeholder { color: var(--sc-muted); }
.sc-input:focus, .sc-select:focus, .sc-textarea:focus {
  border-color: var(--sc-accent);
  outline: 2px solid rgba(245, 165, 36, 0.28);
  outline-offset: 0;
}

/* ---------- 4. schede corso: righe d'archivio ---------- */
.sc-card {
  background: var(--sc-paper-2);
  border: 1px solid var(--sc-rule-soft);
  border-radius: 0;
  box-shadow: none;
  transition: border-color var(--sc-ease);
}
.sc-card:hover { border-color: var(--sc-accent); transform: none; }
.sc-card__title { font-family: var(--sc-display); letter-spacing: -0.01em; color: var(--sc-ink); }
.sc-card__who, .sc-card__meta { color: var(--sc-muted); }

/* etichetta tecnica, stile indice di archivio */
.sc-eyebrow, .sc-kicker, .sc-card__meta {
  font-family: var(--sc-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sc-accent);
}

/* ---------- 5. prezzi: bianco il nostro, grigio barrato il listino ---------- */
.sc-price__now { color: var(--sc-ink); font-family: var(--sc-display); font-weight: 700; }
.sc-price__old { color: var(--sc-muted); }
.sc-badge, .sc-tag {
  border-radius: 0;
  border: 1px solid var(--sc-rule-soft);
  background: transparent;
  color: var(--sc-text);
  font-family: var(--sc-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.6875rem;
}
.sc-badge--sconto { border-color: var(--sc-accent); color: var(--sc-accent); }

/* ---------- 6. intestazione, navigazione, piede ---------- */
.sc-header { background: rgba(15, 17, 21, 0.94); border-bottom: 1px solid var(--sc-rule-soft); }
.sc-logo { font-family: var(--sc-display); letter-spacing: -0.02em; color: var(--sc-ink); }
.sc-logo b, .sc-logo strong, .sc-logo .sc-logo__ext { color: var(--sc-accent); }
.sc-nav a { color: var(--sc-text); }
.sc-nav a:hover, .sc-nav a[aria-current] { color: var(--sc-accent); }
.sc-footer { background: var(--sc-paper-2); border-top: 1px solid var(--sc-rule-soft); color: var(--sc-text); }
a { color: var(--sc-accent); }
a:hover { color: var(--sc-accent-ink); }

/* ---------- 7. tabelle ---------- */
.sc-table th {
  font-family: var(--sc-mono); font-size: 0.6875rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--sc-muted); text-align: left;
  border-bottom: 1px solid var(--sc-rule-soft); padding: 10px 12px;
}
.sc-table td { border-bottom: 1px solid var(--sc-rule-soft); padding: 12px; color: var(--sc-text); }
.sc-table tr:hover td { background: var(--sc-hover-bg); }

/* ---------- 8. angoli vivi: è il segno del sito ---------- */
.sc-btn, .sc-card, .sc-input, .sc-select, .sc-textarea, .sc-badge, .sc-tag,
.sc-box, .sc-panel, .sc-pack__card, .sc-note, .sc-alert, .sc-buy-box,
.sc-pkb-size, .sc-buy-opt { border-radius: 0 !important; }

/* ---------- 9. separatori ---------- */
.sc-section + .sc-section { border-top: 1px solid var(--sc-rule-soft); }
hr, .sc-hr { border: 0; border-top: 1px solid var(--sc-rule-soft); }

/* ---------- 10. barra promozionale: ambra piena, testo scuro ---------- */
.sc-promo, .promo-bar {
  background: var(--sc-accent) !important;
  color: var(--sc-su-accento) !important;
  font-family: var(--sc-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.75rem;
}
.sc-promo a, .promo-bar a, .sc-promo b, .promo-bar b { color: var(--sc-su-accento) !important; }
.sc-promo .sc-promo__code, .promo-bar [class*="code"] {
  background: var(--sc-su-accento) !important;
  color: var(--sc-accent) !important;
  border-radius: 0;
  padding: 2px 10px;
  font-weight: 700;
}

/* ---------- 11. box acquisto: nel tema chiaro era bianco ---------- */
.sc-buy-box { background: var(--sc-paper-2); border: 1px solid var(--sc-rule-soft); }
.sc-buy-box__lead { color: var(--sc-text); }
.sc-buy-opt { background: var(--sc-paper-3); border: 1px solid var(--sc-rule-soft); color: var(--sc-text); }
.sc-buy-opt--main { background: var(--sc-accent); border-color: var(--sc-accent); color: var(--sc-su-accento); }
.sc-buy-opt--main .sc-buy-opt__was, .sc-buy-opt--main .sc-buy-opt__desc { color: rgba(22, 18, 10, 0.72); }

/* ---------- 12. pack ---------- */
.sc-pkb-size { background: var(--sc-paper-2); border: 1px solid var(--sc-rule-soft); color: var(--sc-text); }
.sc-pkb-size.is-on { border-color: var(--sc-accent); background: var(--sc-accent-tint); }
.sc-pkb-size.is-on .sc-pkb-size__r { color: var(--sc-text); }
.sc-pkb-size__n, .sc-pack__price { color: var(--sc-ink); font-family: var(--sc-display); }

/* ============================================================
   13. HOME: impaginato proprio — banco di ricerca, fascia pack, indice
   Gli altri siti del gruppo hanno titolone a sinistra e pannello a destra.
   Qui la pagina si apre come un archivio: si cerca, poi si sfoglia l'indice.
   ============================================================ */

.cd-banco {
  border-bottom: 1px solid var(--sc-rule-soft);
  padding: clamp(40px, 7vw, 86px) 0 clamp(32px, 5vw, 56px);
  background:
    radial-gradient(60% 120% at 50% 0%, rgba(245, 165, 36, 0.07) 0%, transparent 70%),
    var(--sc-paper);
}
.cd-banco__meta {
  display: flex; flex-wrap: wrap; gap: 0 26px;
  font-family: var(--sc-mono); font-size: 0.6875rem; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--sc-muted); margin: 0 0 22px;
}
.cd-banco__meta span { position: relative; }
.cd-banco__meta span + span::before {
  content: ""; position: absolute; left: -15px; top: 50%;
  width: 4px; height: 4px; background: var(--sc-accent); transform: translateY(-50%);
}
.cd-banco__t {
  font-family: var(--sc-display);
  font-size: clamp(2.1rem, 5.4vw, 3.9rem);
  line-height: 1.04; letter-spacing: -0.03em; font-weight: 750;
  color: var(--sc-ink); margin: 0 0 16px; max-width: 18ch;
}
.cd-banco__lead {
  color: var(--sc-text); font-size: clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.6; max-width: 62ch; margin: 0 0 28px;
}
.cd-cerca { display: flex; max-width: 760px; border: 1px solid var(--sc-leader); background: var(--sc-paper-3); }
.cd-cerca__in {
  flex: 1; min-width: 0; border: 0; background: transparent; color: var(--sc-ink);
  padding: 17px 18px; font: inherit; font-size: 1.0625rem;
}
.cd-cerca__in::placeholder { color: var(--sc-muted); }
.cd-cerca__in:focus { outline: 2px solid var(--sc-accent); outline-offset: -2px; }
.cd-cerca__btn {
  border: 0; background: var(--sc-accent); color: var(--sc-su-accento);
  font-family: var(--sc-display); font-weight: 700; font-size: 1rem;
  padding: 0 30px; cursor: pointer; letter-spacing: 0.01em;
}
.cd-cerca__btn:hover { background: var(--sc-accent-ink); }

.cd-fascia { border-bottom: 1px solid var(--sc-rule-soft); background: var(--sc-paper-2); }
.cd-fascia__in {
  display: flex; align-items: center; gap: 18px 28px; flex-wrap: wrap;
  /* solo sopra e sotto: la scorciatoia azzerava il margine laterale del contenitore */
  padding-top: 16px; padding-bottom: 16px;
}
.cd-fascia__t {
  font-family: var(--sc-mono); font-size: 0.6875rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--sc-muted); margin: 0; flex: none;
}
.cd-fascia__opz { display: flex; gap: 10px; flex-wrap: wrap; flex: 1; }
.cd-fascia__o {
  display: inline-flex; align-items: baseline; gap: 10px;
  border: 1px solid var(--sc-rule-soft); padding: 9px 15px; text-decoration: none;
  color: var(--sc-text); transition: border-color var(--sc-ease), background var(--sc-ease);
}
.cd-fascia__o:hover { border-color: var(--sc-accent); background: var(--sc-hover-bg); color: var(--sc-text); }
.cd-fascia__o b { font-family: var(--sc-display); color: var(--sc-ink); font-size: 0.95rem; }
.cd-fascia__o span { font-family: var(--sc-display); color: var(--sc-accent); font-weight: 700; }
.cd-fascia__o em { font-style: normal; font-family: var(--sc-mono); font-size: 0.6875rem; color: var(--sc-muted); }
.cd-fascia__o.is-pop { border-color: var(--sc-accent); }
.cd-fascia__how {
  border: 0; background: none; color: var(--sc-accent); cursor: pointer;
  font: inherit; font-size: 0.875rem; text-decoration: underline; text-underline-offset: 3px;
}

.cd-indice { padding: clamp(36px, 5vw, 64px) 0; border-bottom: 1px solid var(--sc-rule-soft); }
.cd-indice__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 22px;
}
.cd-indice__h {
  font-family: var(--sc-display); font-size: clamp(1.3rem, 2.4vw, 1.75rem);
  letter-spacing: -0.02em; color: var(--sc-ink); margin: 0;
}
.cd-indice__all { font-family: var(--sc-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.cd-indice__l {
  list-style: none; margin: 0; padding: 0;
  columns: 4; column-gap: 34px;
}
.cd-indice__l li { break-inside: avoid; }
.cd-indice__l a {
  display: flex; align-items: baseline; gap: 8px; padding: 7px 0;
  border-bottom: 1px solid var(--sc-rule-soft); text-decoration: none; color: var(--sc-text);
}
.cd-indice__l a:hover { color: var(--sc-accent); }
.cd-indice__l a span {
  flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.9375rem;
}
.cd-indice__l a i {
  font-style: normal; font-family: var(--sc-mono); font-size: 0.6875rem; color: var(--sc-muted);
}
@media (max-width: 1100px) { .cd-indice__l { columns: 3; } }
@media (max-width: 780px) { .cd-indice__l { columns: 2; } .cd-banco__t { max-width: none; } }
@media (max-width: 520px) {
  .cd-indice__l { columns: 1; }
  .cd-cerca { flex-direction: column; }
  .cd-cerca__btn { padding: 14px; }
}

/* ---------- 14. correzioni viste a schermo ---------- */

/* le schede dentro le sezioni "ink" restavano chiare con testo chiaro */
.sc-section--ink .sc-card, .sc-on-ink .sc-card {
  background: var(--sc-paper-3);
  color: var(--sc-text);
  border-color: var(--sc-rule-soft);
}
.sc-section--ink .sc-card__title, .sc-on-ink .sc-card__title { color: var(--sc-ink); }
.sc-section--ink .sc-card__media, .sc-on-ink .sc-card__media {
  background: var(--sc-paper); border-bottom-color: var(--sc-rule-soft);
}
.sc-card { border-color: var(--sc-rule-soft); }

/* pillola di navigazione: testo scuro sull'ambra */
.sc-nav a.is-cta, .sc-nav .sc-nav__cta, .sc-nav a[class*="cta"],
.sc-navlink--pack, .sc-nav__pack {
  background: var(--sc-accent) !important;
  color: var(--sc-su-accento) !important;
  border-radius: 999px;
  font-weight: 650;
}

/* contatore del carrello */
.sc-cart__n, .sc-header [class*="cart"] [class*="badge"], .sc-cart-count {
  background: var(--sc-accent); color: var(--sc-su-accento);
  border-radius: 0; font-family: var(--sc-mono); font-size: 0.6875rem; font-weight: 700;
}

/* la fascia pack */
.cd-fascia__t { max-width: 15ch; line-height: 1.5; }
@media (max-width: 1240px) { .cd-fascia__t { max-width: none; width: 100%; } }
.sc-nav__link--pack {
  background: var(--sc-accent) !important;
  color: var(--sc-su-accento) !important;
  border-radius: 999px;
  font-weight: 650;
}
.sc-nav__link--pack:hover { background: var(--sc-accent-ink) !important; color: var(--sc-su-accento) !important; }

/* etichette dei pagamenti: erano riquadri chiari con testo chiaro */
.sc-pay__tag { background: var(--sc-accent-tint) !important; color: var(--sc-accent) !important;
  border: 1px solid var(--sc-accent); padding: 3px 9px; font-family: var(--sc-mono);
  font-size: 0.625rem; letter-spacing: 0.12em; text-transform: uppercase; }

/* ---------- 15. ultimi riquadri chiari con testo chiaro ---------- */
.sc-count { background: var(--sc-accent) !important; color: var(--sc-su-accento) !important;
  font-family: var(--sc-mono); font-size: 0.6875rem; font-weight: 700; border-radius: 0; }
.sc-card__prem, .sc-pd__prem {
  background: var(--sc-su-accento) !important; color: var(--sc-accent) !important;
  border: 1px solid var(--sc-accent); border-radius: 0;
  font-family: var(--sc-mono); font-size: 0.625rem; letter-spacing: 0.1em; text-transform: uppercase;
}
.sc-logo__dot { background: var(--sc-accent) !important; }

/* ---------- 16. campo di ricerca del catalogo: non si vedeva il riquadro ---------- */
.sc-search { background: var(--sc-paper-3); border: 1px solid var(--sc-rule-soft); border-radius: 0; }
.sc-search__input { background: transparent; color: var(--sc-ink); }
.sc-search__input::placeholder { color: var(--sc-muted); }
.sc-search__btn {
  background: var(--sc-accent); color: var(--sc-su-accento); border-radius: 0;
  font-family: var(--sc-display); font-weight: 650;
}
.sc-search__btn:hover { background: var(--sc-accent-ink); color: var(--sc-su-accento); }
.sc-search:focus-within { border-color: var(--sc-accent); }

/* ---------- 17. contrasti trovati col controllo automatico ---------- */
/* il bottone accento prendeva l'ambra scura: su testo scuro faceva 3,3 invece di 4,5 */
.sc-btn--accent, .sc-btn--accent:link, .sc-btn--accent:visited {
  background: var(--sc-accent) !important;
  border-color: var(--sc-accent) !important;
  color: var(--sc-su-accento) !important;
}
.sc-btn--accent:hover { background: var(--sc-accent-ink) !important; border-color: var(--sc-accent-ink) !important; }

/* etichetta "il più scelto": era bianca su ambra */
.sc-pk-tag, .sc-hpk__tag {
  background: var(--sc-su-accento) !important;
  color: var(--sc-accent) !important;
  border: 1px solid var(--sc-accent);
  font-family: var(--sc-mono); letter-spacing: 0.08em; text-transform: uppercase;
}

/* rombo dei corsi premium: era ambra scura su fondo scuro */
.sc-pk-prem-ico { color: var(--sc-accent) !important; }

/* ============================================================
   18. HOME proposta C: ricerca, aree, corsi subito, pack in fascia,
   poi un blocco per argomento, ciascuno con "mostra altro".
   ============================================================ */
.cd-cerca-fascia { padding: 30px 0 26px; border-bottom: 1px solid var(--sc-rule-soft); }
.cd-h1 {
  font-family: var(--sc-display); font-size: clamp(1.6rem, 3.2vw, 2.3rem);
  line-height: 1.1; letter-spacing: -0.025em; font-weight: 750; color: var(--sc-ink); margin: 0 0 6px;
}
.cd-sub { font-family: var(--sc-mono); font-size: 0.75rem; letter-spacing: 0.06em;
  color: var(--sc-muted); margin: 0 0 18px; text-transform: uppercase; }
.cd-cerca { display: flex; border: 1px solid var(--sc-leader); background: var(--sc-paper-3); width: 100%; }
.cd-cerca__in { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--sc-ink);
  padding: 15px 17px; font: inherit; font-size: 1.0625rem; }
.cd-cerca__in::placeholder { color: var(--sc-muted); }
.cd-cerca__in:focus { outline: 2px solid var(--sc-accent); outline-offset: -2px; }
.cd-cerca__btn { border: 0; background: var(--sc-accent); color: var(--sc-su-accento);
  font-family: var(--sc-display); font-weight: 700; font-size: 1rem; padding: 0 30px; cursor: pointer; }
.cd-cerca__btn:hover { background: var(--sc-accent-ink); }
.cd-aree { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.cd-area { display: inline-flex; align-items: baseline; gap: 7px; border: 1px solid var(--sc-rule-soft);
  padding: 7px 12px; text-decoration: none; color: var(--sc-text);
  font-family: var(--sc-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; }
.cd-area:hover { border-color: var(--sc-accent); color: var(--sc-accent); }
.cd-area i { font-style: normal; color: var(--sc-muted); font-size: 0.625rem; }
.cd-area--all { border-color: var(--sc-accent); color: var(--sc-accent); }

.cd-blocco { padding: 30px 0; border-bottom: 1px solid var(--sc-rule-soft); }
.cd-blocco__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.cd-blocco__t { font-family: var(--sc-display); font-size: clamp(1.15rem, 2vw, 1.5rem);
  letter-spacing: -0.02em; color: var(--sc-ink); margin: 0; }
.cd-blocco__piu { font-family: var(--sc-mono); font-size: 0.75rem; letter-spacing: 0.08em;
  text-transform: uppercase; white-space: nowrap; }
.cd-griglia { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
@media (max-width: 1280px) { .cd-griglia { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 1000px) { .cd-griglia { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .cd-griglia { grid-template-columns: repeat(2, 1fr); } }

.cd-pack { background: var(--sc-accent); color: var(--sc-su-accento); padding: 22px 0; }
.cd-pack__in { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap; }
.cd-pack__occhiello { font-family: var(--sc-mono); font-size: 0.6875rem; letter-spacing: 0.16em;
  text-transform: uppercase; margin: 0 0 4px; opacity: 0.75; }
.cd-pack__claim { font-family: var(--sc-display); font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  font-weight: 750; margin: 0; letter-spacing: -0.02em; }
.cd-pack__how { margin-top: 6px; border: 0; background: none; color: var(--sc-su-accento);
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font: inherit; font-size: 0.875rem; }
.cd-pack__opz { display: flex; gap: 12px; flex-wrap: wrap; }
.cd-pack__o { position: relative; display: flex; flex-direction: column; gap: 2px;
  background: var(--sc-su-accento); color: var(--sc-accent); text-decoration: none;
  padding: 14px 20px; min-width: 158px; border: 1px solid var(--sc-su-accento); }
/* chi ha l'etichetta sopra ha bisogno di un po' di spazio in piu' */
.cd-pack__o.is-pop { padding-top: 22px; }
.cd-pack__o:hover { background: #000; color: var(--sc-accent-ink); }
.cd-pack__o b { font-family: var(--sc-display); font-size: 1rem; color: var(--sc-ink); }
/* il prezzo: NON l'etichetta, che e' anch'essa uno span dentro il riquadro */
.cd-pack__o > span:not(.cd-pack__tag) { font-family: var(--sc-display); font-size: 1.7rem; font-weight: 750; line-height: 1.05; }
.cd-pack__o em { font-style: normal; font-family: var(--sc-mono); font-size: 0.625rem; color: var(--sc-muted); }
.cd-pack__o.is-pop { border-color: var(--sc-accent); box-shadow: inset 0 0 0 1px var(--sc-accent); }
.cd-pack__tag { position: absolute; top: 6px; left: 20px; right: 20px;
  background: none; color: var(--sc-accent); border: 0; padding: 0;
  font-family: var(--sc-mono); font-size: 0.5625rem; font-weight: 700; line-height: 1;
  letter-spacing: 0.14em; text-transform: uppercase; white-space: nowrap; }
@media (max-width: 860px) { .cd-pack__in { flex-direction: column; align-items: flex-start; } }
