/*
Theme Name: Astra Child Roberto
Theme URI: https://robertoarteaga.net
Description: Tema hijo de Astra para la marca personal de Roberto Arteaga. Sistema de diseño: azul marino + dorado (confianza, seguridad, superación). Tipografías Fraunces (titulares) + Inter (cuerpo).
Author: Roberto Arteaga
Author URI: https://robertoarteaga.net
Template: astra
Version: 1.4.3
Text Domain: astra-child-roberto
*/

/* ==== SISTEMA DE DISEÑO — Marca personal Roberto Arteaga ==== */
:root {
    --ra-primary: #0F2A43;        /* azul marino profundo */
    --ra-primary-dark: #0A1E31;
    --ra-primary-light: #16324F;
    --ra-accent: #C9A24B;         /* dorado */
    --ra-accent-dark: #A9862F;
    --ra-accent-soft: #F5EFDD;
    --ra-text: #1C2B3A;
    --ra-muted: #5A6B7C;
    --ra-bg: #FFFFFF;
    --ra-bg-alt: #F7F9FB;
    --ra-border: #E3E9EF;
    --ra-white: #FFFFFF;
    --ra-heading: 'Fraunces', Georgia, serif;
    --ra-body: 'Inter', -apple-system, sans-serif;
}

/* Sobrescribir las variables de Astra */
:root {
    --ast-global-color-0: #0F2A43;
    --ast-global-color-1: #C9A24B;
    --ast-global-color-2: #1C2B3A;
    --ast-global-color-3: #5A6B7C;
    --ast-global-color-4: #F7F9FB;
    --ast-global-color-5: #FFFFFF;
    --ast-global-color-6: #16324F;
    --ast-global-color-7: #A9862F;
    --ast-global-color-8: #0A1E31;
}

/* ==== BASE ==== */
body, button, input, select, textarea, .ast-button, .ast-custom-button {
    font-family: var(--ra-body);
    color: var(--ra-text);
}
h1, h2, h3, h4, h5, h6, .site-title, .entry-title {
    font-family: var(--ra-heading);
    color: var(--ra-primary);
}
a { color: var(--ra-primary); }
a:hover { color: var(--ra-accent-dark); }

/* ==== HEADER ==== */
.ast-custom-header, .site-header {
    background: rgba(15, 42, 67, 0.97) !important;
    border-bottom: 2px solid var(--ra-accent);
}
.site-header .site-title a, .ast-custom-header .site-title a { color: #fff; }
.site-header .main-header-menu > .menu-item > a,
.ast-custom-header .main-header-menu > .menu-item > a {
    color: rgba(255,255,255,0.92) !important;
}
.site-header .main-header-menu > .menu-item > a:hover,
.ast-custom-header .main-header-menu > .menu-item > a:hover {
    color: var(--ra-accent) !important;
}

/* ==== BOTONES ==== */
.ast-button, .wp-block-button__link, button, input[type="submit"] {
    background: var(--ra-primary) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    transition: all .25s ease !important;
}
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    border: 2px solid var(--ra-accent) !important;
    color: var(--ra-accent) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: rgba(201,162,75,0.15) !important;
    color: #fff !important;
    border-color: var(--ra-accent) !important;
}
.wp-block-button__link:hover, .ast-button:hover {
    background: var(--ra-accent-dark) !important;
    transform: translateY(-2px);
}

/* ==== HERO (bloques Gutenberg) ==== */
.ra-hero {
    background: linear-gradient(160deg, #FBF9F4 0%, #F3EFE4 100%);
    color: var(--ra-text);
    position: relative;
    overflow: hidden;
}
.ra-hero h1, .ra-hero h2, .ra-hero h3,
.entry-content .ra-hero h1, .entry-content .ra-hero h2, .entry-content .ra-hero h3 {
    color: var(--ra-primary) !important;
    text-shadow: none;
}
.ra-hero .ra-eyebrow { color: var(--ra-accent-dark) !important; }
.ra-hero .ra-eyebrow {
    color: var(--ra-accent);
    letter-spacing: 3px;
    text-transform: uppercase;
    font-size: .85rem;
    font-weight: 700;
}
.ra-hero .ra-sub { color: var(--ra-muted); }
.ra-badge-accent {
    display: inline-block;
    background: rgba(201,162,75,0.15);
    border: 1px solid rgba(201,162,75,0.5);
    color: var(--ra-accent);
    padding: 6px 16px;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
}

/* ==== CARDS / SERVICIOS (misma altura por fila) ==== */
.ra-services .wp-block-column { display: flex; }
.ra-card { height: 100%; width: 100%; }
/* ==== CARDS / SERVICIOS ==== */
.ra-card {
    background: #fff;
    border: 1px solid var(--ra-border);
    border-radius: 16px;
    padding: 30px 26px;
    box-shadow: 0 6px 24px rgba(15,42,67,0.06);
    transition: transform .25s ease, box-shadow .25s ease;
}
.ra-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(15,42,67,0.12); }
.ra-card h3 { font-size: 1.25rem; margin-bottom: 10px; }
.ra-card p { color: var(--ra-muted); font-size: .95rem; }
.ra-card .ra-icon {
    width: 52px; height: 52px; border-radius: 14px;
    background: var(--ra-accent-soft); color: var(--ra-accent-dark);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 18px; font-size: 24px;
}

