/*
Theme Name: Amor Divino Child
Theme URI: https://amordivinocr.org
Description: Tema hijo con branding oficial AD. Hereda de Twenty Twenty-Five.
Author: Asociación Iglesia Bíblica Amor Divino
Author URI: https://amordivinocr.org
Template: twentytwentyfive
Version: 1.0.0
License: MIT
License URI: https://opensource.org/licenses/MIT
Text Domain: amordivinocr-child
*/

/* ============================================================
   AMOR DIVINO · Paleta y tipografías oficiales
   ============================================================ */
:root {
    --ad-negro:        #1A1A1A;
    --ad-superficie:   #262626;
    --ad-borgona:      #8C3B51;
    --ad-purpura:      #592D56;
    --ad-terracota:    #732D27;
    --ad-crema:        #F6E7C6;
    --ad-rosa-polvo:   #D9A7B4;
    --ad-malva:        #C4A9C2;
    --ad-gris-piedra:  #666666;
    --ad-blanco:       #FFFFFF;
    --ad-gradiente:    linear-gradient(135deg, #732D27 0%, #8C3B51 50%, #592D56 100%);
    --ad-font-ui:      'Rubik', system-ui, -apple-system, sans-serif;
    --ad-font-serif:   'Trirong', Georgia, serif;

    /* Sobreescritura de variables nativas de Twenty Twenty-Five */
    --wp--preset--color--base: var(--ad-negro);
    --wp--preset--color--contrast: var(--ad-blanco);
    --wp--preset--font-family--body: var(--ad-font-ui);
    --wp--preset--font-family--heading: var(--ad-font-ui);
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    background-color: var(--ad-negro);
    color: var(--ad-blanco);
    font-family: var(--ad-font-ui);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    min-height: 100vh;
}

body.ad-theme { padding-top: 90px; }

a { color: var(--ad-rosa-polvo); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--ad-crema); }

img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   LAYOUT
   ============================================================ */
.ad-main { min-height: calc(100vh - 200px); }

.contenedor-pagina {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 32px 40px 60px 40px;
}

@media (max-width: 900px) { .contenedor-pagina { padding: 24px 24px 48px 24px; } }
@media (max-width: 600px) { .contenedor-pagina { padding: 20px 16px 40px 16px; } }

/* ============================================================
   TÍTULO PRINCIPAL · Inverso, centrado, cursiva, multilínea
   ============================================================ */
.ad-articulo__header { text-align: center; margin: 0 0 40px 0; }

.titulo-principal {
    display: inline;
    font-family: var(--ad-font-ui);
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
    font-size: 1.9rem;
    line-height: 1;
    letter-spacing: 0.02em;
    color: var(--ad-negro);
    background: var(--ad-blanco);
    padding: 4px 14px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.ad-articulo__header .subtitulo { margin-top: 18px; text-align: center; }

/* ============================================================
   JERARQUÍA TIPOGRÁFICA
   ============================================================ */
.ad-theme h1:not(.titulo-principal):not(.entry-title) {
    font-family: var(--ad-font-ui);
    font-weight: 900;
    font-style: normal;
    text-transform: uppercase;
    font-size: 1.5rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: var(--ad-blanco);
    margin: 32px 0 14px 0;
}

.ad-theme h2 {
    font-family: var(--ad-font-ui);
    font-weight: 700;
    font-style: italic;
    text-transform: uppercase;
    font-size: 1.25rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: var(--ad-malva);
    margin: 32px 0 12px 0;
}

.ad-theme h3 {
    font-family: var(--ad-font-ui);
    font-weight: 700;
    font-style: normal;
    text-transform: none;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
    text-decoration-color: var(--ad-borgona);
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--ad-rosa-polvo);
    margin: 24px 0 10px 0;
}

.ad-theme h4, .ad-theme h5, .ad-theme h6 {
    font-family: var(--ad-font-ui);
    font-weight: 700;
    font-size: 1rem;
    color: var(--ad-rosa-polvo);
    margin: 20px 0 8px 0;
}

