/* ════════════════════════════════════════════════════════════════
   Dunes AI — Plantilla: OPINIÓN / Columna
   Estilo NYT Opinion · Bloomberg Opinion · The Atlantic
   ════════════════════════════════════════════════════════════════ */

.dunes-template-opinion .dai-tpl {
    padding: 50px 20px 80px;
    background: var(--dtpl-bg);
}

/* v1.29.4 — Article es ahora el grid principal: main | sidebar.
   El sidebar arranca al lado del kicker/título y es sticky. */
.dunes-template-opinion .dai-tpl-op__article {
    max-width: 680px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 680px);
    grid-template-areas: "main";
    align-items: start;
}
.dunes-template-opinion .dai-tpl-op__article.has-sidebar {
    max-width: 1020px;
    grid-template-columns: minmax(0, 680px) 300px;
    grid-template-areas: "main sidebar";
    column-gap: 40px;
}
.dunes-template-opinion .dai-tpl-op__article > .dai-tpl-op__main { grid-area: main; min-width: 0; }
.dunes-template-opinion .dai-tpl-op__article > .dai-tpl-op__sidebar {
    grid-area: sidebar;
    position: sticky;
    top: 90px;
    align-self: start;
}

/* Bloques de cierre fuera del article */
.dunes-template-opinion .dai-tpl-op__after {
    max-width: 680px;
    margin: 32px auto 0;
}

@media (max-width: 1100px) {
    .dunes-template-opinion .dai-tpl-op__article,
    .dunes-template-opinion .dai-tpl-op__article.has-sidebar {
        display: block;
        max-width: 680px;
    }
    .dunes-template-opinion .dai-tpl-op__article > .dai-tpl-op__sidebar {
        position: static;
        margin-top: 32px;
    }
}

/* Header centrado */
.dunes-template-opinion .dai-tpl-op__header {
    text-align: center;
    margin-bottom: 40px;
}

/* v1.29.46 / v1.29.47 — Kicker NARRATIVO grande tipo NYT/Atlantic Opinion.
   REFORZADO con !important para anular cualquier estilo viejo de "botón". */
.dunes-template-opinion .dai-tpl-op__kicker,
.dunes-template-opinion header .dai-tpl-op__kicker,
.dunes-template-opinion .dai-tpl-op__header .dai-tpl-op__kicker {
    display: block !important;
    font-family: var(--dtpl-serif), Georgia, serif !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: 36px !important;
    letter-spacing: -0.5px !important;
    text-transform: none !important;
    color: var(--dtpl-ink) !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    line-height: 1 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: auto !important;
}

.dunes-template-opinion .dai-tpl-op__title {
    font-family: var(--dtpl-serif);
    font-style: italic;
    font-weight: 400;
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -0.5px;
    color: var(--dtpl-ink);
    margin: 0 0 18px;
}

.dunes-template-opinion .dai-tpl-op__subhead {
    font-family: var(--dtpl-serif);
    font-style: italic;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.45;
    color: var(--dtpl-ink3);
    margin: 0 0 32px;
    max-width: 560px;
    margin-left: auto; margin-right: auto;
}

/* Author bio card */
.dunes-template-opinion .dai-tpl-op__author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin: 0 auto 32px;
    max-width: 500px;
}

.dunes-template-opinion .dai-tpl-op__author-photo {
    display: block;
    width: 100px; height: 100px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--dtpl-ink);
    transition: transform .2s;
}
.dunes-template-opinion .dai-tpl-op__author-photo:hover { transform: scale(1.03); }
.dunes-template-opinion .dai-tpl-op__avatar {
    width: 100%; height: 100%;
    border-radius: 50%;
    display: block;
}

.dunes-template-opinion .dai-tpl-op__author-info {
    text-align: center;
}

.dunes-template-opinion .dai-tpl-op__author-name {
    display: block;
    font-family: var(--dtpl-sans);
    font-size: 16px;
    font-weight: 800;
    color: var(--dtpl-ink);
    text-decoration: none;
    margin-bottom: 4px;
    letter-spacing: -0.1px;
}
.dunes-template-opinion .dai-tpl-op__author-name:hover { color: var(--dtpl-accent); }

.dunes-template-opinion .dai-tpl-op__author-bio {
    margin: 0 auto 6px;
    font-family: var(--dtpl-sans);
    font-size: 13px;
    line-height: 1.5;
    color: var(--dtpl-ink3);
    max-width: 400px;
}

.dunes-template-opinion .dai-tpl-op__author-meta {
    display: block;
    font-family: var(--dtpl-mono);
    font-size: 10.5px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--dtpl-ink4);
}

.dunes-template-opinion .dai-tpl-op__rule {
    width: 60px;
    height: 1px;
    border: 0;
    background: var(--dtpl-ink);
    margin: 32px auto 0;
}

/* Body con drop cap */
.dunes-template-opinion .dai-tpl-op__body {
    font-family: var(--dtpl-serif);
    font-size: 19px;
    line-height: 1.75;
    color: var(--dtpl-ink2);
}