/* ==== BLOG CARDS ==== */
.ast-article-post {
    background: #fff !important;
    border: 1px solid var(--ra-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 24px rgba(15,42,67,0.06) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}
.ast-article-post:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(15,42,67,0.12) !important; }
.ast-article-post .entry-title a { color: var(--ra-primary); }
.ast-article-post .entry-title a:hover { color: var(--ra-accent-dark); }
.ast-separate-container .ast-article-post { padding: 24px; }

/* ==== SECCIÓN OSCURA ==== */
.ra-dark {
    background: linear-gradient(160deg, var(--ra-primary) 0%, var(--ra-primary-dark) 100%);
    color: rgba(255,255,255,0.85);
}
.ra-dark h2, .ra-dark h3 { color: #fff; }
.ra-dark .ra-muted-light { color: rgba(255,255,255,0.7); }

/* ==== FOOTER (con color) ==== */
.site-footer {
    background: #081C30 !important;
    color: #DCE6F0 !important;
    border-top: 3px solid var(--ra-accent);
}
.site-primary-footer-wrap[data-section],
.site-below-footer-wrap[data-section],
.site-above-footer-wrap[data-section] {
    background-color: #081C30 !important;
    color: #DCE6F0 !important;
}
.site-footer .widget-title, .site-footer h1, .site-footer h2,
.site-footer h3, .site-footer h4 { color: #fff !important; }
.site-footer .widget, .site-footer .widget p { color: rgba(220,230,240,0.85); }
.site-footer a { color: var(--ra-accent) !important; }
.site-footer a:hover { color: #fff !important; }
.ast-footer-copyright, .ast-footer-copyright a { color: rgba(220,230,240,0.8) !important; }
.site-footer .menu-item a { color: rgba(220,230,240,0.85) !important; }
.site-footer .menu-item a:hover { color: var(--ra-accent) !important; }

/* ==== INDICADORES DE CONFIANZA (cards con icono) ==== */
.ra-trust .wp-block-column { display: flex; }
.ra-trust-card {
    background: #fff;
    border: 1px solid var(--ra-border);
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(15,42,67,0.06);
    padding: 28px 16px 24px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}
.ra-trust-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(15,42,67,0.12); }
.ra-trust-icon {
    flex: 0 0 auto; width: 60px; height: 60px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--ra-accent);
    background: rgba(201,162,75,0.12);
    border: 1.5px solid rgba(201,162,75,0.45);
    margin-bottom: 6px;
}
.ra-trust-card strong { color: var(--ra-primary); font-size: 1.2rem; }
.ra-trust-sub { color: var(--ra-muted); font-size: .9rem; line-height: 1.4; }

/* ==== PÁGINA CV ==== */
.ra-cv-meta { color: var(--ra-muted); font-size: .9rem; margin-top: -12px; }
.ra-cv-meta strong { color: var(--ra-primary); }

/* ==== NEWSLETTER / FORMULARIO ==== */
.ra-newsletter {
    background: var(--ra-accent-soft);
    border: 1px solid rgba(201,162,75,0.35);
    border-radius: 20px;
    padding: 40px;
}

/* ==== RESPONSIVE ==== */
@media (max-width: 900px) {
    .ra-card { padding: 22px 18px; }
    .ra-hero h1 { font-size: 2rem; }
}

/* ==== RETRATO (sobre mí) ==== */
.ra-portrait img {
    border-radius: 24px;
    border: 3px solid var(--ra-accent);
    box-shadow: 0 18px 40px rgba(15,42,67,0.22);
    width: 100%;
    height: auto;
}
@media (max-width: 900px) {
    .ra-portrait { margin-bottom: 24px; }
}

/* ==== SECCIÓN CONTENIDO DE VALOR (cards de blog) ==== */
.ra-blog .wp-block-heading { margin-bottom: 40px; }
.ra-blog .wp-block-latest-posts.is-grid {
    gap: 28px;
    margin-top: 0;
}
.ra-blog .wp-block-latest-posts.is-grid li {
    flex: 1 1 0;   /* los 3 crecen por igual: SIEMPRE 3 en la fila */
    min-width: 0;
}
.ra-blog .wp-block-latest-posts.is-grid.columns-3 li {
    width: auto;
}
.ra-blog .wp-block-latest-posts.is-grid li {
    background: #fff;
    border: 1px solid var(--ra-border);
    border-radius: 16px;
    padding: 0 0 22px;
    overflow: hidden;
    box-shadow: 0 8px 26px rgba(15,42,67,0.08);
    display: flex;
    flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease;
}
.ra-blog .wp-block-latest-posts.is-grid li:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 38px rgba(15,42,67,0.15);
}
.ra-blog .wp-block-latest-posts.is-grid li .wp-block-latest-posts__featured-image {
    width: 100%;
    margin: 0 0 16px;
}
.ra-blog .wp-block-latest-posts.is-grid li .wp-block-latest-posts__featured-image img {
    width: 100%;
    height: 175px;
    object-fit: cover;
    margin: 0;
}
.ra-blog .wp-block-latest-posts.is-grid li .wp-block-latest-posts__post-title {
    padding: 0 20px;
    font-family: var(--ra-heading);
    color: var(--ra-primary);
    font-size: 1.1rem;
    line-height: 1.35;
    font-weight: 600;
    /* máx 2 líneas con ellipsis + altura fija: la fecha cae siempre a la misma altura */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(1.35em * 2);
}
.ra-blog .wp-block-latest-posts.is-grid li .wp-block-latest-posts__post-title:hover { color: var(--ra-accent-dark); }
.ra-blog .wp-block-latest-posts.is-grid li .wp-block-latest-posts__post-excerpt {
    padding: 10px 20px 0;
    color: var(--ra-muted);
    font-size: .9rem;
    line-height: 1.55;
    flex-grow: 1;
}
.ra-blog .wp-block-latest-posts.is-grid li .wp-block-latest-posts__post-date {
    padding: 16px 20px 0;
    color: var(--ra-accent-dark);
    font-size: .78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .6px;
    min-height: 1.6em;
}
/* chip sutil de categoría */
.ra-blog .ra-blog-cat {
    display: inline-block;
    align-self: flex-start;
    margin: 0 20px 8px;
    padding: 3px 11px;
    background: rgba(201,162,75,0.14);
    color: var(--ra-accent-dark);
    border: 1px solid rgba(201,162,75,0.35);
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.1px;
}
@media (max-width: 600px) {
    .ra-blog .wp-block-latest-posts.is-grid { gap: 20px; }
    .ra-blog .wp-block-latest-posts.is-grid li { flex: 0 0 100%; }
}

