/* ==========================================================================
   Pages, posts, search, 404, single coupon
   ========================================================================== */

.page-hero { background: var(--color-surface); border-bottom: 1px solid var(--color-border); }
.page-hero .container { padding-block: var(--space-8) var(--space-7); }
.page-hero__title { margin: 0; font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem); }
.page-hero__text { max-width: 640px; margin: var(--space-3) 0 0; color: var(--color-muted); font-size: var(--fs-md); }

.page-hero--search { background: var(--hero-bg); color: var(--hero-text); border: 0; }
.page-hero--search .eyebrow { color: var(--color-accent); }
.page-hero--search .page-hero__title { margin-bottom: var(--space-5); color: var(--hero-text); }

.page-content {
    max-width: 780px;
    margin-inline: auto;
    padding: clamp(1.25rem, 4vw, 3rem);
    background: var(--color-surface);
    border-radius: var(--radius-xl);
}
.page-content__media { margin: 0 0 var(--space-6); }
.page-content__media img { width: 100%; border-radius: var(--radius-lg); }

.page-title { margin-bottom: var(--space-4); font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); }
.page-section > .breadcrumbs { margin-bottom: var(--space-5); color: var(--color-muted); }

.post-list { display: grid; gap: var(--space-4); }
.post-list h2 { font-size: var(--fs-h3); }
.post-list h2 a { color: var(--color-text); text-decoration: none; }

/* 404 */
.not-found { display: flex; flex-direction: column; align-items: center; text-align: center; padding-block: var(--space-9); }
.not-found__code {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 800;
    font-stretch: 80%;
    font-size: clamp(6rem, 4rem + 10vw, 10rem);
    line-height: 0.9;
    color: var(--color-sale);
}
.not-found__title { max-width: 18ch; margin: var(--space-4) 0; font-size: var(--fs-h2); }
.not-found__text { max-width: 52ch; color: var(--color-muted); }
.not-found .search-box { width: 100%; margin: var(--space-4) 0; border: 1.5px solid var(--color-border); }
.not-found__actions { margin: 0; }
