/* ===========================================================
   BUNDLE de estilos de bloques (WPO, auditoría SEO punto 10)
   Generado concatenando blocks/{nombre}/styles.css en el MISMO
   orden en que se enqueaban por separado (24 peticiones ->  1),
   preservando la cascada CSS resultante.
   OJO: si se edita el styles.css de un bloque, hay que volver a
   generar este archivo (no hay build step automático todavía).
   =========================================================== */

/* ---- blocks/hero/styles.css ---- */
section.block-hero{
padding: 0;
}

.block-hero__wrapper {
    border-radius: 0;
    background: var(--wp--preset--color--primary-80);
    margin: 0;
    position: relative;
    overflow: hidden;
    display:grid;
}

.block-hero__container {
    max-width: var(--wp--custom--layout--desktop-width);
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.block-hero__inner {
    position: relative;
    z-index: 1;
    padding-top: 164px;
    padding-bottom: 135px; /* Increased to make space for overlapping cards */
}

.block-hero__info {
    position: relative;
    z-index: 1;
    display: flex;
    max-width: var(--wp--custom--layout--narrow-width) !important;
    padding: 28px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-radius: 24px;
    border: none;
    background: #FFFFFF;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
}
section.block-hero h1.wp-block-heading {
    font-size: 38px !important;
    line-height: 1.25 !important;
    margin-bottom: 0 !important;
    font-weight: 800;
}
section.block-hero h1 span{
    color: var(--wp--preset--color--primary-100);
}
.block-hero__info p.wp-block-paragraph {
    margin-bottom: 0 !important;
}
.block-hero__info p.wp-block-paragraph:first-child {
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--wp--preset--color--primary-150) !important;
}
section.block-hero .wp-block-list{
    margin: 0;
}
section.block-hero .wp-block-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
section.block-hero .wp-block-list li {
    position: relative;
    padding-left: 23px;
    margin-bottom: 0 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}
section.block-hero .wp-block-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 18px;
    height: 15px;
    background-image: url("./../../assets/images/arrow-right-blue.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
/*Slider*/

.block-hero__slider {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.block-hero {
    background: none;
    position: relative;
    overflow: hidden;
}

.block-hero__slider img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    z-index: 0;
    border-radius: 0;
}

.swiper-slide {
    width: 100%;
    height: auto;
    line-height: 0;
    transition: opacity 0.5s ease-in-out;
}

.block-hero__slider-mobile {
    display: none;
}
@media (max-width: 920px) {

    .block-hero__wrapper {
    border-radius: 0;
    margin: 0;
    max-width: 100%;
    background: transparent !important;
}

.block-hero__inner {
    padding-top: 92px;
    padding-bottom: 70px; /* Increased to prevent overlap on mobile CTA */
}
.block-hero__slider{
    display: none;
}

.block-hero__slider-mobile {
    display: block;
    overflow: hidden;
}

.block-hero__slider-mobile img {
    width: 100%;
    height: auto;
    max-height: 50vh;
    object-fit: cover;
    object-position: center;
}


}

.hero-cta-subtext {
    font-size: 13px;
    color: var(--wp--preset--color--neutral-600);
    margin-top: -12px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    align-self: flex-start;
}

@media (max-width: 920px) {
    .hero-cta-subtext {
        align-self: center;
        text-align: center;
        margin-top: -12px;
    }
}

/* ---- blocks/propuesta-valor/styles.css ---- */
/* Stylesheet for the 'propuesta-valor' block (Senda Cards) */

section.block-propuesta-valor {
    padding: 80px 0;
    background: linear-gradient(180deg, #FAF6F0 0%, #EEE8DD 100%);
    text-align: center;
    color: #2A2822;
    overflow-x: hidden;
}

section.block-propuesta-valor .inner-propuesta-valor {
    max-width: var(--wp--custom--layout--desktop-width, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.block-propuesta-valor .header-propuesta {
    max-width: 800px;
    margin: 0 auto 48px auto;
}

.block-propuesta-valor .titulo {
    color: #1D1B16;
    font-family: 'Saans', sans-serif;
    font-size: clamp(24px, 8vw, 48px);
    line-height: 1.25;
    font-weight: 400;
    margin: 0 0 24px 0;
    overflow-wrap: break-word;
}

.block-propuesta-valor .titulo span {
    color: #1D1B16;
    font-weight: 800;
    font-style: normal;
}

.block-propuesta-valor .subtitulo {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 300;
    color: #2A2822;
    margin: 0;
}

/* Cards Grid / Carousel wrapper */
.senda-cards-grid-wrapper {
    width: 100%;
    position: relative;
}

.senda-cards-scroll-viewport {
    display: flex;
    gap: 24px;
    width: 100%;
    box-sizing: border-box;
}

/* Desktop Styles (Grid Layout) */
@media (min-width: 1220px) {
    .senda-cards-scroll-viewport {
        display: grid;
        grid-template-columns: repeat(3, 350px);
        justify-content: center;
        gap: 24px;
    }
}

/* Mobile & Tablet Styles (Carousel Layout) */
@media (max-width: 1219px) {
    .senda-cards-grid-wrapper {
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
    }
    
    .senda-cards-scroll-viewport {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 20px;
        padding: 0 20px 10px 20px;
        -webkit-overflow-scrolling: touch;
        /* Hide scrollbars */
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    
    .senda-cards-scroll-viewport::-webkit-scrollbar {
        display: none;
    }
}

/* Mobile Square Carousel (768px and below) */
@media (max-width: 768px) {
    .senda-cards-grid-wrapper {
        margin-left: -20px !important;
        margin-right: -20px !important;
        width: calc(100% + 40px) !important;
    }

    .senda-cards-scroll-viewport {
        flex-direction: row !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: max(20px, calc((100% - 280px) / 2)) !important;
        gap: 16px !important;
        padding: 0 max(20px, calc((100% - 280px) / 2)) 12px max(20px, calc((100% - 280px) / 2)) !important;
        align-items: flex-start !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .senda-cards-scroll-viewport::-webkit-scrollbar { display: none; }

    .senda-card-wrapper {
        width: 72vw !important;
        max-width: 280px !important;
        height: 72vw !important;
        max-height: 280px !important;
        margin: 0 !important;
        scroll-snap-align: center !important;
    }

    .senda-cards-nav {
        display: flex !important;
    }
}

/* Card Wrapper (Perspective container) */
.senda-card-wrapper {
    width: 350px;
    max-width: calc(100vw - 40px);
    height: 490px;
    perspective: 1000px;
    flex-shrink: 0;
    scroll-snap-align: center;
    box-sizing: border-box;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.senda-card-wrapper:hover {
    transform: translateY(-8px);
}

/* Inner card wrapper (Handles the rotation) */
.senda-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: left;
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

/* Front & Back Faces */
.senda-card-front,
.senda-card-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 24px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: box-shadow 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.senda-card-wrapper:hover .senda-card-front,
.senda-card-wrapper:hover .senda-card-back {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

/* Front Face */
.senda-card-front {
    background-color: #F5F5F7;
    overflow: hidden;
    position: relative;
}

.senda-card-bg-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 24px;
    overflow: hidden;
    z-index: 1;
}

.senda-card-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Specific background images for Proposal Cards (bypasses WP kses inline-style stripping) */
.senda-card-wrapper:nth-child(1) .senda-card-bg {
    background-image: url('https://get.sendahealth.com/api/media/file/card1.webp') !important;
}
.senda-card-wrapper:nth-child(2) .senda-card-bg {
    background-image: url('https://get.sendahealth.com/api/media/file/card2.webp') !important;
}
.senda-card-wrapper:nth-child(3) .senda-card-bg {
    background-image: url('https://get.sendahealth.com/api/media/file/card3.webp') !important;
}

/* Zoom background graphic on card hover */
.senda-card-wrapper:hover .senda-card-bg {
    transform: scale(1.08);
}

.senda-card-front-content {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-sizing: border-box;
}

.senda-card-front-content h3 {
    font-family: 'Saans', sans-serif;
    font-size: 26px;
    font-weight: 300;
    line-height: 1.3;
    margin: 0;
}

/* Card 1 Front Title overrides to match specific color */
.senda-card-wrapper:nth-child(1) .senda-card-front h3 {
    color: #000000;
}
.senda-card-wrapper:nth-child(2) .senda-card-front h3 {
    color: #2A2822;
}
.senda-card-wrapper:nth-child(3) .senda-card-front h3 {
    color: #2A2822;
}

/* Back Face */
.senda-card-back {
    color: #FFFFFF;
    padding: 28px 24px;
    transform: rotateY(180deg);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Colores sólidos del reverso, uno por tarjeta */
.senda-card-wrapper:nth-child(1) .senda-card-back {
    background-color: #8C8570;
}
.senda-card-wrapper:nth-child(2) .senda-card-back {
    background-color: #6E9DC4;
}
.senda-card-wrapper:nth-child(3) .senda-card-back {
    background-color: #D3A468;
}

.senda-card-back h3 {
    font-family: 'Saans', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    color: #FFFFFF;
}

.senda-card-back-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: left;
}

.senda-card-back p {
    font-size: 14.5px;
    line-height: 1.6;
    margin: 0;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.95);
    text-align: left;
}

/* Flip Buttons styling */
.btn-flip,
.btn-unflip {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    background-color: #1D1B16;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    z-index: 10;
    appearance: none;
    -webkit-appearance: none;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.btn-flip:hover,
.btn-unflip:hover {
    transform: scale(1.1);
    background-color: #334DCF;
}

.btn-flip svg,
.btn-unflip svg {
    width: 16px;
    height: 16px;
    stroke: #FFFFFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Navigation for mobile slider */
.senda-cards-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 28px;
}

@media (min-width: 1220px) {
    .senda-cards-nav {
        display: none;
    }
}

.nav-arrow {
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background-color: #c5bdaa;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
    outline: none;
}

.nav-arrow:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.nav-arrow:not(:disabled):active {
    transform: scale(0.95);
}

.nav-arrow svg {
    width: 20px;
    height: 20px;
    stroke: #ffffff;
}

.nav-dots {
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: #c5bdaa;
    padding: 12px 24px;
    border-radius: 24px;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #e5dfd2;
    transition: all 0.3s ease;
    cursor: pointer;
}

.dot.active {
    width: 32px;
    height: 12px;
    border-radius: 6px;
    background-color: #ffffff;
}

/* Responsiveness for small devices */
@media (max-width: 480px) {
    section.block-propuesta-valor {
        padding: 40px 0;
    }

    .block-propuesta-valor .subtitulo {
        font-size: 16px;
    }
    
    .senda-card-wrapper {
        height: 440px;
    }
    
    .senda-card-front h3,
    .senda-card-back h3 {
        font-size: 22px;
    }
}

/* Testimonial Chat Bubble in Card 1 */
.senda-card-chat-bubble {
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 20px;
    padding: 16px;
    margin-top: auto;
    margin-bottom: 8px;
    max-width: 250px;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.08);
    z-index: 3;
}

.chat-bubble-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.chat-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.chat-meta {
    display: flex;
    flex-direction: column;
}

.chat-name {
    font-size: 13px;
    font-weight: 600;
    color: #525252;
}

.chat-bubble-body p {
    font-size: 13px;
    line-height: 1.4;
    color: #2A2822;
    margin: 0;
    font-weight: 500;
}
/* ---- blocks/kpi/styles.css ---- */
/* =============================================================
   KPI BLOCK — global, compartido entre portada, hombres y mujeres
   Basado en la versión de portada (assets/css/pages/page-portada-2.css).
   ============================================================= */
.block-kpis {
    background-color: var(--color-neutral-50);
    padding: 60px var(--page-margin);
    border-bottom: 1px solid var(--color-border);
}

.inner-kpis {
    max-width: var(--container-desktop);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-10);
    text-align: center;
}

.kpi-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
}

.kpi-number {
    font-size: 3rem;
    font-weight: var(--weight-regular);
    color: var(--color-neutral-800);
    line-height: 1;
}

.kpi-label {
    font-size: var(--text-body);
    font-weight: var(--weight-bold);
    color: var(--color-neutral-800);
}

.kpi-description {
    font-size: var(--text-small);
    color: var(--color-text-muted);
    line-height: var(--leading-snug);
    max-width: 280px;
}

.kpi-source {
    max-width: 760px;
    margin: var(--space-12, 48px) auto 0;
    text-align: center;
    font-size: var(--text-caption);
    font-weight: var(--weight-regular, 400);
    color: var(--color-neutral-500);
    line-height: var(--leading-normal, 1.5);
}

@media (max-width: 768px) {
    .inner-kpis {
        grid-template-columns: 1fr;
        gap: var(--space-8, 32px);
    }
}

/* ---- blocks/equipo/styles.css ---- */
/* =============================================================
   EQUIPO BLOCK — "Un equipo clínico cercano y profesional,
   comprometido contigo" — global, compartido entre portada,
   hombres y mujeres. Basado en la versión de portada.
   El estilo de las tarjetas (.persona, .persona-cargo, etc.) vive
   en style.css, compartido con .block-destacado-equipo (usado por
   la página /como-funciona/ y otras aún no migradas a este bloque).
   ============================================================= */
.block-equipo {
    padding: var(--section-gap) var(--page-margin);
    background-color: #FAF6F0;
}

.inner-equipo {
    max-width: var(--container-desktop) !important;
    margin-inline: auto;
}

.equipo-header {
    text-align: center;
    margin-bottom: var(--space-12);
}

.equipo-titulo {
    font-family: var(--font-body);
    font-size: clamp(1.375rem, 2.5vw, 2rem);
    font-weight: var(--weight-regular);
    color: var(--color-neutral-800);
    line-height: var(--leading-snug);
    margin: var(--space-3) 0 0;
}

.equipo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-8);
}

.equipo-cta {
    display: flex;
    justify-content: center;
    margin-top: var(--space-10);
}

@media (max-width: 768px) {
    .equipo-header {
        padding: 0 var(--page-margin);
        text-align: center;
        margin-bottom: var(--space-8);
    }

    .equipo-titulo {
        font-size: clamp(1.25rem, 5vw, 1.5rem);
    }

    .equipo-grid .persona {
        text-align: center;
    }

    .equipo-grid .persona img {
        border-radius: var(--radius-lg);
    }

    /* Forzar visibilidad: algunos layouts de WP pueden clipar el heading */
    #equipo .equipo-header {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 2 !important;
        padding: 0 var(--page-margin) !important;
        text-align: center !important;
        margin-bottom: var(--space-8) !important;
    }

    #equipo .senda-pre-titulo {
        display: block !important;
        color: var(--color-neutral-800) !important;
        visibility: visible !important;
    }

    #equipo .equipo-titulo {
        display: block !important;
        color: var(--color-neutral-800) !important;
        visibility: visible !important;
        font-size: clamp(1.25rem, 5vw, 1.5rem) !important;
    }

    #equipo .equipo .persona {
        text-align: center !important;
        align-items: center !important;
    }

    #equipo .equipo .persona .persona-texto {
        text-align: center !important;
        align-items: center !important;
    }
}

