/*
 Theme Name:   IS Theme
 Theme URI:    https://generatepress.com
 Description:  Instituto Salamanca Tema (Child theme)
 Author:       Julio C. Salamanca
 Author URI:   https://institutosalamanca.com
 Template:     generatepress
 Version:      0.1
*/

/* ============================================================
   Menú: Dropdown items - fondo y texto visibles
   ============================================================ */
.main-navigation .sub-menu {
    min-width: 260px;
}

.main-navigation .sub-menu a {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    white-space: nowrap !important;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 24px !important;
}

.main-navigation .sub-menu a:hover {
    background-color: #F2F2F2 !important;
    color: #C12B4F !important;
}


/* DIPLOMADOS */

/* Border radius para la imagen destacada del Hero */

.hero-image-rounded {
    border-radius: 16px;
}


/* Botón cta en el menú principal */

.main-navigation .main-nav ul li.menu-cta {
    background-color: transparent !important;
    margin-left: 12px;
    display: flex;
    align-items: center;
}

.main-navigation .main-nav ul li.menu-cta a {
    background-color: #C12B4F !important;
    color: #FFFFFF !important;
    border-radius: 8px;
    padding: 10px 20px !important;
    line-height: 1 !important;
    transition: background-color 0.2s ease;
}

.main-navigation .main-nav ul li.menu-cta a:hover,
.main-navigation .main-nav ul li.menu-cta:hover a,
.main-navigation .main-nav ul li.menu-cta a:focus {
    background-color: #a02341 !important;
    color: #FFFFFF !important;
}



/* ============================================================
   Popup: Formulario Folleto Diplomado (Acumbamail BEE Forms)
   ============================================================ */
.popup-formulario-folleto .bee-block.bee-form,
.popup-formulario-folleto .bee-col,
.popup-formulario-folleto .bee-row,
.popup-formulario-folleto .bee-row-content,
.popup-formulario-folleto .bee-page-container,
.popup-formulario-folleto .clasic-form-acm {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.popup-formulario-folleto .bee-form-row {
    margin-bottom: 12px !important;
    padding: 0 !important;
}

.popup-formulario-folleto .bee-form-row:last-of-type {
    margin-bottom: 0 !important;
}

.popup-formulario-folleto .bee-form input[type="text"]:not([aria-hidden="true"]),
.popup-formulario-folleto .bee-form input[type="email"]:not([aria-hidden="true"]) {
    width: 100% !important;
    padding: 12px 14px !important;
    background: #FFFFFF !important;
    border: 1px solid #D9D9D9 !important;
    border-radius: 8px !important;
    font-family: var(--gp-font--lexend), sans-serif !important;
    font-size: 14px !important;
    color: #000000 !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
}

.popup-formulario-folleto .bee-form input[type="text"]::placeholder,
.popup-formulario-folleto .bee-form input[type="email"]::placeholder {
    color: #999999 !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

.popup-formulario-folleto .bee-form input[type="text"]:focus:not([aria-hidden="true"]),
.popup-formulario-folleto .bee-form input[type="email"]:focus:not([aria-hidden="true"]) {
    outline: none !important;
    border-color: #C12B4F !important;
    box-shadow: 0 0 0 3px rgba(193, 43, 79, 0.1) !important;
}

.popup-formulario-folleto .bee-form-row label,
.popup-formulario-folleto .bee-form-row .bee-field {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: var(--gp-font--lexend), sans-serif !important;
    font-size: 13px !important;
    color: #555555 !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.popup-formulario-folleto .bee-form input[type="checkbox"]:not([aria-hidden="true"]) {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    accent-color: #C12B4F !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

.popup-formulario-folleto .bee-form-row label a,
.popup-formulario-folleto .bee-field label a {
    color: #C12B4F !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    transition: color 0.2s ease !important;
}

.popup-formulario-folleto .bee-form-row label a:hover,
.popup-formulario-folleto .bee-field label a:hover {
    color: #A02341 !important;
}

.popup-formulario-folleto .bee-button-container {
    margin-top: 16px !important;
    padding: 0 !important;
    width: 100% !important;
}

.popup-formulario-folleto .bee-button-container button,
.popup-formulario-folleto .bee-form input[type="submit"],
.popup-formulario-folleto .bee-form button[type="submit"] {
    width: 100% !important;
    padding: 14px 20px !important;
    background: #C12B4F !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: var(--gp-font--lexend), sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.1s ease !important;
    box-shadow: none !important;
}

.popup-formulario-folleto .bee-button-container button:hover,
.popup-formulario-folleto .bee-form input[type="submit"]:hover,
.popup-formulario-folleto .bee-form button[type="submit"]:hover {
    background: #A02341 !important;
}

.popup-formulario-folleto .bee-button-container button:active,
.popup-formulario-folleto .bee-form input[type="submit"]:active,
.popup-formulario-folleto .bee-form button[type="submit"]:active {
    transform: scale(0.98) !important;
}

.popup-formulario-folleto .bee-button-container button:focus-visible,
.popup-formulario-folleto .bee-form input[type="submit"]:focus-visible,
.popup-formulario-folleto .bee-form button[type="submit"]:focus-visible {
    outline: 3px solid rgba(193, 43, 79, 0.4) !important;
    outline-offset: 2px !important;
}

/* ============================================================
   Overlay Folleto Diplomado: Botón cerrar X
   ============================================================ */
#gb-overlay-244 .gbp-overlay-panel__close {
    background-color: transparent !important;
    color: #999999 !important;
    border: none !important;
}

#gb-overlay-244 .gbp-overlay-panel__close:hover {
    background-color: #F2F2F2 !important;
    color: #C12B4F !important;
}

/* ============================================================
   Overlay Folleto Diplomado: Estilos formulario HTML custom
   ============================================================ */
#gb-overlay-244 .yourFormCustomContainer {
    width: 100%;
}

#gb-overlay-244 .yourFormCustomStyle {
    background: transparent !important;
    padding: 0 !important;
}

#gb-overlay-244 .yourFormCustomStyle > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

#gb-overlay-244 .yourFormCustomStyle input[type="text"],
#gb-overlay-244 .yourFormCustomStyle input[type="email"] {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid #E0E0E0 !important;
    border-radius: 8px !important;
    font-family: var(--gp-font-lexend), sans-serif !important;
    font-size: 15px !important;
    background-color: #F2F2F2 !important;
    color: #000000 !important;
    box-sizing: border-box !important;
}

#gb-overlay-244 .bee-form-option-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#gb-overlay-244 .bee-form-option-wrapper input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    accent-color: #C12B4F !important;
    cursor: pointer !important;
}

#gb-overlay-244 .bee-form-option-wrapper label {
    font-size: 14px !important;
    color: #555555 !important;
    font-family: var(--gp-font-lexend), sans-serif !important;
}

#gb-overlay-244 .bee-form-option-wrapper label a {
    color: #06BFBF !important;
    text-decoration: none !important;
}

#gb-overlay-244 input.yourButtonCustomStyle {
    width: 100% !important;
    padding: 12px !important;
    background-color: #C12B4F !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: var(--gp-font-lexend), sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin-top: 30px !important;
}

#gb-overlay-244 input.yourButtonCustomStyle:hover {
    background-color: #a02341 !important;
}

/* ============================================================
   Overlay Folleto Diplomado: Responsive móvil
   ============================================================ */
@media (max-width: 767px) {
    #gb-overlay-244 {
        align-items: center !important;
        padding: 16px !important;
    }

    #gb-overlay-244 .gb-element-c9ca767e {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        border-radius: 16px !important;
        padding: 24px 20px 32px 20px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }

    #gb-overlay-244 .gb-element-c9ca767e * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ============================================================
   Estilos para acordeón del plan de estudios
   ============================================================ */

