/* ============================================================
   Ideology — Heritage / Memorial Design
   ideology.css  v1
   ============================================================ */

/* ── Suppress generic page-hero on this page ── */
.ideology-page .page-hero { display: none !important; }

/* ── Page canvas ── */
.her-page {
    background: #0c0a07;
    color: #f0e8d5;
}

/* ════════════════════════════════════════════
   HERO
════════════════════════════════════════════ */
.her-hero {
    background: #0c0a07;
    text-align: center;
    padding: 80px 0 64px;
    position: relative;
    border-bottom: 1px solid rgba(201,168,76,.15);
    overflow: hidden;
}

/* Subtle parchment texture via radial gradients */
.her-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 55% at 20% 80%, rgba(201,168,76,.04) 0%, transparent 60%),
        radial-gradient(ellipse 50% 60% at 80% 20%, rgba(201,168,76,.04) 0%, transparent 60%);
    pointer-events: none;
}

.her-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: rgba(201,168,76,.8);
    margin: 0 0 22px;
    position: relative;
}

.her-ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 18px auto;
    max-width: 340px;
    position: relative;
}
.her-orn-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(201,168,76,.5), transparent);
}
.her-orn-icon {
    color: rgba(201,168,76,.7);
    font-size: 11px;
    letter-spacing: 2px;
    flex-shrink: 0;
}

.her-hero-title {
    font-family: 'Playfair Display', serif;
    font-size: 58px;
    font-weight: 700;
    color: #f0e8d5;
    line-height: 1.12;
    margin: 0 0 22px;
    position: relative;
}

.her-hero-sub {
    font-size: 15px;
    color: #9a8870;
    max-width: 540px;
    margin: 0 auto 0;
    line-height: 1.85;
    font-style: italic;
    position: relative;
}

/* ════════════════════════════════════════════
   BODY WRAPPER
════════════════════════════════════════════ */
.her-body {
    background: #0c0a07;
}

/* ════════════════════════════════════════════
   LEADER SECTION  (alternating)
════════════════════════════════════════════ */
.her-leader {
    padding: 80px 0;
    background: #0c0a07;
    position: relative;
}
.her-leader-alt {
    background: #100e0a;
}

/* Inner flex row */
.her-inner {
    display: flex;
    align-items: center;
    gap: 80px;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 36px;
}
.her-flip .her-inner {
    flex-direction: row-reverse;
}

/* ────────────────────────────────────────────
   PHOTO COLUMN
──────────────────────────────────────────── */
.her-photo-col {
    flex-shrink: 0;
    width: 360px;
}

/* Multi-layer portrait frame */
.her-frame-wrap {
    position: relative;
    padding: 10px;
    background: #13100c;
    border: 2px solid rgba(201,168,76,.55);
    /* outer ring via box-shadow */
    box-shadow:
        0 0 0 7px #0c0a07,
        0 0 0 8px rgba(201,168,76,.2),
        0 28px 72px rgba(0,0,0,.75),
        0 4px 16px rgba(201,168,76,.08);
    line-height: 0;
    transition: box-shadow .35s ease;
    margin: 8px;          /* room for outer ring */
}
.her-leader:hover .her-frame-wrap {
    box-shadow:
        0 0 0 7px #0c0a07,
        0 0 0 9px rgba(201,168,76,.4),
        0 36px 90px rgba(0,0,0,.8),
        0 4px 20px rgba(201,168,76,.12);
}

/* Inner thin border on photo */
.her-frame-wrap::before {
    content: '';
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(201,168,76,.12);
    pointer-events: none;
    z-index: 1;
}

/* Vignette overlay */
.her-frame-wrap::after {
    content: '';
    position: absolute;
    inset: 10px;
    background: radial-gradient(ellipse 80% 70% at 50% 0%, transparent 40%, rgba(0,0,0,.38) 100%);
    pointer-events: none;
    z-index: 1;
}

.her-portrait {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: top center;
    display: block;
    filter: sepia(22%) contrast(1.08) brightness(0.9) saturate(0.82);
    transition: filter .4s ease;
}
.her-leader:hover .her-portrait {
    filter: sepia(10%) contrast(1.04) brightness(0.95) saturate(0.92);
}

.her-no-portrait {
    width: 100%;
    aspect-ratio: 3 / 4;
    background: #1a1510;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 90px;
    color: rgba(201,168,76,.06);
}

/* Birth–death years below photo */
.her-years {
    text-align: center;
    margin-top: 22px;
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    letter-spacing: 3px;
    color: rgba(201,168,76,.6);
}
.her-years-dash { padding: 0 8px; opacity: .5; }

/* ────────────────────────────────────────────
   TEXT COLUMN
──────────────────────────────────────────── */
.her-text-col {
    flex: 1;
    min-width: 0;
}

