/* =====================================================
   TERMINI E CONDIZIONI — legal page
   ===================================================== */

body.vagotour-v3-legal .breadcrumbs {
    background: var(--bg-alt, #f9f9f9);
    border-bottom: 1px solid var(--border-lt, #f0f0f0);
    padding: 14px 5%;
}

body.vagotour-v3-legal .breadcrumbs-inner {
    max-width: var(--container, 1260px);
    margin: 0 auto;
}

body.vagotour-v3-legal .breadcrumbs ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: .76rem;
    color: var(--text-soft, #777777);
}

body.vagotour-v3-legal .breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

body.vagotour-v3-legal .breadcrumbs li + li::before {
    content: "/";
    color: var(--border, #ececec);
}

body.vagotour-v3-legal .breadcrumbs a {
    color: var(--text-muted, #555555);
    transition: color var(--t-fast, .25s ease);
}

body.vagotour-v3-legal .breadcrumbs a:hover {
    color: var(--accent-dk, #a6844d);
}

body.vagotour-v3-legal .breadcrumbs [aria-current="page"] {
    color: var(--primary, #003162);
    font-weight: 600;
}

.legal-page {
    padding: 3rem 0 5rem;
}

.legal-inner {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Hero */
.legal-hero {
    margin-bottom: 3rem;
    border-bottom: 1px solid var(--border, #e2e8f0);
    padding-bottom: 2rem;
}

.legal-hero h1 {
    font-size: clamp(2rem, 4vw, 2.75rem);
    margin: .5rem 0 .75rem;
    line-height: 1.15;
}

.legal-intro {
    color: var(--text-muted, #64748b);
    font-size: .9rem;
}

/* Sections */
.legal-sections {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.legal-section {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: 0 1.25rem;
    padding: 1.75rem 0;
    border-bottom: 1px solid var(--border, #e2e8f0);
    align-items: start;
}

.legal-section-icon {
    padding-top: .2rem;
}

.legal-section-icon i {
    font-size: 1.5rem;
    color: var(--accent, #c9a84c);
    line-height: 1;
}

.legal-section-body h2 {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .01em;
    margin: 0 0 .5rem;
    color: var(--heading, #0f172a);
}

.legal-section-body p {
    font-size: .925rem;
    line-height: 1.7;
    color: var(--text, #334155);
    margin: 0;
}

.legal-section-body a {
    color: var(--accent, #c9a84c);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Footer note */
.legal-footer-note {
    margin-top: 2.5rem;
    padding: 1.25rem 1.5rem;
    background: var(--surface, #f8fafc);
    border-radius: 8px;
    font-size: .9rem;
    color: var(--text-muted, #64748b);
    display: flex;
    align-items: center;
    gap: .6rem;
}

.legal-footer-note i {
    font-size: 1.2rem;
    color: var(--accent, #c9a84c);
    flex-shrink: 0;
}

.legal-footer-note a {
    color: var(--accent, #c9a84c);
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 480px) {
    .legal-section {
        grid-template-columns: 1fr;
    }

    .legal-section-icon {
        display: none;
    }
}
