/* ==============================================
   CCESDN – MEMBERS / ORGANIGRAMA  v1.3
   CORREGIDO: --cm-primary era #c1202a (rojo)
   Ahora usa dorado (#B8962E) como primario del tema.
   El rojo queda como color de acento de PRESIDENCIA.
   ============================================== */

:root {
    --cm-primary:   #B8962E;          /* FIX: era #c1202a (rojo) — ahora dorado como el tema */
    --cm-red:       #c1202a;          /* rojo reservado solo para badge presidencia */
    --cm-secondary: #0a2558;          /* navy — alineado a --ccesdn-secondary ✓ */
    --cm-gold:      #B8962E;          /* alias de primary */
    --cm-dark:      #0d1b3e;          /* --ccesdn-dark ✓ */
    --cm-gray:      #e2e8f0;          /* --ccesdn-gray ✓ */
    --cm-light:     #FDF8E8;          /* --ccesdn-gold-tint */
    --cm-text:      #1e2a3a;
    --cm-muted:     #64748b;
    --cm-radius:    12px;
    --cm-shadow:    0 4px 24px rgba(10,37,88,.10);
    --cm-shadow-lg: 0 16px 56px rgba(10,37,88,.22);
    --cm-ease:      cubic-bezier(.4,0,.2,1);
}

/* ── Wrapper ── */
.ccesdn-organigrama {
    font-family: 'Open Sans', sans-serif;
    color: var(--cm-text);
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px 60px;
}

/* ── Header ── */
.ccesdn-org-header {
    text-align: center;
    padding: 48px 0 32px;
    border-bottom: 3px solid var(--cm-gray);
    margin-bottom: 48px;
}
.ccesdn-org-header h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.3rem, 3vw, 2rem);
    font-weight: 800;
    color: var(--cm-secondary);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ccesdn-org-header h2::after {
    content: '';
    display: block;
    height: 4px; width: 60px;
    background: var(--cm-primary);          /* dorado ✓ */
    margin: 12px auto 0;
    border-radius: 2px;
}

/* ── Section ── */
.ccesdn-org-section { margin-bottom: 56px; }

.ccesdn-section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: .68rem; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: var(--cm-muted);
    text-align: center; margin-bottom: 28px;
}
.ccesdn-section-title::before,
.ccesdn-section-title::after {
    content: ''; display: inline-block;
    width: 36px; height: 1px;
    background: var(--cm-gray);
    vertical-align: middle; margin: 0 12px;
}

/* ── Grids ── */
.ccesdn-grid { display: grid; gap: 28px; }
.ccesdn-grid--ejecutivo {
    grid-template-columns: repeat(2, 1fr);
    max-width: 960px; margin: 0 auto; gap: 32px;
}
.ccesdn-grid--ejecutivo .ccesdn-card:only-child {
    grid-column: 1 / -1; max-width: 380px; margin: 0 auto;
}
.ccesdn-grid--multi { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 20px; }
.ccesdn-grid--single { grid-template-columns: 300px; justify-content: center; }

/* ── Card base ── */
.ccesdn-card {
    background: #fff;
    border: 1px solid var(--cm-gray);
    border-radius: var(--cm-radius);
    overflow: hidden; cursor: pointer;
    transition: transform .28s var(--cm-ease), box-shadow .28s var(--cm-ease), border-color .28s var(--cm-ease);
    outline: none;
    display: flex; flex-direction: column; position: relative;
}
.ccesdn-card:hover,
.ccesdn-card:focus-visible {
    transform: translateY(-6px);
    box-shadow: var(--cm-shadow-lg);
    border-color: var(--cm-primary);        /* borde dorado en hover ✓ */
}
.ccesdn-card:focus-visible { outline: 3px solid var(--cm-primary); outline-offset: 2px; }

