.tb-home {
    --tb-bg: #110a19;
    --tb-bg2: #191023;
    --tb-card: #21152e;
    --tb-text: #fffaf4;
    --tb-soft: #d5c8dd;
    --tb-gold: #e3b756;
    --tb-gold-light: #f6d98f;
    --tb-purple: #7c3fb7;
    overflow: hidden;
    background: var(--tb-bg);
    color: var(--tb-text);
}

.tb-home * {
    box-sizing: border-box;
}

.tb-home a {
    transition: .2s ease;
}

.tb-hero {
    padding: 72px 0 82px;
    background:
        radial-gradient(circle at 10% 10%, rgba(124,63,183,.30), transparent 34rem),
        radial-gradient(circle at 90% 20%, rgba(227,183,86,.13), transparent 30rem),
        #110a19;
}

.tb-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.13fr) minmax(340px,.87fr);
    align-items: center;
    gap: 58px;
}

.tb-label {
    display: inline-flex;
    margin-bottom: 17px;
    padding: 7px 11px;
    border: 1px solid rgba(227,183,86,.28);
    border-radius: 999px;
    color: var(--tb-gold-light);
    background: rgba(227,183,86,.07);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.tb-label-dark {
    color: #6f441b;
    border-color: rgba(111,68,27,.20);
    background: rgba(111,68,27,.07);
}

.tb-hero h1 {
    margin: 0 0 22px;
    color: white;
    font-size: clamp(43px,5.6vw,72px);
    line-height: 1.03;
}

.tb-lead {
    max-width: 780px;
    color: var(--tb-soft);
    font-size: 18px;
    line-height: 1.75;
}

.tb-hero-phones {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 15px;
    margin-top: 30px;
}

.tb-phone-card {
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 21px;
    text-align: center;
    box-shadow: 0 18px 50px rgba(0,0,0,.18);
}

.tb-phone-purple {
    background:
        linear-gradient(150deg,rgba(126,61,188,.29),rgba(31,18,43,.96));
}

.tb-phone-gold {
    background:
        linear-gradient(150deg,rgba(214,169,72,.17),rgba(31,18,43,.96));
}

.tb-phone-kicker {
    display: block;
    color: var(--tb-gold-light);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.tb-phone-card h2 {
    margin: 6px 0 4px;
    color: white;
    font-size: 25px;
}

.tb-phone-number {
    display: block;
    margin: 7px 0;
    color: white;
    font-family: Georgia,serif;
    font-size: clamp(30px,3.3vw,42px);
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.tb-phone-number:hover {
    color: var(--tb-gold-light);
}

.tb-phone-card p {
    color: #d1c4da;
    font-size: 13px;
}

.tb-tarifa {
    display: block;
    width: 100%;
    max-width: 469px;
    height: auto;
    margin: 10px auto 17px;
}

.tb-button,
.tb-outline,
.tb-dark-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 47px;
    padding: 0 21px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

.tb-button {
    color: #241526 !important;
    background: linear-gradient(135deg,#f4d88d,#d8a845);
}

.tb-outline {
    margin-top: 8px;
    color: white !important;
    border: 1px solid rgba(255,255,255,.17);
    background: rgba(255,255,255,.045);
}

.tb-dark-button {
    margin-top: 9px;
    color: white !important;
    background: #281637;
}

.tb-button:hover,
.tb-outline:hover,
.tb-dark-button:hover {
    transform: translateY(-2px);
}

.tb-payments {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 13px 0 18px;
}

.tb-payments span {
    padding: 5px 9px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    color: #dfd4e6;
    background: rgba(255,255,255,.05);
    font-size: 10px;
    font-weight: 800;
}

.tb-hero-image {
    position: relative;
    overflow: hidden;
    min-height: 750px;
    margin: 0;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
    box-shadow: 0 30px 80px rgba(0,0,0,.34);
}

.tb-hero-image > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
}

.tb-hero-image::after {
    content: "";
    position: absolute;
    inset: 50% 0 0;
    background: linear-gradient(transparent,rgba(7,4,10,.96));
}

.tb-hero-image figcaption {
    position: absolute;
    z-index: 2;
    left: 28px;
    right: 28px;
    bottom: 27px;
}

.tb-hero-image strong,
.tb-hero-image span {
    display: block;
}

.tb-hero-image strong {
    font-family: Georgia,serif;
    font-size: 26px;
}

.tb-hero-image span {
    margin-top: 4px;
    color: var(--tb-gold-light);
    font-weight: 800;
}


/* SECCIONES */

.tb-section {
    padding: 82px 0;
    background: var(--tb-bg);
}

.tb-muted {
    border-block: 1px solid rgba(255,255,255,.08);
    background: var(--tb-bg2);
}

.tb-light {
    color: #2c1a31;
    background: #f5efe7;
}

.tb-light h2,
.tb-light h3 {
    color: #2a1930;
}

.tb-light p {
    color: #5c4c62;
}

.tb-light a {
    color: #743da7;
}

.tb-heading {
    max-width: 820px;
    margin-bottom: 38px;
}

.tb-heading-center {
    margin-inline: auto;
    text-align: center;
}

.tb-heading h2,
.tb-two-cols h2,
.tb-photo-text h2,
.tb-narrow h2,
.tb-faq-grid h2 {
    margin: 0 0 18px;
    font-size: clamp(31px,4.1vw,48px);
    line-height: 1.1;
}

.tb-heading p,
.tb-two-cols p,
.tb-photo-text p,
.tb-narrow p {
    font-size: 17px;
    line-height: 1.82;
}

.tb-two-cols,
.tb-photo-text {
    display: grid;
    grid-template-columns: minmax(0,1.08fr) minmax(350px,.92fr);
    align-items: center;
    gap: 58px;
}

.tb-photo-text {
    grid-template-columns: minmax(350px,.92fr) minmax(0,1.08fr);
}

.tb-photo {
    overflow: hidden;
    margin: 0;
    border-radius: 25px;
    box-shadow: 0 20px 55px rgba(0,0,0,.18);
}

.tb-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}

.tb-photo-dark {
    border: 1px solid rgba(255,255,255,.10);
}

.tb-photo-text p {
    color: var(--tb-soft);
}

.tb-photo-text p a {
    color: var(--tb-gold-light);
}

.tb-big-inline-phone {
    display: inline-block;
    margin: 2px 0 16px;
    color: white !important;
    font-family: Georgia,serif;
    font-size: clamp(36px,5vw,53px);
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}


/* MÉTODOS */

.tb-methods {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 17px;
}

.tb-method {
    min-width: 0;
    padding: 27px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 20px;
    background: var(--tb-card);
}

.tb-method-806 {
    background:
        linear-gradient(145deg,rgba(124,63,183,.18),var(--tb-card));
}

.tb-method-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 17px;
    border-radius: 13px;
    color: var(--tb-gold-light);
    background: rgba(227,183,86,.08);
    font-size: 20px;
    font-weight: 900;
}

.tb-method h3 {
    color: white;
    font-size: 24px;
}

.tb-method p {
    color: #d0c3d8;
}

.tb-method p a,
.tb-text-link {
    color: var(--tb-gold-light) !important;
}

.tb-text-link {
    font-weight: 800;
    text-decoration: none;
}

.tb-mini-phone {
    margin: 15px 0;
    color: white;
    font-family: Georgia,serif;
    font-size: 27px;
    font-weight: 900;
}

.tb-mini-phone-link {
    display: block;
    text-decoration: none;
}


/* TEMAS */

.tb-topics {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 17px;
}

.tb-topic {
    padding: 27px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 20px;
    background: var(--tb-card);
}

.tb-topic > span {
    color: var(--tb-gold-light);
    font-size: 29px;
}

.tb-topic h3 {
    margin: 11px 0 9px;
    color: white;
    font-size: 22px;
}

.tb-topic p {
    color: #d0c3d8;
}

.tb-topic a {
    color: var(--tb-gold-light);
}


/* ANCHO TEXTO */

.tb-narrow {
    max-width: 900px;
    margin-inline: auto;
}

.tb-narrow p {
    color: var(--tb-soft);
}

.tb-narrow a {
    color: var(--tb-gold-light);
}


/* COMPARATIVA */

.tb-compare {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px;
}

.tb-compare-card {
    padding: 36px;
    border-radius: 24px;
    color: #2d1c31;
    background: #f5efe7;
}

.tb-compare-card > span {
    color: #7c501d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.tb-compare-card h3 {
    margin: 10px 0 15px;
    color: #2d1c31;
    font-size: clamp(35px,4vw,49px);
}

.tb-compare-card p {
    color: #5d4f62;
}

.tb-compare-dark {
    color: white;
    border: 1px solid rgba(255,255,255,.11);
    background:
        linear-gradient(145deg,rgba(124,63,183,.22),var(--tb-card));
}

.tb-compare-dark > span {
    color: var(--tb-gold-light);
}

.tb-compare-dark p {
    color: #d0c3d8;
}

.tb-compare-phone {
    display: block;
    margin: 10px 0;
    color: white;
    font-family: Georgia,serif;
    font-size: clamp(35px,5vw,54px);
    font-weight: 900;
    text-decoration: none;
}


/* 806 EN FONDO CLARO */

.tb-inline-806 {
    max-width: 560px;
    margin: 22px 0;
    padding: 20px;
    border: 1px solid rgba(61,35,69,.12);
    border-radius: 17px;
    text-align: center;
    background: white;
}

.tb-inline-806 > a {
    display: block;
    margin-bottom: 10px;
    color: #2a1930 !important;
    font-family: Georgia,serif;
    font-size: clamp(34px,5vw,50px);
    font-weight: 900;
    text-decoration: none;
}

.tb-inline-806 img {
    display: block;
    width: 100%;
    max-width: 469px;
    height: auto;
    margin-inline: auto;
}


/* TARJETAS IMAGEN */

.tb-image-cards {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 19px;
}

.tb-image-card {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    border-radius: 23px;
    background: var(--tb-card);
    text-decoration: none;
}

.tb-image-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tb-image-card::after {
    content: "";
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(transparent,rgba(7,4,10,.95));
}

.tb-image-card > div {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 22px;
}

.tb-image-card h3 {
    margin: 0 0 7px;
    color: white;
    font-size: 26px;
}

.tb-image-card p {
    margin: 0;
    color: #d9cedf;
}

.tb-extra-copy {
    margin-top: 37px;
}


/* FAQ */

.tb-faq-grid {
    display: grid;
    grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr);
    gap: 58px;
}