.wp-block-details {
    background: #FFFFFF;
    border: 1px solid #E0E0E0;
    border-radius: 8px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.wp-block-details:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.wp-block-details summary {
    padding: 24px;
    padding-left: 48px;
    font-family: 'Lexend', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #000000;
    cursor: pointer;
    list-style: none;
    position: relative;
}

.wp-block-details summary::-webkit-details-marker {
    display: none;
}

.wp-block-details summary::before {
    content: "▶";
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #999999;
    transition: transform 0.3s ease;
}

.wp-block-details[open] summary::before {
    content: "▼";
}

.wp-block-details[open] summary {
    border-bottom: 1px solid #E8E8E8;
}

.wp-block-details .wp-block-details__content,
.wp-block-details > :not(summary) {
    padding: 20px 24px;
    color: #555555;
    font-size: 15px;
    line-height: 1.6;
}


/* Ícono de descarga en botón */

.btn-descarga a::before {
    content: "⤓";
    margin-right: 8px;
    font-size: 18px;
    color: #C12B4F;
}


/* ============================================================
   Carrusel testimonios — Estilos compartidos
   ============================================================ */
.splide-testimonios {
    position: relative;
}
.splide-testimonios .splide__arrows {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
.splide-testimonios .splide__arrow {
    background: transparent;
    border: 1px solid #E0E0E0;
    opacity: 0.6;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    pointer-events: all;
    transition: all 0.3s ease;
}
.splide-testimonios .splide__arrow:hover {
    opacity: 1;
    border-color: #C12B4F;
    background: #C12B4F;
}
.splide-testimonios .splide__arrow svg {
    fill: #999999;
    width: 14px;
    height: 14px;
}
.splide-testimonios .splide__arrow:hover svg {
    fill: #FFFFFF;
}
.splide-testimonios .splide__arrow--prev {
    left: -48px;
}
.splide-testimonios .splide__arrow--next {
    right: -48px;
}
.splide-testimonios .splide__pagination {
    bottom: -32px;
    gap: 4px;
}
.splide-testimonios .splide__pagination__page {
    background: #E0E0E0;
    width: 8px;
    height: 8px;
    opacity: 1;
    border: none;
}
.splide-testimonios .splide__pagination__page.is-active {
    background: #C12B4F;
    transform: scale(1);
}

/* Testimonios — Cards */
.testimonio-card {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 32px;
    height: 100%;
    text-align: left;
    display: flex;
    flex-direction: column;
    margin: 0;
}

.testimonio-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    border: none;
    padding: 0;
}

.testimonio-foto {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.testimonio-info {
    display: flex;
    flex-direction: column;
}

/* Nombre del egresado (antes <h4>, ahora <p><cite>) */
.testimonio-nombre {
    font-family: 'Lexend', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #000000;
    margin: 0;
    line-height: 1.3;
}

.testimonio-nombre cite {
    font-style: normal;
}

.testimonio-ubicacion {
    font-family: 'Lexend', sans-serif;
    font-weight: 400;
    font-size: 12px;
    color: #06BFBF;
    margin: 0;
    line-height: 1.3;
}

/* Texto del testimonio (ahora <blockquote>) */
.testimonio-texto {
    font-family: 'Lexend', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #999999;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    text-align: left;
    quotes: none;
    border: none;
}

.testimonio-texto::before,
.testimonio-texto::after {
    content: none;
}


/* ============================================================
   Píldora bonos diplomados - Diseño
   ============================================================ */


.bonos-badge {
    display: inline-block !important;
    border-radius: 999px;
    width: auto !important;
}

.bonos-header .bonos-badge {
    display: flex !important;
    justify-content: center;
    width: fit-content !important;
    margin-left: auto;
    margin-right: auto;
}

.bonos-subtitulo {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 767px) {
    .bonos-badge {
        font-size: 10px !important;
        padding: 5px 12px !important;
    }
}

@media (max-width: 767px) {
    .bonos-footer-banda {
        flex-direction: column !important;
        text-align: center !important;
    }
}

/* ============================================================
   FAQ - Diseño minimalista
   ============================================================ */


.faq-section .wp-block-details {
    background: transparent;
    border: none;
    border-bottom: 1px solid #E0E0E0;
    border-radius: 0;
    margin-bottom: 0;
    box-shadow: none;
}

.faq-section .wp-block-details:hover {
    box-shadow: none;
}

.faq-section .wp-block-details:last-child {
    border-bottom: none;
}

.faq-section .wp-block-details summary {
    padding: 24px 48px 24px 0;
    padding-left: 0;
    font-size: 16px;
    font-weight: 500;
    position: relative;
}

.faq-section .wp-block-details summary::before {
    content: "+";
    position: absolute;
    right: 0;
    left: auto;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 300;
    color: #999999;
    transition: transform 0.3s ease;
}

.faq-section .wp-block-details[open] summary::before {
    content: "−";
}

.faq-section .wp-block-details[open] summary {
    border-bottom: none;
    color: #C12B4F;
}

.faq-section .wp-block-details > :not(summary) {
    padding: 0 0 24px 0;
}

/* ============================================================
   FOOTER - GRAL
   ============================================================ */

/* Footer - Enlaces */

.gb-element-1c3d124f a {
    color: #999999 !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.gb-element-1c3d124f a:hover,
.gb-element-1c3d124f a:focus {
    color: #FFFFFF !important;
}


/* Footer - íconos redes sociales */

.gb-element-1c3d124f .gb-shape img,
.gb-element-1c3d124f img[src*="icon-linkedin"],
.gb-element-1c3d124f img[src*="icon-x"],
.gb-element-1c3d124f img[src*="icon-facebook"],
.gb-element-1c3d124f img[src*="icon-instagram"] {
    width: 22px !important;
    height: 22px !important;
}

/* Footer - en móvil, redes sociales debajo del copyright */

@media (max-width: 768px) {
    .gb-element-1c3d124f .footer-bottom-bar {
        flex-direction: column !important;
        gap: 20px;
        text-align: center;
    }
}

/* Footer - distribución proporcional de columnas */

@media (min-width: 1025px) {
    .columns-footer {
        grid-template-columns: 1fr 1.6fr 1.3fr 1.3fr !important;
    }
}

/* Formulario AcumbaMail - Footer */

.footer-newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 4px;
}

.footer-newsletter-input {
    width: 100%;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    color: #FFFFFF;
    font-family: 'Lexend', sans-serif;
    font-size: 14px;
    font-weight: 400;
    transition: border-color 0.3s ease, background 0.3s ease;
}

.footer-newsletter-input::placeholder {
    color: #999999;
}

.footer-newsletter-input:focus {
    outline: none;
    border-color: #06BFBF;
    background: rgba(255, 255, 255, 0.08);
}

.footer-newsletter-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Lexend', sans-serif;
    font-size: 12px;
    color: #999999;
    line-height: 1.5;
    cursor: pointer;
}

.footer-newsletter-checkbox input[type="checkbox"] {
    margin-top: 2px;
    accent-color: #06BFBF;
    flex-shrink: 0;
}

.footer-newsletter-checkbox a {
    color: #06BFBF !important;
    text-decoration: none !important;
}

.footer-newsletter-checkbox a:hover {
    color: #17E5DA !important;
}

.footer-newsletter-button {
    width: 100%;
    padding: 14px 24px;
    background: #C12B4F;
    color: #FFFFFF;
    border: none;
    border-radius: 6px;
    font-family: 'Lexend', sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.3s ease;
    margin-top: 4px;
}

.footer-newsletter-button:hover {
    background: #A02341;
}

/* ═══════════════════════════════════════
   LOGOS EMPRESAS HOME - Marquee fluido
   ═══════════════════════════════════════ */

.home-logos {
    overflow: hidden;
    position: relative;
    background: #F2F2F2;
}

/* Gradientes laterales */
.home-logos::before,
.home-logos::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    z-index: 2;
    pointer-events: none;
}

