﻿/* ==========================================================================
   content-page — Prose-heavy informational pages (Delivery, Contact, etc.)
   ========================================================================== */

.content-page {
    background-color: var(--brand-surface-dark);
    color: var(--brand-text-light-muted);
    padding-top: var(--brand-space-section);
    padding-bottom: var(--brand-space-section);
}

.content-page__header {
    margin-bottom: var(--brand-space-5);
    padding-bottom: var(--brand-space-4);
    border-bottom: 1px solid var(--brand-border-dark);
}

.content-page__title {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-extrabold);
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-wide);
    color: var(--brand-text-light);
    margin-bottom: 0;
}

/* --- Section blocks --- */

.content-page__section {
    margin-bottom: var(--brand-space-5);
}

.content-page__section:last-child {
    margin-bottom: 0;
}

.content-page__section h2 {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-bold);
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-wide);
    color: var(--brand-accent);
    margin-bottom: var(--brand-space-3);
}

/* --- Prose typography --- */

.content-page__section p {
    line-height: var(--brand-line-height-relaxed);
    margin-bottom: var(--brand-space-3);
    max-width: 65ch;
}

.content-page--wide .content-page__section p {
    max-width: none;
}

.content-page__section ul,
.content-page__section ol {
    padding-left: var(--brand-space-4);
    margin-bottom: var(--brand-space-3);
    max-width: 65ch;
}

.content-page--wide .content-page__section ul,
.content-page--wide .content-page__section ol {
    max-width: none;
}

.content-page li {
    margin-bottom: var(--brand-space-2);
    line-height: var(--brand-line-height-relaxed);
}

/* --- Data tables --- */

.content-page__table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: var(--brand-space-4);
    font-size: 0.9rem;
}

.content-page__table th,
.content-page__table td {
    padding: var(--brand-space-2) var(--brand-space-3);
    text-align: left;
    border-bottom: 1px solid var(--brand-border-dark);
    line-height: var(--brand-line-height-relaxed);
    vertical-align: top;
}

.content-page__table thead th {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-semibold);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-caps);
    color: var(--brand-text-light);
    border-bottom: 2px solid var(--brand-accent);
    padding-bottom: var(--brand-space-2);
}

.content-page__table tbody tr:last-child td {
    border-bottom: none;
}

.content-page__table tbody tr:hover td {
    background-color: rgba(255, 255, 255, 0.03);
}

.content-page strong {
    color: var(--brand-text-light);
    font-weight: var(--brand-font-weight-semibold);
}

.content-page__section a {
    color: var(--brand-accent);
    text-decoration: underline;
    text-decoration-color: rgba(var(--brand-accent-rgb), 0.3);
    text-underline-offset: 3px;
    transition: text-decoration-color var(--brand-transition-fast);
}

.content-page__section a:hover {
    text-decoration-color: var(--brand-accent);
}

/* --- Continue-shopping CTA banner --- */

.content-page__cta {
    margin-top: var(--brand-space-5);
    padding: var(--brand-space-4) 0 0;
    border-top: 1px solid var(--brand-border-dark);
    text-align: center;
}

.content-page__cta-text {
    font-family: var(--brand-font-heading);
    font-weight: var(--brand-font-weight-bold);
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: var(--brand-letter-spacing-wide);
    color: var(--brand-text-light);
    margin-bottom: var(--brand-space-3);
    max-width: none;
}

/* Photo header for long-form pages (Terms, Privacy): same treatment as the Inner Circle hero,
   so these pages carry the brand instead of a bare dark column. The body padding moves to the
   content container because the hero bleeds to the edges. */
.content-page--with-hero {
    padding-top: 0;
}
.content-page__hero {
    position: relative;
    min-height: clamp(220px, 34vh, 360px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    margin-bottom: var(--brand-space-5);
}
.content-page__hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 20%;
    background-repeat: no-repeat;
    filter: brightness(0.42);
}
.content-page__hero .container {
    position: relative;
    padding-top: var(--brand-space-section);
    padding-bottom: var(--brand-space-4);
}
.content-page__hero .content-page__updated {
    margin-bottom: 0;
}
.content-page__updated {
    font-size: 0.875rem;
    color: var(--brand-text-light-muted);
    letter-spacing: var(--brand-letter-spacing-wide);
    text-transform: uppercase;
}
