/* ════════════════════════════════════════════════════════
   LEGAL PAGES CSS
   File: css/legal.css
   Used by: privacy-policy.php, terms-conditions.php, disclaimer.php
   Loaded AFTER css/style.css
════════════════════════════════════════════════════════ */

/* ════════ HERO ════════ */
.legal-hero {
    padding: 160px 2rem 4rem;
    background: var(--bg);
    border-bottom: 1px solid rgba(201,168,76,0.1);
    text-align: center;
}
.legal-hero__inner {
    max-width: 860px;
    margin: 0 auto;
}
.legal-hero__eyebrow {
    display: block;
    font-family: 'Jost', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--gold-dim);
    margin-bottom: 1rem;
}
.legal-hero__title {
    font-family: 'Pinyon Script', cursive;
    font-size: clamp(2.8rem, 6vw, 5rem);
    font-weight: 400;
    color: var(--gold-light);
    line-height: 1.1;
    margin-bottom: 1rem;
    text-shadow: 0 0 2px rgba(0,0,0,0.5);
}
.legal-hero__date {
    font-family: 'Jost', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    color: var(--text-faint);
    margin: 0;
}

/* ════════ SECTION ════════ */
.legal-section {
    padding: 5rem 0 7rem;
}

/* ════════ BODY WRAPPER ════════ */
.legal-body {
    max-width: 820px;                          /* ← CONTENT MAX WIDTH */
    margin: 0 auto;
}

/* ════════ INTRO PARAGRAPH ════════ */
.legal-intro {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(1.05rem, 1.8vw, 1.25rem);
    color: rgba(240,237,232,0.8);
    line-height: 1.75;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(201,168,76,0.15);
}

/* ════════ CONTENT BLOCKS ════════ */
.legal-block {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.legal-block:last-of-type {
    border-bottom: none;
}

/* H2 — section headings */
.legal-block h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    font-weight: 400;
    font-style: italic;
    color: var(--gold-light);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(201,168,76,0.2);
    /* Number prefix is in the content — this is just the style */
}

/* H3 — sub-headings within blocks */
.legal-block h3 {
    font-family: 'Jost', sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold-dim);
    font-weight: 400;
    margin: 1.5rem 0 0.6rem;
}

/* Body paragraphs */
.legal-block p,
.legal-body > p {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.02rem;
    color: var(--text-muted);
    line-height: 1.85;
    font-weight: 300;
    margin-bottom: 0.9rem;
}
.legal-block p:last-child { margin-bottom: 0; }

/* Lists */
.legal-block ul,
.legal-block ol {
    margin: 0.6rem 0 1rem 0;
    padding: 0;
    list-style: none;
}
.legal-block ul li,
.legal-block ol li {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1rem;
    color: var(--text-muted);
    line-height: 1.7;
    font-weight: 300;
    padding: 0.35rem 0 0.35rem 1.4rem;
    border-bottom: 1px solid rgba(255,255,255,0.03);
    position: relative;
}
.legal-block ul li:last-child,
.legal-block ol li:last-child { border-bottom: none; }

/* Bullet */
.legal-block ul li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: var(--gold-dim);
    font-size: 1.2rem;
    line-height: 1.7;
}
/* Number */
.legal-block ol {
    counter-reset: legal-ol;
}
.legal-block ol li {
    counter-increment: legal-ol;
}
.legal-block ol li::before {
    content: counter(legal-ol) '.';
    position: absolute;
    left: 0;
    color: var(--gold-dim);
    font-size: 0.85rem;
    font-family: 'Jost', sans-serif;
    line-height: 1.85;
}

/* Strong inside paragraphs */
.legal-block strong {
    color: var(--text);
    font-weight: 400;
}

/* Inline links */
.legal-link {
    color: var(--gold-dim);
    border-bottom: 1px solid rgba(201,168,76,0.3);
    transition: color var(--transition), border-color var(--transition);
    text-decoration: none;
}
.legal-link:hover {
    color: var(--gold-light);
    border-bottom-color: var(--gold-light);
}

/* ════════ CONTACT INFO BOX ════════ */
.legal-contact-box {
    background: var(--bg2);
    border: 1px solid rgba(201,168,76,0.2);
    border-left: 2px solid var(--gold-dim);
    padding: 1.2rem 1.6rem;
    margin: 1rem 0;
    border-radius: 2px;
}
.legal-contact-box p {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1rem !important;
    color: var(--text-muted) !important;
    margin-bottom: 0.3rem !important;
    line-height: 1.5 !important;
}
.legal-contact-box p:last-child { margin-bottom: 0 !important; }

/* ════════ TABLE ════════ */
.legal-table-wrap {
    overflow-x: auto;
    margin: 1rem 0;
    border: 1px solid rgba(201,168,76,0.15);
    border-radius: 2px;
}
.legal-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.98rem;
}
.legal-table thead {
    background: rgba(201,168,76,0.07);
}
.legal-table th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-family: 'Jost', sans-serif;
    font-size: 0.62rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold-dim);
    font-weight: 400;
    border-bottom: 1px solid rgba(201,168,76,0.2);
}
.legal-table td {
    padding: 0.75rem 1rem;
    color: var(--text-muted);
    font-weight: 300;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    vertical-align: top;
    line-height: 1.6;
}
.legal-table tr:last-child td { border-bottom: none; }
.legal-table tr:nth-child(even) td { background: rgba(255,255,255,0.015); }

/* ════════ BOTTOM CTA ════════ */
.legal-cta {
    margin-top: 3rem;
    padding-top: 2.5rem;
    border-top: 1px solid rgba(201,168,76,0.15);
    text-align: center;
}
.legal-cta p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1.1rem;
    color: var(--text-muted);
    margin-bottom: 1.2rem;
}

/* Cross-links row on disclaimer page */
.legal-nav-links {
    margin-top: 3rem;
    padding-top: 2.5rem;
    border-top: 1px solid rgba(201,168,76,0.15);
    text-align: center;
}
.legal-nav-links > p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1rem;
    color: var(--text-muted);
    margin-bottom: 1.2rem;
}
.legal-nav-links__row {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

/* ════════ RESPONSIVE ════════ */
@media (max-width: 768px) {
    .legal-hero        { padding: 130px 2rem 3rem; }
    .legal-hero__title { font-size: clamp(2.2rem, 10vw, 3.5rem); }
    .legal-section     { padding: 4rem 0 5rem; }
    .legal-table-wrap  { font-size: 0.88rem; }
    .legal-table th,
    .legal-table td    { padding: 0.6rem 0.75rem; }
}