/* ==== PÁGINA CV (rediseño) ==== */
body.page-id-330 .entry-header { display: none; }
.ra-cv-hero h1 { font-size: 2.6rem; margin-bottom: 8px; }
.ra-cv-lead {
    font-size: 1.08rem;
    line-height: 1.7;
    color: var(--ra-text);
    background: var(--ra-bg-alt);
    border-left: 4px solid var(--ra-accent);
    border-radius: 0 14px 14px 0;
    padding: 22px 26px;
    margin-top: 8px;
}
.ra-cv-h {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 52px;
    margin-bottom: 26px;
    font-size: 1.7rem;
}
.ra-cv-h::after {
    content: "";
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, var(--ra-accent), rgba(201,162,75,0));
}
.ra-cv-job {
    background: #fff;
    border: 1px solid var(--ra-border);
    border-radius: 16px;
    padding: 26px 30px;
    margin-bottom: 20px;
    box-shadow: 0 6px 24px rgba(15,42,67,0.06);
    transition: transform .25s ease, box-shadow .25s ease;
}
.ra-cv-job:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(15,42,67,0.12); }
.ra-cv-job h3 { margin: 0 0 6px; font-size: 1.25rem; color: var(--ra-primary); }
.ra-cv-meta { color: var(--ra-muted); font-size: .88rem; margin: 0; }
.ra-cv-job ul { margin: 14px 0 0; padding-left: 0; list-style: none; }
.ra-cv-job ul li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 9px;
    color: var(--ra-text);
    line-height: 1.6;
}
.ra-cv-job ul li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 9px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ra-accent);
}
.ra-cv-skills { margin: 16px 0 0; }
.ra-cv-skills span {
    display: inline-block;
    background: rgba(201,162,75,0.13);
    border: 1px solid rgba(201,162,75,0.35);
    color: var(--ra-accent-dark);
    border-radius: 999px;
    padding: 4px 13px;
    font-size: .78rem;
    font-weight: 600;
    margin: 3px 6px 3px 0;
}
.ra-cv-cert {
    background: var(--ra-bg-alt);
    border: 1px solid var(--ra-border);
    border-radius: 14px;
    padding: 20px 18px;
    text-align: center;
    height: 100%;
    box-shadow: 0 4px 16px rgba(15,42,67,0.05);
}
.ra-cv-cert-title {
    font-family: var(--ra-heading);
    font-weight: 700;
    color: var(--ra-primary);
    font-size: 1.02rem;
    margin: 0 0 6px;
}
.ra-cv-cert .ra-cv-meta { font-size: .82rem; }
.ra-cv-hero .ra-cv-lead { margin-bottom: 0; }
@media (max-width: 600px) {
    .ra-cv-job { padding: 20px 18px; }
    .ra-cv-hero h1 { font-size: 2rem; }
    .ra-cv-h { font-size: 1.4rem; }
}