.home-logos::before {
    left: 0;
    background: linear-gradient(to right, #F2F2F2 0%, rgba(242, 242, 242, 0) 100%);
}

.home-logos::after {
    right: 0;
    background: linear-gradient(to left, #F2F2F2 0%, rgba(242, 242, 242, 0) 100%);
}

/* Track animado */
.logos-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 40px !important;
    width: max-content !important;
    max-width: none !important;
    animation: logos-scroll 60s linear infinite;
    will-change: transform;
}

/* Wrappers de GenerateBlocks / WordPress */
.logos-track > *,
.logos-track figure,
.logos-track .gb-image,
.logos-track .wp-block-image {
    flex: 0 0 120px !important;
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Imagen real */
.logos-track img {
    width: 120px !important;
    height: 48px !important;
    max-width: none !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    filter: grayscale(1);
    opacity: 0.55;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

.logos-track img:hover {
    filter: grayscale(0);
    opacity: 1;
}

/* Animación continua */
@keyframes logos-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

/* Pausa en hover */
.home-logos:hover .logos-track {
    animation-play-state: paused;
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
    .logos-track {
        animation: none;
    }
}

/* Responsive móvil */
@media (max-width: 768px) {
    .home-logos::before,
    .home-logos::after {
        width: 60px;
    }

    .logos-track {
        gap: 28px !important;
        animation-duration: 45s;
    }

    .logos-track > *,
    .logos-track figure,
    .logos-track .gb-image,
    .logos-track .wp-block-image {
        flex: 0 0 100px !important;
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        height: 42px !important;
    }

    .logos-track img {
        width: 100px !important;
        height: 42px !important;
    }
}



/* ESPACIADO DEL FORMULARIO CATÁLOGO */

.seccion-lead-magnet .bee-form-row {
    margin-bottom: 16px !important;
}
.seccion-lead-magnet .bee-field input[type="text"],
.seccion-lead-magnet .bee-field input[type="email"] {
    margin-bottom: 8px !important;
}
.seccion-lead-magnet .bee-field input[type="checkbox"] {
    margin-bottom: 16px !important;
}
.seccion-lead-magnet .bee-form-row:has(input[type="checkbox"]) {
    margin-bottom: 54px !important;
}



/* ============================================
   PÁGINA SUSCRIPCIÓN BOLETÍN
   ============================================ */

.seccion-suscripcion-boletin {
  background-color: #ffffff;
}

.titulo-suscripcion {
  font-size: 2.4rem;
  font-weight: 900;
  color: #000000;
  margin-bottom: 16px;
  line-height: 1.15;
}

.descripcion-suscripcion {
  font-size: 1.1rem;
  color: #555555;
  line-height: 1.7;
  margin-bottom: 36px;
}

/* Formulario */
.suscripcion-page-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.suscripcion-page-form .form-group {
  display: flex;
  flex-direction: column;
}

.suscripcion-page-form input[type="text"],
.suscripcion-page-form input[type="email"] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #E0E0E0;
  border-radius: 12px;
  font-family: inherit;
  font-size: 1rem;
  color: #000000;
  background-color: #ffffff;
  transition: border-color 0.2s;
}

.suscripcion-page-form input[type="text"]:focus,
.suscripcion-page-form input[type="email"]:focus {
  outline: none;
  border-color: #06BFBF;
}

.suscripcion-page-form .checkbox-group {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.suscripcion-page-form .checkbox-group input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #C12B4F;
  flex-shrink: 0;
  cursor: pointer;
}

.suscripcion-page-form .checkbox-group label {
  font-size: 0.875rem;
  color: #555555;
  cursor: pointer;
}

.suscripcion-page-form .checkbox-group label a {
  color: #06BFBF;
  text-decoration: underline;
}

.suscripcion-page-form input[type="submit"] {
  width: 100%;
  padding: 14px;
  background-color: #C12B4F;
  color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-top: 6px;
}

.suscripcion-page-form input[type="submit"]:hover {
  background-color: #a02341;
}

/* Ocultar breadcrumb en página de suscripción boletín */
body.page-id-13660 .rank-math-breadcrumb {
  display: none;
}

/* Ocultar barra fija móvil en página de suscripción */
body.page-id-13660 .barra-fija-movil {
  display: none !important;
}


/* ═══════════════════════════════════════
   BLOG - PÁGINA DE ENTRADAS
   ═══════════════════════════════════════ */


.blog-hero {
  background: #FFFFFF;
  padding: 64px 0 48px;
  text-align: center;
}
.blog-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.blog-hero-eyebrow {
  display: block;
  color: #06BFBF;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.blog-hero-title {
  font-size: 40px;
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 16px;
  color: #000000;
}
.blog-hero-subtitle {
  color: #555555;
  font-size: 18px;
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Blog grid cards */
.generate-columns .inside-article {
  background: #FFFFFF;
  border: 1px solid rgba(153,153,153,0.2);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  transition: all 0.3s ease;
  height: 100%;
}
.generate-columns .inside-article:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  border-color: rgba(6,191,191,0.3);
}

/* Imagen destacada */
.generate-columns .post-image {
  margin-bottom: 0;
}
.generate-columns .post-image img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
}
/* Fallback cuando no hay imagen */
.generate-columns .no-featured-image .inside-article::before {
  content: '';
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  background: #E8E8E8;
}

/* Contenido de la card */
.generate-columns .inside-article .entry-header,
.generate-columns .inside-article .entry-summary,
.generate-columns .inside-article footer.entry-meta {
  padding-left: 24px;
  padding-right: 24px;
}
.generate-columns .inside-article .entry-header {
  padding-top: 20px;
}
.generate-columns .inside-article footer.entry-meta {
  padding-bottom: 24px;
}

/* Categoría */
.generate-columns .cat-links a {
  display: inline-block;
  background: rgba(6,191,191,0.1);
  color: #06BFBF;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s;
}
.generate-columns .cat-links a:hover {
  background: #06BFBF;
  color: #FFFFFF;
}

/* Título del post */
.generate-columns .entry-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.generate-columns .entry-title a {
  color: #000000;
  text-decoration: none;
  transition: color 0.2s;
}
.generate-columns .entry-title a:hover {
  color: #C12B4F;
}

/* Extracto */
.generate-columns .entry-summary p {
  color: #555555;
  font-size: 14px;
  line-height: 1.5;
}

/* Leer más */
.generate-columns .read-more {
  color: #C12B4F;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s;
}
.generate-columns .read-more:hover {
  color: #a02341;
}

/* Meta info */
.generate-columns footer.entry-meta {
  font-size: 13px;
  color: #999999;
}

/* Paginación */
.paging-navigation {
  margin-top: 48px;
  margin-bottom: 16px;
}
.paging-navigation .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}
.paging-navigation .nav-links a.page-numbers,
.paging-navigation .nav-links span.page-numbers {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  border: 1px solid rgba(153,153,153,0.2);
  background: #FFFFFF;
  color: #555555;
  text-decoration: none;
  transition: all 0.2s;
  padding: 0;
}
.paging-navigation .nav-links a.page-numbers:hover {
  border-color: #06BFBF;
  color: #06BFBF;
}
.paging-navigation .nav-links span.page-numbers.current {
  background: #06BFBF;
  color: #FFFFFF;
  border-color: #06BFBF;
}
.paging-navigation .nav-links span.page-numbers.dots {
  border: none;
  background: transparent;
  color: #999999;
}
.paging-navigation .nav-links a.next,
.paging-navigation .nav-links a.prev {
  width: auto;
  padding: 0 16px;
  font-weight: 700;
  font-size: 13px;
}

