/* ============================================================
   page-category-archive.css
   D'Berg Travel Co. — Sprocket Design Co. — 8 May 2026 — v1.0

   Scope: body.category  (WordPress default body class on
                          category archive pages)

   Pairs with: category.php (child theme template override)
   Enqueued in functions.php v2.33 conditionally on is_category().

   Design source: blog.html Replit reference (token system)
                  + new "cream header band + 2-col grid" pattern
                  agreed with Cu on 8 May.

   v1.0 BUILD NOTES (8 May 2026):
   - Header band: cream background, gold eyebrow, Playfair
     category name, optional category description, post count.
     No hero image — keeps category browsing light.
   - Grid: 2-col on desktop, 1-col on mobile <768px. Image-top
     cards with category eyebrow + date + title + excerpt + Read
     More link. Hover lift + image zoom.
   - Pagination: numbered (1, 2, 3, Next) for archive/library
     browsing intent. Styled to match brand (gold hover, navy
     current page).
   - Final CTA: navy band matching the "Begin Your Journey"
     pattern from blog index and blog post template.
   ============================================================ */


/* ============================================================
   1. LAYOUT RESET — DEFEAT TOTAL'S CONTAINER CONSTRAINT
   ============================================================
   Same viewport breakout pattern as page-blog.css and
   page-blog-post.css. Total's #content-wrap has .container
   class which constrains to ~1200px. We let our content area
   span full viewport so the header band and CTA can be
   edge-to-edge cream/navy.
   ============================================================ */
body.category #content-wrap.container,
body.category #content-wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.category #primary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.category #content {
    padding: 0 !important;
    margin: 0 !important;
}

body.category #sidebar,
body.category .sidebar-primary,
body.category .post-pagination-wrap {
    display: none !important;
}


/* ============================================================
   2. HEADER BAND
   ============================================================
   Cream background, generous vertical padding, content centred
   within 800px max-width.
   ============================================================ */
body.category .dberg-cat-header {
    background: #FAF9F6 !important;
    padding: 96px 24px 64px !important;
    border-bottom: 1px solid rgba(196,163,90,0.18) !important;
}

body.category .dberg-cat-header-inner {
    max-width: 800px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

body.category .dberg-cat-eyebrow {
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #C4A35A !important;
    margin-bottom: 14px !important;
}

body.category .dberg-cat-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(2rem, 5vw, 3rem) !important;
    font-weight: 600 !important;
    color: #0C1B2E !important;
    line-height: 1.1 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 18px 0 !important;
}

body.category .dberg-cat-desc {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.95rem !important;
    color: #6b7a8d !important;
    line-height: 1.7 !important;
    max-width: 580px !important;
    margin: 0 auto 18px !important;
}

body.category .dberg-cat-desc p {
    margin: 0 !important;
}

body.category .dberg-cat-count {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.78rem !important;
    color: #6b7a8d !important;
    letter-spacing: 0.06em !important;
    margin: 0 !important;
}


/* ============================================================
   3. POST GRID
   ============================================================
   2-col on desktop, 1-col below 768px. Image-top cards with
   hover lift and image zoom. Cream-card background to lift
   from the page background.
   ============================================================ */
body.category .dberg-cat-grid-wrap {
    background: #FAF9F6 !important;
    padding: 64px 40px 96px !important;
}

body.category .dberg-cat-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

body.category .dberg-cat-card {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid rgba(196,163,90,0.18) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform 0.22s, box-shadow 0.22s !important;
}

body.category .dberg-cat-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 32px rgba(12,27,46,0.1) !important;
}

body.category .dberg-cat-card-img {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    background: #FAF9F6 !important;
}

body.category .dberg-cat-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease !important;
}

body.category .dberg-cat-card:hover .dberg-cat-card-img img {
    transform: scale(1.04) !important;
}

body.category .dberg-cat-card-body {
    padding: 28px 28px 32px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

body.category .dberg-cat-card-meta {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
    flex-wrap: wrap !important;
}

body.category .dberg-cat-card-cat {
    display: inline-block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.66rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 3px 10px !important;
    border-radius: 3px !important;
    background: rgba(196,163,90,0.13) !important;
    color: #C4A35A !important;
}

body.category .dberg-cat-card-date {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.74rem !important;
    color: #6b7a8d !important;
}

body.category .dberg-cat-card-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.32rem !important;
    font-weight: 600 !important;
    color: #0C1B2E !important;
    line-height: 1.25 !important;
    margin: 0 0 14px 0 !important;
    transition: color 0.2s !important;
}