/* ─── CORRECCIÓN BORDES SUPERIORES ──────────────────────
   Presidencia: rojo (distinción máxima)
   Ejecutivo:   navy (secundario del tema)
   Director:    dorado (primario del tema, no gris)
   Embajador:   verde ✓
───────────────────────────────────────────────────────── */
.ccesdn-card--presidencia { border-top: 4px solid var(--cm-red); }
.ccesdn-card--ejecutivo   { border-top: 4px solid var(--cm-secondary); }
.ccesdn-card--director    { border-top: 3px solid var(--cm-primary); }  /* FIX: era --cm-gray */
.ccesdn-card--embajador   { border-top: 4px solid #059669; }

/* Foto */
.ccesdn-card__photo-wrap {
    position: relative; padding-top: 115%;
    overflow: hidden; background: var(--cm-secondary); flex-shrink: 0;
}
.ccesdn-grid--ejecutivo .ccesdn-card__photo-wrap { padding-top: 100%; }
.ccesdn-card__photo {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; object-position: center top;
    display: block; transition: transform .36s var(--cm-ease);
}
.ccesdn-card:hover .ccesdn-card__photo { transform: scale(1.04); }

/* Overlay */
.ccesdn-card__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to bottom, transparent 50%, rgba(10,37,88,.65) 100%);
    display: flex; align-items: flex-end; justify-content: center;
    padding-bottom: 14px; opacity: 0; transition: opacity .28s var(--cm-ease);
}
.ccesdn-card:hover .ccesdn-card__overlay,
.ccesdn-card:focus-visible .ccesdn-card__overlay { opacity: 1; }
.ccesdn-card__icon { width: 36px; height: 36px; color: #fff; filter: drop-shadow(0 2px 6px rgba(0,0,0,.4)); }

/* Badges */
.ccesdn-card__badge {
    position: absolute; top: 10px; left: 10px;
    background: var(--cm-red);              /* presidencia: rojo */
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: .55rem; font-weight: 800;
    letter-spacing: .1em; text-transform: uppercase;
    padding: 3px 8px; border-radius: 4px; z-index: 2; pointer-events: none;
}
.ccesdn-card--ejecutivo .ccesdn-card__badge  { background: var(--cm-secondary); }
.ccesdn-card--director .ccesdn-card__badge   { display: none; }
.ccesdn-card--pasado .ccesdn-card__badge     { background: #4b5563; }
.ccesdn-card--embajador .ccesdn-card__badge  { background: #059669; }

/* Body */
.ccesdn-card__body {
    padding: 16px 18px 20px; flex: 1;
    display: flex; flex-direction: column; gap: 3px;
}
.ccesdn-card__name {
    font-family: 'Montserrat', sans-serif;
    font-size: .9rem; font-weight: 700;
    color: var(--cm-secondary);              /* navy sobre blanco ✓ */
    line-height: 1.25; margin: 0 0 4px;
}
.ccesdn-grid--ejecutivo .ccesdn-card__name { font-size: 1.05rem; }
.ccesdn-card__cargo {
    font-size: .72rem; font-weight: 700;
    color: var(--cm-primary);               /* dorado sobre blanco ✓ (era rojo) */
    text-transform: uppercase; letter-spacing: .04em; line-height: 1.35; margin: 0;
}
.ccesdn-card__empresa { font-size: .72rem; color: var(--cm-muted); margin: 0; }

/* ── LIGHTBOX ── */
.ccesdn-lightbox {
    position: fixed; inset: 0; z-index: 999999;
    display: flex; align-items: center; justify-content: center;
    padding: 16px; pointer-events: none; visibility: hidden;
}
.ccesdn-lightbox.is-open { pointer-events: all; visibility: visible; }
.ccesdn-lightbox__overlay {
    position: absolute; inset: 0;
    background: rgba(10,37,88,.82);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    opacity: 0; transition: opacity .32s ease;
}
.ccesdn-lightbox.is-open .ccesdn-lightbox__overlay { opacity: 1; }

.ccesdn-lightbox__panel {
    position: relative; background: #fff;
    border-radius: 18px; max-width: 780px; width: 100%;
    max-height: 92vh; overflow-y: auto;
    box-shadow: 0 40px 100px rgba(0,0,0,.4);
    transform: scale(.88) translateY(32px); opacity: 0;
    transition: transform .38s cubic-bezier(.34,1.56,.64,1), opacity .28s ease;
    z-index: 1;
}
.ccesdn-lightbox.is-open .ccesdn-lightbox__panel { transform: scale(1) translateY(0); opacity: 1; }
.ccesdn-lightbox__panel::-webkit-scrollbar { width: 4px; }
.ccesdn-lightbox__panel::-webkit-scrollbar-thumb { background: var(--cm-gray); border-radius: 2px; }

/* Close button */
.ccesdn-lightbox__close {
    position: absolute; top: 14px; right: 14px;
    width: 38px; height: 38px; border-radius: 50%;
    border: none; background: rgba(255,255,255,.95);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    z-index: 10; box-shadow: 0 2px 12px rgba(0,0,0,.22);
    transition: background .22s ease, transform .22s ease;
}
.ccesdn-lightbox__close:hover { background: var(--cm-primary); transform: rotate(90deg); } /* dorado ✓ */
.ccesdn-lightbox__close svg { width: 18px; height: 18px; stroke: var(--cm-text); transition: stroke .22s ease; }
.ccesdn-lightbox__close:hover svg { stroke: #fff; }

/* Inner layout */
.ccesdn-lightbox__inner { display: grid; grid-template-columns: 260px 1fr; min-height: 360px; }

.ccesdn-lightbox__photo-wrap {
    position: relative; background: var(--cm-secondary);
    overflow: hidden; min-height: 340px;
}
.ccesdn-lightbox__photo-wrap img {
    width: 100%; height: 100%; object-fit: cover;
    object-position: center 10%; display: block; min-height: 340px;
}
.ccesdn-lb-stripe {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 5px; background: var(--cm-primary);  /* dorado ✓ */
}

/* Info side */
.ccesdn-lightbox__info { padding: 34px 28px 28px; display: flex; flex-direction: column; gap: 5px; }
.ccesdn-lb-categoria {
    display: inline-block;
    background: var(--cm-light);             /* gold-tint en vez de #f0f4ff azulado */
    color: var(--cm-secondary);
    font-family: 'Montserrat', sans-serif;
    font-size: .62rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    padding: 4px 12px; border-radius: 4px;
    border-left: 3px solid var(--cm-primary); /* dorado ✓ */
    margin-bottom: 10px; align-self: flex-start;
}
.ccesdn-lb-nombre {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.3rem; font-weight: 800;
    color: var(--cm-secondary); line-height: 1.2; margin: 0 0 4px;
}
.ccesdn-lb-cargo {
    font-size: .82rem; font-weight: 700;
    color: var(--cm-primary);               /* dorado ✓ (era rojo) */
    text-transform: uppercase; letter-spacing: .05em; margin: 0; line-height: 1.4;
}
.ccesdn-lb-empresa { font-size: .82rem; color: var(--cm-muted); font-weight: 600; margin: 0; }
.ccesdn-lb-bio {
    font-size: .85rem; color: #4a5568; line-height: 1.7;
    margin: 14px 0 0; padding-top: 14px;
    border-top: 1px solid var(--cm-gray); flex: 1;
}
.ccesdn-lb-bio:empty { display: none; }

.ccesdn-lb-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ccesdn-lb-link {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: .76rem; font-weight: 600;
    color: var(--cm-secondary); text-decoration: none;
    padding: 7px 14px;
    border: 1.5px solid var(--cm-gray);
    border-radius: 6px; transition: all .22s ease;
}
.ccesdn-lb-link:hover { background: var(--cm-secondary); color: #fff; border-color: var(--cm-secondary); }
.ccesdn-lb-link svg { width: 13px; height: 13px; flex-shrink: 0; }

/* Responsive */
@media (max-width: 720px) {
    .ccesdn-grid--ejecutivo { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .ccesdn-lightbox__inner { grid-template-columns: 1fr; }
    .ccesdn-lightbox__photo-wrap { min-height: 220px; max-height: 260px; }
    .ccesdn-lightbox__photo-wrap img { min-height: 220px; }
    .ccesdn-lightbox__info { padding: 22px 20px; }
    .ccesdn-lb-nombre { font-size: 1.1rem; }
}
@media (max-width: 480px) {
    .ccesdn-grid--ejecutivo { grid-template-columns: 1fr 1fr; gap: 12px; }
    .ccesdn-grid--multi { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
}

/* ── ANCHO COMPLETO: rompe el contenedor del tema ── */
.entry-content .ccesdn-organigrama,
.page-content .ccesdn-organigrama,
.single-column .ccesdn-organigrama,
.content-main .ccesdn-organigrama {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