/* Responsive */
@media (max-width: 768px) {
  .blog-hero-title {
    font-size: 28px;
  }
  .blog-hero {
    padding: 48px 0 32px;
  }
}

/* Fallback gris para posts sin imagen */
.generate-columns .no-featured-image .inside-article {
  position: relative;
}
.generate-columns .inside-article .entry-header {
  position: relative;
}
.generate-columns .no-featured-image .post-image-aligned-center {
  display: none;
}

/* Ocultar ícono de carpeta en categorías */
.generate-columns .cat-links .gp-icon {
  display: none;
}
.generate-columns footer.entry-meta .cat-links::before {
  display: none;
}

/* Separar visualmente el meta del contenido */
.generate-columns .entry-summary {
  padding-left: 24px;
  padding-right: 24px;
}

/* Fondo del archive */
.blog .site-content,
.archive .site-content {
  background: #E8E8E8;
}

/* Hero separación inferior */
.blog-hero {
  margin-bottom: 0;
  border-bottom: 1px solid rgba(153,153,153,0.1);
}

/* Categoría Pilss */
.blog-cat-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}
.blog-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  border: 1px solid rgba(153,153,153,0.2);
  background: #FFFFFF;
  color: #555555;
  text-decoration: none;
  transition: all 0.2s;
}
.blog-pill:hover,
.blog-pill.active {
  background: #06BFBF;
  color: #FFFFFF;
  border-color: #06BFBF;
}
/* Pill "Todos" activa en la página principal del blog */
.blog .blog-pill:first-child {
  background: #06BFBF;
  color: #FFFFFF;
  border-color: #06BFBF;
}

/* BLOG — Espacio entre comentarios y artículos relacionados en móvil */
@media (max-width: 1024px) {
    .widget_is_related_posts_widget {
        margin-top: 48px;
    }
}

/* ==========================================================================
   ACORDEÓN NATIVO DE REFERENCIAS — BLOQUE DETAILS DE WORDPRESS
   Instituto Salamanca
   ========================================================================== */

/* Contenedor principal */
.referencias-acordeon {
  border: 1px solid #E0E0E0;
  border-radius: 12px;
  overflow: hidden;
  background-color: #F5F5F5;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* ==========================================================================
   CABECERA / SUMMARY
   ========================================================================== */

.referencias-acordeon > summary {
  display: flex !important;
  align-items: center;
  justify-content: space-between;

  list-style: none !important;
  list-style-type: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;

  cursor: pointer;
  padding: 16px 20px;
  margin: 0 !important;

  background-color: #F5F5F5;
  color: #C12B4F;

  font-size: 1.375rem;
  line-height: 1.2;
  font-weight: 700;

  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Elimina el triángulo nativo izquierdo */
.referencias-acordeon > summary::marker {
  content: "" !important;
  font-size: 0 !important;
}

.referencias-acordeon > summary::-webkit-details-marker {
  display: none !important;
}

.referencias-acordeon > summary::before {
  content: none !important;
  display: none !important;
}

/* Ícono derecho personalizado */
.referencias-acordeon > summary::after {
  content: "";
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  border-right: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}

/* Hover cerrado */
.referencias-acordeon > summary:hover,
.referencias-acordeon > summary:focus {
  background-color: #C12B4F;
  color: #FFFFFF;
}

/* ==========================================================================
   ESTADO ABIERTO
   ========================================================================== */

.referencias-acordeon[open] {
  background:
    linear-gradient(to right, #06BFBF 0 4px, transparent 4px),
    #F7F7F7;
}

.referencias-acordeon[open] > summary {
  background-color: #C12B4F;
  color: #FFFFFF;
}

.referencias-acordeon[open] > summary:hover,
.referencias-acordeon[open] > summary:focus {
  background-color: #A62140;
}

.referencias-acordeon[open] > summary::after {
  transform: rotate(225deg);
}

/* ==========================================================================
   CONTENIDO INTERNO
   ========================================================================== */

/* Aplica estilo a todos los bloques internos, excepto el summary */
.referencias-acordeon > :not(summary) {
  margin-left: 14px !important;
  margin-right: 12px !important;
  color: #555555 !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

/* Primer bloque después del título */
.referencias-acordeon > summary + * {
  margin-top: 20px !important;
}

/* Último bloque interno */
.referencias-acordeon > :last-child {
  margin-bottom: 20px !important;
}

/* Párrafos de referencias */
.referencias-acordeon p {
  margin-top: 0 !important;
  margin-bottom: 0.85rem !important;

  color: #555555 !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

/* Enlaces, cursivas y énfasis dentro de referencias */
.referencias-acordeon p a,
.referencias-acordeon p em,
.referencias-acordeon p strong,
.referencias-acordeon p span {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Evita espacio extra en el último párrafo */
.referencias-acordeon p:last-child {
  margin-bottom: 0 !important;
}

/* Listas, por si alguna referencia se pega como lista */
.referencias-acordeon ul,
.referencias-acordeon ol {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  padding-left: 1.25rem !important;

  color: #555555 !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
}

.referencias-acordeon li {
  margin-bottom: 0.5rem !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 640px) {
  .referencias-acordeon > summary {
    padding: 14px 16px;
    font-size: 1.15rem;
  }

  .referencias-acordeon > :not(summary) {
    margin-left: 2px !important;
    margin-right: 2px !important;
    font-size: 0.85rem !important;
  }

  .referencias-acordeon > summary + * {
    margin-top: 14px !important;
  }

  .referencias-acordeon > :last-child {
    margin-bottom: 14px !important;
  }
}


/* ==========================================================================
   FIX — REDUCIR ESPACIADO ENTRE REFERENCIAS
   ========================================================================== */

/* Reduce el espacio general entre bloques internos */
.referencias-acordeon[open] > :not(summary) {
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}

/* Primer párrafo después del summary */
.referencias-acordeon[open] > summary + * {
  margin-top: 20px !important;
}

/* Párrafos de referencias */
.referencias-acordeon[open] p {
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Elimina márgenes internos heredados en spans, em y strong */
.referencias-acordeon[open] p span,
.referencias-acordeon[open] p em,
.referencias-acordeon[open] p strong {
  margin: 0 !important;
  padding: 0 !important;
}

/* Último párrafo */
.referencias-acordeon[open] p:last-child,
.referencias-acordeon[open] > :last-child {
  margin-bottom: 20px !important;
}

/* ═══════════════════════════════════════
   BLOG — CTA BANNER
   ═══════════════════════════════════════ */
.blog-cta-banner {
    background: #06BFBF;
    padding: 56px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.blog-cta-banner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: rgba(255,255,255,0.08);
    transform: skewX(12deg) translateX(25%);
}

.blog-cta-banner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 33%;
    height: 100%;
    background: rgba(23,229,218,0.2);
    transform: skewX(-12deg) translateX(-25%);
}

.blog-cta-inner {
    position: relative;
    z-index: 2;
}

.blog-cta-title {
    color: #FFFFFF;
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 12px;
}

.blog-cta-text {
    color: rgba(255,255,255,0.85);
    font-size: 16px;
    margin-bottom: 24px;
}

.blog-cta-btn {
    display: inline-flex;
    background: #FFFFFF;
    color: #06BFBF;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
}

.blog-cta-btn:hover {
    background: #F2F2F2;
    color: #06BFBF;
}

/* ═══════════════════════════════════════
   BARRA DE BÚSQUEDA 
═══════════════════════════════════════ */

.blog-search-bar {
  max-width: 480px;
  margin: 24px auto 0;
}
.blog-search-form {
  position: relative;
  display: flex;
  align-items: center;
}
.blog-search-icon {
  position: absolute;
  left: 16px;
  font-size: 14px;
  color: #999999;
  pointer-events: none;
  line-height: 1;
  opacity: 0.6;
}
.blog-search-input {
  width: 100%;
  padding: 12px 16px 12px 48px !important;
  border: 1px solid rgba(153,153,153,0.25) !important;
  border-radius: 8px;
  font-family: 'Lexend', var(--gp-font--lexend), sans-serif;
  font-size: 14px;
  background: #FFFFFF;
  color: #000000;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.blog-search-input:focus {
  border-color: #06BFBF !important;
  box-shadow: 0 0 0 3px rgba(6,191,191,0.1);
}
.blog-search-input::placeholder {
  color: #999999;
}



.single-hero {
  background: #FFFFFF;
  padding: 48px 0 32px;
  text-align: center;
}
.single-hero-inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}
.single-hero-cat {
  display: inline-block;
  background: rgba(6,191,191,0.1);
  color: #06BFBF;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 4px;
  margin-bottom: 20px;
  text-decoration: none;
  transition: all 0.2s;
}
.single-hero-cat:hover {
  background: #06BFBF;
  color: #FFFFFF;
}
.single-hero-title {
  font-size: 36px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 20px;
  color: #000000;
}
.single-hero-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 13px;
  color: #999999;
  flex-wrap: wrap;
}
.single-hero-author {
  display: flex;
  align-items: center;
  gap: 8px;
}
.single-hero-author .author-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #06BFBF;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 700;
}
.single-hero-dot {
  color: rgba(153,153,153,0.3);
}

/* Single featured image */
.single-featured {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 48px;
}
.single-featured-img {
  border-radius: 16px;
  overflow: hidden;
}
.single-featured-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 21/9;
  object-fit: cover;
  display: block;
}

/* Single post content */
.single .site-content {
  background: #E8E8E8;
}

/* Ocultar título y meta nativos de GP en single posts */
.single-post .entry-header {
  display: none;
}

/* Responsive single */
@media (max-width: 768px) {
  .single-hero-title {
    font-size: 28px;
  }
  .single-hero {
    padding: 32px 0 24px;
  }
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA — CUERPO DEL ARTÍCULO
   ═══════════════════════════════════════ */

.single-post .entry-content {
    background: #FFFFFF;
    border-radius: 16px;
    border: 1px solid rgba(153,153,153,0.2);
    padding: 48px 40px;
}

@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 24px;
    }
}

/* Single post - featured image */
.single-featured {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px 48px;
}

.single-featured-img {
    border-radius: 16px;
    overflow: hidden;
}

.single-featured-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    display: block;
}

