:root {
    --bg: #0b0710;
    --bg-soft: #15101b;
    --panel: #1b1322;
    --panel-2: #24182c;

    --gold: #e2c181;
    --gold-light: #f2dda9;
    --gold-dark: #a98042;

    --purple: #744184;
    --purple-light: #aa72b5;

    --text: #f7f2f8;
    --muted: #c7bacb;

    --line: rgba(226,193,129,.18);

    --radius: 24px;
    --radius-small: 16px;

    --shadow: 0 24px 70px rgba(0,0,0,.36);
}


/* ==============================================================================================
   BASE
   ============================================================================================== */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;

    color: var(--text);

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    background:
        radial-gradient(
            circle at 15% 0%,
            rgba(92,45,109,.25),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            #100b14 0%,
            var(--bg) 100%
        );
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
}

a,
button {
    -webkit-tap-highlight-color: transparent;
}


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

.site-header {
    position: sticky;
    top: 0;

    z-index: 100;

    border-bottom: 1px solid var(--line);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    background: rgba(12,8,16,.90);
}

.site-header__inner {
    width: min(1240px, calc(100% - 40px));
    min-height: 78px;

    margin: auto;

    display: flex;
    align-items: center;
    gap: 34px;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    flex-shrink: 0;

    text-decoration: none;
}

.site-brand__symbol {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(226,193,129,.42);
    border-radius: 50%;

    color: var(--gold);

    font-size: 22px;

    background: rgba(226,193,129,.055);
}

.site-brand__text {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px;
}

.site-brand__text strong {
    color: var(--gold);
}

.site-nav {
    margin-left: auto;

    display: flex;
    align-items: center;
    gap: 25px;
}

.site-nav a {
    color: var(--muted);

    font-size: 14px;
    font-weight: 650;

    text-decoration: none;
}

.site-nav a:hover {
    color: var(--gold);
}

.header-call {
    min-width: 143px;

    padding: 9px 16px;

    border: 1px solid rgba(226,193,129,.36);
    border-radius: 14px;

    display: flex;
    flex-direction: column;

    text-decoration: none;

    background:
        linear-gradient(
            135deg,
            rgba(226,193,129,.15),
            rgba(226,193,129,.035)
        );
}

.header-call span {
    color: var(--muted);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .08em;
    text-transform: uppercase;
}

.header-call strong {
    margin-top: 2px;

    color: var(--gold-light);

    font-size: 15px;
}


/* ==============================================================================================
   HERO
   ============================================================================================== */

.hero {
    width: min(1240px, calc(100% - 40px));

    min-height: 650px;

    margin: 34px auto 0;

    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(420px,.88fr);

    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 30px;

    background:
        linear-gradient(
            130deg,
            rgba(33,20,40,.97),
            rgba(16,10,20,.99)
        );

    box-shadow: var(--shadow);
}

.hero__content {
    padding: clamp(48px,7vw,92px);

    display: flex;
    flex-direction: column;
    justify-content: center;

    position: relative;
}

.hero__content::before {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    left: -90px;
    top: 20px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(129,67,143,.22),
            transparent 70%
        );

    pointer-events: none;
}

.hero__eyebrow,
.eyebrow,
.phone-option__eyebrow {
    color: var(--gold);

    font-size: 12px;
    font-weight: 850;

    letter-spacing: .12em;
    text-transform: uppercase;
}

.hero h1 {
    max-width: 700px;

    margin: 17px 0 23px;

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

    font-size: clamp(48px,6.2vw,82px);
    line-height: .99;

    letter-spacing: -.035em;
}

.hero__lead {
    max-width: 675px;

    margin: 0;

    color: var(--muted);

    font-size: clamp(17px,1.6vw,20px);
    line-height: 1.75;
}

.hero__actions {
    margin-top: 31px;

    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.hero__trust {
    margin-top: 32px;

    display: flex;
    flex-wrap: wrap;

    gap: 10px 20px;

    color: #a99caf;

    font-size: 12px;
    font-weight: 700;
}

.hero__trust span::before {
    content: "✦";

    margin-right: 7px;

    color: var(--gold-dark);
}

.hero__visual {
    min-height: 650px;

    position: relative;

    overflow: hidden;
}

.hero__visual > img {
    width: 100%;
    height: 100%;

    position: absolute;
    inset: 0;

    object-fit: cover;
}

.hero__visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(18,11,22,.82) 0%,
            rgba(18,11,22,.05) 42%,
            rgba(18,11,22,.18) 100%
        );
}

.hero__visual-card {
    position: absolute;

    right: 28px;
    bottom: 28px;

    z-index: 2;

    min-width: 250px;

    padding: 18px 20px;

    border: 1px solid rgba(226,193,129,.27);
    border-radius: 18px;

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    background: rgba(13,8,16,.80);

    box-shadow: var(--shadow);
}

.hero__visual-card span,
.hero__visual-card small {
    display: block;

    color: var(--muted);
}

