
/* ═══════════════════════════════════════════════════════════════════════════
   CUERPO HUMANO — Sistema de diseño
   Paleta: Azul sanitario #0288d1 → #01579b
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
    --blue-light: #0288d1;
    --blue-dark:  #01579b;
    --blue-bg:    #e3f2fd;
    --blue-border:#b3d9f5;
    --text:       #1a2a3a;
    --text-light: #4a6070;
    --white:      #ffffff;
    --radius:     12px;
    --shadow:     0 4px 20px rgba(2, 136, 209, 0.12);
}

/* ── Cabecera hero (pilar pages) ── */
.pilar-wrap {
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 220px 1fr 0px;
    gap: 0 40px;
    padding: 0 clamp(14px, 3vw, 40px) 72px;
}

.pilar-left {
    padding-top: 0;
}

.pilar-header {
    background: linear-gradient(155deg, var(--blue-dark), var(--blue-light));
    color: var(--white);
    border-radius: var(--radius);
    padding: 32px 24px 28px;
    position: sticky;
    top: 80px;
    text-align: center;
}

.pilar-emoji {
    font-size: 3rem;
    margin-bottom: 12px;
    line-height: 1;
}

.pilar-header h1 {
    font-size: 1.4rem;
    font-weight: 800;
    margin: 0 0 8px;
    color: var(--white) !important;
    line-height: 1.2;
}

.pilar-meta {
    display: inline-block;
    background: rgba(255,255,255,.2);
    color: var(--white);
    border-radius: 20px;
    padding: 3px 12px;
    font-size: .8rem;
    font-weight: 600;
    margin-bottom: 16px;
}

/* ── Breadcrumb ── */
.breadcrumb {
    font-size: .78rem;
    margin-top: 14px;
    line-height: 1.6;
}

.breadcrumb a { color: rgba(255,255,255,.85); text-decoration: none; }
.breadcrumb a:hover { color: var(--white); }
.breadcrumb-sep { margin: 0 5px; opacity: .6; }
.breadcrumb-current { color: var(--white); font-weight: 600; }

/* ── Contenido pilar ── */
.pilar-content {
    padding-top: 32px;
}

.pilar-content h2 {
    font-size: 1.4rem;
    color: var(--blue-dark);
    border-bottom: 2px solid var(--blue-border);
    padding-bottom: 8px;
    margin: 32px 0 16px;
}

.pilar-content h3 {
    font-size: 1.1rem;
    color: var(--blue-dark);
    margin: 24px 0 10px;
}

.pilar-content p,
.pilar-content li {
    color: var(--text-light);
    line-height: 1.8;
    font-size: .97rem;
}

/* ── Grid heading ── */
.grid-heading {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--blue-dark);
    margin: 36px 0 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--blue-border);
}

/* ── Grid de sistemas (nivel 1) ── */
.sistemas-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0 0 40px;
}

.sistema-card {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    border: 1px solid var(--blue-border);
    text-decoration: none;
    transition: transform .2s, box-shadow .2s;
}

.sistema-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(2,136,209,.2);
}

.sistema-img {
    width: 100%;
    height: 220px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #ffffff;
}

.sistema-img--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
}

.sistema-body {
    padding: 16px 18px 20px;
    flex: 1;
}

.sistema-name {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--blue-dark);
    margin-bottom: 4px;
}

.sistema-count {
    display: block;
    font-size: .78rem;
    color: var(--blue-light);
    font-weight: 600;
    margin-bottom: 6px;
}

.sistema-desc {
    font-size: .83rem;
    color: var(--text-light);
    line-height: 1.5;
    margin: 0;
}

/* ── Grid de órganos/artículos (nivel 2) ── */
.organos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0 0 40px;
}

.organo-card {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    border: 1px solid var(--blue-border);
    text-decoration: none;
    transition: transform .2s, box-shadow .2s;
}

.organo-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(2,136,209,.2);
}

.organo-img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    display: block;
}

.organo-img-placeholder {
    width: 100%;
    aspect-ratio: 16/10;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    background: var(--blue-bg);
}