/* Avatar con foto en el hero del single post */
.author-avatar-img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA — TIPOGRAFÍA DEL CONTENIDO
   ═══════════════════════════════════════ */
.single-post .entry-content h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 36px 0 16px;
    letter-spacing: -0.02em;
    color: #000000;
}

.single-post .entry-content h2:first-child {
    margin-top: 0;
}

.single-post .entry-content h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 28px 0 12px;
    color: #000000;
}

.single-post .entry-content p {
    color: #555555;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.single-post .entry-content blockquote {
    border-left: 4px solid #06BFBF;
    padding: 16px 24px;
    margin: 24px 0;
    background: rgba(6,191,191,0.04);
    border-radius: 0 8px 8px 0;
}

.single-post .entry-content blockquote p {
    color: #000000;
    font-style: italic;
    margin: 0;
}

.single-post .entry-content ul,
.single-post .entry-content ol {
    margin: 16px 0 20px 24px;
    color: #555555;
    font-size: 16px;
    line-height: 1.8;
}

.single-post .entry-content ul li,
.single-post .entry-content ol li {
    margin-bottom: 8px;
}

/* ═══════════════════════════════════════
   SINGLE POST — ACCORDION REFERENCIAS (GB)
   ═══════════════════════════════════════ */
.single-post .entry-content .gb-accordion {
    border: 1px solid rgba(153,153,153,0.2);
    border-radius: 12px;
    overflow: hidden;
    margin: 32px 0;
}

.single-post .entry-content .gb-accordion__toggle {
    background: #FFFFFF !important;
    border: none !important;
    border-bottom: 1px solid rgba(153,153,153,0.15) !important;
    padding: 16px 24px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    cursor: pointer;
    width: 100%;
}

.single-post .entry-content .gb-accordion__toggle:hover {
    background: rgba(6,191,191,0.04) !important;
}

.single-post .entry-content .gb-accordion__content {
    padding: 24px !important;
    background: #FFFFFF;
}

.single-post .entry-content .gb-accordion__content p {
    font-size: 14px;
    color: #555555;
    line-height: 1.7;
    margin-bottom: 12px;
}

.single-post .entry-content .gb-accordion__toggle[aria-expanded="false"] + .gb-accordion__content {
    padding: 0 !important;
    overflow: hidden !important;
    height: 0 !important;
    border: none !important;
    margin: 0 !important;
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA — SIDEBAR WIDGETS
   ═══════════════════════════════════════ */
.single-post .widget-area .widget {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 24px;
    border: 1px solid rgba(153,153,153,0.2);
    margin-bottom: 24px;
}

.single-post .widget-area .widget-title,
.single-post .widget-area .wp-block-heading {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #000000;
    margin-bottom: 16px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid #06BFBF;
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA — TABLA DE CONTENIDOS
   ═══════════════════════════════════════ */
.toc-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #000000;
    margin-bottom: 16px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid #06BFBF;
}

.toc-list {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}

.toc-list li {
    padding: 4px 0 4px 14px;
    border-left: 2px solid rgba(153,153,153,0.2);
    transition: border-color 0.2s;
}

.toc-list li:hover {
    border-left-color: #06BFBF;
}

.toc-list li a {
    color: #555555;
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
}

.toc-list li a:hover {
    color: #C12B4F;
}

.toc-list li.toc-sub {
    padding-left: 28px;
    border-left-color: transparent;
}

.toc-list li.toc-sub a {
    font-size: 12px;
    color: #999999;
}

/* Ocultar TOC en móvil (sidebar se mueve abajo del contenido) */
@media (max-width: 768px) {
    .widget.widget_is_toc_widget {
        display: none;
    }
}

/* ═══════════════════════════════════════
   SCROLL OFFSET PARA HEADER STICKY
   ═══════════════════════════════════════ */
html {
    scroll-padding-top: 90px;
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA — BANNER DIPLOMADO RELACIONADO
   ═══════════════════════════════════════ */
.diplomado-banner {
    background: #FFFFFF;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(153,153,153,0.2);
    transition: all 0.3s;
}

.diplomado-banner:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    border-color: rgba(6,191,191,0.3);
}

.diplomado-banner-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.diplomado-banner-body {
    padding: 24px;
}

.diplomado-banner-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #06BFBF;
    margin-bottom: 8px;
}

.diplomado-banner-title {
    font-size: 18px;
    font-weight: 700;
    color: #000000;
    line-height: 1.3;
    margin-bottom: 8px;
}

.diplomado-banner-meta {
    font-size: 13px;
    color: #06BFBF;
    font-weight: 500;
    margin-bottom: 8px;
}

.diplomado-banner-desc {
    font-size: 14px;
    color: #555555;
    line-height: 1.5;
    margin-bottom: 16px;
}

.diplomado-banner-btn {
    display: inline-flex;
    align-items: center;
    background: #C12B4F;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 24px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
    width: 100%;
    justify-content: center;
}

.diplomado-banner-btn:hover {
    background: #a02341;
    color: #FFFFFF;
}
/* Banner diplomado dentro del contenido: ancho limitado y centrado */
.single-post .entry-content .diplomado-banner {
    max-width: 480px;
    margin: 32px auto;
}