.hero__visual-card span {
    font-size: 11px;
    font-weight: 800;

    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero__visual-card strong {
    display: block;

    margin: 5px 0;

    color: var(--gold);

    font-family: Georgia, serif;

    font-size: 24px;
}


/* ==============================================================================================
   BOTONES
   ============================================================================================== */

.button {
    min-height: 48px;

    padding: 13px 20px;

    border: 1px solid transparent;
    border-radius: 13px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button--large {
    min-height: 54px;

    padding: 15px 22px;

    font-size: 15px;
}

.button--wide {
    width: 100%;
}

.button--gold {
    color: #1a111c;

    background:
        linear-gradient(
            135deg,
            var(--gold-light),
            var(--gold)
        );

    box-shadow:
        0 12px 26px
        rgba(226,193,129,.12);
}

.button--outline {
    border-color: rgba(226,193,129,.32);

    color: var(--gold-light);

    background: rgba(255,255,255,.025);
}

.button--dark {
    border-color: rgba(255,255,255,.12);

    color: var(--text);

    background: rgba(255,255,255,.035);
}


/* ==============================================================================================
   SECCIONES
   ============================================================================================== */

.section {
    width: min(1180px, calc(100% - 40px));

    margin: 110px auto;
}

.section-heading {
    max-width: 760px;

    margin: 0 auto 42px;

    text-align: center;
}

.section-heading h2,
.split-section h2,
.feature-band h2,
.final-cta h2 {
    margin: 10px 0 15px;

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

    font-size: clamp(34px,4.5vw,54px);
    line-height: 1.08;
}

.section-heading p,
.split-section__content p,
.feature-band p,
.final-cta p {
    color: var(--muted);

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


/* ==============================================================================================
   TELÉFONOS
   ============================================================================================== */

.phone-grid {
    display: grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap: 22px;
}

.phone-option {
    padding: clamp(26px,4vw,38px);

    border: 1px solid var(--line);
    border-radius: var(--radius);

    background:
        linear-gradient(
            145deg,
            rgba(33,22,40,.93),
            rgba(18,12,23,.96)
        );

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

.phone-option--806 {
    border-color: rgba(226,193,129,.30);
}

.phone-option--prepaid {
    border-color: rgba(155,97,171,.28);
}

.phone-number {
    display: block;

    margin: 9px 0 18px;

    color: var(--text);

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

    font-size: clamp(34px,5vw,48px);
    font-weight: 700;

    text-decoration: none;
}

.phone-option__text {
    color: var(--muted);

    line-height: 1.7;
}

.button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tariff-image {
    width: 100%;
    height: auto;

    margin-top: 18px;

    border-radius: 10px;
}


/* ==============================================================================================
   SPLIT
   ============================================================================================== */

.split-section,
.feature-band {
    display: grid;

    grid-template-columns:
        minmax(0,.95fr)
        minmax(0,1.05fr);

    gap: 60px;

    align-items: center;
}

.split-section__visual,
.feature-band__visual {
    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 28px;

    box-shadow: var(--shadow);
}

.split-section__visual img,
.feature-band__visual img {
    width: 100%;

    aspect-ratio: 4 / 3;

    object-fit: cover;
}

.split-section__content {
    padding: 20px 0;
}


/* ==============================================================================================
   CARDS
   ============================================================================================== */

.steps-grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 18px;
}

.topic-grid {
    display: grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap: 18px;
}

.step-card,
.topic-card {
    padding: 28px;

    border: 1px solid var(--line);
    border-radius: var(--radius-small);

    background: rgba(29,19,36,.73);
}

.step-card__number {
    color: var(--gold);

    font-family: Georgia, serif;

    font-size: 28px;
}

.step-card h3,
.topic-card h3 {
    margin: 14px 0 10px;

    font-family: Georgia, serif;

    font-size: 23px;
}

.step-card p,
.topic-card p {
    margin: 0;

    color: var(--muted);

    line-height: 1.7;
}

.topic-card > span {
    color: var(--gold);

    font-size: 27px;
}


/* ==============================================================================================
   BANDA 24H
   ============================================================================================== */

.feature-band {
    padding: 34px;

    border: 1px solid var(--line);
    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            rgba(56,32,66,.66),
            rgba(20,13,25,.88)
        );
}

.text-link {
    display: inline-block;

    margin-top: 10px;

    color: var(--gold);

    font-weight: 800;

    text-decoration: none;
}


/* ==============================================================================================
   FAQ
   ============================================================================================== */

.faq-list {
    max-width: 900px;

    margin: auto;

    display: grid;

    gap: 12px;
}

.faq-list details {
    padding: 0 20px;

    border: 1px solid var(--line);
    border-radius: 15px;

    background: rgba(27,18,34,.73);
}

.faq-list summary {
    padding: 20px 0;

    cursor: pointer;

    color: var(--text);

    font-weight: 780;
}

.faq-list p {
    margin: 0 0 20px;

    color: var(--muted);

    line-height: 1.7;
}


/* ==============================================================================================
   CTA FINAL
   ============================================================================================== */

.final-cta {
    padding: clamp(30px,5vw,50px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;

    border: 1px solid rgba(226,193,129,.24);
    border-radius: 26px;

    background:
        linear-gradient(
            135deg,
            rgba(64,38,74,.78),
            rgba(22,14,27,.96)
        );
}

.final-cta > div:first-child {
    max-width: 650px;
}

.final-cta__actions {
    min-width: 270px;

    display: grid;

    gap: 10px;
}


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

.site-footer {
    margin-top: 100px;

    border-top: 1px solid var(--line);

    background: #09070c;
}

.site-footer__grid {
    width: min(1180px, calc(100% - 40px));

    margin: auto;

    padding: 52px 0;

    display: grid;

    grid-template-columns:
        1.5fr 1fr 1fr;

    gap: 50px;
}

.site-footer__brand > strong {
    color: var(--gold);

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

    font-size: 24px;
}

.site-footer__brand p {
    max-width: 380px;

    color: var(--muted);

    line-height: 1.7;
}

.site-footer__title {
    display: block;

    margin-bottom: 13px;

    color: var(--text);
}

.site-footer__grid > div:not(:first-child) {
    display: flex;
    flex-direction: column;

    gap: 9px;

    color: var(--muted);

    font-size: 14px;
}

.site-footer__grid a {
    text-decoration: none;
}

.site-footer__grid a:hover {
    color: var(--gold);
}

.site-footer__bottom {
    width: min(1180px, calc(100% - 40px));

    margin: auto;

    padding: 20px 0 28px;

    border-top: 1px solid rgba(255,255,255,.06);

    display: flex;
    justify-content: space-between;

    gap: 20px;

    color: #887d8c;

    font-size: 12px;
}


/* ==============================================================================================
   PÁGINAS INTERIORES
   ============================================================================================== */

.page-shell,
.simple-page {
    width: min(1000px, calc(100% - 40px));

    margin: 70px auto;

    padding: 50px;

    border: 1px solid var(--line);
    border-radius: var(--radius);

    background: var(--panel);
}


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

@media (max-width: 1040px) {

    .site-nav {
        display: none;
    }

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

        min-height: auto;
    }

    .hero__visual {
        min-height: 470px;
    }

    .phone-grid,
    .split-section,
    .feature-band {
        grid-template-columns: 1fr;
    }

    .steps-grid,
    .topic-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


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

@media (max-width: 680px) {

    .site-header__inner {
        width: calc(100% - 24px);

        min-height: 68px;
    }

    .site-brand__symbol {
        width: 34px;
        height: 34px;
    }

    .site-brand__text {
        font-size: 18px;
    }

    .header-call {
        min-width: 0;

        padding: 8px 11px;
    }

    .header-call span {
        display: none;
    }

    .header-call strong {
        font-size: 13px;
    }

    .hero {
        width: calc(100% - 24px);

        margin-top: 16px;

        border-radius: 22px;
    }

    .hero__content {
        padding: 40px 24px;
    }

    .hero h1 {
        font-size: clamp(42px,13vw,61px);
    }

    .hero__actions {
        display: grid;
    }

    .button {
        width: 100%;
    }

    .hero__visual {
        min-height: 390px;
    }

    .hero__visual::after {
        background:
            linear-gradient(
                0deg,
                rgba(16,10,20,.70),
                rgba(16,10,20,.05)
            );
    }

    .hero__visual-card {
        left: 18px;
        right: 18px;
        bottom: 18px;

        min-width: 0;
    }

    .section {
        width: calc(100% - 24px);

        margin: 72px auto;
    }

    .section-heading {
        text-align: left;
    }

    .phone-grid,
    .steps-grid,
    .topic-grid {
        grid-template-columns: 1fr;
    }

    .phone-number {
        font-size: 38px;
    }

    .feature-band {
        padding: 20px;
    }

    .final-cta {
        flex-direction: column;
        align-items: stretch;
    }

    .final-cta__actions {
        width: 100%;
        min-width: 0;
    }

    .site-footer {
        margin-top: 70px;
    }

    .site-footer__grid {
        width: calc(100% - 32px);

        grid-template-columns: 1fr;

        gap: 26px;
    }

    .site-footer__bottom {
        width: calc(100% - 32px);

        flex-direction: column;
    }

}


/* TT COMMERCIAL PAGES START */

.commercial-main {
    width: 100%;
}

.commercial-page {
    padding-top: 34px;
}

.commercial-hero {
    width: min(1180px, calc(100% - 40px));

    margin: auto;

    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(390px, .75fr);

    min-height: 500px;

    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 28px;

    background:
        linear-gradient(
            135deg,
            rgba(37, 23, 45, .96),
            rgba(16, 10, 20, .99)
        );

    box-shadow: var(--shadow);
}

.commercial-hero__content {
    padding: clamp(38px, 6vw, 72px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.breadcrumbs {
    margin-bottom: 26px;

    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    color: #978b9b;

    font-size: 12px;
}

.breadcrumbs a {
    color: var(--gold);

    text-decoration: none;
}

.commercial-hero h1 {
    margin: 14px 0 22px;

    max-width: 690px;

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

    font-size: clamp(42px, 5.5vw, 68px);
    line-height: 1.02;

    letter-spacing: -.03em;
}

.commercial-hero__lead {
    max-width: 690px;

    margin: 0;

    color: var(--muted);

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

.commercial-points {
    margin-top: 25px;

    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}

.commercial-points span {
    padding: 8px 11px;

    border: 1px solid rgba(226,193,129,.18);
    border-radius: 999px;

    color: #d8cadb;

    font-size: 12px;

    background: rgba(255,255,255,.025);
}

.commercial-points span::before {
    content: "✦";

    margin-right: 6px;

    color: var(--gold);
}

.commercial-hero__buttons {
    margin-top: 27px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.commercial-hero__visual {
    min-height: 500px;

    position: relative;

    overflow: hidden;
}

.commercial-hero__visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(20, 12, 24, .45),
            rgba(20, 12, 24, .02)
        );
}

.commercial-hero__visual img {
    width: 100%;
    height: 100%;

    position: absolute;
    inset: 0;

    object-fit: cover;
}

.commercial-access,
.related-section,
.commercial-faq {
    width: min(1080px, calc(100% - 40px));

    margin: 90px auto;
}

.phone-grid--single {
    max-width: 720px;

    margin-left: auto;
    margin-right: auto;

    grid-template-columns: 1fr;
}

.commercial-section {
    width: min(980px, calc(100% - 40px));

    margin: 0 auto;

    padding: 54px 0;

    display: grid;
    grid-template-columns:
        80px
        minmax(0, 1fr);

    gap: 30px;

    border-top: 1px solid rgba(226,193,129,.12);
}

.commercial-section__number {
    color: rgba(226,193,129,.34);

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

    font-size: 42px;
}

.commercial-section__body h2 {
    margin: 0 0 20px;

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

    font-size: clamp(30px,4vw,45px);
    line-height: 1.12;
}

.commercial-section__body p {
    margin: 0 0 18px;

    color: var(--muted);

    font-size: 17px;
    line-height: 1.82;
}

.commercial-list {
    margin: 22px 0 0;
    padding: 0;

    display: grid;
    gap: 11px;

    list-style: none;
}

.commercial-list li {
    position: relative;

    padding-left: 25px;

    color: var(--muted);

    line-height: 1.65;
}

.commercial-list li::before {
    content: "✦";

    position: absolute;
    left: 0;

    color: var(--gold);
}

.related-grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 16px;
}

.related-card {
    min-height: 190px;

    padding: 25px;

    border: 1px solid var(--line);
    border-radius: 18px;

    display: flex;
    flex-direction: column;

    text-decoration: none;

    background:
        linear-gradient(
            145deg,
            rgba(34, 22, 41, .88),
            rgba(18, 12, 22, .92)
        );

    transition:
        transform .18s ease,
        border-color .18s ease;
}

.related-card:hover {
    transform: translateY(-3px);

    border-color:
        rgba(226,193,129,.36);
}

.related-card strong {
    color: var(--gold-light);

    font-family: Georgia, serif;

    font-size: 22px;
}

.related-card span {
    margin-top: 10px;

    color: var(--muted);

    line-height: 1.6;
}

.related-card small {
    margin-top: auto;
    padding-top: 18px;

    color: var(--gold);

    font-weight: 800;
}

.commercial-final {
    width: min(1080px, calc(100% - 40px));

    margin: 90px auto 30px;

    padding: clamp(30px,5vw,48px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;

    border: 1px solid rgba(226,193,129,.24);
    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            rgba(65, 37, 75, .77),
            rgba(22, 14, 27, .96)
        );
}

.commercial-final h2 {
    margin: 8px 0 12px;

    font-family: Georgia, serif;

    font-size: clamp(31px,4vw,46px);
}

.commercial-final p {
    max-width: 660px;

    margin: 0;

    color: var(--muted);

    line-height: 1.7;
}

.responsible-note {
    width: min(900px, calc(100% - 40px));

    margin: 30px auto 0;

    color: #847988;

    font-size: 12px;
    line-height: 1.65;

    text-align: center;
}


/* enlaces home */

.ready-links__grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 15px;
}

.ready-links__grid a {
    min-height: 145px;

    padding: 22px;

    border: 1px solid var(--line);
    border-radius: 16px;

    display: flex;
    flex-direction: column;

    text-decoration: none;

    background: rgba(28,18,34,.72);
}

.ready-links__grid strong {
    color: var(--gold-light);

    font-family: Georgia, serif;

    font-size: 21px;
}

.ready-links__grid span {
    margin-top: 9px;

    color: var(--muted);

    line-height: 1.55;
}


/* tablet */

@media (max-width: 960px) {

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

    .commercial-hero__visual {
        min-height: 430px;

        order: -1;
    }

    .related-grid,
    .ready-links__grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


/* móvil */

@media (max-width: 680px) {

    .commercial-page {
        padding-top: 16px;
    }

    .commercial-hero {
        width: calc(100% - 24px);

        border-radius: 21px;
    }

    .commercial-hero__visual {
        min-height: 330px;
    }

    .commercial-hero__content {
        padding: 34px 23px;
    }

    .commercial-hero h1 {
        font-size: clamp(39px,12vw,55px);
    }

    .commercial-hero__lead {
        font-size: 16px;
    }

    .commercial-hero__buttons {
        display: grid;
    }

    .commercial-access,
    .related-section,
    .commercial-faq {
        width: calc(100% - 24px);

        margin: 65px auto;
    }

    .commercial-section {
        width: calc(100% - 24px);

        padding: 42px 0;

        grid-template-columns: 1fr;

        gap: 10px;
    }

    .commercial-section__number {
        font-size: 26px;
    }

    .commercial-section__body p {
        font-size: 16px;
    }

    .related-grid,
    .ready-links__grid {
        grid-template-columns: 1fr;
    }

    .commercial-final {
        width: calc(100% - 24px);

        margin-top: 60px;

        flex-direction: column;
        align-items: stretch;
    }

}

/* TT COMMERCIAL PAGES END */


/* TT GUIDE PAGES START */

.guide-main {
    width: 100%;
}

.guide-page {
    padding-top: 34px;
}

.guide-hero {
    width: min(1180px, calc(100% - 40px));

    min-height: 510px;

    margin: auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(380px, .72fr);

    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 28px;

    background:
        linear-gradient(
            135deg,
            rgba(37, 23, 45, .96),
            rgba(16, 10, 20, .99)
        );

    box-shadow:
        var(--shadow);
}

.guide-hero__content {
    padding:
        clamp(
            40px,
            6vw,
            72px
        );

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.guide-hero h1 {
    max-width: 720px;

    margin:
        14px 0
        22px;

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

    font-size:
        clamp(
            42px,
            5.5vw,
            68px
        );

    line-height: 1.02;

    letter-spacing: -.03em;
}

.guide-hero__lead {
    max-width: 710px;

    margin: 0;

    color: var(--muted);

    font-size: 18px;
    line-height: 1.76;
}

.guide-hero__actions {
    margin-top: 28px;

    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}

.guide-hero__visual {
    min-height: 510px;

    position: relative;

    overflow: hidden;
}

.guide-hero__visual img {
    width: 100%;
    height: 100%;

    position: absolute;
    inset: 0;

    object-fit: cover;
}

.guide-hero__visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(19, 12, 23, .38),
            rgba(19, 12, 23, .02)
        );
}


.guide-toc {
    width: min(980px, calc(100% - 40px));

    margin:
        54px auto
        20px;

    padding:
        22px 25px;

    border:
        1px solid var(--line);

    border-radius: 16px;

    background:
        rgba(27, 18, 34, .68);
}

.guide-toc > strong {
    display: block;

    margin-bottom: 13px;

    color: var(--gold);

    font-size: 12px;
    font-weight: 850;

    letter-spacing: .09em;
    text-transform: uppercase;
}

.guide-toc > div {
    display: flex;
    flex-wrap: wrap;

    gap:
        8px 18px;
}

.guide-toc a {
    color: var(--muted);

    font-size: 14px;

    text-decoration: none;
}

.guide-toc a:hover {
    color: var(--gold);
}


.guide-section {
    width: min(980px, calc(100% - 40px));

    margin: auto;

    padding:
        55px 0;

    display: grid;

    grid-template-columns:
        75px
        minmax(0, 1fr);

    gap: 30px;

    border-bottom:
        1px solid
        rgba(226, 193, 129, .11);
}

.guide-section__marker {
    color:
        rgba(226, 193, 129, .34);

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

    font-size: 41px;
}

.guide-section__content h2 {
    margin:
        0 0
        21px;

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

    font-size:
        clamp(
            30px,
            4vw,
            44px
        );

    line-height: 1.12;
}

.guide-section__content p {
    margin:
        0 0
        18px;

    color: var(--muted);

    font-size: 17px;
    line-height: 1.84;
}

.guide-list {
    margin:
        24px 0
        0;

    padding: 0;

    display: grid;

    gap: 11px;

    list-style: none;
}

.guide-list li {
    position: relative;

    padding-left: 25px;

    color: var(--muted);

    line-height: 1.7;
}

.guide-list li::before {
    content: "✦";

    position: absolute;
    left: 0;

    color: var(--gold);
}


.guide-cta {
    width: min(1080px, calc(100% - 40px));

    margin:
        90px auto
        25px;

    padding:
        clamp(
            30px,
            5vw,
            48px
        );

    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 38px;

    border:
        1px solid
        rgba(226, 193, 129, .23);

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            rgba(64, 37, 74, .77),
            rgba(21, 14, 26, .96)
        );
}

.guide-cta h2 {
    margin:
        8px 0
        11px;

    max-width: 700px;

    font-family: Georgia, serif;

    font-size:
        clamp(
            30px,
            4vw,
            45px
        );
}

.guide-cta p {
    max-width: 690px;

    margin: 0;

    color: var(--muted);

    line-height: 1.7;
}


/* HOME TRUST */

.trust-guides__grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 15px;
}

.trust-guides__grid a {
    min-height: 155px;

    padding: 23px;

    border:
        1px solid
        var(--line);

    border-radius: 17px;

    display: flex;
    flex-direction: column;

    text-decoration: none;

    background:
        linear-gradient(
            145deg,
            rgba(31, 20, 38, .76),
            rgba(18, 12, 22, .82)
        );

    transition:
        transform .18s ease,
        border-color .18s ease;
}

.trust-guides__grid a:hover {
    transform:
        translateY(-3px);

    border-color:
        rgba(226,193,129,.34);
}

.trust-guides__grid strong {
    color: var(--gold-light);

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

    font-size: 21px;
}

.trust-guides__grid span {
    margin-top: 9px;

    color: var(--muted);

    line-height: 1.58;
}


@media (max-width: 960px) {

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

    .guide-hero__visual {
        min-height: 420px;

        order: -1;
    }

    .trust-guides__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 680px) {

    .guide-page {
        padding-top: 16px;
    }

    .guide-hero {
        width:
            calc(100% - 24px);

        border-radius: 21px;
    }

    .guide-hero__visual {
        min-height: 320px;
    }

    .guide-hero__content {
        padding:
            34px 23px;
    }

    .guide-hero h1 {
        font-size:
            clamp(
                39px,
                12vw,
                54px
            );
    }

    .guide-hero__lead {
        font-size: 16px;
    }

    .guide-hero__actions {
        display: grid;
    }

    .guide-toc {
        width:
            calc(100% - 24px);
    }

    .guide-toc > div {
        display: grid;

        gap: 9px;
    }

    .guide-section {
        width:
            calc(100% - 24px);

        padding:
            42px 0;

        grid-template-columns:
            1fr;

        gap: 8px;
    }

    .guide-section__marker {
        font-size: 26px;
    }

    .guide-section__content p {
        font-size: 16px;
    }

    .guide-cta {
        width:
            calc(100% - 24px);

        margin-top: 60px;

        flex-direction: column;
        align-items: stretch;
    }

    .trust-guides__grid {
        grid-template-columns:
            1fr;
    }

}

/* TT GUIDE PAGES END */


/* TT RELATIONSHIP PAGES START */

.relationship-main {
    width: 100%;
}

.relationship-page {
    padding-top: 34px;
}

.relationship-hero {
    width: min(1180px, calc(100% - 40px));
    min-height: 560px;
    margin: auto;

    display: grid;
    grid-template-columns:
        minmax(0,1.04fr)
        minmax(390px,.76fr);

    overflow: hidden;

    border: 1px solid rgba(226,193,129,.17);
    border-radius: 30px;

    background:
        radial-gradient(
            circle at 10% 0%,
            rgba(125,52,91,.28),
            transparent 40%
        ),
        linear-gradient(
            135deg,
            rgba(44,20,38,.97),
            rgba(16,10,20,.99)
        );

    box-shadow: var(--shadow);
}

.relationship-hero__content {
    padding: clamp(42px,6.5vw,78px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.relationship-eyebrow {
    color: #e8b0c5;

    font-size: 12px;
    font-weight: 850;

    letter-spacing: .13em;
    text-transform: uppercase;
}

.relationship-hero h1 {
    max-width: 720px;

    margin: 14px 0 22px;

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

    font-size: clamp(43px,5.5vw,70px);
    line-height: 1.01;

    letter-spacing: -.035em;
}

.relationship-hero__lead {
    max-width: 710px;

    margin: 0;

    color: var(--muted);

    font-size: 18px;
    line-height: 1.78;
}

.relationship-question-chips {
    margin-top: 25px;

    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}

.relationship-question-chips span {
    padding: 8px 11px;

    border: 1px solid rgba(232,176,197,.20);
    border-radius: 999px;

    color: #dbcbd7;

    font-size: 12px;

    background: rgba(255,255,255,.025);
}

.relationship-question-chips span::before {
    content: "♡";

    margin-right: 6px;

    color: #e8b0c5;
}

.relationship-hero__actions {
    margin-top: 29px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.relationship-hero__visual {
    min-height: 560px;

    position: relative;

    overflow: hidden;
}

.relationship-hero__visual img {
    width: 100%;
    height: 100%;

    position: absolute;
    inset: 0;

    object-fit: cover;
}

.relationship-hero__visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(25,10,20,.48),
            rgba(25,10,20,.02)
        );
}

.relationship-hero__badge {
    position: absolute;

    z-index: 2;

    left: 24px;
    right: 24px;
    bottom: 24px;

    padding: 16px 18px;

    border: 1px solid rgba(232,176,197,.28);
    border-radius: 16px;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    background: rgba(18,8,16,.78);
}

.relationship-hero__badge span {
    display: block;

    color: #c8b6c2;

    font-size: 10px;
    font-weight: 850;

    letter-spacing: .1em;
    text-transform: uppercase;
}

.relationship-hero__badge strong {
    display: block;

    margin-top: 4px;

    color: #f1d5df;

    font-family: Georgia, serif;

    font-size: 22px;
}

.relationship-access {
    width: min(1080px, calc(100% - 40px));

    margin: 90px auto;
}

.relationship-content {
    margin-top: 85px;
}

.relationship-section {
    width: min(980px, calc(100% - 40px));

    margin: auto;

    padding: 58px 0;

    display: grid;
    grid-template-columns:
        minmax(230px,.72fr)
        minmax(0,1.5fr);

    gap: 60px;

    border-top:
        1px solid
        rgba(232,176,197,.11);
}

.relationship-section__heading > span {
    display: block;

    margin-bottom: 12px;

    color: rgba(232,176,197,.46);

    font-family: Georgia, serif;

    font-size: 31px;
}

.relationship-section__heading h2 {
    margin: 0;

    font-family: Georgia, serif;

    font-size: clamp(30px,3.7vw,43px);
    line-height: 1.12;
}

.relationship-section__body p {
    margin: 0 0 19px;

    color: var(--muted);

    font-size: 17px;
    line-height: 1.84;
}

.relationship-list {
    margin: 25px 0 0;
    padding: 0;

    display: grid;

    gap: 11px;

    list-style: none;
}

.relationship-list li {
    position: relative;

    padding-left: 27px;

    color: var(--muted);

    line-height: 1.7;
}

.relationship-list li::before {
    content: "♡";

    position: absolute;
    left: 0;

    color: #e8b0c5;
}

.relationship-related {
    width: min(1080px, calc(100% - 40px));

    margin: 90px auto;
}

.relationship-related__grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 16px;
}

.relationship-related__card {
    min-height: 190px;

    padding: 25px;

    border: 1px solid rgba(232,176,197,.14);
    border-radius: 18px;

    display: flex;
    flex-direction: column;

    text-decoration: none;

    background:
        linear-gradient(
            145deg,
            rgba(42,20,35,.79),
            rgba(19,12,23,.91)
        );

    transition:
        transform .18s ease,
        border-color .18s ease;
}

.relationship-related__card:hover {
    transform: translateY(-3px);

    border-color: rgba(232,176,197,.35);
}

.relationship-related__card strong {
    color: #f0cfdb;

    font-family: Georgia, serif;

    font-size: 22px;
}

.relationship-related__card span {
    margin-top: 10px;

    color: var(--muted);

    line-height: 1.62;
}

.relationship-related__card small {
    margin-top: auto;
    padding-top: 18px;

    color: #e8b0c5;

    font-weight: 800;
}

.relationship-note {
    width: min(900px, calc(100% - 40px));

    margin: 75px auto;

    padding: 25px 28px;

    display: grid;
    grid-template-columns:
        46px
        minmax(0,1fr);

    gap: 18px;

    border: 1px solid rgba(232,176,197,.17);
    border-radius: 18px;

    background: rgba(43,20,36,.43);
}

.relationship-note > span {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(232,176,197,.28);
    border-radius: 50%;

    color: #e8b0c5;

    font-size: 20px;
}

.relationship-note strong {
    color: #f0dce3;

    line-height: 1.45;
}

.relationship-note p {
    margin: 7px 0 0;

    color: var(--muted);

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

.relationship-cta {
    background:
        linear-gradient(
            135deg,
            rgba(91,37,70,.72),
            rgba(25,14,28,.97)
        );
}


/* HOME */

.love-home__grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 15px;
}

.love-home__grid a {
    min-height: 155px;

    padding: 23px;

    border: 1px solid rgba(232,176,197,.15);
    border-radius: 17px;

    display: flex;
    flex-direction: column;

    text-decoration: none;

    background:
        linear-gradient(
            145deg,
            rgba(43,21,37,.72),
            rgba(19,12,23,.83)
        );

    transition:
        transform .18s ease,
        border-color .18s ease;
}

.love-home__grid a:hover {
    transform: translateY(-3px);

    border-color: rgba(232,176,197,.35);
}

.love-home__grid strong {
    color: #f0cfdb;

    font-family: Georgia, serif;

    font-size: 21px;
}

.love-home__grid span {
    margin-top: 9px;

    color: var(--muted);

    line-height: 1.58;
}


@media (max-width: 960px) {

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

    .relationship-hero__visual {
        min-height: 440px;

        order: -1;
    }

    .relationship-section {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .relationship-related__grid,
    .love-home__grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media (max-width: 680px) {

    .relationship-page {
        padding-top: 16px;
    }

    .relationship-hero {
        width: calc(100% - 24px);

        min-height: auto;

        border-radius: 21px;
    }

    .relationship-hero__visual {
        min-height: 330px;
    }

    .relationship-hero__content {
        padding: 34px 23px;
    }

    .relationship-hero h1 {
        font-size: clamp(39px,12vw,54px);
    }

    .relationship-hero__lead {
        font-size: 16px;
    }

    .relationship-hero__actions {
        display: grid;
    }

    .relationship-access,
    .relationship-related {
        width: calc(100% - 24px);

        margin: 65px auto;
    }

    .relationship-content {
        margin-top: 55px;
    }

    .relationship-section {
        width: calc(100% - 24px);

        padding: 42px 0;
    }

    .relationship-section__heading > span {
        font-size: 24px;
    }

    .relationship-section__body p {
        font-size: 16px;
    }

    .relationship-related__grid,
    .love-home__grid {
        grid-template-columns: 1fr;
    }

    .relationship-note {
        width: calc(100% - 24px);

        grid-template-columns: 1fr;
    }

}

/* TT RELATIONSHIP PAGES END */


/* =================================================================================================
   TT FLOATING UI BEGIN
   Popup propio de consentimiento + cookies + CTA móvil
   ================================================================================================= */


/* -------------------------------------------------------------------------------------------------
   DESACTIVAR LA INTERFAZ VISUAL DEL GESTOR ANTERIOR
   ------------------------------------------------------------------------------------------------- */

#cc-main {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* -------------------------------------------------------------------------------------------------
   BLOQUEO DEL SCROLL AL ABRIR EL MODAL
   ------------------------------------------------------------------------------------------------- */

html.tt-consent-open,
html.tt-consent-open body {
    overflow: hidden;
}


/* -------------------------------------------------------------------------------------------------
   BOTÓN FLOTANTE COOKIES
   ------------------------------------------------------------------------------------------------- */

.tt-cookie-trigger {
    position: fixed;

    left: 10px;

    bottom:
        calc(
            14px
            + env(safe-area-inset-bottom, 0px)
        );

    z-index: 11900;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 6px;

    min-height: 34px;

    padding:
        0 13px;

    border:
        1px solid
        rgba(229, 193, 119, .50);

    border-radius:
        999px;

    background:
        #160d1c;

    color:
        #e7c47e;

    box-shadow:
        0 7px 25px
        rgba(0, 0, 0, .30);

    font-family:
        inherit;

    font-size:
        11px;

    font-weight:
        800;

    line-height:
        1;

    cursor:
        pointer;
}


.tt-cookie-trigger:hover {
    background:
        #211329;

    border-color:
        #e7c47e;
}


.tt-cookie-trigger:focus-visible {
    outline:
        2px solid
        #e7c47e;

    outline-offset:
        3px;
}


.tt-cookie-trigger__icon {
    width:
        15px;

    height:
        15px;

    flex:
        0 0 15px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle at 31% 31%,
            #6c4d27 0 1.1px,
            transparent 1.3px
        ),
        radial-gradient(
            circle at 68% 30%,
            #6c4d27 0 1px,
            transparent 1.2px
        ),
        radial-gradient(
            circle at 62% 68%,
            #6c4d27 0 1.1px,
            transparent 1.3px
        ),
        radial-gradient(
            circle at 30% 68%,
            #6c4d27 0 1px,
            transparent 1.2px
        ),
        #e7c47e;
}


/* -------------------------------------------------------------------------------------------------
   FONDO DEL POPUP
   ------------------------------------------------------------------------------------------------- */

.tt-consent[hidden] {
    display:
        none !important;
}


.tt-consent {
    position:
        fixed;

    inset:
        0;

    z-index:
        12000;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        20px;

    background:
        rgba(10, 5, 14, .62);

    -webkit-backdrop-filter:
        blur(4px);

    backdrop-filter:
        blur(4px);
}


/* -------------------------------------------------------------------------------------------------
   VENTANA
   ------------------------------------------------------------------------------------------------- */

.tt-consent__panel {
    width:
        min(
            100%,
            390px
        );

    max-height:
        min(
            90vh,
            720px
        );

    overflow-y:
        auto;

    padding:
        18px;

    border:
        1px solid
        rgba(228, 191, 115, .38);

    border-radius:
        20px;

    background:
        #170d1d;

    color:
        #efe9f1;

    box-shadow:
        0 30px 80px
        rgba(0, 0, 0, .48);
}


/* -------------------------------------------------------------------------------------------------
   CABECERA
   ------------------------------------------------------------------------------------------------- */

.tt-consent__header {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        14px;
}


.tt-consent__brand {
    display:
        flex;

    align-items:
        center;

    gap:
        11px;
}


.tt-consent__logo {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        32px;

    height:
        32px;

    flex:
        0 0 32px;

    border-radius:
        9px;

    background:
        #e7c47e;

    color:
        #1a1020;

    font-size:
        13px;

    font-weight:
        900;
}


.tt-consent__brandtext {
    display:
        flex;

    flex-direction:
        column;

    gap:
        1px;
}


.tt-consent__brandtext strong {
    color:
        #ffffff;

    font-size:
        13px;

    font-weight:
        900;

    line-height:
        1.15;
}


.tt-consent__brandtext small {
    color:
        #bcb0c2;

    font-size:
        9px;

    font-weight:
        800;

    line-height:
        1.1;

    letter-spacing:
        .02em;
}


.tt-consent__close {
    width:
        31px;

    height:
        31px;

    flex:
        0 0 31px;

    border:
        1px solid
        rgba(228, 191, 115, .28);

    border-radius:
        9px;

    background:
        #211525;

    color:
        #d5cdd8;

    font-size:
        20px;

    line-height:
        1;

    cursor:
        pointer;
}


/* -------------------------------------------------------------------------------------------------
   CONTENIDO
   ------------------------------------------------------------------------------------------------- */

.tt-consent__view[hidden] {
    display:
        none !important;
}


.tt-consent__view h2 {
    margin:
        0 0 10px;

    color:
        #f6eff5;

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

    font-size:
        23px;

    font-weight:
        700;

    line-height:
        1.15;

    letter-spacing:
        -.025em;
}


.tt-consent__description {
    margin:
        0 0 17px;

    color:
        #d2c7d5;

    font-size:
        13px;

    line-height:
        1.55;
}


/* -------------------------------------------------------------------------------------------------
   BOTONES PRINCIPALES
   ------------------------------------------------------------------------------------------------- */

.tt-consent__actions {
    display:
        grid;

    grid-template-columns:
        1fr
        1fr;

    gap:
        9px;

    margin-bottom:
        9px;
}


.tt-consent__button,
.tt-consent__preferences {
    min-height:
        42px;

    border-radius:
        11px;

    font-family:
        inherit;

    font-size:
        13px;

    font-weight:
        900;

    cursor:
        pointer;
}


.tt-consent__button--accept {
    border:
        1px solid
        #e7c47e;

    background:
        #e7c47e;

    color:
        #150c1a;
}


.tt-consent__button--deny {
    border:
        1px solid
        rgba(228, 191, 115, .40);

    background:
        #120a16;

    color:
        #f3edf4;
}


.tt-consent__preferences {
    width:
        100%;

    border:
        1px solid
        rgba(255, 255, 255, .07);

    background:
        #241928;

    color:
        #ded5df;
}


.tt-consent__button--full {
    width:
        100%;

    margin-top:
        13px;
}


.tt-consent__button:hover,
.tt-consent__preferences:hover,
.tt-consent__close:hover {
    filter:
        brightness(1.06);
}


/* -------------------------------------------------------------------------------------------------
   VOLVER
   ------------------------------------------------------------------------------------------------- */

.tt-consent__back {
    display:
        inline-flex;

    margin:
        0 0 12px;

    padding:
        0;

    border:
        0;

    background:
        transparent;

    color:
        #e7c47e;

    font-family:
        inherit;

    font-size:
        12px;

    font-weight:
        800;

    cursor:
        pointer;
}


/* -------------------------------------------------------------------------------------------------
   CATEGORÍAS
   ------------------------------------------------------------------------------------------------- */

.tt-consent__categories {
    display:
        grid;

    gap:
        8px;
}


.tt-consent__category {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        14px;

    padding:
        13px;

    border:
        1px solid
        rgba(255, 255, 255, .07);

    border-radius:
        12px;

    background:
        #201524;
}


.tt-consent__category strong {
    display:
        block;

    margin-bottom:
        3px;

    color:
        #f4edf4;

    font-size:
        13px;
}


.tt-consent__category p {
    margin:
        0;

    color:
        #bdb1c0;

    font-size:
        11px;

    line-height:
        1.4;
}


.tt-consent__always {
    color:
        #e7c47e;

    font-size:
        10px;

    font-weight:
        900;

    white-space:
        nowrap;
}


/* -------------------------------------------------------------------------------------------------
   INTERRUPTORES
   ------------------------------------------------------------------------------------------------- */

.tt-consent__switch {
    position:
        relative;

    display:
        inline-flex;

    width:
        42px;

    height:
        23px;

    flex:
        0 0 42px;
}


.tt-consent__switch input {
    position:
        absolute;

    width:
        1px;

    height:
        1px;

    opacity:
        0;
}


.tt-consent__slider {
    position:
        absolute;

    inset:
        0;

    border-radius:
        999px;

    background:
        #493d4d;

    cursor:
        pointer;

    transition:
        background .16s ease;
}


.tt-consent__slider::after {
    content:
        "";

    position:
        absolute;

    top:
        3px;

    left:
        3px;

    width:
        17px;

    height:
        17px;

    border-radius:
        50%;

    background:
        #ffffff;

    transition:
        transform .16s ease;
}


.tt-consent__switch input:checked
+
.tt-consent__slider {
    background:
        #cda961;
}


.tt-consent__switch input:checked
+
.tt-consent__slider::after {
    transform:
        translateX(19px);
}


/* -------------------------------------------------------------------------------------------------
   ENLACES LEGALES
   ------------------------------------------------------------------------------------------------- */

.tt-consent__legal {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        9px 14px;

    margin-top:
        14px;

    padding-top:
        13px;

    border-top:
        1px solid
        rgba(255, 255, 255, .07);
}


.tt-consent__legal a {
    color:
        #e7c47e;

    font-size:
        10px;

    font-weight:
        800;

    text-decoration:
        none;
}


.tt-consent__legal a:hover {
    text-decoration:
        underline;
}


/* -------------------------------------------------------------------------------------------------
   CTA MÓVIL
   ------------------------------------------------------------------------------------------------- */

.tt-mobile-callbar {
    display:
        none;
}


@media (max-width: 767px) {

    body {
        padding-bottom:
            calc(
                76px
                +
                env(
                    safe-area-inset-bottom,
                    0px
                )
            );
    }


    .tt-mobile-callbar {
        position:
            fixed;

        left:
            1px;

        right:
            1px;

        bottom:
            calc(
                1px
                +
                env(
                    safe-area-inset-bottom,
                    0px
                )
            );

        z-index:
            11800;

        display:
            grid;

        grid-template-columns:
            1fr
            1fr;

        overflow:
            hidden;

        min-height:
            61px;

        border:
            1px solid
            rgba(231, 196, 126, .55);

        border-radius:
            16px;

        background:
            #0f0913;

        box-shadow:
            0 -7px 30px
            rgba(0, 0, 0, .32);
    }


    .tt-mobile-callbar__item {
        display:
            flex;

        flex-direction:
            column;

        align-items:
            center;

        justify-content:
            center;

        min-width:
            0;

        min-height:
            60px;

        padding:
            8px 5px;

        text-align:
            center;

        text-decoration:
            none;
    }


    .tt-mobile-callbar__item strong {
        max-width:
            100%;

        overflow:
            hidden;

        font-size:
            14px;

        font-weight:
            900;

        line-height:
            1;

        letter-spacing:
            -.025em;

        text-overflow:
            ellipsis;

        white-space:
            nowrap;
    }


    .tt-mobile-callbar__item small {
        margin-top:
            4px;

        font-size:
            9px;

        font-weight:
            900;

        line-height:
            1;

        letter-spacing:
            .02em;
    }


    .tt-mobile-callbar__item--806 {
        background:
            #e7c47e;

        color:
            #110915;
    }


    .tt-mobile-callbar__item--806 small {
        color:
            #3d2814;
    }


    .tt-mobile-callbar__item--prepaid {
        border-left:
            1px solid
            rgba(231, 196, 126, .45);

        background:
            #0f0913;

        color:
            #ffffff;
    }


    .tt-mobile-callbar__item--prepaid small {
        color:
            #e7c47e;
    }


    .tt-cookie-trigger {
        left:
            9px;

        bottom:
            calc(
                71px
                +
                env(
                    safe-area-inset-bottom,
                    0px
                )
            );

        min-height:
            32px;

        padding:
            0 11px;

        font-size:
            10px;
    }


    .tt-consent {
        align-items:
            center;

        padding:
            10px;
    }


    .tt-consent__panel {
        width:
            100%;

        max-height:
            calc(
                100dvh
                -
                20px
            );

        padding:
            17px;

        border-radius:
            18px;
    }


    .tt-consent__view h2 {
        font-size:
            22px;
    }

}


@media (min-width: 768px) {

    .tt-mobile-callbar {
        display:
            none !important;
    }

}


/* =================================================================================================
   TT FLOATING UI END
   ================================================================================================= */


/* =================================================================================================
   TT COOKIE POPUP - SIN OVERLAY
   Popup inferior sin oscurecer ni desenfocar el sitio
   ================================================================================================= */


/*
 * No bloquear la página mientras está abierto.
 */
html.tt-consent-open,
html.tt-consent-open body {
    overflow: auto !important;
}


/*
 * El contenedor deja de cubrir toda la pantalla.
 * Se convierte en un cuadro flotante inferior.
 */
.tt-consent {
    position: fixed !important;

    inset: auto !important;

    left: 18px !important;
    right: auto !important;

    bottom:
        calc(
            18px
            + env(safe-area-inset-bottom, 0px)
        ) !important;

    width: auto !important;
    height: auto !important;

    z-index: 12000 !important;

    display: block;

    padding: 0 !important;

    background: transparent !important;

    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;

    pointer-events: none;
}


/*
 * Solo el cuadro recibe clics.
 * El resto de la web sigue totalmente utilizable.
 */
.tt-consent__panel {
    pointer-events: auto;

    width:
        min(
            390px,
            calc(100vw - 36px)
        ) !important;

    max-height:
        calc(
            100vh
            - 36px
        ) !important;

    margin: 0 !important;

    box-shadow:
        0 16px 45px
        rgba(0, 0, 0, .32) !important;
}


/*
 * Móvil:
 * el popup queda encima de la barra fija
 * CONSULTA 806 / ACCESO PREPAGO.
 */
@media (max-width: 767px) {

    .tt-consent {
        left: 8px !important;
        right: 8px !important;

        bottom:
            calc(
                72px
                + env(safe-area-inset-bottom, 0px)
            ) !important;

        width: auto !important;
    }


    .tt-consent__panel {
        width: 100% !important;

        max-height:
            calc(
                100dvh
                - 92px
                - env(safe-area-inset-bottom, 0px)
            ) !important;

        border-radius: 16px !important;
    }

}


/* =================================================================================================
   FIN TT COOKIE POPUP SIN OVERLAY
   ================================================================================================= */


/* =================================================================================================
   TT CONSENT BOTTOM NO OVERLAY BEGIN
   Popup inferior, página visible y utilizable
   ================================================================================================= */


/*
 * La apertura del consentimiento NO bloquea
 * el scroll de la página.
 */
html.tt-consent-open,
html.tt-consent-open body {
    overflow: auto !important;
}


/*
 * El contenedor ya no funciona como overlay.
 *
 * - no ocupa visualmente el viewport;
 * - no pinta negro;
 * - no desenfoca;
 * - deja pasar los clics hacia la página.
 */
.tt-consent {
    position: fixed !important;

    inset: auto !important;

    left: 18px !important;
    right: auto !important;

    bottom:
        calc(
            18px
            + env(safe-area-inset-bottom, 0px)
        ) !important;

    width: auto !important;
    height: auto !important;

    padding: 0 !important;

    background: transparent !important;

    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;

    pointer-events: none !important;
}


/*
 * La caja sí sigue siendo interactiva.
 */
.tt-consent__panel {
    pointer-events: auto !important;

    width:
        min(
            390px,
            calc(100vw - 36px)
        ) !important;

    max-height:
        calc(
            100vh
            - 36px
        ) !important;

    margin: 0 !important;

    box-shadow:
        0 15px 42px
        rgba(0, 0, 0, .28) !important;
}


/*
 * MÓVIL:
 * popup justo encima de:
 *
 * CONSULTA 806 | ACCESO PREPAGO
 */
@media (max-width: 767px) {

    .tt-consent {
        left: 8px !important;
        right: 8px !important;

        bottom:
            calc(
                72px
                + env(safe-area-inset-bottom, 0px)
            ) !important;

        width: auto !important;
    }


    .tt-consent__panel {
        width: 100% !important;

        max-height:
            calc(
                100dvh
                - 92px
                - env(safe-area-inset-bottom, 0px)
            ) !important;

        border-radius: 16px !important;
    }

}


/* =================================================================================================
   TT CONSENT BOTTOM NO OVERLAY END
   ================================================================================================= */


/* =================================================================================================
   TT SITE FOOTER V2 BEGIN
   ================================================================================================= */

.tt-site-footer {
    margin-top:
        80px;

    border-top:
        1px solid
        rgba(231, 196, 126, .16);

    background:
        #09070b;

    color:
        #cfc3d2;
}


.tt-site-footer__inner {
    width:
        min(
            1180px,
            calc(100% - 40px)
        );

    margin:
        0 auto;

    padding:
        54px 0 22px;
}


.tt-site-footer__grid {
    display:
        grid;

    grid-template-columns:
        minmax(260px, 1.55fr)
        repeat(
            3,
            minmax(150px, 1fr)
        );

    gap:
        42px;
}


/* -------------------------------------------------------------------------------------------------
   MARCA
   ------------------------------------------------------------------------------------------------- */

.tt-site-footer__logo {
    display:
        inline-block;

    margin-bottom:
        14px;

    color:
        #e7c47e;

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

    font-size:
        25px;

    font-weight:
        700;

    line-height:
        1;

    text-decoration:
        none;
}


.tt-site-footer__logo:hover {
    color:
        #f0d99e;

    text-decoration:
        none;
}


.tt-site-footer__brand p {
    max-width:
        350px;

    margin:
        0 0 15px;

    color:
        #c5b8c9;

    font-size:
        14px;

    line-height:
        1.65;
}


.tt-site-footer__adult {
    display:
        inline-block;

    color:
        #8f8294;

    font-size:
        11px;

    line-height:
        1.4;
}


/* -------------------------------------------------------------------------------------------------
   COLUMNAS
   ------------------------------------------------------------------------------------------------- */

.tt-site-footer__column {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    gap:
        11px;
}


.tt-site-footer__column h2 {
    margin:
        0 0 5px;

    color:
        #ffffff;

    font-family:
        inherit;

    font-size:
        12px;

    font-weight:
        900;

    line-height:
        1;

    text-transform:
        none;
}


.tt-site-footer__column a {
    position:
        relative;

    display:
        inline-block;

    color:
        #cbbfd0;

    font-size:
        13px;

    line-height:
        1.35;

    text-decoration:
        none;

    transition:
        color .15s ease,
        transform .15s ease;
}


.tt-site-footer__column a:hover {
    color:
        #e7c47e;

    transform:
        translateX(2px);

    text-decoration:
        none;
}


.tt-site-footer__column a:focus-visible,
.tt-site-footer__logo:focus-visible {
    outline:
        2px solid
        #e7c47e;

    outline-offset:
        4px;

    border-radius:
        3px;
}


/* -------------------------------------------------------------------------------------------------
   PIE INFERIOR
   ------------------------------------------------------------------------------------------------- */

.tt-site-footer__bottom {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin-top:
        46px;

    padding-top:
        20px;

    border-top:
        1px solid
        rgba(255, 255, 255, .07);

    color:
        #766b7b;

    font-size:
        11px;
}


/* -------------------------------------------------------------------------------------------------
   TABLET
   ------------------------------------------------------------------------------------------------- */

@media (max-width: 950px) {

    .tt-site-footer__grid {
        grid-template-columns:
            1.4fr
            1fr
            1fr;
    }


    .tt-site-footer__column:last-child {
        grid-column:
            2 / 4;
    }

}


/* -------------------------------------------------------------------------------------------------
   MÓVIL
   ------------------------------------------------------------------------------------------------- */

@media (max-width: 700px) {

    .tt-site-footer {
        margin-top:
            55px;
    }


    .tt-site-footer__inner {
        width:
            min(
                100% - 30px,
                1180px
            );

        padding:
            38px 0 98px;
    }


    .tt-site-footer__grid {
        grid-template-columns:
            1fr
            1fr;

        gap:
            34px 24px;
    }


    .tt-site-footer__brand {
        grid-column:
            1 / -1;
    }


    .tt-site-footer__column:last-child {
        grid-column:
            auto;
    }


    .tt-site-footer__logo {
        font-size:
            23px;
    }


    .tt-site-footer__column a {
        font-size:
            12px;
    }


    .tt-site-footer__bottom {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            6px;

        margin-top:
            34px;
    }

}


/* -------------------------------------------------------------------------------------------------
   MÓVIL ESTRECHO
   ------------------------------------------------------------------------------------------------- */

@media (max-width: 440px) {

    .tt-site-footer__grid {
        grid-template-columns:
            1fr;

        gap:
            30px;
    }


    .tt-site-footer__brand,
    .tt-site-footer__column,
    .tt-site-footer__column:last-child {
        grid-column:
            1;
    }

}


/* =================================================================================================
   TT SITE FOOTER V2 END
   ================================================================================================= */