/* ============================================================
   SUBTÍTULO · CITA · REFERENCIA
   ============================================================ */
.ad-theme .subtitulo,
.ad-theme p.subtitulo {
    font-family: var(--ad-font-serif);
    font-weight: 400;
    font-style: italic;
    font-size: 1.125rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.65);
    margin: 0 0 20px 0;
}

.ad-theme blockquote {
    font-family: var(--ad-font-serif);
    font-weight: 400;
    font-style: italic;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--ad-rosa-polvo);
    border-left: 3px solid var(--ad-borgona);
    background: rgba(140, 59, 81, 0.08);
    padding: 14px 20px;
    margin: 24px 0;
    border-radius: 0 8px 8px 0;
}

.ad-theme .referencia-biblica,
.ad-theme blockquote cite {
    font-family: var(--ad-font-serif);
    font-weight: 400;
    font-style: normal;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.65);
    display: block;
    margin-top: 6px;
}

/* ============================================================
   CUERPO
   ============================================================ */
.ad-theme .entry-content {
    font-family: var(--ad-font-ui);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
    text-align: left;
}

.ad-theme .entry-content > p,
.ad-theme .entry-content > ul,
.ad-theme .entry-content > ol,
.ad-theme .entry-content > blockquote,
.ad-theme .entry-content > h1,
.ad-theme .entry-content > h2,
.ad-theme .entry-content > h3,
.ad-theme .entry-content > h4 {
    max-width: 780px;
    margin-left: 0;
    margin-right: 0;
}

.ad-theme .entry-content p + p { margin-top: 14px; }

.ad-theme .entry-content img,
.ad-theme .entry-content figure,
.ad-theme .entry-content table,
.ad-theme .entry-content iframe,
.ad-theme .entry-content pre {
    max-width: 100%;
}

/* ============================================================
   LISTAS · Símbolos oficiales
   ============================================================ */
.ad-theme ul { list-style: none; padding-left: 0; margin: 12px 0; }
.ad-theme ul > li { position: relative; padding-left: 28px; margin-bottom: 8px; line-height: 1.6; }
.ad-theme ul > li::before {
    content: "\2605";
    position: absolute; left: 4px; top: 0;
    color: var(--ad-rosa-polvo);
    font-size: 0.85em;
}
.ad-theme ul ul > li::before {
    content: "\2022";
    color: var(--ad-malva);
    font-size: 1.2em;
    line-height: 1;
    left: 8px;
}
.ad-theme ul ul ul > li::before {
    content: "\25CB";
    color: rgba(246, 231, 198, 0.7);
    font-size: 0.9em;
    left: 12px;
}
.ad-theme ol { padding-left: 24px; margin: 12px 0; }
.ad-theme ol > li { padding-left: 4px; margin-bottom: 6px; line-height: 1.6; }

/* ============================================================
   METADATOS DEL ARTÍCULO
   ============================================================ */
.ad-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 22px 0 0 0;
    font-family: var(--ad-font-ui);
    font-size: 0.82rem;
}

.ad-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.6);
}

.ad-meta__item i { color: var(--ad-rosa-polvo); opacity: 0.85; }

.ad-meta__boton {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(140, 59, 81, 0.16);
    border: 1px solid rgba(217, 167, 180, 0.28);
    color: var(--ad-crema);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
}
.ad-meta__boton:hover {
    background: rgba(140, 59, 81, 0.32);
    border-color: var(--ad-rosa-polvo);
    color: var(--ad-blanco);
    transform: translateY(-1px);
}
.ad-meta__boton--pilar { background: rgba(140, 59, 81, 0.20); border-color: rgba(217, 167, 180, 0.45); }
.ad-meta__boton--audiencia { background: rgba(89, 45, 86, 0.24); border-color: rgba(196, 169, 194, 0.45); }
.ad-meta__boton--serie { background: rgba(115, 45, 39, 0.24); border-color: rgba(217, 167, 180, 0.40); }

/* ============================================================
   DESCARGABLES
   ============================================================ */