/* ==== BLOG /ENTRADAS/ pulido ==== */
.ast-separate-container .ast-article-post { padding: 0; }
.ast-separate-container .ast-article-post:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(15,42,67,0.16) !important; }
.post-thumb-img-content img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    margin: 0;
}
.ast-article-post .cat-links {
    display: block;
    padding: 20px 24px 0;
}
.ast-article-post .cat-links a {
    display: inline-block;
    background: rgba(201,162,75,0.13);
    border: 1px solid rgba(201,162,75,0.35);
    color: var(--ra-accent-dark) !important;
    border-radius: 999px;
    padding: 3px 13px;
    font-size: .74rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .6px;
}
.ast-article-post .entry-title {
    padding: 12px 24px 0;
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.3;
}
.ast-article-post .entry-title a { color: var(--ra-primary); }
.ast-article-post .entry-title a:hover { color: var(--ra-accent-dark); }
.ast-article-post .entry-meta {
    padding: 8px 24px 0;
    margin: 0;
    color: var(--ra-muted);
    font-size: .8rem;
    font-weight: 500;
}
.ast-article-post .entry-meta a { color: var(--ra-accent-dark); }
.ast-article-post .entry-meta .posted-by, .ast-article-post .entry-meta .ast-author-meta { color: var(--ra-muted); }
.ast-article-post .ast-excerpt-container {
    padding: 12px 24px 24px;
    margin: 0;
    color: var(--ra-muted);
    font-size: .92rem;
    line-height: 1.65;
}
.ast-article-post .ast-excerpt-container p { margin: 0; }

/* Paginación en píldoras */
.ast-pagination .page-numbers {
    background: #fff;
    border: 1.5px solid var(--ra-border);
    color: var(--ra-primary);
    border-radius: 999px;
    padding: 8px 16px;
    margin: 0 3px;
    font-weight: 600;
    transition: all .2s ease;
}
.ast-pagination .page-numbers:hover { border-color: var(--ra-accent); color: var(--ra-accent-dark); }
.ast-pagination .page-numbers.current {
    background: var(--ra-primary);
    border-color: var(--ra-primary);
    color: #fff;
}
@media (max-width: 600px) {
    .post-thumb-img-content img { height: 170px; }
    .ast-article-post .entry-title { font-size: 1.15rem; }
}

/* ==== BLOG: separación entre posts e imagen con aire ==== */
.ast-row { column-gap: 28px !important; row-gap: 44px; }
/* Grid: mismo patrón que "Contenido de valor" de la home (funciona):
   min-width fija 3 por fila; flex-grow estira la fila; 1 col en <=600px */