/* ---- blocks/ancho-completo/styles.css ---- */
section.block-video{
    margin-top: 0;
    margin-bottom: 0;
    border: 0;
    position: relative;
    padding: 0;
}

.block-video video{
    display: block;
}
.block-video .video-grande{
    position: relative;
}
.inner-video{
    position: relative;
}
.item-video > img, .inner-video > img {
    border-radius: 0;
    min-height: 680px;
    object-fit: cover;
    width: 100%;
    display: block;
}

/* Responsive */
@media (max-width: 920px) {

    .block-video.is-style-responsive video{
        min-height: 400px;
        object-fit: cover;
    }
    .block-video.is-style-responsive img{
        height: auto;
        object-fit: contain;
    }

    .inner-video > img {
        height: 400px;
        min-height: auto;
        object-fit: cover;
    }
}

/* 16:9 aspect ratio overrides */
.item-video > img.aspect-16-9, 
.inner-video > img.aspect-16-9 {
    min-height: auto !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    object-fit: cover !important;
}

@media (max-width: 920px) {
    .item-video > img.aspect-16-9, 
    .inner-video > img.aspect-16-9 {
        height: auto !important;
        min-height: auto !important;
        aspect-ratio: 16/9 !important;
    }
}

/* Patient Text Card Overlay with Glassmorphism */
.patient-text-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 4% 6%;
    box-sizing: border-box;
    z-index: 2;
    pointer-events: none;
}

.patient-text-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding: 36px;
    border-radius: 20px;
    max-width: 500px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    text-align: left;
    pointer-events: auto;
}

.patient-text-quote {
    font-family: "Saans", sans-serif;
    font-size: 19px;
    line-height: 1.5;
    color: #2A2822;
    font-weight: 400;
    margin: 0;
}

/* Tablet & Mobile responsive styles for the overlay */
@media (max-width: 920px) {
    .patient-text-overlay {
        position: relative;
        padding: 32px 24px;
        height: auto;
        display: block;
        background-color: #FAF6F0;
        pointer-events: auto;
    }

    .patient-text-card {
        max-width: 100%;
        padding: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        border: none;
        box-shadow: none;
        text-align: center;
    }

    .patient-text-quote {
        font-size: 16px;
        line-height: 1.6;
        color: #2A2822;
        font-weight: 400;
    }
}
/* ---- blocks/paso/styles.css ---- */

