/* ============================================================
   Mayo School — Extra WordPress
   Pagine interne/legali · WooCommerce · TutorLMS · nav account/carrello.
   Usa i token :root definiti in styles.css (var --terra, --brown, ecc.).
   ============================================================ */

/* ---------- Header solido su pagine interne ---------- */
/* Sulle pagine non-home il contenuto sotto è chiaro: l'header deve avere
   subito lo sfondo marrone (come lo stato is-scrolled) per restare leggibile. */
.site-header.is-solid {
  background: var(--brown);
  box-shadow: 0 2px 18px -8px rgba(61,36,24,0.5);
}

/* ---------- Header / nav (versione WP: + Accedi + carrello) ---------- */
/* Il tema WP aggiunge "Accedi" e il carrello rispetto al prototipo: senza questo
   le voci a più parole andavano a capo ("IL / CORSO") accavallandosi sul logo. */
.nav__link, .nav-account, .nav__cta { white-space: nowrap; }

/* header un filo più largo per ospitare la nav completa */
.site-header .container.header__inner { max-width: 1320px; }

@media (min-width: 1025px) {
  .site-header .nav { gap: clamp(0.8rem, 1.5vw, 1.7rem); flex-wrap: nowrap; }
  .site-header .nav__link { font-size: 0.78rem; letter-spacing: 0.08em; }
}

/* Sotto i 1024px (con molte voci) usa il menu mobile a scomparsa: più pulito. */
@media (max-width: 1024px) {
  .site-header .nav {
    position: fixed; inset: 0 0 0 auto; width: min(82vw, 340px);
    flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.6rem;
    background: var(--brown); padding: 2rem var(--gutter);
    transform: translateX(100%); transition: transform 0.4s var(--ease);
    box-shadow: -20px 0 60px -30px rgba(0,0,0,0.6); z-index: 105;
  }
  .site-header .nav.is-open { transform: translateX(0); }
  .site-header .nav__link { color: rgba(255,255,255,0.9); font-size: 1rem; }
  .site-header .nav__cta { align-self: flex-start; color: var(--brown) !important; }
  .site-header .nav-toggle { display: block; z-index: 110; }
  .site-header .nav-cart { margin-top: 0.2rem; }
  .site-header .nav-cart-count { position: static; margin-left: 0.5rem; opacity: 1; transform: none; }
}

/* ---------- Nav: account + carrello ---------- */
.nav-account { display: inline-flex; align-items: center; }
.nav-cart {
  position: relative; display: inline-flex; align-items: center;
  color: rgba(255,255,255,0.9); transition: color 0.25s var(--ease);
}
.nav-cart:hover { color: #fff; }
.nav-cart-icon { width: 22px; height: 22px; }
.nav-cart-count {
  position: absolute; top: -8px; right: -10px; min-width: 18px; height: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 5px; border-radius: 999px; background: var(--tan); color: var(--brown);
  font-family: var(--round); font-weight: 700; font-size: 0.66rem; line-height: 1;
  opacity: 0; transform: scale(0.6); transition: all 0.25s var(--ease);
}
.nav-cart-count.has-items { opacity: 1; transform: scale(1); }

@media (max-width: 760px) {
  .nav-cart { margin-top: 0.4rem; }
  .nav-cart-count { position: static; margin-left: 0.5rem; opacity: 1; transform: none; }
}

/* ---------- Pagine interne / legali ---------- */
.default-page,
.legal-page,
.wc-page {
  padding-top: clamp(7.5rem, 12vw, 11rem);
}

.page-header { margin-bottom: 2rem; }
.page-content,
.legal-content { max-width: 70ch; }

.legal-content h2 {
  font-family: var(--round); font-weight: 600; color: var(--brown);
  font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem);
  margin: 2.2rem 0 0.8rem;
}
.legal-content p,
.page-content p { color: var(--ink-soft); margin-bottom: 1rem; }
.legal-content ul,
.page-content ul { margin: 0 0 1.2rem 1.2rem; list-style: disc; color: var(--ink-soft); }
.legal-content li { margin-bottom: 0.5rem; }
.legal-content a,
.page-content a { color: var(--terra-deep); text-decoration: underline; text-underline-offset: 2px; }
.legal-content a:hover { color: var(--terra); }
.legal-content strong { color: var(--ink); font-weight: 600; }
.legal-updated { margin-top: 2.5rem; font-size: 0.85rem; color: var(--muted); font-style: italic; }

/* ============================================================
   WooCommerce — restyle brand
   ============================================================ */
.wc-page h1,
.wc-page h2,
.woocommerce .section__title { font-family: var(--round); color: var(--brown); }