.blog-layout-4-grid .ast-article-post {
    flex: 1 1 calc(33.333% - 18.67px) !important;
    min-width: calc(33.333% - 18.67px) !important;
    max-width: calc(33.333% - 18.67px) !important;
    width: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.blog-layout-4-grid .ast-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
@media (max-width: 600px) {
    .blog-layout-4-grid .ast-article-post {
        flex: 0 0 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}
.post-thumb-img-content { margin: 14px 14px 0; }
.post-thumb-img-content img { border-radius: 12px; }
html { scroll-behavior: smooth; }

/* ==== CARD LIMPIA: categoría DESPUÉS del título, sin comentarios/autor ==== */
.ast-article-post .post-content {
    display: flex;
    flex-direction: column;
}
.ast-article-post .entry-title { order: 2; }
.ast-article-post .cat-links {
    display: block !important;
    order: 3;
    padding: 12px 24px 0;
}
.ast-article-post .ast-excerpt-container { order: 4; }
.ast-article-post .entry-meta { display: none !important; }

/* Imagen full-width con aire SOLO arriba (sin franjas laterales) */
.ast-article-post .post-thumb-img-content,
.blog-layout-4-grid .ast-article-post .post-thumb-img-content {
    margin: 16px 0 0 !important;
    padding: 0 !important;
}
.ast-article-post .post-thumb-img-content img,
.blog-layout-4-grid .ast-article-post .post-thumb-img-content img {
    border-radius: 12px 12px 0 0 !important;
}
/* Quitar el box-shadow interno de Astra (causa de los filos laterales) */
.blog-layout-4-grid .ast-article-inner,
.blog-layout-4 .ast-article-inner {
    box-shadow: none !important;
}

/* ==== QUITAR padding lateral y margin inferior del article (heredados de Astra) ==== */
.blog-layout-4-grid .ast-article-post,
.ast-separate-container .ast-article-post {
    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0 !important;
}

/* ==== TÍTULO DE CATEGORÍA (hero azul marino + línea dorada) ==== */
.ast-archive-description {
    background: linear-gradient(150deg, var(--ra-primary) 0%, var(--ra-primary-light) 60%, #1D4A6E 100%) !important;
    background-color: var(--ra-primary) !important;
    border-radius: 16px !important;
    padding: 42px 38px !important;
    margin-bottom: 40px !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: 0 12px 30px rgba(15,42,67,0.18) !important;
}
.ast-archive-description .page-title.ast-archive-title {
    color: #fff !important;
    font-family: var(--ra-heading);
    font-size: 2.2rem;
    line-height: 1.2;
    margin: 0;
}
.ast-archive-description .ast-archive-title::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    background: var(--ra-accent);
    border-radius: 2px;
    margin-top: 16px;
}
@media (max-width: 600px) {
    .ast-archive-description { padding: 30px 24px; }
    .ast-archive-description .page-title.ast-archive-title { font-size: 1.7rem; }
}

/* ==== SINGLE POST (presentación de marca) ==== */
.single .ast-article-single {
    background: #fff;
    border: 1px solid var(--ra-border);
    border-radius: 18px;
    padding: 48px 56px;
    box-shadow: 0 10px 32px rgba(15,42,67,0.08);
}
.single .ast-article-single .entry-header {
    text-align: center;
    margin-bottom: 30px;
}
.single .ast-article-single .entry-title {
    font-size: 2.4rem;
    line-height: 1.25;
    color: var(--ra-primary);
    margin-bottom: 10px;
}
.single .ast-article-single .entry-meta {
    justify-content: center;
    color: var(--ra-muted);
    font-size: .88rem;
}
.single .ast-article-single .entry-meta a { color: var(--ra-accent-dark); }
.single .ast-article-single .post-thumb img,
.single .ast-article-single .ast-featured-image img {
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(15,42,67,0.14);
    margin-bottom: 28px;
    width: 100%;
    height: auto;
}
.single .entry-content {
    max-width: 780px;
    margin: 0 auto;
    font-size: 1.06rem;
    line-height: 1.85;
    color: var(--ra-text);
}
.single .entry-content h2 {
    font-family: var(--ra-heading);
    color: var(--ra-primary);
    font-size: 1.75rem;
    margin-top: 40px;
    margin-bottom: 14px;
}
.single .entry-content h3 {
    font-family: var(--ra-heading);
    color: var(--ra-primary);
    font-size: 1.35rem;
    margin-top: 32px;
}
.single .entry-content a { color: var(--ra-accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.single .entry-content a:hover { color: var(--ra-primary); }
.single .entry-content blockquote {
    border-left: 4px solid var(--ra-accent);
    background: var(--ra-bg-alt);
    padding: 18px 24px;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: var(--ra-muted);
}
.single .entry-content ul li::marker, .single .entry-content ol li::marker { color: var(--ra-accent-dark); }
.single .entry-content img { border-radius: 12px; }
.single .ast-separate-container .ast-article-single { padding: 48px 56px; }
@media (max-width: 600px) {
    .single .ast-article-single { padding: 26px 20px !important; }
    .single .ast-article-single .entry-title { font-size: 1.7rem; }
}

/* ==== SINGLE POST: colores de marca forzados + categoría + línea dorada ==== */
.single .ast-article-single .entry-title {
    color: var(--ra-primary) !important;
    font-family: var(--ra-heading) !important;
}
.single .ast-article-single .entry-meta,
.single .ast-article-single .entry-meta span {
    color: var(--ra-muted) !important;
}
.single .ast-article-single .entry-meta a {
    color: var(--ra-accent-dark) !important;
}
.single .ast-article-single .entry-header::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    background: var(--ra-accent);
    border-radius: 2px;
    margin: 16px auto 0;
}
.ra-single-cat {
    text-align: center;
    margin-bottom: 14px;
}
.ra-single-cat a {
    display: inline-block;
    background: rgba(201,162,75,0.13);
    border: 1px solid rgba(201,162,75,0.4);
    color: var(--ra-accent-dark) !important;
    border-radius: 999px;
    padding: 4px 14px;
    font-size: .78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .6px;
    text-decoration: none !important;
}

/* ==== SIDEBAR (patrón de marca) ==== */
#secondary .widget, .widget-area .widget {
    background: #fff !important;
    border: 1px solid var(--ra-border) !important;
    border-radius: 16px !important;
    padding: 26px !important;
    box-shadow: 0 8px 26px rgba(15,42,67,0.08) !important;
    margin-bottom: 26px;
}
#secondary .widget .wp-block-heading,
#secondary .widget-title,
.widget-area .widget .wp-block-heading {
    font-family: var(--ra-heading) !important;
    color: var(--ra-primary) !important;
    font-size: 1.18rem !important;
    line-height: 1.3;
    margin-bottom: 18px !important;
}
#secondary .widget .wp-block-heading::after,
.widget-area .widget .wp-block-heading::after {
    content: "";
    display: block;
    width: 44px;
    height: 3px;
    background: var(--ra-accent);
    border-radius: 2px;
    margin-top: 10px;
}
/* Búsqueda en píldora */
#secondary .wp-block-search__inside-wrapper {
    border: 1.5px solid var(--ra-border) !important;
    border-radius: 999px !important;
    background: #fff;
}
#secondary .wp-block-search__input {
    border: none !important;
    outline: none !important;
    padding: 10px 16px !important;
    font-family: var(--ra-body);
    font-size: .9rem;
}
#secondary .wp-block-search__button {
    background: var(--ra-primary) !important;
    color: #fff !important;
    border-radius: 999px !important;
    margin: 4px !important;
    padding: 8px 18px !important;
    font-weight: 600 !important;
    font-size: .82rem !important;
}
#secondary .wp-block-search__button:hover { background: var(--ra-accent-dark) !important; }
/* Entradas recientes */
#secondary .wp-block-latest-posts li {
    border-bottom: 1px solid var(--ra-border);
    padding: 12px 0;
}
#secondary .wp-block-latest-posts li:last-child { border-bottom: none; }
#secondary .wp-block-latest-posts__post-title {
    color: var(--ra-primary) !important;
    font-weight: 600;
    font-size: .92rem;
    line-height: 1.45;
    font-family: var(--ra-body) !important;
}
#secondary .wp-block-latest-posts__post-title:hover { color: var(--ra-accent-dark) !important; }
#secondary .wp-block-latest-posts__post-date {
    color: var(--ra-muted);
    font-size: .78rem;
}