.tb-faq-grid > div:first-child p {
    color: var(--tb-soft);
}

.tb-faq {
    display: grid;
    gap: 11px;
}

.tb-faq details {
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    background: var(--tb-card);
}

.tb-faq summary {
    position: relative;
    padding: 19px 50px 19px 20px;
    color: white;
    cursor: pointer;
    font-family: Georgia,serif;
    font-size: 18px;
    font-weight: 700;
    list-style: none;
}

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

.tb-faq summary::after {
    content: "+";
    position: absolute;
    right: 19px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--tb-gold-light);
    font-family: Arial,sans-serif;
    font-size: 25px;
}

.tb-faq details[open] summary::after {
    content: "−";
}

.tb-faq details p {
    margin: 0;
    padding: 0 20px 20px;
    color: #d0c3d8;
}

.tb-faq a {
    color: var(--tb-gold-light);
}


/* FINAL */

.tb-final {
    padding: 87px 0;
    border-top: 1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 20% 30%,rgba(124,63,183,.24),transparent 30rem),
        radial-gradient(circle at 80% 70%,rgba(227,183,86,.13),transparent 30rem),
        #09050e;
}

.tb-final-title {
    max-width: 760px;
    margin: 0 auto 39px;
    text-align: center;
}

.tb-final-title h2 {
    margin: 0 0 13px;
    font-size: clamp(34px,4.5vw,51px);
}