/* Bottoni WC → terracotta */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--terra); color: #fff;
  font-family: var(--round); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; border-radius: var(--radius); padding: 0.9em 1.8em;
  transition: background 0.3s var(--ease), transform 0.3s var(--ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--terra-deep); color: #fff; transform: translateY(-2px);
}

.woocommerce .price,
.woocommerce-Price-amount { color: var(--brown); font-family: var(--round); font-weight: 700; }

/* Tabelle, totali */
.woocommerce table.shop_table { border-color: var(--line); border-radius: var(--radius); }
.woocommerce-cart table.cart td,
.woocommerce table.shop_table th { font-family: var(--body); }

/* Form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single {
  border: 1px solid var(--line); border-radius: var(--radius); padding: 0.7em 0.9em;
  font-family: var(--body);
}
.woocommerce form .form-row input.input-text:focus { outline: 2px solid var(--terra); border-color: var(--terra); }

/* Notices */
.woocommerce-message,
.woocommerce-info { border-top-color: var(--terra); }
.woocommerce-error { border-top-color: #b3261e; }

/* Account: navigazione laterale */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 0.8em 0; font-family: var(--round); font-weight: 600;
  color: var(--ink-soft); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.85rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--terra); }

/* Checkbox di consenso al checkout */
.mayoschool-consent { margin: 1rem 0; padding: 0.9rem 1rem; border-radius: var(--radius); background: var(--cream-2); }
.mayoschool-consent label { font-size: 0.9rem; color: var(--ink-soft); }
.mayoschool-consent a { color: var(--terra-deep); }
.mayoschool-consent-critical { background: rgba(168,72,31,0.1); border: 1px solid rgba(168,72,31,0.4); }
.mayoschool-consent-critical strong { color: var(--terra-deep); }

/* ============================================================
   TutorLMS — restyle brand (override variabili colore + font)
   ============================================================ */
:root {
  --tutor-color-primary: #a8481f;
  --tutor-color-primary-hover: #8a3817;
  --tutor-color-primary-light: #f4ebdd;
  --tutor-fontspace-bs: var(--round);
  --tutor-body-font-family: "Nexa", sans-serif;
}

.tutor-wrap,
.tutor-course-details-page,
[class*="tutor-"] { font-family: var(--body); }

.tutor-course-name,
.tutor-course-details-title,
.tutor-segment-title,
.tutor-color-black { font-family: var(--round) !important; color: var(--brown) !important; }

/* Bottoni TutorLMS → terracotta */
.tutor-btn-primary,
.tutor-btn.tutor-btn-primary {
  background-color: var(--terra) !important; border-color: var(--terra) !important;
  font-family: var(--round); font-weight: 600;
}
.tutor-btn-primary:hover { background-color: var(--terra-deep) !important; border-color: var(--terra-deep) !important; }

.tutor-btn-outline-primary {
  color: var(--terra) !important; border-color: var(--terra) !important; font-family: var(--round);
}
.tutor-btn-outline-primary:hover { background-color: var(--terra) !important; color: #fff !important; }

/* Progress bar / accenti */
.tutor-progress-bar .tutor-progress-value { background-color: var(--terra) !important; }

/* Lezione (spotlight) — header/footer del tema avvolgono già la pagina */
.mayoschool-course .tutor-course-details-page,
.mayoschool-lesson .tutor-lesson-wrapper { padding-top: clamp(6rem, 10vw, 9rem); }

/* ---------- Override template Tutor (tema/tutor/) ---------- */
/* Wrapper principale (template.php) per parti dashboard */
.mayoschool-tutor-wrap {
  padding-top: clamp(6.5rem, 10vw, 9rem);
  padding-bottom: clamp(3rem, 6vw, 5rem);
  background: var(--cream);
  min-height: 60vh;
}

/* Barra intro della pagina corso (single-course.php) */
.mayoschool-course-intro {
  background: var(--cream);
  padding-top: clamp(6.5rem, 10vw, 8.5rem);
  padding-bottom: 0.75rem;
}
.mayoschool-course-intro__back {
  font-family: var(--round); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; font-size: 0.78rem; color: var(--terra-deep);
  transition: color 0.25s var(--ease);
}
.mayoschool-course-intro__back:hover { color: var(--terra); }

/* Pagina corso */
.mayoschool-course-page {
  background: var(--cream);
  padding-bottom: clamp(3rem, 6vw, 5rem);
}
.mayoschool-course-page .tutor-course-details-title,
.mayoschool-course-page .tutor-course-name {
  font-family: var(--round) !important; color: var(--brown) !important;
}