/* ==== POST PRO (indicadores, cuadros, pilares, firma) ==== */
.ra-kpi {
    background: linear-gradient(150deg, var(--ra-primary) 0%, var(--ra-primary-light) 100%);
    border-radius: 16px;
    padding: 30px 26px;
    text-align: center;
    color: #fff;
    margin: 28px 0;
}
.ra-kpi p { margin: 0; font-size: 1.15rem; color: rgba(255,255,255,0.92); }
.ra-kpi strong { color: var(--ra-accent); }
.ra-kpi p strong:first-child { font-family: var(--ra-heading); font-size: 2.6rem; display: block; line-height: 1; margin-bottom: 8px; color: var(--ra-accent); }
.ra-box {
    background: var(--ra-bg-alt);
    border-left: 4px solid var(--ra-accent);
    border-radius: 0 14px 14px 0;
    padding: 24px 34px;
    margin: 22px 0;
}
.ra-box ul { margin: 0; padding-left: 30px; }
.ra-box li { margin-bottom: 8px; }
.ra-box li:last-child { margin-bottom: 0; }
.ra-pillar {
    background: #fff;
    border: 1px solid var(--ra-border);
    border-radius: 14px;
    padding: 22px 20px;
    height: 100%;
    box-shadow: 0 6px 20px rgba(15,42,67,0.07);
}
.ra-pillar-icon { font-size: 1.8rem; margin: 0 0 8px; }
.ra-pillar h3 { margin: 0 0 8px; font-size: 1.15rem; }
.ra-pillar p { color: var(--ra-muted); font-size: .92rem; line-height: 1.6; margin: 0; }
.ra-firma {
    border: 1.5px solid rgba(201,162,75,0.55);
    background: rgba(201,162,75,0.08);
    border-radius: 14px;
    padding: 26px 20px;
    text-align: center;
    margin-top: 34px;
}
.ra-firma p {
    font-family: var(--ra-heading);
    font-size: 1.15rem;
    color: var(--ra-primary);
    margin: 0;
    line-height: 1.7;
}
.ra-firma strong { color: var(--ra-accent-dark); letter-spacing: 2px; }