/* Large faded Roman numeral */
.her-seq {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 96px;
    font-weight: 700;
    line-height: 1;
    color: rgba(201,168,76,.06);
    margin-bottom: -36px;
    user-select: none;
}

/* Party / era badge */
.her-badge-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.her-party-pill {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(201,168,76,.85);
    border: 1px solid rgba(201,168,76,.3);
    padding: 4px 14px 3px;
}
.her-era-tag {
    font-size: 11px;
    color: rgba(201,168,76,.4);
    font-family: 'Playfair Display', serif;
    font-style: italic;
}

/* Leader name */
.her-name {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    font-weight: 700;
    color: #f0e8d5;
    line-height: 1.15;
    margin: 0 0 8px;
}

/* Designation */
.her-desig {
    font-size: 12px;
    font-weight: 500;
    color: #9a8870;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 26px;
}

/* Gold ornamental rule */
.her-rule {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}
.her-rule-line {
    height: 1px;
    width: 52px;
    background: linear-gradient(to right, rgba(201,168,76,.8), transparent);
}
.her-rule-diamond {
    font-size: 8px;
    color: rgba(201,168,76,.7);
}

/* Description */
.her-desc {
    font-size: 14px;
    line-height: 2;
    color: #a89880;
    margin: 0 0 28px;
}

/* Quote / ideology */
.her-quote {
    position: relative;
    padding: 20px 22px 20px 32px;
    border-left: 2px solid rgba(201,168,76,.5);
    background: rgba(201,168,76,.04);
}
.her-quote-mark {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 64px;
    line-height: 1;
    color: rgba(201,168,76,.14);
    position: absolute;
    top: 4px;
    left: 8px;
    font-style: normal;
    user-select: none;
}
.her-quote-text {
    font-size: 13.5px;
    font-style: italic;
    line-height: 1.9;
    color: #9a8870;
    margin: 0;
    padding-left: 14px;
}

/* ════════════════════════════════════════════
   ORNAMENTAL DIVIDER (between leaders)
════════════════════════════════════════════ */
.her-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 0;
    background: inherit;
}
.her-div-line {
    flex: 1;
    max-width: 200px;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(201,168,76,.25), transparent);
}
.her-div-icon {
    color: rgba(201,168,76,.35);
    font-size: 10px;
    letter-spacing: 8px;
    flex-shrink: 0;
}

/* ════════════════════════════════════════════
   FOOTER ORNAMENT
════════════════════════════════════════════ */
.her-footer-orn {
    text-align: center;
    padding: 52px 0 72px;
    background: #0c0a07;
    border-top: 1px solid rgba(201,168,76,.1);
}
.her-footer-orn .her-ornament {
    max-width: 260px;
    margin: 0 auto 16px;
}
.her-footer-text {
    font-family: 'Playfair Display', serif;
    font-size: 13px;
    font-style: italic;
    color: rgba(201,168,76,.35);
    letter-spacing: 1px;
    margin: 0;
}

/* ════════════════════════════════════════════
   EMPTY STATE
════════════════════════════════════════════ */
.her-empty {
    text-align: center;
    padding: 100px 20px;
    background: #0c0a07;
}
.her-empty-icon {
    font-size: 52px;
    color: rgba(201,168,76,.15);
    margin-bottom: 24px;
}
.her-empty h3 {
    font-family: 'Playfair Display', serif;
    color: #f0e8d5;
    font-size: 22px;
    margin-bottom: 10px;
}
.her-empty p {
    color: #9a8870;
    font-style: italic;
    font-size: 14px;
}

/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media (max-width: 1100px) {
    .her-photo-col { width: 300px; }
    .her-inner { gap: 56px; }
    .her-name { font-size: 34px; }
}

@media (max-width: 991px) {
    .her-inner,
    .her-flip .her-inner {
        flex-direction: column;
        gap: 44px;
        align-items: center;
        padding: 0 28px;
    }
    .her-photo-col { width: 280px; }
    .her-portrait { aspect-ratio: 4 / 5; }
    .her-no-portrait { aspect-ratio: 4 / 5; }
    .her-hero-title { font-size: 42px; }
    .her-name { font-size: 30px; }
    .her-seq { font-size: 72px; }
    .her-leader { padding: 64px 0; }
}

@media (max-width: 575px) {
    .her-hero { padding: 56px 0 48px; }
    .her-hero-title { font-size: 30px; }
    .her-hero-sub { font-size: 13px; }
    .her-leader { padding: 48px 0; }
    .her-inner { padding: 0 20px; gap: 32px; }
    .her-photo-col { width: 240px; }
    .her-name { font-size: 26px; }
    .her-seq { font-size: 56px; margin-bottom: -28px; }
    .her-frame-wrap { margin: 4px; }
    .her-desc { font-size: 13px; }
    .her-quote-text { font-size: 12px; }
}