/* ═══════════════════════════════════════
   BANNER DIPLOMADO — VISIBILIDAD POR DISPOSITIVO
   ═══════════════════════════════════════ */

/* En desktop: ocultar el banner inyectado en el contenido */
.diplomado-banner-mobile {
    display: none;
}

/* En desktop: el widget del sidebar se muestra normalmente */

/* En móvil: mostrar el banner en el contenido, ocultar el widget del sidebar */
@media (max-width: 768px) {
    .diplomado-banner-mobile {
        display: block;
        margin: 32px 0;
    }

    .widget_is_diplomado_banner_widget {
        display: none;
    }
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA — SIDEBAR ENTRADAS RELACIONADAS
   ═══════════════════════════════════════ */
.related-sidebar-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #000000;
    margin-bottom: 16px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid #06BFBF;
}

.related-sidebar-post {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(153,153,153,0.2);
}

.related-sidebar-post:last-child {
    border-bottom: none;
}

.related-sidebar-img {
    width: 72px;
    height: 56px;
    border-radius: 6px;
    background: #E8E8E8;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.related-sidebar-info h5 {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 4px;
}

.related-sidebar-info h5 a {
    color: #000000;
    text-decoration: none;
    transition: color 0.2s;
}

.related-sidebar-info h5 a:hover {
    color: #C12B4F;
}

.related-sidebar-date {
    font-size: 12px;
    color: #999999;
}

/* ═══════════════════════════════════════
   ENTRADA — CAJA AUTOR
   ═══════════════════════════════════════ */
.author-box-wrapper {
    background: #FFFFFF;
    border: 1px solid rgba(153,153,153,0.2);
    border-radius: 16px;
    padding: 32px;
    margin: 40px 0 24px;
}

.author-box-heading {
    font-size: 20px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #06BFBF;
}

.author-box {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 20px;
    border: none;
    padding: 0;
    background: none;
    border-radius: 0;
}

.author-box-photo {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.author-box-avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: #06BFBF;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 28px;
    font-weight: 700;
    flex-shrink: 0;
}

.author-box-avatar-col {
    flex-shrink: 0;
}

.author-box-name {
    font-size: 20px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 4px;
}

.author-box-location {
    font-size: 14px;
    color: #555555;
    margin-bottom: 8px;
}

.author-box-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.author-box-links a {
    color: #06BFBF;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}

.author-box-links a:hover {
    color: #C12B4F;
}

.author-box-perfil {
    font-size: 15px;
    color: #555555;
    line-height: 1.7;
}

.author-box-perfil p {
    margin-bottom: 12px;
    font-size: 15px;
    color: #555555;
}

.author-box-coautores {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(153,153,153,0.2);
}

.coautor-item {
    padding: 8px 0;
    border-bottom: 1px solid rgba(153,153,153,0.1);
}

.coautor-item:last-child {
    border-bottom: none;
}

.coautor-item strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #000000;
}

.coautor-item span {
    font-size: 13px;
    color: #999999;
}

@media (max-width: 600px) {
    .author-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .author-box-links {
        justify-content: center;
    }
}

/* ═══════════════════════════════════════
   ENTDADA ÚNICA — TAGS
   ═══════════════════════════════════════ */

.single-post footer.entry-meta {
    padding-top: 24px;
    margin-top: 32px;
    border-top: 1px solid rgba(153,153,153,0.2);
}

.single-post footer.entry-meta .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: 0;
}

.single-post footer.entry-meta .tags-links .gp-icon,
.single-post footer.entry-meta .tags-links .screen-reader-text {
    display: none;
}

.single-post footer.entry-meta .tags-links a[rel="tag"] {
    padding: 6px 14px !important;
    border-radius: 4px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(153,153,153,0.2) !important;
    color: #555555 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    display: inline-block !important;
}

.single-post footer.entry-meta .tags-links a[rel="tag"]:hover {
    background: #06BFBF !important;
    color: #FFFFFF !important;
    border-color: #06BFBF !important;
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA — BARRA COMPARTIR
   ═══════════════════════════════════════ */
.share-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 0;
    border-top: 1px solid rgba(153,153,153,0.2);
    border-bottom: 1px solid rgba(153,153,153,0.2);
    margin: 24px 0 0;
}

.share-label {
    font-size: 13px;
    color: #999999;
    font-weight: 500;
}

.share-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(153,153,153,0.2);
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    color: #555555;
    text-decoration: none;
    padding: 0;
    font-family: inherit;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.share-btn:hover {
    border-color: #06BFBF;
    color: #06BFBF;
    background: #FFFFFF;
}