/* ==== CARDS DE ENLACE (biblioteca de productividad) ==== */
.ra-link-card {
    display: block;
    background: #fff;
    border: 1px solid var(--ra-border);
    border-radius: 14px;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 6px 20px rgba(15,42,67,0.07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    text-decoration: none !important;
    position: relative;
}
.ra-link-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(15,42,67,0.16);
    border-color: rgba(201,162,75,0.55);
}
.ra-link-img {
    width: 100%;
    height: 128px;
    object-fit: cover;
    display: block;
}
.ra-link-num {
    position: absolute;
    top: 10px;
    left: 12px;
    background: rgba(15,42,67,0.88);
    color: var(--ra-accent);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 3px 10px;
    border-radius: 999px;
}
.ra-link-title {
    display: block;
    font-family: var(--ra-heading);
    color: var(--ra-primary);
    font-size: 1.12rem;
    line-height: 1.3;
    margin: 14px 18px 6px;
}
.ra-link-desc {
    display: block;
    color: var(--ra-muted);
    font-size: .86rem;
    line-height: 1.5;
    margin: 0 18px;
}
.ra-link-more {
    display: block;
    margin: 14px 18px 16px;
    color: var(--ra-accent-dark);
    font-weight: 600;
    font-size: .85rem;
}
.ra-link-more::after { content: " →"; transition: margin-left .2s ease; }
.ra-link-card:hover .ra-link-more::after { margin-left: 5px; }
@media (max-width: 600px) {
    .ra-link-img { height: 90px; }
}


/* ==== CUADRANTE XY DE LOS 4 PILARES ==== */
.ra-cuadrante {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    border: 2px solid var(--ra-primary);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    margin: 26px 0;
    box-shadow: 0 10px 30px rgba(15,42,67,0.10);
}
/* papel milimétrico tenue */
.ra-cuadrante::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(15,42,67,0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,42,67,0.055) 1px, transparent 1px);
    background-size: 22px 22px;
    pointer-events: none;
    z-index: 0;
}
/* ejes: cruz dorada */
.ra-axis-v, .ra-axis-h {
    position: absolute;
    background: var(--ra-accent);
    z-index: 1;
    pointer-events: none;
}
.ra-axis-v { left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); }
.ra-axis-h { top: 50%; left: 0; right: 0; height: 2px; transform: translateY(-50%); }
/* cuadrantes */
.ra-q { position: relative; z-index: 2; padding: 26px 24px; }
.ra-q h3 { margin: 0 0 8px; font-size: 1.2rem; }
.ra-q p { margin: 0; color: var(--ra-muted); font-size: .92rem; line-height: 1.6; }
@media (max-width: 600px) {
    .ra-q { padding: 16px 14px; }
    .ra-q p { font-size: .85rem; }
    /* columna derecha: aire desde la línea dorada central */
    .ra-q:nth-child(4), .ra-q:nth-child(6) { padding-left: 22px; }
}

/* ==== ICONOS DE COLOR EN EL CUADRANTE ==== */
.ra-q-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    margin-bottom: 12px;
    display: block;
    box-shadow: 0 4px 12px rgba(15,42,67,0.12);
}
.ra-q { padding: 22px 20px; }