body.category .dberg-cat-card:hover .dberg-cat-card-title {
    color: #1a4570 !important;
}

body.category .dberg-cat-card-excerpt {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.88rem !important;
    color: #6b7a8d !important;
    line-height: 1.7 !important;
    margin: 0 0 20px 0 !important;
    flex: 1 !important;
}

body.category .dberg-cat-card-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: #C4A35A !important;
    transition: gap 0.2s !important;
}

body.category .dberg-cat-card:hover .dberg-cat-card-link {
    gap: 11px !important;
}

body.category .dberg-cat-card-link svg {
    flex-shrink: 0 !important;
}


/* ============================================================
   4. EMPTY STATE
   ============================================================ */
body.category .dberg-cat-empty {
    text-align: center !important;
    padding: 64px 32px !important;
    max-width: 520px !important;
    margin: 0 auto !important;
}

body.category .dberg-cat-empty p {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.95rem !important;
    color: #6b7a8d !important;
    line-height: 1.7 !important;
}

body.category .dberg-cat-empty a {
    color: #C4A35A !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}


/* ============================================================
   5. PAGINATION
   ============================================================
   Numbered pagination styled with brand: gold hover, navy
   current page, light borders.
   ============================================================ */
body.category .dberg-cat-pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    max-width: 1200px !important;
    margin: 56px auto 0 !important;
    padding: 0 !important;
}

body.category .dberg-cat-page-item a,
body.category .dberg-cat-page-item span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #6b7a8d !important;
    background: #ffffff !important;
    border: 1px solid rgba(196,163,90,0.18) !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: color 0.2s, border-color 0.2s, background 0.2s !important;
}

body.category .dberg-cat-page-item a:hover {
    color: #C4A35A !important;
    border-color: #C4A35A !important;
}

body.category .dberg-cat-page-item span.current,
body.category .dberg-cat-page-item .current {
    color: #ffffff !important;
    background: #0C1B2E !important;
    border-color: #0C1B2E !important;
}

body.category .dberg-cat-page-item .dots {
    background: transparent !important;
    border-color: transparent !important;
    color: #9ca3af !important;
}


/* ============================================================
   6. FINAL CTA SECTION
   ============================================================
   Same navy band pattern as blog index and post template.
   ============================================================ */
body.category .dberg-cat-cta {
    background: #0C1B2E !important;
    padding: 96px 24px !important;
    text-align: center !important;
}

body.category .dberg-cat-cta-inner {
    max-width: 580px !important;
    margin: 0 auto !important;
}

body.category .dberg-cat-cta-eyebrow {
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #C4A35A !important;
    margin-bottom: 14px !important;
}

body.category .dberg-cat-cta-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1.15 !important;
    margin: 0 0 14px 0 !important;
}

body.category .dberg-cat-cta-body {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 0.95rem !important;
    color: rgba(255,255,255,0.55) !important;
    line-height: 1.7 !important;
    max-width: 460px !important;
    margin: 0 auto 32px !important;
}

body.category .dberg-cat-cta-btns {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
}

body.category .dberg-cat-cta .dberg-btn-gold {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    background: #C4A35A !important;
    color: #0C1B2E !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: opacity 0.2s !important;
}

body.category .dberg-cat-cta .dberg-btn-gold:hover {
    opacity: 0.88 !important;
}

body.category .dberg-cat-cta .dberg-btn-outline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.28) !important;
    color: #ffffff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.04em !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
}

body.category .dberg-cat-cta .dberg-btn-outline:hover {
    background: rgba(255,255,255,0.16) !important;
}


/* ============================================================
   7. RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    body.category .dberg-cat-grid-wrap {
        padding: 56px 32px 80px !important;
    }
    body.category .dberg-cat-grid {
        gap: 24px !important;
    }
}

@media (max-width: 768px) {
    body.category .dberg-cat-header {
        padding: 72px 24px 48px !important;
    }
    body.category .dberg-cat-grid-wrap {
        padding: 48px 24px 72px !important;
    }
    body.category .dberg-cat-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    body.category .dberg-cat-cta {
        padding: 72px 24px !important;
    }
    body.category .dberg-cat-card-body {
        padding: 24px !important;
    }
}

@media (max-width: 480px) {
    body.category .dberg-cat-header {
        padding: 56px 20px 40px !important;
    }
    body.category .dberg-cat-grid-wrap {
        padding: 40px 20px 64px !important;
    }
    body.category .dberg-cat-card-img {
        aspect-ratio: 16 / 9 !important;
    }
}


/* ============================================================
   END OF FILE — page-category-archive.css v1.0
   ============================================================ */