.pasos-lista{
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.paso-titulo{
    font-size: var(--wp--preset--font-size--h-4);
    line-height: var(--wp--preset--line-height-h4);
    font-weight: var(--wp--preset--font-weight-500);
}
.paso-item{
    display: flex;
    gap: 20px;
}
.paso-icono {
    min-width:  52px;
}
.pasos-lista .paso-icono > img{
    width: 52px;
    height: 52px;
    background: transparent;
    border-radius: 0;
}
.paso-contenido{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
@media (max-width: 919px) {
    .paso-item {
        flex-direction: column;
        row-gap: 16px;
    }

}
/* ---- blocks/pasos-con-linea/styles.css ---- */
section.block-pasos-con-linea{
    padding: var(--padding-vertical) var(--padding-horizontal);
    background: var(--wp--preset--color--neutral-50);
    color: var(--wp--preset--color--neutral-800);
}

.inner-pasos-con-linea{
    max-width: var(--container-desktop);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.block-pasos-con-linea .columnas {
    display: flex;
    align-items: flex-start;
    align-self: stretch;
    gap: 60px;
}
.block-pasos-con-linea .has-small-font-size {
    margin-bottom: 0;
}
.block-pasos-con-linea .titulo {
    font-family: var(--font-body) !important;
    font-size: clamp(1.375rem, 2.5vw, 2rem) !important;
    font-weight: var(--weight-regular) !important;
    color: var(--color-neutral-800) !important;
    line-height: var(--leading-snug) !important;
    margin: var(--space-3) 0 var(--space-3) !important;
}
.block-pasos-con-linea h2 span {
    font-weight: var(--weight-bold);
}
.block-pasos-con-linea .columna-1 {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1 1 0;
    min-width: 0;
}
.block-pasos-con-linea .columna-2 {
    display: flex;
    flex-direction: column;
    gap: 60px;
    padding-left: 44px;
    position: relative;
    flex: 1 1 0;
    min-width: 0;
}
.block-pasos-con-linea .columna-2 p {
    padding-left: 0;
}

/* Paso destacado ("Sin compromiso") — antes solo existía en portada,
   ausente en hombres/mujeres. Ahora global. */
.paso-destacado {
    background-color: #FAF6F0;
    padding: 16px 20px;
    border-radius: 12px;
    border-left: 3px solid var(--wp--preset--color--primary-100);
}


.block-pasos-con-linea .columna-2 .scroll-line {
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    background-color: var(--wp--preset--color--primary-100);
    transform-origin: top;
    height: 0%;
}
.block-pasos-con-linea .cta-container {
    margin: 0 auto;
}
@media (max-width: 920px) {
    section.block-pasos-con-linea {
        padding: var(--padding-vertical) var(--padding-horizontal);
    }
    .inner-pasos-con-linea{
        gap: 24px;
    }
    .block-pasos-con-linea .titulo {
        font-size: clamp(1.25rem, 5vw, 1.5rem) !important;
    }
    .block-pasos-con-linea .columnas {
        flex-direction: column;
        row-gap: 28px;
    }
    .columna-2 .wp-block-list li {
        padding-left: 0;
        padding-top: 48px;
        margin-bottom: 0;
    }
    .block-pasos-con-linea .columna-2 {
        padding-left: 20px;
        padding-right: 4px;
        box-sizing: border-box;
        width: 100%;
    }
}

/* ---- blocks/central/styles.css ---- */

/* ---- blocks/destacado-equipo/styles.css ---- */
section.block-destacado-equipo{
    padding: var(--padding-vertical) 0;
    background: var(--wp--preset--color--neutral-100);
    text-align: center;
    color: var(--wp--preset--color--neutral-800);
    scroll-behavior: smooth;
}
.inner-destacado-equipo{
    width: 100%;
    max-width: var(--wp--custom--layout--content-size);
}
section.block-destacado-equipo.estrecho-arriba{
    padding-top: 0;
}
section.block-destacado-equipo.estrecho-abajo{
    padding-bottom: 28px;
}

section.block-destacado-equipo.con-departamentos .equipo{
    justify-content: flex-start;
}
section.block-destacado-equipo.con-departamento .equipo{
    justify-content: flex-start;
}

.block-destacado-equipo .titulo span{
    color: var(--wp--preset--color--primary-100);
}
.header-destacado-equipo{
    max-width: var(--wp--custom--layout--desktop-width);
    margin: 0 auto;
}
.block-destacado-equipo .titulo {
    margin-top: 12px;
    margin-bottom: 40px;
}
.titulo-departamento {
    text-align: left;
    margin-bottom: 24px;
    margin-top: 24px;
    color: var(--wp--preset--color--primary-100);
}
.con-departamentos .titulo-departamento {
    margin-top: 0;
}
.equipo{
    max-width: var(--wp--custom--layout--content-size);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-self: stretch;
}
.persona img {
    display: flex;
    width: 100%;
    height: 257px;
    object-fit: cover;
    border-radius: 16px 16px 0px 0px;
}
.persona {
    display: flex;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    padding: 8px;
    flex-direction: column;
    align-items: center;
    border-radius: var(--standard-border-radius);
    background: var(--wp--preset--color--secondary-30);
    box-shadow: 0px 8px 28px 0px #E1DCD4;
    cursor: pointer;
    box-sizing: border-box;
}
.header-destacado-equipo .antetitulo {
    font-size: var(--wp--preset--font-size--small);
    line-height: var(--wp--preset--line-height-small);
    margin-bottom: 0.75rem;
}
.persona-texto {
    display: flex;
    flex-direction: column;
    padding: 24px 16px;
    gap: 24px;
    text-align: left;
}
.persona-texto .titulo-item {
    font-weight: var(--wp--preset--font-weight-600);
}
.persona-texto p {
    font-size: var(--wp--preset--font-size--body);
    line-height: var(--wp--preset--line-height-body);
}
/*Modal*/
.persona-modal-wrapper {
    display: flex;
    align-items: center;
    gap: 76px;
}
.persona-modal-wrapper > div {
    width: 50%;
}
.persona-modal-texto{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 32px;
}
.persona-modal-texto h3 {
    color: var(--wp--preset--color--primary-100);
    font-weight: var(--wp--preset--font-weight-500);
}
.persona-modal-texto #modal-descripcion, .persona-modal-texto #modal-biografia{
    font-size: var(--wp--preset--font-size--body);
    line-height: var(--wp--preset--line-height-body);
}
.persona-modal-texto #modal-descripcion{
    color: var(--wp--preset--color--neutral-800);
    font-weight: var(--wp--preset--font-weight-500);
}
.persona-modal-texto #modal-biografia{
    color: var(--wp--preset--color--neutral-700);
    font-weight: var(--wp--preset--font-weight-300);
}
.persona-modal-imagen img#modal-imagen {
    /* selector con id: base.css tiene img:not([width]):not([height]) con más especificidad que
       .persona-modal-imagen img (forzaba 16/9 y recortaba la cara) */
    aspect-ratio: auto;
    object-fit: contain;
    border-radius: var(--standard-border-radius);
    width: 100%;
}
.titulo-departamento h3 {
font-weight: var(--wp--preset--font-weight-500);
}
@media (max-width: 991px) {
    section.block-destacado-equipo {
        padding: var(--padding-vertical) var(--padding-horizontal);
    }
    .persona {
        text-align: center;
        flex-direction: column;
        align-items: stretch;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .equipo{
        grid-template-columns: repeat(2, 1fr) !important;
        row-gap: 32px;
    }
    .persona-texto {
        gap: 16px;
    }
    .persona img {
        height: 257px;
    }
    .titulo-departamento {
        text-align: center;
    }
    .persona-modal-wrapper {
        flex-direction: column;
        gap: 24px;
        overflow-y: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .persona-modal-wrapper::-webkit-scrollbar {
        display: none;
    }
 

    .persona-modal-wrapper > div {
        width: 100%;
    }
    .persona-modal-texto {
        gap: 16px;
    }
    .modal-container {
        position: relative;
        z-index: 10;
        padding: var(--padding-horizontal);
        max-width: 90%;
        max-height: 90vh;
        margin-top: 32px;
    }
    body.modal-open {
        overflow: hidden;
    }
    /*Ver más*/
    .hidden-mobile {
        display: none !important;
    }
    .ver-mas-container {
        text-align: center;
        margin-top: 24px;
        display: block;
    }
    .ver-mas {
        padding: 10px 20px;
        font-size: 16px;
        background-color: var(--wp--preset--color--primary-60);
        color: white;
        border: none;
        border-radius: 8px;
        cursor: pointer;
    }
}
@media (max-width: 767px) {
    .equipo {
        grid-template-columns: 1fr !important;
        row-gap: 24px;
    }
}
@media (min-width: 992px) {
    .ver-mas-container {
        display: none !important;
    }
}
/* ---- blocks/texto-imagen/styles.css ---- */
section.block-texto-imagen{
    padding: var(--padding-vertical-small) var(--padding-horizontal);
    background: var(--wp--preset--color--neutral-50);
}

.block-texto-imagen .columnas {
    display: flex;
    max-width: var(--wp--custom--layout--desktop-width);
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: 32px;
    margin: 0 auto;
    justify-content: space-between;
}
.columnas .columna-imagen{
    display: flex;
    width: min(var(--wp--custom--layout--picture-width),40%);
    flex-shrink: 0;
}
.columnas .columna-imagen img {
    height: 532px;
    object-fit: cover;
    border-radius: var(--standard-border-radius);
}
.columna-texto{
    max-width: 586px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.columna-texto h2{
    color: var(--wp--preset--color--black);
}
.columna-texto p, .columna-texto .wp-block-list li {
    font-size: var(--wp--preset--font-size--body);
    line-height: var(--wp--preset--line-height-body);
}
.columna-texto .wp-block-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.columna-texto .wp-block-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 8px;
}
.columna-texto .wp-block-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 24px;
    height: 24px;
    background-image: url("./../../assets/images/check-blue2.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.invertir-columnas{
    flex-direction: row-reverse;
}

@media (max-width: 920px) {
    .block-texto-imagen .columnas {
        gap: 36px;
    }
    .columna-imagen img {
        height: 420px;
    }
    .columnas .columna-imagen, .columnas .columna-texto {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .block-texto-imagen .columnas{
        flex-direction: column;
    }
}
/* ---- blocks/price/styles.css ---- */
.block-price{
    display: flex;
    align-items: flex-end;
    gap: 12px;
}
.precio-normal{
    font-weight: var(--wp--preset--font-weight-300);
}
.precio-rebajado{
    color: var(--wp--preset--color--neutral-500);
    font-weight: var(--wp--preset--font-weight-300);
    text-decoration-line: line-through;

}
.contenedor-price-texto {
    display: flex;
    flex-direction: column;
    padding-left: 3px;
}
span.price-texto.h4 {
    padding-bottom: 3px;
    color: var(--wp--preset--color--neutral-800);
    font-weight: var(--wp--preset--font-weight-500);
}
/* Primer ítem del bloque "Todo lo que incluye": cuerpo con más peso */
.programa-incluye-acordeones .faq-panel:first-child .body-faq p { font-weight: 500; }

/* Separación entre la intro y los bullets en las cards de planes/precios:
   pequeña línea divisoria antes de la lista de ventajas. */
.contenedor-price-texto .price-bullets {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--color-border);
}

/* Fichas del equipo (equipo-clinico / sobre-nosotros): texto alineado igual en
   todas las tarjetas y ocupando toda la card (misma altura por fila). */
.senda-equipo-shortcode.equipo-grid,
.equipo-grid:has(.persona--ficha) { align-items: stretch; }
.persona--ficha { height: 100%; }
.persona--ficha .persona-texto {
    width: 100%;
    align-self: stretch;
    flex: 1;
    gap: 4px;
    padding: 18px 16px 22px;
}
.persona--ficha .titulo-item { margin: 0; }
.persona--ficha .colegiado-item { color: var(--wp--preset--color--primary, #334DCF); font-size: 13.5px; font-weight: 500; }
.persona--ficha .persona-rol { color: #6b675e; font-size: 14.5px; line-height: 1.45; }

/* Bloques por área en el equipo clínico */
.equipo-area-titulo {
    font-size: 1.35rem;
    font-weight: 600;
    color: #2A2822;
    margin: 48px 0 20px;
    text-align: left;
}
.equipo-areas .equipo-area-titulo:first-child { margin-top: 0; }

/* Listado de FAQs gestionadas desde el admin (shortcode [senda_faqs]) */
.senda-faqs { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
/* Intro de las cards de planes: más discreta (tamaño de cuerpo, no de titular) */
.card-desglose-precio span.price-texto.h4 {
    font-size: 1rem;
    line-height: 1.55;
    font-weight: var(--wp--preset--font-weight-400);
}
span.price-texto.has-body-font-size:not(.is-destacada span.price-texto.has-body-font-size){
    color: var(--wp--preset--color--neutral-700);
}
@media (max-width: 919px) {
    .faq-panel{
        padding: 1rem;
    }
    .contenedor-price-texto {
        padding-left: 0;
    }
    span.price-texto.h4 {
        padding-bottom: 8px;
    }
}
/* ---- blocks/card/styles.css ---- */
.card {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: var(--standard-border-radius);
    background: var(--wp--preset--color--secondary-30);
    box-shadow: 0px 8px 28px 0px #E1DCD4;
    align-self: stretch;
}
.inner-card {
    background: var(--wp--preset--color--secondary-30);
    border-radius: var(--standard-border-radius);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 32px;
}
.card.card-pricing {
    background: transparent;
    min-width: 365px;
    max-width: 416px;
    display: flex;
    flex-direction: column;
}
.card.card-pricing .inner-card{
    padding: 40px;
    background: var(--wp--preset--color--neutral-50);
    border-radius: var(--standard-border-radius);
    box-sizing: border-box;
    flex-grow: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    width: 100%;
}
.card.card-pricing.is-destacada {
    max-width: 640px;
    width: 100%;
}
.card.card-pricing.is-destacada .inner-card {
    background: linear-gradient(180deg, #5071E7 0%, #334DCF 100%);
    box-shadow: 0 4px 34px 0 #DBE1F5;
    color: var(--wp--preset--color--white);
}
.card-subtitulo:not(.is-destacada .card-subtitulo){
    color:var(--wp--preset--color--neutral-800);
}
.card-subtitulo{
    color:var(--wp--preset--color--white);
    font-weight: var(--wp--preset--font-weight-500);
    margin: 16px 0 0 0;
}
.card-encabezado {
    margin: 0;
}
.card .wp-block-separator {
    border: none;
    border-top: 1px solid #DAD4C3;
    margin: 24px 0;
}
.card-lista{
    padding-inline-start: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.card .has-body-font-size {
    font-size: var(--wp--preset--font-size--h-5) !important;
    line-height: var(--wp--preset--line-height-h5) !important;
    font-weight: var(--wp--preset--font-weight-500) !important;
    margin-bottom: 0;
}
.card-abajo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
body .price-texto.has-caption-font-size {
    margin-bottom: 4px;
    font-weight: var(--wp--preset--font-weight-500);
}
.card-price {
    display: flex;
    gap: 12px;
    align-items: end;
}
.card h3{
    margin-bottom: 16px;
}
.block-destacado-cards .is-destacada .item-icon img{
    width: 44px;
}
.block-destacado-cards .item-icon img{
    width: 24px;
}
.card-pricing .card-lista .item-icon{
    min-width: 24px;
}
.is-destacada .card-lista .item-icon {
    min-width: 44px;
}
.card-pricing .card-lista{
    gap: 24px;
}
.is-destacada .card-lista{
    gap: 8px;
}
.card-pricing .card-lista li {
    display: flex;
    gap: 16px;
}
.is-destacada .card-lista li {
    align-items: center;
    padding: 16px !important;
}
.card-pricing .card-abajo {
    margin-top: 16px;
}
.contenedor-price {
    gap: 12px;
    display: flex;
}
.card-pricing a.wp-block-button__link.wp-element-button {
    background-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--primary-100);
    justify-content: center;
    margin-top: 32px;
    font-size: var(--wp--preset--font-size--body);
    box-shadow: none;
    border: 1px solid var(--wp--preset--color--primary-60);
    border-radius: 16px;
    height: auto;
}
.card-pricing a.wp-block-button__link.wp-element-button:hover{
    color: var(--wp--preset--color--primary-150);
    border: 1px solid var(--wp--preset--color--primary-150);
}
.card-pricing .card-encabezado:not(.is-destacada .card-encabezado) {
    color: var(--wp--preset--color--primary-100);
}
.card-pricing .card-arriba {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
/*Testimonios*/
.card.card-testimonio {
    background: var(--wp--preset--color--secondary-30);
    width: 375px;
    padding: 16px;
}
.card-testimonio img {
    width: 82px;
    height: 82px;
    aspect-ratio: 1/1;
    border-radius: 100%;
    object-fit: cover;
}
.card-nombre {
    font-weight: var(--wp--preset--font-weight-500);
    margin-bottom: 3px !important;
}
.card-descripcion {
    margin-top: 24px !important;
    line-height: var(--wp--preset--line-height-body);
}
.card-testimonio .card-imagen {
    padding: 16px;
    width: fit-content;
    display: flex;
}
.card-testimonio .card-info {
    padding: 0 16px 24px 16px;
}
@media (max-width: 919px) {
    .faq-panel{
        padding: 1rem;
    }
    .card .wp-block-separator {
        margin: 16px 0;
    }
    .card-subtitulo{
        margin: 12px 0 0 0;
    }
    .card.card-pricing, .card.card-testimonio {
        width: 100%;
    }
    .card.card-pricing .inner-card{
        padding: 24px;
    }
    .block-destacado-cards .is-destacada .item-icon img{
        width: 32px;
    }
    .is-destacada .card-lista li {
        align-items: flex-start;
    }
    .is-destacada .card-lista .item-icon {
        min-width: 32px;
    }
    .card.card-pricing.is-destacada {
        max-width: 416px;
        width: 100%;
    }
}

/* ---- blocks/destacado-cards/styles.css ---- */
section.block-destacado-cards{
    padding: var(--padding-vertical) 0;
    background: var(--wp--preset--color--neutral-100);
    text-align: center;
    color: var(--wp--preset--color--neutral-800);
}
.block-destacado-cards .titulo span{
    color: var(--wp--preset--color--primary-100);
}
.header-destacado-cards{
    max-width: var(--wp--custom--layout--content-width);
    margin: 0 auto;
}
.block-destacado-cards .titulo {
    margin-top: 12px;
    margin-bottom: 40px;
}
.header-destacado-cards .antetitulo {
    font-size: var(--wp--preset--font-size--small);
    line-height: var(--wp--preset--line-height-small);
}
.cards-container > div {
    display: flex;
    justify-content: center;
    gap: 0;
    align-self: stretch;
    text-align: left;
    flex-wrap: wrap;
}
.no-slider .cards-container > div {
    flex-wrap: nowrap;
    gap: 24px;
}
.block-destacado-cards article.block-card {
    display: flex;
}
/* Estilos para el slider */
.block-destacado-cards.si-slider .inner-destacado-cards {
    margin: 0 auto;
    width: 100%;
}


.block-destacado-cards.si-slider .swiper {
    margin: 0 auto;
    padding-bottom: 8px;
}

.block-destacado-cards .destacado-cards-slider, .destacado-container-slider {
    position: relative;
    margin: 0 auto;
}

.block-destacado-cards .swiper-slide {
    height: auto;
    text-align: left;

}

.block-destacado-cards .swiper-slide article {
    width: 100%; /* Asegurar que el artículo ocupe todo el ancho del slide */
    max-width: 100%;
}
.block-destacado-cards .swiper-wrapper {
    padding: 9px 16px;
}
@media (min-width: 1440px) {
    .block-destacado-cards .swiper-slide {
        width: calc((100% - 63px) / 3) !important; /* Para 3 slides en desktop */
        padding: 16px 0;
    }
}



.block-destacado-cards .swiper-button-prev,
.block-destacado-cards .swiper-button-next {
    color: var(--wp--preset--color--neutral-800);
}
.swiper .card.card-testimonio{
    width: 100%;
}
.block-destacado-cards .swiper-button-prev {
    left: -52px;
    right: auto;
    width: 32px;
    height: 32px;
}
.block-destacado-cards .swiper-button-next {
    left: auto;
    right: -52px;
    width: 32px;
    height: 32px;
}
.block-destacado-cards .swiper-button-prev:after, .block-destacado-cards .swiper-button-next:after {
    display: none;
}
@media (min-width: 768px) {
    .swiper-button {
        position: absolute;
        top: 50%;
        margin-top: -20px;
        z-index: 10;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .swiper-button-disabled {
        cursor: default;
        opacity: 0.5
    }

    .swiper-button--prev {
        left: clamp(-60px, 90px + -10vw, -10px);
        right: auto
    }

    .swiper-button--next {
        right: clamp(-60px, 90px + -10vw, -10px);
        left: auto
    }
    .block-destacado-cards .inner-destacado-cards:not(.no-slider .inner-destacado-cards){
        max-width: 1205px;
    }
}
@media (max-width: 920px) {
    section.block-destacado-cards {
        padding: var(--padding-vertical) var(--padding-horizontal);
    }
    .cards-container > div {
        flex-direction: column;
        align-content: center;
    }

    .block-destacado-cards .destacado-cards-slider .block-destacado-cards.si-slider .inner-destacado-cards {
        width: 100%;
    }
    .block-destacado-cards.si-slider .destacado-container-slider {
        width: calc(100vw - 48px);
        position: relative;
        left: 0;
        right: 0;
        margin-left: 0;
        margin-right: 0;
    }
    .block-destacado-cards .swiper-wrapper {
        width: auto;
    }
    .block-destacado-cards.si-slider .swiper {
        padding: 0 40px;
        width: 100%;
    }

    .block-destacado-cards .swiper-button-prev {
        left: 10px;
    }

    .block-destacado-cards .swiper-button-next {
        right: 10px;
    }
    .block-destacado-cards.si-slider .swiper {
        padding: 8px 16px 18px 16px;
    }
    .si-slider .header-destacado-cards{
        margin-bottom: 84px;
    }
    .block-destacado-cards .swiper-button {
        top: -34px;
        cursor: pointer;
        pointer-events: auto;
    }
    .block-destacado-cards .swiper-button-prev {
        left: auto;
        right: 76px;
    }
    .block-destacado-cards article.block-card {
        padding: 0;
    }
    .card.card-pricing {
        min-width: 100%;
    }
    .block-destacado-cards article.block-card {
        padding: 0;
    }
    .block-destacado-cards .swiper-wrapper {
        padding: 9px 0;
    }
    .block-destacado-cards .inner-destacado-cards:not(.no-slider .inner-destacado-cards) {
        max-width: 100%;
    }
}
@media (min-width: 920px) and (max-width: 1439px) {
    .block-destacado-cards .swiper-slide {
        width: calc((100% - 26px) / 2) !important; /* Para 2 slides en tablet 48*/
        padding: 16px;
    }
    .block-destacado-cards .inner-destacado-cards:not(.no-slider .inner-destacado-cards) {
        max-width: 977px;
    }
}


/* ---- blocks/cards-slider/styles.css ---- */
/* ==========================================================================
   New Homepage Testimonials (Large Images Layout)
   ========================================================================== */
section.block-cards-slider {
    padding: 80px 0;
    background: #F5F3EF;
    color: #2A2822;
    overflow: hidden;
    font-family: "Saans", sans-serif;
}

.header-cards-slider {
    max-width: 800px;
    margin: 0 auto 48px auto;
    text-align: center;
    padding: 0 24px;
}

.header-cards-slider .antetitulo {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #2A2822;
    margin-bottom: 12px;
}

.header-cards-slider .titulo {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
    color: #2A2822;
    margin: 0;
}

/* Container and Grid */
.inner-cards-slider {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.testimonios-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
}

/* El panel de tab inactivo debe quedar oculto siempre (incluso en el
   primer render, antes de cualquier clic) — evita que ambos paneles
   (Pacientes/Profesionales) se muestren apilados a la vez. Necesita
   más especificidad que las reglas !important del carrusel móvil. */
.testimonios-grid-content:not(.active) {
    display: none !important;
}

/* Testimonial Card */
.testimonio-card-large {
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0px 8px 30px rgba(225, 220, 212, 0.4);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 580px;
    border: 1px solid #f0ede6;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonio-card-large:hover {
    transform: translateY(-6px);
    box-shadow: 0px 12px 40px rgba(225, 220, 212, 0.6);
}

.testimonio-card-large .card-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 355/240;
    overflow: hidden;
    background-color: #f7f5f0;
}

.testimonio-card-large .card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.testimonio-card-large .card-content-wrapper {
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
}

.testimonio-card-large .quote-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.testimonio-card-large .quote-text {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: #2A2822;
    margin: 0;
}

.testimonio-card-large .quote-subtext {
    font-size: 15px;
    line-height: 1.6;
    color: #5a5a65;
    margin: 0;
    font-weight: 300;
}

.testimonio-card-large .author-section {
    margin-top: 24px;
    border-top: 1px solid #f0ede6;
    padding-top: 20px;
}

.testimonio-card-large .author-name {
    font-size: 18px;
    font-weight: 600;
    color: #2A2822;
    margin: 0 0 4px 0;
}

.testimonio-card-large .author-role {
    font-size: 13px;  /* legibilidad AA (antes 11px) */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #334DCF;   /* azul de marca con más contraste (antes #5071E7) */
    display: block;
}

/* Mobile Responsiveness & Native Scroll Snap */
@media (max-width: 991px) {
    .testimonios-grid {
        grid-template-columns: repeat(2, 1fr);
        overflow-x: visible;
        scroll-snap-type: none;
        padding-bottom: 0;
        gap: 24px;
    }
    
    .testimonio-card-large {
        scroll-snap-align: none;
        min-height: auto;
    }
    
    .inner-cards-slider {
        padding: 0 24px;
    }
    
    .header-cards-slider {
        margin-bottom: 32px;
    }
    
    .header-cards-slider .titulo {
        font-size: 28px;
    }
}

@media (max-width: 767px) {
    .testimonios-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 16px;
        padding: 0 20px 12px 20px;
        margin-inline: -20px;
        width: auto;
        max-width: none;
        box-sizing: content-box;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .testimonios-grid::-webkit-scrollbar { display: none; }

    .testimonios-grid .testimonio-card-large {
        flex: 0 0 85vw;
        max-width: 85vw;
        scroll-snap-align: center;
        min-height: unset;
    }

    .header-cards-slider {
        padding: 0 20px;
    }
}

/* ---- blocks/faq/styles.css ---- */
.faq-panel{
    border-radius: 16px;
    background-color: var(--wp--preset--color--neutral-50);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    border: 2px solid var(--wp--preset--color--neutral-50);
    width: 100%;
}
.faq-panel .inner-faq-panel{
    width: 100%;
}

.title-faq{
    display: flex;
    align-items: center;
    gap: 12px;
}
.title-faq p {
    flex: 1;
}

.body-faq {
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-in-out;
    min-height: unset;
    max-height: unset;
}
.body-faq__wrapper{
    overflow: hidden;
}

.faq-panel.active {
    border: 2px solid var(--wp--preset--color--primary-100);
}

.faq-panel.active .body-faq{
    grid-template-rows: 1fr;
}

.faq-panel .title-faq{
    position: relative;
    cursor: pointer;
}
.faq-panel .title-faq p{
    color:  var(--wp--preset--color--neutral-800);
    font-weight: var(--wp--preset--font-weight-500);
    font-size: var(--wp--preset--font-size--body) !important;
    line-height: var(--wp--preset--line-height-body);
    margin: 0;
    min-height: 32px;
    display: flex;
    align-items: center;
    width: 100%;
}
.faq-panel .body-faq p{
    color:  var(--wp--preset--color--neutral-800);
    font-weight: var(--wp--preset--font-weight-400);
    font-size: var(--wp--preset--font-size--body);
    margin-top: 10px;
    padding: 0px 48px 16px 12px;
}
.faq-panel .icon-faq{
    z-index: 2;
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    place-self: center;
    background-image: url("../../blocks/faq/ic_down.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.faq-panel.active .icon-faq{
    background-image: url("../../blocks/faq/ic_up.svg");
    -webkit-transition: background-image 0.2s ease;
    transition: background-image 0.2s ease;
}
.body-faq .wp-block-list {
    list-style: disc inside;
    padding-left: 12px;
}
.block-precios-completos .faq-panel .icon-faq{
    background-image: url("../../blocks/faq/ic_plus.svg");
}
.block-precios-completos .faq-panel.active .icon-faq{
    background-image: url("../../blocks/faq/ic_minus.svg");
}

@media (max-width: 919px) {
    .faq-panel{
        padding: 1rem;
    }
}
/* ---- blocks/faqs/styles.css ---- */
section.block-faqs {
    padding: var(--padding-vertical) 0;
    background-color: var(--wp--preset--color--neutral-100);
}
.inner-faqs{
    max-width: var(--wp--custom--layout--content-width);
    margin: 0 auto;
}
.block-faqs .header-title-tabs{
    text-align: center;
    margin-top: 0;
    margin-bottom: 40px;
}
.tabs-content{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
.header-title-tabs h2 {
    margin-top: 0 !important;
    font-family: var(--font-body) !important;
    color: var(--color-neutral-800) !important;
}
.header-title-tabs p {
    font-size: var(--wp--preset--font-size--h-2);
    line-height: var(--wp--preset--line-height-h2);
}
@media (max-width: 920px) {
    section.block-faqs {
        padding: var(--padding-vertical) var(--padding-horizontal);
    }
}
/* ---- blocks/central-texto/styles.css ---- */
section.b-central-texto{
    overflow: hidden;
    position: relative;
    padding: 164px 24px 116px;
}

.b-central-texto__inner{
    max-width: var(--wp--custom--layout--content-width);
    margin: 0 auto;
    background-color: var(--wp--preset--color--neutral-50);
    border-radius: var(--standard-border-radius);
    padding: 40px;
    position: relative;
    z-index: 1;
}

.is-style-secondary .c-gradient{
    background: var(--wp--preset--color--secondary-60);
}



@media (max-width: 920px) {
    section.b-central-texto{
        padding: 116px 24px var(--padding-vertical);
    }
    .b-central-texto__inner{
        padding: 40px 24px;
    }
}
/*Central texto*/
section.b-central-texto{
    overflow: hidden;
    position: relative;
    padding: 164px 24px 116px;
}

.b-central-texto__inner{
    max-width: var(--wp--custom--layout--content-width);
    margin: 0 auto;
    background-color: var(--wp--preset--color--neutral-50);
    border-radius: var(--standard-border-radius);
    padding: 40px;
    position: relative;
    z-index: 1;
}

.is-style-secondary .c-gradient{
    background: var(--wp--preset--color--secondary-60);
}



@media (max-width: 920px) {
    section.b-central-texto{
        padding: 116px 24px var(--padding-vertical);
    }
    .b-central-texto__inner{
        padding: 40px 24px;
    }
}
/* ---- blocks/desglose-precio/styles.css ---- */
.card-desglose-precio {
    display: flex;
    padding: 36px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 28px;
    border-radius: var(--standard-border-radius);
    /* Antes blanco (neutral-50), igual que el bloque contenedor — ahora
       lleva el gris que antes tenía el bloque, para que las cards se
       distingan del fondo blanco del bloque. */
    background-color: var(--wp--preset--color--neutral-100);
    position: relative;
    overflow: hidden;
    /* height:100% en un flex item con align-items:stretch confunde al
       navegador y deja de igualar alturas cuando el contenido interno
       varía (ej. la card "Análisis gratis", con menos texto, quedaba
       ~29px más baja que las otras dos, desalineando precio y botón).
       auto deja que sea el propio stretch del flex quien iguale la
       altura de las 3 cards de forma fiable. */
    height: auto;
    box-sizing: border-box;
}

.inner-card-desglose-precio{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.card-desglose-precio .card-etiqueta{
    color:var(--wp--preset--color--white);
    display: inline-block;
    background-color: var(--wp--preset--color--primary-150);
    padding: 7px 28px 7px 37px;
    font-size: var(--wp--preset--font-size--h-5);
    font-weight: var(--wp--preset--font-weight-500);
    border: none;
    position: relative;
    clip-path: polygon(
            0% 50%,                      /* pico hacia fuera a la izquierda */
            10px 0%,                     /* esquina superior izquierda */
            100% 0%,                     /* esquina superior derecha */
            calc(100% - 10px) 50%,      /* pico hacia dentro derecha */
            100% 100%,                  /* esquina inferior derecha */
            10px 100%                   /* esquina inferior izquierda */
    );
    max-width: 224px;
    max-height: 51px;
    white-space: nowrap;
    align-content: center;
}

.card-desglose-precio .card-encabezado {
    color:var(--wp--preset--color--primary-100);
    font-weight: var(--wp--preset--font-weight-300);
    max-width: 563px;
}
.inner-card-desglose-precio .card-arriba {
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px;
    column-gap: 16px;
}

.card-desglose-precio .card-lista{
    padding-inline-start: 25px;
    margin: 0;
}
.card-desglose-precio .card .has-body-font-size {
    font-size: var(--wp--preset--font-size--body) !important;
    line-height: var(--wp--preset--line-height-body) !important;
    margin-bottom: 0;
}
.card-desglose-precio .card-abajo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    flex: 1;
}
.card-desglose-precio .block-price {
    display: flex;
    width: 100%;
    flex: 1;
}
.card-desglose-precio .card-price {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    width: 100%;
    flex: 1;
}
/* La intro + bullets ocupan el alto disponible y empujan el precio al fondo,
   de modo que el precio queda a la misma altura en las tres tarjetas. */
.card-desglose-precio .contenedor-price-texto {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.card-desglose-precio .contenedor-price {
    margin-top: var(--space-2);
}

body .price-texto.has-caption-font-size {
    margin-bottom: 4px;
    font-weight: var(--wp--preset--font-weight-500);
}
.contenedor-price {
    display: flex;
    gap: 8px;
}

.precio-periodo {
    font-size: var(--wp--preset--font-size--body);
    font-weight: var(--wp--preset--font-weight-300);
    color: var(--wp--preset--color--neutral-500);
}

/* Tarjeta destacada (popular / recomendada) */
.card-desglose-precio--popular {
    border: 2px solid var(--wp--preset--color--primary-100, #334DCF);
}

/* Wrapper que permite que la etiqueta "Popular" sobresalga por encima
   de la tarjeta sin que el overflow:hidden del gradient la recorte */
.card-desglose-precio-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
}
.card-desglose-precio-wrap .card-desglose-precio {
    flex: 1;
}
.card-desglose-precio-wrap .precio-badge-popular {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
    background: var(--wp--preset--color--primary-100, #334DCF);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 6px 16px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.card-desglose-precio__gradient{
    position: absolute;
    top: -100px;
    right: -100px;
    width: 472px;
    height: 453px;
    background-color: var(--wp--preset--color--neutral-150);
    border-radius: 100%;
    filter: blur(250px);
}

@media (max-width: 919px) {
    .faq-panel{
        padding: 1rem;
    }
    .card .wp-block-separator {
        margin: 16px 0;
    }
    .card-subtitulo{
        margin: 12px 0 0 0;
    }
    .card.card-pricing, .card.card-testimonio {
        width: 100%;
    }
    .inner-card-desglose-precio .card-arriba {
        flex-direction: column-reverse;
    }
    .card-desglose-precio .card-etiqueta {
        color: var(--wp--preset--color--neutral-800);
        background-color: transparent;
        padding: 0;
        font-size: var(--wp--preset--font-size--h-5);
        font-weight: var(--wp--preset--font-weight-500);
        border: none;
        position: relative;
        clip-path: none;
        max-width: 100%;
        max-height: 0;
        display: contents;
    }
    .inner-card-desglose-precio .card-arriba {
        row-gap: 12px;
    }

    .inner-card-desglose-precio .card-price > .precio-rebajado {
        grid-column: 1;
        grid-row: 1;
    }

    .inner-card-desglose-precio .card-price > .precio-normal {
        grid-column: 2;
        grid-row: 1;
    }

    .inner-card-desglose-precio .card-price > .contenedor-price-texto {
        grid-column: 1 / span 2;
        grid-row: 2;
    }
    .card-desglose-precio__gradient{
        right: -220px;
    }
}
/* ---- blocks/precios-completos/styles.css ---- */
section.block-precios-completos{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--padding-vertical) var(--padding-horizontal);
    /* Fondo blanco a propósito: antes este bloque y las cards de dentro
       compartían el mismo gris (neutral-100), así que no se notaba el
       cambio de sección con el bloque de arriba/abajo. Ese gris ahora
       vive en las propias cards (ver .card-desglose-precio), y el bloque
       queda blanco para marcar la transición. */
    background: var(--wp--preset--color--neutral-50);
    text-align: center;
    color: var(--wp--preset--color--neutral-800);
}
/* "Todo lo que incluye tu tratamiento" reutiliza el mismo wrapper
   (.block-precios-completos) que "Planes de tratamiento", así que sin
   esta regla los dos bloques quedaban con fondo idéntico y se leían
   como uno solo. Fondo cálido aquí + cards blancas (.faq-panel, ya
   blancas) marca la separación entre ambos, igual que en la referencia. */
section.block-precios-completos.bloque-incluye {
    background: var(--wp--preset--color--neutral-200);
}
.inner-precios-completos{
    max-width: var(--wp--custom--layout--desktop-width);
    margin: 0 auto;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.header-precios-completos{
    padding: 40px;
}
.programa-incluye-acordeones {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    box-sizing: border-box;
    padding: 0 40px;
}
@media (max-width: 920px) {
    .programa-incluye-acordeones {
        padding: 0 16px;
    }
}
.block-precios-completos .titulo {
    margin: 12px 0;
    font-family: var(--font-body) !important;
    color: var(--color-neutral-800) !important;
}
.header-precios-completos .antetitulo {
    font-size: var(--wp--preset--font-size--small);
    line-height: var(--wp--preset--line-height-small);
}
.medication-disclaimer {
    text-align: center;
    margin-top: 32px;
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--neutral-500);
    font-weight: var(--wp--preset--font-weight-300);
}
.cuerpo-precios-completos {
    display: flex;
    gap: 24px;
    text-align: left;
    justify-content: center;
    max-width: var(--wp--custom--layout--desktop-width);
    flex-direction: column;
    padding-top: 24px;
    overflow: visible;
}

/* Botones no-preferencial grises (anula WP theme.json blue).
   Antes usaban neutral-100, igual que el fondo de la card — invisibles.
   Ahora la card es neutral-100, así que el botón usa neutral-200 para
   que se distinga tanto de la card como del fondo blanco del bloque. */
.cuerpo-precios-completos .btn-pricing-light {
    background-color: var(--wp--preset--color--neutral-200) !important;
    color: var(--wp--preset--color--neutral-900) !important;
    border: 1px solid var(--wp--preset--color--neutral-300, #DAD4C3) !important;
}

.cuerpo-precios-completos .btn-pricing-light:hover {
    background-color: var(--wp--preset--color--neutral-300, #DAD4C3) !important;
}

.cuerpo-precios-completos .btn-pricing-light,
.cuerpo-precios-completos .btn-pricing-primary {
    box-shadow: none !important;
}
.block-precios-completos .block-price {
    margin-bottom: 12px;
}
@media (max-width: 920px) {
    section.block-precios-completos {
        padding: var(--padding-vertical) var(--padding-horizontal);
    }
    .cuerpo-precios-completos {
        flex-direction: column;
        align-content: center;
        width: 100%;
        box-sizing: border-box;
    }
    .inner-precios-completos {
        gap: 20px;
        width: 100%;
        box-sizing: border-box;
    }
    .card-desglose-precio{
        padding: 24px 20px;
        width: 100%;
        box-sizing: border-box;
    }
}

/* Grid for accordion block (V7) */
.block-precios-completos .programa-incluye-acordeones {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
    padding: 0 40px;
}

/* Custom styles for grid items */
.block-precios-completos .faq-panel {
    align-items: flex-start;
    padding: 18px 20px;
    border-radius: 16px;
    background-color: var(--wp--preset--color--neutral-50);
    border: 2px solid var(--wp--preset--color--neutral-50);
    transition: all 0.25s ease;
    box-sizing: border-box;
    width: 100%;
}

.block-precios-completos .faq-panel:hover {
    border-color: #334DCF;
    box-shadow: 0 4px 20px rgba(51, 77, 207, 0.08);
}

.block-precios-completos .faq-panel.active {
    border-color: #334DCF;
    background-color: #ffffff;
    box-shadow: 0 8px 30px rgba(51, 77, 207, 0.1);
}

.block-precios-completos .title-faq {
    display: flex !important;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.block-precios-completos .title-faq p {
    width: auto !important;
    flex-grow: 1;
    margin: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--neutral-800);
}

.block-precios-completos .faq-icon-wrapper {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: rgba(51, 77, 207, 0.1);
    color: #334DCF;
    transition: all 0.25s ease;
}

.block-precios-completos .faq-panel.active .faq-icon-wrapper {
    background-color: #334DCF;
    color: #ffffff;
}

.block-precios-completos .faq-panel .body-faq p {
    padding: 10px 10px 10px 52px !important;
    margin: 0 !important;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #555555;
}

@media (max-width: 920px) {
    .block-precios-completos .programa-incluye-acordeones {
        grid-template-columns: 1fr;
        padding: 0 16px;
        gap: 16px;
    }
}
/* ---- blocks/newsletter-cta/styles.css ---- */
/* =============================================================
   SENDA HEALTH — NEWSLETTER CTA BLOCK
   Componente reutilizable. Usar con template-parts/newsletter-cta.php
   ============================================================= */

.senda-newsletter-cta {
  background: #334DCF; /* Azul plano del hero de la portada (antes degradado --gradient-ocean) */
  padding: clamp(3rem, 6vw, 5rem) var(--page-margin);
  color: var(--color-neutral-50);
  text-align: center;
}

.senda-newsletter-cta__inner {
  max-width: 860px;
  margin-inline: auto;
}

.senda-newsletter-cta__label {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.15);
  color: var(--color-neutral-50);
  padding: 6px 14px;
  border-radius: var(--radius-md);
  font-size: var(--text-small);
  font-weight: var(--weight-black);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: var(--space-5);
}

.senda-newsletter-cta__titulo {
  font-family: var(--font-heading);
  font-size: clamp(1.625rem, 3vw + 0.5rem, 2.25rem);
  font-weight: var(--weight-black);
  color: var(--color-neutral-50);
  line-height: var(--leading-tight);
  margin: 0 0 var(--space-5);
}

.senda-newsletter-cta__subtexto {
  font-size: var(--text-body);
  color: rgba(255, 255, 255, 0.88);
  line-height: var(--leading-normal);
  margin: 0 auto var(--space-10);
  max-width: 680px;
}

/* Formulario */
.senda-newsletter-cta__form {
  width: 100%;
  text-align: left;
}

.newsletter-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

@media (min-width: 768px) {
  .newsletter-row {
    flex-direction: row;
    align-items: stretch;
  }

  .newsletter-row__field {
    flex: 1;
  }

  .newsletter-row__submit {
    flex: 0 0 auto;
    width: 200px;
  }
}

.newsletter-row__field {
  flex: 1;
}

.newsletter-input {
  width: 100%;
  padding: var(--space-4) var(--space-5);
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  border-radius: var(--radius-md) !important; /* 12px, como los botones del sitio */
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--color-neutral-50) !important;
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.4;
  box-sizing: border-box;
  outline: none;
  transition: border-color var(--transition-base);
  height: 100%;
  -webkit-appearance: none;
}

.newsletter-input::placeholder,
.senda-newsletter-cta .newsletter-input::placeholder {
  color: rgba(255, 255, 255, 0.8) !important;
  opacity: 1 !important;
}

.newsletter-input:focus {
  border-color: rgba(255, 255, 255, 0.9);
}

.newsletter-submit {
  width: 100%;
  padding: var(--space-4) var(--space-6);
  background-color: var(--color-neutral-50);
  color: var(--color-brand);
  border: none;
  border-radius: var(--radius-md); /* 12px, como los botones del sitio */
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  cursor: pointer;
  white-space: nowrap;
  transition: background-color var(--transition-fast), transform var(--transition-fast);
  appearance: none;
  -webkit-appearance: none;
}

.newsletter-submit:hover {
  background-color: var(--color-primary-40);
}

.newsletter-submit:active {
  transform: scale(0.98);
}

.newsletter-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* Checkbox de privacidad */
.newsletter-privacy {
  display: flex;
  align-items: center; /* centrado vertical del checkbox con texto */
  gap: var(--space-2);
  justify-content: center; /* centrado horizontal en la fila */
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--text-small);
  cursor: pointer;
  margin-bottom: var(--space-4);
  text-align: left;
}

.newsletter-privacy input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--color-neutral-50);
  width: 16px;
  height: 16px;
}

.newsletter-privacy a {
  color: var(--color-neutral-50);
  font-weight: var(--weight-semibold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Mensajes de estado */
.newsletter-msg {
  display: none;
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  text-align: center;
  margin-bottom: var(--space-4);
}

.newsletter-msg--error  { color: #ffb3b3; }
.newsletter-msg--success{ color: #8be8b2; }

/* ---- blocks/farmacos/styles.css ---- */
/* =============================================================
   FÁRMACOS GLP-1 — "Tratamiento farmacológico, cuando está
   clínicamente indicado y siempre bajo supervisión" — global,
   compartido entre portada, hombres y mujeres.
   ============================================================= */
.block-farmacos {
  background-color: var(--color-neutral-50);
  padding: var(--section-gap) var(--page-margin);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.inner-farmacos {
  max-width: var(--container-desktop);
  margin-inline: auto;
}

.farmacos-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: center;
}

.farmacos-imagen {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,.05);
  border: 1px solid var(--color-border);
}

.farmacos-imagen img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: auto;   /* imagen completa, sin recortes forzados */
  object-fit: cover;
}

.farmacos-texto {
  display: flex;
  flex-direction: column;
}

.farmacos-titulo {
  font-family: var(--font-body);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: var(--weight-regular);
  color: var(--color-neutral-800);
  line-height: var(--leading-snug);
  margin: 0 0 var(--space-5);
}

.farmacos-intro {
  font-size: var(--text-body);
  line-height: var(--leading-normal);
  color: var(--color-text-muted);
  margin: 0 0 var(--space-6);
}

.bullets-dos-columnas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.bullet-item {
  border-left: 3px solid var(--color-brand);
  padding-left: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.bullet-titulo {
  font-size: 0.8125rem;
  font-weight: var(--weight-bold);
  color: var(--color-neutral-800);
  margin: 0;
}

.bullet-texto {
  font-size: 0.75rem;
  line-height: var(--leading-snug);
  color: var(--color-text-muted);
  margin: 0;
}

@media (max-width: 768px) {
  .farmacos-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  .farmacos-imagen {
    order: -1;
  }
  .bullets-dos-columnas {
    grid-template-columns: 1fr;
  }
}

/* ---- blocks/quote-banner/styles.css ---- */
/* =============================================================
   QUOTE BANNER — cita "Un tratamiento médico dirigido por
   endocrinos..." — global, compartido entre portada, hombres y
   mujeres.
   ============================================================= */
/* section.block-quote-banner.block-central (0-2-1) para ganarle a
   section.block-central (0-1-1, style.css) — esa regla genérica es la
   que realmente pintaba el degradado morado (--wp--preset--color--
   gradient-2), no --gradient-ocean como parecía a primera vista.
   .block-central es una clase compartida con otros bloques (newsletter,
   empresas, afiliados) así que no se toca la regla genérica, solo se
   gana la especificidad aquí. */
section.block-quote-banner.block-central {
  background: #334DCF; /* Azul plano del hero de la portada (antes #4F62D2) */
  padding: 100px var(--page-margin);
  text-align: center;
  color: var(--color-neutral-50);
}

.quote-inner {
  max-width: 1000px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
}

.quote-icon {
  width: 48px;
  height: auto;
  filter: brightness(0) invert(1);
  margin-bottom: var(--space-2);
}

.quote-text {
  font-family: var(--font-body);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: var(--weight-regular);
  line-height: 1.3;
  color: var(--color-neutral-50);
  margin: 0;
  max-width: 900px;
  letter-spacing: -0.02em;
}

.quote-text strong {
  font-weight: var(--weight-bold);
}

/* ---- blocks/validacion/styles.css ---- */
/* =============================================================
   VALIDACIÓN (Mito vs Ciencia) — "La barrera del Cortisol y la
   Resistencia a la Insulina". Bloque de landings de colectivo
   (hombres/mujeres): contrasta el mito tradicional con la
   explicación científica del abordaje Senda.
   ============================================================= */
.block-validacion {
  padding: var(--section-gap) var(--page-margin);
  background-color: var(--color-neutral-50);
}

.inner-validacion {
  max-width: var(--container-desktop);
  margin-inline: auto;
}

.header-validacion.senda-block-header {
  max-width: 700px;
  margin-inline: auto;
  margin-bottom: var(--space-10);
}

.grid-mito-ciencia {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  align-items: stretch;
}

.card-mito,
.card-ciencia {
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.card-mito {
  background: #FFFDF9;
  border: 1px solid #F0D8C7;
}

.card-ciencia {
  background: #F7F9FE;
  border: 1px solid #DBE1F5;
}

.validacion-label {
  display: inline-block;
  align-self: flex-start;
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 12px;  /* legibilidad (antes 11px) */
  font-weight: var(--weight-black);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.card-mito .validacion-label {
  background-color: rgba(217, 101, 38, 0.12);
  color: #B6531A;
}

.card-ciencia .validacion-label {
  background-color: rgba(51, 77, 207, 0.1);
  color: var(--color-brand);
}

.validacion-item {
  padding-top: var(--space-6);
  border-top: 1px solid rgba(42, 40, 34, 0.08);
}

.card-mito .validacion-item:first-of-type,
.card-ciencia .validacion-item:first-of-type {
  padding-top: 0;
  border-top: none;
}

.validacion-item h3,
.validacion-item h4 {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: var(--weight-bold);
  color: var(--color-neutral-800);
  line-height: var(--leading-snug);
  margin: 0 0 var(--space-2);
}

.card-mito .validacion-item h3,
.card-mito .validacion-item h4 {
  color: #8C4A22;
}

.validacion-item p {
  font-size: var(--text-body);
  line-height: var(--leading-normal);
  color: var(--color-text-muted);
  margin: 0;
}

@media (max-width: 768px) {
  .grid-mito-ciencia {
    grid-template-columns: 1fr;
  }
  .card-mito,
  .card-ciencia {
    padding: var(--space-6);
  }
}

/* ---- blocks/etapas/styles.css ---- */
/* =============================================================
   ETAPAS HORMONALES — "Tu momento vital dicta tu metabolismo".
   Tabs interactivos (Post-parto / SOP / Perimenopausia / Menopausia)
   con contenido de 2 columnas (problema / abordaje Senda).
   ============================================================= */
.block-etapas {
  padding: var(--section-gap) var(--page-margin);
  background-color: var(--color-neutral-50);
}

.inner-etapas {
  max-width: var(--container-desktop);
  margin-inline: auto;
}

.header-etapas.senda-block-header {
  max-width: 700px;
  margin-inline: auto;
  margin-bottom: var(--space-10);
}

.etapas-container {
  max-width: 900px;
  margin-inline: auto;
}

.etapas-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--space-8);
}

.etapa-tab {
  appearance: none;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-medium);
  color: var(--color-text-muted);
  margin-bottom: -1px;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}

.etapa-tab:hover {
  color: var(--color-neutral-800);
}

.etapa-tab.active {
  color: var(--color-brand);
  font-weight: var(--weight-bold);
  border-bottom-color: var(--color-brand);
}

.etapa-content {
  display: none;
}

.etapa-content.active {
  display: block;
  animation: etapa-fade-in 0.25s ease;
}

@keyframes etapa-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.etapa-content-titulo {
  font-family: var(--font-body);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: var(--weight-bold);
  color: var(--color-neutral-800);
  text-align: center;
  margin: 0 0 var(--space-8);
}

.etapa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  align-items: stretch;
}

.etapa-col {
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background-color: var(--color-neutral-100);
}

.etapa-col h4 {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  color: var(--color-neutral-800);
  margin: 0 0 var(--space-3);
}

.etapa-col p {
  font-size: var(--text-body);
  line-height: var(--leading-normal);
  color: var(--color-text-muted);
  margin: 0;
}

.etapa-col-abordaje {
  background-color: #F7F9FE;
  border: 1px solid #DBE1F5;
}

.etapa-col-abordaje h4 {
  color: var(--color-brand);
}

@media (max-width: 768px) {
  .etapas-tabs {
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
  }
  .etapa-tab {
    white-space: nowrap;
  }
  .etapa-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- blocks/te-llamamos/styles.css ---- */
/* =============================================================
   TE LLAMAMOS — "Si quieres hablar directamente con nosotros, te
   llamamos." Tarjeta con foto + formulario de solicitud de llamada.
   Global, compartido entre senda-para-hombres y senda-para-mujeres.
   ============================================================= */
.block-te-llamamos {
  padding: var(--section-gap) var(--page-margin);
  background-color: var(--color-neutral-50);
}

.inner-te-llamamos {
  max-width: var(--container-desktop);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  background: linear-gradient(135deg, #334DCF 0%, #4C5FE0 100%);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(14, 14, 144, 0.18);
}

.te-llamamos-imagen {
  position: relative;
  min-height: 420px;
}

.te-llamamos-imagen img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.te-llamamos-contenido {
  padding: var(--space-10) var(--space-10) var(--space-8);
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--color-neutral-50);
}

.te-llamamos-titulo {
  font-family: var(--font-body);
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  font-weight: var(--weight-bold);
  color: var(--color-neutral-50);
  line-height: var(--leading-snug);
  margin: 0 0 var(--space-3);
}

.te-llamamos-texto {
  font-size: var(--text-body);
  line-height: var(--leading-normal);
  color: rgba(255, 255, 255, 0.8);
  margin: 0 0 var(--space-6);
}

.native-te-llamamos-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.form-fields-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-3);
}

/* Escopado a .block-te-llamamos (fondo degradado azul oscuro): estas
   reglas pintaban blanco sobre blanco cuando page-empresas.php,
   page-afiliados.php y page-prensa.php reutilizaban las mismas clases
   (.native-te-llamamos-form, .form-field-group) fuera de este bloque,
   sobre tarjetas claras — dejando labels e inputs invisibles. */
.block-te-llamamos .form-field-group label {
  display: block;
  font-size: 0.8125rem;
  font-weight: var(--weight-bold);
  color: var(--color-neutral-50);
  margin-bottom: var(--space-2);
}

.block-te-llamamos .form-field-group input {
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-neutral-50);
  font-family: var(--font-body);
  font-size: 0.875rem;
  box-sizing: border-box;
}

.block-te-llamamos .form-field-group input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.block-te-llamamos .form-field-group input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.12);
}

/* Mismo formulario (.native-te-llamamos-form) reutilizado en tarjeta CLARA
   de page-empresas.php y page-afiliados.php (.affiliate-form-section). Sin
   esto: las filas heredan el grid de 3 columnas (dejando la 3ª vacía y el
   contenido corrido a la izquierda) y los inputs quedan sin ancho ni borde
   (el estilo está escopado a .block-te-llamamos, fondo oscuro). */
.affiliate-form-section .form-fields-row {
  grid-template-columns: 1fr 1fr;
}
.affiliate-form-section .form-field-group label {
  display: block;
  font-size: 0.8125rem;
  font-weight: var(--weight-bold);
  color: #1D1B16;
  margin-bottom: var(--space-2);
}
.affiliate-form-section .form-field-group input {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #E2DED4;
  background: #ffffff;
  color: #1D1B16;
  font-family: var(--font-body);
  font-size: 0.875rem;
  box-sizing: border-box;
}
.affiliate-form-section .form-field-group input::placeholder {
  color: #9a978f;
}
.affiliate-form-section .form-field-group input:focus {
  outline: none;
  border-color: #334DCF;
}

.privacy-accept-label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: 0.8125rem;
  line-height: var(--leading-snug);
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
}

/* Checkbox nativo, invisible pero accesible/funcional; el cuadrado
   visible es .privacy-checkbox-box, sincronizado vía :checked. */
.privacy-accept-label input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.privacy-checkbox-box {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border-radius: 5px;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-brand);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.privacy-checkbox-box svg {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.privacy-accept-label input[type="checkbox"]:checked + .privacy-checkbox-box {
  background: var(--color-neutral-50);
  border-color: var(--color-neutral-50);
}

.privacy-accept-label input[type="checkbox"]:checked + .privacy-checkbox-box svg {
  opacity: 1;
  transform: scale(1);
}

.privacy-accept-label input[type="checkbox"]:focus-visible + .privacy-checkbox-box {
  outline: 2px solid var(--color-neutral-50);
  outline-offset: 2px;
}

.privacy-accept-label a {
  color: var(--color-neutral-50);
  font-weight: var(--weight-bold);
  text-decoration: underline;
}

.form-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  flex-wrap: wrap;
}

.form-footer-row .privacy-accept-label {
  flex: 1 1 260px;
}

.native-form-msg {
  display: none;
  font-size: 0.8125rem;
  padding: var(--space-3);
  border-radius: var(--radius-md);
}

.native-form-msg.error {
  background: rgba(255, 77, 77, 0.15);
  border-left: 3px solid #ff4d4d;
  color: #ffcaca;
}

.native-form-msg.success {
  background: rgba(46, 204, 113, 0.15);
  border-left: 3px solid #2ecc71;
  color: #c8f5da;
}

.native-submit-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background-color: var(--color-neutral-50) !important;
  color: var(--color-brand) !important;
  border: none !important;
  padding: 14px 28px;
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  cursor: pointer;
  white-space: nowrap;
  transition: background-color var(--transition-fast), transform var(--transition-fast);
}

.block-te-llamamos .native-submit-btn:hover {
  background-color: #EAEBFA !important;
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .inner-te-llamamos {
    grid-template-columns: 1fr;
  }
  .te-llamamos-imagen {
    min-height: 240px;
  }
  .te-llamamos-contenido {
    padding: var(--space-8) var(--space-6);
  }
  .form-fields-row {
    grid-template-columns: 1fr;
  }
  .affiliate-form-section .form-fields-row {
    grid-template-columns: 1fr;
  }
  .form-footer-row {
    flex-direction: column;
    align-items: stretch;
  }
  .native-submit-btn {
    justify-content: center;
  }
}

/* ---- bloque: patologías relacionadas («La obesidad no viene sola», como-funciona) ---- */
section.block-patologias { padding: 80px 0; background: #ffffff; color: #2A2822; font-family: "Saans", sans-serif; }
.inner-patologias { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.header-patologias { max-width: 800px; margin: 0 auto 48px auto; text-align: center; }
.header-patologias .antetitulo { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #2A2822; margin-bottom: 12px; }
.header-patologias .titulo { font-size: 36px; font-weight: 700; line-height: 1.25; color: #2A2822; margin: 0; }
.header-patologias .titulo-sub { font-size: 17px; line-height: 1.5; color: #6d6a62; margin: 16px 0 0; }
.patologias-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
a.patologia-card { display: flex; flex-direction: column; gap: 12px; background: #ffffff; border: 1px solid #f0ede6; border-radius: 16px; padding: 28px 24px; box-shadow: 0px 8px 30px rgba(225, 220, 212, 0.4); transition: transform 0.3s ease, border-color 0.3s ease; color: #2A2822; text-decoration: none; }
a.patologia-card:hover { transform: translateY(-4px); border-color: #334DCF; }
.patologia-icon { width: 48px; height: 48px; border-radius: 12px; background: #eef1ff; color: #334DCF; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.patologia-icon svg { width: 24px; height: 24px; }
.patologia-card h3 { font-size: 19px; font-weight: 600; margin: 0; color: #1D1B16; }
.patologia-card p { font-size: 15px; line-height: 1.5; color: #6d6a62; margin: 0; flex-grow: 1; }
.patologia-link { font-size: 14px; font-weight: 600; color: #334DCF; display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 920px) {
    .patologias-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .header-patologias .titulo { font-size: 28px; }
}
@media (max-width: 600px) {
    section.block-patologias { padding: 56px 0; }
    .patologias-grid { grid-template-columns: 1fr; }
    a.patologia-card { padding: 24px 20px; }
}

/* ---- bloque: artículos relacionados (patologías, por etiqueta) ---- */
section.block-articulos-rel { padding: 80px 0; background: #F5F3EF; color: #2A2822; font-family: "Saans", sans-serif; }
.inner-articulos-rel { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.header-articulos-rel { max-width: 800px; margin: 0 auto 48px auto; text-align: center; }
.header-articulos-rel .antetitulo { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #2A2822; margin-bottom: 12px; }
.header-articulos-rel .titulo { font-size: 36px; font-weight: 700; line-height: 1.25; color: #2A2822; margin: 0; }
.articulos-rel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
a.articulo-rel-card { display: flex; flex-direction: column; background: #ffffff; border: 1px solid #f0ede6; border-radius: 16px; overflow: hidden; box-shadow: 0px 8px 30px rgba(225, 220, 212, 0.4); transition: transform 0.3s ease, border-color 0.3s ease; color: #2A2822; text-decoration: none; }
a.articulo-rel-card:hover { transform: translateY(-4px); border-color: #334DCF; }
.articulo-rel-img { display: block; width: 100%; aspect-ratio: 16 / 9; background-size: cover; background-position: center; }
.articulo-rel-body { display: flex; flex-direction: column; gap: 12px; padding: 24px; flex-grow: 1; }
.articulo-rel-body h3 { font-size: 18px; font-weight: 600; line-height: 1.35; margin: 0; color: #1D1B16; flex-grow: 1; }
.articulo-rel-link { font-size: 14px; font-weight: 600; color: #334DCF; display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 920px) {
    .articulos-rel-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .header-articulos-rel .titulo { font-size: 28px; }
}
@media (max-width: 600px) {
    section.block-articulos-rel { padding: 56px 0; }
    .articulos-rel-grid { grid-template-columns: 1fr; }
}

/* ---- bullets de las cards de planes (portada, landings, precios) ---- */
.price-bullets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; text-align: left; }
.price-bullets li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.5; color: #2A2822; }
.price-bullets li::before { content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; background-color: #334DCF; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat; }
.price-bullets li:first-child { font-weight: 500; }
.precio-tachado { text-decoration: line-through; color: #b8b5ad; font-weight: 400; margin-right: 8px; }
.price-nota { display: block; margin-top: 4px; }
/* En escritorio (cards en fila) igualamos la altura del bloque de bullets
   para que la cantidad y el botón queden alineados entre las 3 cards, aun
   con textos de distinta longitud. En móvil (apiladas) no aplica. */
/* Cards de planes: altura natural. Con la propuesta actual (bullets 4/4/2 y
   descripciones de distinta longitud) forzar min-height dejaba huecos; el
   precio y el botón se anclan abajo por el flex del contenedor. */
@media (min-width: 921px) {
    .card-desglose-precio .card-encabezado { min-height: 58px; }
    .card-desglose-precio .contenedor-price-texto { flex: 1 1 auto; }
}

/* Bullet "no incluido" (✕ gris) en las cards de planes */
.price-bullets li.excluida { color: #9a978f; }
.price-bullets li.excluida::before {
    background-color: #c4c1b9;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center / contain no-repeat;
}
