/* =============================================================================
   Self-hosted web fonts
   --------------------------------------------------------------------------
   Sostituiscono Google Fonts (rimosso da _Layout.cshtml il 2026-05-20 per
   ridurre dipendenze da terze parti e migliorare conformità GDPR — niente
   IP utente inviato a Google solo per caricare i font).

   Font scaricati da google-webfonts-helper (https://gwfh.mranftl.com).
   Formato: woff2 (supporto: tutti i browser moderni, ~98% global).
   font-display: swap → mostra subito un fallback, swappa quando il font
                       reale è pronto. Niente FOIT (Flash of Invisible Text).
   ============================================================================= */

/* ---------- Roboto: 300, 400, 500, 700 ---------- */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/roboto-v51-latin-300.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/roboto-v51-latin-regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/roboto-v51-latin-500.woff2') format('woff2');
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/roboto-v51-latin-700.woff2') format('woff2');
}

/* ---------- Open Sans: 400, 600, 700 ---------- */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/open-sans-v44-latin-regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/open-sans-v44-latin-600.woff2') format('woff2');
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/open-sans-v44-latin-700.woff2') format('woff2');
}

/* ---------- Questrial: 400 ---------- */
@font-face {
    font-family: 'Questrial';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/questrial-v19-latin-regular.woff2') format('woff2');
}
/* ===========================================================================
   Vaigroup brand overrides
   Custom CSS that overrides Atlas defaults for brand-specific styling.
   Loaded after atlas-main.css to take precedence.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   Header logo (SVG)
   Atlas default: max-height 36px on (.header .logo img) — too small for SVG.
   Override with matching selector specificity (.brand-logo class on img).
   --------------------------------------------------------------------------- */
.header .logo img.brand-logo {
    max-height: 36px;
    height: 36px;
    width: auto;
    margin-right: 0;
    display: block;
}

@media (max-width: 991.98px) {
    .header .logo img.brand-logo {
        max-height: 30px;
        height: 30px;
    }
}

@media (max-width: 575.98px) {
    .header .logo img.brand-logo {
        max-height: 28px;
        height: 28px;
    }
}

/* ---------------------------------------------------------------------------
   Footer logo (SVG)
   Atlas default: max-height 40px on (.footer .footer-about .logo img).
   Override with matching selector specificity (.footer-logo class on img).
   --------------------------------------------------------------------------- */
.footer .footer-about .logo img.footer-logo {
    max-height: 40px;
    height: 40px;
    width: auto;
    display: block;
}

@media (max-width: 991.98px) {
    .footer .footer-about .logo img.footer-logo {
        max-height: 34px;
        height: 34px;
    }
}

/* ---------------------------------------------------------------------------
   Footer: ragione sociale sotto il logo
   --------------------------------------------------------------------------- */
.footer .footer-about .legal-name {
    font-size: 0.85rem;
    color: var(--default-color);
    opacity: 0.85;
    margin-top: 4px;
    font-weight: 500;
}
/* ============================================================================
   IM-3 — Hero feature-row: card cliccabili con hover affordance
   ============================================================================
   Da inserire in wwwroot/css/vaigroup-brand.css (o nel file CSS di brand
   equivalente). Lo snippet rende le 3 mini-card della hero cliccabili in
   modo evidente: leggero lift al passaggio del mouse + ombra + accento
   colore sul titolo. Coerente con il tono pulito del template Atlas.
   ============================================================================ */

/* Wrapper <a> che avvolge ogni feature-block */
.feature-block-link {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.feature-block-link:hover,
.feature-block-link:focus {
    color: inherit;
    text-decoration: none;
    transform: translateY(-4px);
}

/* Affordance sulla card interna */
.feature-block-link .feature-block {
    transition: box-shadow 0.2s ease;
}

.feature-block-link:hover .feature-block,
.feature-block-link:focus .feature-block {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

/* Accento colore sul titolo al hover (usa la stessa palette del template) */
.feature-block-link:hover h4,
.feature-block-link:focus h4 {
    color: #2563eb; /* allineato all'accento blu usato per .hero-label e .btn-primary-action */
}

/* Accessibilità: outline focus visibile (per keyboard navigation) */
.feature-block-link:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 4px;
    border-radius: 8px;
}

/* ============================================================================
   Legal pages (Cookie Policy, Privacy Policy)
   Layout pulito, leggibile, professional. Pensato per testi lunghi.
   ============================================================================ */
body.legal-page {
    background-color: #fafafa;
}

.legal-content {
    max-width: 820px;
    margin: 0 auto;
    background: #fff;
    padding: 3rem 2.5rem;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

    .legal-content h1 {
        font-size: 2rem;
        margin-bottom: 0.5rem;
        color: #0F1E3A;
    }

    .legal-content h2 {
        font-size: 1.35rem;
        margin-top: 2rem;
        margin-bottom: 0.75rem;
        color: #1A3565;
        border-bottom: 1px solid #e5e7eb;
        padding-bottom: 0.5rem;
    }

    .legal-content h3 {
        font-size: 1.1rem;
        margin-top: 1.5rem;
        margin-bottom: 0.5rem;
    }

    .legal-content p {
        line-height: 1.7;
        color: #374151;
        margin-bottom: 1rem;
    }

    .legal-content ul, .legal-content ol {
        line-height: 1.7;
        color: #374151;
        margin-bottom: 1rem;
        padding-left: 1.5rem;
    }

    .legal-content table {
        width: 100%;
        border-collapse: collapse;
        margin: 1.5rem 0;
        font-size: 0.92rem;
    }

        .legal-content table th,
        .legal-content table td {
            padding: 0.6rem 0.8rem;
            border: 1px solid #e5e7eb;
            text-align: left;
            vertical-align: top;
        }

        .legal-content table th {
            background-color: #f3f4f6;
            font-weight: 600;
            color: #0F1E3A;
        }

    .legal-content a {
        color: #007BFC;
        text-decoration: underline;
    }

.manage-consent-section {
    background: #f9fafb;
    padding: 1.5rem;
    border-radius: 6px;
    border-left: 4px solid #007BFC;
}

@media (max-width: 768px) {
    .legal-content {
        padding: 1.5rem 1.25rem;
    }

        .legal-content h1 {
            font-size: 1.5rem;
        }

        .legal-content h2 {
            font-size: 1.15rem;
        }
}

/* Nascondi il "Powered by Klaro!" dal banner consenso */
.klaro .cm-powered-by,
.klaro .cookie-modal .cm-powered-by,
.klaro .context-notice .cn-powered-by {
    display: none !important;
}