/* ==== POSTS RELACIONADOS (pie del artículo) ==== */
.ra-related {
    margin-top: 44px;
    padding-top: 26px;
    border-top: 2px solid var(--ra-border);
}
.ra-related h3 {
    font-family: var(--ra-heading);
    color: var(--ra-primary);
    font-size: 1.4rem;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.ra-related h3::after {
    content: "";
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, var(--ra-accent), rgba(201,162,75,0));
}
.ra-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.ra-related-card {
    background: #fff;
    border: 1px solid var(--ra-border);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none !important;
    box-shadow: 0 6px 20px rgba(15,42,67,0.07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ra-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(15,42,67,0.15);
    border-color: rgba(201,162,75,0.55);
}
.ra-related-img { width: 100%; height: 110px; object-fit: cover; display: block; }
.ra-related-title {
    display: block;
    padding: 12px 14px 14px;
    color: var(--ra-primary);
    font-weight: 600;
    font-size: .9rem;
    line-height: 1.4;
}
.ra-related-card:hover .ra-related-title { color: var(--ra-accent-dark); }
@media (max-width: 700px) {
    .ra-related-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ==== COMPACTAR FILAS DE LA BIBLIOTECA ==== */
.single .entry-content .wp-block-columns {
    margin-bottom: 16px !important;
}
.single .entry-content > .wp-block-columns:last-child { margin-bottom: 24px !important; }

/* ==== ANULAR padding default de bloques de Astra (100/80px) ==== */
.single .entry-content {
    --wp--custom--ast-default-block-top-padding: 0px;
    --wp--custom--ast-default-block-right-padding: 0px;
    --wp--custom--ast-default-block-bottom-padding: 0px;
    --wp--custom--ast-default-block-left-padding: 0px;
}
.single .entry-content .wp-block-columns {
    padding: 0 !important;
}

/* ==== IMAGEN KPI 80/20 (ancho completo, centrada) ==== */
.ra-kpi-img {
    width: 100%;
    margin: 18px auto 8px !important;
}
.ra-kpi-img img {
    width: 100%;
    height: auto;
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(15,42,67,0.14);
}

/* pie de la imagen 80/20 */
.ra-kpi-img figcaption {
    text-align: center;
    font-family: var(--ra-heading);
    font-style: italic;
    color: var(--ra-primary);
    font-size: 1rem;
    margin-top: 12px;
}

/* ==== CAPTCHA DE COMENTARIOS ==== */
.comment-form-ra-captcha label { display: block; font-weight: 600; color: var(--ra-primary); margin-bottom: 6px; }
.comment-form-ra-captcha input[type="text"] {
    border: 1.5px solid var(--ra-border);
    border-radius: 10px;
    padding: 8px 14px;
    width: 120px;
    font-family: var(--ra-body);
    box-shadow: 0 2px 6px rgba(15,42,67,0.10);
}
.comment-form-ra-captcha input[type="text"]:focus {
    border-color: var(--ra-accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(201,162,75,0.15);
}

/* ==== FIX: header turquesa -> azul marino ==== */
.ast-primary-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar {
    background-color: var(--ra-primary) !important;
    background-image: none !important;
}

/* ==== BLOG: 2 columnas — 40% desktop / 45% mediano / 90% móvil ==== */
.blog-layout-4-grid .ast-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 36px 28px !important;
    margin: 0 !important;
}
.blog-layout-4-grid .ast-article-post {
    flex: 1 1 0 !important;
    width: calc(50% - 14px) !important;
    max-width: calc(50% - 14px) !important;
    min-width: calc(50% - 14px) !important;
    margin: 0 !important;
}
.blog-layout-4-grid .ast-article-post .post-thumb-img-content img { height: 220px; }
@media (max-width: 700px) {
    .blog-layout-4-grid .ast-article-post {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    .blog-layout-4-grid .ast-article-post .post-thumb-img-content img { height: 190px; }
}

/* ==== BLOG: contenedor a ancho completo (evita el límite de 1024px de Astra) ==== */
.blog .ast-container, .archive .ast-container, .search .ast-container {
    max-width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

/* ==== ETIQUETAS DE EJES DEL CUADRANTE ==== */
.ra-axis-label {
    position: absolute;
    z-index: 3;
    font-size: .7rem;
    font-weight: 700;
    color: var(--ra-accent-dark);
    text-transform: uppercase;
    letter-spacing: .8px;
    background: #fff;
    padding: 3px 10px;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(15,42,67,0.12);
    pointer-events: none;
}
.ra-axis-label-top { top: 5px; left: 50%; transform: translateX(-50%); }
.ra-axis-label-bottom { bottom: 5px; left: 50%; transform: translateX(-50%); }
/* los cuadrantes superiores bajan su icono para no chocar con la etiqueta top */
.ra-q:nth-child(7), .ra-q:nth-child(8) { padding-top: 38px; }
.ra-axis-label-left { left: 10px; top: 50%; transform: translateY(-50%); }
.ra-axis-label-right { right: 10px; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
    .ra-axis-label { font-size: .6rem; padding: 2px 7px; }
}
