/* ══════════════════════════════════════════════════════════════
   TEMA CHIARO — aria e leggibilità (2026-10-14)
   Caricato per ultimo (layout.php). I colori dei vecchi fogli sono già convertiti;
   qui: palette unica, tipografia più grande, spazi, colonne della scheda annuncio.
══════════════════════════════════════════════════════════════ */
:root {
    --mx-bg: #ffffff;
    --mx-soft: #f5f6f8;          /* fasce e riquadri tenui */
    --mx-card: #ffffff;
    --mx-line: #e4e7ec;
    --mx-ink: #15171c;           /* titoli */
    --mx-text: #2b2f36;          /* testo */
    --mx-muted: #5d6470;         /* secondario (contrasto 5.9:1) */
    --mx-brand: #e8ff47;         /* giallo di marca: solo riempimenti */
    --mx-brand-hover: #d4ef30;
    --mx-link: #1f4f99;
    --mx-radius: 16px;
    --mx-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);

    --vas-bg: var(--mx-bg);
    --vas-surface: var(--mx-card);
    --vas-border: var(--mx-line);
    --vas-text: var(--mx-text);
    --vas-muted: var(--mx-muted);
    --vas-accent-ink: var(--mx-link);
    --vas-radius: var(--mx-radius);
}

/* ── Base ───────────────────────────────────────────────────── */
html, body, body.va-body { background: var(--mx-bg); color: var(--mx-text); }
body.va-body { font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.va-body a:where(:not(.wp-element-button)):hover { color: var(--mx-ink); }
::selection { background: var(--mx-brand); color: var(--mx-ink); }

/* ── Header ─────────────────────────────────────────────────── */
.va-navbar { background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--mx-line); }
.va-navbar.is-scrolled, .va-navbar.scrolled { box-shadow: 0 2px 12px rgba(16, 24, 40, .06); }
.va-nav-type { color: var(--mx-text); }
.va-nav-type:hover { color: var(--mx-ink); background: var(--mx-soft); }
.va-nav-mobile { background: #fff; box-shadow: 0 18px 40px rgba(16, 24, 40, .12); }
.va-nav-drop { background: #fff; box-shadow: 0 16px 40px rgba(16, 24, 40, .14); }

/* ── Footer: fascia grigio chiaro, separata dal contenuto ───── */
.mag-footer, footer.mag-footer, .site-footer { background: var(--mx-soft) !important; border-top: 1px solid var(--mx-line); }
.mag-col-hd { color: var(--mx-ink); }
.mag-col a, .mag-tagline { color: var(--mx-text); }

/* ── Scheda annuncio ────────────────────────────────────────── */
.vas-root { background: var(--mx-bg); color: var(--mx-text); }
.vas-container { max-width: 1180px; padding: 24px 20px 72px; }
.vas-breadcrumb { margin-bottom: 20px; font-size: 14px; color: var(--mx-muted); }
.vas-breadcrumb a { color: var(--mx-muted); }
.vas-breadcrumb a:hover { color: var(--mx-link); }

.vas-layout { gap: 40px; align-items: start; }
.vas-info-col { gap: 20px; }
.vas-title { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.15; color: var(--mx-ink); margin: 0; }
.vas-price-box { background: none; border: 0; padding: 0; box-shadow: none; }
.vas-price { color: var(--mx-ink); font-size: clamp(30px, 3.4vw, 40px); font-weight: 800; letter-spacing: -.01em; }
.vas-views-badge { color: var(--mx-muted); background: var(--mx-soft); }

.vas-specs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.vas-spec { background: var(--mx-soft); border: 0; border-radius: 12px; padding: 12px 14px; }
.vas-spec-label { font-size: 12px; letter-spacing: .04em; color: var(--mx-muted); }
.vas-spec-value { font-size: 16px; color: var(--mx-ink); }

/* riquadri: bianchi con bordo leggero, più spazio interno */
.vas-contact-box, .vas-description, .vas-val, .vas-tc, .vas-mag-box, .vas-techsheet, .vas-ts {
    background: var(--mx-card); border: 1px solid var(--mx-line); border-radius: var(--mx-radius);
    box-shadow: var(--mx-shadow);
}
.vas-contact-box { padding: 20px; gap: 14px; }
.vas-val, .vas-tc { padding: 22px; gap: 10px; }

/* corpo: colonna di lettura + colonna laterale */
.vas-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; margin-top: 48px; align-items: start; }
.vas-main { min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.vas-aside { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 84px; }
@media (max-width: 960px) {
    .vas-body { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 32px; }
    .vas-aside { position: static; }
}

/* testo: niente riquadro, colonna di lettura comoda */
.vas-main .vas-description { background: none; border: 0; box-shadow: none; padding: 0; }
.vas-section-title {
    font-family: var(--vas-serif, 'DM Serif Display', Georgia, serif); font-size: clamp(22px, 2.4vw, 28px); font-weight: 400;
    text-transform: none; letter-spacing: 0; color: var(--mx-ink); margin: 0 0 14px; line-height: 1.2;
}
.vas-description-body + .vas-section-title { margin-top: 36px; }
.vas-description-body { font-size: 17px; line-height: 1.75; color: var(--mx-text); max-width: 68ch; }
.vas-description-body p, .vas-insight p { margin: 0 0 18px; }
.vas-insight .vas-insight-note { font-size: 13.5px; color: var(--mx-muted); border-top: 1px solid var(--mx-line); padding-top: 14px; margin-top: 8px; }

/* etichette piccole dei riquadri: leggibili */
.vas-val-eyebrow, .vas-tc-eyebrow, .vas-mag-eyebrow, .vas-seller-label {
    font-size: 12px !important; letter-spacing: .06em !important; color: var(--mx-muted) !important;
}
.vas-val-label, .vas-val-range, .vas-tc p { font-size: 14.5px !important; line-height: 1.55 !important; }
.vas-val-note, .vas-tc .vas-tc-note, .vas-ext-hint { font-size: 13px !important; color: var(--mx-muted) !important; }
.vas-val-avg, .vas-tc-cost { color: var(--mx-ink) !important; }
.vas-val-cmp { background: var(--mx-soft) !important; font-size: 14.5px !important; }

/* pulsanti */
.vas-btn-primary, .vas-btn-external {
    background: var(--mx-brand); color: var(--mx-ink) !important; border: 0; border-radius: 12px; font-weight: 800;
    padding: 15px 20px; font-size: 16px;
}
.vas-btn-primary:hover, .vas-btn-external:hover { background: var(--mx-brand-hover); }
.vas-btn-secondary { background: #fff; color: var(--mx-ink); border: 1.5px solid var(--mx-line); border-radius: 12px; padding: 13px 18px; font-weight: 700; }
.vas-btn-secondary:hover { border-color: var(--mx-ink); }
.vas-ext-notice { background: #fff8e6; color: #7a4b00; border: 1px solid #f5dfa8; font-size: 13.5px; }
.vas-ext-overlay { background: rgba(21, 23, 28, .78); color: #fff; }

/* galleria/poster */
.vas-main-image { background: var(--mx-soft); border: 1px solid var(--mx-line); border-radius: var(--mx-radius); }

/* scheda tecnica e correlati: più spazio verticale */
.vas-container > .vas-ts, .vas-container > .vas-techsheet, .vas-container > section, .vas-related { margin-top: 56px; }

/* ── Card annunci (archivio, correlati, home) ───────────────── */
.arx-grid { gap: 20px; }
.arx-card { background: #fff; border: 1px solid var(--mx-line); border-radius: var(--mx-radius); box-shadow: var(--mx-shadow); }
.arx-card:hover { box-shadow: 0 10px 28px rgba(16, 24, 40, .10); border-color: #d5d9e0; }
.arx-card-img { background: var(--mx-soft); }
.arx-card-title { color: var(--mx-ink); }

/* ── Pagine, magazine, articoli ─────────────────────────────── */
.mmag-wrap { background: var(--mx-bg); color: var(--mx-text); }
.mmag-arch-title, .mmag-single-title { color: var(--mx-ink); }
.mmag-arch-title em, .mag-lp h1 em, .mag-lp h2 em {
    color: inherit; font-style: italic;
    background: linear-gradient(transparent 62%, rgba(232, 255, 71, .85) 62%); padding: 0 .08em;
}
.mmag-arch-desc { color: var(--mx-muted); font-size: 17px; }
.mmag-card { background: #fff; border: 1px solid var(--mx-line); box-shadow: var(--mx-shadow); }
.mmag-card:hover { box-shadow: 0 10px 28px rgba(16, 24, 40, .10); }
.mmag-card-thumb, .mag-mag-t { background: var(--mx-soft); }
.mmag-content, .mmag-entry, .mmag-single-content, .entry-content {
    font-size: 17.5px; line-height: 1.78; color: var(--mx-text);
}
.mmag-content p, .mmag-entry p, .mmag-single-content p, .entry-content p { margin: 0 0 1.15em; }
.mmag-content h2, .mmag-entry h2, .mmag-single-content h2, .entry-content h2 { margin: 1.8em 0 .6em; color: var(--mx-ink); }
.mmag-content h3, .mmag-entry h3, .mmag-single-content h3, .entry-content h3 { margin: 1.5em 0 .5em; color: var(--mx-ink); }

/* landing / home (contenuto del DB) */
.mag-lp { color: var(--mx-text); }
.mag-lp .mag-lead { color: var(--mx-text) !important; font-size: 19px; }
.mag-lp .mag-tile, .mag-lp .mag-step { background: #fff !important; border: 1px solid var(--mx-line) !important; box-shadow: var(--mx-shadow); }
.mag-lp .mag-tile:hover { border-color: var(--mx-ink) !important; }
.mag-lp .mag-cta.sec { color: var(--mx-ink) !important; border-color: var(--mx-line) !important; background: #fff !important; }
.mag-lp .mag-faq summary { color: var(--mx-ink) !important; }

/* moduli comuni */
input[type=text], input[type=email], input[type=password], input[type=search], input[type=tel], input[type=number], select, textarea {
    color: var(--mx-ink);
}
::placeholder { color: #8a909a; opacity: 1; }

/* ── Mobile: margini e testo ────────────────────────────────── */
@media (max-width: 600px) {
    .vas-container { padding: 16px 16px 56px; }
    .vas-layout { gap: 24px; }
    .vas-description-body { font-size: 16.5px; }
    .vas-val, .vas-tc, .vas-contact-box { padding: 18px; }
}

/* riquadro immagine mancante (magazine nella scheda) */
.vas-mag-thumb, .vas-mag-thumb-placeholder { background: var(--mx-soft); }

/* prezzi in nero deciso (il blu resta per link e azioni) */
.arx-card-price, .mag-regalo-price, .vas-price { color: var(--mx-ink) !important; }

/* pulsanti gialli: testo sempre scuro */
.vad-btn-new, .va-nav-btn--accent, .mag-cta, .vas-btn-primary { color: var(--mx-ink) !important; }
