/* ==========================================================================
   NEWS DE L'IMMOBILIER — Editorial layer
   Loaded AFTER modern-theme.css on every layouts/app page.
   Brings the "La Une" newspaper signature (journal-red accent, Inter body,
   hairline rules, refined headers/cards) to the whole front office,
   WITHOUT breaking existing page logic or contrast.
   ========================================================================== */

:root {
    /* journal palette (additive — modern-theme keeps --primary / --accent) */
    --ed-red:    #c8102e;
    --ed-red-dk: #a50d26;
    --ed-ink:    #15151a;
    --ed-paper:  #f7f5f0;   /* warm newsprint */
    --ed-rule:   #e4dfd4;   /* warm hairline */
    --ed-muted:  #6f6f76;

    /* unify body type with the homepage (Inter) while keeping Playfair titles */
    --font-body: 'Inter', 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---------- Page header: keep dark + legible, add journal-red top rule ---- */
body .page-header {
    border-top: 4px solid var(--ed-red);
}
body .page-header::before {
    /* tame the amber glow for a soberer, press-like header */
    opacity: .55;
}
body .page-header-title {
    letter-spacing: -0.01em;
}

/* ---------- Breadcrumb ---------------------------------------------------- */
.breadcrumb-immo a:hover { color: var(--ed-red); }

/* ---------- Editorial kicker / category tag (reusable) -------------------- */
.ed-kicker {
    display: inline-block;
    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--ed-red);
}
.ed-cat-tag {
    display: inline-block;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--ed-red);
    margin-bottom: .5rem;
}
.ed-cat-tag::before { content: "■ "; font-size: .6em; vertical-align: middle; }

/* Editorial section heading with bottom rule (reusable) */
.ed-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 3px solid var(--ed-ink);
    padding-bottom: .6rem;
    margin-bottom: 1.6rem;
}
.ed-section-head h2,
.ed-section-head h3 {
    font-family: var(--font-heading);
    font-weight: 800;
    margin: 0;
    color: var(--ed-ink);
}
.ed-section-head .ed-more {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--primary);
    white-space: nowrap;
}
.ed-section-head .ed-more:hover { color: var(--ed-red); }

/* hairline rule utility */
.ed-rule { border: 0; border-top: 1px solid var(--ed-rule); margin: 1.5rem 0; }

/* ---------- Section titles: subtle red underline accent ------------------ */
.section-title::after,
.page-header .section-title::after { content: none; }
.section-badge {
    color: var(--ed-red) !important;
    background: transparent !important;
    letter-spacing: .12em;
}

/* ---------- Cards: a touch more editorial (sharper, hairline borders) ----- */
.modern-property-card,
.property-card,
.promoter-card,
.article-card,
.modern-card {
    border: 1px solid var(--ed-rule);
    transition: transform .25s ease, box-shadow .25s ease;
}
.modern-property-card:hover,
.property-card:hover,
.promoter-card:hover,
.article-card:hover,
.modern-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .10);
}

/* ---------- Badges: journal-red category accents ------------------------- */
.badge-category,
.article-category,
.post-category,
.cat-badge {
    background: var(--ed-red) !important;
    color: #fff !important;
    letter-spacing: .04em;
}

/* ---------- Buttons: an editorial primary that uses the red accent -------- */
.btn-editorial {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--ed-red);
    color: #fff;
    font-weight: 700;
    padding: .7rem 1.4rem;
    border: 0;
    border-radius: 4px;
    transition: background .2s ease, transform .2s ease;
}
.btn-editorial:hover { background: var(--ed-red-dk); color: #fff; transform: translateY(-2px); }

/* ---------- Pagination: red active state -------------------------------- */
.pagination .page-item.active .page-link,
.pagination-immo .active {
    background: var(--ed-red) !important;
    border-color: var(--ed-red) !important;
    color: #fff !important;
}
.pagination .page-link:hover { color: var(--ed-red); }

/* ---------- Links inside article/editorial content ----------------------- */
.article-content a,
.post-content a,
.prose a {
    color: var(--ed-red);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ---------- Rebrand: orange (amber) buttons -> journal red --------------- */
.btn-nav-primary,
.btn-accent,
.btn-header,
.btn-search,
.btn-primary-modern,
.btn-cta-primary,
.btn-add-property,
.btn-map-primary,
.btn-contact {
    background: var(--ed-red) !important;
    background-image: none !important;
    border-color: var(--ed-red) !important;
    color: #fff !important;
    box-shadow: none;
}
.btn-nav-primary:hover,
.btn-accent:hover,
.btn-header:hover,
.btn-search:hover,
.btn-primary-modern:hover,
.btn-cta-primary:hover,
.btn-add-property:hover,
.btn-map-primary:hover,
.btn-contact:hover {
    background: var(--ed-red-dk) !important;
    background-image: none !important;
    border-color: var(--ed-red-dk) !important;
    color: #fff !important;
}

/* ---------- Editorial dateline strip (optional, reusable) ---------------- */
.ed-dateline {
    border-bottom: 1px solid var(--ed-rule);
    font-size: .8rem;
    color: var(--ed-muted);
}
.ed-dateline .container-wide {
    display: flex; align-items: center; justify-content: space-between;
    height: 40px;
}
.ed-dateline .date { text-transform: capitalize; font-weight: 500; }
.ed-dateline a { color: var(--ed-muted); }
.ed-dateline a:hover { color: var(--ed-red); }