.share-btn.copied {
    border-color: #C0C90E;
    color: #C0C90E;
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA— CC LICENCIA
   ═══════════════════════════════════════ */
.cc-license {
    padding: 20px 24px;
    background: rgba(6,191,191,0.05);
    border: 1px solid rgba(6,191,191,0.15);
    border-radius: 8px;
    font-size: 13px;
    color: #555555;
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px 0 0;
    line-height: 1.5;
}

.cc-icons {
    flex-shrink: 0;
}

.cc-license a {
    color: #06BFBF;
    text-decoration: none;
}

.cc-license a:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .cc-license {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* ═══════════════════════════════════════
   ENTRADA ÚBICA — CAJA CITAR
   ═══════════════════════════════════════ */
.cite-box {
    background: #FFFFFF;
    border: 1px solid rgba(153,153,153,0.2);
    border-radius: 16px;
    padding: 28px 32px;
    margin: 24px 0;
}

.cite-box-title {
    font-size: 16px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 12px;
}

.cite-box-content {
    border-left: 3px solid #C0C90E;
    padding: 16px 20px;
    background: rgba(192,201,14,0.06);
    border-radius: 0 8px 8px 0;
    font-size: 14px;
    color: #555555;
    line-height: 1.6;
}

.cite-box-content p {
    margin: 0;
    font-size: 14px;
    color: #555555;
}

/* ═══════════════════════════════════════
   SINGLE POST — COMMENTS
   ═══════════════════════════════════════ */
.single-post .comments-area {
    background: #FFFFFF;
    border-radius: 16px;
    border: 1px solid rgba(153,153,153,0.2);
    padding: 32px;
    margin-top: 24px;
}

.single-post .comments-area .comments-title,
.single-post .comments-area .comment-reply-title {
    font-size: 20px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #06BFBF;
}

.single-post .comments-area textarea,
.single-post .comments-area input[type="text"],
.single-post .comments-area input[type="email"],
.single-post .comments-area input[type="url"] {
    width: 100%;
    border: 1px solid rgba(153,153,153,0.3);
    border-radius: 8px;
    padding: 12px 16px;
    font-family: inherit;
    font-size: 14px;
    color: #000000;
    background: #FFFFFF;
    transition: border-color 0.2s;
}

.single-post .comments-area textarea:focus,
.single-post .comments-area input[type="text"]:focus,
.single-post .comments-area input[type="email"]:focus,
.single-post .comments-area input[type="url"]:focus {
    border-color: #06BFBF;
    outline: none;
}

.single-post .comments-area textarea {
    min-height: 150px;
    resize: vertical;
}

.single-post .comments-area .form-submit input[type="submit"] {
    background: #C12B4F;
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    padding: 12px 32px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

.single-post .comments-area .form-submit input[type="submit"]:hover {
    background: #a02341;
}

.single-post .comments-area .comment-notes,
.single-post .comments-area .logged-in-as {
    font-size: 13px;
    color: #999999;
    margin-bottom: 16px;
}

.single-post .comments-area .logged-in-as a {
    color: #06BFBF;
}

.single-post .comments-area .comment-form-cookies-consent label {
    font-size: 13px;
    color: #555555;
}

/* Comentarios existentes */
.single-post .comments-area .comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.single-post .comments-area .comment-body {
    padding: 20px 0;
    border-bottom: 1px solid rgba(153,153,153,0.15);
}

.single-post .comments-area .comment-author {
    font-size: 14px;
    font-weight: 700;
    color: #000000;
}

.single-post .comments-area .comment-metadata {
    font-size: 12px;
    color: #999999;
    margin-bottom: 8px;
}

.single-post .comments-area .comment-metadata a {
    color: #999999;
    text-decoration: none;
}

.single-post .comments-area .comment-content p {
    font-size: 14px;
    color: #555555;
    line-height: 1.6;
}

.single-post .comments-area .reply a {
    font-size: 12px;
    color: #06BFBF;
    text-decoration: none;
    font-weight: 600;
}

.single-post .comments-area .reply a:hover {
    color: #C12B4F;
}

/* ═══════════════════════════════════════
   ENTRADA ÚNICA — ARTÍCULOS RELACIONADOS FULL-WIDTH
   ═══════════════════════════════════════ */
.related-section {
    background: #FFFFFF;
    padding: 64px 0;
    border-top: 1px solid rgba(153,153,153,0.2);
}

.related-section-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.related-section-heading {
    text-align: center;
    margin-bottom: 40px;
}

.related-section-eyebrow {
    color: #06BFBF;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block;
}

.related-section-title {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #000000;
}

.related-section-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.related-card {
    background: #FFFFFF;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(153,153,153,0.2);
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
}

.related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    border-color: rgba(6,191,191,0.3);
}

.related-card-img {
    width: 100%;
    aspect-ratio: 16 / 10;
    background: #E8E8E8;
    background-size: cover;
    background-position: center;
}

.related-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.related-card-cat {
    display: inline-block;
    background: rgba(6,191,191,0.1);
    color: #06BFBF;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 14px;
    border-radius: 4px;
    margin-bottom: 12px;
    width: fit-content;
    text-decoration: none;
    transition: all 0.2s;
}

.related-card-cat:hover {
    background: #06BFBF;
    color: #FFFFFF;
}

.related-card-body h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 8px;
}

.related-card-body h3 a {
    color: #000000;
    text-decoration: none;
    transition: color 0.2s;
}

.related-card-body h3 a:hover {
    color: #C12B4F;
}

.related-card-excerpt {
    color: #555555;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 16px;
    flex: 1;
}

.related-card-more {
    color: #C12B4F;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: gap 0.2s;
}

.related-card-more:hover {
    gap: 8px;
}

@media (max-width: 900px) {
    .related-section-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .related-section-grid {
        grid-template-columns: 1fr;
    }

    .related-section-title {
        font-size: 24px;
    }
}

/* Ocultar artículos relacionados full-width en móvil (el sidebar los muestra) */
@media (max-width: 768px) {
    .related-section {
        display: none;
    }
}

/* Tarjetas Blog Home — clickeable completa */
.card-blog-home {
    position: relative;
    cursor: pointer;
    transition: box-shadow 0.3s ease;
}
.card-blog-home:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.card-blog-home a:first-of-type::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* Card blog — título clickeable */
.card-blog-home h3 a {
    color: #000000;
    text-decoration: none;
}
.card-blog-home h3 a:hover {
    color: #C12B4F;
}

/* Card blog — estilos del título */
.card-blog-home h3 a {
    color: #000000 !important;
    text-decoration: none !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}
.card-blog-home h3 a:hover {
    color: #C12B4F !important;
}
.card-blog-home h3 {
    padding: 20px 20px 20px 20px !important;
    margin: 0 !important;
}

/* ============================================================
   WHATSAPP: BOTÓN FLOTANTE
   ============================================================ */
.whatsapp-float {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9999;
    width: 56px;
    height: 56px;
    background-color: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.20);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp-float:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

.whatsapp-float svg {
    width: 30px;
    height: 30px;
    fill: #FFFFFF;
}

/* Ocultar en páginas del blog */
.blog .whatsapp-float,
.single-post .whatsapp-float,
.category .whatsapp-float,
.tag .whatsapp-float,
.archive.category .whatsapp-float {
    display: none !important;
}

@media (max-width: 767px) {
    .whatsapp-float {
        display: none !important;
    }
}

/* ============================================================
   Home Hero: Neutralizar override de GP en botón "Recibir información"
   ============================================================ */
button.gb-text-a35aea4a {
    background-color: transparent !important;
    color: #000000 !important;
}

button.gb-text-a35aea4a:hover {
    background-color: #F2F2F2 !important;
}

/* ============================================================
   Overlay "Solicitar Información General": Botón cerrar X
   ============================================================ */
#gb-overlay-12111 .gbp-overlay-panel__close {
    background-color: transparent !important;
    color: #999999 !important;
    border: none !important;
}

#gb-overlay-12111 .gbp-overlay-panel__close:hover {
    background-color: #F2F2F2 !important;
    color: #C12B4F !important;
}

/* ============================================================
   Fluent Forms: Botón submit en magenta
   ============================================================ */
.ff-btn-submit {
    background-color: #C12B4F !important;
    border-color: #C12B4F !important;
    color: #FFFFFF !important;
}

.ff-btn-submit:hover {
    background-color: #a02341 !important;
    border-color: #a02341 !important;
}

/* ============================================================
   BARRA FIJA MÓVIL: RECIBIR INFORMACIÓN + WHATSAPP
   ============================================================ */
.barra-fija-movil {
    display: none;
}

@media (max-width: 767px) {
    .barra-fija-movil {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9998;
        height: 60px;
        background-color: #FFFFFF;
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.12);
        align-items: stretch;
    }

    .barra-fija-movil__btn-info {
        flex: 1;
        background-color: #C12B4F;
        color: #FFFFFF !important;
        font-family: var(--gp-font-lexend), sans-serif;
        font-weight: 700;
        font-size: 15px;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background-color 0.2s ease;
    }

    .barra-fija-movil__btn-info:hover {
        background-color: #a02341 !important;
    }

    .barra-fija-movil__btn-whatsapp {
        width: 60px;
        min-width: 60px;
        background-color: #25D366;
        color: #FFFFFF !important;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        transition: background-color 0.2s ease;
    }

    .barra-fija-movil__btn-whatsapp:hover {
        background-color: #1da851 !important;
    }

    .barra-fija-movil__btn-whatsapp svg {
        width: 28px;
        height: 28px;
        fill: #FFFFFF;
    }

    /* Ocultar en blog */
    .blog .barra-fija-movil,
    .single-post .barra-fija-movil,
    .category .barra-fija-movil,
    .tag .barra-fija-movil {
        display: none !important;
    }
}

/* ============================================================
   Overlay "Solicitar Información General": Responsive móvil
   ============================================================ */
@media (max-width: 1024px) {
    #gb-overlay-12111 {
        align-items: flex-end !important;
        padding: 0 !important;
    }

    #gb-overlay-12111 .gb-element-e3f6966d {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        max-height: 90vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-radius: 16px 16px 0 0 !important;
        padding: 20px 20px 24px 20px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }

    #gb-overlay-12111 fieldset {
        min-inline-size: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #gb-overlay-12111 .ff-el-form-control {
        width: 100% !important;
        padding: 8px 12px !important;
        height: auto !important;
        box-sizing: border-box !important;
    }

    #gb-overlay-12111 .ff-el-group {
        margin-bottom: 8px !important;
    }

    #gb-overlay-12111 h3 {
        margin-bottom: 4px !important;
        font-size: 20px !important;
    }

    #gb-overlay-12111 .gb-text-7e9a29ce {
        margin-bottom: 12px !important;
        font-size: 14px !important;
    }
}

