/*
Theme Name: ADN Analisis FSE
Theme URI: https://camasarticuladas10.com
Author: EMDISE SAC
Description: Tema FSE nativo para ADN Analisis — laboratorio de pruebas geneticas en Lima, Peru.
Version: 1.3.62
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: adn-fse
*/

/* ===== FONTS ===== */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('./fonts/manrope-latin.woff2') format('woff2');
}

/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; display: block; }
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
    margin: 0;
    font-family: 'Manrope', sans-serif;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
.wp-site-blocks { padding: 0 !important; }
.wp-block-group.alignfull { padding-left: 0 !important; padding-right: 0 !important; }

/* ===== TOP BAR ===== */
.top-bar {
    background: #1A66C2 !important;
    color: #ffffff;
    width: 100%;
}
.top-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.top-bar-phones {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    min-width: 0;
}
.top-bar p { margin: 0; color: #ffffff; font-size: 14px; font-weight: 600; }
.top-bar-phone,
.top-bar-phone-fixed {
    white-space: nowrap;
}
.top-bar a { color: #ffffff; text-decoration: none; }
.top-bar a:hover { text-decoration: underline; }
.top-bar-social { display: flex; gap: 12px; align-items: center; }
.top-bar-social a { color: #ffffff; font-size: 16px; }

/* ===== STICKY HEADER ===== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(245, 250, 255, 0.95) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid #E2E9F0;
}
.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    gap: 32px;
    flex-wrap: nowrap;
}
.header-logo { display: flex; align-items: center; }
.header-logo img { height: 48px; width: auto; }
.header-nav-wrap {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 1;
    justify-content: flex-end;
}
.header-nav {
    display: flex;
    gap: 20px;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}
.header-nav .wp-block-navigation__container { display: flex; gap: 20px; align-items: center; list-style: none; margin: 0; padding: 0; }
.header-nav a,
.wp-block-navigation-item a { color: #092C4F !important; text-decoration: none; font-weight: 600; font-size: 15px; transition: color 0.2s; white-space: nowrap; }
.header-nav a:hover,
.wp-block-navigation-item a:hover { color: #1A66C2 !important; }
.header-cta { white-space: nowrap; }
.header-cta a,
.btn-header-phone {
    background: #1A66C2;
    color: #ffffff !important;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: background 0.2s;
    display: inline-block;
}
.btn-header-phone:hover { background: #092C4F !important; }

/* ===== HERO SECTION ===== */
.hero-section {
    position: relative;
    min-height: 680px;
    background-color: #092C4F;
    background-image: url('./images/hero-bg-5f259e.png');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 80px 24px !important;
}
.hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(9,44,79,0.93) 0%, rgba(9,44,79,0.78) 100%);
    z-index: 0;
}
.hero-inner {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.hero-badge {
    display: inline-block !important;
    background: rgba(109, 189, 39, 0.18) !important;
    border: 1px solid #6DBD27;
    color: #6DBD27 !important;
    padding: 4px 16px !important;
    border-radius: 100px;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 24px !important;
    width: fit-content;
}
.hero-section .wp-block-heading,
.hero-section h1 {
    color: #ffffff !important;
    font-size: clamp(36px, 5vw, 68px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin: 0 0 24px !important;
}
.hero-body {
    color: #7894BD !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    margin: 0 0 40px !important;
    max-width: 580px;
}
.hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; margin: 0 !important; }
.hero-buttons .wp-block-button { margin: 0; }
.btn-phone .wp-block-button__link,
.hero-buttons .wp-block-button__link {
    padding: 16px 32px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: opacity 0.2s;
}
.btn-phone .wp-block-button__link { background: #1A66C2 !important; color: #ffffff !important; }
.btn-whatsapp .wp-block-button__link { background: #6DBD27 !important; color: #ffffff !important; }
.btn-phone .wp-block-button__link:hover,
.btn-whatsapp .wp-block-button__link:hover { opacity: 0.88; }

/* ===== INFO / STATS SECTION ===== */
.info-section {
    background: #EDF4FB !important;
    padding: 80px 24px !important;
}
.info-inner {
    max-width: 1200px;
    margin: 0 auto;
}
.info-grid .wp-block-columns { gap: 24px !important; }
.info-card {
    background: #ffffff !important;
    border: 1px solid #E2E9F0 !important;
    border-radius: 16px;
    padding: 32px 24px !important;
    text-align: center;
}
.info-card-icon { font-size: 36px !important; margin: 0 0 12px !important; }
.info-card-stat { font-size: 40px !important; font-weight: 800 !important; color: #1A66C2 !important; line-height: 1 !important; margin: 0 0 8px !important; }
.info-card-label { color: #43474E !important; font-size: 15px !important; font-weight: 600 !important; margin: 0 !important; }

/* ===== SECTION HEADERS ===== */
.section-header { text-align: center; margin-bottom: 64px; }
.section-title { color: #092C4F !important; font-size: clamp(26px, 3vw, 48px) !important; font-weight: 800 !important; margin: 0 0 16px !important; }
.green-bar { width: 80px; height: 5px; background: #6DBD27; border-radius: 3px; margin: 0 auto 20px !important; padding: 0 !important; font-size: 0 !important; }
.section-subtitle { color: #43474E; font-size: 17px; max-width: 600px; margin: 0 auto !important; }

/* ===== SERVICES SECTION ===== */
.services-section {
    background: #ffffff !important;
    padding: 96px 24px !important;
}
.services-inner { max-width: 1200px; margin: 0 auto; }
.service-card {
    background: #ffffff;
    border: 1px solid #E2E9F0;
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s;
}
.service-card:hover {
    box-shadow: 0 8px 32px rgba(9,44,79,0.12);
    transform: translateY(-4px);
}
.service-card .wp-block-image { margin: 0 !important; }
.service-card .wp-block-image img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 0; }
.service-card-body { padding: 20px !important; }
.service-card .wp-block-heading { color: #092C4F !important; font-size: 17px !important; font-weight: 700 !important; margin: 0 0 8px !important; }
.service-card .wp-block-paragraph { color: #43474E; font-size: 14px; line-height: 1.5; margin: 0 0 16px !important; }
.service-card .wp-block-button__link { background: none !important; color: #1A66C2 !important; padding: 0 !important; font-size: 14px !important; font-weight: 700 !important; border-radius: 0 !important; border: none !important; }
.service-card .wp-block-button__link:hover { text-decoration: underline !important; }
.service-card-link { margin: 0 !important; }
.service-card-link a { color: inherit; text-decoration: none; }
.service-card-link a:hover { color: #092C4F; text-decoration: underline; }

/* ===== PORTFOLIO / RELATIONSHIPS SECTION ===== */
.portfolio-section {
    background: #EDF4FB !important;
    padding: 96px 24px !important;
}
.portfolio-inner { max-width: 1200px; margin: 0 auto; }
.portfolio-card {
    background: #ffffff;
    border: 1px solid #E2E9F0;
    border-radius: 16px;
    padding: 32px 24px !important;
    text-align: center;
}
.portfolio-icon { font-size: 48px !important; margin: 0 0 16px !important; }
.portfolio-card .wp-block-heading { color: #092C4F !important; font-size: 18px !important; font-weight: 700 !important; margin: 0 0 8px !important; }
.portfolio-card .wp-block-paragraph { color: #43474E; font-size: 14px; line-height: 1.5; margin: 0 !important; }

/* ===== TESTIMONIALS SECTION ===== */
.testimonials-section {
    background: #092C4F !important;
    padding: 96px 24px !important;
    position: relative;
    overflow: hidden;
}
.testimonials-section::before {
    content: '';
    position: absolute;
    width: 600px; height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(26,102,194,0.25) 0%, transparent 70%);
    top: -200px; right: -100px;
    pointer-events: none; z-index: 0;
}
.testimonials-inner { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }
.testimonials-section .section-title { color: #ffffff !important; }
.testimonials-section .section-subtitle { color: #7894BD; }
.testimonial-card {
    background: rgba(255, 255, 255, 0.07) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 20px;
    padding: 32px !important;
}
.testimonial-stars { color: #6DBD27; font-size: 18px; letter-spacing: 2px; margin: 0 0 16px !important; }
.testimonial-quote { color: #ffffff !important; font-size: 15px !important; line-height: 1.7 !important; font-style: italic; margin: 0 0 24px !important; }
.testimonial-author-line {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 20px !important;
    display: flex;
    align-items: center;
    gap: 12px;
}

@media (max-width: 768px) {
    html,
    body {
        overflow-x: hidden;
    }

    .site-footer {
        padding: 56px 20px 32px !important;
    }

    .footer-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 18px;
        text-align: center;
    }

    .footer-grid {
        width: 100%;
        padding-bottom: 0;
        border-bottom: 0;
        order: 1;
    }

    .footer-columns {
        display: flex !important;
        flex-direction: column !important;
        align-items: center;
        gap: 28px !important;
    }

    .footer-columns > .wp-block-column {
        width: 100%;
        max-width: 340px;
        margin: 0 auto;
        flex-basis: 100% !important;
    }

    .footer-columns > .wp-block-column:nth-child(1),
    .footer-columns > .wp-block-column:nth-child(1) > * {
        text-align: center !important;
    }

    .footer-columns > .wp-block-column:nth-child(1) {
        order: 1;
    }

    .footer-inner > .wp-block-group:not(.footer-grid):not(.footer-bottom) {
        order: 2;
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 14px;
        margin: 2px 0 8px;
    }

    .footer-columns > .wp-block-column:nth-child(2) {
        order: 3;
    }

    .footer-columns > .wp-block-column:nth-child(3) {
        order: 4;
    }

    .footer-columns > .wp-block-column:nth-child(4) {
        order: 5;
    }

    .footer-bottom {
        order: 6;
        width: 100%;
        justify-content: center;
        text-align: center;
        padding-top: 16px;
        margin-top: 8px;
        border-top: 1px solid #D8E3EE;
    }

    .footer-logo {
        margin: 0 auto 14px !important;
        text-align: center;
    }

    .footer-logo img {
        width: min(248px, 72vw) !important;
        height: auto;
    }

    .footer-desc {
        position: relative;
        left: 50%;
        display: block;
        width: 310px;
        max-width: calc(100vw - 52px);
        margin: 0 !important;
        padding: 0;
        font-size: 15px !important;
        line-height: 1.72 !important;
        text-align: center !important;
        transform: translateX(-50%);
    }

    .footer-col-title {
        margin: 0 0 18px !important;
        color: #092C4F !important;
        font-size: 19px !important;
        font-weight: 800 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        text-align: center;
    }

    .footer-links {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .footer-links li {
        margin: 0;
        text-align: center;
    }

    .footer-links li:empty {
        display: none;
    }

    .footer-links a,
    .footer-links li,
    .footer-contact-item,
    .footer-copyright {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .footer-contact-item {
        justify-content: center;
        flex-wrap: wrap;
        margin-bottom: 12px;
        text-align: center;
    }

    .footer-copyright {
        display: block;
        width: 100%;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .qlwapp__container--bottom-right {
        right: 0 !important;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 56px) !important;
    }

    .footer-inner > .wp-block-group:not(.footer-grid):not(.footer-bottom) .kt-svg-icon-link {
        width: 54px;
        height: 54px;
        border: 1.5px solid #1A66C2;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #1A66C2;
        text-decoration: none;
    }

    .footer-inner > .wp-block-group:not(.footer-grid):not(.footer-bottom) .kt-svg-icons {
        margin: 0;
    }

    .footer-inner > .wp-block-group:not(.footer-grid):not(.footer-bottom) .kadence-dynamic-icon {
        font-size: 22px;
    }
}
.testimonial-avatar-image { margin: 0 !important; flex-shrink: 0; }
.testimonial-avatar-image img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}
.testimonial-avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1A66C2, #6DBD27);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; font-weight: 800; color: #ffffff;
    flex-shrink: 0;
    font-style: normal;
}
.testimonial-name { color: #ffffff !important; font-size: 15px !important; font-weight: 700 !important; margin: 0 !important; }
.testimonial-role { color: #7894BD !important; font-size: 13px !important; margin: 0 !important; }

/* ===== CONTACT / MAP SECTION ===== */
.contact-section {
    background: #ffffff !important;
    padding: 96px 24px !important;
}
.contact-inner { max-width: 1200px; margin: 0 auto; }
.contact-card {
    background: #ffffff;
    border: 1px solid #E2E9F0;
    border-radius: 16px;
    padding: 40px !important;
}
.contact-detail { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
.contact-icon { font-size: 22px; flex-shrink: 0; }
.contact-text strong { display: block; color: #092C4F; font-weight: 700; margin-bottom: 2px; }
.contact-text span, .contact-text a { color: #43474E; text-decoration: none; font-size: 15px; }
.contact-text a:hover { color: #1A66C2; }
.contact-map-wrap { border-radius: 12px; overflow: hidden; border: 1px solid #E2E9F0; background: #EDF4FB; }
.contact-map-image { margin: 0 !important; }
.contact-map-image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
}
.btn-contact { display: inline-block; background: #1A66C2; color: #ffffff !important; padding: 16px 32px; border-radius: 8px; font-weight: 700; font-size: 16px; text-decoration: none; transition: background 0.2s; }
.btn-contact:hover { background: #092C4F; }

/* ===== FOOTER ===== */
.site-footer {
    background: #EDF4FB !important;
    border-top: 1px solid #E2E9F0;
    padding: 64px 24px 32px !important;
}
.footer-inner { max-width: 1200px; margin: 0 auto; }
.footer-grid { padding-bottom: 48px; border-bottom: 1px solid #E2E9F0; }
.footer-logo { margin-bottom: 16px !important; }
.footer-logo img { height: 40px; width: auto; }
.footer-desc { color: #43474E; font-size: 14px; line-height: 1.6; margin: 0 !important; }
.footer-col-title { color: #092C4F !important; font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; margin: 0 0 20px !important; }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a, .footer-nav a { color: #43474E; text-decoration: none; font-size: 14px; transition: color 0.2s; }
.footer-links a:hover, .footer-nav a:hover { color: #1A66C2; }
.footer-contact-item { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 12px; color: #43474E; font-size: 14px; }
.footer-bottom { padding-top: 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.footer-copyright { color: #43474E; font-size: 13px; margin: 0 !important; }
.footer-social { display: flex; gap: 12px; }
.footer-social a { color: #43474E; text-decoration: none; font-size: 20px; transition: color 0.2s; }
.footer-social a:hover { color: #1A66C2; }

/* ===== HOW IT WORKS SECTION ===== */
.how-section {
    background: #ffffff !important;
    padding: 96px 24px !important;
}
.how-inner { max-width: 1200px; margin: 0 auto; }
.how-steps { position: relative; }
.how-step {
    text-align: center;
}
.how-step-circle {
    width: 96px; height: 96px;
    border-radius: 50%;
    background: #EDF4FB;
    border: 4px solid #ffffff;
    box-shadow: 0 2px 12px rgba(9,44,79,0.1);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 20px;
    font-size: 36px;
}
.how-step-circle.active {
    background: #1A66C2;
    box-shadow: 0 6px 24px rgba(26,102,194,0.35);
}
.how-step-num {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #1A66C2 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 8px !important;
}
.how-step h3 { color: #092C4F !important; font-size: 17px !important; font-weight: 700 !important; margin: 0 0 8px !important; }
.how-step p { color: #43474E; font-size: 14px !important; line-height: 1.6; margin: 0 !important; }

/* ===== PRICING SECTION ===== */
.pricing-section {
    background: #092C4F !important;
    padding: 96px 24px !important;
    position: relative;
    overflow: hidden;
}
.pricing-section::before {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 400px; height: 400px;
    border: 60px solid rgba(109,189,39,0.08);
    border-radius: 50%;
    transform: translate(30%, -30%);
    pointer-events: none;
}
.pricing-inner { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }
.pricing-section .section-title { color: #ffffff !important; }
.pricing-section .section-subtitle { color: #7894BD; }
.pricing-card {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 20px;
    padding: 40px 32px !important;
    display: flex;
    flex-direction: column;
}
.pricing-card.featured {
    background: #ffffff !important;
    border: 2px solid #6DBD27 !important;
    border-radius: 24px;
    transform: scale(1.04);
    position: relative;
}
.pricing-badge {
    position: absolute;
    top: -14px; left: 50%; transform: translateX(-50%);
    background: #6DBD27;
    color: #ffffff;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 4px 16px !important;
    border-radius: 100px;
    white-space: nowrap;
}
.pricing-plan-name { color: #ffffff !important; font-size: 20px !important; font-weight: 700 !important; margin: 0 0 12px !important; }
.pricing-card.featured .pricing-plan-name { color: #092C4F !important; }
.pricing-price { font-size: 44px !important; font-weight: 800 !important; color: #ffffff !important; line-height: 1 !important; margin: 0 0 8px !important; }
.pricing-card.featured .pricing-price { color: #092C4F !important; }
.pricing-currency { font-size: 20px; vertical-align: super; }
.pricing-feature { color: rgba(255,255,255,0.75) !important; font-size: 14px !important; padding: 10px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.08); margin: 0 !important; display: flex; gap: 10px; align-items: flex-start; }
.pricing-feature::before { content: '✓'; color: #6DBD27; font-weight: 800; flex-shrink: 0; }
.pricing-card.featured .pricing-feature { color: #43474E !important; border-bottom-color: #E2E9F0; }
.pricing-card.featured .pricing-feature::before { color: #1A66C2; }
.pricing-btn {
    display: block;
    text-align: center;
    padding: 16px !important;
    border-radius: 10px;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none;
    transition: opacity 0.2s;
    margin-top: 32px !important;
    border: 2px solid rgba(255,255,255,0.25);
    color: #ffffff !important;
    background: transparent !important;
}
.pricing-card.featured .pricing-btn { background: #1A66C2 !important; color: #ffffff !important; border-color: #1A66C2 !important; }
.pricing-btn:hover { opacity: 0.85; }

/* ===== FAQ SECTION ===== */
.faq-section {
    background: #EDF4FB !important;
    padding: 96px 24px !important;
}
.faq-inner { max-width: 860px; margin: 0 auto; }
.wp-block-details {
    background: #ffffff;
    border: 1px solid #E2E9F0;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 12px !important;
}
.wp-block-details summary {
    font-size: 16px;
    font-weight: 700;
    color: #092C4F;
    padding: 20px 24px;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
}
.wp-block-details summary::after {
    content: '+';
    font-size: 22px;
    font-weight: 400;
    color: #1A66C2;
    flex-shrink: 0;
    line-height: 1;
}
.wp-block-details[open] summary::after { content: '−'; }
.wp-block-details .wp-block-paragraph {
    color: #43474E !important;
    font-size: 15px !important;
    line-height: 1.7;
    padding: 0 24px 20px !important;
    margin: 0 !important;
    border-top: 1px solid #EDF4FB;
}

/* ===== CTA BANNER SECTION ===== */
.cta-section {
    background: #ffffff !important;
    padding: 64px 24px !important;
}
.cta-inner { max-width: 1200px; margin: 0 auto; }
.cta-card {
    background: linear-gradient(135deg, #1A66C2 0%, #092C4F 100%) !important;
    border-radius: 32px;
    padding: 72px 64px !important;
    position: relative;
    overflow: hidden;
}
.cta-card::before {
    content: '';
    position: absolute;
    top: -60px; right: -60px;
    width: 300px; height: 300px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    pointer-events: none;
}
.cta-card .wp-block-heading {
    color: #ffffff !important;
    font-size: clamp(28px, 3.5vw, 48px) !important;
    font-weight: 800 !important;
    margin: 0 0 16px !important;
}
.cta-card .wp-block-paragraph {
    color: rgba(255,255,255,0.8) !important;
    font-size: 18px !important;
    margin: 0 0 40px !important;
}
.cta-phone {
    color: #ffffff !important;
    font-size: clamp(36px, 5vw, 60px) !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
}
.cta-card .wp-block-buttons { margin: 0 !important; }
.btn-cta-call .wp-block-button__link {
    background: #ffffff !important;
    color: #1A66C2 !important;
    border-radius: 10px !important;
    padding: 16px 32px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}
.btn-cta-whatsapp .wp-block-button__link {
    background: #25D366 !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 16px 32px !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}
.cta-layout { display: flex; gap: 48px; align-items: center; flex-wrap: wrap; }
.cta-left { flex: 1; min-width: 280px; }
.cta-right { text-align: right; flex-shrink: 0; }

/* ===== WHATSAPP FLOAT ===== */
.whatsapp-float-wrap {
    position: fixed;
    bottom: 28px; right: 28px;
    z-index: 999;
    margin: 0 !important;
}
.whatsapp-float-wrap .wp-block-button { margin: 0 !important; }
.whatsapp-float-btn .wp-block-button__link {
    width: 60px; height: 60px;
    border-radius: 50%;
    background: #25D366;
    display: flex; align-items: center; justify-content: center;
    font-size: 30px;
    text-decoration: none;
    padding: 0 !important;
    line-height: 1;
    box-shadow: 0 4px 24px rgba(37, 211, 102, 0.5);
    transition: transform 0.2s, box-shadow 0.2s;
}
.whatsapp-float-btn .wp-block-button__link:hover { transform: scale(1.1); box-shadow: 0 8px 32px rgba(37, 211, 102, 0.65); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .services-section .wp-block-columns { flex-wrap: wrap !important; }
    .services-section .wp-block-column { flex-basis: calc(50% - 12px) !important; min-width: 0; }
    .footer-grid .wp-block-columns { flex-wrap: wrap !important; }
    .footer-grid .wp-block-column { flex-basis: calc(50% - 12px) !important; }
}

@media (max-width: 768px) {
    .header-nav-wrap .wp-block-navigation { display: none !important; }
    .hero-section { min-height: 560px; padding: 60px 24px !important; }
    .hero-section .wp-block-heading { font-size: clamp(32px, 8vw, 52px) !important; }
    .info-section .wp-block-columns { flex-wrap: wrap !important; }
    .info-section .wp-block-column { flex-basis: calc(50% - 8px) !important; }
    .portfolio-section .wp-block-columns { flex-wrap: wrap !important; }
    .portfolio-section .wp-block-column { flex-basis: 100% !important; }
    .testimonials-section .wp-block-columns { flex-wrap: wrap !important; }
    .testimonials-section .wp-block-column { flex-basis: 100% !important; }
    .contact-section .wp-block-columns { flex-wrap: wrap !important; }
    .contact-section .wp-block-column { flex-basis: 100% !important; }
    .hero-buttons { flex-direction: column; }
    .hero-buttons .wp-block-button { width: 100%; }
    .hero-buttons .wp-block-button__link { width: 100%; text-align: center; justify-content: center; }
}

@media (max-width: 480px) {
    .top-bar-social { display: none; }
    .info-section .wp-block-columns { flex-direction: column !important; }
    .info-section .wp-block-column { flex-basis: 100% !important; }
    .services-section .wp-block-column { flex-basis: 100% !important; }
    .footer-grid .wp-block-column { flex-basis: 100% !important; }
}

/* ===== ADN HOME REFRESH ===== */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('./fonts/inter-400.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('./fonts/inter-500.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('./fonts/inter-600.ttf') format('truetype');
}

html,
body {
    overflow-x: hidden;
}

body {
    font-family: 'Inter', sans-serif;
    background: #F5FAFF;
    color: #151C21;
}

.wp-block-heading,
.hero-badge,
.section-title,
.section-kicker,
.testimonials-title,
.info-card-kicker,
.info-card-title,
.info-service-label,
.service-card-title,
.relationship-title,
.relationship-highlight-kicker,
.relationship-highlight-title,
.relationship-card-title,
.map-card-kicker,
.map-card-title,
.header-nav a,
.wp-block-navigation-item a,
.wp-block-button__link,
.footer-col-title {
    font-family: 'Manrope', sans-serif;
}

.top-bar {
    background: #1A66C2 !important;
}

.top-bar-inner {
    max-width: 1440px;
    padding: 10px 24px;
}

.top-bar p {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.top-bar-social a {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.site-header {
    background: rgba(245, 250, 255, 0.9) !important;
    border-bottom: 1px solid #DCE3EA;
}

.header-inner {
    max-width: 1440px;
    min-height: 82px;
}

.header-logo img {
    height: 46px;
}

.header-nav .wp-block-navigation__container {
    gap: 28px;
}

.header-nav a,
.wp-block-navigation-item a {
    color: #43474E !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wp-block-navigation-item.current-menu-item a,
.wp-block-navigation-item.current_page_item a {
    color: #1A66C2 !important;
}

.header-nav .paternity-nav-item,
.header-nav .dna-tests-nav-item {
    position: relative;
}

.header-nav .paternity-nav-item > .wp-block-navigation-item__content,
.header-nav .dna-tests-nav-item > .wp-block-navigation-item__content {
    display: inline-flex;
    align-items: center;
}

.header-nav .paternity-nav-item > .wp-block-navigation__submenu-icon,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-icon {
    color: #5D7085;
    width: 11px;
    height: 11px;
    margin-left: 8px;
    padding: 0;
}

.header-nav .paternity-nav-item > .wp-block-navigation__submenu-icon svg,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-icon svg {
    width: 100%;
    height: 100%;
    stroke-width: 2.2;
}

.header-nav .paternity-nav-item > .wp-block-navigation__submenu-container,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-container {
    left: 0;
    top: 100%;
    min-width: 300px;
    padding: 10px 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
    background: #114C98 !important;
    box-shadow: 0 18px 34px rgba(9, 26, 45, 0.24);
    z-index: 50;
}

.header-nav .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 14px 22px !important;
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1.35;
    text-transform: uppercase;
    white-space: normal;
}

.header-nav .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item:not(:last-child) > .wp-block-navigation-item__content,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item:not(:last-child) > .wp-block-navigation-item__content {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.header-nav .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.header-nav .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
    background: #F1F7FF !important;
    color: #6DBD27 !important;
}

.header-nav .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
.header-nav .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus .wp-block-navigation-item__label,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
.header-nav .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus .wp-block-navigation-item__label {
    color: #6DBD27 !important;
}

.header-cta,
.btn-header-phone {
    display: none;
}

@media (max-width: 768px) {
    .site-header {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .header-inner {
        position: relative;
        justify-content: flex-end;
    }

    .header-logo {
        position: absolute;
        top: 50%;
        left: 50%;
        width: max-content;
        margin: 0 !important;
        padding-left: 0 !important;
        transform: translate(-50%, -50%);
        z-index: 1;
    }

    .header-logo .wp-block-image,
    .header-logo figure {
        margin: 0 !important;
    }

    .header-nav-wrap {
        flex: 0 0 auto;
        width: auto;
        margin-left: auto;
        gap: 0;
    }

    .header-nav-wrap .wp-block-navigation {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        width: auto;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-open {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        padding: 0;
        margin: 0;
        border: 0;
        border-radius: 12px;
        background: #1A66C2;
        color: #ffffff;
        box-shadow: 0 10px 24px rgba(17, 76, 152, 0.22);
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-open svg {
        width: 24px;
        height: 24px;
        fill: currentColor;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: stretch !important;
        padding: 0 !important;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        background: rgba(8, 22, 44, 0.28) !important;
        transition: opacity 0.24s ease, visibility 0.24s ease;
        z-index: 9999;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container.is-menu-open,
    .header-nav-wrap .wp-block-navigation__responsive-container.has-modal-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        flex-direction: row !important;
        justify-content: flex-end !important;
    }

    .header-nav-wrap .wp-block-navigation__responsive-close {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: stretch;
    }

    .header-nav-wrap .wp-block-navigation__responsive-dialog {
        position: relative;
        width: min(86vw, 360px);
        max-width: 360px;
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
        margin-left: auto;
        margin-right: 0;
        padding: 22px 18px 28px;
        background: #1A66C2;
        color: #ffffff;
        transform: translateX(100%);
        transition: transform 0.28s ease;
        box-shadow: -18px 0 38px rgba(7, 20, 40, 0.28);
        overflow-y: auto;
        align-self: stretch;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
    .header-nav-wrap .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-dialog {
        transform: translateX(0);
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin-left: auto;
        margin-bottom: 18px;
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.08);
        color: #ffffff;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-close svg {
        fill: currentColor;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content {
        padding: 0;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0 !important;
        width: 100%;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
        width: 100%;
        margin: 0;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 52px;
        padding: 14px 0 !important;
        color: #ffffff !important;
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 0.06em;
        line-height: 1.35;
        text-transform: uppercase;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        white-space: normal;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 54px) !important;
        border-bottom: 0 !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }
    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        min-width: 44px;
        height: 52px;
        margin-left: 10px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #ffffff;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle svg {
        width: 18px;
        height: 18px;
        stroke: currentColor;
        transition: transform 0.2s ease;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle[aria-expanded="true"] svg {
        transform: rotate(180deg);
    }

    .header-nav-wrap .wp-block-navigation__responsive-container .paternity-nav-item,
    .header-nav-wrap .wp-block-navigation__responsive-container .dna-tests-nav-item {
        position: relative;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container .paternity-nav-item > .wp-block-navigation__submenu-container,
    .header-nav-wrap .wp-block-navigation__responsive-container .dna-tests-nav-item > .wp-block-navigation__submenu-container {
        position: static !important;
        left: auto !important;
        top: auto !important;
        min-width: 0 !important;
        padding: 0 0 8px 16px !important;
        margin: 0;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        display: none !important;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container .paternity-nav-item > .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-container,
    .header-nav-wrap .wp-block-navigation__responsive-container .dna-tests-nav-item > .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-container {
        display: block !important;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
    .header-nav-wrap .wp-block-navigation__responsive-container .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        min-height: 44px;
        padding: 12px 0 !important;
        font-size: 12px;
        letter-spacing: 0.08em;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        opacity: 0.96;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
    .header-nav-wrap .wp-block-navigation__responsive-container .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus,
    .header-nav-wrap .wp-block-navigation__responsive-container .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
    .header-nav-wrap .wp-block-navigation__responsive-container .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
        background: transparent !important;
        color: #DFF06B !important;
    }

    .header-nav-wrap .wp-block-navigation__responsive-container .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
    .header-nav-wrap .wp-block-navigation__responsive-container .paternity-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus .wp-block-navigation-item__label,
    .header-nav-wrap .wp-block-navigation__responsive-container .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
    .header-nav-wrap .wp-block-navigation__responsive-container .dna-tests-nav-item > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus .wp-block-navigation-item__label {
        color: #DFF06B !important;
    }
}

.hero-section {
    min-height: 800px;
    padding: 110px 24px 90px !important;
    background-color: #092C4F;
    background-image: url('./images/hero-lab-reference.png');
    background-size: cover;
    background-position: center;
}

.hero-section::before {
    background: linear-gradient(90deg, rgba(9,44,79,0.96) 0%, rgba(9,44,79,0.9) 48%, rgba(9,44,79,0.18) 100%);
}

.hero-inner {
    max-width: 1440px;
    position: relative;
    z-index: 1;
}

.hero-content {
    margin-left: 0;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    margin: 0 0 24px !important;
    padding: 9px 18px;
    border-radius: 999px;
    background: rgba(109,189,39,0.18);
    border: 1px solid rgba(109,189,39,0.7);
    color: #6DBD27 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.hero-title {
    color: #ffffff !important;
    font-size: clamp(3.4rem, 6.2vw, 6.1rem) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.05em;
    margin: 0 0 28px !important;
    max-width: 860px;
}

.hero-body {
    color: #7894BD !important;
    font-size: clamp(1.05rem, 1.4vw, 1.32rem) !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    margin: 0 0 40px !important;
    max-width: 640px;
}

.hero-buttons .wp-block-button__link {
    min-width: 210px;
    justify-content: center;
    box-shadow: 0 18px 40px rgba(9,44,79,0.18);
}

.section-header-centered {
    max-width: 900px;
    margin: 0 auto 64px !important;
}

.section-title {
    color: #1A66C2 !important;
    font-size: clamp(2.4rem, 4vw, 3.6rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.05em;
    margin: 0 0 18px !important;
}

.green-bar {
    width: 96px;
    height: 6px;
    margin: 0 auto !important;
    border-radius: 999px;
    background: #6DBD27;
}

.section-kicker {
    margin: 0 0 18px !important;
    color: #6DBD27 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.section-kicker-light {
    color: #6DBD27 !important;
}

.info-section {
    background: #EDF4FB !important;
    padding: 96px 24px !important;
}

.info-inner {
    max-width: 1440px;
}

.info-card {
    height: 100%;
    padding: 42px !important;
    border-radius: 20px;
    border: 1px solid #DCE3EA;
    box-shadow: 0 10px 40px rgba(9,44,79,0.06);
}

.info-card-hours {
    background: #ffffff !important;
    border-top: 4px solid #1A66C2;
}

.info-card-location {
    background: #ffffff !important;
    border-top: 4px solid #6DBD27;
}

.info-card-kicker,
.map-card-kicker {
    margin: 0 0 14px !important;
    color: #1A66C2 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.info-card-title,
.map-card-title {
    color: #1A66C2 !important;
    font-size: clamp(1.6rem, 2vw, 2.2rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.04em;
    margin: 0 0 18px !important;
}

.info-card-text,
.info-service-text {
    color: #43474E !important;
    font-size: 1.08rem !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

.info-location-grid {
    align-items: flex-start;
}

.info-service-box {
    height: 100%;
    padding: 26px !important;
    border-left: 4px solid #1A66C2;
    border-radius: 14px;
    background: rgba(26,102,194,0.05) !important;
}

.info-service-label {
    margin: 0 0 12px !important;
    color: #1A66C2 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.services-section {
    background: #F5FAFF !important;
    padding: 120px 24px !important;
}

.services-inner,
.relationship-inner,
.testimonials-inner {
    max-width: 1440px;
}

.services-grid {
    align-items: stretch;
}

.service-card {
    height: 100%;
    background: #ffffff !important;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #DCE3EA !important;
    box-shadow: 0 8px 30px rgba(9,44,79,0.05);
}

.service-card:hover {
    border-color: #1A66C2 !important;
    transform: translateY(-6px);
}

.service-card-image,
.service-card-image img {
    margin: 0 !important;
}

.service-card-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.service-card-body {
    padding: 24px !important;
}

.service-card-title {
    color: #1A66C2 !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.03em;
    margin: 0 0 14px !important;
}

.service-card-copy {
    color: #43474E !important;
    font-size: 0.98rem !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

.relationship-section {
    background: #EDF4FB !important;
    padding: 118px 24px !important;
}

.relationship-top {
    align-items: stretch;
    margin-bottom: 54px !important;
}

.relationship-kicker {
    margin: 0 0 18px !important;
    color: #7FBE45 !important;
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.relationship-title {
    color: #1A66C2 !important;
    font-size: clamp(2.25rem, 3.8vw, 3.85rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.055em;
    margin: 0 0 22px !important;
}

.relationship-title-accent {
    color: #6DBD27;
}

.relationship-copy {
    max-width: 500px;
    color: #43474E !important;
    font-size: 1rem !important;
    line-height: 1.82 !important;
    margin: 0 0 28px !important;
}

.relationship-feature-card {
    position: relative;
    margin-bottom: 16px !important;
    padding: 18px 20px 18px 72px !important;
    border-radius: 12px;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(32,72,120,0.06);
    border-left: 4px solid #1A66C2;
}

.relationship-feature-card::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 18px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background-color: #EFF5FE;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
}

.relationship-feature-card-blue::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A66C2' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='7' r='2'/%3E%3Ccircle cx='17' cy='7' r='2'/%3E%3Ccircle cx='12' cy='10.5' r='2'/%3E%3Cpath d='M4.5 18v-1c0-1.8 1.2-3 3-3'/%3E%3Cpath d='M19.5 18v-1c0-1.8-1.2-3-3-3'/%3E%3Cpath d='M9 18v-1.2c0-1.9 1.3-3.3 3-3.3s3 1.4 3 3.3V18'/%3E%3C/svg%3E");
}

.relationship-feature-card-green {
    border-left-color: #6DBD27;
}

.relationship-feature-card-green::before {
    background-color: #F0F8E9;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236DBD27' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s5-4.6 5-10a5 5 0 1 0-10 0c0 5.4 5 10 5 10Z'/%3E%3Ccircle cx='12' cy='11' r='1.8'/%3E%3C/svg%3E");
}

.relationship-feature-title {
    color: #1A66C2 !important;
    font-size: 1.26rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.03em;
    margin: 0 0 8px !important;
}

.relationship-feature-copy {
    color: #43474E !important;
    font-size: 0.92rem !important;
    line-height: 1.72 !important;
    margin: 0 !important;
}

.relationship-visual {
    position: relative;
    min-height: 410px;
    border-radius: 0 0 22px 22px;
    overflow: hidden;
    background: linear-gradient(180deg, #EAF3FF 0%, #BED6F6 54%, #7DA8E4 100%) !important;
    box-shadow: 0 26px 58px rgba(50,96,154,0.22);
}

.relationship-visual::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 55% 14%, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0) 32%),
        radial-gradient(circle at 70% 42%, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0) 38%),
        linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 44%, rgba(59,113,184,0.2) 100%);
    pointer-events: none;
}

.relationship-visual-glow {
    min-height: 410px;
}

.relationship-visual-filler {
    margin: 0 !important;
    min-height: 410px;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 0;
}

.relationship-metric-card {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 22px;
    z-index: 2;
    width: auto;
    padding: 18px 22px !important;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
}

.relationship-metric-grid {
    align-items: center;
    margin-bottom: 8px !important;
}

.relationship-metric-number {
    margin: 0 !important;
    color: #D2FF68 !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.04em;
}

.relationship-metric-label {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 0.7rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    line-height: 1.45 !important;
}

.relationship-metric-copy {
    margin: 0 !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 0.67rem !important;
    line-height: 1.45 !important;
}

.relationship-grid .wp-block-column {
    display: flex;
}

.relationship-card {
    position: relative;
    width: 100%;
    padding: 68px 18px 18px !important;
    border-radius: 16px;
    background: #ffffff !important;
    border: 1px solid rgba(185,204,224,0.72);
    box-shadow: 0 8px 18px rgba(49,88,137,0.04);
}

.relationship-card::before {
    content: '';
    position: absolute;
    top: 18px;
    left: 18px;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
}

.relationship-card-sibling::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A66C2' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='2'/%3E%3Ccircle cx='16' cy='8' r='2'/%3E%3Ccircle cx='12' cy='12' r='1.7'/%3E%3Cpath d='M4.8 18v-1.2c0-1.8 1.2-3 3-3'/%3E%3Cpath d='M19.2 18v-1.2c0-1.8-1.2-3-3-3'/%3E%3Cpath d='M9.2 18v-.9c0-1.4 1.1-2.6 2.8-2.6s2.8 1.2 2.8 2.6v.9'/%3E%3C/svg%3E");
}

.relationship-card-grandparent::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A66C2' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='8' r='2'/%3E%3Ccircle cx='17' cy='8' r='2'/%3E%3Cpath d='M4.5 18v-1.1c0-1.8 1.1-3 2.9-3'/%3E%3Cpath d='M19.5 18v-1.1c0-1.8-1.1-3-2.9-3'/%3E%3Cpath d='M9.8 11.5h4.4'/%3E%3Cpath d='M12 10v3'/%3E%3C/svg%3E");
}

.relationship-card-avuncular::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A66C2' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='2'/%3E%3Ccircle cx='17.2' cy='11.5' r='1.7'/%3E%3Cpath d='M8.6 18v-1.2c0-1.9 1.3-3.2 3.4-3.2s3.4 1.3 3.4 3.2V18'/%3E%3Cpath d='M14.9 18v-1c0-1.2.9-2.2 2.3-2.2s2.3 1 2.3 2.2v1'/%3E%3C/svg%3E");
}

.relationship-card-title,
.relationship-card-copy,
.relationship-card-placeholder {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.relationship-card-title {
    color: #1A66C2 !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em;
    margin: 0 0 12px !important;
}

.relationship-card-copy {
    color: #43474E !important;
    font-size: 0.86rem !important;
    line-height: 1.72 !important;
    margin: 0 !important;
    min-height: 122px;
}

.relationship-card-placeholder {
    border-radius: 10px;
    background: #EFF1F4 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}

.testimonials-section {
    background: #092C4F !important;
    padding: 128px 24px !important;
}

.testimonials-heading-row {
    align-items: end;
    margin-bottom: 56px !important;
}

.testimonials-title {
    color: #ffffff !important;
    font-size: clamp(2.4rem, 4vw, 4rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.05em;
    line-height: 1.06 !important;
    margin: 0 !important;
    max-width: 760px;
}

.testimonials-nav-wrap {
    gap: 14px;
}

.testimonials-nav-button {
    margin: 0 !important;
}

.testimonials-nav-button a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.2);
    color: #ffffff;
    text-decoration: none;
    font-size: 1.25rem;
    transition: background 0.2s, border-color 0.2s;
}

.testimonials-nav-button a:hover {
    background: #1A66C2;
    border-color: #1A66C2;
}

.testimonials-grid {
    align-items: stretch;
}

.testimonial-card {
    height: 100%;
    padding: 38px !important;
    border-radius: 24px;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
}

.testimonial-card-featured {
    position: relative;
    margin-top: -18px !important;
    background: rgba(255,255,255,0.1) !important;
    border-color: rgba(26,102,194,0.7);
    box-shadow: 0 20px 48px rgba(0,0,0,0.18);
}

.testimonial-quote-mark {
    position: absolute;
    top: 8px;
    right: 28px;
    margin: 0 !important;
    color: rgba(109,189,39,0.28) !important;
    font-size: 5rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.testimonial-stars {
    color: #6DBD27 !important;
    font-size: 1.1rem !important;
    letter-spacing: 0.2em;
    margin: 0 0 22px !important;
}

.testimonial-quote {
    color: rgba(255,255,255,0.82) !important;
    font-size: 1.08rem !important;
    line-height: 1.9 !important;
    font-style: italic;
    margin: 0 0 30px !important;
}

.testimonial-quote-featured {
    color: #ffffff !important;
    font-size: 1.16rem !important;
    font-style: normal;
    font-weight: 500 !important;
}

.testimonial-name {
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.testimonial-role {
    color: #6DBD27 !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.map-section {
    background: #F5FAFF !important;
    padding: 0 !important;
}

.map-stage {
    position: relative;
    max-width: 100%;
}

.map-image,
.map-image img {
    margin: 0 !important;
}

.map-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.8s;
}

.map-stage:hover .map-image img {
    filter: grayscale(0%);
}

.map-card {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(380px, calc(100% - 48px));
    padding: 30px !important;
    border-top: 4px solid #1A66C2;
    border-radius: 18px;
    background: #ffffff !important;
    box-shadow: 0 26px 60px rgba(9,44,79,0.14);
}

.map-card-copy {
    color: #43474E !important;
    font-size: 0.94rem !important;
    line-height: 1.8 !important;
    margin: 0 0 22px !important;
}

.map-card-cta {
    margin: 0 !important;
}

.map-card-cta a {
    display: block;
    padding: 14px 18px;
    border-radius: 10px;
    background: #1A66C2;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    font-family: 'Manrope', sans-serif;
    font-size: 0.92rem;
    font-weight: 800;
    transition: background 0.2s;
}

.map-card-cta a:hover {
    background: #6DBD27;
}

.site-footer {
    padding: 88px 24px 40px !important;
    background: #EDF4FB !important;
}

.footer-inner {
    max-width: 1440px;
}

.footer-desc,
.footer-links a,
.footer-contact-item,
.footer-copyright {
    font-family: 'Inter', sans-serif;
}

@media (max-width: 1100px) {
    .relationship-top,
    .testimonials-heading-row,
    .info-grid,
    .services-grid,
    .relationship-grid,
    .testimonials-grid {
        flex-wrap: wrap !important;
    }

    .relationship-top > .wp-block-column,
    .testimonials-heading-row > .wp-block-column {
        flex-basis: 100% !important;
    }

    .relationship-grid > .wp-block-column,
    .testimonials-grid > .wp-block-column {
        flex-basis: calc(50% - 12px) !important;
    }
}

@media (max-width: 768px) {
    .top-bar-inner {
        padding: 10px 4%;
    }

    .top-bar-phones {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .top-bar p {
        font-size: 10px;
        letter-spacing: 0.12em;
    }

    .header-inner {
        min-height: 68px;
        padding: 0 4%;
        gap: 16px;
    }

    .header-logo img {
        height: 38px;
    }

    .hero-section {
        min-height: 620px;
        padding: 76px 4% 64px !important;
    }

    .hero-title {
        font-size: 3rem !important;
        line-height: 1.08 !important;
    }

    .hero-body {
        font-size: 1rem !important;
        line-height: 1.7 !important;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .hero-buttons .wp-block-button,
    .hero-buttons .wp-block-button__link {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .info-grid > .wp-block-column,
    .services-grid > .wp-block-column,
    .relationship-grid > .wp-block-column,
    .testimonials-grid > .wp-block-column {
        flex-basis: 100% !important;
    }

    .info-card,
    .testimonial-card,
    .testimonial-card-featured,
    .relationship-feature-card,
    .relationship-card,
    .map-card {
        padding: 26px !important;
    }

    .testimonial-card-featured {
        margin-top: 0 !important;
    }

    .relationship-metric-card {
        left: 20px;
        right: 20px;
        bottom: 20px;
        width: calc(100% - 40px);
    }

    .relationship-visual,
    .relationship-visual-glow,
    .relationship-visual-filler,
    .relationship-visual-photo img {
        min-height: 360px;
    }

    .relationship-feature-card {
        padding-left: 68px !important;
    }

    .relationship-card {
        padding-top: 64px !important;
    }

    .relationship-card-copy {
        min-height: 0;
    }

    .map-image img {
        height: 380px;
    }

    .map-card {
        position: static;
        transform: none;
        margin: -42px auto 0 !important;
        width: calc(100% - 32px);
    }

    .site-footer {
        padding-top: 72px !important;
    }
}

@media (max-width: 600px) {
    .hero-title {
        font-size: 2.35rem !important;
    }

    .section-title,
    .testimonials-title,
    .relationship-title {
        font-size: 2rem !important;
    }

    .hero-badge,
    .section-kicker,
    .relationship-kicker,
    .info-card-kicker,
    .info-service-label,
    .map-card-kicker {
        font-size: 0.7rem !important;
        letter-spacing: 0.12em;
    }

    .hero-buttons .wp-block-button__link {
        min-width: 0;
        padding: 13px 22px !important;
        font-size: 0.95rem !important;
    }

    .top-bar-social {
        display: none !important;
    }

    .relationship-feature-card {
        padding: 18px 18px 18px 68px !important;
    }

    .relationship-feature-title {
        font-size: 1.08rem !important;
    }

    .relationship-feature-copy,
    .relationship-card-copy {
        font-size: 0.83rem !important;
        line-height: 1.68 !important;
    }

    .relationship-visual,
    .relationship-visual-glow,
    .relationship-visual-filler {
        min-height: 300px;
    }

    .relationship-metric-number {
        font-size: 1.9rem !important;
    }

    .relationship-metric-label {
        font-size: 0.62rem !important;
    }

    .relationship-metric-copy {
        font-size: 0.64rem !important;
    }

    .whatsapp-float-wrap {
        right: 18px;
        bottom: 18px;
    }
}

/* ===== REFERENCE MATCH OVERRIDES ===== */
html,
body {
    overflow-x: hidden;
}

.hero-section {
    min-height: 720px;
    background-position: right center;
}

.hero-section::before {
    background: linear-gradient(92deg, rgba(9,44,79,0.9) 0%, rgba(9,44,79,0.78) 46%, rgba(9,44,79,0.38) 100%);
}

.hero-inner {
    max-width: 1440px;
}

.hero-content {
    max-width: 630px;
    padding-top: 18px;
}

.hero-title {
    max-width: 700px;
}

.relationship-top {
    margin-bottom: 36px !important;
}

.relationship-copy {
    max-width: 520px;
}

.relationship-visual {
    min-height: 445px;
    border-radius: 20px;
    background: linear-gradient(180deg, #edf4fb 0%, #d9e6f7 100%) !important;
    box-shadow: 0 24px 54px rgba(24,76,129,0.16);
}

.relationship-visual::before {
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0) 26%),
        linear-gradient(180deg, rgba(9,44,79,0) 48%, rgba(9,44,79,0.2) 100%);
}

.relationship-visual-glow,
.relationship-visual-filler {
    display: none;
}

.relationship-visual-photo {
    position: relative;
    z-index: 0;
    margin: 0 !important;
}

.relationship-visual-photo img {
    width: 100%;
    min-height: 445px;
    object-fit: cover;
    display: block;
}

.relationship-metric-card {
    left: 24px;
    right: 24px;
    bottom: 18px;
    padding: 18px 20px !important;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.25);
    background: linear-gradient(135deg, rgba(26,102,194,0.9) 0%, rgba(95,150,229,0.72) 100%) !important;
    box-shadow: 0 20px 38px rgba(31,88,152,0.22);
}

.relationship-metric-number {
    color: #e4ff9d !important;
}

.relationship-metric-copy {
    color: rgba(255,255,255,0.94) !important;
}

.relationship-card {
    padding: 70px 18px 18px !important;
}

.relationship-card-copy {
    min-height: 126px;
}

.relationship-card-placeholder {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient(180deg, #eef4fb 0%, #dfe9f4 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.95);
}

.relationship-card-placeholder::before,
.relationship-card-placeholder::after {
    content: '';
    position: absolute;
    left: 16px;
    right: 16px;
    border-radius: 999px;
}

.relationship-card-placeholder::before {
    top: 16px;
    height: 10px;
    background: linear-gradient(90deg, rgba(26,102,194,0.9) 0%, rgba(26,102,194,0.9) 35%, rgba(255,255,255,0.75) 35%, rgba(255,255,255,0.75) 100%);
}

.relationship-card-placeholder::after {
    bottom: 16px;
    height: 40px;
    border-radius: 14px;
    background: linear-gradient(120deg, rgba(26,102,194,0.2) 0%, rgba(255,255,255,0.94) 48%, rgba(109,189,39,0.26) 100%);
}

.relationship-card-sibling .relationship-card-placeholder {
    background: linear-gradient(180deg, #eff6ff 0%, #d9e9fb 100%) !important;
}

.relationship-card-grandparent .relationship-card-placeholder {
    background: linear-gradient(180deg, #f4f7fb 0%, #e4edf7 100%) !important;
}

.relationship-card-avuncular .relationship-card-placeholder {
    background: linear-gradient(180deg, #eef4fb 0%, #dce8f7 100%) !important;
}

.testimonial-card {
    border-radius: 22px;
}

.map-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #65c5d1 0%, #4db5c3 100%) !important;
    padding: 28px 24px 0 !important;
}

.map-section::before,
.map-section::after {
    content: '';
    position: absolute;
    inset: auto;
    border-radius: 50%;
    pointer-events: none;
}

.map-section::before {
    width: 340px;
    height: 340px;
    left: -110px;
    bottom: -120px;
    border: 56px solid #ef4f43;
    opacity: 0.96;
}

.map-section::after {
    width: 440px;
    height: 440px;
    right: -180px;
    top: -180px;
    border: 58px solid rgba(255,255,255,0.2);
}

.map-stage {
    position: relative;
    max-width: 1440px;
    min-height: 312px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0 92px !important;
}

.map-stage::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle, rgba(255,255,255,0.95) 0 2px, transparent 2px),
        radial-gradient(circle, rgba(255,255,255,0.95) 0 2px, transparent 2px),
        linear-gradient(#ffffff, #ffffff),
        linear-gradient(#ffffff, #ffffff),
        linear-gradient(#ffffff, #ffffff),
        linear-gradient(#ffffff, #ffffff);
    background-size:
        130px 130px,
        170px 170px,
        18px 2px,
        2px 18px,
        18px 2px,
        2px 18px;
    background-position:
        18% 30%,
        82% 42%,
        11% 72%,
        11% 72%,
        88% 24%,
        88% 24%;
    background-repeat: repeat, repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    opacity: 0.74;
    pointer-events: none;
}

.map-image {
    position: relative;
    z-index: 1;
}

.map-image img {
    width: min(520px, 76vw);
    height: auto;
    object-fit: contain;
    filter: none;
    transition: none;
}

.map-stage:hover .map-image img {
    filter: none;
}

.map-card {
    top: auto;
    bottom: 26px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: min(340px, calc(100% - 48px));
    padding: 22px 22px 20px !important;
    border-top: 0;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 28px 56px rgba(9,44,79,0.16);
}

.map-card-kicker {
    color: #6dbd27 !important;
    margin-bottom: 10px !important;
}

.map-card-title {
    margin-bottom: 10px !important;
    font-size: 1.22rem !important;
}

.map-card-copy {
    margin-bottom: 16px !important;
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
}

.map-card-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 196px;
    border-radius: 999px;
    background: linear-gradient(135deg, #1a66c2 0%, #0b4c96 100%);
    box-shadow: 0 12px 28px rgba(26,102,194,0.22);
}

.footer-grid {
    padding-bottom: 36px;
}

.footer-bottom {
    padding-top: 24px;
}

@media (max-width: 1100px) {
    .hero-section {
        min-height: 660px;
    }

    .relationship-copy {
        max-width: none;
    }
}

@media (max-width: 768px) {
    .hero-section {
        min-height: 580px;
        background-position: 62% center;
    }

    .hero-section::before {
        background: linear-gradient(180deg, rgba(9,44,79,0.88) 0%, rgba(9,44,79,0.7) 100%);
    }

    .relationship-top {
        margin-bottom: 26px !important;
    }

    .relationship-visual,
    .relationship-visual-glow,
    .relationship-visual-filler {
        min-height: 360px;
    }

    .relationship-card-copy {
        min-height: 0;
    }

    .map-section {
        padding: 30px 0 0 !important;
    }

    .map-stage {
        min-height: 290px;
        padding: 0 16px 72px !important;
    }

    .map-section::before {
        width: 240px;
        height: 240px;
        left: -88px;
        bottom: -92px;
        border-width: 38px;
    }

    .map-section::after {
        width: 260px;
        height: 260px;
        right: -130px;
        top: -130px;
        border-width: 34px;
    }

    .map-image img {
        width: min(360px, 82vw);
    }

    .map-card {
        bottom: 18px;
        width: min(320px, calc(100% - 32px));
        padding: 20px 18px !important;
    }
}

@media (max-width: 600px) {
    .hero-section {
        min-height: 520px;
    }

    .hero-title {
        max-width: none;
    }

    .relationship-feature-card {
        padding-right: 18px !important;
    }

    .relationship-visual,
    .relationship-visual-glow,
    .relationship-visual-filler,
    .relationship-visual-photo img {
        min-height: 320px;
    }

    .relationship-metric-card {
        left: 18px;
        right: 18px;
        bottom: 16px;
        padding: 16px !important;
    }

    .map-stage {
        min-height: 260px;
        padding-bottom: 70px !important;
    }

    .map-card-cta a {
        min-width: 0;
        width: 100%;
    }
}

/* ===== PRUEBA DE PATERNIDAD PAGE ===== */
.paternity-page-main {
    padding: 0 !important;
}

.paternity-page {
    background: #ffffff;
}

.paternity-shell {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

.paternity-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #9fd85f !important;
}

.paternity-kicker::before {
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 2px solid currentColor;
    opacity: 0.8;
}

.paternity-kicker-green {
    color: #79c531 !important;
}

.paternity-section {
    padding: 88px 0 !important;
}

.paternity-section-title {
    margin: 0 0 18px !important;
    color: #092c4f !important;
    font-size: clamp(2rem, 3.4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em;
}

.paternity-section-copy {
    margin: 0 !important;
    color: #5d6b7c !important;
    font-size: 1rem !important;
    line-height: 1.78 !important;
}

.paternity-section-copy-wide {
    max-width: 720px;
}

.paternity-btn {
    margin: 0 !important;
}

.paternity-btn .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 172px;
    min-height: 50px;
    padding: 14px 24px !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 0.94rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
}

.paternity-btn .wp-block-button__link:hover {
    opacity: 0.96;
    transform: translateY(-1px);
}

.paternity-btn-blue .wp-block-button__link {
    background: #1a66c2 !important;
    color: #ffffff !important;
}

.paternity-btn-green .wp-block-button__link {
    background: #79c531 !important;
    color: #0c2d52 !important;
}

.paternity-btn-dark .wp-block-button__link {
    background: #0c2d52 !important;
    color: #ffffff !important;
}

.paternity-hero {
    position: relative;
    overflow: hidden;
    background: #0f345b;
}

.paternity-hero::before {
    content: none;
}

.paternity-hero > .kt-row-layout-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(95deg, rgba(10, 42, 77, 0.9) 0%, rgba(10, 42, 77, 0.76) 42%, rgba(10, 42, 77, 0.32) 100%),
        radial-gradient(circle at left center, rgba(63, 138, 205, 0.26) 0%, rgba(63, 138, 205, 0) 46%);
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

.paternity-hero > .kt-row-column-wrap {
    position: relative;
    z-index: 3;
    pointer-events: none;
}

.paternity-hero > .kt-row-column-wrap,
.paternity-hero .paternity-hero-column > .kt-inside-inner-col {
    min-height: 520px;
}

.paternity-hero .paternity-hero-column {
    pointer-events: none;
}

.paternity-hero .paternity-hero-column > .kt-inside-inner-col {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    pointer-events: none;
}

.paternity-hero .kb-blocks-bg-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.paternity-hero .kt-blocks-carousel-init,
.paternity-hero .splide__track,
.paternity-hero .splide__list,
.paternity-hero .splide__slide,
.paternity-hero .kb-bg-slide-contain,
.paternity-hero .kb-bg-slide {
    height: 100%;
}

.paternity-hero .wp-block-cover__background {
    background: transparent !important;
}

.paternity-hero .kb-bg-slide {
    filter: saturate(0.9);
}

.paternity-hero .kb-blocks-bg-slider .splide__pagination {
    display: none !important;
}

.paternity-hero .kb-blocks-bg-slider .splide__arrows {
    display: none !important;
}

.paternity-hero .kb-blocks-bg-slider .splide__arrow {
    display: none !important;
}

.paternity-carousel-controls {
    position: absolute;
    inset: 0;
    z-index: 12;
    pointer-events: none;
}

.paternity-carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 2px solid rgba(255, 255, 255, 0.86);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 10px 28px rgba(8, 28, 55, 0.24);
    pointer-events: auto;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.paternity-carousel-control:hover,
.paternity-carousel-control:focus-visible {
    background: rgba(255, 255, 255, 0.16);
    border-color: #ffffff;
    transform: translateY(-50%) scale(1.04);
}

.paternity-carousel-control span {
    display: block;
    font-size: 2rem;
    line-height: 1;
    margin-top: -3px;
}

.paternity-carousel-control-prev {
    left: 28px;
}

.paternity-carousel-control-next {
    right: 28px;
}

.paternity-hero .wp-block-cover__image-background {
    object-position: center center;
    filter: saturate(0.9);
}

.paternity-hero .paternity-shell {
    position: relative;
    z-index: 5;
    pointer-events: auto;
}

.paternity-hero .paternity-hero-copy,
.paternity-hero .paternity-hero-copy *,
.paternity-hero .paternity-hero-buttons,
.paternity-hero .paternity-hero-buttons * {
    pointer-events: auto;
}

.paternity-hero > .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.paternity-hero-shell {
    width: 100%;
    min-height: 520px;
    display: flex;
    align-items: center;
}

.paternity-hero-copy {
    max-width: 560px;
    padding: 56px 0 48px !important;
}

.paternity-hero-title {
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-size: clamp(2.3rem, 5vw, 4.15rem) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.06em;
}

.paternity-hero-text {
    max-width: 520px;
    margin: 0 0 30px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 1rem !important;
    line-height: 1.82 !important;
}

.paternity-hero-buttons {
    gap: 12px !important;
    margin-bottom: 34px !important;
}

.paternity-hero-metrics {
    gap: 0 !important;
    max-width: 360px;
    margin: 0 !important;
}

.paternity-hero-metrics > .wp-block-column {
    margin: 0 !important;
    padding-right: 22px;
}

.paternity-hero-metrics > .wp-block-column + .wp-block-column {
    padding-left: 22px;
    padding-right: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.paternity-metric-number {
    margin: 0 0 6px !important;
    color: #ffffff !important;
    font-size: 1.55rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.paternity-metric-label {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    line-height: 1.5 !important;
}

.paternity-top-strip {
    position: relative;
    z-index: 4;
    margin-top: -28px;
    padding: 0 0 74px !important;
}

.paternity-top-grid {
    gap: 22px !important;
}

.paternity-top-card {
    position: relative;
    height: 100%;
    padding: 28px 24px 24px 76px !important;
    border: 1px solid #e4ebf3;
    border-radius: 18px;
    background: #ffffff !important;
    box-shadow: 0 20px 40px rgba(9, 44, 79, 0.06);
}

.paternity-top-card::before,
.paternity-top-card::after {
    content: '';
    position: absolute;
    border-radius: 999px;
}

.paternity-top-card::before {
    top: 26px;
    left: 24px;
    width: 34px;
    height: 34px;
    background: linear-gradient(135deg, rgba(26, 102, 194, 0.14), rgba(121, 197, 49, 0.26));
}

.paternity-top-card::after {
    top: 36px;
    left: 34px;
    width: 14px;
    height: 14px;
    background: #1a66c2;
}

.paternity-top-card-legal::after {
    background: #79c531;
}

.paternity-top-card-judicial::after {
    background: #0c2d52;
}

.paternity-top-title {
    margin: 0 0 8px !important;
    color: #092c4f !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.paternity-top-copy {
    margin: 0 !important;
    color: #5d6b7c !important;
    font-size: 0.86rem !important;
    line-height: 1.65 !important;
}

.paternity-private-section {
    padding-top: 0 !important;
}

.paternity-private-grid,
.paternity-section-head,
.paternity-legal-grid,
.paternity-judicial-grid,
.paternity-prenatal-grid,
.paternity-location-grid {
    gap: 24px !important;
}

.paternity-panel,
.paternity-mini-card,
.paternity-legal-card,
.paternity-process-card,
.paternity-prenatal-card {
    position: relative;
    background: #ffffff !important;
    border: 1px solid #e4ebf3;
    border-radius: 20px;
}

.paternity-panel-main {
    padding: 34px 30px 30px !important;
    box-shadow: 0 16px 34px rgba(9, 44, 79, 0.04);
}

.paternity-panel-main::before,
.paternity-mini-card::before,
.paternity-legal-card::before,
.paternity-process-card::before,
.paternity-prenatal-card::before,
.paternity-location-item::before {
    content: '';
    position: absolute;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(26, 102, 194, 0.14), rgba(121, 197, 49, 0.22));
}

.paternity-panel-main::before {
    top: 26px;
    left: 30px;
}

.paternity-panel-main .paternity-section-title {
    padding-top: 44px;
}

.paternity-check-list {
    list-style: none;
    margin: 22px 0 24px !important;
    padding: 0 !important;
}

.paternity-check-list li {
    position: relative;
    margin: 0 0 14px !important;
    padding-left: 30px;
    color: #0f335a;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.5;
}

.paternity-check-list li::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background:
        linear-gradient(135deg, #79c531 0%, #9edb56 100%);
    box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.6);
}

.paternity-single-button {
    margin: 0 !important;
}

.paternity-single-button .paternity-btn {
    width: 100%;
}

.paternity-single-button .wp-block-button__link {
    width: 100%;
}

.paternity-media-stack {
    gap: 18px;
}

.paternity-mini-grid {
    gap: 18px !important;
    margin-bottom: 18px !important;
}

.paternity-mini-card {
    padding: 24px 22px 22px 72px !important;
    min-height: 142px;
}

.paternity-mini-card::before {
    top: 22px;
    left: 22px;
}

.paternity-mini-title {
    margin: 0 0 8px !important;
    color: #092c4f !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
}

.paternity-mini-copy {
    margin: 0 !important;
    color: #5d6b7c !important;
    font-size: 0.86rem !important;
    line-height: 1.7 !important;
}

.paternity-wide-image,
.paternity-visual-image,
.paternity-prenatal-image,
.paternity-location-image {
    margin: 0 !important;
}

.paternity-wide-image img {
    width: 100%;
    min-height: 302px;
    border-radius: 22px;
    object-fit: cover;
    box-shadow: 0 20px 38px rgba(9, 44, 79, 0.06);
}

.paternity-legal-section {
    background: #f7fafc !important;
}

.paternity-section-head {
    align-items: flex-end !important;
    margin-bottom: 34px !important;
}

.paternity-floating-badge {
    margin-left: auto !important;
    max-width: 280px;
    padding: 16px 18px 16px 56px !important;
    border: 1px solid rgba(26, 102, 194, 0.14);
    border-radius: 16px;
    background: rgba(26, 102, 194, 0.05) !important;
    position: relative;
}

.paternity-floating-badge::before {
    content: '';
    position: absolute;
    top: 18px;
    left: 18px;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(26, 102, 194, 0.95), rgba(18, 60, 106, 0.95));
}

.paternity-floating-badge p {
    margin: 0 !important;
    color: #0f335a !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    line-height: 1.55 !important;
}

.paternity-legal-card {
    height: 100%;
    padding: 30px 28px !important;
}

.paternity-legal-card::before {
    top: 24px;
    left: 28px;
}

.paternity-legal-title {
    margin: 0 0 14px !important;
    padding-top: 44px;
    color: #092c4f !important;
    font-size: 1.18rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.paternity-legal-copy {
    margin: 0 !important;
    color: #5d6b7c !important;
    font-size: 0.9rem !important;
    line-height: 1.75 !important;
}

.paternity-legal-foot {
    margin: 20px 0 0 !important;
    padding-top: 18px;
    border-top: 1px solid #e4ebf3;
    color: #0f335a !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.paternity-legal-card-featured {
    background: linear-gradient(180deg, #133c69 0%, #0d3158 100%) !important;
    border: none;
    box-shadow: 0 20px 42px rgba(12, 45, 82, 0.18);
}

.paternity-legal-card-featured::before {
    background: linear-gradient(135deg, rgba(121, 197, 49, 0.45), rgba(255, 255, 255, 0.18));
}

.paternity-legal-card-featured .paternity-legal-title,
.paternity-legal-card-featured .paternity-legal-copy,
.paternity-legal-card-featured li,
.paternity-legal-card-featured strong {
    color: #ffffff !important;
}

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

.paternity-legal-list li {
    position: relative;
    margin: 0 0 18px !important;
    padding-left: 22px;
    font-size: 0.92rem !important;
    line-height: 1.7 !important;
}

.paternity-legal-list li:last-child {
    margin-bottom: 0 !important;
}

.paternity-legal-list li::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #79c531;
}

.paternity-legal-pill {
    display: inline-flex;
    margin: 22px 0 0 !important;
    padding: 8px 12px !important;
    border-radius: 999px;
    background: #f3f6fb !important;
    color: #0f335a !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.paternity-visual-wrap {
    position: relative;
    padding: 0 18px 18px 0 !important;
}

.paternity-visual-wrap::before {
    content: '';
    position: absolute;
    inset: 18px 0 0 18px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(9, 44, 79, 0.06) 0%, rgba(9, 44, 79, 0) 100%);
}

.paternity-visual-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 430px;
    border-radius: 22px;
    object-fit: cover;
    box-shadow: 0 18px 36px rgba(9, 44, 79, 0.08);
}

.paternity-judicial-stat {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 136px;
    padding: 16px 16px 14px !important;
    border-radius: 14px;
    background: linear-gradient(180deg, #174d8b 0%, #0f3865 100%) !important;
    box-shadow: 0 18px 36px rgba(15, 56, 101, 0.22);
}

.paternity-judicial-stat-number {
    margin: 0 0 4px !important;
    color: #ffffff !important;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.paternity-judicial-stat-copy {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 0.66rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1.45 !important;
}

.paternity-process-card {
    margin-top: 16px !important;
    padding: 22px 22px 22px 74px !important;
}

.paternity-process-card::before {
    top: 22px;
    left: 22px;
}

.paternity-process-title {
    margin: 0 0 6px !important;
    color: #092c4f !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
}

.paternity-process-copy {
    margin: 0 !important;
    color: #5d6b7c !important;
    font-size: 0.88rem !important;
    line-height: 1.68 !important;
}

.paternity-note-card {
    margin-top: 18px !important;
    padding: 16px 18px !important;
    border-left: 4px solid #79c531;
    border-radius: 0 14px 14px 0;
    background: #f3f9ec !important;
}

.paternity-note-card p {
    margin: 0 !important;
    color: #5d6b7c !important;
    font-size: 0.86rem !important;
    line-height: 1.72 !important;
}

.paternity-prenatal-section {
    background: #ffffff !important;
}

.paternity-prenatal-features {
    gap: 18px !important;
    margin-top: 24px !important;
    margin-bottom: 18px !important;
}

.paternity-prenatal-card {
    padding: 20px 18px 20px 68px !important;
}

.paternity-prenatal-card::before {
    top: 18px;
    left: 18px;
}

.paternity-prenatal-card-speed {
    margin-top: 0 !important;
}

.paternity-prenatal-title {
    margin: 0 0 6px !important;
    color: #092c4f !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
}

.paternity-prenatal-copy {
    margin: 0 !important;
    color: #5d6b7c !important;
    font-size: 0.84rem !important;
    line-height: 1.68 !important;
}

.paternity-prenatal-image-wrap {
    position: relative;
    padding: 16px !important;
}

.paternity-prenatal-image-wrap::before {
    content: '';
    position: absolute;
    inset: 8px 18px 18px 0;
    border-radius: 26px;
    background: #f1f5fa;
    transform: rotate(-3deg);
}

.paternity-prenatal-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 420px;
    border-radius: 26px;
    object-fit: cover;
    box-shadow: 0 20px 44px rgba(9, 44, 79, 0.08);
}

.paternity-location-section {
    padding-top: 8px !important;
}

.paternity-location-grid {
    gap: 0 !important;
}

.paternity-location-card {
    height: 100%;
}

.paternity-location-copy {
    padding: 34px 30px !important;
    border-radius: 22px 0 0 22px;
    background: linear-gradient(180deg, #12375f 0%, #0c2d52 100%) !important;
}

.paternity-location-title {
    margin: 0 0 14px !important;
    color: #ffffff !important;
    font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.04em;
}

.paternity-location-text {
    margin: 0 0 24px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 0.92rem !important;
    line-height: 1.76 !important;
}

.paternity-location-item {
    position: relative;
    margin-bottom: 16px !important;
    padding: 12px 12px 12px 62px !important;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06) !important;
}

.paternity-location-item::before {
    top: 14px;
    left: 14px;
    background: linear-gradient(135deg, rgba(121, 197, 49, 0.34), rgba(255, 255, 255, 0.14));
}

.paternity-location-item-title {
    margin: 0 0 2px !important;
    color: #ffffff !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
}

.paternity-location-item-copy {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.62) !important;
    font-size: 0.78rem !important;
    line-height: 1.6 !important;
}

.paternity-location-btn {
    margin-top: 10px !important;
}

.paternity-location-btn .wp-block-button__link {
    min-width: 220px;
}

.paternity-location-map {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px !important;
    border-radius: 0 22px 22px 0;
    background: #eef1f4 !important;
    overflow: hidden;
}

.paternity-location-image img {
    width: min(100%, 420px);
    height: auto;
    object-fit: contain;
    filter: grayscale(1) saturate(0) brightness(1.12);
}

@media (max-width: 1100px) {
    .paternity-top-grid,
    .paternity-private-grid,
    .paternity-legal-grid,
    .paternity-judicial-grid,
    .paternity-prenatal-grid,
    .paternity-location-grid {
        flex-wrap: wrap !important;
    }

    .paternity-private-grid > .wp-block-column,
    .paternity-judicial-grid > .wp-block-column,
    .paternity-prenatal-grid > .wp-block-column,
    .paternity-location-grid > .wp-block-column {
        flex-basis: 100% !important;
    }

    .paternity-location-copy {
        border-radius: 22px 22px 0 0;
    }

    .paternity-location-map {
        border-radius: 0 0 22px 22px;
    }
}

@media (max-width: 768px) {
    .paternity-shell {
        padding: 0 16px;
    }

    .paternity-section {
        padding: 68px 0 !important;
    }

    .paternity-hero {
        min-height: 500px !important;
    }

    .paternity-hero > .kt-row-layout-overlay {
        background: linear-gradient(180deg, rgba(10, 42, 77, 0.88) 0%, rgba(10, 42, 77, 0.62) 100%);
    }

    .paternity-hero-shell {
        min-height: 500px;
    }

    .paternity-hero-copy {
        max-width: none;
        padding: 52px 0 40px !important;
    }

    .paternity-hero-buttons {
        flex-direction: column;
    }

    .paternity-hero-buttons .wp-block-button,
    .paternity-hero-buttons .wp-block-button__link {
        width: 100%;
    }

    .paternity-hero-metrics {
        max-width: none;
    }

    .paternity-carousel-control {
        top: 35%;
        width: 44px;
        height: 44px;
    }

    .paternity-carousel-control span {
        font-size: 1.5rem;
    }

    .paternity-carousel-control-prev {
        left: 14px;
    }

    .paternity-carousel-control-next {
        right: 14px;
    }

    .paternity-top-strip {
        margin-top: -18px;
        padding-bottom: 58px !important;
    }

    .paternity-top-card,
    .paternity-panel-main,
    .paternity-mini-card,
    .paternity-legal-card,
    .paternity-process-card,
    .paternity-prenatal-card,
    .paternity-location-copy,
    .paternity-location-map {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .paternity-panel-main,
    .paternity-legal-card {
        padding-top: 26px !important;
    }

    .paternity-panel-main::before,
    .paternity-legal-card::before {
        top: 20px;
        left: 20px;
    }

    .paternity-panel-main .paternity-section-title,
    .paternity-legal-title {
        padding-top: 48px;
    }

    .paternity-mini-card,
    .paternity-process-card,
    .paternity-prenatal-card,
    .paternity-location-item {
        padding-left: 68px !important;
    }

    .paternity-mini-card::before,
    .paternity-process-card::before,
    .paternity-prenatal-card::before,
    .paternity-location-item::before {
        left: 18px;
    }

    .paternity-wide-image img,
    .paternity-prenatal-image img {
        min-height: 300px;
    }

    .paternity-visual-image img {
        min-height: 320px;
    }

    .paternity-judicial-stat {
        right: 12px;
        bottom: 12px;
    }

    .paternity-location-map {
        padding: 22px !important;
    }
}

@media (max-width: 600px) {
    .paternity-kicker {
        font-size: 0.66rem !important;
        letter-spacing: 0.14em;
    }

    .paternity-hero-title {
        font-size: 2.35rem !important;
        line-height: 1.04 !important;
    }

    .paternity-hero-text,
    .paternity-section-copy {
        font-size: 0.92rem !important;
        line-height: 1.72 !important;
    }

    .paternity-btn .wp-block-button__link {
        min-width: 0;
        width: 100%;
        font-size: 0.92rem !important;
    }

    .paternity-hero-metrics > .wp-block-column,
    .paternity-hero-metrics > .wp-block-column + .wp-block-column {
        padding-left: 0;
        padding-right: 0;
        border-left: 0;
    }

    .paternity-hero-metrics {
        gap: 16px !important;
    }

    .paternity-top-card {
        padding: 22px 18px 18px 66px !important;
    }

    .paternity-top-card::before {
        top: 20px;
        left: 18px;
    }

    .paternity-top-card::after {
        top: 30px;
        left: 28px;
    }

    .paternity-section {
        padding: 54px 0 !important;
    }

    .paternity-panel-main,
    .paternity-legal-card,
    .paternity-location-copy,
    .paternity-location-map {
        padding: 22px 18px !important;
    }

    .paternity-panel-main::before,
    .paternity-legal-card::before {
        left: 18px;
    }

    .paternity-panel-main .paternity-section-title,
    .paternity-legal-title {
        padding-top: 46px;
    }

    .paternity-mini-card,
    .paternity-process-card,
    .paternity-prenatal-card,
    .paternity-location-item {
        padding: 18px 16px 18px 62px !important;
    }

    .paternity-mini-card::before,
    .paternity-process-card::before,
    .paternity-prenatal-card::before,
    .paternity-location-item::before {
        left: 14px;
        width: 34px;
        height: 34px;
    }

    .paternity-wide-image img,
    .paternity-prenatal-image img,
    .paternity-visual-image img {
        min-height: 260px;
    }

    .paternity-judicial-stat {
        width: 124px;
        padding: 14px 12px !important;
    }

    .paternity-judicial-stat-number {
        font-size: 1.4rem !important;
    }

    .paternity-judicial-stat-copy {
        font-size: 0.62rem !important;
    }

    .paternity-location-btn .wp-block-button__link {
        min-width: 0;
    }
}

/* ===== DNA TESTS PAGE ===== */
html,
body {
    overflow-x: hidden;
}

.dna-tests-page-main,
.dna-tests-page-main .entry-content {
    background: #f5faff;
}

.dna-tests-page-main .entry-content > .kb-row-layout-wrap {
    margin: 0;
}

.dna-tests-row .kt-row-column-wrap {
    width: min(100%, 1180px);
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.dna-tests-row .wp-block-kadence-column {
    min-width: 0;
}

.dna-tests-row .kt-inside-inner-col {
    min-height: 100%;
}

.dna-tests-kicker {
    margin: 0 0 20px !important;
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid rgba(109, 189, 39, 0.42);
    background: rgba(255, 255, 255, 0.08);
    color: #cbffa9;
    font-size: 0.78rem !important;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.dna-tests-hero-row {
    background-color: #092c4f;
}

.dna-tests-hero-row .kt-row-column-wrap {
    min-height: 540px;
}

.dna-tests-hero-col > .kt-inside-inner-col {
    max-width: 630px;
    padding: 84px 0 76px !important;
}

.dna-tests-hero-title {
    margin: 0 0 18px !important;
    color: #ffffff;
    font-size: clamp(3.3rem, 6vw, 5rem) !important;
    font-weight: 800;
    line-height: 0.98 !important;
    letter-spacing: -0.05em;
}

.dna-tests-accent {
    color: #84d728;
}

.dna-tests-hero-copy {
    margin: 0 0 30px !important;
    max-width: 560px;
    color: rgba(245, 250, 255, 0.88);
    font-size: 1.1rem !important;
    line-height: 1.72 !important;
}

.dna-tests-hero-buttons,
.dna-tests-cta-buttons,
.dna-tests-profile-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.dna-tests-hero-buttons .kb-button,
.dna-tests-cta-buttons .kb-button,
.dna-tests-profile-buttons .kb-button {
    margin: 0 !important;
}

.dna-tests-hero-buttons .kt-button,
.dna-tests-cta-buttons .kt-button,
.dna-tests-profile-buttons .kt-button {
    min-height: 56px;
    padding: 0 26px !important;
    border-radius: 14px !important;
    text-decoration: none;
    box-shadow: none;
}

.dna-tests-section-title {
    margin: 0 0 18px !important;
    color: #092c4f;
    font-size: clamp(2rem, 3.4vw, 3rem) !important;
    font-weight: 800;
    line-height: 1.05 !important;
    letter-spacing: -0.04em;
}

.dna-tests-section-copy,
.dna-tests-centered-copy,
.dna-tests-feature-copy,
.dna-tests-step-copy,
.dna-tests-card-copy {
    margin: 0;
    color: #5f6f84;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

.dna-tests-intro-row .kt-row-column-wrap {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 56px;
    align-items: center;
}

.dna-tests-media-wrap {
    position: relative;
    padding-right: 40px;
}

.dna-tests-intro-image,
.dna-tests-intro-image .kb-img {
    width: 100%;
}

.dna-tests-intro-image .kb-img {
    min-height: 360px;
    border-radius: 36px;
    object-fit: cover;
    box-shadow: 0 32px 60px rgba(8, 35, 61, 0.18);
}

.dna-tests-precision-badge {
    position: absolute;
    right: 0;
    bottom: -24px;
    min-width: 170px;
    padding: 16px 18px !important;
    border-radius: 22px;
    background: #84d728;
    box-shadow: 0 18px 42px rgba(108, 189, 39, 0.24);
}

.dna-tests-precision-number {
    margin: 0 0 3px !important;
    color: #ffffff;
    font-size: 1.9rem !important;
    font-weight: 800;
    line-height: 1 !important;
}

.dna-tests-precision-label {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.72rem !important;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.dna-tests-intro-copy > .kt-inside-inner-col {
    padding-right: 6px;
}

.dna-tests-intro-stats .kt-row-column-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

.dna-tests-stat-card > .kt-inside-inner-col {
    position: relative;
    padding: 24px 22px 24px 26px !important;
    border-top: 1px solid #d8e4f0;
}

.dna-tests-stat-card > .kt-inside-inner-col::before {
    content: "";
    position: absolute;
    left: 0;
    top: 28px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #84d728;
}

.dna-tests-stat-title {
    margin: 0 0 8px !important;
    color: #092c4f;
    font-size: 1.02rem !important;
    font-weight: 800;
}

.dna-tests-stat-copy {
    margin: 0 !important;
    color: #627489;
    font-size: 0.94rem !important;
    line-height: 1.7 !important;
}

.dna-tests-modal-intro-col > .kt-inside-inner-col {
    text-align: center;
}

.dna-tests-centered-title {
    margin-bottom: 10px !important;
}

.dna-tests-centered-copy {
    max-width: 640px;
    margin: 0 auto !important;
    text-align: center;
}

.dna-tests-card-grid-row .kt-row-column-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.dna-tests-card > .kt-inside-inner-col {
    position: relative;
    padding: 92px 28px 28px !important;
    border: 1px solid #e1eaf3;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(11, 47, 82, 0.07);
}

.dna-tests-card > .kt-inside-inner-col::before,
.dna-tests-feature-card > .kt-inside-inner-col::before {
    content: "";
    position: absolute;
    left: 28px;
    top: 28px;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(107, 146, 255, 0.12) 0%, rgba(132, 215, 40, 0.18) 100%);
    border: 1px solid rgba(9, 44, 79, 0.08);
}

.dna-tests-card-title,
.dna-tests-feature-title,
.dna-tests-step-title {
    margin: 0 0 10px !important;
    color: #092c4f;
    font-size: 1.32rem !important;
    font-weight: 800;
    line-height: 1.16 !important;
}

.dna-tests-feature-row .kt-row-column-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.56fr) minmax(0, 1fr);
    gap: 24px;
}

.dna-tests-feature-card > .kt-inside-inner-col {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    padding: 96px 30px 34px !important;
    border-radius: 28px;
}

.dna-tests-feature-card-blue > .kt-inside-inner-col {
    background:
        linear-gradient(135deg, rgba(9, 44, 79, 0.96) 0%, rgba(20, 39, 109, 0.92) 100%),
        url('./images/dna-tests-page/lineage-reference.jpg') center/cover no-repeat;
}

.dna-tests-feature-card-green > .kt-inside-inner-col {
    background: linear-gradient(135deg, #84d728 0%, #6dbd27 100%);
}

.dna-tests-feature-card .dna-tests-feature-title,
.dna-tests-feature-card .dna-tests-feature-copy {
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.dna-tests-feature-card-blue > .kt-inside-inner-col::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(9, 44, 79, 0.96) 0%, rgba(9, 44, 79, 0.78) 50%, rgba(9, 44, 79, 0.12) 100%);
}

.dna-tests-feature-card-blue .dna-tests-feature-title,
.dna-tests-feature-card-blue .dna-tests-feature-copy {
    position: relative;
    z-index: 2;
}

.dna-tests-profile-row .kt-row-column-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 34px;
    align-items: center;
    padding: 38px;
    border: 1px solid #dde8f2;
    border-radius: 34px;
    background: #ffffff;
    box-shadow: 0 20px 48px rgba(10, 42, 77, 0.07);
}

.dna-tests-profile-title {
    max-width: 560px;
}

.dna-tests-check-list {
    margin: 22px 0 24px;
    padding-left: 1.35rem;
    color: #4f647b;
}

.dna-tests-check-list li {
    margin-bottom: 10px;
    line-height: 1.65;
}

.dna-tests-profile-image .kb-img {
    width: 100%;
    min-height: 310px;
    border-radius: 28px;
    object-fit: cover;
}

.dna-tests-process-intro-col > .kt-inside-inner-col {
    max-width: 580px;
}

.dna-tests-process-row .kt-row-column-wrap {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.dna-tests-process-row .kt-row-column-wrap::before {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    top: 32px;
    height: 2px;
    background: linear-gradient(90deg, rgba(9, 44, 79, 0.2) 0%, rgba(50, 152, 254, 0.24) 50%, rgba(109, 189, 39, 0.32) 100%);
}

.dna-tests-step-card > .kt-inside-inner-col {
    position: relative;
    z-index: 1;
    padding: 24px 20px 22px !important;
    border: 1px solid #dfe8f2;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(10, 42, 77, 0.05);
}

.dna-tests-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin: 0 0 18px !important;
    border-radius: 999px;
    background: #092c4f;
    color: #ffffff;
    font-size: 1rem !important;
    font-weight: 800;
}

.dna-tests-step-card-accent .dna-tests-step-number {
    background: #84d728;
    color: #092c4f;
}

.dna-tests-cta-row .kt-row-column-wrap {
    padding: 58px 24px;
}

.dna-tests-cta-col > .kt-inside-inner-col {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 !important;
    text-align: center;
}

.dna-tests-cta-title {
    margin: 0 0 14px !important;
    color: #ffffff;
    font-size: clamp(2.3rem, 4vw, 4rem) !important;
    font-weight: 800;
    line-height: 1.05 !important;
    letter-spacing: -0.04em;
}

.dna-tests-cta-copy {
    max-width: 660px;
    margin: 0 auto 28px !important;
    color: rgba(245, 250, 255, 0.86);
    font-size: 1.06rem !important;
    line-height: 1.7 !important;
}

.dna-tests-cta-buttons {
    justify-content: center;
}

@media (max-width: 1100px) {
    .dna-tests-intro-row .kt-row-column-wrap,
    .dna-tests-feature-row .kt-row-column-wrap,
    .dna-tests-profile-row .kt-row-column-wrap {
        grid-template-columns: 1fr;
    }

    .dna-tests-process-row .kt-row-column-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dna-tests-process-row .kt-row-column-wrap::before {
        display: none;
    }

    .dna-tests-profile-row .kt-row-column-wrap {
        padding: 32px;
    }
}

@media (max-width: 900px) {
    .dna-tests-row .kt-row-column-wrap {
        padding-left: 18px;
        padding-right: 18px;
    }

    .dna-tests-card-grid-row .kt-row-column-wrap {
        grid-template-columns: 1fr;
    }

    .dna-tests-intro-stats .kt-row-column-wrap,
    .dna-tests-process-row .kt-row-column-wrap {
        grid-template-columns: 1fr;
    }

    .dna-tests-hero-col > .kt-inside-inner-col {
        padding: 68px 0 60px !important;
    }

    .dna-tests-hero-buttons .kb-button,
    .dna-tests-cta-buttons .kb-button {
        width: 100%;
    }

    .dna-tests-hero-buttons .kt-button,
    .dna-tests-cta-buttons .kt-button {
        width: 100%;
        justify-content: center;
    }

    .dna-tests-media-wrap {
        padding-right: 0;
        padding-bottom: 20px;
    }

    .dna-tests-precision-badge {
        right: 16px;
        bottom: 0;
    }
}

@media (max-width: 600px) {
    .dna-tests-kicker {
        font-size: 0.68rem !important;
        letter-spacing: 0.14em;
    }

    .dna-tests-hero-row .kt-row-column-wrap {
        min-height: 470px;
    }

    .dna-tests-hero-col > .kt-inside-inner-col {
        max-width: none;
        padding: 58px 0 48px !important;
    }

    .dna-tests-hero-title {
        font-size: 2.45rem !important;
        line-height: 1.02 !important;
    }

    .dna-tests-hero-copy,
    .dna-tests-section-copy,
    .dna-tests-centered-copy,
    .dna-tests-step-copy,
    .dna-tests-card-copy,
    .dna-tests-cta-copy {
        font-size: 0.94rem !important;
        line-height: 1.68 !important;
    }

    .dna-tests-section-title,
    .dna-tests-cta-title {
        font-size: 1.9rem !important;
    }

    .dna-tests-feature-card > .kt-inside-inner-col,
    .dna-tests-card > .kt-inside-inner-col {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .dna-tests-card > .kt-inside-inner-col::before,
    .dna-tests-feature-card > .kt-inside-inner-col::before {
        left: 22px;
    }

    .dna-tests-feature-card > .kt-inside-inner-col {
        padding-top: 86px !important;
    }

    .dna-tests-profile-row .kt-row-column-wrap {
        padding: 22px;
        border-radius: 26px;
    }

    .dna-tests-cta-row .kt-row-column-wrap {
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .dna-tests-precision-badge {
        min-width: 142px;
        padding: 14px 16px !important;
    }

    .dna-tests-precision-number {
        font-size: 1.5rem !important;
    }

    .dna-tests-precision-label {
        font-size: 0.62rem !important;
    }
}

/* ===== SAMPLE TYPES PAGE ===== */
.sample-types-page-main,
.sample-types-page-main .entry-content {
    background: #ffffff;
}

.sample-types-page-main .entry-content > .kb-row-layout-wrap {
    margin: 0;
}

body.page-id-1978 #rpb {
    display: none !important;
}

.sample-types-row {
    --sample-navy: #0d3158;
    --sample-navy-soft: #123d6f;
    --sample-accent: #7acb2f;
    --sample-blue: #2f92fb;
    --sample-surface: #eff5fb;
    --sample-copy: #5e7086;
}

.sample-types-row .kt-row-column-wrap {
    width: min(100%, 1240px);
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.sample-types-row .wp-block-kadence-column {
    min-width: 0;
}

.sample-types-row .kt-inside-inner-col {
    min-height: 100%;
}

.sample-types-section-title,
.sample-types-card-title,
.sample-types-security-item-title {
    margin: 0;
    color: #0d3158;
    font-weight: 800;
    letter-spacing: -0.045em;
}

.sample-types-section-title {
    font-size: clamp(1.85rem, 3vw, 2.7rem) !important;
    line-height: 1.06 !important;
}

.sample-types-section-copy,
.sample-types-card-copy,
.sample-types-security-item-copy-text,
.sample-types-centered-copy,
.sample-types-cta-copy {
    margin: 0;
    color: #5e7086;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

.sample-types-hero-row {
    background-color: #0d3158;
}

.sample-types-hero-row .kt-row-column-wrap {
    width: min(100%, 1440px);
    min-height: 510px;
}

.sample-types-hero-col > .kt-inside-inner-col {
    max-width: 500px;
    padding: 72px 0 58px 54px !important;
}

.sample-types-hero-title {
    margin: 0 0 16px !important;
    color: #ffffff;
    font-size: clamp(2.55rem, 5vw, 4.4rem) !important;
    font-weight: 800;
    line-height: 1 !important;
    letter-spacing: -0.055em;
}

.sample-types-accent {
    color: #7acb2f;
}

.sample-types-hero-copy {
    margin: 0 0 26px !important;
    max-width: 500px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem !important;
    line-height: 1.65 !important;
}

.sample-types-hero-buttons,
.sample-types-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.sample-types-hero-buttons .kb-button,
.sample-types-cta-buttons .kb-button {
    margin: 0 !important;
}

.sample-types-hero-buttons .kt-button,
.sample-types-cta-buttons .kt-button {
    min-height: 50px;
    padding: 0 22px !important;
    border-radius: 14px !important;
    text-decoration: none;
    box-shadow: none;
}

.sample-types-method-row .kt-row-column-wrap {
    width: min(100%, 1140px);
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 0;
    padding-left: 24px;
    padding-right: 24px;
    border: 1px solid #dbe5ef;
    border-radius: 34px;
    background: #ffffff;
    box-shadow: 0 24px 54px rgba(13, 49, 88, 0.08);
    overflow: hidden;
}

.sample-types-method-card {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237acb2f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18h8'/%3E%3Cpath d='M8 22h4'/%3E%3Cpath d='M10 18v-6'/%3E%3Cpath d='M14 10a4 4 0 1 0-8 0'/%3E%3Cpath d='M14 8h3l2 2-3 3h-2'/%3E%3C/svg%3E");
}

.sample-types-method-card > .kt-inside-inner-col,
.sample-types-sample-card > .kt-inside-inner-col {
    position: relative;
}

.sample-types-method-card > .kt-inside-inner-col::before,
.sample-types-sample-card > .kt-inside-inner-col::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 34px;
    height: 34px;
    background: center/contain no-repeat var(--sample-icon);
}

.sample-types-method-card > .kt-inside-inner-col {
    padding: 48px 46px 42px !important;
}

.sample-types-method-title {
    margin: 0 0 12px !important;
    padding-top: 54px;
}

.sample-types-method-kicker {
    margin: 0 0 22px !important;
    color: #7acb2f;
    font-size: 0.8rem !important;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.sample-types-method-copy {
    margin: 0 0 22px !important;
    max-width: 540px;
    font-size: 0.98rem !important;
}

.sample-types-check-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sample-types-check-list li {
    position: relative;
    margin: 0 0 18px;
    padding-left: 42px;
    color: #23364e;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.55;
}

.sample-types-check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237acb2f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 9.2 16.6 19 7.5'/%3E%3C/svg%3E")
        center/14px 14px no-repeat;
    box-shadow: inset 0 0 0 2px rgba(122, 203, 47, 0.36);
}

.sample-types-method-media > .kt-inside-inner-col {
    padding: 0 !important;
}

.sample-types-method-image,
.sample-types-method-image .kb-img {
    width: 100%;
    height: 100%;
}

.sample-types-method-image .kb-img {
    min-height: 440px;
    object-fit: cover;
}

.sample-types-grid-intro-row,
.sample-types-grid-row {
    background: #eff5fb;
}

.sample-types-grid-intro-col > .kt-inside-inner-col {
    text-align: center;
}

.sample-types-centered-title {
    margin: 0 0 14px !important;
}

.sample-types-centered-copy {
    max-width: 740px;
    margin: 0 auto !important;
    text-align: center;
    font-size: 1.08rem !important;
}

.sample-types-grid-row .kt-row-column-wrap {
    width: min(100%, 1140px);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.sample-types-sample-card > .kt-inside-inner-col {
    min-height: 100%;
    padding: 68px 24px 24px !important;
    border: 1px solid #e1eaf3;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(13, 49, 88, 0.06);
}

.sample-types-card-title {
    margin: 0 0 10px !important;
    font-size: 1.08rem !important;
    line-height: 1.16 !important;
}

.sample-types-card-copy {
    font-size: 0.9rem !important;
}

.sample-types-card-brush {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4 8 16'/%3E%3Cpath d='M14 4 20 10'/%3E%3Cpath d='M7 17c-2 0-3 1.5-3 3 1.5 0 3-1 3-3Z'/%3E%3C/svg%3E");
}

.sample-types-card-nails {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='7' r='2'/%3E%3Ccircle cx='17' cy='7' r='2'/%3E%3Cpath d='m9 9 6 6'/%3E%3Cpath d='m15 9-6 6'/%3E%3C/svg%3E");
}

.sample-types-card-gum {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='12' r='3'/%3E%3Ccircle cx='16' cy='8' r='2.5'/%3E%3Ccircle cx='17' cy='16' r='4'/%3E%3C/svg%3E");
}

.sample-types-card-hair {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c3 4 3 8 0 18'/%3E%3Cpath d='M9 9c2 1 4 1 6 0'/%3E%3C/svg%3E");
}

.sample-types-card-blood {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s-5 5.5-5 9a5 5 0 0 0 10 0c0-3.5-5-9-5-9Z'/%3E%3Cpath d='M9.5 13.5c.6 1.2 1.5 1.8 2.5 1.8'/%3E%3C/svg%3E");
}

.sample-types-card-semen {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='11' r='2.5'/%3E%3Cpath d='M10.5 11h7'/%3E%3Cpath d='M17.5 9.5 20 11l-2.5 1.5'/%3E%3C/svg%3E");
}

.sample-types-card-cord {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8a3 3 0 1 1 4 4l-2 2a3 3 0 0 1-4-4'/%3E%3Cpath d='M17 16a3 3 0 1 1-4-4l2-2a3 3 0 0 1 4 4'/%3E%3C/svg%3E");
}

.sample-types-card-ear {
    --sample-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9bff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6c0-2 1.8-3.5 4-3.5S16 4 16 6c0 1.5-.8 2.3-1.7 3-.8.6-1.3 1.2-1.3 2.5'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E");
}

.sample-types-security-row .kt-row-column-wrap {
    width: min(100%, 1140px);
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 44px;
    align-items: center;
}

.sample-types-security-copy-col > .kt-inside-inner-col {
    padding: 0 0 18px !important;
}

.sample-types-security-title {
    margin: 0 0 28px !important;
}

.sample-types-security-item {
    margin-bottom: 22px;
}

.sample-types-security-item .kt-row-column-wrap {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 24px;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    align-items: start;
}

.sample-types-security-index-col > .kt-inside-inner-col,
.sample-types-security-item-copy > .kt-inside-inner-col {
    padding: 0 !important;
}

.sample-types-security-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin: 0 !important;
    border-radius: 22px;
    color: #ffffff;
    font-size: 1.3rem !important;
    font-weight: 800;
    box-shadow: 0 18px 32px rgba(13, 49, 88, 0.14);
}

.sample-types-security-index-1 {
    background: #103761;
}

.sample-types-security-index-2 {
    background: #7acb2f;
}

.sample-types-security-index-3 {
    background: #3f9bff;
}

.sample-types-security-item-title {
    margin: 6px 0 8px !important;
    font-size: 1.02rem !important;
    line-height: 1.18 !important;
}

.sample-types-security-item-copy-text {
    max-width: 470px;
    font-size: 0.92rem !important;
}

.sample-types-security-image .kb-img {
    width: 100%;
    min-height: 410px;
    border-radius: 28px;
    object-fit: cover;
    box-shadow: 0 24px 52px rgba(13, 49, 88, 0.08);
}

.sample-types-cta-row {
    background: #123761;
}

.sample-types-cta-row .kt-row-column-wrap {
    width: min(100%, 1140px);
    padding-top: 58px;
    padding-bottom: 58px;
}

.sample-types-cta-col > .kt-inside-inner-col {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}

.sample-types-cta-title {
    margin: 0 0 18px !important;
    color: #ffffff;
    font-size: clamp(2.2rem, 3.8vw, 3.9rem) !important;
    font-weight: 800;
    line-height: 1.04 !important;
    letter-spacing: -0.05em;
}

.sample-types-cta-copy {
    max-width: 760px;
    margin: 0 auto 32px !important;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1rem !important;
    line-height: 1.68 !important;
}

.sample-types-cta-buttons {
    justify-content: center;
}

.sample-types-cta-buttons .kt-button {
    min-width: 270px;
}

@media (max-width: 1100px) {
    .sample-types-method-row .kt-row-column-wrap,
    .sample-types-security-row .kt-row-column-wrap {
        grid-template-columns: 1fr;
    }

    .sample-types-grid-row .kt-row-column-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sample-types-method-image .kb-img,
    .sample-types-security-image .kb-img {
        min-height: 360px;
    }
}

@media (max-width: 900px) {
    .sample-types-row .kt-row-column-wrap {
        padding-left: 18px;
        padding-right: 18px;
    }

    .sample-types-hero-col > .kt-inside-inner-col {
        max-width: 420px;
        padding: 54px 0 44px 26px !important;
    }

    .sample-types-method-card > .kt-inside-inner-col {
        padding: 40px 32px 34px !important;
    }

    .sample-types-method-title {
        padding-top: 58px;
    }

    .sample-types-sample-card > .kt-inside-inner-col {
        padding: 72px 22px 24px !important;
    }

    .sample-types-security-item .kt-row-column-wrap {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 18px;
    }

    .sample-types-security-index {
        width: 62px;
        height: 62px;
        border-radius: 18px;
        font-size: 1.3rem !important;
    }
}

@media (max-width: 640px) {
    .sample-types-hero-row .kt-row-column-wrap {
        min-height: 430px;
    }

    .sample-types-hero-title {
        font-size: 2rem !important;
        line-height: 1.03 !important;
    }

    .sample-types-hero-copy,
    .sample-types-section-copy,
    .sample-types-card-copy,
    .sample-types-security-item-copy-text,
    .sample-types-centered-copy,
    .sample-types-cta-copy {
        font-size: 0.95rem !important;
        line-height: 1.68 !important;
    }

    .sample-types-section-title,
    .sample-types-cta-title {
        font-size: 1.7rem !important;
    }

    .sample-types-hero-col > .kt-inside-inner-col {
        max-width: 300px;
        padding: 40px 18px 34px !important;
    }

    .sample-types-hero-buttons,
    .sample-types-cta-buttons {
        flex-wrap: nowrap;
        gap: 10px;
    }

    .sample-types-hero-buttons .kt-button,
    .sample-types-cta-buttons .kt-button {
        min-height: 40px;
        min-width: 0;
        padding: 0 14px !important;
        border-radius: 10px !important;
        font-size: 0.82rem !important;
        justify-content: center;
    }

    .sample-types-grid-row .kt-row-column-wrap {
        grid-template-columns: 1fr;
    }

    .sample-types-method-row .kt-row-column-wrap {
        border-radius: 26px;
    }

    .sample-types-method-card > .kt-inside-inner-col {
        padding: 36px 22px 28px !important;
    }

    .sample-types-method-card > .kt-inside-inner-col::before,
    .sample-types-sample-card > .kt-inside-inner-col::before {
        left: 0;
        top: 0;
        width: 30px;
        height: 30px;
    }

    .sample-types-method-title {
        padding-top: 52px;
    }

    .sample-types-method-image .kb-img,
    .sample-types-security-image .kb-img {
        min-height: 260px;
    }

    .sample-types-security-item .kt-row-column-wrap {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .sample-types-security-index {
        width: 58px;
        height: 58px;
        font-size: 1.15rem !important;
    }

    .sample-types-cta-row .kt-row-column-wrap {
        padding-top: 46px;
        padding-bottom: 46px;
    }
}

/* ===== ABOUT / QUIENES SOMOS ===== */
.about-page-main {
    background: #ffffff;
}

.about-row {
    width: 100%;
}

.about-hero-row {
    background-position: right center !important;
    background-size: cover !important;
    overflow: hidden;
}

.about-hero-row > .kt-row-column-wrap {
    width: min(100%, 1240px);
    margin: 0 auto;
    padding: 96px 0 94px;
}

.about-hero-column {
    max-width: 540px;
}

.about-hero-column > .kt-inside-inner-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
}

.about-hero-title,
.about-hero-title * {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.65rem, 4.4vw, 4.45rem);
    line-height: 0.98;
    font-weight: 800;
    letter-spacing: -0.06em;
    text-wrap: balance;
}

.about-hero-copy,
.about-hero-copy * {
    margin: 0;
    max-width: 470px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1rem;
    line-height: 1.74;
    font-weight: 500;
}

.about-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.about-hero-buttons .kt-button,
.about-cta-buttons .kt-button {
    min-height: 44px;
    padding: 0 18px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.about-mission-row {
    background: #ffffff;
}

.about-mission-row > .kt-row-column-wrap {
    width: min(100%, 1240px);
    margin: 0 auto;
    gap: 28px;
}

.about-card > .kt-inside-inner-col {
    min-height: 222px;
    padding: 48px 40px 40px;
    border-radius: 14px;
    background: #f6f9fd;
    box-shadow: 0 18px 46px rgba(14, 53, 89, 0.08);
}

.about-card-vision > .kt-inside-inner-col {
    background: linear-gradient(180deg, #123f75 0%, #0a2f56 100%);
}

.about-card-title,
.about-card-title * {
    margin: 0 0 16px;
    color: #113c71;
    font-size: 2rem;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.about-card-title-light,
.about-card-title-light * {
    color: #ffffff;
}

.about-card-copy,
.about-card-copy * {
    margin: 0;
    color: #4f6882;
    font-size: 0.98rem;
    line-height: 1.8;
    font-weight: 500;
}

.about-card-copy-light,
.about-card-copy-light * {
    color: rgba(255, 255, 255, 0.86);
}

.about-values-intro-row,
.about-values-grid-row,
.about-cta-row {
    background: #eef4fa;
}

.about-values-intro-row > .kt-row-column-wrap,
.about-values-grid-row > .kt-row-column-wrap,
.about-cta-row > .kt-row-column-wrap {
    width: min(100%, 1240px);
    margin: 0 auto;
}

.about-values-intro-col > .kt-inside-inner-col {
    text-align: center;
}

.about-values-title,
.about-values-title * {
    margin: 0;
    color: #123d72;
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.about-values-copy,
.about-values-copy * {
    margin: 16px auto 0;
    max-width: 700px;
    color: #6d8196;
    font-size: 1rem;
    line-height: 1.7;
    font-weight: 500;
}

.about-values-grid-row > .kt-row-column-wrap {
    gap: 30px 42px;
}

.about-value-card > .kt-inside-inner-col {
    position: relative;
    min-height: 170px;
    padding: 0 0 0 46px;
}

.about-value-card > .kt-inside-inner-col::before {
    position: absolute;
    top: 6px;
    left: 0;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    border: 2px solid #7bb3e1;
    color: #73b7e8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
}

.about-value-precision > .kt-inside-inner-col::before { content: '◎'; }
.about-value-quality > .kt-inside-inner-col::before { content: '✓'; }
.about-value-innovation > .kt-inside-inner-col::before { content: '✦'; }
.about-value-commitment > .kt-inside-inner-col::before { content: '♥'; }

.about-value-title,
.about-value-title * {
    margin: 0 0 12px;
    color: #173f70;
    font-size: 1.6rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.about-value-copy,
.about-value-copy * {
    margin: 0;
    color: #57708a;
    font-size: 0.98rem;
    line-height: 1.74;
    font-weight: 500;
}

.about-cta-column > .kt-inside-inner-col {
    max-width: 980px;
    margin: 0 auto;
    padding: 44px 28px 46px;
    border-radius: 14px;
    background: #eef2f6;
    text-align: center;
    box-shadow: inset 0 0 0 1px rgba(17, 60, 113, 0.04);
}

.about-cta-title,
.about-cta-title * {
    margin: 0;
    color: #173f70;
    font-size: clamp(1.75rem, 2.3vw, 2.55rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.045em;
}

.about-cta-copy,
.about-cta-copy * {
    margin: 14px auto 0;
    max-width: 670px;
    color: #6d8196;
    font-size: 0.98rem;
    line-height: 1.76;
    font-weight: 500;
}

.about-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
}

@media (max-width: 1100px) {
    .about-hero-row > .kt-row-column-wrap,
    .about-mission-row > .kt-row-column-wrap,
    .about-values-intro-row > .kt-row-column-wrap,
    .about-values-grid-row > .kt-row-column-wrap,
    .about-cta-row > .kt-row-column-wrap {
        width: min(100%, calc(100% - 48px));
    }

    .about-mission-row > .kt-row-column-wrap,
    .about-values-grid-row > .kt-row-column-wrap {
        grid-template-columns: 1fr;
    }

    .about-card > .kt-inside-inner-col {
        min-height: 0;
    }

    .about-value-card > .kt-inside-inner-col {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    .about-hero-row > .kt-row-column-wrap {
        width: min(100%, calc(100% - 32px));
        padding: 62px 0 58px;
    }

    .about-hero-title,
    .about-hero-title * {
        font-size: 2.45rem;
        line-height: 1.03;
    }

    .about-hero-copy,
    .about-hero-copy * {
        font-size: 0.94rem;
        line-height: 1.72;
    }

    .about-hero-buttons,
    .about-cta-buttons {
        width: 100%;
        gap: 10px;
    }

    .about-hero-buttons .kt-button,
    .about-cta-buttons .kt-button {
        min-height: 40px;
        min-width: 0;
        padding: 0 14px !important;
        border-radius: 10px !important;
        font-size: 0.82rem !important;
        justify-content: center;
    }

    .about-mission-row > .kt-row-column-wrap,
    .about-values-intro-row > .kt-row-column-wrap,
    .about-values-grid-row > .kt-row-column-wrap,
    .about-cta-row > .kt-row-column-wrap {
        width: min(100%, calc(100% - 32px));
    }

    .about-card > .kt-inside-inner-col {
        padding: 32px 24px 30px;
        border-radius: 12px;
    }

    .about-card-title,
    .about-card-title * {
        font-size: 1.65rem;
    }

    .about-card-copy,
    .about-card-copy * {
        font-size: 0.92rem;
    }

    .about-values-title,
    .about-values-title * {
        font-size: 2rem;
    }

    .about-value-card > .kt-inside-inner-col {
        padding-left: 42px;
    }

    .about-value-title,
    .about-value-title * {
        font-size: 1.35rem;
    }

    .about-value-copy,
    .about-value-copy * {
        font-size: 0.92rem;
    }

    .about-cta-column > .kt-inside-inner-col {
        padding: 34px 18px 36px;
        border-radius: 12px;
    }

    .about-cta-title,
    .about-cta-title * {
        font-size: 1.66rem;
    }

    .about-cta-copy,
    .about-cta-copy * {
        font-size: 0.92rem;
    }
}

/* ===== FAQ / PREGUNTAS FRECUENTES ===== */
.faq-page-main,
.faq-page-main .entry-content {
    background: #eff5fb;
}

.faq-page-main .entry-content > .kb-row-layout-wrap {
    margin: 0;
}

body.page-id-2073 #rpb {
    display: none !important;
}

.faq-row {
    --faq-navy: #0b2a4f;
    --faq-blue: #1d67d6;
    --faq-accent: #7acb2f;
    --faq-copy: #5d7086;
    --faq-surface: #eff5fb;
    --faq-card-shadow: 0 18px 42px rgba(11, 42, 79, 0.06);
    width: 100%;
}

.faq-row .kt-row-column-wrap {
    width: min(100%, 1240px);
    margin: 0 auto;
    padding-left: 30px;
    padding-right: 30px;
}

.faq-row .wp-block-kadence-column {
    min-width: 0;
}

.faq-row .kt-inside-inner-col {
    min-height: 100%;
}

.faq-hero-row {
    background-color: var(--faq-navy);
    background-position: center center !important;
    background-size: cover !important;
    overflow: hidden;
}

.faq-hero-row > .kt-row-column-wrap {
    width: min(100%, 1440px);
    min-height: 600px;
}

.faq-hero-column {
    max-width: 790px;
}

.faq-hero-column > .kt-inside-inner-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    padding: 76px 0 68px 54px !important;
}

.faq-hero-kicker,
.faq-hero-kicker * {
    margin: 0;
    color: #8ed533;
    font-size: 0.78rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.faq-hero-title,
.faq-hero-title * {
    margin: 0;
    color: #ffffff;
    max-width: 760px;
    font-size: clamp(3rem, 4.9vw, 4.9rem);
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: -0.06em;
}

.faq-hero-copy,
.faq-hero-copy * {
    margin: 0;
    max-width: 650px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.02rem;
    line-height: 1.72;
    font-weight: 500;
}

.faq-hero-buttons,
.faq-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.faq-hero-buttons .kt-button,
.faq-cta-buttons .kt-button {
    min-height: 46px;
    padding: 0 20px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.faq-intro-row,
.faq-legal-row,
.faq-samples-row,
.faq-process-row,
.faq-cta-row {
    background: var(--faq-surface);
}

.faq-intro-row > .kt-row-column-wrap,
.faq-legal-row > .kt-row-column-wrap,
.faq-samples-row > .kt-row-column-wrap,
.faq-process-row > .kt-row-column-wrap,
.faq-cta-row > .kt-row-column-wrap {
    gap: 28px 38px;
}

.faq-intro-side > .kt-inside-inner-col,
.faq-legal-side > .kt-inside-inner-col,
.faq-samples-side > .kt-inside-inner-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.faq-section-title,
.faq-section-title * {
    margin: 0;
    color: var(--faq-navy);
    font-size: clamp(2.1rem, 3.5vw, 3.15rem);
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.faq-section-copy,
.faq-section-copy * {
    margin: 18px 0 0;
    max-width: 360px;
    color: var(--faq-copy);
    font-size: 1rem;
    line-height: 1.72;
    font-weight: 500;
}

.faq-security-card-row {
    width: 100%;
    margin-top: 34px;
}

.faq-security-card > .kt-inside-inner-col {
    padding: 30px 30px 28px;
    border-radius: 18px;
    background: #76cc27;
    box-shadow: 0 18px 40px rgba(118, 204, 39, 0.22);
}

.faq-security-title,
.faq-security-title * {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 1.55rem;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.faq-security-copy,
.faq-security-copy * {
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.98rem;
    line-height: 1.66;
    font-weight: 600;
}

.faq-intro-main > .kt-inside-inner-col,
.faq-legal-main > .kt-inside-inner-col,
.faq-samples-main > .kt-inside-inner-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.faq-card-row,
.faq-legal-card-row,
.faq-sample-card-row {
    width: 100%;
}

.faq-card > .kt-inside-inner-col {
    padding: 38px 44px 34px;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: var(--faq-card-shadow);
}

.faq-card-title,
.faq-card-title * {
    margin: 0 0 18px;
    color: var(--faq-navy);
    font-size: clamp(1.6rem, 2.1vw, 2.18rem);
    line-height: 1.16;
    font-weight: 800;
    letter-spacing: -0.045em;
}

.faq-card-copy,
.faq-card-copy * {
    margin: 0;
    color: var(--faq-copy);
    font-size: 0.98rem;
    line-height: 1.82;
    font-weight: 500;
}

.faq-legal-side > .kt-inside-inner-col {
    padding-top: 22px;
}

.faq-legal-side-title,
.faq-legal-side-title * {
    margin: 0;
    color: var(--faq-navy);
    font-size: clamp(2.25rem, 3.9vw, 3.6rem);
    line-height: 0.98;
    font-weight: 800;
    letter-spacing: -0.06em;
}

.faq-legal-side-copy,
.faq-legal-side-copy * {
    margin: 20px 0 0;
    max-width: 320px;
    color: var(--faq-copy);
    font-size: 1rem;
    line-height: 1.72;
    font-weight: 500;
}

.faq-legal-item,
.faq-legal-item * {
    position: relative;
    margin: 18px 0 0;
    padding-left: 44px;
    color: #145da9;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 800;
}

.faq-legal-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 26px;
    height: 26px;
    transform: translateY(-50%);
    color: #145da9;
    font-size: 1.05rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.faq-legal-item-judicial::before {
    content: '\2696';
}

.faq-legal-item-private::before {
    content: '\1F512';
}

.faq-samples-chip,
.faq-samples-chip * {
    position: relative;
    margin: 34px 0 0;
    padding-left: 38px;
    color: #165ea8;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 800;
}

.faq-samples-chip::before {
    content: '\2697';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #1d67d6;
    font-size: 1.4rem;
    line-height: 1;
}

.faq-process-main > .kt-inside-inner-col {
    padding: 36px 34px 30px;
    border-radius: 28px;
    background: #123761;
    box-shadow: 0 22px 54px rgba(10, 42, 79, 0.14);
}

.faq-process-title,
.faq-process-title * {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2rem, 3.1vw, 3rem);
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.faq-process-copy,
.faq-process-copy * {
    margin: 18px 0 0;
    max-width: 560px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1rem;
    line-height: 1.7;
    font-weight: 500;
}

.faq-process-question,
.faq-process-question * {
    margin: 24px 0 0;
    color: #81d130;
    font-size: 1.05rem;
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.faq-process-answer,
.faq-process-answer * {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.98rem;
    line-height: 1.76;
    font-weight: 500;
}

.faq-process-side > .kt-inside-inner-col {
    position: relative;
    padding: 38px 28px 34px;
    border-radius: 28px;
    background: #dfe8f2;
    text-align: center;
}

.faq-delivery-icon,
.faq-delivery-icon * {
    position: relative;
    margin: 0 auto 22px;
    width: 78px;
    height: 78px;
    border-radius: 999px;
    color: transparent;
    font-size: 0;
    background: #79cb31;
}

.faq-delivery-icon::before {
    content: '';
    position: absolute;
    inset: 18px;
    border: 3px solid #ffffff;
    border-radius: 999px;
}

.faq-delivery-icon::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 24px;
    width: 3px;
    height: 24px;
    background: #ffffff;
    border-radius: 999px;
    transform: translateX(-50%) rotate(35deg);
    transform-origin: bottom center;
    box-shadow: -7px 8px 0 0 #ffffff;
}

.faq-delivery-title,
.faq-delivery-title * {
    margin: 0;
    color: var(--faq-navy);
    font-size: 1.8rem;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.045em;
}

.faq-delivery-copy,
.faq-delivery-copy * {
    margin: 20px auto 0;
    max-width: 280px;
    color: var(--faq-copy);
    font-size: 1rem;
    line-height: 1.66;
    font-weight: 500;
}

.faq-delivery-stat,
.faq-delivery-stat * {
    margin: 22px 0 0;
    color: var(--faq-navy);
    font-size: 1.1rem;
    line-height: 1.4;
    font-weight: 800;
}

.faq-delivery-foot,
.faq-delivery-foot * {
    margin: 10px 0 0;
    color: var(--faq-copy);
    font-size: 0.98rem;
    line-height: 1.6;
    font-weight: 500;
}

.faq-cta-column > .kt-inside-inner-col {
    max-width: 1130px;
    margin: 0 auto;
    padding: 52px 28px 54px;
    border-radius: 28px;
    background: #ffffff;
    text-align: center;
    box-shadow: var(--faq-card-shadow);
}

.faq-cta-title,
.faq-cta-title * {
    margin: 0;
    color: var(--faq-navy);
    font-size: clamp(2.35rem, 4vw, 4.2rem);
    line-height: 0.98;
    font-weight: 800;
    letter-spacing: -0.06em;
}

.faq-cta-copy,
.faq-cta-copy * {
    margin: 18px auto 0;
    max-width: 760px;
    color: var(--faq-copy);
    font-size: 1rem;
    line-height: 1.74;
    font-weight: 500;
}

.faq-cta-buttons {
    justify-content: center;
    margin-top: 26px;
}

@media (max-width: 1180px) {
    .faq-intro-row > .kt-row-column-wrap,
    .faq-legal-row > .kt-row-column-wrap,
    .faq-samples-row > .kt-row-column-wrap,
    .faq-process-row > .kt-row-column-wrap {
        grid-template-columns: 1fr;
    }

    .faq-legal-side > .kt-inside-inner-col,
    .faq-samples-side > .kt-inside-inner-col {
        padding-top: 0;
    }

    .faq-legal-side-copy,
    .faq-legal-side-copy * {
        max-width: 520px;
    }
}

@media (max-width: 900px) {
    .faq-row .kt-row-column-wrap {
        padding-left: 18px;
        padding-right: 18px;
    }

    .faq-hero-row > .kt-row-column-wrap {
        min-height: 480px;
    }

    .faq-hero-column > .kt-inside-inner-col {
        max-width: 520px;
        padding: 56px 0 50px 28px !important;
    }

    .faq-card > .kt-inside-inner-col,
    .faq-process-main > .kt-inside-inner-col,
    .faq-process-side > .kt-inside-inner-col,
    .faq-cta-column > .kt-inside-inner-col {
        border-radius: 22px;
    }

    .faq-card > .kt-inside-inner-col {
        padding: 32px 28px 28px;
    }
}

@media (max-width: 640px) {
    .faq-hero-row > .kt-row-column-wrap {
        min-height: 430px;
    }

    .faq-hero-column > .kt-inside-inner-col {
        max-width: 320px;
        gap: 16px;
        padding: 42px 18px 36px !important;
    }

    .faq-hero-title,
    .faq-hero-title * {
        max-width: 300px;
        font-size: 2.05rem;
        line-height: 1.06;
    }

    .faq-hero-copy,
    .faq-hero-copy *,
    .faq-section-copy,
    .faq-section-copy *,
    .faq-card-copy,
    .faq-card-copy *,
    .faq-legal-side-copy,
    .faq-legal-side-copy *,
    .faq-process-copy,
    .faq-process-copy *,
    .faq-process-answer,
    .faq-process-answer *,
    .faq-delivery-copy,
    .faq-delivery-copy *,
    .faq-delivery-foot,
    .faq-delivery-foot *,
    .faq-cta-copy,
    .faq-cta-copy * {
        font-size: 0.95rem;
        line-height: 1.68;
    }

    .faq-hero-buttons,
    .faq-cta-buttons {
        flex-wrap: nowrap;
        gap: 10px;
    }

    .faq-hero-buttons .kt-button,
    .faq-cta-buttons .kt-button {
        min-height: 40px;
        min-width: 0;
        padding: 0 14px !important;
        border-radius: 10px !important;
        font-size: 0.82rem !important;
        justify-content: center;
    }

    .faq-section-title,
    .faq-section-title *,
    .faq-legal-side-title,
    .faq-legal-side-title *,
    .faq-process-title,
    .faq-process-title *,
    .faq-cta-title,
    .faq-cta-title * {
        font-size: 1.9rem;
    }

    .faq-card-title,
    .faq-card-title *,
    .faq-delivery-title,
    .faq-delivery-title * {
        font-size: 1.5rem;
    }

    .faq-card > .kt-inside-inner-col {
        padding: 26px 22px 24px;
        border-radius: 18px;
    }

    .faq-security-card > .kt-inside-inner-col,
    .faq-process-main > .kt-inside-inner-col,
    .faq-process-side > .kt-inside-inner-col,
    .faq-cta-column > .kt-inside-inner-col {
        padding-left: 22px;
        padding-right: 22px;
        border-radius: 18px;
    }

    .faq-delivery-icon,
    .faq-delivery-icon * {
        width: 68px;
        height: 68px;
    }

    .faq-delivery-icon::before {
        inset: 16px;
    }

.faq-delivery-icon::after {
        top: 20px;
        height: 22px;
    }
}

/* ===== CONTACT PAGE ===== */
.contact-page-main {
    background: #f4f8fe;
}

.contact-row {
    width: 100%;
}

.contact-hero-row {
    background-color: #0b2c4d;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.contact-hero-column {
    max-width: 1240px;
    margin: 0 auto;
}

.contact-hero-column > .kt-inside-inner-col {
    padding: 80px 34px 78px;
    min-height: 430px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-hero-title,
.contact-hero-title * {
    margin: 0;
    color: #ffffff;
    font-family: "Manrope", sans-serif;
    font-size: clamp(2.8rem, 4.2vw, 4.2rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.04em;
    max-width: 520px;
}

.contact-hero-copy,
.contact-hero-copy * {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.9);
    font-family: "Manrope", sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.75;
    max-width: 610px;
}

.contact-body-row {
    background: #f4f8fe;
}

.contact-body-row > .kt-row-column-wrap {
    max-width: 1240px;
    margin: 0 auto;
    gap: 44px;
    align-items: stretch;
}

.contact-info-column > .kt-inside-inner-col {
    padding: 14px 8px 14px 0;
}

.contact-section-title,
.contact-section-title * {
    margin: 0;
    color: #183a66;
    font-family: "Manrope", sans-serif;
    font-size: clamp(2.1rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.contact-section-copy,
.contact-section-copy * {
    margin: 18px 0 0;
    color: #5d6e86;
    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.9;
    max-width: 440px;
}

.contact-card-row {
    margin-top: 18px;
}

.contact-card-row:first-of-type {
    margin-top: 28px;
}

.contact-info-card > .kt-inside-inner-col {
    position: relative;
    background: #ffffff;
    border: 1px solid #dde8f6;
    border-radius: 18px;
    box-shadow: 0 18px 38px rgba(134, 159, 194, 0.12);
    padding: 26px 26px 24px 92px;
    min-height: 112px;
}

.contact-info-card > .kt-inside-inner-col::before,
.contact-map-card > .kt-inside-inner-col::before {
    content: "";
    position: absolute;
    left: 28px;
    top: 31px;
    width: 28px;
    height: 28px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.contact-info-card-phone > .kt-inside-inner-col::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23183a66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.5' width='10' height='19' rx='2.2'/%3E%3Cline x1='11' y1='18' x2='13' y2='18'/%3E%3C/svg%3E");
}

.contact-info-card-location > .kt-inside-inner-col::before,
.contact-map-card > .kt-inside-inner-col::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23183a66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.4 6-11a6 6 0 1 0-12 0c0 5.6 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E");
}

.contact-info-card-email > .kt-inside-inner-col::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23183a66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

.contact-info-title,
.contact-info-title * {
    margin: 0;
    color: #183a66;
    font-family: "Manrope", sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.contact-info-copy,
.contact-info-copy * {
    margin: 10px 0 0;
    color: #5e6f86;
    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.65;
}

.contact-whatsapp-button {
    margin-top: 28px;
}

.contact-whatsapp-button .kt-button {
    min-height: 56px;
    padding: 0 28px !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 34px rgba(108, 200, 29, 0.22);
}

.contact-form-column > .kt-inside-inner-col {
    background: #eff5fc;
    border: 1px solid #dfe8f4;
    border-radius: 24px;
    box-shadow: 0 24px 52px rgba(136, 160, 192, 0.15);
    padding: 34px 34px 38px;
    height: 100%;
}

.contact-form-title,
.contact-form-title * {
    margin: 0;
    color: #183a66;
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.9rem, 2.3vw, 2.5rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.contact-form-top-row,
.contact-form-message-row {
    margin-top: 24px;
}

.contact-form-top-row > .kt-row-column-wrap {
    gap: 22px;
}

.contact-field-label,
.contact-field-label * {
    margin: 0 0 10px;
    color: #53657c;
    font-family: "Manrope", sans-serif;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.4;
}

.contact-field-box,
.contact-field-box *,
.contact-textarea-box,
.contact-textarea-box * {
    margin: 0;
    color: #9ca8bb;
    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
}

.contact-field-box,
.contact-textarea-box {
    background: #ffffff;
    border: 1px solid #dde5f0;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(167, 184, 209, 0.1);
}

.contact-field-box {
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 0 22px;
}

.contact-textarea-box {
    min-height: 158px;
    padding: 18px 22px;
}

.contact-submit-button {
    margin-top: 24px;
}

.contact-submit-button .kt-btn-wrap {
    width: 100%;
}

.contact-submit-button .kt-button {
    width: 100%;
    min-height: 62px;
    justify-content: center;
    padding: 0 26px !important;
    border-radius: 12px !important;
    box-shadow: none;
}

.contact-map-row {
    background-color: #d1d5db;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.contact-map-column > .kt-inside-inner-col {
    min-height: 430px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 42px 24px 0;
}

.contact-map-card-row {
    width: 100%;
}

.contact-map-card {
    max-width: 332px;
    margin: -92px auto 0;
}

.contact-map-card > .kt-inside-inner-col {
    position: relative;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(30, 52, 82, 0.14);
    padding: 34px 28px 30px;
    text-align: center;
}

.contact-map-card > .kt-inside-inner-col::before {
    position: relative;
    display: block;
    left: auto;
    top: auto;
    width: 34px;
    height: 34px;
    margin: 0 auto 14px;
}

.contact-map-title,
.contact-map-title * {
    margin: 0;
    color: #183a66;
    font-family: "Manrope", sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.contact-map-copy,
.contact-map-copy * {
    margin: 12px 0 0;
    color: #66758a;
    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
}

.page-template-page-contactanos #rpb {
    display: none !important;
}

@media (max-width: 1024px) {
    .contact-hero-column > .kt-inside-inner-col {
        padding: 66px 28px 64px;
        min-height: 390px;
    }

    .contact-body-row > .kt-row-column-wrap {
        gap: 28px;
    }

    .contact-form-column > .kt-inside-inner-col {
        padding: 30px 24px 32px;
    }
}

@media (max-width: 767px) {
    .contact-hero-column > .kt-inside-inner-col {
        min-height: 280px;
        padding: 54px 18px 48px;
    }

    .contact-hero-title,
    .contact-hero-title * {
        font-size: 2.3rem;
        max-width: 280px;
    }

    .contact-hero-copy,
    .contact-hero-copy * {
        margin-top: 14px;
        font-size: 0.95rem;
        line-height: 1.72;
        max-width: 280px;
    }

    .contact-body-row > .kt-row-column-wrap {
        gap: 20px;
    }

    .contact-info-column > .kt-inside-inner-col {
        padding: 0 4px;
    }

    .contact-section-title,
    .contact-section-title *,
    .contact-form-title,
    .contact-form-title * {
        font-size: 1.82rem;
    }

    .contact-section-copy,
    .contact-section-copy * {
        font-size: 0.95rem;
        line-height: 1.72;
        max-width: none;
    }

    .contact-card-row:first-of-type {
        margin-top: 22px;
    }

    .contact-info-card > .kt-inside-inner-col {
        min-height: 102px;
        padding: 22px 18px 20px 72px;
        border-radius: 16px;
    }

    .contact-info-card > .kt-inside-inner-col::before {
        left: 20px;
        top: 24px;
        width: 24px;
        height: 24px;
    }

    .contact-info-title,
    .contact-info-title * {
        font-size: 1.1rem;
    }

    .contact-info-copy,
    .contact-info-copy * {
        font-size: 0.92rem;
    }

    .contact-whatsapp-button {
        margin-top: 22px;
    }

    .contact-whatsapp-button .kt-button {
        min-height: 52px;
        width: 100%;
        justify-content: center;
        padding: 0 18px !important;
        font-size: 0.9rem !important;
    }

    .contact-form-column > .kt-inside-inner-col {
        padding: 24px 18px 24px;
        border-radius: 18px;
    }

    .contact-form-top-row > .kt-row-column-wrap {
        gap: 16px;
    }

    .contact-field-box {
        min-height: 54px;
        padding: 0 18px;
    }

    .contact-textarea-box {
        min-height: 138px;
        padding: 16px 18px;
    }

    .contact-submit-button .kt-button {
        min-height: 56px;
        font-size: 0.94rem !important;
    }

    .contact-map-column > .kt-inside-inner-col {
        min-height: 320px;
        padding: 30px 16px 0;
    }

    .contact-map-card {
        max-width: 258px;
        margin-top: -56px;
    }

    .contact-map-card > .kt-inside-inner-col {
        padding: 24px 18px 20px;
        border-radius: 16px;
    }

    .contact-map-card > .kt-inside-inner-col::before {
        width: 28px;
        height: 28px;
        margin-bottom: 12px;
    }

    .contact-map-title,
    .contact-map-title * {
        font-size: 1.2rem;
    }

    .contact-map-copy,
    .contact-map-copy * {
        font-size: 0.94rem;
    }
}

/* =====================================================================
   ADN — Fixes mobile robustos (v1.3.24)
   F3: Override de Kadence Blocks inline h1 + text-size-adjust reforzado
   F4: Endurecer drawer del menú movil (position absolute + close button)
   ===================================================================== */

/* F3: text-size-adjust reforzado en mobile (Samsung OS font scaling) */
@media (max-width: 768px) {
    html,
    body {
        -webkit-text-size-adjust: 100% !important;
        -moz-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }
}

/* F3: Override del CSS inline de Kadence Blocks Pro para h1 (kt-adv-heading*)
   La regla inline tiene font-size:60px; letter-spacing:-3px (no responsive).
   Aquí lo escalamos en mobile para que no se desborde en viewports estrechos. */
@media (max-width: 768px) {
    h1.wp-block-kadence-advancedheading,
    h1.wp-block-kadence-advancedheading[class*="kt-adv-heading"],
    h1[class*="kt-adv-heading"][data-kb-block^="kb-adv-heading"],
    .wp-block-kadence-advancedheading h1,
    h1.wp-block-kadence-advancedheading[data-kb-block^="kb-adv-heading"] {
        font-size: clamp(28px, 8vw, 44px) !important;
        letter-spacing: -0.5px !important;
        line-height: 1.15 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: manual;
    }
}

@media (max-width: 480px) {
    h1.wp-block-kadence-advancedheading,
    h1.wp-block-kadence-advancedheading[class*="kt-adv-heading"],
    h1[class*="kt-adv-heading"][data-kb-block^="kb-adv-heading"] {
        font-size: clamp(24px, 7.5vw, 34px) !important;
        letter-spacing: 0 !important;
    }
}

/* F4: Endurecer el dialog del drawer movil — position absolute directo,
   independiente del flex container, para que SIEMPRE aparezca a la derecha. */
@media (max-width: 768px) {
    .header-nav-wrap .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
    .header-nav-wrap .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-dialog {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        margin: 0 !important;
        align-self: auto !important;
    }

    /* Espacio top para que el close button no se solape con el primer nav item */
    .header-nav-wrap .wp-block-navigation__responsive-container-content {
        padding-top: 64px !important;
    }

    /* Close button anclado dentro del drawer, no flotante en otro lugar */
    .header-nav-wrap .wp-block-navigation__responsive-container-close {
        position: absolute !important;
        top: 18px !important;
        right: 18px !important;
        margin: 0 !important;
        z-index: 2 !important;
    }
}

/* ============================================================
   v1.3.27 — Mobile readability bump (NO h1/h2 touched)
   Sube tamaño de body, párrafos, botones y kickers en móvil.
   Reversible: borrar este bloque restaura el comportamiento anterior.
   ============================================================ */
@media (max-width: 768px) {
    body,
    .wp-site-blocks,
    .wp-block-post-content {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }
    .wp-block-post-content p,
    main p,
    .wp-block-column p,
    .wp-block-group p {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }
    .wp-block-list li,
    .wp-block-post-content li,
    main li {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }
    .wp-block-button__link,
    a.wp-element-button,
    .wp-element-button {
        font-size: 16px !important;
        line-height: 1.3 !important;
    }
    .section-kicker,
    .map-card-kicker,
    .info-service-label {
        font-size: 13px !important;
        letter-spacing: 0.1em !important;
    }
    .top-bar p {
        font-size: 12px !important;
    }
    .top-bar-social a {
        font-size: 13px !important;
    }
}

/* ============================================================
   v1.3.33 — Mobile reorder: imagen entre descripcion y cards
   En MOBILE (max 768px): reordena visualmente la columna de
   imagen para que aparezca dentro del flujo del texto en las
   secciones de Maternidad y Perfil Genetico (request del cliente).
   Desktop NO se toca.
   ============================================================ */
@media (max-width: 768px) {

    /* --- MATERNIDAD --- */
    .kb-row-layout-id1907_df1b81-f5 .kt-row-column-wrap {
        display: flex !important;
        flex-direction: column !important;
    }
    /* Flatten the TEXT column so its children become direct flex items */
    .kb-row-layout-id1907_df1b81-f5 .kt-row-column-wrap > .kadence-column1907_2e129f-ee,
    .kb-row-layout-id1907_df1b81-f5 .kt-row-column-wrap > .kadence-column1907_2e129f-ee > .kt-inside-inner-col {
        display: contents !important;
    }
    /* Order: H2 → "Certeza Absoluta" → descripcion → IMAGEN → "Estas pruebas" → cards → ultima card */
    .kb-row-layout-id1907_df1b81-f5 .dna-tests-intro-title          { order: 1 !important; }
    .kb-row-layout-id1907_df1b81-f5 .kt-adv-heading1907_624f2b-03   { order: 2 !important; }
    .kb-row-layout-id1907_df1b81-f5 .kt-row-column-wrap > .kadence-column1907_2c6096-2e { order: 3 !important; margin: 8px 0 16px !important; }
    .kb-row-layout-id1907_df1b81-f5 .dna-tests-section-copy         { order: 4 !important; }
    .kb-row-layout-id1907_df1b81-f5 .kt-adv-heading1907_a13220-8b   { order: 5 !important; }
    .kb-row-layout-id1907_df1b81-f5 .kb-row-layout-id1907_ccb061-1a { order: 6 !important; }
    .kb-row-layout-id1907_df1b81-f5 .kadence-column1907_075d93-4e   { order: 7 !important; }

    /* --- PERFIL GENETICO --- */
    .dna-tests-profile-row .kt-row-column-wrap {
        display: flex !important;
        flex-direction: column !important;
    }
    /* Flatten the TEXT column (dna-tests-profile-copy) */
    .dna-tests-profile-row > .kt-row-column-wrap > .dna-tests-profile-copy,
    .dna-tests-profile-row > .kt-row-column-wrap > .dna-tests-profile-copy > .kt-inside-inner-col {
        display: contents !important;
    }
    /* Order: H2 → descripcion → IMAGEN → boton WhatsApp */
    .dna-tests-profile-row .dna-tests-profile-title  { order: 1 !important; }
    .dna-tests-profile-row .dna-tests-profile-media  { order: 2 !important; margin: 8px auto 16px !important; }
    .dna-tests-profile-row .dna-tests-section-copy   { order: 3 !important; }
    .dna-tests-profile-row .dna-tests-profile-buttons { order: 4 !important; }
}

/* ============================================================
   v1.3.34 — Mobile reorder HOME: Hisopado + Prenatal
   Reordena imágenes en home para que aparezcan dentro del flujo
   en MOBILE (max 768px). Desktop NO se toca.
   ============================================================ */
@media (max-width: 768px) {

    /* --- HOME: HISOPADO BUCAL --- */
    /* Invierte columnas: imagen del kit primero, tarjeta de texto después */
    .paternity-private-grid {
        display: flex !important;
        flex-direction: column !important;
    }
    .paternity-private-grid > .wp-block-column:nth-child(1) { order: 2 !important; }
    .paternity-private-grid > .wp-block-column:nth-child(2) { order: 1 !important; }

    /* Dentro del stack media: imagen del KIT antes que los 2 badges */
    .paternity-private-grid .paternity-media-stack {
        display: flex !important;
        flex-direction: column !important;
    }
    .paternity-private-grid .paternity-media-stack > .paternity-wide-image  { order: 1 !important; margin-bottom: 18px !important; }
    .paternity-private-grid .paternity-media-stack > .paternity-mini-grid   { order: 2 !important; }

    /* --- HOME: PRUEBA DE PATERNIDAD PRENATAL NO INVASIVA --- */
    .paternity-prenatal-grid {
        display: flex !important;
        flex-direction: column !important;
    }
    /* Flatten columna de texto (col0) para reordenar sus hijos junto a la imagen */
    .paternity-prenatal-grid > .wp-block-column:nth-child(1) {
        display: contents !important;
    }
    /* Orden: kicker → H2 → ambos párrafos + spacer → IMAGEN → H3 → mini-grid features → último bullet */
    .paternity-prenatal-grid .paternity-kicker               { order: 1 !important; }
    .paternity-prenatal-grid .paternity-section-title        { order: 2 !important; }
    .paternity-prenatal-grid > .wp-block-column:nth-child(2) { order: 3 !important; margin: 8px 0 16px !important; }
    .paternity-prenatal-grid .paternity-section-copy         { order: 4 !important; }
    .paternity-prenatal-grid .wp-block-spacer                { order: 4 !important; }
    .paternity-prenatal-grid .kt-adv-heading1876_d54baf-ef   { order: 5 !important; }
    .paternity-prenatal-grid .paternity-prenatal-features    { order: 6 !important; }
    /* El último bloque (bullet "Nuestro analisis genético...") es un wp-block-group con is-nowrap */
    .paternity-prenatal-grid .wp-block-group.is-nowrap       { order: 7 !important; }
}

/* ============================================================
   v1.3.35 — Mobile spacing polish: Maternidad + Perfil Genético
   Cierra huecos verticales excesivos creados por el display:contents
   y normaliza letter-spacing del subtítulo "Certeza Absoluta..."
   ============================================================ */
@media (max-width: 768px) {
    /* --- MATERNIDAD: cerrar gaps y normalizar tipografía --- */
    .kb-row-layout-id1907_df1b81-f5 .kt-row-column-wrap {
        gap: 0 !important;
        row-gap: 0 !important;
    }
    .kb-row-layout-id1907_df1b81-f5 .dna-tests-intro-title {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }
    .kb-row-layout-id1907_df1b81-f5 .kt-adv-heading1907_624f2b-03 {
        margin-top: 0 !important;
        margin-bottom: 10px !important;
        letter-spacing: 0 !important;
    }
    .kb-row-layout-id1907_df1b81-f5 .dna-tests-section-copy {
        margin-top: 0 !important;
        margin-bottom: 14px !important;
    }
    .kb-row-layout-id1907_df1b81-f5 > .kt-row-column-wrap > .kadence-column1907_2c6096-2e {
        margin: 8px 0 16px !important;
    }
    .kb-row-layout-id1907_df1b81-f5 .kt-adv-heading1907_a13220-8b {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }

    /* --- PERFIL GENÉTICO: cerrar gaps y centrar botón --- */
    .dna-tests-profile-row .kt-row-column-wrap {
        gap: 0 !important;
        row-gap: 0 !important;
    }
    .dna-tests-profile-row .dna-tests-profile-title {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }
    .dna-tests-profile-row .dna-tests-section-copy {
        margin-top: 0 !important;
        margin-bottom: 14px !important;
    }
    .dna-tests-profile-row > .kt-row-column-wrap > .dna-tests-profile-media {
        margin: 8px auto 16px !important;
    }
    .dna-tests-profile-row .dna-tests-profile-buttons {
        margin: 4px auto 0 !important;
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
}

/* ============================================================
   v1.3.36 — Mobile polish #2: reducir padding-top del wrap del
   botón WhatsApp + agregar respiro debajo en Perfil Genético.
   ============================================================ */
@media (max-width: 768px) {
    .dna-tests-profile-row .dna-tests-profile-buttons {
        padding-top: 0 !important;
        padding-bottom: 24px !important;
        margin: 8px auto 0 !important;
    }
    /* Reduce el hueco entre la imagen y el botón */
    .dna-tests-profile-row > .kt-row-column-wrap > .dna-tests-profile-media {
        margin-bottom: 8px !important;
    }
}

/* ============================================================
   v1.3.38 — Mobile reorder HOME: Prueba de Paternidad Judicial
   Imagen del cliente: que aparezca DEBAJO del título H2
   "Prueba de Paternidad Judicial", no antes. Desktop NO se toca.
   ============================================================ */
@media (max-width: 768px) {
    .paternity-judicial-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        row-gap: 0 !important;
    }
    /* Flatten text column (col 2) so children become direct row items */
    .paternity-judicial-grid > .wp-block-column:nth-child(2) {
        display: contents !important;
    }
    /* Image col (col 1) goes right after H2 */
    .paternity-judicial-grid > .wp-block-column:nth-child(1) {
        order: 3 !important;
        margin: 8px 0 16px !important;
    }
    /* Orden de items de texto */
    .paternity-judicial-grid .paternity-kicker                        { order: 1 !important; }
    .paternity-judicial-grid .paternity-section-title                 { order: 2 !important; margin-bottom: 12px !important; }
    .paternity-judicial-grid .paternity-section-copy                  { order: 4 !important; margin-top: 0 !important; }
    .paternity-judicial-grid .kt-adv-heading1876_61f25e-02            { order: 5 !important; }
    .paternity-judicial-grid .kb-row-layout-id1876_c636b2-27          { order: 6 !important; }
    .paternity-judicial-grid .paternity-note-card                     { order: 7 !important; }
    .paternity-judicial-grid .kt-adv-heading1876_e7fdd4-63            { order: 8 !important; }
}

/* ============================================================
   v1.3.39 — Mobile polish:
   1) Pill kicker FAQ (CENTRO DE AYUDA ESPECIALIZADO) — el inline-flex
      se estiraba al 100% del column. Forzar fit-content + center.
   2) Gap blanco entre tarjeta verde "ADN Mitocondrial" y H2
      "Perfil Genético" en home (sección Perfil Genético) — reducir.
   ============================================================ */
@media (max-width: 768px) {
    /* 1) Kicker FAQ - centrar el pill */
    .dna-tests-kicker {
        width: fit-content !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    /* Aplicar también al paternity-kicker por consistencia */
    p.paternity-kicker,
    .paternity-kicker.has-text-align-center {
        width: fit-content !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* 2) Reducir gap blanco antes de H2 "Perfil Genético" en home */
    .kb-row-layout-id1907_88e7df-bb,
    [class*="genetic-profile"],
    .genetic-profile-section,
    .kadence-column1907_2e129f-ee {
        /* no-op selectores fallback */
    }
    /* Quitar margen superior del row Perfil Genético y padding-top */
    section.kb-row-layout-id1907_88e7df-bb,
    .wp-block-kadence-rowlayout[class*="1907_88e7df"] {
        padding-top: 24px !important;
        margin-top: 0 !important;
    }
}

/* v1.3.39 fix #2 real — el .kt-row-column-wrap del row Perfil Genético
   tiene padding-top:160px (calculado por Kadence). En móvil reducirlo. */
@media (max-width: 768px) {
    .dna-tests-profile-row > .kt-row-column-wrap,
    .kb-row-layout-iddnaprofile01 > .kt-row-column-wrap {
        padding-top: 32px !important;
    }
}

/* v1.3.40 — kicker pill DEBE shrink-to-fit + center.
   fit-content evaluaba al ancho del parent porque max-content del
   texto sin wrap > parent. Solución: max-width explícito + block. */
@media (max-width: 768px) {
    .dna-tests-kicker,
    p.dna-tests-kicker {
        display: block !important;
        max-width: max-content !important;
        width: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }
    .paternity-kicker,
    p.paternity-kicker {
        display: block !important;
        max-width: max-content !important;
        width: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }
}

/* v1.3.41 — kicker pill final: inline-block + center con text-align
   en el wrapper. max-content no shrink en block-level. */
@media (max-width: 768px) {
    .kt-inside-inner-col:has(> .dna-tests-kicker),
    .kt-inside-inner-col:has(> .paternity-kicker) {
        text-align: center !important;
    }
    .dna-tests-kicker,
    p.dna-tests-kicker,
    .paternity-kicker,
    p.paternity-kicker {
        display: inline-block !important;
        width: auto !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* v1.3.42 — kickers tipo pill (CENTRO DE AYUDA / etiquetas) deben
   conservar font-size pequeño. La regla mobile 16px les estaba
   ensanchando hasta 349px causando que ocupen todo el ancho. */
@media (max-width: 768px) {
    .dna-tests-kicker,
    p.dna-tests-kicker,
    .paternity-kicker,
    p.paternity-kicker {
        font-size: 11px !important;
        letter-spacing: 0.16em !important;
    }
}

/* v1.3.43 — REVERTIR cambio de font-size del v1.3.42 (Marco pidió
   no tocar tamaños de letra). Mantener el centrado con max-width
   fijo que permite wrap de 2 líneas como estaba originalmente. */
@media (max-width: 768px) {
    .dna-tests-kicker,
    p.dna-tests-kicker,
    .paternity-kicker,
    p.paternity-kicker {
        font-size: revert-layer !important;
        letter-spacing: revert-layer !important;
        max-width: 280px !important;
    }
}

/* v1.3.44 — restaurar letter-spacing original del kicker (0.18em) que
   el revert-layer rompió, y mantener centrado vía max-width. */
@media (max-width: 768px) {
    .dna-tests-kicker,
    p.dna-tests-kicker,
    .paternity-kicker,
    p.paternity-kicker {
        letter-spacing: 0.18em !important;
    }
}

/* ============================================================
   v1.3.45 — Mobile-only: arreglar grids 2x2 que dejan huecos
   blancos enormes cuando una card es más alta que su par.
   Convertir kt-mobile-layout-two-grid a 1 columna en móvil.
   No afecta desktop ni tablet (>600px).
   ============================================================ */
@media (max-width: 600px) {
    .kt-row-column-wrap.kt-mobile-layout-two-grid {
        grid-template-columns: 1fr !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    .kt-row-column-wrap.kt-mobile-layout-two-grid > .wp-block-kadence-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}


/* ============================================================
   v1.3.47 — Mobile-only: reducir las VARIABLES de espaciado de
   Kadence (escala proporcional). Reemplaza el blanket buggy de
   v1.3.46 que forzaba 48px en TODAS las filas (incluso las de
   padding 0), creando gaps grotescos asimétricos (ej: 96px extra
   entre las filas Valores en /quienes-somos/).
   Esto respeta filas con padding 0 y solo recorta los grandes.
   NO toca desktop (>600px). md/sm/xs se mantienen pequeños. */
@media (max-width: 600px) {
    .wp-site-blocks {
        --global-kb-spacing-5xl: 3.5rem;   /* 10rem  -> 56px */
        --global-kb-spacing-4xl: 3rem;     /* 8rem   -> 48px */
        --global-kb-spacing-3xl: 2.75rem;  /* 6.5rem -> 44px */
        --global-kb-spacing-xxl: 2.5rem;   /* 5rem   -> 40px */
        --global-kb-spacing-xl: 2.25rem;   /* 4rem   -> 36px */
        --global-kb-spacing-lg: 2rem;      /* 3rem   -> 32px */
        /* md(2rem/32px), sm(1.5rem/24px), xs(1rem/16px): sin cambios */
    }
}

/* ============================================================
   v1.3.48 — Hero /quienes-somos/: el H1 "ADN Análisis: Centro de
   Confianza" tenía margin-top:44px que alejaba el kicker
   "CONFIA EN NOSOTROS" del título (gap 64px vs 18px de los demás
   heroes). Anular ese margin para que el kicker quede cerca del
   título como en el hero de Pruebas de Paternidad. Clase única,
   no afecta otros heroes ni otras páginas. Aplica desktop+mobile. */
.kb-row-layout-iddnahero01 h1.kt-adv-heading2053_38e1b8-58 {
    margin-top: 0 !important;
}

/* v1.3.49 — Simetría exacta de las 4 cards Valores en móvil:
   row01 (Precisión|Calidad) es fila intermedia, su padding-bottom
   de 32px creaba un gap mayor (209px) entre Calidad e Innovación
   que entre las demás (177px). Lo igualamos a 0; row02 conserva su
   padding-bottom para separar del CTA siguiente. Solo móvil. */
@media (max-width: 600px) {
    .wp-site-blocks .kb-row-layout-wrap.kb-row-layout-idaboutvaluesrow01 > .kt-row-column-wrap {
        padding-bottom: 0 !important;
    }
}

/* ============================================================
   v1.3.51 — El hero kicker "EXPERTOS EN ANÁLISIS DE ADN"
   (.paternity-kicker) se partía en 2 líneas porque v1.3.43 le puso
   max-width:280px (eso era para centrar el pill del FAQ
   .dna-tests-kicker). Restauramos paternity-kicker a 1 línea:
   se dimensiona a su contenido y se centra. NO toca dna-tests-kicker
   ni desktop. ============================================================ */
@media (max-width: 768px) {
    .paternity-kicker,
    p.paternity-kicker,
    .paternity-kicker.has-text-align-center {
        max-width: 100% !important;
        white-space: nowrap !important;
    }
}

/* ============================================================
   v1.3.52 — "CONFIA EN NOSOTROS" (kt-adv-headingdnakicker01): el
   max-width:280px (puesto para el FAQ) lo partía en 2 líneas y
   descentrado. Es texto corto: forzar 1 línea, pill centrado.
   Solo este kicker; NO toca el del FAQ (CENTRO DE AYUDA). ===== */
@media (max-width: 768px) {
    p.kt-adv-headingdnakicker01.dna-tests-kicker,
    .kt-adv-headingdnakicker01.dna-tests-kicker {
        max-width: 100% !important;
        white-space: nowrap !important;
        width: auto !important;
    }
}

/* ============================================================
   v1.3.53 — Cards de los grids 2x2 (Maternidad pruebas/home): el
   .kt-inside-inner-col tiene min-height igualado (ej 290px) por la
   feature equal-height de Kadence; en móvil apilado deja un hueco
   blanco enorme DENTRO de la card. Colapsar a contenido. Solo móvil.
   ============================================================ */
@media (max-width: 600px) {
    .kt-mobile-layout-two-grid .kt-inside-inner-col {
        min-height: 0 !important;
    }
}

/* ============================================================
   v1.3.54 — FIX RAÍZ kickers/etiquetas pill. Los kickers
   (.dna-tests-kicker, .paternity-kicker) son micro-etiquetas
   uppercase de ~0.7rem por diseño. La regla global v1.3.27 que
   subió los <p> a 16px las infló, y a 16px textos como
   "CENTRO DE AYUDA ESPECIALIZADO" / "EXPERTOS EN ANÁLISIS DE ADN"
   ya no caben en 1 línea -> se parten y se ven descentrados.
   Restauramos su tamaño-etiqueta de diseño SOLO en móvil para que
   vuelvan a 1 línea y centrados. NO afecta botones, párrafos,
   H1/H2 ni desktop. Anula el parche max-width:280 anterior.
   ============================================================ */
@media (max-width: 600px) {
    .dna-tests-kicker, p.dna-tests-kicker,
    .paternity-kicker, p.paternity-kicker {
        font-size: 0.72rem !important;     /* ~11.5px, tamaño etiqueta de diseño */
        letter-spacing: 0.12em !important;
        line-height: 1.2 !important;
        display: inline-block !important;
        width: auto !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    /* Asegurar centrado del pill: el contenedor centra el inline-block */
    .kt-inside-inner-col:has(> .dna-tests-kicker),
    .kt-inside-inner-col:has(> .paternity-kicker) {
        text-align: center !important;
    }
}

/* ============================================================
   v1.3.55 — tipos-de-muestras "Flexibilidad y Discreción": en
   móvil la imagen quedaba al fondo. Reordenar: título -> imagen ->
   3 puntos. Columna de texto sin card (transparente) => seguro
   aplanar con display:contents. Solo móvil. ====================== */
@media (max-width: 600px) {
    .kb-row-layout-id1978_59b93a-63 > .kt-row-column-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    .kb-row-layout-id1978_59b93a-63 .kadence-column1978_e00296-19,
    .kb-row-layout-id1978_59b93a-63 .kadence-column1978_e00296-19 > .kt-inside-inner-col {
        display: contents !important;
    }
    .kb-row-layout-id1978_59b93a-63 .kt-adv-headingsamplesecuritytitle01 {
        order: 1 !important;
        margin-bottom: 16px !important;
    }
    .kb-row-layout-id1978_59b93a-63 > .kt-row-column-wrap > .kadence-column1978_c3d74d-cc {
        order: 2 !important;
        margin-bottom: 22px !important;
    }
    .kb-row-layout-id1978_59b93a-63 .kadence-column1978_e00296-19 > .kt-inside-inner-col > .wp-block-kadence-rowlayout {
        order: 4 !important;
    }
}

/* ============================================================
   v1.3.56 — tipos-de-muestras "Método más Usado: Hisopado Bucal":
   en móvil la imagen quedaba al fondo. La col de texto es una CARD
   blanca (bg en su inner-col). Para insertar la imagen tras el
   kicker SIN perder la card, movemos el fondo de card al wrap y
   aplanamos. Orden: icono -> título -> kicker -> IMAGEN -> desc ->
   lista. Solo móvil. ========================================= */
@media (max-width: 600px) {
    .kb-row-layout-id1978_104b68-3e > .kt-row-column-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        background: #ffffff !important;
        border-radius: 20px !important;
        padding: 30px 22px 28px !important;
    }
    .kb-row-layout-id1978_104b68-3e .kadence-column1978_5a604b-1b,
    .kb-row-layout-id1978_104b68-3e .kadence-column1978_5a604b-1b > .kt-inside-inner-col {
        display: contents !important;
    }
    .kb-row-layout-id1978_104b68-3e .kt-adv-heading1978_20196b-32 { order: 2 !important; }   /* título */
    .kb-row-layout-id1978_104b68-3e .kt-adv-heading1978_044529-e0 { order: 3 !important; margin-bottom: 14px !important; } /* kicker */
    .kb-row-layout-id1978_104b68-3e > .kt-row-column-wrap > .kadence-column1978_5d875a-22 {
        order: 4 !important;
        margin: 0 0 18px !important;
    }
    .kb-row-layout-id1978_104b68-3e .kt-adv-heading1978_b5d230-43 { order: 5 !important; }   /* descripción */
    .kb-row-layout-id1978_104b68-3e .wp-block-list { order: 6 !important; }                  /* lista checks */
    /* icono (si existe) queda en order:0 -> arriba de todo (order:1 reservado) */
    .kb-row-layout-id1978_104b68-3e .wp-block-kadence-icon,
    .kb-row-layout-id1978_104b68-3e omni-icon { order: 1 !important; }
}

/* ============================================================
   v1.3.57 — tipos-de-muestras "Muestras Biológicas": el grid de
   imágenes (col background, kadence-column1978_5b2081-f3) quedaba
   al fondo en móvil. El título está en fila aparte arriba, así que
   basta poner la imagen ANTES de los cards. Además su min-height
   de equal-height (776px) es excesiva en móvil -> 300px. Solo móvil.
   ============================================================ */
@media (max-width: 600px) {
    .kb-row-layout-id1978_d0f07a-21 > .kt-row-column-wrap {
        display: flex !important;
        flex-direction: column !important;
    }
    .kb-row-layout-id1978_d0f07a-21 > .kt-row-column-wrap > .kadence-column1978_5b2081-f3 {
        order: 1 !important;
        margin-bottom: 22px !important;
    }
    .kb-row-layout-id1978_d0f07a-21 > .kt-row-column-wrap > .kadence-column1978_dd318e-6c {
        order: 2 !important;
    }
    .kadence-column1978_5b2081-f3 > .kt-inside-inner-col {
        min-height: 300px !important;
        background-size: cover !important;
        background-position: center !important;
        border-radius: 16px !important;
    }
}

/* ============================================================
   v1.3.58 — FIX DEFINITIVO kickers. Anula TODOS mis parches previos
   (v1.3.41-44, 51, 52, 54). Diagnóstico real:
   (a) NO había que tocar el tamaño -> restaurado a 16px (lo que el
       cliente ve como correcto, ej. "EXPERTOS EN ANÁLISIS DE ADN").
   (b) El verdadero bug del descentrado era un padding del bloque
       Kadence en móvil: padding:1px 1px 1px 75px (75px a la izq!)
       que empujaba el texto dentro del pill. Lo normalizamos
       simétrico -> texto centrado en la caja.
   inline-block + text-align center => texto centrado y, si una frase
   es muy larga para 1 línea, sus líneas quedan centradas.
   Solo móvil. NO toca desktop. ============================== */
@media (max-width: 600px) {
    .dna-tests-kicker, p.dna-tests-kicker,
    .paternity-kicker, p.paternity-kicker {
        font-size: 16px !important;
        letter-spacing: 0.16em !important;
        line-height: 1.3 !important;
        display: inline-block !important;
        text-align: center !important;
        width: auto !important;
        max-width: 100% !important;
        white-space: normal !important;
        padding: 8px 18px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .kt-inside-inner-col:has(> .dna-tests-kicker),
    .kt-inside-inner-col:has(> .paternity-kicker) {
        text-align: center !important;
    }
}

/* ============================================================
   v1.3.59 — Ajuste fino del tamaño del kicker. A 16px se partían en
   2-3 líneas. El tamaño de DISEÑO (foto de referencia del cliente,
   "EXPERTOS EN ANÁLISIS DE ADN" en 1 línea) es ~13px, NO 16px (los
   16px fueron una inflación accidental de una regla global que
   justamente causaba el problema de 2 líneas). 13px = se ve grande,
   cabe en 1 línea y centrado. Centrado caja+texto ya resuelto en
   v1.3.58 (padding simétrico). Solo móvil. ==================== */
@media (max-width: 600px) {
    .dna-tests-kicker, p.dna-tests-kicker,
    .paternity-kicker, p.paternity-kicker {
        font-size: 0.82rem !important;   /* ~13px, tamaño de diseño (foto #21) */
        letter-spacing: 0.12em !important;
    }
}

/* ============================================================
   v1.3.60 — Forzar 1 RENGLÓN en los kickers. A 13px las frases
   caben en 1 línea (CENTRO ~341px < 358px disponibles), pero el
   contenedor flex las encogía a min-content (2 líneas). nowrap lo
   evita. Resultado: 1 renglón, tamaño diseño, caja y texto
   centrados. Solo móvil. ===================================== */
@media (max-width: 600px) {
    .dna-tests-kicker, p.dna-tests-kicker,
    .paternity-kicker, p.paternity-kicker {
        white-space: nowrap !important;
    }
}

/* ============================================================
   v1.3.61 — Badge "100% GARANTIZADO" (Prueba de Paternidad Judicial,
   home): en móvil "GARANTIZADO" se partía a mitad ("GARANTIZ-ADO")
   por word-break:break-word + caja angosta. Forzar 1 renglón y dejar
   que la caja del badge crezca a su contenido. Solo móvil; desktop
   no se toca. ============================================== */
@media (max-width: 600px) {
    .paternity-judicial-stat-copy {
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }
    .paternity-judicial-stat {
        width: max-content !important;
        max-width: none !important;
    }
}