.dunes-template-opinion .dai-tpl-op__body p {
    margin: 0 0 22px;
}

.dunes-template-opinion .dai-tpl-op__body p.lead {
    font-size: 21px;
    color: var(--dtpl-ink);
    line-height: 1.55;
}

/* Drop cap en el primer párrafo (lead) */
.dunes-template-opinion .dai-tpl-op__body p.lead::first-letter,
.dunes-template-opinion .dai-tpl-op__body > p:first-of-type::first-letter {
    font-family: var(--dtpl-serif);
    font-size: 64px;
    line-height: 0.85;
    font-weight: 700;
    float: left;
    margin: 8px 12px 0 0;
    color: var(--dtpl-ink);
}

.dunes-template-opinion .dai-tpl-op__body h2 {
    font-family: var(--dtpl-sans);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.3px;
    color: var(--dtpl-ink);
    margin: 36px 0 14px;
    line-height: 1.25;
}

.dunes-template-opinion .dai-tpl-op__body strong { color: var(--dtpl-ink); font-weight: 700; }
.dunes-template-opinion .dai-tpl-op__body em { color: var(--dtpl-ink); }

/* Más columnas del autor */
.dunes-template-opinion .dai-tpl-op__more {
    margin: 60px 0 0;
    padding-top: 32px;
    border-top: 1px solid var(--dtpl-rule);
}

.dunes-template-opinion .dai-tpl-op__more-title {
    font-family: var(--dtpl-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--dtpl-ink);
    margin: 0 0 22px;
}

.dunes-template-opinion .dai-tpl-op__more-list {
    margin: 0; padding: 0; list-style: none;
}

.dunes-template-opinion .dai-tpl-op__more-item {
    border-bottom: 1px solid var(--dtpl-rule-soft);
}
.dunes-template-opinion .dai-tpl-op__more-item:last-child { border-bottom: 0; }

.dunes-template-opinion .dai-tpl-op__more-item a {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding: 14px 0;
    text-decoration: none;
    color: var(--dtpl-ink);
    transition: padding-left .15s;
}
.dunes-template-opinion .dai-tpl-op__more-item a:hover { padding-left: 8px; }

.dunes-template-opinion .dai-tpl-op__more-date {
    font-family: var(--dtpl-mono);
    font-size: 10.5px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--dtpl-ink4);
    white-space: nowrap;
    min-width: 100px;
}

.dunes-template-opinion .dai-tpl-op__more-item strong {
    font-family: var(--dtpl-serif);
    font-style: italic;
    font-weight: 400;
    font-size: 17px;
    line-height: 1.3;
    color: var(--dtpl-ink);
}

@media (max-width: 700px) {
    .dunes-template-opinion .dai-tpl-op__title { font-size: 32px; }
    .dunes-template-opinion .dai-tpl-op__subhead { font-size: 17px; }
    .dunes-template-opinion .dai-tpl-op__body { font-size: 17.5px; }
    .dunes-template-opinion .dai-tpl-op__body p.lead { font-size: 19px; }
    .dunes-template-opinion .dai-tpl-op__body p.lead::first-letter,
    .dunes-template-opinion .dai-tpl-op__body > p:first-of-type::first-letter { font-size: 52px; }
    .dunes-template-opinion .dai-tpl-op__more-item a { flex-direction: column; gap: 4px; }
    .dunes-template-opinion .dai-tpl-op__more-date { min-width: 0; }
    /* v1.29.46 — kicker narrativo en móvil más pequeño */
    .dunes-template-opinion .dai-tpl-op__kicker { font-size: 28px; }
    .dunes-template-opinion .dai-tpl-op__featured { margin-bottom: 22px; }
    .dunes-template-opinion .dai-tpl-op__body blockquote { padding: 14px 18px !important; }
    .dunes-template-opinion .dai-tpl-op__body blockquote p { font-size: 15px !important; }
}

/* ════════════════════════════════════════════════════════════════════════
 * v1.29.46 / v1.29.47 · IMAGEN DESTACADA premium + caption editorial elegante
 * Va ANTES del Google News promoter en el cuerpo.
 * ════════════════════════════════════════════════════════════════════════ */
.dunes-template-opinion .dai-tpl-op__featured {
    /* Espacio generoso ARRIBA (del share-bar) y ABAJO (del Google promoter) */
    margin: 8px 0 36px;
    padding: 0;
}
.dunes-template-opinion .dai-tpl-op__featured img,
.dunes-template-opinion .dai-tpl-op__featured-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
    margin: 0;
}