.tb-final-title p {
    color: var(--tb-soft);
}

.tb-final-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
}

.tb-final-grid article {
    padding: 34px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 24px;
    text-align: center;
    background: rgba(255,255,255,.035);
}

.tb-final-grid article > a:first-of-type {
    display: block;
    margin: 9px 0 13px;
    color: white;
    font-family: Georgia,serif;
    font-size: clamp(36px,5vw,56px);
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.tb-final-grid article > img {
    display: block;
    width: 100%;
    max-width: 469px;
    height: auto;
    margin: 0 auto 18px;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

    .tb-methods,
    .tb-topics {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 900px) {

    .tb-hero-grid,
    .tb-two-cols,
    .tb-photo-text,
    .tb-faq-grid {
        grid-template-columns: 1fr;
    }

    .tb-hero-image {
        min-height: 620px;
    }

    .tb-compare,
    .tb-final-grid {
        grid-template-columns: 1fr;
    }

    .tb-image-cards {
        grid-template-columns: 1fr 1fr;
    }

}

@media (max-width: 640px) {

    .tb-hero {
        padding-top: 46px;
    }

    .tb-hero h1 {
        font-size: 42px;
    }

    .tb-hero-phones,
    .tb-methods,
    .tb-topics,
    .tb-image-cards {
        grid-template-columns: 1fr;
    }

    .tb-hero-image {
        min-height: 520px;
    }

    .tb-section {
        padding: 59px 0;
    }

    .tb-phone-number {
        font-size: 34px;
    }

    .tb-image-card {
        min-height: 370px;
    }

}

/* TELÉFONOS GLOBALES */

.global-phone-strip {
    position: relative;
    z-index: 1200;
    border-bottom: 1px solid rgba(255,255,255,.11);
    background: #09050e;
}

.global-phone-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: center;
    gap: 28px;
    min-height: 91px;
}

.global-phone-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.global-phone-item > span {
    color: #f6d98f;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .13em;
}

.global-phone-item > a {
    margin: 2px 0;
    color: white;
    font-family: Georgia,serif;
    font-size: 27px;
    font-weight: 900;
    line-height: 1.05;
    text-decoration: none;
}

.global-phone-item > img {
    display: block;
    width: 100%;
    max-width: 310px;
    height: auto;
    margin-top: 4px;
}

.global-phone-item > small {
    color: #ad9eb7;
    font-size: 10px;
}

.global-mobile-phones {
    display: none;
}

@media (max-width: 650px) {

    body {
        padding-bottom: 72px;
    }

    .global-phone-strip {
        display: none;
    }

    .global-mobile-phones {
        position: fixed;
        z-index: 2000;
        left: 0;
        right: 0;
        bottom: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        border-top: 1px solid rgba(255,255,255,.14);
        background: #09050e;
        box-shadow: 0 -8px 30px rgba(0,0,0,.35);
    }

    .global-mobile-phones a {
        display: flex;
        min-height: 68px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: white;
        text-decoration: none;
    }

    .global-mobile-phones a + a {
        border-left: 1px solid rgba(255,255,255,.12);
    }

    .global-mobile-phones small {
        color: #f6d98f;
        font-size: 8px;
        font-weight: 900;
    }

    .global-mobile-phones strong {
        font-size: 17px;
    }

    .mobile-cta,
    .mobile-phone-bar {
        display: none !important;
    }

}

/* ===== PAYMENT CHOICE V2 START ===== */

/* ----------------------------------------------------------
   MEJORA GLOBAL DE CONTRASTE EN FONDOS CLAROS
----------------------------------------------------------- */

.tb-light {
    color: #2b1b31;
    background: #f4eee6;
}

.tb-light h2,
.tb-light h3,
.tb-light strong {
    color: #29182f;
}

.tb-light p,
.tb-light li {
    color: #594a5f;
}

.tb-light a {
    color: #64308f;
}

.tb-light a:hover {
    color: #3f165f;
}


/* ----------------------------------------------------------
   SECCIÓN FORMAS DE PAGO
----------------------------------------------------------- */

.tb-payment-choice {
    position: relative;
    color: #2b1b31;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(121,72,155,.09),
            transparent 32rem
        ),
        #f4eee6;
}