.ad-descargables {
    margin: 60px 0 20px 0;
    padding: 28px 24px 24px 24px;
    background: var(--ad-superficie);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-left: 3px solid var(--ad-borgona);
    border-radius: 16px;
}

.ad-descargables__titulo {
    font-family: var(--ad-font-ui);
    font-weight: 900;
    font-style: normal;
    text-transform: uppercase;
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    color: var(--ad-crema);
    margin: 0 0 18px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.ad-descargables__titulo i { color: var(--ad-rosa-polvo); font-size: 1rem; }

.ad-descargables__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}

.ad-descargable {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: rgba(26, 26, 26, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    color: var(--ad-blanco);
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ad-descargable:hover {
    transform: translateY(-2px);
    background: rgba(48, 42, 46, 0.95);
    border-color: rgba(217, 167, 180, 0.35);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
    color: var(--ad-blanco);
}
.ad-descargable__icono {
    flex-shrink: 0;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(140, 59, 81, 0.22);
    border: 1px solid rgba(217, 167, 180, 0.30);
    border-radius: 10px;
    color: var(--ad-rosa-polvo);
    font-size: 1.15rem;
}
.ad-descargable__info { flex: 1; min-width: 0; }
.ad-descargable__titulo {
    font-family: var(--ad-font-ui);
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--ad-blanco);
    margin: 0 0 3px 0;
    line-height: 1.3;
}
.ad-descargable__desc {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.62);
    line-height: 1.4;
    margin: 0 0 6px 0;
}
.ad-descargable__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(246, 231, 198, 0.55);
}
.ad-descargable__formato {
    padding: 1px 6px;
    border-radius: 4px;
    background: rgba(140, 59, 81, 0.28);
    color: var(--ad-rosa-polvo);
    font-weight: 700;
}
.ad-descargable__flecha {
    flex-shrink: 0;
    color: var(--ad-crema);
    opacity: 0.5;
    font-size: 0.95rem;
    transition: transform .2s ease, opacity .2s ease;
}
.ad-descargable:hover .ad-descargable__flecha { transform: translateY(2px); opacity: 1; }
.ad-descargable--enlace { border-left: 3px solid var(--ad-terracota); }
.ad-descargable--archivo { border-left: 3px solid var(--ad-borgona); }
.ad-descargable__ext-icon {
    font-size: 0.65rem;
    color: var(--ad-crema);
    opacity: 0.55;
    margin-left: 6px;
    vertical-align: super;
}

/* ============================================================
   FOOTER OFICIAL
   ============================================================ */
.pie-institucional {
    background: transparent;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 40px 16px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-top: 80px;
}
.pie-logo-link { display: inline-block; padding: 0; margin: 0 0 14px 0; text-decoration: none; }
.pie-logo-link img { height: 50px; width: auto; display: block; margin: 0 auto; }
.pie-titulo-h1 {
    font-family: var(--ad-font-ui);
    font-weight: 900;
    font-style: normal;
    font-size: 1.5rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--ad-blanco);
    margin: 0 0 8px 0;
}
.pie-titulo-h1 a { color: inherit; text-decoration: none; }
.pie-titulo-h1 a:hover { color: var(--ad-crema); }
.pie-descripcion {
    font-weight: 400;
    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
    max-width: 580px;
    margin: 0 auto 6px auto;
}
.pie-copyright {
    font-weight: 400;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.55);
    margin: 0 0 22px 0;
}
.pie-motivo {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0.65;
}
.pie-motivo img { width: 100%; max-width: 720px; height: auto; display: block; margin: 0 auto; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 600px) {
    .titulo-principal { font-size: 1.6rem; padding: 2px 8px; }
    .pie-titulo-h1 { font-size: 1.3rem; }
    .pie-descripcion { font-size: 0.88rem; }
    .ad-descargables { padding: 20px 16px; margin-top: 40px; }
    .ad-descargables__grid { grid-template-columns: 1fr; }
    .ad-meta { font-size: 0.78rem; gap: 8px; }
    .ad-meta__boton { font-size: 0.72rem; padding: 4px 10px; }
}