/* Caption tipo editorial premium: serif italic + barra sutil de acento */
.dunes-template-opinion .dai-tpl-op__featured-cap {
    margin: 12px 0 0;
    padding: 0 0 0 12px;
    border-left: 2px solid var(--dtpl-rule-soft, #E5E5E5);
    font-family: var(--dtpl-serif), Georgia, serif;
    font-style: italic;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--dtpl-ink3, #525252);
    text-align: left;
    letter-spacing: 0;
}
.dunes-template-opinion .dai-tpl-op__featured-cap-text {
    margin-right: 8px;
    font-style: italic;
}
.dunes-template-opinion .dai-tpl-op__featured-cap-credit {
    /* Crédito en sans uppercase tracking (estilo "AGENCIA EFE") */
    font-family: var(--dtpl-sans), Inter, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 10.5px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--dtpl-ink2, #1F1F1F);
}

/* Wrapper del Google promoter con margen superior generoso
   para separarlo elegantemente de la imagen destacada */
.dunes-template-opinion .dai-tpl-op__gnews-wrap {
    margin: 8px 0 32px;
}

/* ════════════════════════════════════════════════════════════════════════
 * v1.29.46 · BLOCKQUOTE COMPACTO en plantilla opinion
 *
 *   ANTES: tamaño enorme + doble franja vertical (Gutenberg + theme)
 *   AHORA: una sola franja azul exterior (4px) + texto compacto 16px
 *          padding reducido + reset completo de border-left del bloque core
 * ════════════════════════════════════════════════════════════════════════ */
.dunes-template-opinion .dai-tpl-op__body blockquote,
.dunes-template-opinion .dai-tpl-op__body blockquote.wp-block-quote,
.dunes-template-opinion .dai-tpl-op__body .wp-block-quote,
.dunes-template-opinion .dai-tpl-op__body .wp-block-pullquote {
    margin: 28px 0 !important;
    padding: 16px 22px !important;
    background: #F6F8FD !important;
    border: 0 !important;
    border-left: 4px solid var(--dtpl-accent, #33519F) !important;
    border-radius: 0 6px 6px 0 !important;
    font-style: normal !important;
    text-align: left !important;
    box-shadow: none !important;
    quotes: none !important;
}
.dunes-template-opinion .dai-tpl-op__body blockquote::before,
.dunes-template-opinion .dai-tpl-op__body blockquote::after,
.dunes-template-opinion .dai-tpl-op__body .wp-block-quote::before,
.dunes-template-opinion .dai-tpl-op__body .wp-block-quote::after,
.dunes-template-opinion .dai-tpl-op__body .wp-block-pullquote::before,
.dunes-template-opinion .dai-tpl-op__body .wp-block-pullquote::after {
    content: none !important;
    display: none !important;
}
.dunes-template-opinion .dai-tpl-op__body blockquote p,
.dunes-template-opinion .dai-tpl-op__body .wp-block-quote p,
.dunes-template-opinion .dai-tpl-op__body .wp-block-pullquote p {
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-family: var(--dtpl-serif) !important;
    font-size: 16.5px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    font-style: normal !important;
    color: var(--dtpl-ink) !important;
    letter-spacing: -0.15px !important;
    border: 0 !important;
}
.dunes-template-opinion .dai-tpl-op__body blockquote p:last-child,
.dunes-template-opinion .dai-tpl-op__body .wp-block-quote p:last-child,
.dunes-template-opinion .dai-tpl-op__body .wp-block-pullquote p:last-child {
    margin-bottom: 0 !important;
}
.dunes-template-opinion .dai-tpl-op__body blockquote cite,
.dunes-template-opinion .dai-tpl-op__body .wp-block-quote cite,
.dunes-template-opinion .dai-tpl-op__body .wp-block-pullquote cite {
    display: block;
    margin-top: 8px;
    font-family: var(--dtpl-sans) !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: var(--dtpl-ink3) !important;
}
/* NO drop cap dentro del blockquote */
.dunes-template-opinion .dai-tpl-op__body blockquote p::first-letter,
.dunes-template-opinion .dai-tpl-op__body .wp-block-quote p::first-letter,
.dunes-template-opinion .dai-tpl-op__body .wp-block-pullquote p::first-letter {
    font-size: inherit !important;
    float: none !important;
    margin: 0 !important;
    font-weight: inherit !important;
}


/* ─────────────────────────────────────────────────────────────
   v1.32.5 · Wrappers del bloque compartir/guardar/licencia OPINIÓN:
     · TOP    → ARRIBA de la imagen destacada
     · BOTTOM → al final del body
   Selectores sin prefijo .dunes-template-opinion para garantizar
   render incluso si la body-class no se agrega. PC + móvil.
───────────────────────────────────────────────────────────── */
.dai-tpl-op__actions-wrap {
    max-width: 680px;
    margin: 28px auto 24px;
    padding: 0 20px;
    box-sizing: border-box;
}
.dai-tpl-op__actions-wrap--bottom {
    margin: 36px auto 16px;
}
.dai-tpl-op__actions-wrap .et-art-actions {
    margin: 0;
}
@media (max-width: 768px) {
    /* v1.37.2 · Móvil · ancho EXACTO al de la imagen destacada.
       La imagen es width: 100% del .dai-tpl-op__article (parent),
       así que el actions-wrap también debe ser 100% SIN padding lateral. */
    .dai-tpl-op__actions-wrap {
        max-width: none;
        padding: 0;             /* 0 padding lateral · igual que featured */
        margin: 20px 0 18px;
    }
    .dai-tpl-op__actions-wrap--bottom {
        margin: 28px 0 12px;
    }
}