/* ============================================================
   OVERLAY SUSCRIBIRSE: ESTILOS FORMULARIO ACUMBAMAIL CUSTOM
   ============================================================ */
#gb-overlay-12132 #formulario-suscripcion {
    width: 100%;
}

#gb-overlay-12132 .footer-newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#gb-overlay-12132 .form-group input[type="text"],
#gb-overlay-12132 .form-group input[type="email"] {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #E0E0E0;
    border-radius: 8px;
    font-family: var(--gp-font-lexend), sans-serif;
    font-size: 15px;
    background-color: #F2F2F2;
    color: #000000;
    box-sizing: border-box;
}

#gb-overlay-12132 .form-group input[type="text"]:focus,
#gb-overlay-12132 .form-group input[type="email"]:focus {
    outline: none;
    border-color: #06BFBF;
    background-color: #FFFFFF;
}

#gb-overlay-12132 .checkbox-group {
    display: flex;
    align-items: center;
    gap: 10px;
}

#gb-overlay-12132 .checkbox-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    accent-color: #C12B4F;
    cursor: pointer;
}

#gb-overlay-12132 .checkbox-group label {
    font-size: 14px;
    color: #555555;
    font-family: var(--gp-font-lexend), sans-serif;
}

#gb-overlay-12132 .checkbox-group label a {
    color: #06BFBF;
    text-decoration: none;
}

#gb-overlay-12132 .checkbox-group label a:hover {
    text-decoration: underline;
}

#gb-overlay-12132 input.submit-button {
    width: 100%;
    padding: 12px;
    background-color: #C12B4F;
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    font-family: var(--gp-font-lexend), sans-serif;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

#gb-overlay-12132 input.submit-button:hover {
    background-color: #a02341;
}

/* Overlay Suscribirse: Botón cerrar X */
#gb-overlay-12132 .gbp-overlay-panel__close {
    background-color: transparent !important;
    color: #999999 !important;
    border: none !important;
}

#gb-overlay-12132 .gbp-overlay-panel__close:hover {
    background-color: #F2F2F2 !important;
    color: #C12B4F !important;
}

/* Overlay Suscribirse: Responsive móvil */
@media (max-width: 767px) {
    #gb-overlay-12132 {
        align-items: center !important;
        padding: 16px !important;
    }

    #gb-overlay-12132 .gb-element-c9ca767e {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        border-radius: 16px !important;
        padding: 24px 20px 32px 20px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }

    #gb-overlay-12132 .gb-element-c9ca767e * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #gb-overlay-12132 #formulario-suscripcion,
    #gb-overlay-12132 .footer-newsletter-form {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}


/* ═══════════════════════════════════════════
   PÁGINAS LEGALES (.pagina-legal)
═══════════════════════════════════════════ */
.legal-content h1 {
    font-size: 36px;
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #000000;
    margin-bottom: 8px;
}

.legal-content h1 + p {
    color: #999999;
    font-size: 14px;
    margin-bottom: 48px;
    padding-bottom: 32px;
    border-bottom: 1px solid #E0E0E0;
}

.legal-content h2 {
    font-size: 20px;
    font-weight: 700;
    color: #000000;
    margin-top: 48px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #E0E0E0;
}

.legal-content h3 {
    font-size: 16px;
    font-weight: 700;
    color: #000000;
    margin-top: 24px;
    margin-bottom: 12px;
}

.legal-content p {
    font-size: 15px;
    line-height: 1.75;
    color: #555555;
    margin-bottom: 16px;
}

.legal-content ul {
    margin: 0 0 20px 0;
    padding-left: 20px;
}

.legal-content ul li {
    font-size: 15px;
    line-height: 1.75;
    color: #555555;
    margin-bottom: 8px;
}

.legal-content a {
    color: #C12B4F;
    text-decoration: none;
}

.legal-content a:hover {
    text-decoration: underline;
}




body.error404 {
    background: #ffffff;
}

body.error404 #page,
body.error404 #content,
body.error404 .site-content,
body.error404 .content-area,
body.error404 .inside-article,
body.error404 .gp-404-custom,
body.error404 .gp-404-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: #ffffff;
}

body.error404 .site-content {
    display: block;
}

body.error404 .gp-404-main {
    min-height: calc(100vh - 100px);
}


/* ═══════════════════════════════════════════
   FAQ GRAL - ACORDEÓN
═══════════════════════════════════════════ */
.faq-acordeon details {
    background: #FFFFFF;
    border: 1px solid #E0E0E0;
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.faq-acordeon details:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.faq-acordeon details[open] {
    border-color: #06BFBF;
}

.faq-acordeon summary {
    padding: 20px 24px;
    font-size: 16px;
    font-weight: 700;
    color: #000000;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-acordeon summary::-webkit-details-marker {
    display: none;
}

.faq-acordeon summary::after {
    content: '+';
    font-size: 22px;
    font-weight: 300;
    color: #C12B4F;
    transition: transform 0.2s ease;
    flex-shrink: 0;
    margin-left: 16px;
}

.faq-acordeon details[open] summary::after {
    content: '−';
}

.faq-acordeon details p {
    padding: 0 24px 20px;
    font-size: 16px;
    color: #555555;
    line-height: 1.7;
    margin: 0;
}

.faq-acordeon details a {
    color: #06BFBF;
    text-decoration: underline;
}

/* FAQ Acordeón — Fix Tablet */
.seccion-faq-programas .faq-acordeon,
.seccion-faq-inscripcion .faq-acordeon,
.seccion-faq-pagos .faq-acordeon {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.faq-acordeon details,
.faq-acordeon summary {
    box-sizing: border-box;
    width: 100%;
}

.faq-acordeon summary {
    word-break: break-word;
    white-space: normal;
}

/* ═══════════════════════════════════════════
   BREADCRUMB
═══════════════════════════════════════════ */

/* Breadcrumb Sutil */

.breadcrumb-wrapper {
    background: #FFFFFF;
    padding: 12px 0;
}

.breadcrumb-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    font-size: 13px;
    color: #999999;
}

.breadcrumb-inner a {
    color: #06BFBF;
    text-decoration: none;
}

.breadcrumb-inner a:hover {
    text-decoration: underline;
}

.breadcrumb-inner .separator {
    margin: 0 6px;
    color: #999999;
}

/* Breadcrumb Blog */

.blog-breadcrumb {
  background: #FFFFFF;
  padding: 12px 0;
}
.blog-breadcrumb-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  font-size: 13px;
  color: #999999;
}
.blog-breadcrumb-inner a {
  color: #06BFBF;
  text-decoration: none;
}
.blog-breadcrumb-inner a:hover {
  text-decoration: underline;
}
.blog-breadcrumb-inner .separator {
  margin: 0 6px;
  color: #999999;
}

/* Single post Hero */
.single-breadcrumb {
  background: #FFFFFF;
  border-bottom: 1px solid rgba(153,153,153,0.15);
  padding: 12px 0;
}
.single-breadcrumb-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  font-size: 13px;
  color: #999999;
}
.single-breadcrumb-inner a {
  color: #06BFBF;
  text-decoration: none;
}
.single-breadcrumb-inner a:hover {
  text-decoration: underline;
}



@media (max-width: 767px) {
    .rank-math-breadcrumb p {
        margin-bottom: 0;
    }
}


/* ═══════════════════════════════════════════
   Ajuste global para textos de ayuda personalizados en Fluent Forms
═══════════════════════════════════════════ */

.fluentform .ff-el-group:has(.ff-texto-ayuda) {
    margin-top: -14px !important;
    margin-bottom: 20px !important;
}

.fluentform .ff-texto-ayuda {
    font-size: 13px;
    line-height: 1.25;
    color: #333;
    margin: 0;
    padding: 0;
}