.tb-payment-choice-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(390px, .95fr);
    align-items: start;
    gap: 68px;
}


/* ----------------------------------------------------------
   TEXTO IZQUIERDA
----------------------------------------------------------- */

.tb-payment-choice-copy h2 {
    max-width: 730px;
    margin: 0 0 20px;
    color: #29182f;
    font-size: clamp(36px, 4.5vw, 54px);
    line-height: 1.08;
}

.tb-payment-lead {
    max-width: 720px;
    margin-bottom: 29px;
    color: #594a5f;
    font-size: 18px;
    line-height: 1.8;
}

.tb-payment-choice-copy a {
    color: #6c329b;
}

.tb-payment-choice-copy a:hover {
    color: #451865;
}


/* ----------------------------------------------------------
   OPCIONES VISA / BIZUM / PAYPAL
----------------------------------------------------------- */

.tb-payment-options {
    display: grid;
    gap: 11px;
    margin: 0 0 25px;
}

.tb-payment-option {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 17px;
    align-items: start;
    padding: 18px;
    border: 1px solid rgba(54, 31, 62, .10);
    border-radius: 16px;
    background: rgba(255,255,255,.56);
}

.tb-payment-option-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    color: #fff;
    background:
        linear-gradient(
            145deg,
            #72409b,
            #392047
        );
    font-size: 18px;
    font-weight: 900;
}

.tb-payment-option h3 {
    margin: 1px 0 5px;
    color: #29182f;
    font-size: 19px;
}

.tb-payment-option p {
    margin: 0;
    color: #625369;
    font-size: 14px;
    line-height: 1.65;
}


/* ----------------------------------------------------------
   PREPAGO IZQUIERDA
----------------------------------------------------------- */

.tb-prepaid-inline {
    margin-top: 25px;
    padding: 27px;
    border-radius: 20px;
    color: white;
    background:
        linear-gradient(
            135deg,
            #372044,
            #1c1126
        );
    box-shadow: 0 18px 42px rgba(39, 21, 47, .15);
}