.organo-body {
    padding: 16px 18px 20px;
    flex: 1;
}

.organo-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--blue-dark);
    margin-bottom: 6px;
    line-height: 1.3;
}

.organo-excerpt {
    font-size: .83rem;
    color: var(--text-light);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Banner de cookies ── */
#cookie-bar {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 99999;
    background: var(--blue-dark); color: #fff;
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; padding: 14px 24px;
    font-size: .88rem; line-height: 1.5;
    box-shadow: 0 -2px 12px rgba(0,0,0,.2);
}
#cookie-bar p { margin: 0; flex: 1; }
#cookie-bar a { color: #90caf9; text-decoration: underline; }
#cookie-bar button {
    background: var(--blue-light); color: #fff; border: none;
    padding: 9px 22px; border-radius: 6px;
    font-weight: 700; font-size: .88rem; cursor: pointer;
    white-space: nowrap; flex-shrink: 0;
    transition: background .2s;
}
#cookie-bar button:hover { background: #039be5; }

/* ── Responsive ── */
@media (max-width: 900px) {
    .pilar-wrap {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0 16px 48px;
    }

    .pilar-header {
        position: static;
        border-radius: 0 0 var(--radius) var(--radius);
        padding: 24px 20px;
    }

    .sistemas-grid,
    .organos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    #cookie-bar {
        flex-direction: column;
        align-items: flex-start;
        padding: 16px;
    }
    #cookie-bar button { width: 100%; text-align: center; }
}

@media (max-width: 480px) {
    .sistemas-grid,
    .organos-grid {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════════════════════════ */

.header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--white);
    border-bottom: 2px solid var(--blue-border);
    box-shadow: 0 2px 16px rgba(2,136,209,.08);
}

.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    height: 68px;
    display: flex;
    align-items: center;
    gap: 32px;
}

.header-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    font-size: 1.4rem;
    flex-shrink: 0;
}

.logo-text {
    font-size: 1.1rem;
    color: var(--text);
    font-weight: 400;
}

.logo-text strong {
    color: var(--blue-light);
    font-weight: 800;
}

/* ── Nav ── */
.nav { margin-left: auto; }

.nav-list {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-item { position: relative; }

.nav-link {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--text);
    font-size: .92rem;
    font-weight: 500;
    transition: background .15s, color .15s;
    white-space: nowrap;
}

.nav-link:hover {
    background: var(--blue-bg);
    color: var(--blue-dark);
}

.nav-arrow { font-size: .65rem; opacity: .7; }

/* ── Dropdown ── */
.dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--white);
    border: 1px solid var(--blue-border);
    border-radius: var(--radius);
    box-shadow: 0 8px 40px rgba(2,136,209,.18);
    min-width: 480px;
    padding: 16px;
    z-index: 2000;
}

.nav-has-dropdown:hover .dropdown { display: block; }

.dropdown-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
}

.dropdown-grid a {
    display: block;
    padding: 9px 14px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--text);
    font-size: .88rem;
    font-weight: 500;
    transition: background .15s;
}

.dropdown-grid a:hover {
    background: var(--blue-bg);
    color: var(--blue-dark);
}

/* ── Burger ── */
.burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    margin-left: auto;
}

.burger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--blue-dark);
    border-radius: 2px;
    transition: transform .2s, opacity .2s;
}

/* ── Menú móvil ── */
.mobile-menu {
    display: none;
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--white);
    overflow-y: auto;
    z-index: 999;
    padding: 24px;
}

.mobile-menu--open { display: block; }
body.menu-open { overflow: hidden; }

.mobile-menu h3 {
    font-size: 1rem;
    color: var(--blue-dark);
    margin: 0 0 12px;
    font-weight: 700;
}

.mobile-menu ul {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mobile-menu ul a {
    display: block;
    padding: 12px 16px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--text);
    font-size: .95rem;
    font-weight: 500;
    transition: background .15s;
}

.mobile-menu ul a:hover {
    background: var(--blue-bg);
    color: var(--blue-dark);
}