.tb-prepaid-inline > span {
    display: block;
    margin-bottom: 5px;
    color: #f3d382;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.tb-prepaid-inline > a:first-of-type {
    display: inline-block;
    color: white;
    font-family: Georgia, serif;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.tb-prepaid-inline > p {
    margin: 10px 0 15px;
    color: #d5c9dc;
}

.tb-payment-pills-dark {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 19px;
}

.tb-payment-pills-dark span {
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    color: #f3eaf7;
    background: rgba(255,255,255,.055);
    font-size: 11px;
    font-weight: 800;
}

.tb-prepaid-inline .tb-dark-button {
    color: #29182f !important;
    background:
        linear-gradient(
            135deg,
            #f4d98f,
            #dfae4b
        );
}

.tb-payment-bottom-text {
    margin-top: 25px;
    color: #594a5f;
    line-height: 1.8;
}


/* ----------------------------------------------------------
   COLUMNA VISUAL DERECHA
----------------------------------------------------------- */

.tb-payment-choice-visual {
    display: grid;
    gap: 16px;
}

.tb-payment-photo {
    position: relative;
    overflow: hidden;
    min-height: 390px;
    margin: 0;
    border-radius: 24px;
    background: #21162b;
    box-shadow: 0 22px 55px rgba(36,20,43,.17);
}

.tb-payment-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tb-payment-photo::after {
    content: "";
    position: absolute;
    inset: 48% 0 0;
    background:
        linear-gradient(
            transparent,
            rgba(13,7,18,.92)
        );
}

.tb-payment-photo figcaption {
    position: absolute;
    z-index: 2;
    left: 25px;
    right: 25px;
    bottom: 23px;
}

.tb-payment-photo figcaption span,
.tb-payment-photo figcaption strong {
    display: block;
}

.tb-payment-photo figcaption span {
    margin-bottom: 4px;
    color: #f3d382;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.tb-payment-photo figcaption strong {
    color: white;
    font-family: Georgia, serif;
    font-size: 24px;
    line-height: 1.15;
}


/* ----------------------------------------------------------
   TARJETA 806 CLARA
----------------------------------------------------------- */

.tb-payment-806-card {
    padding: 27px;
    border: 1px solid rgba(55,31,62,.11);
    border-radius: 21px;
    text-align: center;
    background: #ffffff;
    box-shadow: 0 17px 40px rgba(39,21,47,.08);
}

.tb-payment-card-label {
    display: block;
    margin-bottom: 5px;
    color: #76489a;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.tb-payment-806-card h3 {
    margin: 0 0 3px;
    color: #29182f;
    font-size: 24px;
}

.tb-payment-806-number {
    display: block;
    margin: 8px 0 12px;
    color: #29182f;
    font-family: Georgia, serif;
    font-size: clamp(39px, 5vw, 54px);
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.tb-payment-806-card img {
    display: block;
    width: 100%;
    max-width: 469px;
    height: auto;
    margin: 0 auto 17px;
}

.tb-payment-806-card p {
    max-width: 480px;
    margin: 0 auto 19px;
    color: #625369;
    font-size: 14px;
    line-height: 1.65;
}

.tb-payment-call-button {
    display: inline-flex;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 999px;
    color: white !important;
    background:
        linear-gradient(
            135deg,
            #704197,
            #3d204d
        );
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}


/* ----------------------------------------------------------
   TARJETA 910
----------------------------------------------------------- */

.tb-payment-910-card {
    padding: 25px 27px;
    border-radius: 21px;
    color: white;
    background:
        linear-gradient(
            145deg,
            #73439a,
            #392048
        );
    box-shadow: 0 17px 40px rgba(39,21,47,.13);
}

.tb-payment-910-card .tb-payment-card-label {
    color: #f3d382;
}

.tb-payment-910-number {
    display: block;
    margin: 5px 0 9px;
    color: white !important;
    font-family: Georgia, serif;
    font-size: clamp(33px, 4vw, 45px);
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
}

.tb-payment-910-card p {
    margin: 0 0 11px;
    color: #dfd4e5;
    font-size: 14px;
}

.tb-payment-910-card > a:last-child {
    color: #f3d382;
    font-weight: 900;
    text-decoration: none;
}


/* ----------------------------------------------------------
   RESPONSIVE
----------------------------------------------------------- */

@media (max-width: 950px) {

    .tb-payment-choice-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .tb-payment-choice-visual {
        grid-template-columns: 1fr 1fr;
        align-items: stretch;
    }

    .tb-payment-photo {
        grid-column: 1 / -1;
    }

}

@media (max-width: 650px) {

    .tb-payment-choice-copy h2 {
        font-size: 37px;
    }

    .tb-payment-choice-visual {
        grid-template-columns: 1fr;
    }

    .tb-payment-photo {
        min-height: 330px;
    }

    .tb-payment-806-number,
    .tb-payment-910-number {
        font-size: 36px;
    }

}

/* ===== PAYMENT CHOICE V2 END ===== */

/* ===== VISUAL FIX V4 START ===== */


/* ==========================================================
   HERO - TELÉFONOS SIN SALTOS DE LÍNEA
========================================================== */

.tb-hero-grid {
    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(330px, .82fr);
}

.tb-hero-copy {
    min-width: 0;
}

.tb-hero-phones {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.tb-phone-card {
    min-width: 0;
    padding: 25px 18px 23px;
}

.tb-phone-number {
    display: block;
    width: 100%;
    margin: 9px auto 8px;

    white-space: nowrap;

    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(27px, 2.25vw, 34px);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: 1;

    text-align: center;
}

.tb-phone-card h2 {
    margin-bottom: 8px;
}

.tb-phone-card p {
    min-height: 39px;
    margin-top: 10px;
}


/* Tarifa 806 perfectamente legible dentro de tarjeta */

.tb-phone-card .tb-tarifa {
    width: 100%;
    max-width: 100%;
    margin: 12px auto 18px;
}


/* ==========================================================
   FAQ - EVITAR QUE TAROTISTABARATO.EU SE CORTE
========================================================== */

.tb-faq-grid {
    grid-template-columns:
        minmax(390px, .82fr)
        minmax(0, 1.18fr);

    gap: 58px;
}

.tb-faq-grid > div {
    min-width: 0;
}

.tb-faq-grid h2 {
    max-width: 390px;

    font-size: clamp(31px, 2.75vw, 40px);
    line-height: 1.1;

    overflow: visible;
    word-break: normal;
}

.tb-faq-brand {
    display: block;

    margin-top: 4px;

    font-size: .89em;
    white-space: nowrap;
    letter-spacing: -.025em;
}


/* FAQ derecha un poco más limpia */

.tb-faq details {
    overflow: hidden;
}

.tb-faq summary {
    padding:
        20px
        54px
        20px
        22px;

    line-height: 1.3;
}

.tb-faq details p {
    padding:
        0
        22px
        21px;

    line-height: 1.7;
}


/* ==========================================================
   COMPARATIVA PREPAGO / 806
========================================================== */

.tb-compare {
    align-items: stretch;
    gap: 24px;
}

.tb-compare-card {
    display: flex;
    min-height: 405px;

    flex-direction: column;

    padding: 38px;

    border: 1px solid rgba(55, 31, 62, .10);
    border-radius: 25px;

    background: #f5efe7;

    box-shadow:
        0 18px 48px rgba(28, 15, 34, .08);
}


/* Etiqueta */

.tb-compare-card > span:first-child {
    display: block;

    margin-bottom: 10px;

    color: #86520f;

    font-size: 10px;
    font-weight: 900;
    letter-spacing: .15em;
}


/* Número prepago */

.tb-compare-card h3 {
    margin:
        4px
        0
        17px;

    color: #29182f;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(38px, 4vw, 52px);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: 1;
}


/* Texto tarjeta clara */

.tb-compare-card p {
    color: #594a60;

    font-size: 16px;
    line-height: 1.75;
}


/* PAGOS: ahora sí se ven */

.tb-compare-card:not(.tb-compare-dark) .tb-payments {
    justify-content: flex-start;

    margin:
        17px
        0
        24px;
}

.tb-compare-card:not(.tb-compare-dark) .tb-payments span {
    padding:
        7px
        12px;

    border:
        1px solid
        rgba(67, 39, 76, .14);

    color: #49334f;

    background:
        rgba(78, 44, 91, .07);

    font-size: 11px;
    font-weight: 900;
}


/* Botón al final para alinear ambas tarjetas */

.tb-compare-card > .tb-button {
    align-self: flex-start;

    margin-top: auto;
}


/* ==========================================================
   TARJETA 806 OSCURA
========================================================== */

.tb-compare-dark {
    border-color:
        rgba(255,255,255,.11);

    color: white;

    background:
        linear-gradient(
            145deg,
            rgba(114, 56, 174, .24),
            #21152f
        );

    box-shadow:
        0 20px 55px
        rgba(0,0,0,.20);
}

.tb-compare-dark > span:first-child {
    color: #f4d58d;
}

.tb-compare-phone {
    display: block;

    margin:
        10px
        0
        17px;

    white-space: nowrap;

    color: white !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(38px, 4vw, 52px);
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: 1;

    text-decoration: none;
}

.tb-compare-dark p {
    color: #d7cadf;
}

.tb-compare-dark .tb-tarifa {
    width: 100%;
    max-width: 469px;

    margin:
        0
        0
        20px;
}


/* ==========================================================
   MEJORAR CONTRASTE GENERAL DE ZONAS BEIGE
========================================================== */

.tb-light {
    color: #28172e;
}

.tb-light p {
    color: #55465b;
}

.tb-light a {
    color: #67318f;
    font-weight: 700;
}

.tb-light a:hover {
    color: #3c1559;
}


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

@media (max-width: 1050px) {

    .tb-hero-grid {
        grid-template-columns:
            minmax(0, 1.08fr)
            minmax(320px, .92fr);
    }

    .tb-phone-number {
        font-size: 27px;
    }

    .tb-faq-grid {
        grid-template-columns:
            minmax(320px, .8fr)
            minmax(0, 1.2fr);
    }

    .tb-faq-grid h2 {
        font-size: 34px;
    }

}


/* ==========================================================
   RESPONSIVE MÓVIL/TABLET
========================================================== */

@media (max-width: 900px) {

    .tb-hero-grid {
        grid-template-columns: 1fr;
    }

    .tb-hero-phones {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .tb-phone-number {
        font-size: 32px;
    }

    .tb-faq-grid {
        grid-template-columns: 1fr;
    }

    .tb-faq-grid h2 {
        max-width: none;

        font-size: 39px;
    }

    .tb-faq-brand {
        white-space: normal;
    }

}


@media (max-width: 640px) {

    .tb-hero-phones {
        grid-template-columns: 1fr;
    }

    .tb-phone-card {
        padding: 26px 22px;
    }

    .tb-phone-number {
        font-size: 36px;
    }

    .tb-compare-card {
        min-height: 0;
        padding: 27px;
    }

    .tb-compare-card h3,
    .tb-compare-phone {
        font-size: 37px;
    }

    .tb-faq-grid h2 {
        font-size: 35px;
    }

}

/* ===== VISUAL FIX V4 END ===== */

/* ===== FOOTER V5 START ===== */

.site-footer-v2 {
    position: relative;
    border-top: 1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 15% 20%, rgba(121,62,182,.16), transparent 28rem),
        radial-gradient(circle at 85% 80%, rgba(225,178,79,.08), transparent 26rem),
        #09050e;
}

.footer-top-v2 {
    display: grid;
    grid-template-columns: minmax(300px, 1.2fr) repeat(3, minmax(170px, .75fr));
    gap: 40px;
    padding: 68px 0 42px;
}

.footer-brand-col {
    min-width: 0;
}

.footer-brand-v2 {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fffaf4;
    text-decoration: none;
}

.footer-brand-symbol {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(227,183,86,.28);
    border-radius: 999px;
    color: #f3d382;
    background: rgba(227,183,86,.05);
    font-size: 16px;
}

.footer-brand-text {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1;
}

.footer-brand-copy {
    max-width: 430px;
    margin: 18px 0 0;
    color: #b8acc2;
    font-size: 16px;
    line-height: 1.85;
}

.footer-badges-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.footer-badges-v2 span {
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    color: #d8cde0;
    background: rgba(255,255,255,.04);
    font-size: 11px;
    font-weight: 800;
}

.footer-title-v2 {
    margin-bottom: 16px;
    color: #f3d382;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .02em;
}

.footer-links-v2 {
    display: grid;
    gap: 12px;
}

.footer-links-v2 a {
    color: #d2c5db;
    font-size: 16px;
    text-decoration: none;
}

.footer-links-v2 a:hover,
.footer-bottom-links-v2 a:hover {
    color: #f3d382;
}

.footer-bottom-v2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 26px 0 30px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.footer-bottom-copy-v2 {
    color: #aa9cb5;
    font-size: 15px;
}

.footer-bottom-links-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.footer-bottom-links-v2 a {
    color: #cfc2d8;
    font-size: 14px;
    text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 980px) {

    .footer-top-v2 {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 34px;
    }

    .footer-brand-col {
        grid-column: 1 / -1;
    }

}

@media (max-width: 640px) {

    .footer-top-v2 {
        grid-template-columns: 1fr;
        padding: 54px 0 34px;
        gap: 28px;
    }

    .footer-brand-text {
        font-size: 26px;
    }

    .footer-brand-copy,
    .footer-links-v2 a,
    .footer-bottom-copy-v2 {
        font-size: 15px;
    }

    .footer-bottom-v2 {
        flex-direction: column;
        align-items: flex-start;
        padding-bottom: 24px;
    }

    .footer-bottom-links-v2 {
        gap: 14px;
    }

}

/* ===== FOOTER V5 END ===== */

/* ===== MOBILE HERO PHONES V6 START ===== */

@media (max-width: 640px) {

    /*
     * TELÉFONOS DEL HERO
     * Deben ser el elemento visual dominante.
     */

    .tb-hero .tb-phone-card {
        padding:
            28px
            18px
            27px;
    }

    .tb-hero .tb-phone-card h2 {
        margin:
            7px
            0
            11px;

        font-size: 27px;
    }

    .tb-hero .tb-phone-number {
        display: block;

        width: 100%;

        margin:
            10px
            auto
            13px;

        white-space: nowrap;

        color: #ffffff;

        font-family:
            Georgia,
            "Times New Roman",
            serif;

        font-size: 46px !important;
        font-weight: 900;

        letter-spacing: -.045em;
        line-height: .95;

        text-align: center;
        text-decoration: none;
    }

    /*
     * Número 806 y 910 aún más destacados
     */

    .tb-hero .tb-phone-number:hover {
        color: #f6d98f;
    }

    /*
     * Tarifa legal:
     * visible y legible, pero visualmente secundaria.
     */

    .tb-hero .tb-phone-card .tb-tarifa {
        display: block;

        width: 76%;
        max-width: 330px;
        height: auto;

        margin:
            18px
            auto
            22px;
    }

    /*
     * Texto bajo los números
     */

    .tb-hero .tb-phone-card p {
        min-height: auto;

        margin:
            0
            auto
            13px;

        max-width: 350px;

        font-size: 14px;
        line-height: 1.55;
    }

    /*
     * Etiquetas superiores
     */

    .tb-hero .tb-phone-kicker {
        font-size: 10px;
        letter-spacing: .15em;
    }

}


/*
 * Móviles especialmente estrechos
 */

@media (max-width: 390px) {

    .tb-hero .tb-phone-number {
        font-size: 40px !important;
        letter-spacing: -.05em;
    }

    .tb-hero .tb-phone-card .tb-tarifa {
        width: 82%;
        max-width: 285px;
    }

}


/*
 * Móviles grandes:
 * aprovechamos más el ancho.
 */

@media (min-width: 500px) and (max-width: 640px) {

    .tb-hero .tb-phone-number {
        font-size: 50px !important;
    }

    .tb-hero .tb-phone-card .tb-tarifa {
        width: 72%;
        max-width: 340px;
    }

}

/* ===== MOBILE HERO PHONES V6 END ===== */

/* ===== REMOVE TOP PHONE STRIP V7 START ===== */

/*
 * La franja superior de teléfonos se elimina completamente.
 * Los teléfonos comerciales ya aparecen dentro del hero.
 */

.global-phone-strip {
    display: none !important;
}

/*
 * La barra móvil inferior sí se conserva.
 */

@media (min-width: 651px) {

    .global-mobile-phones {
        display: none !important;
    }

}

/* ===== REMOVE TOP PHONE STRIP V7 END ===== */

/* ===== REAL BRAND V10 START ===== */


/* ==========================================================
   HEADER LOGO
========================================================== */

.brand-image {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 0;
    text-decoration: none;
}

.brand-logo-img {
    display: block;

    width: auto;
    height: 50px;

    max-width: 300px;

    object-fit: contain;
}


/* Quitamos cualquier resto visual del logo antiguo */

.brand-image .brand-symbol,
.brand-image .brand-name {
    display: none !important;
}


/* ==========================================================
   FOOTER LOGO
========================================================== */

.footer-brand-image {
    display: inline-flex;
    align-items: center;
    padding: 0;
    text-decoration: none;
}

.footer-logo-img {
    display: block;

    width: auto;
    height: 78px;

    max-width: 100%;

    object-fit: contain;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 980px) {

    .brand-logo-img {
        height: 46px;
        max-width: 275px;
    }

}


/* ==========================================================
   MÓVIL
========================================================== */

@media (max-width: 640px) {

    .brand-logo-img {
        height: 42px;
        max-width: 235px;
    }

    .footer-logo-img {
        height: 66px;
        max-width: 280px;
    }

}


/* Móviles muy estrechos */

@media (max-width: 390px) {

    .brand-logo-img {
        height: 38px;
        max-width: 210px;
    }

}

/* ===== REAL BRAND V10 END ===== */

/* ===== BIGGER BRAND V11 START ===== */

/*
 * El logo es horizontal.
 * Lo dimensionamos por ANCHURA, no por altura.
 */


/* ==========================================================
   ESCRITORIO
========================================================== */

.brand-image {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
}

.brand-logo-img {
    display: block;

    width: 275px !important;
    height: auto !important;

    max-width: none !important;

    object-fit: contain;
}

.header-inner {
    min-height: 96px;
}


/* ==========================================================
   FOOTER
========================================================== */

.footer-logo-img {
    display: block;

    width: 330px !important;
    height: auto !important;

    max-width: 100% !important;

    object-fit: contain;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1100px) {

    .brand-logo-img {
        width: 250px !important;
        height: auto !important;
    }

    .header-inner {
        min-height: 90px;
    }

}


/* ==========================================================
   MÓVIL
========================================================== */

@media (max-width: 640px) {

    .header-inner {
        min-height: 86px;
        gap: 12px;
    }

    .brand-logo-img {
        width: 225px !important;
        height: auto !important;

        max-width: none !important;
    }

    .footer-logo-img {
        width: 285px !important;
        height: auto !important;
    }

}


/* ==========================================================
   MÓVILES MUY ESTRECHOS
========================================================== */

@media (max-width: 390px) {

    .brand-logo-img {
        width: 205px !important;
    }

    .footer-logo-img {
        width: 250px !important;
    }

}

/* ===== BIGGER BRAND V11 END ===== */