/* ═══════════════════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════════════════════ */

.footer {
    background: linear-gradient(155deg, #012f5a, var(--blue-dark));
    color: rgba(255,255,255,.85);
    margin-top: 80px;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 24px 40px;
    display: grid;
    grid-template-columns: 2fr 1.5fr 1fr 1fr;
    gap: 40px;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--white);
    font-size: 1.3rem;
    font-weight: 800;
    margin-bottom: 14px;
}

.footer-logo span { font-size: 1rem; font-weight: 700; }

.footer-desc {
    font-size: .85rem;
    line-height: 1.7;
    color: rgba(255,255,255,.65);
    margin: 0;
}

.footer-col h4 {
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--white);
    margin: 0 0 14px;
}

.footer-col ul {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.footer-col ul a {
    color: rgba(255,255,255,.7);
    text-decoration: none;
    font-size: .85rem;
    transition: color .15s;
}

.footer-col ul a:hover { color: var(--white); }

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    text-align: center;
    padding: 20px 24px;
}

.footer-bottom p {
    font-size: .78rem;
    color: rgba(255,255,255,.45);
    margin: 0;
}

/* ── Responsive header/footer ── */
@media (max-width: 900px) {
    .nav { display: none; }
    .burger { display: flex; }

    .footer-inner {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
        padding: 40px 20px 32px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .footer-inner {
        grid-template-columns: 1fr;
    }
}

/* ── Fix GeneratePress: ocultar su header/footer original ── */
.site-header,
.site-footer,
.generate-back-to-top { display: none !important; }

/* ── Contenido principal ── */
.site-content { padding: 0 !important; }
.inside-article { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* Logo imagen */
.logo-img { height: 40px; width: auto; display: block; }

/* Logo footer */
.footer-logo-img { height: 44px; width: auto; display: block; filter: brightness(0) invert(1); }

/* Header más alto + logo más grande */
.header-inner { height: 90px; }
.logo-img { height: 60px; }

/* Header: logo más grande, menú centrado, letras más grandes */
.logo-img { height: 72px; }
.header-inner { height: 100px; }
.nav { margin-left: auto; margin-right: auto; }
.nav-link { font-size: 1.05rem; padding: 10px 18px; }

/* Footer logo — sin filtro, con fondo blanco semitransparente */
.footer-logo-img {
    height: 52px;
    width: auto;
    display: block;
    filter: none;
    background: rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 6px 10px;
}
/* ── Paleta Rosa/Morado ── */
:root {
    --blue-light:  #e0609e;
    --blue-dark:   #c44e96;
    --blue-bg:     #fdf0f7;
    --blue-border: #f5c6e8;
}

/* Header */
.header { border-bottom-color: #f5c6e8; box-shadow: 0 2px 16px rgba(196,78,150,.08); }
.nav-link:hover { background: #fdf0f7; color: #c44e96; }
.dropdown { border-color: #f5c6e8; box-shadow: 0 8px 40px rgba(196,78,150,.15); }
.dropdown-grid a:hover { background: #fdf0f7; color: #c44e96; }
.burger span { background: #c44e96; }

/* Cabecera pilar lateral */
.pilar-header { background: linear-gradient(155deg, #b03685, #e0609e); }

/* Headings */
.pilar-content h2 { color: #c44e96; border-bottom-color: #f5c6e8; }
.pilar-content h3 { color: #c44e96; }
.grid-heading { color: #c44e96; border-bottom-color: #f5c6e8; }
.pilar-content p, .pilar-content li { color: #4a2a3a; }

/* Cards */
.sistema-card, .organo-card {
    border-color: #f5c6e8;
    box-shadow: 0 4px 20px rgba(196,78,150,.09);
}
.sistema-card:hover, .organo-card:hover {
    box-shadow: 0 8px 32px rgba(196,78,150,.2);
}
.sistema-img--empty, .organo-img-placeholder { background: #fdf0f7; }
.sistema-name { color: #c44e96; }
.sistema-count { color: #e0609e; }

/* Footer — morado intenso del logo */
.footer { background: linear-gradient(155deg, #3a0a6e, #7b1fa2); }

/* Botones — morado intenso */
#cookie-bar { background: #572e9c; }
#cookie-bar button { background: #7b1fa2; }
#cookie-bar button:hover { background: #903ec9; }
#cookie-bar a { color: #f0c8ff; }

/* Logo footer */
.footer-logo-img {
    height: 52px; width: auto; display: block;
    filter: none;
    background: rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 6px 10px;
}
/* Logo header */
.logo-img { height: 72px; }
.header-inner { height: 100px; }
.nav-link { font-size: 1.05rem; padding: 10px 18px; }
.nav { margin-left: auto; margin-right: auto; }

/* Footer — rosa */
.footer { background: linear-gradient(155deg, #8a2060, #e0609e) !important; }
#cookie-bar { background: #b03685 !important; }
#cookie-bar button { background: #8a2060 !important; }
#cookie-bar button:hover { background: #c44e96 !important; }

/* Rosa más claro */
.footer { background: linear-gradient(155deg, #c06090, #f0a0cc) !important; }
.pilar-header { background: linear-gradient(155deg, #c06090, #f0a0cc) !important; }
#cookie-bar { background: #c06090 !important; }
#cookie-bar button { background: #a04878 !important; }
#cookie-bar button:hover { background: #b85898 !important; }
:root {
    --blue-light: #f090c0;
    --blue-dark:  #d06aa0;
    --blue-bg:    #fef5fa;
    --blue-border:#fad0ea;
}
.header { border-bottom-color: #fad0ea !important; }
.sistema-card, .organo-card { border-color: #fad0ea !important; }
.sistema-name, .grid-heading,
.pilar-content h2, .pilar-content h3 { color: #d06aa0 !important; }
.sistema-count { color: #f090c0 !important; }
.nav-link:hover { background: #fef5fa !important; color: #d06aa0 !important; }
.dropdown { border-color: #fad0ea !important; }
.dropdown-grid a:hover { background: #fef5fa !important; color: #d06aa0 !important; }
.burger span { background: #d06aa0 !important; }

/* Font size footer y cookies */
.footer-col ul a { font-size: 1rem !important; }
.footer-col h4 { font-size: 0.95rem !important; }
.footer-desc { font-size: 1rem !important; }
.footer-bottom p { font-size: 0.9rem !important; }
#cookie-bar { font-size: 1rem !important; }
#cookie-bar button { font-size: 1rem !important; }

/* Dropdown click */
.dropdown--open { display: block !important; }
.nav-has-dropdown { cursor: pointer; }

/* Logo footer — más grande, sin fondo */
.footer-logo-img {
    height: 80px !important;
    width: auto !important;
    display: block !important;
    filter: none !important;
    background: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* Dropdown — eliminar gap y quitar hover, solo click */
.nav-has-dropdown:hover .dropdown { display: none; }
.dropdown {
    top: 100% !important;
    margin-top: 0 !important;
    left: 0 !important;
    transform: none !important;
    min-width: 520px;
}
/* Puente invisible para que el ratón no pierda el foco */
.nav-has-dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 10px;
}

/* Footer — mismo tono que cookie bar */
.footer { background: linear-gradient(155deg, #8a3060, #c06090) !important; }

.footer-logo-img { height: 120px !important; }
.footer-logo-img { height: 150px !important; }

/* Cookie bar — degradado morado del logo */
#cookie-bar { background: linear-gradient(135deg, #3a0a6e, #7b1fa2) !important; }
#cookie-bar button { background: #572e9c !important; }
#cookie-bar button:hover { background: #903ec9 !important; }

/* Cookie bar — morado clarito */
#cookie-bar { background: linear-gradient(135deg, #9b59b6, #c39bd3) !important; }
#cookie-bar button { background: #8e44ad !important; }
#cookie-bar button:hover { background: #a569bd !important; }

/* Dropdown hover — sin gap */
.dropdown {
    display: none;
    top: 100% !important;
    margin-top: 0 !important;
}
.nav-has-dropdown:hover .dropdown,
.dropdown--open { display: block !important; }

/* Puente invisible entre el link y el dropdown para no perder el hover */
.nav-has-dropdown > .nav-link::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    right: 0;
    height: 8px;
}
.nav-has-dropdown { position: relative; }

/* Icono nav */
.nav-icon { color: #c44e96; font-size: .8rem; margin-right: 4px; }

/* Layout pilar — ancho completo */
.pilar-wrap {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 220px 1fr 0px;
    gap: 0;
    padding: 0;
    margin: 0;
}

.pilar-left {
    min-height: 100%;
    align-self: stretch;
    padding: 0;
}

.pilar-header {
    height: 100%;
    border-radius: 0;
    position: sticky;
    top: 100px;
}

.pilar-center {
    min-width: 0;
}

.pilar-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 40px 72px;
}

@media (max-width: 900px) {
    .pilar-wrap {
        display: flex;
        flex-direction: column;
    }
    .pilar-left { min-height: auto; }
    .pilar-header { height: auto; position: static; border-radius: 0; }
    .pilar-content { padding: 24px 20px 48px; }
}

/* Sidebar publicidad — placeholder */
.pilar-wrap {
    grid-template-columns: 220px 1fr 300px;
}
.pilar-right {
    min-width: 300px;
    padding: 32px 20px;
}
@media (max-width: 1100px) {
    .pilar-wrap { grid-template-columns: 220px 1fr; }
    .pilar-right { display: none; }
}
.pilar-content { max-width: 900px !important; }

/* Imágenes en posts — controlar tamaño */
.entry-content img,
.pilar-content img {
    max-width: 100% !important;
    height: auto !important;
}

/* Featured image en posts individuales */
.post-thumbnail img,
img.wp-post-image {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    margin-bottom: 24px;
}

/* Cards del grid — imagen proporcional */
.organo-img {
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    display: block !important;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE POST
   ═══════════════════════════════════════════════════════════ */

/* Hero cabecera */
.single-hero {
    background: linear-gradient(155deg, #c06090, #f0a0cc);
    color: #fff;
    padding: 0;
}
.single-hero-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 28px 40px 32px;
}
.single-hero h1 {
    font-size: 2rem;
    font-weight: 800;
    margin: 10px 0 0;
    color: #fff !important;
    line-height: 1.25;
}

/* Breadcrumb */
.breadcrumb { font-size: .82rem; opacity: .85; }
.breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
.breadcrumb a:hover { color: #fff; }
.breadcrumb-sep { margin: 0 6px; }
.breadcrumb-current { font-weight: 600; }

/* Layout 3 columnas */
.single-wrap {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px clamp(16px,3vw,40px) 72px;
    display: grid;
    grid-template-columns: 1fr 280px 300px;
    gap: 40px;
    align-items: start;
}

/* Imagen destacada */
.single-featured-img {
    margin: 0 0 28px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(192,38,160,.12);
}
.single-featured-img img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    display: block;
}

/* Contenido */
.single-content h2 {
    font-size: 1.3rem;
    color: #c44e96;
    border-bottom: 2px solid #f5c6e8;
    padding-bottom: 6px;
    margin: 32px 0 14px;
}
.single-content h3 { font-size: 1.05rem; color: #c44e96; margin: 24px 0 10px; }
.single-content p, .single-content li { color: #3a2a3a; line-height: 1.8; font-size: .97rem; }
.single-content ul, .single-content ol { padding-left: 22px; margin: 0 0 16px; }
.single-content strong { color: #7b1fa2; }

/* Sidebar — ficha técnica */
.single-sidebar { position: sticky; top: 110px; }

.ficha-tecnica {
    background: #fff;
    border-left: 4px solid #c44e96;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 3px 18px rgba(192,38,160,.1);
    overflow: hidden;
    font-size: .85rem;
    margin-bottom: 24px;
}
.ficha-title {
    background: linear-gradient(135deg, #c06090, #e0a0cc);
    color: #fff;
    font-size: .85rem;
    font-weight: 700;
    padding: 10px 16px;
    margin: 0;
}
.ficha-table { width: 100%; border-collapse: collapse; }
.ficha-table tr:nth-child(even) td { background: #fdf0f7; }
.ficha-key { padding: 7px 10px 7px 14px; color: #7b1fa2; font-weight: 600; width: 45%; vertical-align: top; }
.ficha-val { padding: 7px 14px 7px 6px; color: #3a2a3a; vertical-align: top; }

/* Columna derecha — publicidad futura */
.single-right { min-width: 300px; }
.ads-placeholder { height: 250px; background: #fdf0f7; border: 2px dashed #f0c8e4; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #ccc; font-size: .8rem; }
.ads-placeholder::after { content: 'Publicidad'; }

/* Responsive */
@media (max-width: 1100px) {
    .single-wrap { grid-template-columns: 1fr 280px; }
    .single-right { display: none; }
}
@media (max-width: 768px) {
    .single-wrap { display: flex; flex-direction: column; padding: 24px 16px 48px; gap: 24px; }
    .single-sidebar { position: static; }
    .single-hero-inner { padding: 20px 20px 24px; }
    .single-hero h1 { font-size: 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════
   FAQ ACORDEÓN — Yoast FAQ Block
═══════════════════════════════════════════════════════════ */
.schema-faq-section {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 0;
}
.schema-faq-section:first-child {
    border-top: 1px solid #e0e0e0;
}
.schema-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 16px 0;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    color: #01579b;
    background: none;
    border: none;
    text-align: left;
    list-style: none;
}
.schema-faq-question::after {
    content: '+';
    font-size: 1.4rem;
    font-weight: 400;
    color: #0288d1;
    flex-shrink: 0;
    margin-left: 12px;
    transition: transform 0.2s ease;
}
.schema-faq-section.faq-open .schema-faq-question::after {
    content: '−';
}
.schema-faq-answer {
    display: none !important;
    padding: 0 0 16px 0;
    color: #333;
    line-height: 1.7;
    margin: 0;
}
.schema-faq-section.faq-open .schema-faq-answer {
    display: block !important;
}

/* ── Ancho del contenido en posts single ─────────────────────────────────── */
.tpl-single #content,
.tpl-single .inside-article,
.tpl-single .entry-content,
.tpl-single .site-main {
    max-width: 100% !important;
    width: 100% !important;
}

.tpl-single .inside-article {
    padding: 0 !important;
}

/* ── Contenedor GP en single: quitar max-width restrictivo ──────────────── */
.tpl-single .container,
.tpl-single #content,
.tpl-single #primary,
.tpl-single .content-area {
    max-width: 1200px !important;
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* ═══════════════════════════════════════════════════════════
   CURIOSIDADES — mismo estilo que atlas de animales
═══════════════════════════════════════════════════════════ */
.ch-curios {
    background: #e8f4f8;
    border-left: 4px solid #0288d1;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 32px 0;
}
.ch-curios-heading {
    font-size: 1.1rem;
    font-weight: 700;
    color: #01579b;
    margin-bottom: 14px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.ch-curios-list {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #1a3a4a;
    line-height: 1.85;
    font-size: .97rem;
}
.ch-curios-list li {
    margin-bottom: 12px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.ch-curios-list li:last-child { margin-bottom: 0; }
.curio-icon {
    flex-shrink: 0;
    font-size: 1.05rem;
    margin-top: 3px;
}

/* ── Intro separada + caption imagen portada ─────────────────────────────── */
.single-intro {
    font-size: 1.08rem;
    line-height: 1.8;
    color: #222;
    margin-bottom: 24px;
}
.single-featured-img {
    margin: 0 0 32px;
}
.single-featured-img img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
}
.single-img-caption {
    font-size: 0.85rem;
    color: #555;
    text-align: center;
    margin-top: 8px;
    font-style: italic;
    line-height: 1.5;
}
