/* =========================================================
   TuBabyShower - Micrositio Público
   Diseño: Estrellita Camino
   Archivo destino:
   /wp-content/themes/lovebite/assets/css/micrositios/tbs-micrositio-Estrellita-Camino.css

   Shortcodes objetivo:
   [tbs_micrositio_publico plan="dulce_llegada"]
   [tbs_micrositio_publico plan="dulce_experiencia"]
   [tbs_micrositio_contratado plan="dulce_llegada"]
   [tbs_micrositio_contratado plan="dulce_experiencia"]

   Importante:
   - Este CSS NO depende de [tbs_selector_template_evento].
   - Este CSS solamente aplica al micrositio público cuando el diseño
     seleccionado por [tbs_selector_micrositio_evento] es Estrellita Camino.
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Alex+Brush&family=Cormorant+Garamond:wght@500;600;700&family=Roboto:wght@400;500;700;900&display=swap');

/* =========================================================
   0) AISLAMIENTO Y VARIABLES DEL DISEÑO
========================================================= */

.tbs-ms.tbs-micrositio-publico,
.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    --tbs-ms-pink: #ec6fa3;
    --tbs-ms-pink-dark: #ce4f86;
    --tbs-ms-blush: #fff1f7;
    --tbs-ms-peach: #ffd7bf;
    --tbs-ms-cream: #fffaf3;
    --tbs-ms-blue: #8fc7dc;
    --tbs-ms-blue-dark: #5aa3bf;
    --tbs-ms-gold: #d8a24c;
    --tbs-ms-lav: #bba1e8;
    --tbs-ms-green: #65b890;

    --tbs-ms-ink: #3d3339;
    --tbs-ms-muted: #786873;
    --tbs-ms-soft: #fff7fb;
    --tbs-ms-white: #ffffff;

    --tbs-ms-border: rgba(236, 111, 163, .18);
    --tbs-ms-blue-border: rgba(143, 199, 220, .24);
    --tbs-ms-card: rgba(255, 255, 255, .90);
    --tbs-ms-card-solid: #ffffff;

    --tbs-ms-shadow: 0 28px 80px rgba(151, 92, 130, .16);
    --tbs-ms-shadow-soft: 0 16px 42px rgba(63, 49, 56, .09);
    --tbs-ms-shadow-blue: 0 18px 44px rgba(89, 163, 191, .16);

    --tbs-ms-radius-xl: 38px;
    --tbs-ms-radius-lg: 30px;
    --tbs-ms-radius-md: 20px;
    --tbs-ms-radius-sm: 16px;

    --tbs-ms-max: 1180px;
    --tbs-ms-font-body: "Roboto", Arial, Helvetica, sans-serif;
    --tbs-ms-font-title: "Cormorant Garamond", Georgia, serif;
    --tbs-ms-font-script: "Alex Brush", "Segoe Script", cursive;

    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    color: var(--tbs-ms-ink) !important;
    font-family: var(--tbs-ms-font-body) !important;
    background:
        radial-gradient(circle at 0% 4%, rgba(255, 204, 225, .48), transparent 28%),
        radial-gradient(circle at 100% 8%, rgba(184, 226, 242, .32), transparent 24%),
        radial-gradient(circle at 10% 88%, rgba(255, 215, 191, .32), transparent 28%),
        linear-gradient(180deg, #fffafd 0%, #ffffff 36%, #fff8fc 100%) !important;
}

.tbs-ms.tbs-micrositio-publico,
.tbs-ms.tbs-micrositio-publico *,
.tbs-ms.tbs-micrositio-publico *::before,
.tbs-ms.tbs-micrositio-publico *::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino *,
.tbs-micrositio-publico.tbs-publico-estrellita-camino *::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino *::after {
    box-sizing: border-box !important;
}

.tbs-ms.tbs-micrositio-publico img,
.tbs-micrositio-publico.tbs-publico-estrellita-camino img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

.tbs-ms.tbs-micrositio-publico a,
.tbs-micrositio-publico.tbs-publico-estrellita-camino a {
    text-decoration: none !important;
}

/* Blindaje contra template_evento del panel */
body[data-tbs-template-evento] .tbs-ms.tbs-micrositio-publico,
body[class*="tbs-template-"] .tbs-ms.tbs-micrositio-publico,
body[class*="tbs-diseno-"] .tbs-ms.tbs-micrositio-publico,
body[data-tbs-template-evento] .tbs-micrositio-publico.tbs-publico-estrellita-camino {
    font-family: var(--tbs-ms-font-body) !important;
    color: var(--tbs-ms-ink) !important;
    background:
        radial-gradient(circle at 0% 4%, rgba(255, 204, 225, .48), transparent 28%),
        radial-gradient(circle at 100% 8%, rgba(184, 226, 242, .32), transparent 24%),
        radial-gradient(circle at 10% 88%, rgba(255, 215, 191, .32), transparent 28%),
        linear-gradient(180deg, #fffafd 0%, #ffffff 36%, #fff8fc 100%) !important;
}

/* =========================================================
   1) FONDOS DECORATIVOS
========================================================= */

.tbs-ms-bg,
.tbs-ms-floating {
    position: absolute !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.tbs-ms-bg-one {
    top: 110px !important;
    left: -150px !important;
    width: 380px !important;
    height: 380px !important;
    border-radius: 999px !important;
    background: radial-gradient(circle, rgba(236, 111, 163, .22), transparent 66%) !important;
    filter: blur(2px) !important;
}

.tbs-ms-bg-two {
    top: 520px !important;
    right: -170px !important;
    width: 430px !important;
    height: 430px !important;
    border-radius: 999px !important;
    background: radial-gradient(circle, rgba(143, 199, 220, .22), transparent 65%) !important;
    filter: blur(2px) !important;
}

.tbs-ms-floating-one,
.tbs-ms-floating-two {
    width: 96px !important;
    height: 96px !important;
    border-radius: 999px !important;
    background:
        radial-gradient(circle at 30% 22%, rgba(255,255,255,.92), transparent 30%),
        linear-gradient(135deg, rgba(255, 238, 246, .74), rgba(234, 249, 255, .68)) !important;
    box-shadow: 0 16px 42px rgba(151, 92, 130, .10) !important;
    opacity: .75 !important;
    animation: tbsMsFloat 8s ease-in-out infinite !important;
}

.tbs-ms-floating-one {
    top: 180px !important;
    right: 8% !important;
}

.tbs-ms-floating-two {
    top: 780px !important;
    left: 6% !important;
    width: 68px !important;
    height: 68px !important;
    animation-delay: -3s !important;
}

/* =========================================================
   2) HERO
========================================================= */

.tbs-ms-hero {
    position: relative !important;
    z-index: 2 !important;
    width: min(var(--tbs-ms-max), calc(100% - 40px)) !important;
    margin: 0 auto !important;
    padding: clamp(54px, 7vw, 96px) 0 clamp(34px, 5vw, 70px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, .9fr) !important;
    align-items: center !important;
    gap: clamp(28px, 5vw, 68px) !important;
}

.tbs-ms-hero-copy {
    position: relative !important;
    z-index: 4 !important;
    animation: tbsMsFadeUp .72s ease-out both !important;
}

.tbs-ms-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    margin: 0 0 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(236, 111, 163, .18) !important;
    background: rgba(255, 255, 255, .78) !important;
    color: var(--tbs-ms-pink-dark) !important;
    box-shadow: 0 12px 28px rgba(151, 92, 130, .10), inset 0 1px 0 rgba(255,255,255,.92) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(10px) !important;
}

.tbs-ms-hero h1 {
    margin: 0 0 18px !important;
    max-width: 720px !important;
    color: var(--tbs-ms-ink) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(50px, 6.2vw, 96px) !important;
    font-weight: 600 !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
}

.tbs-ms-hero h1 span {
    display: block !important;
    color: var(--tbs-ms-pink) !important;
    font-family: var(--tbs-ms-font-script) !important;
    font-size: clamp(60px, 7vw, 116px) !important;
    font-weight: 400 !important;
    line-height: .88 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 12px 32px rgba(236, 111, 163, .15) !important;
}

.tbs-ms-hero-text {
    max-width: 620px !important;
    margin: 0 0 24px !important;
    color: var(--tbs-ms-muted) !important;
    font-size: clamp(17px, 1.45vw, 22px) !important;
    font-weight: 500 !important;
    line-height: 1.62 !important;
}

.tbs-ms-meta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 28px 0 26px !important;
}

.tbs-ms-meta > div {
    position: relative !important;
    overflow: hidden !important;
    min-height: 104px !important;
    padding: 17px 16px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(236, 111, 163, .12) !important;
    background: rgba(255, 255, 255, .80) !important;
    box-shadow: var(--tbs-ms-shadow-soft) !important;
    backdrop-filter: blur(12px) !important;
}

.tbs-ms-meta > div::after {
    content: "" !important;
    position: absolute !important;
    right: -24px !important;
    bottom: -28px !important;
    width: 78px !important;
    height: 78px !important;
    border-radius: 999px !important;
    background: rgba(236, 111, 163, .055) !important;
}

.tbs-ms-meta strong {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.tbs-ms-meta span {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    color: #50434a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.tbs-ms-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
}

.tbs-ms-btn,
.tbs-ms .elementor-button,
.tbs-ms .ff-btn-submit,
.tbs-ms button[type="submit"],
.tbs-ms input[type="submit"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 52px !important;
    padding: 14px 24px !important;
    border-radius: 999px !important;
    border: 1px solid transparent !important;
    font-family: var(--tbs-ms-font-body) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease !important;
}

.tbs-ms-btn:hover,
.tbs-ms .elementor-button:hover,
.tbs-ms .ff-btn-submit:hover,
.tbs-ms button[type="submit"]:hover,
.tbs-ms input[type="submit"]:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.02) !important;
}

.tbs-ms-btn-primary,
.tbs-ms .ff-btn-submit,
.tbs-ms button[type="submit"],
.tbs-ms input[type="submit"] {
    color: #fff !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.28), transparent 30%),
        linear-gradient(135deg, var(--tbs-ms-pink), var(--tbs-ms-pink-dark)) !important;
    box-shadow: 0 16px 34px rgba(236, 111, 163, .28), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.tbs-ms-btn-soft {
    color: var(--tbs-ms-pink-dark) !important;
    background: rgba(255, 255, 255, .82) !important;
    border-color: rgba(236, 111, 163, .22) !important;
    box-shadow: 0 14px 30px rgba(151, 92, 130, .08) !important;
}

.tbs-ms-btn-ghost {
    color: var(--tbs-ms-blue-dark) !important;
    background: rgba(240, 250, 255, .84) !important;
    border-color: rgba(143, 199, 220, .28) !important;
    box-shadow: 0 14px 30px rgba(89, 163, 191, .08) !important;
}

/* Hero art */
.tbs-ms-hero-art {
    position: relative !important;
    z-index: 3 !important;
    animation: tbsMsFadeUp .82s ease-out .12s both !important;
}

.tbs-ms-art-card {
    position: relative !important;
    overflow: hidden !important;
    min-height: 560px !important;
    border-radius: 46px !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,.92)),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') center / cover no-repeat !important;
    box-shadow: var(--tbs-ms-shadow), inset 0 1px 0 rgba(255,255,255,.90) !important;
}

.tbs-ms-art-preview {
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    object-fit: cover !important;
    object-position: center !important;
    opacity: .78 !important;
    filter: saturate(1.03) brightness(1.03) !important;
}

.tbs-ms-art-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,250,253,.22) 46%, rgba(255,255,255,.72) 100%),
        radial-gradient(circle at 50% 15%, rgba(255,255,255,.46), transparent 34%) !important;
    pointer-events: none !important;
}

.tbs-ms-art-badge {
    position: absolute !important;
    top: 24px !important;
    right: 24px !important;
    z-index: 4 !important;
    width: 64px !important;
    height: 64px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.86) !important;
    box-shadow: 0 16px 34px rgba(151, 92, 130, .13) !important;
    font-size: 28px !important;
    animation: tbsMsFloat 6s ease-in-out infinite !important;
}

.tbs-ms-art-cloud {
    position: absolute !important;
    z-index: 4 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.72) !important;
    box-shadow: 0 16px 38px rgba(151, 92, 130, .10) !important;
}

.tbs-ms-art-cloud.cloud-one {
    left: 34px !important;
    bottom: 132px !important;
    width: 112px !important;
    height: 44px !important;
}

.tbs-ms-art-cloud.cloud-two {
    right: 72px !important;
    bottom: 92px !important;
    width: 82px !important;
    height: 34px !important;
}

.tbs-ms-art-main {
    position: absolute !important;
    left: 28px !important;
    right: 28px !important;
    bottom: 28px !important;
    z-index: 5 !important;
    padding: 22px 24px !important;
    border-radius: 30px !important;
    border: 1px solid rgba(255,255,255,.78) !important;
    background: rgba(255, 255, 255, .84) !important;
    box-shadow: 0 18px 42px rgba(151, 92, 130, .12) !important;
    backdrop-filter: blur(12px) !important;
    text-align: center !important;
}

.tbs-ms-art-main span {
    display: block !important;
    color: var(--tbs-ms-gold) !important;
    font-family: var(--tbs-ms-font-script) !important;
    font-size: 42px !important;
    line-height: .9 !important;
}

.tbs-ms-art-main strong {
    display: block !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -.03em !important;
}

/* =========================================================
   3) ACCESOS RÁPIDOS
========================================================= */

.tbs-ms-quicknav {
    position: sticky !important;
    top: 12px !important;
    z-index: 20 !important;
    width: min(1050px, calc(100% - 40px)) !important;
    margin: -18px auto 42px !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 10px !important;
    border-radius: 26px !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: var(--tbs-ms-shadow-soft) !important;
    backdrop-filter: blur(16px) !important;
}

.tbs-ms-quicknav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
    color: var(--tbs-ms-muted) !important;
    background: transparent !important;
    transition: background .2s ease, transform .2s ease, color .2s ease !important;
}

.tbs-ms-quicknav a:hover {
    transform: translateY(-2px) !important;
    color: var(--tbs-ms-pink-dark) !important;
    background: rgba(255, 241, 247, .88) !important;
}

.tbs-ms-quicknav span {
    width: 30px !important;
    height: 30px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #fff0f7, #f0fbff) !important;
    box-shadow: 0 10px 20px rgba(151, 92, 130, .08) !important;
    font-size: 15px !important;
}

.tbs-ms-quicknav strong {
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* =========================================================
   4) SECCIONES GENERALES
========================================================= */

.tbs-ms-section,
.tbs-ms-countdown-section,
.tbs-ms-closing {
    position: relative !important;
    z-index: 2 !important;
    width: min(var(--tbs-ms-max), calc(100% - 40px)) !important;
    margin: 0 auto !important;
    padding: clamp(34px, 5vw, 64px) 0 !important;
}

.tbs-ms-section-head {
    max-width: 760px !important;
    margin: 0 auto 28px !important;
    text-align: center !important;
}

.tbs-ms-section-head > span {
    display: inline-grid !important;
    place-items: center !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 auto 14px !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.88), transparent 34%),
        linear-gradient(135deg, #fff0f7, #edf9ff) !important;
    box-shadow: 0 16px 34px rgba(151, 92, 130, .10) !important;
    font-size: 26px !important;
}

.tbs-ms-section-head h2,
.tbs-ms-countdown-copy h2,
.tbs-ms-closing-card h2 {
    margin: 0 0 10px !important;
    color: var(--tbs-ms-ink) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(38px, 4.4vw, 64px) !important;
    font-weight: 600 !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
    text-wrap: balance !important;
}

.tbs-ms-section-head p,
.tbs-ms-countdown-copy p,
.tbs-ms-closing-card p {
    max-width: 660px !important;
    margin: 0 auto !important;
    color: var(--tbs-ms-muted) !important;
    font-size: clamp(15.5px, 1.25vw, 18px) !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
}

/* =========================================================
   5) DETALLES DEL EVENTO
========================================================= */

.tbs-ms-details-card,
.tbs-ms-rsvp-card,
.tbs-ms-location-card,
.tbs-ms-module-card,
.tbs-ms-guestbook-card,
.tbs-ms-countdown-card,
.tbs-ms-closing-card {
    position: relative !important;
    overflow: hidden !important;
    border-radius: var(--tbs-ms-radius-xl) !important;
    border: 1px solid var(--tbs-ms-border) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 230, 241, .62), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,253,.93)) !important;
    box-shadow: var(--tbs-ms-shadow) !important;
    backdrop-filter: blur(10px) !important;
}

.tbs-ms-details-card::after,
.tbs-ms-rsvp-card::after,
.tbs-ms-location-card::after,
.tbs-ms-module-card::after,
.tbs-ms-guestbook-card::after,
.tbs-ms-countdown-card::after,
.tbs-ms-closing-card::after {
    content: "" !important;
    position: absolute !important;
    right: -70px !important;
    bottom: -80px !important;
    width: 210px !important;
    height: 210px !important;
    border-radius: 999px !important;
    background: rgba(143, 199, 220, .085) !important;
    pointer-events: none !important;
}

.tbs-ms-details-card {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr) !important;
    gap: 22px !important;
    align-items: stretch !important;
    padding: clamp(24px, 4vw, 42px) !important;
}

.tbs-ms-details-copy {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 10px !important;
}

.tbs-ms-details-copy small {
    display: inline-flex !important;
    width: fit-content !important;
    margin: 0 0 12px !important;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    background: rgba(255, 241, 247, .92) !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.tbs-ms-details-copy h3 {
    margin: 0 0 12px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(32px, 3.2vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
}

.tbs-ms-details-copy p {
    margin: 0 !important;
    color: var(--tbs-ms-muted) !important;
    font-size: 16px !important;
    line-height: 1.68 !important;
}

.tbs-ms-details-list {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    gap: 12px !important;
}

.tbs-ms-details-list > div {
    padding: 18px 20px !important;
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    align-items: center !important;
    gap: 14px !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.78) !important;
    border: 1px solid rgba(236,111,163,.10) !important;
    box-shadow: 0 12px 26px rgba(151, 92, 130, .06) !important;
}

.tbs-ms-details-list b {
    color: var(--tbs-ms-pink-dark) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

.tbs-ms-details-list span {
    color: #54464d !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

/* =========================================================
   6) CUENTA REGRESIVA
========================================================= */

.tbs-ms-countdown-card {
    display: grid !important;
    grid-template-columns: minmax(0, .82fr) minmax(430px, 1fr) !important;
    align-items: center !important;
    gap: 24px !important;
    padding: clamp(24px, 4vw, 40px) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(236,111,163,.18), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(143,199,220,.22), transparent 38%),
        linear-gradient(135deg, #ffffff, #fff7fb) !important;
}

.tbs-ms-countdown-copy {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.tbs-ms-countdown-copy > span {
    width: 70px !important;
    height: 70px !important;
    flex: 0 0 70px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, #fff0f7, #edf9ff) !important;
    box-shadow: 0 16px 34px rgba(151, 92, 130, .10) !important;
    font-size: 31px !important;
}

.tbs-ms-countdown-copy h2 {
    font-size: clamp(32px, 3.4vw, 50px) !important;
}

.tbs-ms-countdown-copy p {
    margin-left: 0 !important;
}

.tbs-ms-countdown {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.tbs-ms-countdown > div {
    min-height: 122px !important;
    padding: 18px 10px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    background: rgba(255,255,255,.82) !important;
    box-shadow: 0 14px 30px rgba(151, 92, 130, .08) !important;
}

.tbs-ms-countdown strong {
    display: block !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(40px, 4.2vw, 64px) !important;
    font-weight: 700 !important;
    line-height: .86 !important;
    letter-spacing: -.04em !important;
}

.tbs-ms-countdown span {
    display: block !important;
    margin-top: 8px !important;
    color: var(--tbs-ms-muted) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}

/* =========================================================
   7) RSVP / FLUENT FORMS
========================================================= */

.tbs-ms-rsvp-card {
    max-width: 860px !important;
    margin: 0 auto !important;
    padding: clamp(24px, 4vw, 40px) !important;
}

.tbs-rsvp-header {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 0 8px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    text-align: center !important;
}

.tbs-rsvp-sub {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 auto 22px !important;
    max-width: 540px !important;
    color: var(--tbs-ms-muted) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    text-align: center !important;
}

.tbs-ms-rsvp-card .fluentform,
.tbs-ms-rsvp-card form {
    position: relative !important;
    z-index: 2 !important;
}

.tbs-ms-rsvp-card .ff-el-group {
    margin-bottom: 16px !important;
}

.tbs-ms-rsvp-card label,
.tbs-ms-rsvp-card .ff-el-input--label label {
    color: #54464d !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
}

.tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.tbs-ms-rsvp-card select,
.tbs-ms-rsvp-card textarea {
    width: 100% !important;
    min-height: 50px !important;
    padding: 13px 16px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(236,111,163,.18) !important;
    background: rgba(255,255,255,.82) !important;
    color: var(--tbs-ms-ink) !important;
    font-family: var(--tbs-ms-font-body) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    outline: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.tbs-ms-rsvp-card input:focus,
.tbs-ms-rsvp-card select:focus,
.tbs-ms-rsvp-card textarea:focus {
    border-color: rgba(236,111,163,.42) !important;
    box-shadow: 0 0 0 4px rgba(236,111,163,.10), inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.tbs-ms-rsvp-card .ff-btn-submit {
    width: 100% !important;
    margin-top: 8px !important;
}

/* =========================================================
   8) UBICACIÓN
========================================================= */

.tbs-ms-location-card {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 20px !important;
    padding: clamp(22px, 3.2vw, 34px) !important;
}

.tbs-ms-location-icon {
    position: relative !important;
    z-index: 2 !important;
    width: 76px !important;
    height: 76px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 26px !important;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.90), transparent 32%),
        linear-gradient(135deg, #fff0f7, #eef8ff) !important;
    box-shadow: 0 16px 34px rgba(151, 92, 130, .10) !important;
    font-size: 32px !important;
}

.tbs-ms-location-copy {
    position: relative !important;
    z-index: 2 !important;
}

.tbs-ms-location-copy h3 {
    margin: 0 0 7px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(28px, 2.6vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
}

.tbs-ms-location-copy p {
    margin: 0 !important;
    color: var(--tbs-ms-muted) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
}

.tbs-ms-location-action {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    justify-content: flex-end !important;
}

.tbs-ms-location-action a,
.tbs-ms-location-action button,
.tbs-ms-location-action .elementor-button,
.tbs-ms-location-action .tbs-btn,
.tbs-ms-location-action [class*="boton"] {
    min-height: 52px !important;
    padding: 14px 22px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--tbs-ms-blue), var(--tbs-ms-blue-dark)) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: var(--tbs-ms-shadow-blue) !important;
    font-weight: 900 !important;
}

/* =========================================================
   9) MÓDULOS: WISHLIST / REGALOS / GUESTBOOK
========================================================= */

.tbs-ms-module-card,
.tbs-ms-guestbook-card {
    padding: clamp(18px, 3vw, 32px) !important;
}

.tbs-ms-module-card > *,
.tbs-ms-guestbook-card > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Normalización visual para tarjetas internas de otros shortcodes */
.tbs-ms-module-card .tbs-regalo-card,
.tbs-ms-module-card .tbs-wishlist-card,
.tbs-ms-module-card .tbs-rv-card,
.tbs-ms-module-card .regalo-card,
.tbs-ms-guestbook-card .tbs-guestbook-card,
.tbs-ms-guestbook-card .tbs-message-card {
    border-radius: 24px !important;
    border-color: rgba(236,111,163,.12) !important;
    background: rgba(255,255,255,.86) !important;
    box-shadow: 0 14px 34px rgba(151, 92, 130, .08) !important;
}

.tbs-ms-module-card h1,
.tbs-ms-module-card h2,
.tbs-ms-module-card h3,
.tbs-ms-guestbook-card h1,
.tbs-ms-guestbook-card h2,
.tbs-ms-guestbook-card h3 {
    font-family: var(--tbs-ms-font-title) !important;
    color: var(--tbs-ms-pink-dark) !important;
}

.tbs-ms-module-card a.button,
.tbs-ms-module-card button,
.tbs-ms-module-card .button,
.tbs-ms-module-card .tbs-btn,
.tbs-ms-guestbook-card button,
.tbs-ms-guestbook-card .button,
.tbs-ms-guestbook-card .tbs-btn {
    border-radius: 999px !important;
}

/* =========================================================
   10) CIERRE
========================================================= */

.tbs-ms-closing-card {
    max-width: 880px !important;
    margin: 0 auto !important;
    padding: clamp(30px, 5vw, 56px) !important;
    text-align: center !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255,215,191,.38), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(143,199,220,.20), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,251,.96)) !important;
}

.tbs-ms-closing-icon {
    position: relative !important;
    z-index: 2 !important;
    width: 76px !important;
    height: 76px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto 16px !important;
    border-radius: 28px !important;
    background: linear-gradient(135deg, #fff0f7, #eef8ff) !important;
    box-shadow: 0 16px 34px rgba(151, 92, 130, .10) !important;
    font-size: 34px !important;
}

.tbs-ms-closing-card h2,
.tbs-ms-closing-card p,
.tbs-ms-closing-card a {
    position: relative !important;
    z-index: 2 !important;
}

.tbs-ms-closing-card .tbs-ms-btn {
    margin-top: 24px !important;
}

/* =========================================================
   11) PLANES
========================================================= */

.tbs-ms.tbs-plan-dulce-llegada .tbs-ms-quicknav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.tbs-ms.tbs-plan-dulce-llegada .tbs-ms-hero {
    padding-bottom: clamp(34px, 4.5vw, 56px) !important;
}

.tbs-ms.tbs-plan-dulce-experiencia .tbs-ms-pill {
    color: var(--tbs-ms-blue-dark) !important;
    border-color: rgba(143,199,220,.24) !important;
    background: rgba(239, 249, 255, .86) !important;
}

/* =========================================================
   12) ANIMACIONES
========================================================= */

@keyframes tbsMsFadeUp {
    0% {
        opacity: 0;
        transform: translateY(22px);
        filter: blur(4px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes tbsMsFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

.tbs-ms-section,
.tbs-ms-countdown-section,
.tbs-ms-closing {
    animation: tbsMsFadeUp .75s ease-out both !important;
    animation-timeline: view() !important;
    animation-range: entry 0% cover 22% !important;
}

@media (prefers-reduced-motion: reduce) {
    .tbs-ms.tbs-micrositio-publico *,
    .tbs-ms.tbs-micrositio-publico *::before,
    .tbs-ms.tbs-micrositio-publico *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================
   13) RESPONSIVE
========================================================= */

@media (max-width: 1120px) {
    .tbs-ms-hero {
        grid-template-columns: 1fr !important;
        padding-top: 54px !important;
    }

    .tbs-ms-hero-copy {
        max-width: 860px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .tbs-ms-hero-text {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .tbs-ms-actions {
        justify-content: center !important;
    }

    .tbs-ms-art-card,
    .tbs-ms-art-preview {
        min-height: 460px !important;
    }

    .tbs-ms-details-card,
    .tbs-ms-countdown-card {
        grid-template-columns: 1fr !important;
    }

    .tbs-ms-countdown-copy {
        justify-content: center !important;
        text-align: left !important;
    }
}

@media (max-width: 860px) {
    .tbs-ms-meta {
        grid-template-columns: 1fr !important;
    }

    .tbs-ms-meta > div {
        min-height: auto !important;
    }

    .tbs-ms-countdown {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tbs-ms-location-card {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
    }

    .tbs-ms-location-action {
        justify-content: center !important;
        width: 100% !important;
    }

    .tbs-ms-location-action a,
    .tbs-ms-location-action button,
    .tbs-ms-location-action .elementor-button,
    .tbs-ms-location-action .tbs-btn,
    .tbs-ms-location-action [class*="boton"] {
        width: 100% !important;
        max-width: 330px !important;
    }
}

@media (max-width: 767px) {
    .tbs-ms.tbs-micrositio-publico,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .tbs-ms-hero,
    .tbs-ms-section,
    .tbs-ms-countdown-section,
    .tbs-ms-closing,
    .tbs-ms-quicknav {
        width: min(100% - 28px, var(--tbs-ms-max)) !important;
    }

    .tbs-ms-hero {
        padding: 40px 0 28px !important;
        gap: 24px !important;
    }

    .tbs-ms-hero h1 {
        font-size: clamp(42px, 13vw, 66px) !important;
    }

    .tbs-ms-hero h1 span {
        font-size: clamp(52px, 16vw, 78px) !important;
    }

    .tbs-ms-hero-text {
        font-size: 16px !important;
    }

    .tbs-ms-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 340px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .tbs-ms-btn,
    .tbs-ms .elementor-button,
    .tbs-ms .ff-btn-submit,
    .tbs-ms button[type="submit"],
    .tbs-ms input[type="submit"] {
        width: 100% !important;
        min-height: 54px !important;
    }

    .tbs-ms-art-card,
    .tbs-ms-art-preview {
        min-height: 390px !important;
        border-radius: 32px !important;
    }

    .tbs-ms-art-main {
        left: 18px !important;
        right: 18px !important;
        bottom: 18px !important;
        border-radius: 24px !important;
        padding: 18px !important;
    }

    .tbs-ms-art-main span {
        font-size: 34px !important;
    }

    .tbs-ms-art-main strong {
        font-size: 31px !important;
    }

    .tbs-ms-quicknav {
        position: relative !important;
        top: auto !important;
        margin: 0 auto 20px !important;
        grid-template-columns: 1fr 1fr !important;
        border-radius: 22px !important;
    }

    .tbs-ms.tbs-plan-dulce-llegada .tbs-ms-quicknav {
        grid-template-columns: 1fr !important;
    }

    .tbs-ms-section,
    .tbs-ms-countdown-section,
    .tbs-ms-closing {
        padding: 34px 0 !important;
    }

    .tbs-ms-section-head {
        margin-bottom: 22px !important;
    }

    .tbs-ms-section-head h2,
    .tbs-ms-countdown-copy h2,
    .tbs-ms-closing-card h2 {
        font-size: clamp(32px, 10vw, 46px) !important;
    }

    .tbs-ms-details-card,
    .tbs-ms-rsvp-card,
    .tbs-ms-location-card,
    .tbs-ms-module-card,
    .tbs-ms-guestbook-card,
    .tbs-ms-countdown-card,
    .tbs-ms-closing-card {
        border-radius: 28px !important;
    }

    .tbs-ms-details-card,
    .tbs-ms-rsvp-card,
    .tbs-ms-location-card,
    .tbs-ms-module-card,
    .tbs-ms-guestbook-card,
    .tbs-ms-countdown-card,
    .tbs-ms-closing-card {
        padding: 22px 18px !important;
    }

    .tbs-ms-details-list > div {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        text-align: center !important;
    }

    .tbs-ms-countdown-copy {
        display: grid !important;
        justify-items: center !important;
        text-align: center !important;
    }

    .tbs-ms-countdown-copy p {
        margin-left: auto !important;
    }
}

@media (max-width: 480px) {
    .tbs-ms-hero,
    .tbs-ms-section,
    .tbs-ms-countdown-section,
    .tbs-ms-closing,
    .tbs-ms-quicknav {
        width: min(100% - 22px, var(--tbs-ms-max)) !important;
    }

    .tbs-ms-pill {
        font-size: 10.5px !important;
        padding: 0 14px !important;
    }

    .tbs-ms-countdown {
        gap: 9px !important;
    }

    .tbs-ms-countdown > div {
        min-height: 104px !important;
        border-radius: 20px !important;
    }

    .tbs-ms-countdown strong {
        font-size: 40px !important;
    }

    .tbs-ms-countdown span {
        font-size: 10px !important;
    }
}

/* =========================================================
   16) AJUSTE V12 - HEADER + FOOTER DIFUMINADOS
   Inspiración homepage + fondo repetido del diseño
   - Imagen header en desktop y móvil.
   - Imagen footer en desktop y móvil.
   - Fondo del diseño repetido a lo largo del micrositio.
   - Overlay decorativo con PNG del diseño.
========================================================= */

.tbs-ms.tbs-micrositio-publico,
.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    z-index: 0 !important;
    background: linear-gradient(180deg, #fffafd 0%, #fffdfd 100%) !important;
}

.tbs-ms.tbs-micrositio-publico::before,
.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;
    pointer-events: none !important;
    opacity: .78 !important;
    background:
        linear-gradient(180deg, rgba(255,251,253,.72) 0%, rgba(255,255,255,.56) 18%, rgba(255,250,253,.62) 48%, rgba(255,255,255,.72) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / 100% auto repeat-y !important;
}

.tbs-ms.tbs-micrositio-publico::after,
.tbs-ms.tbs-publico-estrellita-camino::after,
.tbs-ms.tbs-micrositio-estrellita-camino::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    opacity: .34 !important;
    background: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / 100% auto repeat-y !important;
}

/* HERO tipo portada con imagen principal */
.tbs-ms-hero {
    position: relative !important;
    overflow: hidden !important;
    grid-template-columns: 1fr !important;
    align-items: end !important;
    min-height: clamp(540px, 62vw, 760px) !important;
    margin: 18px auto 0 !important;
    padding: clamp(34px, 4.5vw, 56px) !important;
    border-radius: 48px !important;
    border: 1px solid rgba(255,255,255,.9) !important;
    box-shadow: 0 32px 80px rgba(151, 92, 130, .18), inset 0 1px 0 rgba(255,255,255,.92) !important;
    background: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') center center / cover no-repeat !important;
}

.tbs-ms-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,250,253,.28) 30%, rgba(255,248,252,.62) 58%, rgba(255,249,252,.88) 100%),
        radial-gradient(circle at 20% 16%, rgba(255,255,255,.34), transparent 26%),
        radial-gradient(circle at 80% 14%, rgba(255,244,250,.24), transparent 24%) !important;
}

.tbs-ms-hero::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: 170px !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,251,253,.32) 42%, rgba(255,251,253,.94) 100%) !important;
}

.tbs-ms-hero-copy {
    width: min(100%, 650px) !important;
    margin-left: auto !important;
    padding: clamp(24px, 3vw, 34px) !important;
    border-radius: 36px !important;
    border: 1px solid rgba(255,255,255,.92) !important;
    background: linear-gradient(180deg, rgba(255,247,251,.84), rgba(255,250,253,.90)) !important;
    box-shadow: 0 22px 54px rgba(135, 86, 116, .14) !important;
    backdrop-filter: blur(14px) !important;
}

.tbs-ms-hero-copy > * {
    position: relative !important;
    z-index: 4 !important;
}

.tbs-ms-hero-art {
    display: none !important;
}

.tbs-ms-hero h1 {
    max-width: none !important;
    font-size: clamp(46px, 5.6vw, 86px) !important;
}

.tbs-ms-hero h1 span {
    font-size: clamp(58px, 6.2vw, 106px) !important;
}

.tbs-ms-meta > div,
.tbs-ms-details-list > div,
.tbs-ms-countdown > div,
.tbs-ms-quicknav a,
.tbs-ms-location-card,
.tbs-ms-module-card,
.tbs-ms-guestbook-card,
.tbs-ms-rsvp-card,
.tbs-ms-details-card,
.tbs-ms-countdown-card {
    backdrop-filter: blur(12px) !important;
}

.tbs-ms-quicknav {
    margin: -24px auto 46px !important;
    background: rgba(255,255,255,.90) !important;
    border: 1px solid rgba(255,255,255,.94) !important;
}

/* Footer decorativo que se funde con el fondo general */
.tbs-ms-closing {
    position: relative !important;
    padding-top: 26px !important;
    padding-bottom: 92px !important;
}

.tbs-ms-closing::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -26px !important;
    height: 130px !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(255,250,253,0) 0%, rgba(255,250,253,.62) 56%, rgba(255,250,253,.92) 100%) !important;
}

.tbs-ms-closing-card {
    min-height: 400px !important;
    padding: clamp(36px, 4vw, 54px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,248,252,.28) 28%, rgba(255,248,252,.76) 62%, rgba(255,249,252,.94) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/preview-Estrellita-Camino.jpg') center center / cover no-repeat !important;
    border: 1px solid rgba(255,255,255,.92) !important;
    box-shadow: 0 30px 80px rgba(151, 92, 130, .16) !important;
}

.tbs-ms-closing-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 80% 18%, rgba(255,255,255,.34), transparent 20%),
        radial-gradient(circle at 24% 16%, rgba(255,240,248,.24), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,250,253,.22) 30%, rgba(255,250,253,.90) 100%) !important;
}

.tbs-ms-closing-icon,
.tbs-ms-closing-card h2,
.tbs-ms-closing-card p,
.tbs-ms-closing-card a {
    position: relative !important;
    z-index: 3 !important;
    max-width: 520px !important;
}

.tbs-ms-closing-icon {
    margin-bottom: 14px !important;
    background: rgba(255,255,255,.86) !important;
}

.tbs-ms-closing-card h2 {
    margin-bottom: 12px !important;
    color: var(--tbs-ms-pink-dark) !important;
}

.tbs-ms-closing-card p {
    margin: 0 0 18px !important;
}

/* Mayor integración visual de las ventanas funcionales */
.tbs-ms-details-card,
.tbs-ms-rsvp-card,
.tbs-ms-location-card,
.tbs-ms-module-card,
.tbs-ms-guestbook-card,
.tbs-ms-countdown-card,
.tbs-ms-closing-card {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 230, 241, .52), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,250,253,.84)) !important;
}

/* ============================
   TABLET / MOBILE
============================ */
@media (max-width: 1024px) {
    .tbs-ms-hero {
        min-height: 620px !important;
        padding: 28px !important;
        border-radius: 38px !important;
        background-position: center top !important;
    }

    .tbs-ms-hero-copy {
        width: min(100%, 600px) !important;
        padding: 22px !important;
    }

    .tbs-ms-hero::after {
        height: 140px !important;
    }

    .tbs-ms-closing-card {
        min-height: 360px !important;
    }
}

@media (max-width: 767px) {
    .tbs-ms.tbs-micrositio-publico::before,
    .tbs-ms.tbs-publico-estrellita-camino::before,
    .tbs-ms.tbs-micrositio-estrellita-camino::before,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before {
        opacity: .86 !important;
        background:
            linear-gradient(180deg, rgba(255,251,253,.72) 0%, rgba(255,255,255,.56) 18%, rgba(255,250,253,.64) 52%, rgba(255,255,255,.74) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / cover repeat-y !important;
    }

    .tbs-ms.tbs-micrositio-publico::after,
    .tbs-ms.tbs-publico-estrellita-camino::after,
    .tbs-ms.tbs-micrositio-estrellita-camino::after,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
        opacity: .34 !important;
        background: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') center top / 100% auto repeat-y !important;
    }

    .tbs-ms-hero {
        width: min(100%, calc(100% - 20px)) !important;
        min-height: 610px !important;
        margin-top: 10px !important;
        padding: 20px !important;
        border-radius: 28px !important;
        align-items: end !important;
        background-position: left center !important;
    }

    .tbs-ms-hero::before {
        background:
            linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,248,252,.22) 26%, rgba(255,248,252,.58) 56%, rgba(255,249,252,.92) 100%),
            radial-gradient(circle at 24% 18%, rgba(255,255,255,.26), transparent 22%) !important;
    }

    .tbs-ms-hero::after {
        height: 126px !important;
    }

    .tbs-ms-hero-copy {
        width: 100% !important;
        margin-left: 0 !important;
        padding: 20px 18px !important;
        border-radius: 24px !important;
        background: linear-gradient(180deg, rgba(255,250,253,.84), rgba(255,251,253,.92)) !important;
    }

    .tbs-ms-hero h1 {
        font-size: clamp(42px, 13vw, 62px) !important;
        line-height: .96 !important;
    }

    .tbs-ms-hero h1 span {
        font-size: clamp(52px, 15vw, 72px) !important;
    }

    .tbs-ms-hero-text {
        font-size: 16px !important;
        line-height: 1.52 !important;
    }

    .tbs-ms-meta {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin: 22px 0 18px !important;
    }

    .tbs-ms-meta > div {
        min-height: auto !important;
        padding: 16px 16px !important;
        border-radius: 20px !important;
    }

    .tbs-ms-actions {
        gap: 10px !important;
    }

    .tbs-ms-btn,
    .tbs-ms .elementor-button,
    .tbs-ms .ff-btn-submit,
    .tbs-ms button[type="submit"],
    .tbs-ms input[type="submit"] {
        width: 100% !important;
    }

    .tbs-ms-quicknav {
        width: min(100%, calc(100% - 20px)) !important;
        margin: -14px auto 30px !important;
        padding: 10px !important;
        gap: 8px !important;
        border-radius: 20px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tbs-ms-closing {
        padding-bottom: 62px !important;
    }

    .tbs-ms-closing-card {
        min-height: 300px !important;
        padding: 22px 18px !important;
        align-items: stretch !important;
        border-radius: 28px !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,248,252,.26) 24%, rgba(255,248,252,.70) 60%, rgba(255,249,252,.94) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/preview-Estrellita-Camino.jpg') center center / cover no-repeat !important;
    }

    .tbs-ms-closing-icon,
    .tbs-ms-closing-card h2,
    .tbs-ms-closing-card p,
    .tbs-ms-closing-card a {
        max-width: 100% !important;
    }
}

@media (max-width: 480px) {
    .tbs-ms-hero {
        min-height: 580px !important;
        padding: 16px !important;
        border-radius: 24px !important;
    }

    .tbs-ms-hero-copy {
        padding: 18px 16px !important;
    }

    .tbs-ms-quicknav {
        grid-template-columns: 1fr 1fr !important;
    }

    .tbs-ms-closing-card {
        min-height: 270px !important;
        padding: 20px 16px !important;
    }
}

/* =========================================================
   17) AJUSTE V13 - FULL SCREEN + HERO 100% + META FECHA/HORA
   - Quita marco blanco en desktop y móvil.
   - Header ocupa 100% del viewport.
   - Ventana del anuncio centrada en desktop.
   - Ventana más transparente en móvil.
   - Mantiene fondo extendido y decoraciones.
========================================================= */

/* Limpieza de márgenes/paddings que crean marco blanco alrededor del shortcode */
html:has(.tbs-ms.tbs-micrositio-publico),
body:has(.tbs-ms.tbs-micrositio-publico) {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: #fffafd !important;
}

body:has(.tbs-ms.tbs-micrositio-publico) .site,
body:has(.tbs-ms.tbs-micrositio-publico) #page,
body:has(.tbs-ms.tbs-micrositio-publico) #content,
body:has(.tbs-ms.tbs-micrositio-publico) .site-content,
body:has(.tbs-ms.tbs-micrositio-publico) .content-area,
body:has(.tbs-ms.tbs-micrositio-publico) main,
body:has(.tbs-ms.tbs-micrositio-publico) .entry-content,
body:has(.tbs-ms.tbs-micrositio-publico) .page-content,
body:has(.tbs-ms.tbs-micrositio-publico) .elementor,
body:has(.tbs-ms.tbs-micrositio-publico) .elementor-section,
body:has(.tbs-ms.tbs-micrositio-publico) .elementor-container,
body:has(.tbs-ms.tbs-micrositio-publico) .elementor-widget-container,
body:has(.tbs-ms.tbs-micrositio-publico) .elementor-shortcode {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
}

/* Root full width real */
.tbs-ms.tbs-micrositio-publico,
.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Fondo repetido ocupando el lienzo completo */
.tbs-ms.tbs-micrositio-publico::before,
.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before {
    background:
        linear-gradient(180deg, rgba(255,251,253,.62) 0%, rgba(255,255,255,.44) 18%, rgba(255,250,253,.54) 48%, rgba(255,255,255,.64) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / 100% auto repeat-y !important;
}

/* Header full width en desktop */
.tbs-ms-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin: 0 0 0 calc(50% - 50vw) !important;
    padding: clamp(54px, 6vw, 86px) max(42px, calc((100vw - var(--tbs-ms-max)) / 2)) clamp(78px, 7vw, 112px) !important;
    border-radius: 0 0 42px 42px !important;
    border-left: 0 !important;
    border-right: 0 !important;
    min-height: clamp(650px, 72vh, 820px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-position: center center !important;
    background-size: cover !important;
}

/* Capa suave para que el texto sea legible sin apagar la imagen */
.tbs-ms-hero::before {
    background:
        linear-gradient(90deg, rgba(255,248,252,.24) 0%, rgba(255,248,252,.40) 30%, rgba(255,248,252,.44) 52%, rgba(255,248,252,.30) 100%),
        linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,250,253,.24) 42%, rgba(255,249,252,.74) 100%) !important;
}

/* Ventana del anuncio centrada en desktop */
.tbs-ms-hero-copy {
    width: min(760px, calc(100vw - 72px)) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    text-align: center !important;
    padding: clamp(32px, 4vw, 50px) !important;
    border-radius: 40px !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.72), transparent 42%),
        linear-gradient(180deg, rgba(255,248,252,.76), rgba(255,250,253,.84)) !important;
    border: 1px solid rgba(255,255,255,.86) !important;
    box-shadow:
        0 28px 74px rgba(80, 58, 72, .14),
        inset 0 1px 0 rgba(255,255,255,.86) !important;
    backdrop-filter: blur(11px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(11px) saturate(1.05) !important;
}

.tbs-ms-hero h1,
.tbs-ms-hero-text {
    margin-left: auto !important;
    margin-right: auto !important;
}

.tbs-ms-hero h1 {
    max-width: 700px !important;
}

.tbs-ms-hero-text {
    max-width: 630px !important;
}

/* Datos en desktop: 3 columnas compactas dentro del anuncio */
.tbs-ms-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.tbs-ms-meta > div {
    text-align: left !important;
}

/* Botones centrados */
.tbs-ms-actions {
    justify-content: center !important;
}

/* Navegación más integrada, sin quedar dentro de un marco blanco */
.tbs-ms-quicknav {
    width: min(1060px, calc(100vw - 40px)) !important;
    margin-top: -44px !important;
}

/* Secciones con ancho controlado pero sobre lienzo full */
.tbs-ms-section,
.tbs-ms-countdown-section,
.tbs-ms-closing {
    width: min(var(--tbs-ms-max), calc(100vw - 40px)) !important;
}

/* Móvil full screen sin marco */
@media (max-width: 767px) {
    html:has(.tbs-ms.tbs-micrositio-publico),
    body:has(.tbs-ms.tbs-micrositio-publico) {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .tbs-ms.tbs-micrositio-publico,
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-ms.tbs-micrositio-diseno-estrellita_camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding: 0 !important;
    }

    .tbs-ms-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        min-height: 100svh !important;
        margin: 0 0 0 calc(50% - 50vw) !important;
        padding: 18px 16px 34px !important;
        border-radius: 0 0 28px 28px !important;
        border-left: 0 !important;
        border-right: 0 !important;
        align-items: end !important;
        justify-content: center !important;
        background-position: 31% center !important;
        background-size: cover !important;
    }

    .tbs-ms-hero::before {
        background:
            linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,248,252,.16) 28%, rgba(255,248,252,.42) 58%, rgba(255,249,252,.76) 100%),
            linear-gradient(90deg, rgba(255,248,252,.06) 0%, rgba(255,248,252,.18) 50%, rgba(255,248,252,.34) 100%) !important;
    }

    .tbs-ms-hero::after {
        height: 120px !important;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,251,253,.24) 42%, rgba(255,251,253,.86) 100%) !important;
    }

    /* Ventana del anuncio más transparente en móvil */
    .tbs-ms-hero-copy {
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        padding: 20px 18px 22px !important;
        border-radius: 30px !important;
        background:
            radial-gradient(circle at 50% 0%, rgba(255,255,255,.48), transparent 44%),
            linear-gradient(180deg, rgba(255,248,252,.52), rgba(255,250,253,.66)) !important;
        border: 1px solid rgba(255,255,255,.68) !important;
        box-shadow:
            0 24px 60px rgba(80, 58, 72, .12),
            inset 0 1px 0 rgba(255,255,255,.74) !important;
        backdrop-filter: blur(7px) saturate(1.03) !important;
        -webkit-backdrop-filter: blur(7px) saturate(1.03) !important;
    }

    .tbs-ms-pill {
        background: rgba(240,250,255,.70) !important;
        border-color: rgba(143,199,220,.32) !important;
    }

    .tbs-ms-hero h1 {
        font-size: clamp(40px, 12.5vw, 58px) !important;
        line-height: .94 !important;
    }

    .tbs-ms-hero h1 span {
        font-size: clamp(54px, 17vw, 82px) !important;
        line-height: .76 !important;
    }

    .tbs-ms-hero-text {
        font-size: 15.5px !important;
        line-height: 1.48 !important;
        max-width: 330px !important;
    }

    /* Datos verticales y más limpios */
    .tbs-ms-meta {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin: 18px 0 18px !important;
    }

    .tbs-ms-meta > div {
        display: grid !important;
        grid-template-columns: 36px 1fr !important;
        align-items: center !important;
        gap: 10px !important;
        min-height: 66px !important;
        padding: 11px 14px !important;
        text-align: left !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.66) !important;
        box-shadow: 0 12px 28px rgba(151, 92, 130, .08) !important;
    }

    .tbs-ms-meta strong {
        margin: 0 0 4px !important;
        font-size: 10.5px !important;
    }

    .tbs-ms-meta span {
        font-size: 13.5px !important;
        line-height: 1.25 !important;
    }

    .tbs-ms-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        max-width: 320px !important;
    }

    .tbs-ms-btn,
    .tbs-ms .elementor-button,
    .tbs-ms .ff-btn-submit,
    .tbs-ms button[type="submit"],
    .tbs-ms input[type="submit"] {
        min-height: 49px !important;
        font-size: 13.5px !important;
    }

    .tbs-ms-quicknav {
        width: calc(100vw - 20px) !important;
        max-width: none !important;
        margin: -18px auto 24px !important;
        display: flex !important;
        overflow-x: auto !important;
        grid-template-columns: unset !important;
        border-radius: 22px !important;
        scrollbar-width: none !important;
    }

    .tbs-ms-quicknav::-webkit-scrollbar {
        display: none !important;
    }

    .tbs-ms-quicknav a {
        flex: 0 0 auto !important;
        min-width: 118px !important;
    }

    .tbs-ms-section,
    .tbs-ms-countdown-section,
    .tbs-ms-closing {
        width: min(100vw - 24px, 430px) !important;
        max-width: 430px !important;
    }
}

@media (max-width: 420px) {
    .tbs-ms-hero {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .tbs-ms-hero-copy {
        padding: 18px 15px 20px !important;
        border-radius: 26px !important;
    }

    .tbs-ms-meta > div {
        grid-template-columns: 30px 1fr !important;
        padding: 10px 12px !important;
    }
}

/* =========================================================
   18) AJUSTE V14 - META FECHA / HORA / LUGAR PREMIUM
   Importante:
   - No toca las imágenes de fondo del hero, footer ni fondo general.
   - Solo mejora tarjetas de Fecha, Hora y Lugar.
   - JS EstrellitaCamino.js normaliza Fecha/Hora y agrega clases semánticas.
========================================================= */

.tbs-ms-meta > div,
.tbs-ms-meta > div.tbs-ms-meta-date,
.tbs-ms-meta > div.tbs-ms-meta-time,
.tbs-ms-meta > div.tbs-ms-meta-place {
    text-align: center !important;
    overflow: visible !important;
}

.tbs-ms-meta > div::before {
    content: "♡" !important;
    position: relative !important;
    z-index: 3 !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 auto 10px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 15px !important;
    color: var(--tbs-ms-pink-dark) !important;
    background:
        radial-gradient(circle at 30% 18%, rgba(255,255,255,.92), transparent 34%),
        linear-gradient(135deg, rgba(255,240,247,.96), rgba(238,249,255,.94)) !important;
    border: 1px solid rgba(255,255,255,.86) !important;
    box-shadow:
        0 12px 26px rgba(151, 92, 130, .13),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.tbs-ms-meta > div.tbs-ms-meta-date::before,
.tbs-ms-meta > div:nth-child(1)::before {
    content: "📅" !important;
}

.tbs-ms-meta > div.tbs-ms-meta-time::before,
.tbs-ms-meta > div:nth-child(2)::before {
    content: "⏰" !important;
}

.tbs-ms-meta > div.tbs-ms-meta-place::before,
.tbs-ms-meta > div:nth-child(3)::before {
    content: "📍" !important;
}

.tbs-ms-meta strong {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 7px !important;
    display: block !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    letter-spacing: .07em !important;
}

.tbs-ms-meta span {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    text-align: center !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}

@media (min-width: 768px) {
    .tbs-ms-meta > div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 128px !important;
        padding: 18px 14px !important;
    }
}

@media (max-width: 767px) {
    .tbs-ms-meta > div,
    .tbs-ms-meta > div.tbs-ms-meta-date,
    .tbs-ms-meta > div.tbs-ms-meta-time,
    .tbs-ms-meta > div.tbs-ms-meta-place {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        min-height: 94px !important;
        padding: 13px 14px 14px !important;
        text-align: center !important;
    }

    .tbs-ms-meta > div::before {
        width: 36px !important;
        height: 36px !important;
        margin: 0 auto 8px !important;
        border-radius: 14px !important;
        font-size: 17px !important;
    }

    .tbs-ms-meta strong {
        margin: 0 auto 5px !important;
        font-size: 11px !important;
        line-height: 1.25 !important;
        letter-spacing: .055em !important;
    }

    .tbs-ms-meta span {
        font-size: 14px !important;
        line-height: 1.28 !important;
        font-weight: 800 !important;
    }
}

@media (max-width: 420px) {
    .tbs-ms-meta > div,
    .tbs-ms-meta > div.tbs-ms-meta-date,
    .tbs-ms-meta > div.tbs-ms-meta-time,
    .tbs-ms-meta > div.tbs-ms-meta-place {
        grid-template-columns: 1fr !important;
        min-height: 92px !important;
        padding: 12px 11px 13px !important;
    }

    .tbs-ms-meta strong {
        font-size: 10.5px !important;
        letter-spacing: .04em !important;
    }

    .tbs-ms-meta span {
        font-size: 13.5px !important;
    }
}


/* =========================================================
   19) AJUSTE V15 - HERO META LIMPIO
   - No toca imágenes de fondo en desktop ni móvil.
   - Elimina la píldora/título del plan: Dulce Llegada / Dulce Experiencia.
   - Evita iconos dobles: el icono premium queda solo en ::before.
   - Centra títulos FECHA / HORA / LUGAR y conserva textos completos.
========================================================= */

.tbs-ms-pill {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.tbs-ms-meta > div::before {
    flex: 0 0 auto !important;
}

.tbs-ms-meta > div.tbs-ms-meta-date::before,
.tbs-ms-meta > div:nth-child(1)::before {
    content: "🗓️" !important;
}

.tbs-ms-meta > div.tbs-ms-meta-time::before,
.tbs-ms-meta > div:nth-child(2)::before {
    content: "⏰" !important;
}

.tbs-ms-meta > div.tbs-ms-meta-place::before,
.tbs-ms-meta > div:nth-child(3)::before {
    content: "📍" !important;
}

.tbs-ms-meta strong,
.tbs-ms-meta b {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    min-width: 0 !important;
}

.tbs-ms-meta span,
.tbs-ms-meta em,
.tbs-ms-meta small {
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    min-width: 0 !important;
}

@media (min-width: 768px) {
    .tbs-ms-hero-copy {
        padding-top: clamp(36px, 4vw, 54px) !important;
    }

    .tbs-ms-meta > div {
        text-align: center !important;
    }
}

@media (max-width: 767px) {
    .tbs-ms-hero-copy {
        padding-top: 22px !important;
    }

    .tbs-ms-meta > div,
    .tbs-ms-meta > div.tbs-ms-meta-date,
    .tbs-ms-meta > div.tbs-ms-meta-time,
    .tbs-ms-meta > div.tbs-ms-meta-place {
        text-align: center !important;
    }

    .tbs-ms-meta strong,
    .tbs-ms-meta b {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }

    .tbs-ms-meta span,
    .tbs-ms-meta em,
    .tbs-ms-meta small {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }
}

/* =========================================================
   20) AJUSTE V16 - HEADER PREMIUM SIN VENTANA INTERMEDIA
   - Conserva intactas las imágenes de fondo definidas en V13/V15.
   - Elimina visualmente la caja grande del anuncio del hero.
   - Deja el título, mensaje, fecha, hora y lugar integrados al header.
   - Aumenta jerarquía visual de FECHA / HORA / LUGAR y sus valores.
========================================================= */

/* El contenido del anuncio ya no vive dentro de una ventana intermedia */
.tbs-ms-hero-copy {
    width: min(1080px, calc(100vw - 56px)) !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: clamp(24px, 4vw, 64px) 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    text-align: center !important;
}

/* Capa del hero más editorial: legibilidad sin apagar la imagen */
.tbs-ms-hero::before {
    background:
        radial-gradient(circle at 50% 38%, rgba(255,255,255,.72), rgba(255,250,253,.34) 30%, transparent 58%),
        linear-gradient(90deg, rgba(255,248,252,.20) 0%, rgba(255,248,252,.42) 46%, rgba(255,248,252,.30) 100%),
        linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,250,253,.16) 42%, rgba(255,249,252,.72) 100%) !important;
}

.tbs-ms-hero h1 {
    max-width: 980px !important;
    margin: 0 auto 18px !important;
    color: #3f333a !important;
    font-size: clamp(72px, 8vw, 126px) !important;
    line-height: .86 !important;
    letter-spacing: -.06em !important;
    text-shadow:
        0 2px 0 rgba(255,255,255,.72),
        0 18px 46px rgba(79, 55, 69, .18) !important;
}

.tbs-ms-hero h1 span {
    margin-top: 2px !important;
    color: var(--tbs-ms-pink) !important;
    font-size: clamp(88px, 9vw, 146px) !important;
    line-height: .72 !important;
    text-shadow:
        0 2px 0 rgba(255,255,255,.72),
        0 18px 44px rgba(236,111,163,.24) !important;
}

.tbs-ms-hero-text {
    max-width: 780px !important;
    margin: 24px auto 30px !important;
    color: rgba(61, 51, 57, .82) !important;
    font-size: clamp(20px, 1.7vw, 28px) !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    text-shadow: 0 2px 18px rgba(255,255,255,.82) !important;
}

/* Fecha / Hora / Lugar integrados como piezas premium del header */
.tbs-ms-meta {
    width: min(940px, 100%) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(14px, 1.7vw, 22px) !important;
    margin: clamp(28px, 3.5vw, 42px) auto clamp(24px, 3vw, 34px) !important;
}

.tbs-ms-meta > div,
.tbs-ms-meta > div.tbs-ms-meta-date,
.tbs-ms-meta > div.tbs-ms-meta-time,
.tbs-ms-meta > div.tbs-ms-meta-place {
    position: relative !important;
    min-height: 160px !important;
    padding: 24px 20px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    overflow: hidden !important;
    text-align: center !important;
    border-radius: 34px !important;
    border: 1px solid rgba(255,255,255,.78) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.74), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,247,251,.54)) !important;
    box-shadow:
        0 24px 60px rgba(101, 71, 88, .13),
        inset 0 1px 0 rgba(255,255,255,.88) !important;
    backdrop-filter: blur(10px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.05) !important;
}

.tbs-ms-meta > div::after {
    width: 124px !important;
    height: 124px !important;
    right: -44px !important;
    bottom: -54px !important;
    background: rgba(236, 111, 163, .075) !important;
}

.tbs-ms-meta > div::before {
    width: 48px !important;
    height: 48px !important;
    margin: 0 auto 14px !important;
    border-radius: 18px !important;
    font-size: 22px !important;
    background:
        radial-gradient(circle at 30% 18%, rgba(255,255,255,.96), transparent 34%),
        linear-gradient(135deg, rgba(255,237,246,.96), rgba(234,248,255,.94)) !important;
    border: 1px solid rgba(255,255,255,.90) !important;
    box-shadow:
        0 16px 34px rgba(151, 92, 130, .15),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.tbs-ms-meta strong,
.tbs-ms-meta b {
    position: relative !important;
    z-index: 3 !important;
    margin: 0 auto 10px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-size: clamp(16px, 1.35vw, 21px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: .105em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.74) !important;
}

.tbs-ms-meta span,
.tbs-ms-meta em,
.tbs-ms-meta small {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    color: #4d3f47 !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(22px, 1.9vw, 31px) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
    text-align: center !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.76) !important;
}

.tbs-ms-meta > div.tbs-ms-meta-place span,
.tbs-ms-meta > div:nth-child(3) span {
    font-size: clamp(20px, 1.55vw, 27px) !important;
    line-height: 1.16 !important;
}

/* Botones del header con acabado más premium y coherente al homepage */
.tbs-ms-actions {
    justify-content: center !important;
    gap: 14px !important;
}

.tbs-ms-actions .tbs-ms-btn,
.tbs-ms-actions .elementor-button,
.tbs-ms-actions button,
.tbs-ms-actions a {
    min-height: 58px !important;
    padding: 17px 30px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    box-shadow:
        0 18px 38px rgba(151, 92, 130, .16),
        inset 0 1px 0 rgba(255,255,255,.34) !important;
}

.tbs-ms-btn-primary {
    box-shadow:
        0 22px 48px rgba(236, 111, 163, .34),
        inset 0 1px 0 rgba(255,255,255,.30) !important;
}

/* Desktop amplio: composición tipo portada premium */
@media (min-width: 1025px) {
    .tbs-ms-hero {
        min-height: clamp(720px, 84vh, 940px) !important;
        align-items: center !important;
        padding-top: clamp(72px, 8vw, 118px) !important;
        padding-bottom: clamp(86px, 8vw, 126px) !important;
    }

    .tbs-ms-hero-copy {
        transform: translateY(8px) !important;
    }
}

@media (max-width: 1024px) {
    .tbs-ms-hero-copy {
        width: min(940px, calc(100vw - 38px)) !important;
        padding: 30px 0 38px !important;
    }

    .tbs-ms-hero h1 {
        font-size: clamp(62px, 9vw, 104px) !important;
    }

    .tbs-ms-hero h1 span {
        font-size: clamp(76px, 10.5vw, 120px) !important;
    }

    .tbs-ms-meta > div {
        min-height: 148px !important;
        border-radius: 30px !important;
    }
}

@media (max-width: 767px) {
    .tbs-ms-hero {
        min-height: 100svh !important;
        padding: 52px 16px 36px !important;
        align-items: center !important;
        background-position: 31% center !important;
    }

    .tbs-ms-hero::before {
        background:
            radial-gradient(circle at 50% 36%, rgba(255,255,255,.62), rgba(255,250,253,.28) 34%, transparent 62%),
            linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,248,252,.18) 28%, rgba(255,248,252,.50) 64%, rgba(255,249,252,.80) 100%) !important;
    }

    .tbs-ms-hero-copy {
        width: min(100%, 440px) !important;
        max-width: 440px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .tbs-ms-hero h1 {
        margin-bottom: 16px !important;
        font-size: clamp(49px, 14.7vw, 72px) !important;
        line-height: .88 !important;
        letter-spacing: -.055em !important;
    }

    .tbs-ms-hero h1 span {
        font-size: clamp(68px, 19vw, 98px) !important;
        line-height: .70 !important;
    }

    .tbs-ms-hero-text {
        max-width: 360px !important;
        margin: 22px auto 24px !important;
        font-size: clamp(17px, 4.7vw, 21px) !important;
        line-height: 1.42 !important;
        font-weight: 800 !important;
    }

    .tbs-ms-meta {
        width: min(100%, 390px) !important;
        grid-template-columns: 1fr !important;
        gap: 11px !important;
        margin: 24px auto 22px !important;
    }

    .tbs-ms-meta > div,
    .tbs-ms-meta > div.tbs-ms-meta-date,
    .tbs-ms-meta > div.tbs-ms-meta-time,
    .tbs-ms-meta > div.tbs-ms-meta-place {
        min-height: 112px !important;
        padding: 18px 16px 17px !important;
        border-radius: 26px !important;
        background:
            radial-gradient(circle at 50% 0%, rgba(255,255,255,.74), transparent 42%),
            linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,247,251,.56)) !important;
        box-shadow:
            0 18px 44px rgba(101, 71, 88, .12),
            inset 0 1px 0 rgba(255,255,255,.88) !important;
    }

    .tbs-ms-meta > div::before {
        width: 42px !important;
        height: 42px !important;
        margin-bottom: 10px !important;
        border-radius: 16px !important;
        font-size: 20px !important;
    }

    .tbs-ms-meta strong,
    .tbs-ms-meta b {
        margin-bottom: 8px !important;
        font-size: clamp(15px, 4.3vw, 18px) !important;
        line-height: 1.05 !important;
        letter-spacing: .095em !important;
    }

    .tbs-ms-meta span,
    .tbs-ms-meta em,
    .tbs-ms-meta small,
    .tbs-ms-meta > div.tbs-ms-meta-place span,
    .tbs-ms-meta > div:nth-child(3) span {
        font-size: clamp(21px, 6vw, 27px) !important;
        line-height: 1.08 !important;
    }

    .tbs-ms-actions {
        width: min(100%, 370px) !important;
        max-width: 370px !important;
        margin: 0 auto !important;
        gap: 10px !important;
    }

    .tbs-ms-actions .tbs-ms-btn,
    .tbs-ms-actions .elementor-button,
    .tbs-ms-actions button,
    .tbs-ms-actions a {
        min-height: 54px !important;
        padding: 15px 22px !important;
        font-size: 14.5px !important;
    }
}

@media (max-width: 420px) {
    .tbs-ms-hero {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .tbs-ms-hero h1 {
        font-size: clamp(45px, 14.3vw, 62px) !important;
    }

    .tbs-ms-hero h1 span {
        font-size: clamp(62px, 18vw, 84px) !important;
    }

    .tbs-ms-hero-text {
        font-size: 16.5px !important;
    }

    .tbs-ms-meta {
        width: min(100%, 360px) !important;
    }

    .tbs-ms-meta > div,
    .tbs-ms-meta > div.tbs-ms-meta-date,
    .tbs-ms-meta > div.tbs-ms-meta-time,
    .tbs-ms-meta > div.tbs-ms-meta-place {
        min-height: 106px !important;
        padding: 16px 13px !important;
        border-radius: 24px !important;
    }

    .tbs-ms-meta strong,
    .tbs-ms-meta b {
        font-size: 14px !important;
    }

    .tbs-ms-meta span,
    .tbs-ms-meta em,
    .tbs-ms-meta small,
    .tbs-ms-meta > div.tbs-ms-meta-place span,
    .tbs-ms-meta > div:nth-child(3) span {
        font-size: 20px !important;
    }
}

/* =========================================================
   21) AJUSTE V17 - DETALLES + TARJETAS PREMIUM + FONDO LIMPIO
   - Primera tarjeta de detalles solo deja el mensaje principal.
   - Wishlist y Regalos Virtuales con tarjetas premium.
   - En móvil ambas grillas van en doble columna.
   - Guestbook / Mensajes para el bebé con formato premium.
   - Fondo decorativo más limpio, evitando superposición visual de ositos.
========================================================= */

/* =========================
   FONDO GENERAL MÁS LIMPIO
========================= */
.tbs-ms.tbs-micrositio-publico::before,
.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before {
    opacity: .52 !important;
    background:
        linear-gradient(180deg, rgba(255,251,253,.92) 0%, rgba(255,255,255,.74) 16%, rgba(255,250,253,.78) 54%, rgba(255,255,255,.88) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / cover no-repeat !important;
}

.tbs-ms.tbs-micrositio-publico::after,
.tbs-ms.tbs-publico-estrellita-camino::after,
.tbs-ms.tbs-micrositio-estrellita-camino::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
    opacity: .18 !important;
    background: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / cover no-repeat !important;
}

/* =========================
   DETALLES DEL EVENTO - SOLO MENSAJE PRINCIPAL
========================= */
.tbs-ms-details-card {
    grid-template-columns: 1fr !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: clamp(34px, 5vw, 58px) !important;
    border-radius: 40px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 231, 242, .48), transparent 28%),
        radial-gradient(circle at 100% 100%, rgba(215, 240, 250, .24), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,248,252,.88)) !important;
    box-shadow:
        0 34px 84px rgba(124, 87, 106, .16),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.tbs-ms-details-copy {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    max-width: 740px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.tbs-ms-details-copy small,
.tbs-ms-details-list {
    display: none !important;
}

.tbs-ms-details-copy h3 {
    margin: 0 0 18px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-size: clamp(46px, 4.7vw, 76px) !important;
    line-height: .96 !important;
    letter-spacing: -.05em !important;
    text-wrap: balance !important;
}

.tbs-ms-details-copy p {
    max-width: 660px !important;
    margin: 0 auto !important;
    color: #6c5a64 !important;
    font-size: clamp(19px, 1.5vw, 25px) !important;
    font-weight: 600 !important;
    line-height: 1.62 !important;
}

/* =========================
   RSVP / CONFIRMACIÓN - PULIDO PREMIUM
========================= */
.tbs-ms-rsvp-card {
    max-width: 920px !important;
    border-radius: 38px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255,235,244,.44), transparent 28%),
        radial-gradient(circle at 100% 100%, rgba(220, 243, 252, .24), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,250,253,.90)) !important;
    box-shadow: 0 30px 72px rgba(124, 87, 106, .13) !important;
}

/* =========================
   TARJETAS PREMIUM - WISHLIST
========================= */
.tbs-ms-module-card .tbs-regalos-publico,
.tbs-ms-module-card .tbs-virtual-publico {
    width: 100% !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-lista,
.tbs-ms-module-card .tbs-virtual-publico .tbs-lista {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-card,
.tbs-ms-module-card .tbs-virtual-publico .tbs-card-virtual {
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    border-radius: 30px !important;
    border: 1px solid rgba(236,111,163,.12) !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(255,239,247,.72), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,253,.94)) !important;
    box-shadow:
        0 18px 44px rgba(124, 87, 106, .10),
        inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-card::before,
.tbs-ms-module-card .tbs-virtual-publico .tbs-card-virtual::before {
    content: "" !important;
    position: absolute !important;
    inset: auto -42px -48px auto !important;
    width: 130px !important;
    height: 130px !important;
    border-radius: 999px !important;
    background: rgba(236,111,163,.06) !important;
    pointer-events: none !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-img,
.tbs-ms-module-card .tbs-virtual-publico .tbs-img {
    position: relative !important;
    aspect-ratio: 1 / 1 !important;
    min-height: auto !important;
    padding: 16px !important;
    background: transparent !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-img img,
.tbs-ms-module-card .tbs-virtual-publico .tbs-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    box-shadow: 0 14px 26px rgba(124,87,106,.10) !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-link-preview,
.tbs-ms-module-card .tbs-regalos-publico .tbs-placeholder,
.tbs-ms-module-card .tbs-virtual-publico .tbs-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #fff0f7, #eef8ff) !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-size: 38px !important;
    font-weight: 800 !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-link-preview small {
    display: block !important;
    margin-top: 8px !important;
    font-size: 13px !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-content,
.tbs-ms-module-card .tbs-virtual-publico .tbs-content {
    position: relative !important;
    z-index: 2 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 4px 18px 18px !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-content h4,
.tbs-ms-module-card .tbs-virtual-publico .tbs-content h4 {
    min-height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    color: #4d3f47 !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    letter-spacing: -.03em !important;
    text-align: center !important;
    -webkit-line-clamp: 3 !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-precio,
.tbs-ms-module-card .tbs-virtual-publico .tbs-precio {
    margin: 2px 0 2px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-nombre,
.tbs-ms-module-card .tbs-regalos-publico input[type="text"],
.tbs-ms-module-card .tbs-virtual-publico input[type="text"],
.tbs-ms-module-card .tbs-virtual-publico input[type="email"] {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(236,111,163,.14) !important;
    background: rgba(255,255,255,.84) !important;
    color: #4d3f47 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto,
.tbs-ms-module-card .tbs-regalos-publico .tbs-reservar,
.tbs-ms-module-card .tbs-virtual-publico .tbs-open-buy,
.tbs-ms-module-card .tbs-virtual-publico .tbs-confirm-buy,
.tbs-ms-module-card .tbs-virtual-publico .tbs-cancel-buy {
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
}

.tbs-ms-module-card .tbs-regalos-publico .estado,
.tbs-ms-module-card .tbs-virtual-publico .estado {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    margin: 4px auto 0 !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    background: rgba(240,250,255,.86) !important;
    color: var(--tbs-ms-blue-dark) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.tbs-ms-module-card .tbs-virtual-publico .tbs-status {
    padding: 16px 16px 0 !important;
    text-align: left !important;
}

.tbs-ms-module-card .tbs-virtual-publico .tbs-status .estado {
    margin: 0 !important;
}

/* Modal de compra más premium */
#tbs-modal-compra .tbs-app-sheet {
    border-radius: 32px !important;
    border: 1px solid rgba(236,111,163,.14) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,253,.95)) !important;
    box-shadow: 0 34px 84px rgba(124,87,106,.18) !important;
}

/* =========================
   MENSAJES PARA EL BEBÉ - FORMATO PREMIUM
========================= */
.tbs-ms-guestbook-card {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: clamp(24px, 4vw, 38px) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255,235,244,.40), transparent 30%),
        radial-gradient(circle at 100% 100%, rgba(220,243,252,.20), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,253,.92)) !important;
}

.tbs-ms-guestbook-card .tbs-guestbook {
    width: 100% !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-box {
    position: relative !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 34px 28px !important;
    border-radius: 30px !important;
    border: 1px solid rgba(236,111,163,.12) !important;
    background: rgba(255,255,255,.90) !important;
    box-shadow: 0 18px 44px rgba(124,87,106,.10) !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-header {
    margin: 0 0 8px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(34px, 3.2vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-sub {
    margin: 0 0 22px !important;
    color: var(--tbs-ms-muted) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    text-align: center !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook {
    display: grid !important;
    grid-template-columns: 1fr 1.2fr auto !important;
    gap: 12px !important;
    align-items: end !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"],
.tbs-ms-guestbook-card .tbs-form-guestbook textarea {
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(236,111,163,.14) !important;
    background: rgba(255,255,255,.92) !important;
    color: #4d3f47 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook textarea {
    min-height: 96px !important;
    resize: vertical !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook button {
    min-width: 180px !important;
    min-height: 52px !important;
    padding: 14px 22px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.28), transparent 30%),
        linear-gradient(135deg, var(--tbs-ms-pink), var(--tbs-ms-pink-dark)) !important;
    border: 0 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 16px 34px rgba(236,111,163,.24) !important;
}

/* =========================
   RESPONSIVE V17
========================= */
@media (max-width: 1024px) {
    .tbs-ms-module-card .tbs-regalos-publico .tbs-lista,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-lista {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-content h4,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-content h4 {
        font-size: 26px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook {
        grid-template-columns: 1fr !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook button {
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .tbs-ms.tbs-micrositio-publico::before,
    .tbs-ms.tbs-publico-estrellita-camino::before,
    .tbs-ms.tbs-micrositio-estrellita-camino::before,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before {
        opacity: .58 !important;
        background:
            linear-gradient(180deg, rgba(255,251,253,.94) 0%, rgba(255,255,255,.76) 18%, rgba(255,250,253,.82) 54%, rgba(255,255,255,.90) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / cover no-repeat !important;
    }

    .tbs-ms.tbs-micrositio-publico::after,
    .tbs-ms.tbs-publico-estrellita-camino::after,
    .tbs-ms.tbs-micrositio-estrellita-camino::after,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
        opacity: .14 !important;
        background: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') center top / cover no-repeat !important;
    }

    .tbs-ms-details-card {
        padding: 28px 18px !important;
        border-radius: 30px !important;
    }

    .tbs-ms-details-copy h3 {
        font-size: clamp(36px, 10vw, 52px) !important;
        margin-bottom: 12px !important;
    }

    .tbs-ms-details-copy p {
        font-size: 17px !important;
        line-height: 1.58 !important;
    }

    .tbs-ms-rsvp-card,
    .tbs-ms-guestbook-card {
        border-radius: 28px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-lista,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-lista {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-card,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-card-virtual {
        border-radius: 22px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-img,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-img {
        padding: 10px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-img img,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-img img,
    .tbs-ms-module-card .tbs-regalos-publico .tbs-link-preview,
    .tbs-ms-module-card .tbs-regalos-publico .tbs-placeholder,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-placeholder {
        border-radius: 16px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-content,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-content {
        gap: 8px !important;
        padding: 0 12px 14px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-content h4,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-content h4 {
        font-size: 20px !important;
        line-height: 1.08 !important;
        -webkit-line-clamp: 2 !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-precio,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-precio {
        font-size: 19px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-nombre,
    .tbs-ms-module-card .tbs-regalos-publico input[type="text"],
    .tbs-ms-module-card .tbs-virtual-publico input[type="text"],
    .tbs-ms-module-card .tbs-virtual-publico input[type="email"] {
        min-height: 42px !important;
        padding: 10px 11px !important;
        border-radius: 14px !important;
        font-size: 12.5px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto,
    .tbs-ms-module-card .tbs-regalos-publico .tbs-reservar,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-open-buy {
        min-height: 42px !important;
        font-size: 12px !important;
        padding: 10px 10px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .estado,
    .tbs-ms-module-card .tbs-virtual-publico .estado {
        font-size: 10px !important;
        padding: 7px 10px !important;
    }

    .tbs-ms-guestbook-card {
        padding: 18px 14px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-box {
        padding: 22px 16px !important;
        border-radius: 22px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-header {
        font-size: clamp(30px, 9vw, 42px) !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-sub {
        font-size: 14px !important;
        margin-bottom: 16px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"],
    .tbs-ms-guestbook-card .tbs-form-guestbook textarea {
        min-height: 48px !important;
        padding: 13px 14px !important;
        font-size: 14px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook textarea {
        min-height: 92px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook button {
        min-height: 48px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 420px) {
    .tbs-ms-module-card .tbs-regalos-publico .tbs-content h4,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-content h4 {
        font-size: 18px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-precio,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-precio {
        font-size: 17px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto,
    .tbs-ms-module-card .tbs-regalos-publico .tbs-reservar,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-open-buy {
        font-size: 11px !important;
    }
}

/* =========================================================
   22) AJUSTE V18 - MODAL COMPRA + BOTONES + GUESTBOOK PREMIUM
   Base: V17 estable.
   Referencia visual: CSS cálido V2 aportado.
========================================================= */

/* Evita difuminado general de página y de módulos */
html.tbs-ec-modal-visible,
body.tbs-ec-modal-visible {
    overflow: hidden !important;
}

.tbs-ms.tbs-micrositio-publico,
.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino {
    filter: none !important;
}

body.tbs-ec-modal-visible .tbs-ms,
body.tbs-ec-modal-visible .tbs-ms *,
body.tbs-ec-modal-visible .tbs-ms-section,
body.tbs-ec-modal-visible .tbs-ms-module-card,
body.tbs-ec-modal-visible .tbs-ms-guestbook-card {
    filter: none !important;
}

/* =========================
   BOTONES COMPRAR / RESERVAR / VER PRODUCTO
========================= */
.tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto,
.tbs-ms-module-card .tbs-regalos-publico .tbs-reservar,
.tbs-ms-module-card .tbs-virtual-publico .tbs-open-buy,
.tbs-ms .tbs-ec-btn-clean {
    position: relative !important;
    display: inline-grid !important;
    grid-template-columns: 24px minmax(0, 1fr) 24px !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 14px 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(236,111,163,.18) !important;
    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.72), transparent 28%),
        linear-gradient(135deg, #e7f6ff 0%, #f1eaff 48%, #ffe4f1 100%) !important;
    color: #2f6f9f !important;
    font-family: var(--tbs-ms-font-body) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    text-align: center !important;
    box-shadow:
        0 14px 30px rgba(109,73,96,.12),
        inset 0 1px 0 rgba(255,255,255,.82) !important;
}

.tbs-ms .tbs-ec-btn-clean::before {
    content: "" !important;
    width: 24px !important;
    height: 24px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.78) !important;
    box-shadow: 0 7px 14px rgba(109,73,96,.10) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    color: var(--tbs-ms-pink-dark) !important;
}

.tbs-ms .tbs-ec-icon-buy::before { content: "▣" !important; }
.tbs-ms .tbs-ec-icon-reserve::before { content: "♡" !important; }
.tbs-ms .tbs-ec-icon-link::before { content: "↗" !important; }

.tbs-ms .tbs-ec-btn-clean::after {
    content: "" !important;
    width: 24px !important;
    height: 24px !important;
}

.tbs-ms .tbs-ec-btn-clean:hover {
    transform: translateY(-2px) !important;
    filter: saturate(1.04) brightness(1.02) !important;
    box-shadow:
        0 18px 38px rgba(109,73,96,.16),
        inset 0 1px 0 rgba(255,255,255,.88) !important;
}

/* =========================
   MODAL CONFIRMAR COMPRA PREMIUM
========================= */
#tbs-modal-compra.tbs-app-modal,
#tbs-modal-compra {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(16px, 3vw, 34px) !important;
    background: rgba(255, 250, 253, .58) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

#tbs-modal-compra.tbs-modal-open,
#tbs-modal-compra[style*="display: flex"] {
    display: flex !important;
}

#tbs-modal-compra .tbs-app-sheet {
    position: relative !important;
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    max-height: min(92vh, 760px) !important;
    overflow: auto !important;
    margin: auto !important;
    padding: 0 !important;
    border-radius: 34px !important;
    border: 1px solid rgba(236,111,163,.16) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255,235,244,.62), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(231,246,255,.66), transparent 36%),
        linear-gradient(145deg, #ffffff 0%, #fff8fc 56%, #effaff 100%) !important;
    color: #543b4d !important;
    box-shadow:
        0 30px 90px rgba(63, 49, 56, .22),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
    font-family: var(--tbs-ms-font-body, "Roboto", Arial, sans-serif) !important;
}

#tbs-modal-compra .tbs-app-sheet::before {
    content: "" !important;
    position: absolute !important;
    inset: 14px !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    pointer-events: none !important;
}

#tbs-modal-compra .tbs-handle {
    width: 54px !important;
    height: 5px !important;
    margin: 18px auto 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #8fc7dc, #ec6fa3) !important;
    opacity: .44 !important;
}

#tbs-modal-compra .tbs-app-header {
    position: relative !important;
    display: grid !important;
    gap: 8px !important;
    padding: 28px 74px 18px 32px !important;
    margin: 0 !important;
    text-align: left !important;
}

#tbs-modal-compra .tbs-app-header::before {
    content: "▣" !important;
    width: 54px !important;
    height: 54px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.92), transparent 32%),
        linear-gradient(135deg, #eaf8ff, #fff0f7) !important;
    border: 1px solid rgba(255,255,255,.90) !important;
    color: var(--tbs-ms-pink-dark, #ce4f86) !important;
    font-size: 22px !important;
    box-shadow: 0 14px 30px rgba(109,73,96,.10) !important;
}

#tbs-modal-compra .tbs-app-header h3 {
    margin: 0 !important;
    color: var(--tbs-ms-pink-dark, #ce4f86) !important;
    font-family: var(--tbs-ms-font-title, Georgia, serif) !important;
    font-size: clamp(38px, 4vw, 56px) !important;
    font-weight: 700 !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
}

#tbs-modal-compra .tbs-app-header p {
    margin: 0 !important;
    max-width: 430px !important;
    color: #756373 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

#tbs-modal-compra .tbs-close-modal {
    position: absolute !important;
    top: 24px !important;
    right: 26px !important;
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(236,111,163,.14) !important;
    background: rgba(255,255,255,.86) !important;
    color: #543b4d !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    box-shadow: 0 12px 24px rgba(109,73,96,.10) !important;
}

#tbs-modal-compra .tbs-app-method {
    margin: 0 32px 16px !important;
    padding: 18px 18px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(143,199,220,.22) !important;
    background: rgba(255,255,255,.78) !important;
    box-shadow: 0 12px 28px rgba(109,73,96,.06) !important;
}

#tbs-modal-compra .tbs-app-method .label {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--tbs-ms-blue-dark, #5aa3bf) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}

#tbs-modal-compra #tbs-metodo-modal {
    white-space: pre-line !important;
    color: #4d3f47 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
}

#tbs-modal-compra .tbs-app-error {
    margin: 0 32px 14px !important;
    padding: 13px 15px !important;
    border-radius: 16px !important;
    background: rgba(255,240,247,.88) !important;
    color: var(--tbs-ms-pink-dark, #ce4f86) !important;
    font-weight: 800 !important;
}

#tbs-modal-compra .tbs-app-form {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 0 32px !important;
}

#tbs-modal-compra .tbs-app-form input[type="text"],
#tbs-modal-compra .tbs-app-form input[type="email"],
#tbs-modal-compra .tbs-app-form input[type="tel"],
#tbs-modal-compra .tbs-app-form textarea {
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(236,111,163,.14) !important;
    background: rgba(255,255,255,.94) !important;
    color: #4d3f47 !important;
    font-family: var(--tbs-ms-font-body, "Roboto", Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    outline: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.84) !important;
}

#tbs-modal-compra .tbs-app-form input:focus,
#tbs-modal-compra .tbs-app-form textarea:focus {
    border-color: rgba(236,111,163,.42) !important;
    box-shadow: 0 0 0 4px rgba(236,111,163,.10), inset 0 1px 0 rgba(255,255,255,.88) !important;
}

#tbs-modal-compra .tbs-upload {
    grid-column: 1 / -1 !important;
    display: grid !important;
    gap: 9px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    border: 1px dashed rgba(236,111,163,.28) !important;
    background: rgba(255,255,255,.72) !important;
    color: #756373 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

#tbs-modal-compra .tbs-upload input[type="file"] {
    width: 100% !important;
    min-height: 44px !important;
    padding: 9px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(143,199,220,.22) !important;
    background: #fff !important;
    color: #756373 !important;
    font-size: 13px !important;
}

#tbs-modal-compra .tbs-modal-actions {
    display: grid !important;
    grid-template-columns: 1fr 1.15fr !important;
    gap: 12px !important;
    padding: 20px 32px 32px !important;
    margin: 0 !important;
}

#tbs-modal-compra .tbs-cancel-buy,
#tbs-modal-compra .tbs-confirm-buy {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 14px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

#tbs-modal-compra .tbs-cancel-buy {
    border: 1px solid rgba(236,111,163,.16) !important;
    background: rgba(255,255,255,.78) !important;
    color: #756373 !important;
}

#tbs-modal-compra .tbs-confirm-buy {
    border: 0 !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.34), transparent 28%),
        linear-gradient(135deg, var(--tbs-ms-pink, #ec6fa3), var(--tbs-ms-pink-dark, #ce4f86)) !important;
    box-shadow: 0 16px 34px rgba(236,111,163,.26) !important;
}

/* =========================
   MENSAJES PARA EL BEBÉ PREMIUM
========================= */
.tbs-ms-guestbook-card {
    width: min(100%, 1060px) !important;
    max-width: 1060px !important;
    padding: clamp(26px, 4vw, 48px) !important;
    border-radius: 42px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255,235,244,.50), transparent 30%),
        radial-gradient(circle at 100% 100%, rgba(231,246,255,.44), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,250,253,.90)) !important;
    box-shadow:
        0 32px 82px rgba(124,87,106,.14),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.tbs-ms-guestbook-card .tbs-guestbook {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-box {
    width: min(100%, 860px) !important;
    max-width: 860px !important;
    margin: 0 auto !important;
    padding: clamp(28px, 4vw, 46px) !important;
    border-radius: 34px !important;
    border: 1px solid rgba(236,111,163,.12) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 20px 54px rgba(124,87,106,.10) !important;
    overflow: hidden !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-box::before {
    content: "" !important;
    position: absolute !important;
    inset: auto -80px -86px auto !important;
    width: 220px !important;
    height: 220px !important;
    border-radius: 999px !important;
    background: rgba(143,199,220,.10) !important;
    pointer-events: none !important;
    animation: none !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-box::after {
    content: "♡" !important;
    position: absolute !important;
    top: 28px !important;
    left: 32px !important;
    width: 56px !important;
    height: 56px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, #fff0f7, #eef8ff) !important;
    color: #d8a24c !important;
    font-size: 26px !important;
    box-shadow: 0 14px 30px rgba(109,73,96,.10) !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-header {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 auto 10px !important;
    padding-top: 20px !important;
    color: var(--tbs-ms-pink-dark) !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(44px, 4.4vw, 72px) !important;
    font-weight: 700 !important;
    line-height: .96 !important;
    letter-spacing: -.05em !important;
    text-align: center !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-sub {
    position: relative !important;
    z-index: 2 !important;
    max-width: 560px !important;
    margin: 0 auto 28px !important;
    color: #756373 !important;
    font-size: clamp(16px, 1.25vw, 19px) !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    text-align: center !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: minmax(180px, .85fr) minmax(260px, 1.15fr) auto !important;
    gap: 14px !important;
    align-items: end !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"],
.tbs-ms-guestbook-card .tbs-form-guestbook textarea {
    width: 100% !important;
    min-height: 58px !important;
    padding: 16px 18px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(236,111,163,.14) !important;
    background: rgba(255,255,255,.96) !important;
    color: #4d3f47 !important;
    font-family: var(--tbs-ms-font-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook textarea {
    min-height: 96px !important;
    resize: vertical !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook button {
    min-width: 210px !important;
    min-height: 58px !important;
    padding: 16px 26px !important;
    border-radius: 999px !important;
    border: 0 !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.28), transparent 30%),
        linear-gradient(135deg, var(--tbs-ms-pink), var(--tbs-ms-pink-dark)) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    box-shadow: 0 18px 38px rgba(236,111,163,.26) !important;
}

/* reCAPTCHA discreto */
.tbs-ms-guestbook-card .g-recaptcha,
.tbs-ms-rsvp-card .g-recaptcha,
.tbs-ms .g-recaptcha,
.tbs-ms iframe[src*="recaptcha"] {
    transform: scale(.82) !important;
    transform-origin: center !important;
    opacity: .72 !important;
    filter: saturate(.82) !important;
}

.tbs-ms .grecaptcha-badge {
    transform: scale(.78) !important;
    transform-origin: bottom right !important;
    opacity: .45 !important;
}

/* =========================
   RESPONSIVE V18
========================= */
@media (max-width: 1024px) {
    .tbs-ms-guestbook-card .tbs-form-guestbook {
        grid-template-columns: 1fr !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 767px) {
    #tbs-modal-compra.tbs-app-modal,
    #tbs-modal-compra {
        align-items: flex-end !important;
        padding: 12px !important;
        background: rgba(255,250,253,.66) !important;
    }

    #tbs-modal-compra .tbs-app-sheet {
        width: 100% !important;
        max-width: 100% !important;
        max-height: 88svh !important;
        border-radius: 30px 30px 22px 22px !important;
    }

    #tbs-modal-compra .tbs-app-header {
        padding: 22px 64px 16px 22px !important;
    }

    #tbs-modal-compra .tbs-close-modal {
        top: 20px !important;
        right: 20px !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 14px !important;
    }

    #tbs-modal-compra .tbs-app-header h3 {
        font-size: clamp(34px, 10vw, 46px) !important;
    }

    #tbs-modal-compra .tbs-app-method,
    #tbs-modal-compra .tbs-app-error {
        margin-left: 22px !important;
        margin-right: 22px !important;
    }

    #tbs-modal-compra .tbs-app-form {
        grid-template-columns: 1fr !important;
        padding: 0 22px !important;
    }

    #tbs-modal-compra .tbs-modal-actions {
        grid-template-columns: 1fr !important;
        padding: 18px 22px 24px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto,
    .tbs-ms-module-card .tbs-regalos-publico .tbs-reservar,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-open-buy,
    .tbs-ms .tbs-ec-btn-clean {
        min-height: 44px !important;
        padding: 11px 12px !important;
        grid-template-columns: 20px minmax(0, 1fr) 20px !important;
        font-size: 12px !important;
    }

    .tbs-ms .tbs-ec-btn-clean::before,
    .tbs-ms .tbs-ec-btn-clean::after {
        width: 20px !important;
        height: 20px !important;
        border-radius: 8px !important;
        font-size: 11px !important;
    }

    .tbs-ms-guestbook-card {
        width: min(100%, 430px) !important;
        padding: 18px 14px !important;
        border-radius: 30px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-box {
        padding: 26px 16px 18px !important;
        border-radius: 24px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-box::after {
        top: 18px !important;
        left: 18px !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 16px !important;
        font-size: 22px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-header {
        padding-top: 38px !important;
        font-size: clamp(34px, 11vw, 50px) !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-sub {
        margin-bottom: 20px !important;
        font-size: 14.5px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"],
    .tbs-ms-guestbook-card .tbs-form-guestbook textarea {
        min-height: 52px !important;
        padding: 14px 15px !important;
        border-radius: 18px !important;
        font-size: 14px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook textarea {
        min-height: 110px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook button {
        min-height: 52px !important;
        padding: 14px 18px !important;
        font-size: 13.5px !important;
    }

    .tbs-ms .g-recaptcha,
    .tbs-ms iframe[src*="recaptcha"] {
        transform: scale(.76) !important;
        transform-origin: center left !important;
    }
}

/* =========================================================
   23) AJUSTE V19 - GUESTBOOK DESKTOP STACK + GRACIAS/CONFETTI
   Base estable: V18
========================================================= */

/* Ventana Mensajes para el bebé: layout premium vertical */
.tbs-ms-guestbook-card {
    max-width: 980px !important;
    padding: clamp(26px, 4vw, 42px) !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-box {
    max-width: 760px !important;
    padding: clamp(34px, 4vw, 56px) clamp(26px, 4vw, 46px) !important;
    border-radius: 36px !important;
    text-align: center !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-box::after {
    opacity: .52 !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-header {
    margin-bottom: 10px !important;
    font-size: clamp(48px, 4.8vw, 78px) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-sub {
    max-width: 560px !important;
    margin: 0 auto clamp(28px, 3vw, 38px) !important;
    font-size: clamp(17px, 1.35vw, 22px) !important;
    line-height: 1.45 !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook {
    width: min(100%, 620px) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-items: stretch !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"],
.tbs-ms-guestbook-card .tbs-form-guestbook textarea {
    width: 100% !important;
    text-align: left !important;
    border-radius: 22px !important;
    border: 1px solid rgba(236,111,163,.13) !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow:
        0 12px 28px rgba(124,87,106,.06),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"] {
    min-height: 62px !important;
    padding: 18px 22px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook textarea {
    min-height: 150px !important;
    padding: 20px 22px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    resize: vertical !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook button {
    width: min(100%, 360px) !important;
    min-height: 60px !important;
    margin: 4px auto 0 !important;
    border-radius: 999px !important;
    padding: 17px 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook button::before {
    content: "💌" !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.22) !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

/* reCAPTCHA más discreto dentro del guestbook */
.tbs-ms-guestbook-card .g-recaptcha,
.tbs-ms-guestbook-card iframe[src*="recaptcha"],
.tbs-ms-guestbook-card .grecaptcha-badge {
    transform: scale(.82) !important;
    transform-origin: center !important;
    opacity: .78 !important;
    filter: saturate(.9) !important;
}

/* Overlay temporal de agradecimiento */
.tbs-ec-thanks-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px !important;
    background: rgba(255, 248, 252, .30) !important;
    pointer-events: none !important;
    animation: tbsEcThanksOut .35s ease 2.65s forwards !important;
}

.tbs-ec-thanks-card {
    width: min(92vw, 430px) !important;
    padding: 34px 28px 30px !important;
    border-radius: 34px !important;
    border: 1px solid rgba(255,255,255,.88) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.92), transparent 46%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,251,.92)) !important;
    box-shadow: 0 30px 86px rgba(124,87,106,.22) !important;
    text-align: center !important;
    animation: tbsEcThanksIn .38s cubic-bezier(.2,.9,.2,1.15) both !important;
}

.tbs-ec-thanks-icon {
    width: 74px !important;
    height: 74px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto 14px !important;
    border-radius: 28px !important;
    background: linear-gradient(135deg, #fff0f7, #edf9ff) !important;
    box-shadow: 0 16px 34px rgba(151,92,130,.12) !important;
    font-size: 34px !important;
}

.tbs-ec-thanks-title {
    margin: 0 0 8px !important;
    color: var(--tbs-ms-pink-dark, #ce4f86) !important;
    font-family: var(--tbs-ms-font-title, Georgia, serif) !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    line-height: .95 !important;
    letter-spacing: -.04em !important;
}

.tbs-ec-thanks-text {
    margin: 0 !important;
    color: #6c5a64 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

.tbs-ec-confetti-layer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999998 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.tbs-ec-confetti-piece {
    position: absolute !important;
    top: -18px !important;
    width: 10px !important;
    height: 14px !important;
    border-radius: 4px !important;
    opacity: .95 !important;
    animation-name: tbsEcConfettiFall !important;
    animation-timing-function: linear !important;
    animation-fill-mode: forwards !important;
}

@keyframes tbsEcThanksIn {
    from { opacity: 0; transform: translateY(14px) scale(.92); filter: blur(4px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes tbsEcThanksOut {
    to { opacity: 0; visibility: hidden; }
}

@keyframes tbsEcConfettiFall {
    0% { transform: translate3d(0, -18px, 0) rotate(0deg); opacity: 1; }
    100% { transform: translate3d(var(--tbs-x, 0px), 108vh, 0) rotate(720deg); opacity: 0; }
}

@media (max-width: 767px) {
    .tbs-ms-guestbook-card {
        padding: 18px 14px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-box {
        padding: 28px 16px !important;
        border-radius: 26px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-header {
        font-size: clamp(36px, 11vw, 52px) !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-sub {
        margin-bottom: 22px !important;
        font-size: 15px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook {
        gap: 12px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"] {
        min-height: 54px !important;
        padding: 15px 16px !important;
        font-size: 15px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook textarea {
        min-height: 124px !important;
        padding: 16px !important;
        font-size: 15px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook button {
        width: 100% !important;
        min-height: 54px !important;
        font-size: 14px !important;
    }

    .tbs-ec-thanks-title {
        font-size: 36px !important;
    }
}

/* =========================================================
   24) AJUSTE V20 - MENSAJE GUARDADO + MODAL 3S + CONFETTI
   Base estable: V19
========================================================= */

/* Formulario desktop: nombre arriba, mensaje abajo, botón abajo */
.tbs-ms-guestbook-card .tbs-form-guestbook {
    width: min(100%, 650px) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook input[name="nombre"] {
    grid-column: 1 / -1 !important;
    order: 1 !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook textarea[name="mensaje"] {
    grid-column: 1 / -1 !important;
    order: 2 !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook button {
    order: 3 !important;
    width: min(100%, 360px) !important;
    margin: 6px auto 0 !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook button.tbs-ec-loading {
    opacity: .82 !important;
    cursor: wait !important;
}

.tbs-ec-guestbook-error {
    order: 4 !important;
    width: 100% !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    background: rgba(255, 241, 247, .95) !important;
    color: var(--tbs-ms-pink-dark, #ce4f86) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: center !important;
}

/* Modal temporal premium */
.tbs-ec-thanks-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483646 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px !important;
    background: rgba(255, 248, 252, .28) !important;
    pointer-events: none !important;
    animation: tbsEcThanksOutV20 .35s ease 2.65s forwards !important;
}

.tbs-ec-thanks-card {
    width: min(92vw, 470px) !important;
    padding: 38px 30px 34px !important;
    border-radius: 36px !important;
    border: 1px solid rgba(255,255,255,.90) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.96), transparent 48%),
        radial-gradient(circle at 100% 100%, rgba(226,246,255,.45), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,251,.94)) !important;
    box-shadow:
        0 34px 92px rgba(124,87,106,.24),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
    text-align: center !important;
    animation: tbsEcThanksInV20 .42s cubic-bezier(.2,.9,.2,1.15) both !important;
}

.tbs-ec-thanks-icon {
    width: 78px !important;
    height: 78px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto 16px !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.94), transparent 32%),
        linear-gradient(135deg, #fff0f7, #edf9ff) !important;
    box-shadow: 0 18px 38px rgba(151,92,130,.14) !important;
    font-size: 36px !important;
}

.tbs-ec-thanks-title {
    margin: 0 0 10px !important;
    color: var(--tbs-ms-pink-dark, #ce4f86) !important;
    font-family: var(--tbs-ms-font-title, Georgia, serif) !important;
    font-size: clamp(38px, 4vw, 50px) !important;
    font-weight: 700 !important;
    line-height: .95 !important;
    letter-spacing: -.045em !important;
}

.tbs-ec-thanks-text {
    max-width: 360px !important;
    margin: 0 auto !important;
    color: #6c5a64 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.48 !important;
}

/* Confetti pantalla completa */
.tbs-ec-confetti-layer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483645 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.tbs-ec-confetti-piece {
    position: absolute !important;
    top: -22px !important;
    display: block !important;
    border-radius: 4px !important;
    opacity: .96 !important;
    color: #ec6fa3 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-align: center !important;
    animation-name: tbsEcConfettiFallV20 !important;
    animation-timing-function: linear !important;
    animation-fill-mode: forwards !important;
}

@keyframes tbsEcThanksInV20 {
    from { opacity: 0; transform: translateY(16px) scale(.92); filter: blur(4px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes tbsEcThanksOutV20 {
    to { opacity: 0; visibility: hidden; }
}

@keyframes tbsEcConfettiFallV20 {
    0% { transform: translate3d(0, -24px, 0) rotate(0deg); opacity: 1; }
    100% { transform: translate3d(var(--tbs-x, 0px), 110vh, 0) rotate(var(--tbs-r, 720deg)); opacity: 0; }
}

@media (max-width: 767px) {
    .tbs-ms-guestbook-card .tbs-form-guestbook {
        width: 100% !important;
        gap: 12px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook button {
        width: 100% !important;
    }

    .tbs-ec-thanks-card {
        padding: 32px 24px 30px !important;
        border-radius: 30px !important;
    }

    .tbs-ec-thanks-title {
        font-size: 36px !important;
    }

    .tbs-ec-thanks-text {
        font-size: 15px !important;
    }
}

/* =========================================================
   25) AJUSTE V21 - HEADER TOP + MODAL COMPRA COMPACTO
       + MENÚ MÓVIL COMPLETO + GRACIAS/CONFETTI SIN BLUR
========================================================= */

html.tbs-ec-public-ready,
body.tbs-ec-public-ready,
body.tbs-ec-public-ready #wrapper,
body.tbs-ec-public-ready #page,
body.tbs-ec-public-ready .main-content,
body.tbs-ec-public-ready .main-content-area,
body.tbs-ec-public-ready .page-content,
body.tbs-ec-public-ready .entry-content,
body.tbs-ec-public-ready .elementor,
body.tbs-ec-public-ready .elementor-section-wrap {
    background:
        radial-gradient(circle at 0% 4%, rgba(255, 204, 225, .48), transparent 28%),
        radial-gradient(circle at 100% 8%, rgba(184, 226, 242, .32), transparent 24%),
        linear-gradient(180deg, #fffafd 0%, #ffffff 36%, #fff8fc 100%) !important;
}

body.tbs-ec-public-ready {
    margin: 0 !important;
    padding-top: 0 !important;
}

body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-publico,
body.tbs-ec-public-ready .tbs-ms.tbs-publico-estrellita-camino,
body.tbs-ec-public-ready .tbs-micrositio-publico.tbs-publico-estrellita-camino {
    margin-top: 0 !important;
    padding-top: max(0px, env(safe-area-inset-top)) !important;
    overflow: visible !important;
}

body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-publico::before,
body.tbs-ec-public-ready .tbs-ms.tbs-publico-estrellita-camino::before,
body.tbs-ec-public-ready .tbs-micrositio-publico.tbs-publico-estrellita-camino::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: -120px !important;
    height: 180px !important;
    background:
        radial-gradient(circle at 8% 0%, rgba(255, 204, 225, .50), transparent 34%),
        radial-gradient(circle at 100% 4%, rgba(184, 226, 242, .34), transparent 30%),
        linear-gradient(180deg, #fffafd 0%, #fffafd 100%) !important;
    pointer-events: none !important;
}

body.tbs-ec-public-ready .tbs-ms-hero {
    margin-top: 0 !important;
}

/* Menú móvil: todas las opciones visibles, sin carrusel horizontal */
@media (max-width: 767px) {
    .tbs-ms-quicknav {
        position: relative !important;
        top: auto !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: min(100% - 24px, 430px) !important;
        max-width: 430px !important;
        margin: -10px auto 24px !important;
        padding: 10px !important;
        overflow: visible !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.92) !important;
        box-shadow: 0 16px 38px rgba(124,87,106,.10) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .tbs-ms.tbs-plan-dulce-llegada .tbs-ms-quicknav,
    .tbs-ms.tbs-plan-dulce-experiencia .tbs-ms-quicknav {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .tbs-ms-quicknav a {
        flex: initial !important;
        min-width: 0 !important;
        width: 100% !important;
        min-height: 58px !important;
        display: grid !important;
        place-items: center !important;
        gap: 4px !important;
        padding: 9px 5px !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.72) !important;
        border: 1px solid rgba(236,111,163,.10) !important;
        color: #6c5a64 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: normal !important;
    }
}

@media (max-width: 390px) {
    .tbs-ms-quicknav a {
        font-size: 11px !important;
        min-height: 54px !important;
    }
}

/* Modal de confirmar compra: formato premium compacto, sin scroll interno visible */
#tbs-modal-compra.tbs-app-modal,
#tbs-modal-compra {
    align-items: center !important;
    justify-content: center !important;
    padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom)) !important;
    background: rgba(255, 248, 252, .72) !important;
}

#tbs-modal-compra .tbs-app-sheet {
    width: min(94vw, 720px) !important;
    max-height: calc(100svh - 28px) !important;
    display: grid !important;
    grid-template-rows: auto auto 1fr auto !important;
    overflow: hidden !important;
    border-radius: 34px !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(255,235,244,.92), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(232,248,255,.72), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,250,253,.96)) !important;
}

#tbs-modal-compra .tbs-handle {
    display: none !important;
}

#tbs-modal-compra .tbs-app-header {
    min-height: 0 !important;
    padding: 22px 70px 12px 28px !important;
}

#tbs-modal-compra .tbs-app-header::before {
    width: 44px !important;
    height: 44px !important;
    margin-bottom: 10px !important;
    border-radius: 16px !important;
    font-size: 24px !important;
}

#tbs-modal-compra .tbs-app-header h3 {
    margin-bottom: 6px !important;
    font-size: clamp(36px, 4.6vw, 54px) !important;
    line-height: .92 !important;
}

#tbs-modal-compra .tbs-app-header p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

#tbs-modal-compra .tbs-close-modal {
    top: 18px !important;
    right: 20px !important;
}

#tbs-modal-compra .tbs-app-method,
#tbs-modal-compra .tbs-app-error {
    margin: 0 28px 12px !important;
    padding: 14px 16px !important;
    border-radius: 20px !important;
}

#tbs-modal-compra .tbs-app-method .label {
    margin-bottom: 6px !important;
    font-size: 11px !important;
}

#tbs-modal-compra #tbs-metodo-modal {
    font-size: 16px !important;
    line-height: 1.15 !important;
}

#tbs-modal-compra .tbs-app-form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 0 28px !important;
    overflow: visible !important;
}

#tbs-modal-compra .tbs-app-form input[type="text"],
#tbs-modal-compra .tbs-app-form input[type="email"],
#tbs-modal-compra .tbs-app-form input[type="tel"],
#tbs-modal-compra .tbs-app-form textarea {
    min-height: 48px !important;
    padding: 13px 14px !important;
    border-radius: 17px !important;
    font-size: 14px !important;
}

#tbs-modal-compra .tbs-upload {
    grid-column: 1 / -1 !important;
    gap: 6px !important;
    padding: 11px 14px !important;
    border-radius: 18px !important;
    font-size: 13px !important;
}

#tbs-modal-compra .tbs-upload input[type="file"] {
    min-height: 38px !important;
    padding: 6px !important;
    font-size: 12px !important;
}

#tbs-modal-compra .tbs-modal-actions {
    grid-template-columns: 1fr 1.2fr !important;
    gap: 10px !important;
    padding: 14px 28px 24px !important;
}

#tbs-modal-compra .tbs-cancel-buy,
#tbs-modal-compra .tbs-confirm-buy {
    min-height: 48px !important;
    padding: 13px 16px !important;
    font-size: 13.5px !important;
}

@media (max-width: 767px) {
    #tbs-modal-compra.tbs-app-modal,
    #tbs-modal-compra {
        align-items: center !important;
        padding: 8px !important;
    }

    #tbs-modal-compra .tbs-app-sheet {
        width: min(96vw, 430px) !important;
        max-height: calc(100svh - 16px) !important;
        border-radius: 28px !important;
    }

    #tbs-modal-compra .tbs-app-header {
        padding: 16px 58px 8px 18px !important;
    }

    #tbs-modal-compra .tbs-app-header::before {
        width: 38px !important;
        height: 38px !important;
        margin-bottom: 7px !important;
        border-radius: 14px !important;
        font-size: 21px !important;
    }

    #tbs-modal-compra .tbs-app-header h3 {
        font-size: clamp(30px, 9vw, 40px) !important;
        line-height: .92 !important;
    }

    #tbs-modal-compra .tbs-app-header p {
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    #tbs-modal-compra .tbs-close-modal {
        top: 14px !important;
        right: 14px !important;
        width: 36px !important;
        height: 36px !important;
    }

    #tbs-modal-compra .tbs-app-method,
    #tbs-modal-compra .tbs-app-error {
        margin: 0 18px 9px !important;
        padding: 10px 13px !important;
        border-radius: 17px !important;
    }

    #tbs-modal-compra #tbs-metodo-modal {
        font-size: 14px !important;
    }

    #tbs-modal-compra .tbs-app-form {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 0 18px !important;
    }

    #tbs-modal-compra .tbs-app-form input[type="text"],
    #tbs-modal-compra .tbs-app-form input[type="email"],
    #tbs-modal-compra .tbs-app-form input[type="tel"],
    #tbs-modal-compra .tbs-app-form textarea {
        min-height: 43px !important;
        padding: 10px 13px !important;
        border-radius: 15px !important;
        font-size: 13.5px !important;
    }

    #tbs-modal-compra .tbs-upload {
        padding: 9px 12px !important;
        gap: 5px !important;
        border-radius: 16px !important;
        font-size: 12.5px !important;
    }

    #tbs-modal-compra .tbs-upload input[type="file"] {
        min-height: 34px !important;
        padding: 5px !important;
        font-size: 11.5px !important;
    }

    #tbs-modal-compra .tbs-modal-actions {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 10px 18px 16px !important;
    }

    #tbs-modal-compra .tbs-cancel-buy,
    #tbs-modal-compra .tbs-confirm-buy {
        min-height: 42px !important;
        padding: 10px 12px !important;
        font-size: 12.5px !important;
    }
}

@media (max-width: 360px) {
    #tbs-modal-compra .tbs-app-header h3 {
        font-size: 28px !important;
    }

    #tbs-modal-compra .tbs-app-form input[type="text"],
    #tbs-modal-compra .tbs-app-form input[type="email"],
    #tbs-modal-compra .tbs-app-form input[type="tel"] {
        min-height: 40px !important;
    }
}

/* Gracias + confetti siempre encima y sin efecto borroso */
html.tbs-ec-thanks-visible,
body.tbs-ec-thanks-visible {
    overflow: hidden !important;
}

body.tbs-ec-thanks-visible .tbs-ms,
body.tbs-ec-thanks-visible .tbs-ms *,
.tbs-ms-closing,
.tbs-ms-closing * {
    filter: none !important;
    -webkit-filter: none !important;
}

.tbs-ms-closing,
.tbs-ms-closing * {
    opacity: 1 !important;
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
}

.tbs-ec-thanks-overlay {
    z-index: 2147483647 !important;
    background: rgba(255, 248, 252, .42) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: auto !important;
}

.tbs-ec-thanks-card {
    position: relative !important;
    overflow: hidden !important;
    filter: none !important;
    -webkit-filter: none !important;
}

.tbs-ec-thanks-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(circle at 50% -10%, rgba(255,255,255,.95), transparent 42%) !important;
    pointer-events: none !important;
}

.tbs-ec-thanks-card > * {
    position: relative !important;
    z-index: 2 !important;
}

.tbs-ec-thanks-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    margin: 18px auto 0 !important;
    padding: 12px 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--tbs-ms-pink, #ec6fa3), var(--tbs-ms-pink-dark, #ce4f86)) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    box-shadow: 0 14px 30px rgba(236,111,163,.24) !important;
}

.tbs-ec-confetti-layer {
    z-index: 2147483646 !important;
}

.tbs-ec-confetti-piece {
    top: -28px !important;
    will-change: transform, opacity !important;
}

@keyframes tbsEcThanksInV20 {
    from { opacity: 0; transform: translateY(16px) scale(.94); filter: none; }
    to { opacity: 1; transform: translateY(0) scale(1); filter: none; }
}

@keyframes tbsEcThanksIn {
    from { opacity: 0; transform: translateY(14px) scale(.94); filter: none; }
    to { opacity: 1; transform: translateY(0) scale(1); filter: none; }
}


/* =========================================================
   26) AJUSTE V22 - SIN FRANJA BLANCA + FONDO ESTRELLITA CAMINO
       + GRACIAS MODAL FORZADO + CONFETTI FULLSCREEN
========================================================= */

/* 1) Quitar la franja blanca superior incluso antes/después de que cargue JS */
html:has(.tbs-publico-estrellita-camino),
html:has(.tbs-micrositio-estrellita-camino),
body:has(.tbs-publico-estrellita-camino),
body:has(.tbs-micrositio-estrellita-camino),
html.tbs-ec-public-ready,
body.tbs-ec-public-ready,
html.tbs-ec-v22-ready,
body.tbs-ec-v22-ready {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100% !important;
    background-color: #fff6fb !important;
    background-image:
        linear-gradient(180deg, rgba(255, 246, 251, .40) 0%, rgba(255, 250, 253, .58) 28%, rgba(255, 246, 251, .68) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top !important;
    background-size: 100% auto !important;
    background-repeat: repeat-y !important;
}

body:has(.tbs-publico-estrellita-camino) #wrapper,
body:has(.tbs-publico-estrellita-camino) #page,
body:has(.tbs-publico-estrellita-camino) .page-wrapper,
body:has(.tbs-publico-estrellita-camino) .main-content,
body:has(.tbs-publico-estrellita-camino) .main-content-area,
body:has(.tbs-publico-estrellita-camino) .site-content,
body:has(.tbs-publico-estrellita-camino) .content-area,
body:has(.tbs-publico-estrellita-camino) .page-content,
body:has(.tbs-publico-estrellita-camino) .entry-content,
body:has(.tbs-publico-estrellita-camino) .elementor,
body:has(.tbs-publico-estrellita-camino) .elementor-section-wrap,
body.tbs-ec-public-ready #wrapper,
body.tbs-ec-public-ready #page,
body.tbs-ec-public-ready .page-wrapper,
body.tbs-ec-public-ready .main-content,
body.tbs-ec-public-ready .main-content-area,
body.tbs-ec-public-ready .site-content,
body.tbs-ec-public-ready .content-area,
body.tbs-ec-public-ready .page-content,
body.tbs-ec-public-ready .entry-content,
body.tbs-ec-public-ready .elementor,
body.tbs-ec-public-ready .elementor-section-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background: transparent !important;
    border-top: 0 !important;
}

/* Si el tema deja un header vacío/blanco sobre el micrositio público, se apaga solo en esta vista pública. */
body:has(.tbs-publico-estrellita-camino) header,
body:has(.tbs-publico-estrellita-camino) #header,
body:has(.tbs-publico-estrellita-camino) .site-header,
body:has(.tbs-publico-estrellita-camino) .main-header,
body.tbs-ec-public-ready header,
body.tbs-ec-public-ready #header,
body.tbs-ec-public-ready .site-header,
body.tbs-ec-public-ready .main-header {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
}

/* 2) Fondo Estrellita Camino continuo en todo el micrositio, desde el primer pixel hasta el final */
.tbs-ms.tbs-micrositio-publico,
.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    margin-top: -1px !important;
    padding-top: 0 !important;
    overflow: hidden !important;
    background-color: #fff6fb !important;
    background-image:
        linear-gradient(180deg, rgba(255, 246, 251, .30) 0%, rgba(255, 255, 255, .50) 24%, rgba(255, 248, 252, .58) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top !important;
    background-size: 100% auto !important;
    background-repeat: repeat-y !important;
}

.tbs-ms.tbs-micrositio-publico::before,
.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino::before,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -320px !important;
    bottom: -80px !important;
    z-index: -3 !important;
    pointer-events: none !important;
    opacity: .72 !important;
    background-image:
        linear-gradient(180deg, rgba(255, 246, 251, .42) 0%, rgba(255,255,255,.54) 22%, rgba(255, 247, 252, .64) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top !important;
    background-size: 100% auto !important;
    background-repeat: repeat-y !important;
}

.tbs-ms.tbs-micrositio-publico::after,
.tbs-ms.tbs-publico-estrellita-camino::after,
.tbs-ms.tbs-micrositio-estrellita-camino::after,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino::after,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -320px !important;
    bottom: -80px !important;
    z-index: -2 !important;
    pointer-events: none !important;
    opacity: .24 !important;
    background: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / 100% auto repeat-y !important;
}

.tbs-ms-hero {
    margin-top: 0 !important;
}

/* Completa la imagen del header/hero hasta arriba, sin borde blanco superior */
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top-width: 0 !important;
    background-position: center top !important;
}

/* 3) Modal de gracias: siempre modal real, sin blur, encima de todo y sin auto fade visual */
.tbs-ec-thanks-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom)) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: rgba(255, 248, 252, .54) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    animation: none !important;
    filter: none !important;
    -webkit-filter: none !important;
}

.tbs-ec-thanks-card {
    z-index: 2147483647 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    -webkit-filter: none !important;
    animation: tbsEcThanksInV22 .28s ease-out both !important;
}

.tbs-ec-thanks-title,
.tbs-ec-thanks-text,
.tbs-ec-thanks-icon {
    filter: none !important;
    -webkit-filter: none !important;
    text-shadow: none !important;
}

.tbs-ec-confetti-layer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483646 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

@keyframes tbsEcThanksInV22 {
    from { opacity: 0; transform: translateY(14px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 767px) {
    html:has(.tbs-publico-estrellita-camino),
    html:has(.tbs-micrositio-estrellita-camino),
    body:has(.tbs-publico-estrellita-camino),
    body:has(.tbs-micrositio-estrellita-camino),
    html.tbs-ec-public-ready,
    body.tbs-ec-public-ready,
    .tbs-ms.tbs-micrositio-publico,
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
        background-size: cover !important;
        background-repeat: repeat-y !important;
        background-position: center top !important;
    }

    .tbs-ms.tbs-micrositio-publico::before,
    .tbs-ms.tbs-publico-estrellita-camino::before,
    .tbs-ms.tbs-micrositio-estrellita-camino::before,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before {
        top: -220px !important;
        opacity: .78 !important;
        background-size: cover !important;
    }

    .tbs-ms.tbs-micrositio-publico::after,
    .tbs-ms.tbs-publico-estrellita-camino::after,
    .tbs-ms.tbs-micrositio-estrellita-camino::after,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
        top: -220px !important;
        opacity: .20 !important;
        background-image: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') !important;
        background-size: cover !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        margin-top: 0 !important;
        border-radius: 0 0 34px 34px !important;
        border-top: 0 !important;
    }
}

/* =========================================================
   26) AJUSTE V26 - HERO MÁS PREMIUM + ÍCONOS NAV + SUBTÍTULOS
   Base estable: V25
   - Agranda título principal en desktop.
   - Adelgaza subtítulos para lectura más premium.
   - Recupera íconos premium en navegación rápida.
========================================================= */

@media (min-width: 1025px) {
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero h1,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero h1,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero h1 {
        font-size: clamp(88px, 8.9vw, 148px) !important;
        line-height: .82 !important;
        letter-spacing: -.064em !important;
        margin-bottom: 20px !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero h1 span,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero h1 span,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero h1 span {
        font-size: clamp(112px, 10.8vw, 178px) !important;
        line-height: .66 !important;
        margin-top: 8px !important;
        letter-spacing: -.018em !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero-text,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero-text,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero-text {
        max-width: 850px !important;
        margin-top: 30px !important;
        font-size: clamp(22px, 1.75vw, 30px) !important;
        font-weight: 500 !important;
        letter-spacing: -.01em !important;
        line-height: 1.5 !important;
    }
}

/* Subtítulos más delgados, editoriales y premium */
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero-text,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero-text,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero-text,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-section-head p,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-section-head p,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-section-head p,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-countdown-copy p,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-countdown-copy p,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-countdown-copy p,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-closing-card p,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-closing-card p,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-closing-card p,
.tbs-ms.tbs-publico-estrellita-camino .tbs-rsvp-sub,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-rsvp-sub,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-rsvp-sub,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-location-copy p,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-location-copy p,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-location-copy p,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-details-copy p,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-details-copy p,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-details-copy p,
.tbs-ms.tbs-publico-estrellita-camino .tbs-guestbook-sub,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-guestbook-sub,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-guestbook-sub,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-sub,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-sub,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-sub {
    font-weight: 400 !important;
    letter-spacing: -.005em !important;
    color: rgba(77, 63, 71, .78) !important;
}

/* Mantiene fuerza moderada únicamente en textos principales dentro de tarjetas */
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-details-copy p,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-details-copy p,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-details-copy p {
    font-weight: 500 !important;
    color: rgba(77, 63, 71, .82) !important;
}

/* Navegación rápida desktop: botones más premium con íconos restaurados */
@media (min-width: 768px) {
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav {
        width: min(1380px, calc(100vw - 64px)) !important;
        grid-template-columns: repeat(6, minmax(150px, 1fr)) !important;
        gap: 16px !important;
        padding: 18px !important;
        border-radius: 34px !important;
        background: rgba(255,255,255,.88) !important;
        box-shadow: 0 24px 64px rgba(124, 87, 106, .13) !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav a,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav a,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav a {
        min-height: 78px !important;
        padding: 14px 18px !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        align-items: center !important;
        justify-items: start !important;
        gap: 12px !important;
        border-radius: 24px !important;
        border: 1px solid rgba(236, 111, 163, .11) !important;
        background:
            radial-gradient(circle at 18% 16%, rgba(255,255,255,.90), transparent 34%),
            linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,247,251,.70)) !important;
        color: #5e5058 !important;
        box-shadow:
            0 14px 32px rgba(124,87,106,.08),
            inset 0 1px 0 rgba(255,255,255,.88) !important;
        text-align: left !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav a:hover,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav a:hover,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav a:hover {
        transform: translateY(-3px) !important;
        color: var(--tbs-ms-pink-dark) !important;
        background:
            radial-gradient(circle at 18% 16%, rgba(255,255,255,.94), transparent 34%),
            linear-gradient(135deg, rgba(255,241,247,.96), rgba(239,249,255,.86)) !important;
        box-shadow:
            0 20px 44px rgba(124,87,106,.13),
            inset 0 1px 0 rgba(255,255,255,.92) !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav .tbs-ec-nav-icon,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav .tbs-ec-nav-icon,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav .tbs-ec-nav-icon,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav a > span,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav a > span,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav a > span {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        display: grid !important;
        place-items: center !important;
        margin: 0 !important;
        border-radius: 16px !important;
        border: 1px solid rgba(255,255,255,.86) !important;
        background:
            radial-gradient(circle at 28% 18%, rgba(255,255,255,.98), transparent 34%),
            linear-gradient(135deg, #fff0f7, #edf9ff) !important;
        color: var(--tbs-ms-pink-dark) !important;
        box-shadow: 0 12px 26px rgba(151, 92, 130, .12) !important;
        font-size: 20px !important;
        font-family: "Cormorant Garamond", Georgia, serif !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav strong,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav strong,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav strong {
        display: block !important;
        color: inherit !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        letter-spacing: -.01em !important;
        line-height: 1.1 !important;
        text-align: left !important;
        white-space: normal !important;
    }
}

/* Móvil conserva todos los accesos visibles con ícono + texto, sin afectar la versión estable */
@media (max-width: 767px) {
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav a,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav a,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav a {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        align-content: center !important;
        gap: 6px !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav .tbs-ec-nav-icon,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav .tbs-ec-nav-icon,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav .tbs-ec-nav-icon,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav a > span,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav a > span,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav a > span {
        width: 30px !important;
        height: 30px !important;
        display: grid !important;
        place-items: center !important;
        margin: 0 !important;
        border-radius: 12px !important;
        background: linear-gradient(135deg, #fff0f7, #edf9ff) !important;
        color: var(--tbs-ms-pink-dark) !important;
        font-size: 15px !important;
        box-shadow: 0 8px 18px rgba(151, 92, 130, .10) !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-quicknav strong,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-quicknav strong,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-quicknav strong {
        font-size: 11.5px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        text-align: center !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero-text,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero-text,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero-text {
        font-weight: 400 !important;
    }
}

/* =========================================================
   36) AJUSTE V36 ESTABLE - BASE V26 + VISUAL PREMIUM
   Objetivo:
   - Recupera el scroll nativo estable de V26.
   - NO toca html/body, NO usa touch-action global, NO usa overflow global.
   - Evita que las secciones activen animaciones por viewport en móvil.
   - Mantiene subtítulos más delgados y datos móviles grandes.
========================================================= */

/* Subtítulos más delgados/premium sin afectar layout ni scroll */
.tbs-ms-hero-text,
.tbs-ms-section-head p,
.tbs-ms-countdown-copy p,
.tbs-ms-closing-card p,
.tbs-ms-details-copy p,
.tbs-rsvp-sub,
.tbs-ms-location-copy p,
.tbs-ms-guestbook-card .tbs-guestbook-sub,
.tbs-ms-module-card p,
.tbs-ms p {
    font-weight: 400 !important;
    letter-spacing: -0.012em !important;
}

.tbs-ms-hero-text {
    font-weight: 400 !important;
    color: rgba(61, 51, 57, .78) !important;
}

/* Evita paradas por animaciones ligadas al viewport, sin modificar el scroll nativo */
@media (max-width: 767px) {
    .tbs-ms-section,
    .tbs-ms-countdown-section,
    .tbs-ms-closing {
        animation: none !important;
        animation-timeline: auto !important;
        animation-range: normal !important;
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }

    /* Fecha/Hora más grandes en móvil; Lugar un poco más grande */
    .tbs-ms-meta > div.tbs-ms-meta-date span,
    .tbs-ms-meta > div:nth-child(1) span,
    .tbs-ms-meta > div.tbs-ms-meta-time span,
    .tbs-ms-meta > div:nth-child(2) span {
        font-size: clamp(32px, 9.8vw, 46px) !important;
        line-height: 1.02 !important;
        font-weight: 700 !important;
        letter-spacing: -.035em !important;
    }

    .tbs-ms-meta > div.tbs-ms-meta-place span,
    .tbs-ms-meta > div:nth-child(3) span {
        font-size: clamp(22px, 6.4vw, 30px) !important;
        line-height: 1.14 !important;
        font-weight: 650 !important;
    }

    .tbs-ms-meta strong,
    .tbs-ms-meta b {
        font-weight: 800 !important;
        letter-spacing: .09em !important;
    }

    /* Ventana Deja tu Mensaje nítida en móvil */
    .tbs-ms-guestbook-card,
    .tbs-ms-guestbook-card *,
    .tbs-ms-guestbook-card::before,
    .tbs-ms-guestbook-card::after,
    .tbs-ms-guestbook-card .tbs-guestbook-box,
    .tbs-ms-guestbook-card .tbs-guestbook-box::before,
    .tbs-ms-guestbook-card .tbs-guestbook-box::after {
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

/* =========================================================
   37) AJUSTE V37 ESTABLE - SCROLL FLUIDO NATIVO
   Objetivo:
   - Eliminar la pausa al entrar/salir de cada sección en móvil.
   - Desactivar por completo animaciones ligadas al viewport dentro del micrositio.
   - Evitar scroll-snap o captura de gesto de tarjetas/secciones.
   - No usa JS para controlar scroll.
========================================================= */

.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    scroll-snap-type: none !important;
    overscroll-behavior: auto !important;
}

.tbs-ms.tbs-publico-estrellita-camino *,
.tbs-ms.tbs-micrositio-estrellita-camino *,
.tbs-micrositio-publico.tbs-publico-estrellita-camino *,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino * {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
}

/* La causa más probable de la pausa por sección: animation-timeline:view() */
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-section,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-countdown-section,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-closing,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-section *,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-countdown-section *,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-closing *,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-section,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-countdown-section,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-closing,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-section *,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-countdown-section *,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-closing *,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-section,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-countdown-section,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-closing,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-section *,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-countdown-section *,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-closing * {
    animation-timeline: auto !important;
    animation-range: normal !important;
}

/* En móvil se eliminan animaciones del flujo; así el scroll no espera a que se estabilice cada bloque. */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
    html:has(.tbs-ms.tbs-micrositio-publico),
    body:has(.tbs-ms.tbs-micrositio-publico) {
        scroll-behavior: auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-y: auto !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-section,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-countdown-section,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-closing,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-section,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-countdown-section,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-closing,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-section,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-countdown-section,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-closing {
        touch-action: pan-y !important;
        scroll-snap-type: none !important;
        overscroll-behavior: auto !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-section,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-countdown-section,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-closing,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-section,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-countdown-section,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-closing,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-section,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-countdown-section,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-closing {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-details-card,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-rsvp-card,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-location-card,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-module-card,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-guestbook-card,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-closing-card,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-details-card,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-location-card,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-module-card,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-closing-card,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-details-card,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-rsvp-card,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-location-card,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-module-card,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-guestbook-card,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-closing-card {
        touch-action: pan-y !important;
        overscroll-behavior: auto !important;
    }

    /* Evita que el botón flotante del tema capture gestos sobre la zona inferior salvo el tap exacto. */
    .tbs-ms-back-top,
    .tbs-back-top,
    .back-to-top,
    .scroll-to-top {
        touch-action: manipulation !important;
    }
}


/* =========================================================
   38) AJUSTE V38 - EXPERIENCIA DE CARGA FINAL EN MÓVIL
   - Evita que el visitante vea el estado intermedio antes de cargar CSS/hero.
   - La visibilidad inicial se controla desde el bloque crítico inline en PHP.
   - No intercepta scroll ni gestos táctiles.
========================================================= */

html.tbs-ec-final-ready,
html.tbs-ec-final-ready body {
    background: #fffafd !important;
}

html.tbs-ec-final-ready .tbs-ms.tbs-micrositio-publico,
html.tbs-ec-final-ready .tbs-ms.tbs-publico-estrellita-camino,
html.tbs-ec-final-ready .tbs-micrositio-publico.tbs-publico-estrellita-camino,
html.tbs-ec-final-ready .tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 767px) {
    .tbs-ms.tbs-micrositio-publico,
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
        scroll-behavior: auto !important;
        touch-action: pan-y !important;
    }

    .tbs-ms-hero {
        background-image: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
        background-size: cover !important;
        background-position: 31% center !important;
    }

    .tbs-ms-hero,
    .tbs-ms-section,
    .tbs-ms-countdown-section,
    .tbs-ms-closing,
    .tbs-ms-details-card,
    .tbs-ms-rsvp-card,
    .tbs-ms-location-card,
    .tbs-ms-module-card,
    .tbs-ms-guestbook-card,
    .tbs-ms-closing-card {
        animation: none !important;
        animation-timeline: auto !important;
        transition-property: opacity, background-color, color, border-color, box-shadow !important;
        transform: none !important;
        filter: none !important;
        -webkit-filter: none !important;
        touch-action: pan-y !important;
    }
}


/* =========================================================
   39) AJUSTE V39 ESTABLE - HERO MÓVIL, CALENDARIO, RSVP Y RECAPTCHA
   Base: V38 estable.
   - Osito/fondo detrás de la información en móvil.
   - Cierre centrado.
   - Botón premium Agregar a agenda.
   - reCAPTCHA centrado en RSVP y Guestbook.
   - Modal de gracias para RSVP reutilizando confetti.
========================================================= */

/* Cierre final centrado en desktop y móvil */
.tbs-ms-closing-card {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.tbs-ms-closing-card h2,
.tbs-ms-closing-card p,
.tbs-ms-closing-card a,
.tbs-ms-closing-icon {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.tbs-ms-closing-card p {
    max-width: 640px !important;
    font-weight: 400 !important;
}

/* Botón premium para agregar a agenda */
.tbs-ms-actions .tbs-ec-calendar-btn,
.tbs-ec-calendar-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 58px !important;
    padding: 17px 30px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(143,199,220,.30) !important;
    color: #4f96ad !important;
    background:
        radial-gradient(circle at 26% 18%, rgba(255,255,255,.76), transparent 30%),
        linear-gradient(135deg, rgba(240,250,255,.96), rgba(255,241,247,.92)) !important;
    box-shadow:
        0 18px 38px rgba(89,163,191,.13),
        inset 0 1px 0 rgba(255,255,255,.82) !important;
    font-family: var(--tbs-ms-font-body) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.tbs-ec-calendar-btn::before {
    content: "📆" !important;
    width: 28px !important;
    height: 28px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.78) !important;
    box-shadow: 0 8px 18px rgba(89,163,191,.10) !important;
    font-size: 15px !important;
}

.tbs-ec-calendar-btn:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.02) saturate(1.04) !important;
}

/* reCAPTCHA centrado y sin desalinearse por transform-origin */
.tbs-ms .g-recaptcha,
.tbs-ms-rsvp-card .g-recaptcha,
.tbs-ms-guestbook-card .g-recaptcha,
.tbs-ms .ff-el-group .g-recaptcha {
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    transform-origin: center center !important;
}

.tbs-ms .g-recaptcha > div,
.tbs-ms-rsvp-card .g-recaptcha > div,
.tbs-ms-guestbook-card .g-recaptcha > div {
    margin-left: auto !important;
    margin-right: auto !important;
}

.tbs-ms iframe[src*="recaptcha"] {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    transform-origin: center center !important;
}

/* Modal de gracias: cierre automático en 3s para RSVP y Guestbook */
.tbs-ec-thanks-overlay {
    pointer-events: auto !important;
    animation: tbsEcThanksOutV39 .35s ease 2.9s forwards !important;
}

.tbs-ec-thanks-card {
    text-align: center !important;
}

.tbs-ec-thanks-close {
    display: none !important;
}

@keyframes tbsEcThanksOutV39 {
    to { opacity: 0; visibility: hidden; }
}

@media (max-width: 767px) {
    /* Hero móvil: evita que el contenido se salga hacia la derecha y ubica el osito/fondo detrás de la información */
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino .tbs-ms-hero,
    .tbs-ms-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        overflow: hidden !important;
        background-position: 34% center !important;
        background-size: cover !important;
    }

    .tbs-ms-hero::before {
        background:
            radial-gradient(circle at 50% 33%, rgba(255,255,255,.72), rgba(255,250,253,.30) 34%, transparent 64%),
            linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,248,252,.18) 28%, rgba(255,248,252,.54) 66%, rgba(255,249,252,.84) 100%) !important;
    }

    .tbs-ms-hero-copy {
        position: relative !important;
        z-index: 5 !important;
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        transform: none !important;
    }

    .tbs-ms-meta,
    .tbs-ms-actions {
        width: min(100%, 390px) !important;
        max-width: 390px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .tbs-ms-meta > div {
        width: 100% !important;
        max-width: 100% !important;
    }

    .tbs-ms-actions .tbs-ec-calendar-btn,
    .tbs-ec-calendar-btn {
        width: 100% !important;
        min-height: 54px !important;
        padding: 15px 20px !important;
        font-size: 14.5px !important;
    }

    .tbs-ms-closing-card {
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        min-height: 300px !important;
    }

    .tbs-ms-closing-card h2,
    .tbs-ms-closing-card p,
    .tbs-ms-closing-icon {
        max-width: 100% !important;
        text-align: center !important;
    }

    .tbs-ms .g-recaptcha,
    .tbs-ms-rsvp-card .g-recaptcha,
    .tbs-ms-guestbook-card .g-recaptcha {
        transform: scale(.86) !important;
        transform-origin: center center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* =========================================================
   40) AJUSTE V40 ESTABLE - RSVP SIN MENSAJE NATIVO + TARJETAS MÁS COMPACTAS
   Base: V39 estable.
   - Oculta el segundo cuadro nativo de FluentForms luego de confirmar asistencia.
   - Mantiene solo el modal cálido con confetti.
   - Hace un poco más compactas las tarjetas desktop de Wishlist y Regalos Virtuales.
========================================================= */

/* Ocultar mensaje nativo de éxito de RSVP / FluentForms dentro del micrositio */
.tbs-ms-rsvp-card .ff-message-success,
.tbs-ms-rsvp-card .ff-el-is-success .ff-message-success,
.tbs-ms-rsvp-card .fluentform .ff-message-success,
.tbs-ms-rsvp-card .text-success,
.tbs-ms-rsvp-card .ff_success,
.tbs-ms-rsvp-card .ff-el-success,
.tbs-ms-rsvp-card [class*="success"]:not(.tbs-ec-thanks-card):not(.tbs-ec-thanks-title):not(.tbs-ec-thanks-text) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* El formulario puede quedar visible para no generar saltos visuales, pero sin el cuadro nativo */
.tbs-ms-rsvp-card form.ff-el-is-success,
.tbs-ms-rsvp-card .ff-el-is-success,
.tbs-ms-rsvp-card .fluentform.ff-el-is-success {
    display: block !important;
    opacity: 1 !important;
    filter: none !important;
}

/* Tarjetas desktop más pequeñas, conservando formato premium */
@media (min-width: 1025px) {
    .tbs-ms-module-card {
        max-width: 1080px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: clamp(22px, 2.6vw, 30px) !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-lista,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-lista {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 18px !important;
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-card,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-card-virtual {
        border-radius: 26px !important;
        box-shadow:
            0 14px 34px rgba(124, 87, 106, .09),
            inset 0 1px 0 rgba(255,255,255,.88) !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-img,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-img {
        padding: 12px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-img img,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-img img,
    .tbs-ms-module-card .tbs-regalos-publico .tbs-link-preview,
    .tbs-ms-module-card .tbs-regalos-publico .tbs-placeholder,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-placeholder {
        border-radius: 19px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-content,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-content {
        gap: 8px !important;
        padding: 2px 15px 16px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-content h4,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-content h4 {
        font-size: 25px !important;
        line-height: 1.06 !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-precio,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-precio {
        font-size: 23px !important;
        margin: 0 !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto,
    .tbs-ms-module-card .tbs-regalos-publico .tbs-reservar,
    .tbs-ms-module-card .tbs-virtual-publico .tbs-open-buy,
    .tbs-ms .tbs-ec-btn-clean {
        min-height: 47px !important;
        padding: 12px 15px !important;
        font-size: 13.5px !important;
    }

    .tbs-ms-module-card .tbs-regalos-publico .estado,
    .tbs-ms-module-card .tbs-virtual-publico .estado {
        font-size: 11px !important;
        padding: 7px 12px !important;
    }
}

/* =========================================================
   41) AJUSTE V41 ESTABLE - HERO MÓVIL ENFOCADO EN OSITO
   Base: V40 estable.
   - En móvil posiciona la imagen principal para que el osito quede detrás de la información.
   - Evita desplazamiento horizontal accidental del hero sin tocar el scroll vertical.
========================================================= */

@media (max-width: 767px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .tbs-ms.tbs-micrositio-publico,
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
        overflow-x: hidden !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino .tbs-ms-hero,
    .tbs-ms-hero {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        overflow: hidden !important;
        background-image: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
        background-size: cover !important;
        background-position: 13% center !important;
        background-repeat: no-repeat !important;
    }

    .tbs-ms-hero::before {
        background:
            radial-gradient(circle at 50% 34%, rgba(255,255,255,.68), rgba(255,250,253,.28) 34%, transparent 64%),
            linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,248,252,.18) 28%, rgba(255,248,252,.52) 66%, rgba(255,249,252,.84) 100%) !important;
    }

    .tbs-ms-hero-copy,
    .tbs-ms-meta,
    .tbs-ms-actions {
        position: relative !important;
        z-index: 5 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* =========================================================
   Estrellita Camino V42
   - Modal de compra virtual más premium y centrado.
   - Inputs con más espacio para digitar.
   - Centrado real en móvil y desktop.
========================================================= */
#tbs-modal-compra.tbs-app-modal,
#tbs-modal-compra {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
    overscroll-behavior: contain !important;
    z-index: 999999 !important;
    background: linear-gradient(180deg, rgba(254,249,252,.78), rgba(245,240,248,.76)) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
}

#tbs-modal-compra.tbs-modal-open,
#tbs-modal-compra[style*="display: flex"] {
    display: flex !important;
}

#tbs-modal-compra .tbs-app-sheet {
    width: min(94vw, 760px) !important;
    max-width: 760px !important;
    max-height: min(88dvh, 880px) !important;
    margin: 0 auto !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 34px !important;
    box-shadow: 0 28px 90px rgba(116, 79, 109, .18), 0 8px 24px rgba(174, 130, 152, .12) !important;
    border: 1px solid rgba(241, 208, 226, .84) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 237, 246, .95), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(232, 245, 255, .82), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.985), rgba(255,249,252,.97)) !important;
}

#tbs-modal-compra .tbs-app-header {
    padding: 28px 76px 16px 30px !important;
}

#tbs-modal-compra .tbs-app-header h3 {
    letter-spacing: -.03em !important;
}

#tbs-modal-compra .tbs-app-header p {
    font-size: 16px !important;
    line-height: 1.45 !important;
    color: #6d6070 !important;
}

#tbs-modal-compra .tbs-app-method,
#tbs-modal-compra .tbs-app-error {
    margin: 0 30px 14px !important;
    padding: 16px 18px !important;
}

#tbs-modal-compra .tbs-app-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    padding: 0 30px !important;
}

#tbs-modal-compra .tbs-app-form input[type="text"],
#tbs-modal-compra .tbs-app-form input[type="email"],
#tbs-modal-compra .tbs-app-form input[type="tel"],
#tbs-modal-compra .tbs-app-form textarea {
    width: 100% !important;
    min-height: 58px !important;
    padding: 16px 18px !important;
    border-radius: 20px !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    color: #4c4150 !important;
    background: rgba(255,255,255,.88) !important;
}

#tbs-modal-compra .tbs-app-form input::placeholder,
#tbs-modal-compra .tbs-app-form textarea::placeholder {
    color: #9a909d !important;
    opacity: 1 !important;
}

#tbs-modal-compra .tbs-app-form .tbs-nombre,
#tbs-modal-compra .tbs-app-form .tbs-email {
    grid-column: span 1 !important;
}

#tbs-modal-compra .tbs-app-form .tbs-phone,
#tbs-modal-compra .tbs-upload {
    grid-column: 1 / -1 !important;
}

#tbs-modal-compra .tbs-upload {
    gap: 10px !important;
    padding: 18px !important;
    border-radius: 22px !important;
    background: rgba(255,252,253,.88) !important;
}

#tbs-modal-compra .tbs-upload span {
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: #5a4f5b !important;
}

#tbs-modal-compra .tbs-upload input[type="file"] {
    width: 100% !important;
    min-height: 52px !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
    font-size: 14px !important;
    background: #fff !important;
}

#tbs-modal-compra .tbs-modal-actions {
    gap: 14px !important;
    padding: 18px 30px 28px !important;
}

#tbs-modal-compra .tbs-cancel-buy,
#tbs-modal-compra .tbs-confirm-buy {
    min-height: 56px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

#tbs-modal-compra .tbs-confirm-buy.is-loading {
    opacity: .78 !important;
    pointer-events: none !important;
    filter: saturate(.88) !important;
}

#tbs-modal-compra .tbs-app-error {
    display: none;
    background: rgba(255, 241, 245, .92) !important;
    border: 1px solid rgba(232, 149, 178, .42) !important;
    color: #9f4667 !important;
    font-weight: 700 !important;
}

@media (max-width: 767px) {
    #tbs-modal-compra.tbs-app-modal,
    #tbs-modal-compra {
        padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    }

    #tbs-modal-compra .tbs-app-sheet {
        width: min(94vw, 430px) !important;
        max-width: 430px !important;
        max-height: min(86dvh, 760px) !important;
        border-radius: 30px !important;
        margin: auto !important;
    }

    #tbs-modal-compra .tbs-app-header {
        padding: 24px 66px 12px 22px !important;
    }

    #tbs-modal-compra .tbs-app-header::before {
        width: 42px !important;
        height: 42px !important;
        margin-bottom: 10px !important;
        font-size: 23px !important;
    }

    #tbs-modal-compra .tbs-app-header h3 {
        font-size: clamp(26px, 8.6vw, 38px) !important;
        line-height: .95 !important;
    }

    #tbs-modal-compra .tbs-app-header p {
        font-size: 15px !important;
        line-height: 1.4 !important;
    }

    #tbs-modal-compra .tbs-close-modal {
        top: 14px !important;
        right: 14px !important;
        width: 44px !important;
        height: 44px !important;
    }

    #tbs-modal-compra .tbs-app-method,
    #tbs-modal-compra .tbs-app-error {
        margin: 0 22px 12px !important;
        padding: 15px 16px !important;
        border-radius: 18px !important;
    }

    #tbs-modal-compra .tbs-app-form {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 0 22px !important;
    }

    #tbs-modal-compra .tbs-app-form input[type="text"],
    #tbs-modal-compra .tbs-app-form input[type="email"],
    #tbs-modal-compra .tbs-app-form input[type="tel"],
    #tbs-modal-compra .tbs-app-form textarea {
        min-height: 56px !important;
        padding: 16px 18px !important;
        border-radius: 18px !important;
        font-size: 17px !important;
    }

    #tbs-modal-compra .tbs-upload {
        padding: 16px !important;
        gap: 8px !important;
        border-radius: 20px !important;
    }

    #tbs-modal-compra .tbs-upload span {
        font-size: 15px !important;
    }

    #tbs-modal-compra .tbs-upload input[type="file"] {
        min-height: 48px !important;
        font-size: 13px !important;
    }

    #tbs-modal-compra .tbs-modal-actions {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        padding: 16px 22px 22px !important;
    }

    #tbs-modal-compra .tbs-cancel-buy,
    #tbs-modal-compra .tbs-confirm-buy {
        min-height: 54px !important;
        font-size: 15px !important;
    }
}

/* =========================================================
   Estrellita Camino V43
   - Mejora visual del modal de compra en desktop y móvil.
   - Elimina el cuadro/icono inicial del encabezado.
========================================================= */
#tbs-modal-compra .tbs-app-header::before {
    content: none !important;
    display: none !important;
}

#tbs-modal-compra .tbs-app-sheet {
    width: min(92vw, 700px) !important;
    max-width: 700px !important;
    max-height: min(86dvh, 840px) !important;
    border-radius: 32px !important;
}

#tbs-modal-compra .tbs-app-header {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    padding: 26px 82px 8px 28px !important;
    text-align: left !important;
}

#tbs-modal-compra .tbs-app-header h3 {
    margin: 0 0 8px !important;
    font-size: clamp(26px, 3.2vw, 38px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.03em !important;
    color: var(--tbs-ms-pink-dark, #ce4f86) !important;
}

#tbs-modal-compra .tbs-app-header p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    color: #6b6070 !important;
    max-width: 92% !important;
}

#tbs-modal-compra .tbs-close-modal {
    top: 18px !important;
    right: 18px !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.9) !important;
    border: 1px solid rgba(241, 217, 229, .95) !important;
    box-shadow: 0 10px 22px rgba(126, 92, 114, .10) !important;
}

#tbs-modal-compra .tbs-app-method,
#tbs-modal-compra .tbs-app-error {
    margin: 0 28px 14px !important;
    padding: 14px 18px !important;
    border-radius: 20px !important;
}

#tbs-modal-compra .tbs-app-method {
    background: linear-gradient(180deg, rgba(248, 253, 255, .96), rgba(255, 255, 255, .98)) !important;
    border: 1px solid rgba(223, 239, 245, .92) !important;
}

#tbs-modal-compra .tbs-app-method .label {
    display: block !important;
    margin-bottom: 6px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: #63a6c6 !important;
}

#tbs-modal-compra #tbs-metodo-modal {
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: #403646 !important;
}

#tbs-modal-compra .tbs-app-form {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 0 28px !important;
}

#tbs-modal-compra .tbs-app-form input[type="text"],
#tbs-modal-compra .tbs-app-form input[type="email"],
#tbs-modal-compra .tbs-app-form input[type="tel"] {
    min-height: 56px !important;
    padding: 15px 18px !important;
    border-radius: 20px !important;
    font-size: 16px !important;
}

#tbs-modal-compra .tbs-app-form .tbs-phone,
#tbs-modal-compra .tbs-upload {
    grid-column: 1 / -1 !important;
}

#tbs-modal-compra .tbs-upload {
    margin-top: 4px !important;
    padding: 16px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(255, 252, 253, .96), rgba(255, 255, 255, .98)) !important;
}

#tbs-modal-compra .tbs-upload span {
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #5b4f5c !important;
}

#tbs-modal-compra .tbs-upload input[type="file"] {
    width: 100% !important;
    min-height: 48px !important;
    padding: 8px 10px !important;
    border-radius: 18px !important;
    background: #fff !important;
}

#tbs-modal-compra .tbs-modal-actions {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 18px 28px 26px !important;
}

#tbs-modal-compra .tbs-cancel-buy,
#tbs-modal-compra .tbs-confirm-buy {
    min-height: 56px !important;
    padding: 14px 18px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

@media (max-width: 767px) {
    #tbs-modal-compra.tbs-app-modal,
    #tbs-modal-compra {
        padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    }

    #tbs-modal-compra .tbs-app-sheet {
        width: min(94vw, 430px) !important;
        max-width: 430px !important;
        max-height: min(88dvh, 760px) !important;
        border-radius: 28px !important;
    }

    #tbs-modal-compra .tbs-app-header {
        padding: 22px 62px 8px 20px !important;
    }

    #tbs-modal-compra .tbs-app-header h3 {
        font-size: clamp(24px, 8.2vw, 34px) !important;
        line-height: 1.04 !important;
        margin-bottom: 8px !important;
    }

    #tbs-modal-compra .tbs-app-header p {
        font-size: 14px !important;
        line-height: 1.4 !important;
        max-width: 100% !important;
    }

    #tbs-modal-compra .tbs-close-modal {
        top: 14px !important;
        right: 14px !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 16px !important;
    }

    #tbs-modal-compra .tbs-app-method,
    #tbs-modal-compra .tbs-app-error {
        margin: 0 20px 12px !important;
        padding: 13px 15px !important;
        border-radius: 18px !important;
    }

    #tbs-modal-compra .tbs-app-method .label {
        font-size: 11px !important;
        letter-spacing: .14em !important;
        margin-bottom: 4px !important;
    }

    #tbs-modal-compra #tbs-metodo-modal {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    #tbs-modal-compra .tbs-app-form {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 0 20px !important;
    }

    #tbs-modal-compra .tbs-app-form input[type="text"],
    #tbs-modal-compra .tbs-app-form input[type="email"],
    #tbs-modal-compra .tbs-app-form input[type="tel"] {
        min-height: 54px !important;
        padding: 15px 16px !important;
        border-radius: 18px !important;
        font-size: 16px !important;
    }

    #tbs-modal-compra .tbs-upload {
        padding: 14px !important;
        border-radius: 20px !important;
    }

    #tbs-modal-compra .tbs-upload span {
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }

    #tbs-modal-compra .tbs-upload input[type="file"] {
        min-height: 46px !important;
        font-size: 13px !important;
    }

    #tbs-modal-compra .tbs-modal-actions {
        gap: 10px !important;
        padding: 16px 20px 22px !important;
    }

    #tbs-modal-compra .tbs-cancel-buy,
    #tbs-modal-compra .tbs-confirm-buy {
        min-height: 52px !important;
        font-size: 14px !important;
    }
}

/* =========================================================
   Estrellita Camino V44
   - Modal compra completamente centrado en desktop y móvil.
   - Evita desplazamiento lateral del sheet.
========================================================= */
#tbs-modal-compra.tbs-app-modal,
#tbs-modal-compra {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    justify-items: center !important;
    place-items: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    overflow-x: hidden !important;
}

#tbs-modal-compra.tbs-modal-open,
#tbs-modal-compra[style*="display: flex"] {
    display: flex !important;
}

#tbs-modal-compra .tbs-app-sheet {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    clear: both !important;
    margin: 0 auto !important;
    align-self: center !important;
    justify-self: center !important;
}

@media (max-width: 767px) {
    #tbs-modal-compra.tbs-app-modal,
    #tbs-modal-compra {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    #tbs-modal-compra .tbs-app-sheet {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* =========================================================
   Estrellita Camino V45
   - Modal compra liberado de contenedores del micrositio.
   - Centrado real cuando se mueve al body.
   - Permite scroll interno del modal sin bloquear interacción.
========================================================= */
body > #tbs-modal-compra.tbs-app-modal,
body > #tbs-modal-compra {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-width: none !important;
    margin: 0 !important;
    padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom)) !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    place-items: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transform: none !important;
    z-index: 2147483000 !important;
}

body > #tbs-modal-compra.tbs-modal-open,
body > #tbs-modal-compra[style*="display: flex"] {
    display: flex !important;
}

body > #tbs-modal-compra .tbs-app-sheet {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: auto !important;
    width: min(92vw, 700px) !important;
    max-width: 700px !important;
    max-height: calc(100dvh - 56px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    align-self: center !important;
    justify-self: center !important;
}

body > #tbs-modal-compra .tbs-app-sheet,
body > #tbs-modal-compra .tbs-app-sheet * {
    pointer-events: auto !important;
}

@media (max-width: 767px) {
    body > #tbs-modal-compra.tbs-app-modal,
    body > #tbs-modal-compra {
        padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    }

    body > #tbs-modal-compra .tbs-app-sheet {
        width: min(94vw, 430px) !important;
        max-width: 430px !important;
        max-height: calc(100dvh - 24px) !important;
        margin: auto !important;
    }

    body > #tbs-modal-compra .tbs-app-header {
        padding-top: 20px !important;
    }
}

/* Mientras el modal está abierto, solo se bloquea el fondo; el sheet conserva scroll propio. */
html.tbs-ec-modal-visible,
body.tbs-ec-modal-visible {
    overflow: hidden !important;
}

body.tbs-ec-modal-visible > #tbs-modal-compra .tbs-app-sheet {
    touch-action: pan-y !important;
}


/* Estrellita Camino V46 - estado activo del botón confirmar compra */
#tbs-modal-compra .tbs-confirm-buy.is-loading,
#tbs-modal-compra .tbs-confirm-buy[disabled] {
    opacity: .72 !important;
    cursor: wait !important;
}


/* =========================================================
   Estrellita Camino V47
   - Compras múltiples de regalos virtuales visibles en dashboard.
========================================================= */
.tbs-card-virtual[data-estado="comprado"] {
    position: relative;
}

.tbs-card-virtual[data-estado="comprado"] .tbs-comprador {
    max-width: 46%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* =========================================================
   Estrellita Camino V48
   - Cambio de copy: Regala / Ver regalo / Confirmar regalo
   - RSVP premium: tipografía, jerarquía visual y formulario mejorado
========================================================= */

/* Botones públicos: dar más aire al copy nuevo */
.tbs-ec-btn-clean.tbs-ec-icon-buy,
.tbs-ec-btn-clean.tbs-ec-icon-link,
.tbs-open-buy,
.tbs-ver-producto {
    letter-spacing: -.01em !important;
}

/* RSVP premium */
.tbs-public-card.tbs-rsvp-card,
.tbs-ms-rsvp-card,
.tbs-rsvp-card {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: clamp(28px, 4vw, 48px) !important;
    border-radius: 34px !important;
    border: 1px solid rgba(236, 111, 163, .12) !important;
    background:
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.92), transparent 34%),
        linear-gradient(135deg, rgba(255,248,252,.96), rgba(255,255,255,.95) 48%, rgba(243,249,255,.96)) !important;
    box-shadow: 0 22px 48px rgba(150, 113, 136, .10) !important;
    overflow: hidden !important;
}

.tbs-rsvp-header {
    display: block !important;
    margin: 0 0 10px !important;
    color: #d05b95 !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(34px, 3.35vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.02 !important;
    letter-spacing: -.03em !important;
    text-align: center !important;
}

.tbs-rsvp-sub,
.tbs-public-section-head p:has(+ .tbs-public-card.tbs-rsvp-card),
.tbs-ms-section#confirmar .tbs-ms-section-head p,
.tbs-public-section#tbs-confirmar .tbs-public-section-head p {
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: rgba(85, 72, 79, .82) !important;
    font-size: clamp(16px, 1.35vw, 19px) !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: -.014em !important;
    text-align: center !important;
}

.tbs-ms-rsvp-card .ff-el-group,
.tbs-rsvp-card .ff-el-group {
    margin-bottom: 18px !important;
}

.tbs-ms-rsvp-card label,
.tbs-ms-rsvp-card .ff-el-input--label label,
.tbs-rsvp-card label,
.tbs-rsvp-card .ff-el-input--label label {
    color: #4f4147 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    margin-bottom: 8px !important;
}

.tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.tbs-ms-rsvp-card select,
.tbs-ms-rsvp-card textarea,
.tbs-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.tbs-rsvp-card select,
.tbs-rsvp-card textarea {
    min-height: 58px !important;
    padding: 16px 18px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(236,111,163,.18) !important;
    background: rgba(255,255,255,.88) !important;
    color: #40353a !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 10px 24px rgba(228, 197, 215, .10) !important;
}

.tbs-ms-rsvp-card textarea,
.tbs-rsvp-card textarea {
    min-height: 112px !important;
    resize: vertical !important;
}

.tbs-ms-rsvp-card input::placeholder,
.tbs-ms-rsvp-card textarea::placeholder,
.tbs-rsvp-card input::placeholder,
.tbs-rsvp-card textarea::placeholder {
    color: rgba(110, 99, 105, .68) !important;
    font-weight: 400 !important;
}

.tbs-ms-rsvp-card input:focus,
.tbs-ms-rsvp-card select:focus,
.tbs-ms-rsvp-card textarea:focus,
.tbs-rsvp-card input:focus,
.tbs-rsvp-card select:focus,
.tbs-rsvp-card textarea:focus {
    border-color: rgba(226, 99, 154, .45) !important;
    box-shadow: 0 0 0 4px rgba(236,111,163,.10), 0 14px 28px rgba(228, 197, 215, .18) !important;
}

.tbs-ms-rsvp-card .ff-el-form-check,
.tbs-rsvp-card .ff-el-form-check {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 0 !important;
}

.tbs-ms-rsvp-card .ff-el-form-check label,
.tbs-rsvp-card .ff-el-form-check label {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.tbs-ms-rsvp-card input[type="radio"],
.tbs-ms-rsvp-card input[type="checkbox"],
.tbs-rsvp-card input[type="radio"],
.tbs-rsvp-card input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    accent-color: #e65e9b !important;
}

.tbs-ms-rsvp-card .g-recaptcha,
.tbs-rsvp-card .g-recaptcha,
.tbs-ms-rsvp-card .ff-el-recaptcha,
.tbs-rsvp-card .ff-el-recaptcha {
    display: flex !important;
    justify-content: center !important;
    margin: 12px auto 6px !important;
}

.tbs-ms-rsvp-card .ff-btn-submit,
.tbs-rsvp-card .ff-btn-submit {
    min-height: 62px !important;
    border-radius: 999px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    box-shadow: 0 16px 34px rgba(213, 97, 151, .24) !important;
}

.tbs-ms-rsvp-card .ff-message-success,
.tbs-rsvp-card .ff-message-success {
    border-radius: 18px !important;
}

@media (max-width: 767px) {
    .tbs-public-card.tbs-rsvp-card,
    .tbs-ms-rsvp-card,
    .tbs-rsvp-card {
        padding: 24px 18px !important;
        border-radius: 28px !important;
    }
    .tbs-rsvp-header {
        font-size: clamp(30px, 9vw, 40px) !important;
    }
    .tbs-rsvp-sub,
    .tbs-ms-section#confirmar .tbs-ms-section-head p,
    .tbs-public-section#tbs-confirmar .tbs-public-section-head p {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }
    .tbs-ms-rsvp-card label,
    .tbs-ms-rsvp-card .ff-el-input--label label,
    .tbs-rsvp-card label,
    .tbs-rsvp-card .ff-el-input--label label {
        font-size: 14px !important;
    }
    .tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .tbs-ms-rsvp-card select,
    .tbs-ms-rsvp-card textarea,
    .tbs-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .tbs-rsvp-card select,
    .tbs-rsvp-card textarea {
        min-height: 56px !important;
        font-size: 16px !important;
    }
    .tbs-ms-rsvp-card .ff-btn-submit,
    .tbs-rsvp-card .ff-btn-submit {
        min-height: 58px !important;
        font-size: 17px !important;
    }
}


/* =========================================================
   Estrellita Camino V49
   Shortcode premium de ubicación
========================================================= */

.tbs-map-shortcode,
.tbs-ms-location-action {
    width: 100% !important;
    display: block !important;
}

.tbs-ms-location-card {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 18px !important;
}

.tbs-map-shortcode > *,
.tbs-ms-location-action > * {
    width: 100% !important;
}

.tbs-location-premium-wrap {
    width: 100% !important;
    margin: 0 !important;
}

.tbs-location-premium {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.24fr) minmax(320px, .92fr) !important;
    gap: 24px !important;
    width: 100% !important;
    padding: clamp(16px, 2vw, 24px) !important;
    border-radius: 32px !important;
    background:
        radial-gradient(circle at 18% 12%, rgba(255,255,255,.96), transparent 34%),
        linear-gradient(135deg, rgba(255,245,250,.98), rgba(255,255,255,.97) 48%, rgba(239,247,255,.98)) !important;
    border: 1px solid rgba(236, 111, 163, .16) !important;
    box-shadow: 0 26px 54px rgba(164, 122, 147, .10) !important;
    overflow: hidden !important;
}

.tbs-location-premium__map,
.tbs-location-premium__panel {
    position: relative !important;
    z-index: 2 !important;
}

.tbs-location-premium__map {
    min-height: 420px !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,246,250,.94)) !important;
    border: 1px solid rgba(236, 111, 163, .12) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 20px 42px rgba(202, 175, 192, .12) !important;
}

.tbs-location-premium__map iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 420px !important;
    border: 0 !important;
    filter: saturate(.95) contrast(1.02) brightness(1.01) !important;
    pointer-events: none !important;
}

.tbs-location-premium__map-badge {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.94) !important;
    color: #b84c86 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    box-shadow: 0 14px 26px rgba(167, 131, 150, .16) !important;
}

.tbs-location-premium__map-note {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 3 !important;
    padding: 14px 18px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.92) !important;
    color: #6d5a63 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    box-shadow: 0 10px 24px rgba(167, 131, 150, .12) !important;
}

.tbs-location-premium__empty {
    min-height: 420px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-align: center !important;
    color: #7b6770 !important;
    padding: 28px !important;
}

.tbs-location-premium__empty span {
    display: grid !important;
    place-items: center !important;
    width: 72px !important;
    height: 72px !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, #fff0f7, #eef7ff) !important;
    box-shadow: 0 12px 26px rgba(167, 131, 150, .12) !important;
    font-size: 32px !important;
}

.tbs-location-premium__panel {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    min-height: 420px !important;
    padding: clamp(22px, 2.5vw, 30px) !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.78) !important;
    border: 1px solid rgba(236, 111, 163, .10) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 18px 36px rgba(201, 174, 191, .10) !important;
}

.tbs-location-premium__icon {
    width: 74px !important;
    height: 74px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, #fff0f7, #eef7ff) !important;
    box-shadow: 0 12px 28px rgba(167, 131, 150, .12) !important;
    font-size: 30px !important;
}

.tbs-location-premium__eyebrow {
    color: #9d7387 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.tbs-location-premium__panel h3 {
    margin: 0 !important;
    color: #c85790 !important;
    font-family: var(--tbs-ms-font-title) !important;
    font-size: clamp(34px, 3vw, 46px) !important;
    font-weight: 700 !important;
    line-height: 1.02 !important;
    letter-spacing: -.03em !important;
}

.tbs-location-premium__address {
    padding: 18px 20px !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, rgba(255,245,249,.92), rgba(242,248,255,.92)) !important;
    border: 1px solid rgba(236,111,163,.12) !important;
    color: #584850 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
}

.tbs-location-premium__chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.tbs-location-premium__chips span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(226, 216, 223, .95) !important;
    color: #7d6672 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.tbs-location-premium__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 4px !important;
}

.tbs-location-premium__btn {
    min-height: 62px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 16px 20px !important;
    border-radius: 999px !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}

.tbs-location-premium__btn:hover {
    transform: translateY(-1px) !important;
    opacity: .98 !important;
}

.tbs-location-premium__btn--google {
    background: linear-gradient(135deg, #ff5ca2, #ae73ef) !important;
    color: #fff !important;
    box-shadow: 0 16px 32px rgba(197, 90, 152, .24) !important;
}

.tbs-location-premium__btn--waze {
    background: linear-gradient(135deg, #fef2de, #f8d7e4) !important;
    color: #805332 !important;
    border: 1px solid rgba(220, 190, 154, .72) !important;
    box-shadow: 0 16px 32px rgba(210, 179, 158, .18) !important;
}

.tbs-location-premium__footnote {
    margin: 0 !important;
    color: rgba(94, 81, 89, .74) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

@media (max-width: 991px) {
    .tbs-location-premium {
        grid-template-columns: 1fr !important;
    }
    .tbs-location-premium__panel,
    .tbs-location-premium__map,
    .tbs-location-premium__map iframe,
    .tbs-location-premium__empty {
        min-height: 360px !important;
    }
}

@media (max-width: 767px) {
    .tbs-location-premium {
        padding: 12px !important;
        border-radius: 26px !important;
        gap: 14px !important;
    }
    .tbs-location-premium__panel {
        min-height: auto !important;
        padding: 20px 16px !important;
        border-radius: 22px !important;
    }
    .tbs-location-premium__panel h3 {
        font-size: clamp(30px, 10vw, 38px) !important;
    }
    .tbs-location-premium__address {
        font-size: 15px !important;
        padding: 16px !important;
    }
    .tbs-location-premium__actions {
        grid-template-columns: 1fr !important;
    }
    .tbs-location-premium__btn {
        width: 100% !important;
        min-height: 58px !important;
        font-size: 15px !important;
    }
    .tbs-location-premium__map,
    .tbs-location-premium__map iframe,
    .tbs-location-premium__empty {
        min-height: 300px !important;
        border-radius: 22px !important;
    }
    .tbs-location-premium__map-badge {
        left: 12px !important;
        top: 12px !important;
        font-size: 11px !important;
        padding: 9px 12px !important;
    }
    .tbs-location-premium__map-note {
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        font-size: 12px !important;
        padding: 12px 14px !important;
    }
}


/* =========================================================
   Estrellita Camino V50
   Ubicación premium: nombre del lugar, tiempo estimado y WhatsApp
========================================================= */
.tbs-location-premium-v50 {
    grid-template-columns: minmax(0, 1.16fr) minmax(360px, .94fr) !important;
}

.tbs-location-premium-v50 .tbs-location-premium__panel {
    gap: 16px !important;
}

.tbs-location-premium-v50 .tbs-location-premium__icon {
    background: linear-gradient(135deg, #fff0f7, #eef7ff) !important;
    color: #d85b99 !important;
}

.tbs-location-premium__address-label {
    display: block !important;
    margin-bottom: 7px !important;
    color: #b66e90 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.tbs-location-premium__address strong {
    display: block !important;
    color: #584850 !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.55 !important;
}

.tbs-location-premium__info-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.tbs-location-premium__info {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 13px 14px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(236,111,163,.10) !important;
    box-shadow: 0 10px 22px rgba(201, 174, 191, .08) !important;
}

.tbs-location-premium__info > span {
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #fff1f8, #eff8ff) !important;
    font-size: 20px !important;
}

.tbs-location-premium__info strong {
    display: block !important;
    color: #57464f !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.tbs-location-premium__info small {
    display: block !important;
    margin-top: 3px !important;
    color: rgba(94, 81, 89, .74) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

.tbs-location-premium__actions-v50 {
    grid-template-columns: 1fr 1fr !important;
}

.tbs-location-premium__actions-v50 .tbs-location-premium__btn--share {
    grid-column: 1 / -1 !important;
}

.tbs-location-premium__btn--share {
    background: linear-gradient(135deg, #fff, #fff6fb) !important;
    color: #c85790 !important;
    border: 1px solid rgba(236,111,163,.22) !important;
    box-shadow: 0 14px 28px rgba(190, 130, 165, .14) !important;
}

.tbs-location-premium-v50 .tbs-location-premium__map-note {
    font-size: 13px !important;
}

@media (max-width: 991px) {
    .tbs-location-premium-v50 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    .tbs-location-premium__actions-v50 {
        grid-template-columns: 1fr !important;
    }

    .tbs-location-premium__actions-v50 .tbs-location-premium__btn--share {
        grid-column: auto !important;
    }

    .tbs-location-premium__info {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        padding: 12px !important;
    }

    .tbs-location-premium__info > span {
        width: 40px !important;
        height: 40px !important;
    }
}


/* Estrellita Camino V51 - evita presentación rota si hay caché viejo del shortcode */
.tbs-ms-location-card .tbs-ms-location-copy + .tbs-ms-location-action,
.tbs-map-shortcode {
    min-width: 0 !important;
}


/* =========================================================
   Estrellita Camino V52
   Ubicación: elimina título pequeño repetido y ajusta WhatsApp.
========================================================= */
.tbs-location-premium-v52 .tbs-location-premium__eyebrow {
    display: none !important;
}

.tbs-location-premium-v52 .tbs-location-premium__panel h3 {
    margin-top: 6px !important;
}

.tbs-location-premium__btn--share strong {
    white-space: normal !important;
}

.tbs-location-premium__btn--share {
    background: linear-gradient(135deg, #fff7fb, #ffffff) !important;
    color: #c85790 !important;
    border: 1px solid rgba(236,111,163,.24) !important;
}


/* =========================================================
   Estrellita Camino V53
   - Realce del bloque "Te esperamos con mucho cariño"
   - Quita dirección repetida bajo el título.
   - Botones premium Maps/Waze, responsivos.
========================================================= */
.tbs-ms-location-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
}

.tbs-ms-location-icon {
    display: none !important;
}

.tbs-ms-location-copy {
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.tbs-ms-location-copy h3 {
    margin: 0 auto 2px !important;
    text-align: center !important;
    font-size: clamp(2rem, 3.6vw, 3.1rem) !important;
    line-height: 1.08 !important;
    color: #d25a98 !important;
    letter-spacing: -0.02em !important;
    text-shadow: 0 10px 26px rgba(226, 132, 174, 0.18) !important;
}

.tbs-ms-location-copy p,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-location-copy p,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-location-copy p,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-location-copy p {
    display: none !important;
}

.tbs-ms-location-action {
    width: 100% !important;
}

.tbs-location-premium-v53 .tbs-location-premium__actions-v53 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
}

.tbs-location-premium-v53 .tbs-location-premium__btn,
.tbs-location-premium-v53 .tbs-location-premium__btn:visited {
    min-height: 74px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(208, 120, 165, 0.22) !important;
    box-shadow: 0 16px 34px rgba(204, 149, 183, 0.18) !important;
    padding: 18px 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    font-size: 1.08rem !important;
    letter-spacing: 0.01em !important;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.tbs-location-premium-v53 .tbs-location-premium__btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 38px rgba(204, 149, 183, 0.24) !important;
    filter: saturate(1.03) !important;
}

.tbs-location-premium-v53 .tbs-location-premium__btn span {
    font-size: 1.2em !important;
    line-height: 1 !important;
}

.tbs-location-premium-v53 .tbs-location-premium__btn strong {
    font-weight: 800 !important;
}

.tbs-location-premium-v53 .tbs-location-premium__btn--google {
    background: linear-gradient(135deg, #ffd9ea 0%, #f9d8ee 42%, #d9f0ff 100%) !important;
    color: #8d4d76 !important;
}

.tbs-location-premium-v53 .tbs-location-premium__btn--waze {
    background: linear-gradient(135deg, #d8f0ff 0%, #bde4ff 42%, #ffd9eb 100%) !important;
    color: #7b5875 !important;
}

.tbs-location-premium-v53 .tbs-location-premium__btn--share,
.tbs-location-premium-v53 .tbs-location-premium__actions-v53 .tbs-location-premium__btn--share {
    display: none !important;
}

@media (max-width: 900px) {
    .tbs-location-premium-v53 .tbs-location-premium__actions-v53 {
        grid-template-columns: 1fr !important;
    }

    .tbs-location-premium-v53 .tbs-location-premium__btn,
    .tbs-location-premium-v53 .tbs-location-premium__btn:visited {
        width: 100% !important;
        min-height: 68px !important;
        font-size: 1rem !important;
        padding: 16px 18px !important;
    }

    .tbs-ms-location-copy h3 {
        font-size: clamp(1.9rem, 8vw, 2.5rem) !important;
    }
}


/* =========================================================
   AJUSTE V28 - ARMONIZACIÓN CON REGALOS CON CARIÑO
   - Unifica ventanas, tipografía secundaria y botones.
   - Mantiene intacto el color del nombre del bebé en el hero.
========================================================= */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-quicknav{
    background: rgba(255, 248, 243, .86) !important;
    border: 1px solid rgba(189,119,107,.16) !important;
    box-shadow: 0 18px 40px rgba(111,76,67,.10) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-quicknav a{
    background: rgba(255,255,255,.84) !important;
    border: 1px solid rgba(189,119,107,.12) !important;
    box-shadow: 0 12px 26px rgba(111,76,67,.06) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-quicknav a:hover{
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(189,119,107,.24) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-quicknav .tbs-ec-nav-icon,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-quicknav a > span{
    background: linear-gradient(135deg, #fff6f0, #fffdfb) !important;
    color: #bd776b !important;
    box-shadow: 0 10px 20px rgba(111,76,67,.08) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-quicknav strong,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-section-head h2,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-countdown-copy h2,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-closing-card h2,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-details-copy h3,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-rsvp-header,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-guestbook-header,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card h3,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card h4,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__title,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__heading {
    color: #6f4c43 !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-section-head p,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-rsvp-sub,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-guestbook-sub,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-details-copy p,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__subtext,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__address,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card p {
    color: #8a6f67 !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-section-head > span,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__icon {
    background: linear-gradient(135deg, #fff5ef, #fffdfb) !important;
    box-shadow: 0 14px 30px rgba(111,76,67,.10) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-details-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-location-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-guestbook-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-countdown-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-closing-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__inner,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__panel {
    border: 1px solid rgba(189,119,107,.16) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 240, 233, .72), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(255, 247, 242, .86), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,249,243,.94)) !important;
    box-shadow: 0 24px 52px rgba(111,76,67,.12) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-details-list > div,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__actions a,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__meta,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-guestbook-box {
    background: rgba(255,255,255,.86) !important;
    border-color: rgba(189,119,107,.12) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-btn-primary,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms .ff-btn-submit,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms button[type="submit"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms input[type="submit"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-location-premium__actions a.tbs-location-premium__btn,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-guestbook-card .tbs-form-guestbook button {
    color: #fff !important;
    border-color: transparent !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.22), transparent 30%),
        linear-gradient(135deg, #d99081, #bd776b) !important;
    box-shadow: 0 16px 34px rgba(189,119,107,.24), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-btn-soft,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-btn-ghost {
    color: #bd776b !important;
    background: rgba(255,255,255,.84) !important;
    border-color: rgba(189,119,107,.18) !important;
    box-shadow: 0 14px 28px rgba(111,76,67,.08) !important;
}


/* =========================================================
   AJUSTE V29 - PALETA ESTRELLITA CAMINO EN TARJETAS DE REGALOS
   - Wishlist y Regalos Virtuales con la misma paleta cálida
     de "Regalos con cariño".
   - Botones en rose/cocoa, sin gradientes azules.
   - Estados en crema/rose, no celeste.
========================================================= */

:root{
    --tbs-ec-gift-cream: #fff9f3;
    --tbs-ec-gift-cream-2: #fff3e7;
    --tbs-ec-gift-blush: #f7d9cf;
    --tbs-ec-gift-rose: #d99081;
    --tbs-ec-gift-rose-2: #bd776b;
    --tbs-ec-gift-cocoa: #6f4c43;
    --tbs-ec-gift-ink: #4d3832;
    --tbs-ec-gift-muted: #8a6f67;
    --tbs-ec-gift-border: rgba(189,119,107,.18);
    --tbs-ec-gift-shadow: 0 22px 56px rgba(111,76,67,.12);
    --tbs-ec-gift-soft-shadow: 0 14px 34px rgba(111,76,67,.08);
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-card-virtual,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-card-virtual{
    border: 1px solid var(--tbs-ec-gift-border) !important;
    background:
        radial-gradient(circle at 96% 96%, rgba(247,217,207,.42), transparent 30%),
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.96), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,249,243,.94)) !important;
    box-shadow:
        0 24px 58px rgba(111,76,67,.12),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-card::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-card-virtual::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-card::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-card-virtual::before{
    background: rgba(217,144,129,.13) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-img,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-img,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-img,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-img{
    background: transparent !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-img img,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-img img,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-img img,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-img img{
    border: 1px solid rgba(189,119,107,.12) !important;
    background: #fff !important;
    box-shadow: 0 14px 28px rgba(111,76,67,.09) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-content h4,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-content h4,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-content h4,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-content h4{
    color: var(--tbs-ec-gift-cocoa) !important;
    text-shadow: none !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-precio,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-precio,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-precio,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-precio{
    color: var(--tbs-ec-gift-rose-2) !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.65) !important;
}

/* Estados: Disponible / Reservado / Comprado */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .estado,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .estado,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .estado,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .estado,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-status,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) [class*="estado"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) [class*="status"]{
    background: rgba(255,243,231,.92) !important;
    color: var(--tbs-ec-gift-rose-2) !important;
    border-color: rgba(189,119,107,.14) !important;
    box-shadow: none !important;
}

/* Inputs dentro de tarjetas */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico input[type="text"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico input[type="text"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico input[type="email"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico input[type="text"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico input[type="text"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico input[type="email"]{
    border: 1px solid rgba(189,119,107,.16) !important;
    background: rgba(255,255,255,.86) !important;
    color: var(--tbs-ec-gift-cocoa) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.90) !important;
}

/* Botones principales dentro de Wishlist y Regalos Virtuales */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-reservar,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-open-buy,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-confirm-buy,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-cancel-buy,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-ver-producto,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-reservar,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-open-buy,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-confirm-buy,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-cancel-buy{
    color: #fff !important;
    border: 1px solid rgba(189,119,107,.16) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.24), transparent 30%),
        linear-gradient(135deg, var(--tbs-ec-gift-rose), var(--tbs-ec-gift-rose-2)) !important;
    box-shadow:
        0 16px 34px rgba(189,119,107,.25),
        inset 0 1px 0 rgba(255,255,255,.28) !important;
}

/* Apaga íconos/cajas azules heredadas dentro de botones */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-reservar::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-open-buy::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-ver-producto::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-reservar::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-open-buy::before{
    background: rgba(255,255,255,.24) !important;
    color: #fff !important;
    box-shadow: none !important;
    border-color: rgba(255,255,255,.24) !important;
}

/* Botón secundario Ver regalo: mismo tono, pero suave premium */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-ver-producto,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto{
    color: var(--tbs-ec-gift-rose-2) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.78), transparent 30%),
        linear-gradient(135deg, rgba(255,249,243,.98), rgba(255,243,231,.94)) !important;
    border-color: rgba(189,119,107,.18) !important;
    box-shadow: 0 12px 26px rgba(111,76,67,.08) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-ver-producto::before,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-ver-producto::before{
    background: rgba(217,144,129,.12) !important;
    color: var(--tbs-ec-gift-rose-2) !important;
}

/* Hover consistente */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-ver-producto:hover,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-reservar:hover,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-open-buy:hover{
    transform: translateY(-2px) !important;
    filter: brightness(1.02) saturate(1.02) !important;
}

/* Responsive: conserva la misma paleta en móvil */
@media (max-width: 767px){
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-regalos-publico .tbs-card,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-virtual-publico .tbs-card-virtual,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-card,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-card-virtual{
        border-radius: 24px !important;
        box-shadow: 0 18px 42px rgba(111,76,67,.10), inset 0 1px 0 rgba(255,255,255,.92) !important;
    }

    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-ver-producto,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-regalos-publico .tbs-reservar,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-virtual-publico .tbs-open-buy{
        min-height: 44px !important;
        font-size: 12px !important;
        border-radius: 999px !important;
    }
}


/* =========================================================
   AJUSTE V30 - COPYS Y PALETA ESTRELLITA CAMINO
   - Botón FluentForms: "Envía tu respuesta" vía JS y paleta rose/cocoa.
   - Botones de header, RSVP y formularios con paleta Estrellita Camino.
   - Ajustes solo para el micrositio Estrellita Camino.
========================================================= */

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) {
    --tbs-ec-copy-rose: #d99081;
    --tbs-ec-copy-rose-2: #bd776b;
    --tbs-ec-copy-cocoa: #6f4c43;
    --tbs-ec-copy-muted: #8a6f67;
    --tbs-ec-copy-cream: #fff9f3;
    --tbs-ec-copy-border: rgba(189,119,107,.18);
}

/* Botones principales: header, RSVP, formularios y CTA */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-btn-primary,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-actions .tbs-ms-btn-primary,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card .ff-btn-submit,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card button[type="submit"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card input[type="submit"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) #fluentform_1 .ff-btn-submit,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .fluentform .ff-btn-submit {
    color: #fff !important;
    border: 1px solid rgba(189,119,107,.18) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.28), transparent 30%),
        linear-gradient(135deg, var(--tbs-ec-copy-rose), var(--tbs-ec-copy-rose-2)) !important;
    box-shadow:
        0 18px 38px rgba(189,119,107,.26),
        inset 0 1px 0 rgba(255,255,255,.28) !important;
    text-shadow: none !important;
}

/* Botones suaves del header */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-btn-soft,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-btn-ghost {
    color: var(--tbs-ec-copy-rose-2) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.82), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,249,243,.88)) !important;
    border: 1px solid rgba(189,119,107,.18) !important;
    box-shadow: 0 14px 30px rgba(111,76,67,.09) !important;
}

/* Botón "Agrégalo en agenda" o botones secundarios con icono interno */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-actions a,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-actions button {
    border-color: rgba(189,119,107,.18) !important;
}

/* Campos del RSVP alineados a la misma paleta */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card label,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card .ff-el-input--label label {
    color: var(--tbs-ec-copy-cocoa) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card select,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card textarea {
    border-color: rgba(189,119,107,.16) !important;
    background: rgba(255,255,255,.88) !important;
    color: var(--tbs-ec-copy-cocoa) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card input:focus,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card select:focus,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card textarea:focus {
    border-color: rgba(189,119,107,.42) !important;
    box-shadow: 0 0 0 4px rgba(217,144,129,.12), inset 0 1px 0 rgba(255,255,255,.88) !important;
}

/* Cuenta regresiva con copy más cercano */
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-countdown-copy h2 {
    color: var(--tbs-ec-copy-cocoa) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-countdown strong {
    color: var(--tbs-ec-copy-rose-2) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino) .tbs-ms-countdown span {
    color: var(--tbs-ec-copy-muted) !important;
}


/* =========================================================
   AJUSTE V54 - ESTRELLITA CAMINO PALETA ÍNTEGRA + HERO JPG
   - Mantiene botones, ventanas y tarjetas en la paleta del diseño.
   - Hero usa hero-Estrellita-Camino.jpg.
   - En móvil enfoca la cara del osito dentro del hero.
========================================================= */

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino){
    --tbs-ec-v54-rose:#d99081;
    --tbs-ec-v54-rose-deep:#bd776b;
    --tbs-ec-v54-cocoa:#6f4c43;
    --tbs-ec-v54-ink:#4d3f47;
    --tbs-ec-v54-soft:#fff8f4;
    --tbs-ec-v54-soft-2:#fff2eb;
    --tbs-ec-v54-border:rgba(189,119,107,.16);
    --tbs-ec-v54-shadow:0 22px 52px rgba(111,76,67,.12);
    --tbs-ec-v54-shadow-soft:0 14px 30px rgba(111,76,67,.08);
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-hero{
    background-image:url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
    background-position:center center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-module-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-countdown-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-closing-card,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__inner,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__panel,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-quicknav,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-meta > div{
    border:1px solid var(--tbs-ec-v54-border) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.94), transparent 36%),
        radial-gradient(circle at 100% 100%, rgba(247,217,207,.34), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,249,243,.93)) !important;
    box-shadow:var(--tbs-ec-v54-shadow) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-details-list > div,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__meta,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-guestbook-box,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__info{
    background:rgba(255,255,255,.86) !important;
    border:1px solid rgba(189,119,107,.12) !important;
    box-shadow:var(--tbs-ec-v54-shadow-soft) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-btn-primary,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms .ff-btn-submit,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms button[type="submit"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms input[type="submit"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__actions a,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card .tbs-form-guestbook button{
    color:#fff !important;
    border:1px solid rgba(189,119,107,.18) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.24), transparent 30%),
        linear-gradient(135deg, var(--tbs-ec-v54-rose), var(--tbs-ec-v54-rose-deep)) !important;
    box-shadow:0 18px 40px rgba(189,119,107,.24), inset 0 1px 0 rgba(255,255,255,.28) !important;
    text-shadow:none !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-btn-soft,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-btn-ghost,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-actions a:not(.tbs-ms-btn-primary),
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-actions button:not(.tbs-ms-btn-primary){
    color:var(--tbs-ec-v54-rose-deep) !important;
    border:1px solid rgba(189,119,107,.18) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.84), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,249,243,.90)) !important;
    box-shadow:0 14px 28px rgba(111,76,67,.08) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-btn-primary:hover,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__actions a:hover,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card .tbs-form-guestbook button:hover{
    filter:brightness(1.02) saturate(1.02) !important;
    transform:translateY(-2px) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-quicknav a,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-quicknav .tbs-ec-nav-icon,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-quicknav a > span{
    color:var(--tbs-ec-v54-rose-deep) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-quicknav strong,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-countdown-copy h2,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-rsvp-header,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__title,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-module-head h2{
    color:var(--tbs-ec-v54-cocoa) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-countdown strong{
    color:var(--tbs-ec-v54-rose-deep) !important;
    text-shadow:0 1px 0 rgba(255,255,255,.72) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-countdown span,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__meta strong,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__meta b{
    color:var(--tbs-ec-v54-cocoa) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card select,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card textarea,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"],
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card .tbs-form-guestbook textarea{
    color:var(--tbs-ec-v54-cocoa) !important;
    border:1px solid rgba(189,119,107,.16) !important;
    background:rgba(255,255,255,.90) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92) !important;
}

:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card input:focus,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card select:focus,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card textarea:focus,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"]:focus,
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card .tbs-form-guestbook textarea:focus{
    border-color:rgba(189,119,107,.40) !important;
    box-shadow:0 0 0 4px rgba(217,144,129,.12), inset 0 1px 0 rgba(255,255,255,.92) !important;
}

@media (max-width: 767px){
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-hero{
        background-image:url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
        background-position:12% center !important;
        background-size:cover !important;
    }

    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-quicknav,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-module-card,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__inner,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__panel{
        border-radius:26px !important;
        box-shadow:0 18px 42px rgba(111,76,67,.10) !important;
    }

    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-location-premium__actions a,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-actions .tbs-ms-btn,
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms .ff-btn-submit{
        min-height:52px !important;
        font-size:14px !important;
        border-radius:999px !important;
    }
}


/* =========================================================
   AJUSTE V55 - NO FLASH ESTRELLITA CAMINO
   - Aplica la paleta aunque la clase final llegue en body primero.
   - Mantiene oculto el micrositio hasta tbs-ec-v55-ready.
   - Hero oficial + enfoque móvil del osito.
========================================================= */
html.tbs-ec-v55-lock body{
    opacity:0 !important;
    visibility:hidden !important;
    background:#fffafd !important;
}
html.tbs-ec-v55-ready body{
    opacity:1 !important;
    visibility:visible !important;
}

body.tbs-publico-estrellita-camino .tbs-ms.tbs-micrositio-publico,
body.tbs-micrositio-estrellita-camino .tbs-ms.tbs-micrositio-publico,
body.tbs-publico-estrellita-camino .tbs-micrositio-publico,
body.tbs-micrositio-estrellita-camino .tbs-micrositio-publico{
    --tbs-ec-v55-rose:#d99081;
    --tbs-ec-v55-rose-deep:#bd776b;
    --tbs-ec-v55-cocoa:#6f4c43;
    --tbs-ec-v55-cream:#fff9f3;
    --tbs-ec-v55-border:rgba(189,119,107,.16);
}

body.tbs-publico-estrellita-camino .tbs-ms.tbs-micrositio-publico::after,
body.tbs-micrositio-estrellita-camino .tbs-ms.tbs-micrositio-publico::after,
body.tbs-publico-estrellita-camino .tbs-micrositio-publico::after,
body.tbs-micrositio-estrellita-camino .tbs-micrositio-publico::after{
    background:url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / 100% auto repeat-y !important;
}

body.tbs-publico-estrellita-camino :is(.tbs-ms-hero,.tbs-hero,.tbs-ms-art-card),
body.tbs-micrositio-estrellita-camino :is(.tbs-ms-hero,.tbs-hero,.tbs-ms-art-card),
:is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-hero{
    background-image:url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
}

body.tbs-publico-estrellita-camino :is(.tbs-ms-btn-primary,.ff-btn-submit,button[type="submit"],input[type="submit"],.tbs-location-premium__actions a,.tbs-form-guestbook button),
body.tbs-micrositio-estrellita-camino :is(.tbs-ms-btn-primary,.ff-btn-submit,button[type="submit"],input[type="submit"],.tbs-location-premium__actions a,.tbs-form-guestbook button){
    color:#fff !important;
    border-color:rgba(189,119,107,.18) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.24), transparent 30%),
        linear-gradient(135deg, #d99081, #bd776b) !important;
    box-shadow:0 18px 40px rgba(189,119,107,.24), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

body.tbs-publico-estrellita-camino :is(.tbs-ms-btn-soft,.tbs-ms-btn-ghost,.tbs-ms-actions a:not(.tbs-ms-btn-primary),.tbs-ms-actions button:not(.tbs-ms-btn-primary)),
body.tbs-micrositio-estrellita-camino :is(.tbs-ms-btn-soft,.tbs-ms-btn-ghost,.tbs-ms-actions a:not(.tbs-ms-btn-primary),.tbs-ms-actions button:not(.tbs-ms-btn-primary)){
    color:#bd776b !important;
    border-color:rgba(189,119,107,.18) !important;
    background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,249,243,.90)) !important;
}

@media (max-width:767px){
    body.tbs-publico-estrellita-camino :is(.tbs-ms-hero,.tbs-hero,.tbs-ms-art-card),
    body.tbs-micrositio-estrellita-camino :is(.tbs-ms-hero,.tbs-hero,.tbs-ms-art-card),
    :is(.tbs-ms.tbs-publico-estrellita-camino,.tbs-ms.tbs-micrositio-estrellita-camino,.tbs-micrositio-publico.tbs-publico-estrellita-camino,.tbs-micrositio-publico.tbs-micrositio-estrellita-camino) .tbs-ms-hero{
        background-image:url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
        background-position:12% center !important;
        background-size:cover !important;
    }

    body.tbs-publico-estrellita-camino .tbs-ms.tbs-micrositio-publico::after,
    body.tbs-micrositio-estrellita-camino .tbs-ms.tbs-micrositio-publico::after,
    body.tbs-publico-estrellita-camino .tbs-micrositio-publico::after,
    body.tbs-micrositio-estrellita-camino .tbs-micrositio-publico::after{
        background:url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') center top / 100% auto repeat-y !important;
    }
}

/* =========================
   V56 · Fix color texto botones Google Maps / Waze
========================= */
:is(.tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino,
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino) .tbs-location-premium__actions .tbs-location-premium__btn--google,
:is(.tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino,
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino) .tbs-location-premium__actions .tbs-location-premium__btn--waze,
:is(.tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino,
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino) .tbs-location-premium__actions .tbs-location-premium__btn--google *,
:is(.tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino,
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino) .tbs-location-premium__actions .tbs-location-premium__btn--waze *{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    text-shadow:none !important;
}




/* =========================================================
   V57 · TARJETAS DE REGALOS POR DISEÑO DEL MICROSITIO
   No toma colores del tema/panel. Usa la clase del diseño público:
   - Estrellita Camino
   - Pequeño Milagro
========================================================= */

/* ---------- Variables por diseño ---------- */
body.tbs-publico-estrellita-camino,
body.tbs-micrositio-estrellita-camino,
body.tbs-public-microsite-design-estrellitacamino,
.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino{
    --tbs-gift-accent: #d99081;
    --tbs-gift-accent-2: #bd776b;
    --tbs-gift-accent-soft: rgba(217,144,129,.14);
    --tbs-gift-ink: #6f4c43;
    --tbs-gift-muted: rgba(111,76,67,.72);
    --tbs-gift-card: rgba(255,250,246,.94);
    --tbs-gift-card-2: rgba(255,241,233,.86);
    --tbs-gift-border: rgba(189,119,107,.18);
    --tbs-gift-badge-bg: rgba(255,247,241,.92);
    --tbs-gift-badge-text: #bd776b;
    --tbs-gift-btn-text: #ffffff;
    --tbs-gift-soft-btn-text: #bd776b;
    --tbs-gift-soft-btn-bg: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,242,.92));
    --tbs-gift-shadow: 0 24px 58px rgba(111,76,67,.12);
    --tbs-gift-shadow-btn: 0 16px 34px rgba(189,119,107,.22);
}

body.tbs-publico-pequeno-milagro,
body.tbs-micrositio-pequeno-milagro,
body.tbs-public-microsite-design-pequeno-milagro,
.tbs-ms.tbs-publico-pequeno-milagro,
.tbs-ms.tbs-micrositio-pequeno-milagro,
.tbs-micrositio-publico.tbs-publico-pequeno-milagro,
.tbs-micrositio-publico.tbs-micrositio-pequeno-milagro{
    --tbs-gift-accent: #7fc3dc;
    --tbs-gift-accent-2: #4d9fbd;
    --tbs-gift-accent-soft: rgba(127,195,220,.16);
    --tbs-gift-ink: #405965;
    --tbs-gift-muted: rgba(64,89,101,.72);
    --tbs-gift-card: rgba(247,252,255,.94);
    --tbs-gift-card-2: rgba(235,248,253,.88);
    --tbs-gift-border: rgba(127,195,220,.24);
    --tbs-gift-badge-bg: rgba(237,248,253,.94);
    --tbs-gift-badge-text: #4d9fbd;
    --tbs-gift-btn-text: #ffffff;
    --tbs-gift-soft-btn-text: #4d9fbd;
    --tbs-gift-soft-btn-bg: linear-gradient(135deg, rgba(255,255,255,.96), rgba(237,248,253,.92));
    --tbs-gift-shadow: 0 24px 58px rgba(77,159,189,.13);
    --tbs-gift-shadow-btn: 0 16px 34px rgba(77,159,189,.24);
}

/* ---------- Contenedores de secciones ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-wishlist-public,
    .tbs-wishlist-grid,
    .tbs-wishlist-list,
    .tbs-regalos-grid,
    .tbs-regalos-virtuales-grid,
    .tbs-regalos-virtuales-public,
    .tbs-gifts-grid,
    .tbs-ms-gifts-grid
){
    --tbs-card-gap: clamp(18px, 2.2vw, 28px);
}

/* ---------- Tarjetas wishlist y regalos virtuales ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-card,
    .tbs-regalo-public-card,
    .tbs-wishlist-card,
    .tbs-wishlist-item,
    .tbs-regalo-virtual-card,
    .tbs-regalo-virtual-public-card,
    .tbs-virtual-gift-card,
    .tbs-ms-gift-card,
    .tbs-ms-virtual-card
){
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid var(--tbs-gift-border) !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 100% 100%, var(--tbs-gift-accent-soft), transparent 34%),
        linear-gradient(180deg, var(--tbs-gift-card), var(--tbs-gift-card-2)) !important;
    box-shadow: var(--tbs-gift-shadow), inset 0 1px 0 rgba(255,255,255,.90) !important;
    color: var(--tbs-gift-ink) !important;
    backdrop-filter: blur(10px) !important;
}

/* limpia colores rosados/celestes heredados por tema no seleccionado */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-card::after,
    .tbs-regalo-public-card::after,
    .tbs-wishlist-card::after,
    .tbs-wishlist-item::after,
    .tbs-regalo-virtual-card::after,
    .tbs-regalo-virtual-public-card::after,
    .tbs-virtual-gift-card::after,
    .tbs-ms-gift-card::after,
    .tbs-ms-virtual-card::after
){
    background: radial-gradient(circle at 100% 100%, var(--tbs-gift-accent-soft), transparent 58%) !important;
}

/* ---------- Imágenes ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-card img,
    .tbs-regalo-public-card img,
    .tbs-wishlist-card img,
    .tbs-wishlist-item img,
    .tbs-regalo-virtual-card img,
    .tbs-regalo-virtual-public-card img,
    .tbs-virtual-gift-card img,
    .tbs-ms-gift-card img,
    .tbs-ms-virtual-card img
){
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    box-shadow: 0 14px 30px rgba(80,58,53,.08) !important;
    background: #fff !important;
}

/* ---------- Badges / estados ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-status,
    .tbs-regalo-badge,
    .tbs-wishlist-status,
    .tbs-regalo-virtual-status,
    .tbs-gift-status,
    .tbs-card-badge,
    .tbs-regalo-disponible,
    .tbs-regalo-reservado
){
    color: var(--tbs-gift-badge-text) !important;
    -webkit-text-fill-color: var(--tbs-gift-badge-text) !important;
    background: var(--tbs-gift-badge-bg) !important;
    border: 1px solid var(--tbs-gift-border) !important;
    box-shadow: 0 10px 24px rgba(80,58,53,.06) !important;
    letter-spacing: .10em !important;
}

/* ---------- Títulos y precios ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-title,
    .tbs-regalo-nombre,
    .tbs-wishlist-title,
    .tbs-wishlist-name,
    .tbs-regalo-virtual-title,
    .tbs-gift-title,
    .tbs-ms-gift-title,
    .tbs-regalo-card h3,
    .tbs-wishlist-card h3,
    .tbs-regalo-virtual-card h3
){
    color: var(--tbs-gift-ink) !important;
    -webkit-text-fill-color: var(--tbs-gift-ink) !important;
}

:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-price,
    .tbs-regalo-precio,
    .tbs-wishlist-price,
    .tbs-regalo-virtual-price,
    .tbs-gift-price,
    .tbs-ms-gift-price,
    .tbs-regalo-card .precio,
    .tbs-wishlist-card .precio
){
    color: var(--tbs-gift-accent-2) !important;
    -webkit-text-fill-color: var(--tbs-gift-accent-2) !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.72) !important;
}

/* Estrellita Camino conserva precio rose/cocoa, no celeste */
body.tbs-publico-estrellita-camino :is(.tbs-regalo-price,.tbs-regalo-precio,.tbs-wishlist-price,.tbs-regalo-virtual-price,.tbs-gift-price,.tbs-ms-gift-price,.tbs-regalo-card .precio,.tbs-wishlist-card .precio),
body.tbs-micrositio-estrellita-camino :is(.tbs-regalo-price,.tbs-regalo-precio,.tbs-wishlist-price,.tbs-regalo-virtual-price,.tbs-gift-price,.tbs-ms-gift-price,.tbs-regalo-card .precio,.tbs-wishlist-card .precio),
body.tbs-public-microsite-design-estrellitacamino :is(.tbs-regalo-price,.tbs-regalo-precio,.tbs-wishlist-price,.tbs-regalo-virtual-price,.tbs-gift-price,.tbs-ms-gift-price,.tbs-regalo-card .precio,.tbs-wishlist-card .precio){
    color: var(--tbs-gift-accent-2) !important;
    -webkit-text-fill-color: var(--tbs-gift-accent-2) !important;
}

/* ---------- Inputs dentro de tarjetas ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-card input,
    .tbs-regalo-public-card input,
    .tbs-wishlist-card input,
    .tbs-wishlist-item input,
    .tbs-regalo-virtual-card input,
    .tbs-regalo-virtual-public-card input,
    .tbs-virtual-gift-card input,
    .tbs-ms-gift-card input,
    .tbs-ms-virtual-card input
){
    color: var(--tbs-gift-ink) !important;
    border: 1px solid var(--tbs-gift-border) !important;
    background: rgba(255,255,255,.90) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.90) !important;
}

:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-card input:focus,
    .tbs-regalo-public-card input:focus,
    .tbs-wishlist-card input:focus,
    .tbs-wishlist-item input:focus,
    .tbs-regalo-virtual-card input:focus,
    .tbs-regalo-virtual-public-card input:focus,
    .tbs-virtual-gift-card input:focus,
    .tbs-ms-gift-card input:focus,
    .tbs-ms-virtual-card input:focus
){
    border-color: var(--tbs-gift-accent) !important;
    box-shadow: 0 0 0 4px var(--tbs-gift-accent-soft), inset 0 1px 0 rgba(255,255,255,.90) !important;
}

/* ---------- Botones principales de tarjetas ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-card button,
    .tbs-regalo-public-card button,
    .tbs-wishlist-card button,
    .tbs-wishlist-item button,
    .tbs-regalo-virtual-card button,
    .tbs-regalo-virtual-public-card button,
    .tbs-virtual-gift-card button,
    .tbs-ms-gift-card button,
    .tbs-ms-virtual-card button,
    .tbs-regalo-card .button,
    .tbs-regalo-public-card .button,
    .tbs-wishlist-card .button,
    .tbs-wishlist-item .button,
    .tbs-regalo-virtual-card .button,
    .tbs-regalo-virtual-public-card .button,
    .tbs-virtual-gift-card .button,
    .tbs-ms-gift-card .button,
    .tbs-ms-virtual-card .button,
    .tbs-regalo-card a.tbs-btn,
    .tbs-wishlist-card a.tbs-btn,
    .tbs-regalo-virtual-card a.tbs-btn
){
    color: var(--tbs-gift-btn-text) !important;
    -webkit-text-fill-color: var(--tbs-gift-btn-text) !important;
    border: 1px solid color-mix(in srgb, var(--tbs-gift-accent-2) 35%, transparent) !important;
    background:
        radial-gradient(circle at 26% 16%, rgba(255,255,255,.32), transparent 30%),
        linear-gradient(135deg, var(--tbs-gift-accent), var(--tbs-gift-accent-2)) !important;
    box-shadow: var(--tbs-gift-shadow-btn), inset 0 1px 0 rgba(255,255,255,.32) !important;
    text-shadow: none !important;
}

/* ---------- Botones suaves tipo Ver regalo ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-ver,
    .tbs-ver-regalo,
    .tbs-wishlist-view,
    .tbs-btn-ver-regalo,
    a[href*="http"].tbs-regalo-link,
    .tbs-regalo-card a:not(.button):not(.tbs-btn),
    .tbs-wishlist-card a:not(.button):not(.tbs-btn)
){
    color: var(--tbs-gift-soft-btn-text) !important;
    -webkit-text-fill-color: var(--tbs-gift-soft-btn-text) !important;
    border: 1px solid var(--tbs-gift-border) !important;
    background: var(--tbs-gift-soft-btn-bg) !important;
    box-shadow: 0 12px 26px rgba(80,58,53,.07) !important;
    text-shadow: none !important;
}

/* Iconos dentro de botones */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-card button *,
    .tbs-regalo-public-card button *,
    .tbs-wishlist-card button *,
    .tbs-wishlist-item button *,
    .tbs-regalo-virtual-card button *,
    .tbs-regalo-virtual-public-card button *,
    .tbs-virtual-gift-card button *,
    .tbs-ms-gift-card button *,
    .tbs-ms-virtual-card button *,
    .tbs-regalo-card .button *,
    .tbs-wishlist-card .button *,
    .tbs-regalo-virtual-card .button *
){
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

/* ---------- Hover ---------- */
:is(
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-public-microsite-design-estrellitacamino,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-public-microsite-design-pequeno-milagro
) :is(
    .tbs-regalo-card,
    .tbs-regalo-public-card,
    .tbs-wishlist-card,
    .tbs-wishlist-item,
    .tbs-regalo-virtual-card,
    .tbs-regalo-virtual-public-card,
    .tbs-virtual-gift-card,
    .tbs-ms-gift-card,
    .tbs-ms-virtual-card
):hover{
    transform: translateY(-2px) !important;
    box-shadow: 0 28px 64px rgba(80,58,53,.13), inset 0 1px 0 rgba(255,255,255,.90) !important;
}

/* ---------- Móvil ---------- */
@media (max-width: 767px){
    :is(
        body.tbs-publico-estrellita-camino,
        body.tbs-micrositio-estrellita-camino,
        body.tbs-public-microsite-design-estrellitacamino,
        body.tbs-publico-pequeno-milagro,
        body.tbs-micrositio-pequeno-milagro,
        body.tbs-public-microsite-design-pequeno-milagro
    ) :is(
        .tbs-regalo-card,
        .tbs-regalo-public-card,
        .tbs-wishlist-card,
        .tbs-wishlist-item,
        .tbs-regalo-virtual-card,
        .tbs-regalo-virtual-public-card,
        .tbs-virtual-gift-card,
        .tbs-ms-gift-card,
        .tbs-ms-virtual-card
    ){
        border-radius: 26px !important;
    }

    :is(
        body.tbs-publico-estrellita-camino,
        body.tbs-micrositio-estrellita-camino,
        body.tbs-public-microsite-design-estrellitacamino,
        body.tbs-publico-pequeno-milagro,
        body.tbs-micrositio-pequeno-milagro,
        body.tbs-public-microsite-design-pequeno-milagro
    ) :is(
        .tbs-regalo-card button,
        .tbs-regalo-public-card button,
        .tbs-wishlist-card button,
        .tbs-wishlist-item button,
        .tbs-regalo-virtual-card button,
        .tbs-regalo-virtual-public-card button,
        .tbs-virtual-gift-card button,
        .tbs-ms-gift-card button,
        .tbs-ms-virtual-card button,
        .tbs-regalo-card .button,
        .tbs-wishlist-card .button,
        .tbs-regalo-virtual-card .button
    ){
        min-height: 50px !important;
        border-radius: 999px !important;
    }
}

/* =========================================================
   V60 - GUESTBOOK / DEJA TU MENSAJE ESTILO LIBRO
   Compatible con Estrellita Camino + Pequeño Milagro
========================================================= */

/* =========================
   WRAPPERS DE DISEÑO
========================= */
:is(
.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino
){
    --tbs-gb-paper: #fffaf5;
    --tbs-gb-paper-2: #fff5ef;
    --tbs-gb-paper-3: #fffdfa;
    --tbs-gb-ink: #6f4c43;
    --tbs-gb-sub: #8a6f67;
    --tbs-gb-line: rgba(189,119,107,.12);
    --tbs-gb-line-strong: rgba(189,119,107,.22);
    --tbs-gb-glow: rgba(217,144,129,.18);
    --tbs-gb-btn-1: #d99081;
    --tbs-gb-btn-2: #bd776b;
    --tbs-gb-shadow: 0 24px 60px rgba(111,76,67,.12);
    --tbs-gb-input-shadow: 0 10px 24px rgba(111,76,67,.06);
    --tbs-gb-bookmark-1: #e2a195;
    --tbs-gb-bookmark-2: #c47b6f;
    --tbs-gb-accent: #f1c75d;
}

:is(
.tbs-ms.tbs-publico-pequeno-milagro,
.tbs-ms.tbs-micrositio-pequeno-milagro,
.tbs-micrositio-publico.tbs-publico-pequeno-milagro,
.tbs-micrositio-publico.tbs-micrositio-pequeno-milagro,
.tbs-ms.tbs-micrositio-diseno-pequeno-milagro,
.tbs-ms.tbs-micrositio-diseno-pequeno_milagro,
.tbs-micrositio-publico.tbs-micrositio-diseno-pequeno-milagro,
.tbs-micrositio-publico.tbs-micrositio-diseno-pequeno_milagro
){
    --tbs-gb-paper: #fbfeff;
    --tbs-gb-paper-2: #f4fbff;
    --tbs-gb-paper-3: #ffffff;
    --tbs-gb-ink: #6e584c;
    --tbs-gb-sub: #7f726c;
    --tbs-gb-line: rgba(116,180,214,.14);
    --tbs-gb-line-strong: rgba(116,180,214,.24);
    --tbs-gb-glow: rgba(143,208,239,.18);
    --tbs-gb-btn-1: #8fd0ef;
    --tbs-gb-btn-2: #57b6df;
    --tbs-gb-shadow: 0 24px 60px rgba(87,182,223,.14);
    --tbs-gb-input-shadow: 0 10px 24px rgba(87,182,223,.08);
    --tbs-gb-bookmark-1: #a9ddf4;
    --tbs-gb-bookmark-2: #68bddf;
    --tbs-gb-accent: #f1c75d;
}

/* =========================
   CONTENEDOR EXTERIOR
========================= */
.tbs-ms-guestbook-card{
    border-radius: 36px !important;
    overflow: hidden !important;
}

.tbs-ms-guestbook-card .tbs-guestbook{
    position: relative;
    z-index: 1;
}

.tbs-ms-guestbook-card .tbs-guestbook-box.tbs-guestbook-box--book{
    position: relative;
    overflow: hidden;
    padding: 54px 54px 42px !important;
    border-radius: 34px !important;
    border: 1px solid var(--tbs-gb-line-strong) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,255,255,.82)),
        repeating-linear-gradient(
            0deg,
            rgba(135,110,95,.016) 0px,
            rgba(135,110,95,.016) 1px,
            transparent 1px,
            transparent 13px
        ),
        radial-gradient(circle at 12% 14%, var(--tbs-gb-glow), transparent 28%),
        linear-gradient(180deg, var(--tbs-gb-paper), var(--tbs-gb-paper-2)) !important;
    box-shadow:
        var(--tbs-gb-shadow),
        inset 0 1px 0 rgba(255,255,255,.92),
        inset 0 -14px 24px rgba(255,255,255,.38) !important;
}

/* Doble borde interior */
.tbs-ms-guestbook-card .tbs-guestbook-box.tbs-guestbook-box--book::before{
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 28px;
    border: 1px solid var(--tbs-gb-line) !important;
    pointer-events: none;
}

/* Efecto lomo/libro */
.tbs-ms-guestbook-card .tbs-guestbook-box.tbs-guestbook-box--book::after{
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 50%;
    width: 200px;
    transform: translateX(-50%);
    pointer-events: none;
    background:
        radial-gradient(circle at center,
            rgba(120,100,90,.08) 0%,
            rgba(120,100,90,.04) 34%,
            rgba(255,255,255,0) 72%);
    filter: blur(10px);
    opacity: .5;
}

/* =========================
   MARCAPÁGINAS + DECORACIÓN
========================= */
.tbs-ms-guestbook-card .tbs-guestbook-bookmark{
    position: absolute;
    top: 0;
    right: 54px;
    width: 24px;
    height: 96px;
    background: linear-gradient(180deg, var(--tbs-gb-bookmark-1), var(--tbs-gb-bookmark-2));
    border-radius: 0 0 14px 14px;
    box-shadow: 0 10px 20px rgba(0,0,0,.10);
    z-index: 3;
}

.tbs-ms-guestbook-card .tbs-guestbook-bookmark::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12px;
    margin: auto;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid var(--tbs-gb-bookmark-2);
}

.tbs-ms-guestbook-card .tbs-guestbook-book-decor{
    position: absolute;
    top: 32px;
    left: 42px;
    width: 120px;
    height: 120px;
    pointer-events: none;
    z-index: 2;
}

.tbs-ms-guestbook-card .tbs-guestbook-book-heart{
    position: absolute;
    top: 0;
    left: 0;
    font-size: 62px;
    line-height: 1;
    color: var(--tbs-gb-accent);
    opacity: .95;
}

.tbs-ms-guestbook-card .tbs-guestbook-book-sparkle{
    position: absolute;
    top: 88px;
    left: 74px;
    font-size: 28px;
    line-height: 1;
    color: var(--tbs-gb-accent);
    opacity: .85;
}

/* =========================
   HEADERS
========================= */
.tbs-ms-guestbook-card .tbs-guestbook-header,
.tbs-ms-guestbook-card .tbs-guestbook-sub,
.tbs-ms-guestbook-card .tbs-form-guestbook{
    position: relative;
    z-index: 2;
}

.tbs-ms-guestbook-card .tbs-guestbook-header{
    margin: 70px 0 12px !important;
    text-align: center !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: clamp(54px, 6vw, 84px) !important;
    line-height: .95 !important;
    letter-spacing: -.02em !important;
    font-weight: 700 !important;
    color: var(--tbs-gb-ink) !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.tbs-ms-guestbook-card .tbs-guestbook-sub{
    margin: 0 0 28px !important;
    text-align: center !important;
    font-size: clamp(20px, 2vw, 28px) !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    color: var(--tbs-gb-sub) !important;
}

/* =========================
   FORMULARIO
========================= */
.tbs-ms-guestbook-card .tbs-form-guestbook{
    display: grid !important;
    gap: 22px !important;
    max-width: 100% !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"],
.tbs-ms-guestbook-card .tbs-form-guestbook textarea{
    width: 100% !important;
    border-radius: 22px !important;
    border: 1px solid var(--tbs-gb-line-strong) !important;
    color: var(--tbs-gb-ink) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.74)),
        repeating-linear-gradient(
            0deg,
            rgba(120,100,90,.012) 0px,
            rgba(120,100,90,.012) 1px,
            transparent 1px,
            transparent 14px
        ),
        linear-gradient(180deg, var(--tbs-gb-paper-3), var(--tbs-gb-paper)) !important;
    box-shadow:
        var(--tbs-gb-input-shadow),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
    padding: 20px 24px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    outline: none !important;
    transition: all .25s ease !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook textarea{
    min-height: 190px !important;
    line-height: 1.75 !important;
    resize: vertical !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"]::placeholder,
.tbs-ms-guestbook-card .tbs-form-guestbook textarea::placeholder{
    color: rgba(111,92,84,.75) !important;
    font-weight: 600 !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"]:focus,
.tbs-ms-guestbook-card .tbs-form-guestbook textarea:focus{
    border-color: var(--tbs-gb-line-strong) !important;
    box-shadow:
        0 0 0 4px rgba(255,255,255,.55),
        0 10px 24px rgba(0,0,0,.06),
        0 0 0 1px var(--tbs-gb-line-strong) !important;
    transform: translateY(-1px);
}

/* =========================
   BOTÓN
========================= */
.tbs-ms-guestbook-card .tbs-form-guestbook .tbs-guestbook-submit,
.tbs-ms-guestbook-card .tbs-form-guestbook button{
    min-height: 74px !important;
    border-radius: 999px !important;
    padding: 18px 28px !important;
    border: 1px solid transparent !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    cursor: pointer !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.24), transparent 32%),
        linear-gradient(135deg, var(--tbs-gb-btn-1), var(--tbs-gb-btn-2)) !important;
    box-shadow:
        0 16px 34px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.28) !important;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook .tbs-guestbook-submit:hover,
.tbs-ms-guestbook-card .tbs-form-guestbook button:hover{
    transform: translateY(-2px) !important;
    filter: brightness(1.02) !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook .tbs-guestbook-submit:active,
.tbs-ms-guestbook-card .tbs-form-guestbook button:active{
    transform: translateY(0) !important;
}

.tbs-ms-guestbook-card .tbs-form-guestbook .tbs-guestbook-submit::before,
.tbs-ms-guestbook-card .tbs-form-guestbook button::before{
    content: "💌";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-right: 12px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    vertical-align: middle;
}

/* =========================
   RECAPTCHA
========================= */
.tbs-ms-guestbook-card .g-recaptcha,
.tbs-ms-guestbook-card iframe[src*="recaptcha"]{
    margin: 4px auto 0 !important;
    max-width: 100% !important;
}

/* =========================
   LISTA DE MENSAJES (SI EXISTE EN OTRO BLOQUE)
========================= */
.tbs-ms-guestbook-card .tbs-message-card,
.tbs-ms-guestbook-card .tbs-guestbook-card{
    border: 1px solid var(--tbs-gb-line) !important;
    border-radius: 22px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.74)),
        linear-gradient(180deg, var(--tbs-gb-paper), var(--tbs-gb-paper-2)) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.05) !important;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1024px){
    .tbs-ms-guestbook-card .tbs-guestbook-box.tbs-guestbook-box--book{
        padding: 44px 34px 34px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-header{
        margin-top: 62px !important;
        font-size: clamp(48px, 8vw, 68px) !important;
    }
}

@media (max-width: 767px){
    .tbs-ms-guestbook-card{
        border-radius: 28px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-box.tbs-guestbook-box--book{
        padding: 28px 18px 24px !important;
        border-radius: 26px !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-box.tbs-guestbook-box--book::before{
        inset: 10px;
        border-radius: 18px;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-box.tbs-guestbook-box--book::after{
        width: 110px;
        opacity: .35;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-bookmark{
        right: 22px;
        width: 20px;
        height: 72px;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-bookmark::after{
        border-left-width: 10px;
        border-right-width: 10px;
        border-top-width: 10px;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-book-decor{
        top: 16px;
        left: 18px;
        width: 90px;
        height: 90px;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-book-heart{
        font-size: 42px;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-book-sparkle{
        top: 58px;
        left: 54px;
        font-size: 20px;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-header{
        margin: 42px 0 10px !important;
        font-size: clamp(34px, 12vw, 52px) !important;
    }

    .tbs-ms-guestbook-card .tbs-guestbook-sub{
        font-size: 16px !important;
        line-height: 1.45 !important;
        margin-bottom: 18px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook{
        gap: 16px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook input[type="text"],
    .tbs-ms-guestbook-card .tbs-form-guestbook textarea{
        font-size: 16px !important;
        border-radius: 18px !important;
        padding: 16px 18px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook textarea{
        min-height: 150px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook .tbs-guestbook-submit,
    .tbs-ms-guestbook-card .tbs-form-guestbook button{
        min-height: 60px !important;
        font-size: 18px !important;
    }

    .tbs-ms-guestbook-card .tbs-form-guestbook .tbs-guestbook-submit::before,
    .tbs-ms-guestbook-card .tbs-form-guestbook button::before{
        width: 28px;
        height: 28px;
        margin-right: 10px;
        font-size: 14px;
    }
}

/* =========================================================
   V61 - MOBILE HERO PREVIEW FIRST
   Estrellita Camino: en móvil muestra la imagen preview como
   primer elemento premium antes del título.
========================================================= */
@media (max-width: 767px) {
    :is(
        .tbs-ms.tbs-publico-estrellita-camino,
        .tbs-ms.tbs-micrositio-estrellita-camino,
        .tbs-micrositio-publico.tbs-publico-estrellita-camino,
        .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
    ) .tbs-ms-hero-copy {
        display: block !important;
    }

    :is(
        .tbs-ms.tbs-publico-estrellita-camino,
        .tbs-ms.tbs-micrositio-estrellita-camino,
        .tbs-micrositio-publico.tbs-publico-estrellita-camino,
        .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
    ) .tbs-ms-hero-copy::before {
        content: "" !important;
        display: block !important;
        width: min(100%, 320px) !important;
        aspect-ratio: 1 / 1 !important;
        margin: 0 auto 20px !important;
        border-radius: 30px !important;
        border: 1px solid rgba(255,255,255,.92) !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,248,252,.10)),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/preview-Estrellita-Camino.jpg') center center / cover no-repeat !important;
        box-shadow:
            0 22px 46px rgba(111,76,67,.16),
            0 8px 18px rgba(217,144,129,.10),
            inset 0 1px 0 rgba(255,255,255,.88) !important;
        opacity: 1 !important;
        transform: translateZ(0);
    }

    :is(
        .tbs-ms.tbs-publico-estrellita-camino,
        .tbs-ms.tbs-micrositio-estrellita-camino,
        .tbs-micrositio-publico.tbs-publico-estrellita-camino,
        .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
    ) .tbs-ms-hero-copy::after {
        content: "" !important;
        display: block !important;
        width: 74px !important;
        height: 5px !important;
        margin: -8px auto 18px !important;
        border-radius: 999px !important;
        background: linear-gradient(90deg, transparent, rgba(217,144,129,.42), transparent) !important;
        box-shadow: 0 8px 18px rgba(217,144,129,.10) !important;
    }

    :is(
        .tbs-ms.tbs-publico-estrellita-camino,
        .tbs-ms.tbs-micrositio-estrellita-camino,
        .tbs-micrositio-publico.tbs-publico-estrellita-camino,
        .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
    ) .tbs-ms-hero h1 {
        margin-top: 0 !important;
    }

    :is(
        .tbs-ms.tbs-publico-estrellita-camino,
        .tbs-ms.tbs-micrositio-estrellita-camino,
        .tbs-micrositio-publico.tbs-publico-estrellita-camino,
        .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
    ) .tbs-ms-hero {
        min-height: auto !important;
        padding-top: 18px !important;
    }
}

@media (max-width: 390px) {
    :is(
        .tbs-ms.tbs-publico-estrellita-camino,
        .tbs-ms.tbs-micrositio-estrellita-camino,
        .tbs-micrositio-publico.tbs-publico-estrellita-camino,
        .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
    ) .tbs-ms-hero-copy::before {
        width: min(100%, 286px) !important;
        border-radius: 26px !important;
        margin-bottom: 18px !important;
    }
}

/* =========================================================
   V62 - TIPOGRAFÍA PREMIUM DELGADA + TARJETAS MÓVIL MÁS TRANSPARENTES
   Aplica a datos: Fecha / Hora / Lugar y números de cuenta regresiva
========================================================= */

/* Valores de Fecha / Hora / Lugar */
.tbs-ms-meta span,
.tbs-ms-meta-value,
.tbs-ms-meta-date,
.tbs-ms-meta-time,
.tbs-ms-meta-place,
.tbs-ms-details-list > div span,
.tbs-ms-details-list > div strong + span {
    font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.08 !important;
    text-wrap: balance !important;
}

/* Etiquetas FECHA / HORA / LUGAR conservan lectura premium */
.tbs-ms-meta strong,
.tbs-ms-meta-label,
.tbs-ms-meta-title {
    font-family: "Roboto", "Inter", Arial, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
}

/* Números de contador */
.tbs-ms-countdown strong,
.tbs-ms-count-number,
.tbs-countdown-number,
.tbs-ms-countdown [data-tbs-count] {
    font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.055em !important;
    line-height: .82 !important;
    font-variant-numeric: lining-nums !important;
}

/* Texto bajo números del contador */
.tbs-ms-countdown span,
.tbs-ms-countdown-label {
    font-family: "Roboto", "Inter", Arial, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
}

/* =========================
   MÓVIL
========================= */
@media (max-width: 767px) {

    /* Tarjetas de fecha/hora/lugar más transparentes */
    .tbs-ms-meta > div,
    .tbs-ms-meta-card {
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.40), transparent 34%),
            linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,.38)) !important;
        border-color: rgba(255,255,255,.52) !important;
        box-shadow:
            0 16px 34px rgba(70, 120, 150, .08),
            inset 0 1px 0 rgba(255,255,255,.54) !important;
        backdrop-filter: blur(9px) saturate(1.05) !important;
        -webkit-backdrop-filter: blur(9px) saturate(1.05) !important;
    }

    .tbs-ms-meta > div::after,
    .tbs-ms-meta-card::after {
        opacity: .52 !important;
    }

    .tbs-ms-meta span,
    .tbs-ms-meta-value,
    .tbs-ms-meta-date,
    .tbs-ms-meta-time,
    .tbs-ms-meta-place {
        font-size: clamp(34px, 10.4vw, 50px) !important;
        font-weight: 400 !important;
        letter-spacing: -0.045em !important;
        line-height: 1.02 !important;
    }

    .tbs-ms-meta-place,
    .tbs-ms-meta .tbs-ms-meta-place,
    .tbs-ms-meta > div:nth-child(3) span {
        font-size: clamp(28px, 8.8vw, 42px) !important;
        line-height: 1.08 !important;
        max-width: 92% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .tbs-ms-meta strong,
    .tbs-ms-meta-label,
    .tbs-ms-meta-title {
        font-size: 15px !important;
        letter-spacing: .16em !important;
        margin-bottom: 12px !important;
    }

    /* Tarjetas generales y contador más transparentes en móvil */
    .tbs-ms-details-card,
    .tbs-ms-rsvp-card,
    .tbs-ms-location-card,
    .tbs-ms-module-card,
    .tbs-ms-guestbook-card,
    .tbs-ms-countdown-card,
    .tbs-ms-closing-card {
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.42), transparent 34%),
            linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,.42)) !important;
        border-color: rgba(255,255,255,.52) !important;
        box-shadow:
            0 18px 46px rgba(70, 120, 150, .08),
            inset 0 1px 0 rgba(255,255,255,.58) !important;
        backdrop-filter: blur(9px) saturate(1.05) !important;
        -webkit-backdrop-filter: blur(9px) saturate(1.05) !important;
    }

    .tbs-ms-countdown > div {
        background:
            radial-gradient(circle at 20% 10%, rgba(255,255,255,.48), transparent 38%),
            linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,255,255,.40)) !important;
        border-color: rgba(255,255,255,.58) !important;
        box-shadow:
            0 12px 26px rgba(70, 120, 150, .07),
            inset 0 1px 0 rgba(255,255,255,.60) !important;
        backdrop-filter: blur(8px) saturate(1.05) !important;
        -webkit-backdrop-filter: blur(8px) saturate(1.05) !important;
    }

    .tbs-ms-countdown strong,
    .tbs-ms-count-number,
    .tbs-countdown-number {
        font-size: clamp(46px, 13vw, 66px) !important;
        font-weight: 400 !important;
        letter-spacing: -0.06em !important;
    }

    .tbs-ms-countdown span,
    .tbs-ms-countdown-label {
        font-size: 11px !important;
        letter-spacing: .15em !important;
        opacity: .88 !important;
    }
}

/* =========================
   PEQUEÑO MILAGRO
========================= */
:is(
    .tbs-ms.tbs-publico-pequeno-milagro,
    .tbs-ms.tbs-micrositio-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno_milagro,
    .tbs-micrositio-publico.tbs-publico-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno_milagro
) :is(
    .tbs-ms-meta span,
    .tbs-ms-meta-value,
    .tbs-ms-meta-date,
    .tbs-ms-meta-time,
    .tbs-ms-meta-place
) {
    color: #403944 !important;
    -webkit-text-fill-color: #403944 !important;
}

:is(
    .tbs-ms.tbs-publico-pequeno-milagro,
    .tbs-ms.tbs-micrositio-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno_milagro,
    .tbs-micrositio-publico.tbs-publico-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno_milagro
) :is(
    .tbs-ms-meta strong,
    .tbs-ms-meta-label,
    .tbs-ms-meta-title,
    .tbs-ms-countdown span,
    .tbs-ms-countdown-label
) {
    color: #4d9fbd !important;
    -webkit-text-fill-color: #4d9fbd !important;
}

:is(
    .tbs-ms.tbs-publico-pequeno-milagro,
    .tbs-ms.tbs-micrositio-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno_milagro,
    .tbs-micrositio-publico.tbs-publico-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno_milagro
) :is(
    .tbs-ms-countdown strong,
    .tbs-ms-count-number,
    .tbs-countdown-number
) {
    color: #4d9fbd !important;
    -webkit-text-fill-color: #4d9fbd !important;
}

/* =========================
   ESTRELLITA CAMINO
========================= */
:is(
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
) :is(
    .tbs-ms-meta span,
    .tbs-ms-meta-value,
    .tbs-ms-meta-date,
    .tbs-ms-meta-time,
    .tbs-ms-meta-place
) {
    color: #433740 !important;
    -webkit-text-fill-color: #433740 !important;
}

:is(
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
) :is(
    .tbs-ms-meta strong,
    .tbs-ms-meta-label,
    .tbs-ms-meta-title,
    .tbs-ms-countdown span,
    .tbs-ms-countdown-label
) {
    color: #c67a70 !important;
    -webkit-text-fill-color: #c67a70 !important;
}

:is(
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
) :is(
    .tbs-ms-countdown strong,
    .tbs-ms-count-number,
    .tbs-countdown-number
) {
    color: #c67a70 !important;
    -webkit-text-fill-color: #c67a70 !important;
}

/* =========================================================
   V66 - RSVP / CONFIRMA TU ASISTENCIA
   Ventana más angosta, textura premium, mejor tipografía
   y campos más legibles. Paleta por diseño de micrositio.
========================================================= */

/* Variables por diseño */
:is(
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino
) {
    --tbs-rsvp-ink: #6f4c43;
    --tbs-rsvp-muted: #806a63;
    --tbs-rsvp-label: #79554c;
    --tbs-rsvp-line: rgba(189,119,107,.18);
    --tbs-rsvp-line-strong: rgba(189,119,107,.28);
    --tbs-rsvp-paper: #fffaf5;
    --tbs-rsvp-paper-2: #fff4ee;
    --tbs-rsvp-glow: rgba(217,144,129,.18);
    --tbs-rsvp-btn-1: #d99081;
    --tbs-rsvp-btn-2: #bd776b;
    --tbs-rsvp-accent: #f1c75d;
    --tbs-rsvp-shadow: 0 28px 70px rgba(111,76,67,.12);
}

:is(
    .tbs-ms.tbs-publico-pequeno-milagro,
    .tbs-ms.tbs-micrositio-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno_milagro,
    .tbs-micrositio-publico.tbs-publico-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno_milagro
) {
    --tbs-rsvp-ink: #6e584c;
    --tbs-rsvp-muted: #6a7478;
    --tbs-rsvp-label: #426474;
    --tbs-rsvp-line: rgba(116,180,214,.18);
    --tbs-rsvp-line-strong: rgba(116,180,214,.30);
    --tbs-rsvp-paper: #fbfeff;
    --tbs-rsvp-paper-2: #eefaff;
    --tbs-rsvp-glow: rgba(143,208,239,.22);
    --tbs-rsvp-btn-1: #8fd0ef;
    --tbs-rsvp-btn-2: #57b6df;
    --tbs-rsvp-accent: #f1c75d;
    --tbs-rsvp-shadow: 0 28px 70px rgba(87,182,223,.16);
}

/* Ventana RSVP más angosta y con textura tipo papel premium */
.tbs-ms-rsvp-card {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(34px, 4.6vw, 58px) clamp(32px, 5vw, 64px) !important;
    border-radius: 34px !important;
    border: 1px solid var(--tbs-rsvp-line-strong) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,255,255,.78)),
        repeating-linear-gradient(
            0deg,
            rgba(92,72,62,.020) 0px,
            rgba(92,72,62,.020) 1px,
            transparent 1px,
            transparent 15px
        ),
        repeating-linear-gradient(
            90deg,
            rgba(92,72,62,.012) 0px,
            rgba(92,72,62,.012) 1px,
            transparent 1px,
            transparent 18px
        ),
        radial-gradient(circle at 8% 10%, var(--tbs-rsvp-glow), transparent 34%),
        linear-gradient(180deg, var(--tbs-rsvp-paper), var(--tbs-rsvp-paper-2)) !important;
    box-shadow:
        var(--tbs-rsvp-shadow),
        inset 0 1px 0 rgba(255,255,255,.92),
        inset 0 -16px 30px rgba(255,255,255,.42) !important;
    backdrop-filter: blur(12px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
}

/* Borde interior elegante */
.tbs-ms-rsvp-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 18px !important;
    border-radius: 26px !important;
    border: 1px solid var(--tbs-rsvp-line) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Decoración circular suave */
.tbs-ms-rsvp-card::after {
    content: "" !important;
    position: absolute !important;
    right: -72px !important;
    bottom: -86px !important;
    width: 230px !important;
    height: 230px !important;
    border-radius: 999px !important;
    background:
        radial-gradient(circle, var(--tbs-rsvp-glow), rgba(255,255,255,0) 68%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Corazón / detalle superior más fino */
.tbs-ms-rsvp-card > .tbs-rsvp-heart,
.tbs-ms-rsvp-card .tbs-rsvp-icon,
.tbs-ms-rsvp-card > span:first-child {
    color: var(--tbs-rsvp-accent) !important;
}

/* Título principal del formulario */
.tbs-rsvp-header {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 auto 12px !important;
    max-width: 620px !important;
    color: var(--tbs-rsvp-ink) !important;
    font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
    font-size: clamp(46px, 4.8vw, 72px) !important;
    font-weight: 500 !important;
    line-height: .98 !important;
    letter-spacing: -0.045em !important;
    text-align: center !important;
    text-wrap: balance !important;
}

.tbs-rsvp-sub {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 auto 34px !important;
    max-width: 560px !important;
    color: var(--tbs-rsvp-muted) !important;
    font-size: clamp(18px, 1.35vw, 22px) !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    text-align: center !important;
    text-wrap: balance !important;
}

/* Formulario */
.tbs-ms-rsvp-card .fluentform,
.tbs-ms-rsvp-card form {
    position: relative !important;
    z-index: 2 !important;
}

.tbs-ms-rsvp-card .ff-el-group {
    margin-bottom: 24px !important;
}

/* Labels más grandes y legibles */
.tbs-ms-rsvp-card label,
.tbs-ms-rsvp-card .ff-el-input--label label,
.tbs-ms-rsvp-card .ff-el-form-check-label {
    color: var(--tbs-rsvp-label) !important;
    font-family: "Roboto", "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
}

.tbs-ms-rsvp-card .ff-el-input--label {
    margin-bottom: 10px !important;
}

/* Inputs con textura ligera */
.tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.tbs-ms-rsvp-card select,
.tbs-ms-rsvp-card textarea {
    width: 100% !important;
    min-height: 62px !important;
    padding: 16px 20px !important;
    border-radius: 20px !important;
    border: 1px solid var(--tbs-rsvp-line-strong) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.66)),
        repeating-linear-gradient(
            0deg,
            rgba(92,72,62,.010) 0px,
            rgba(92,72,62,.010) 1px,
            transparent 1px,
            transparent 14px
        ),
        linear-gradient(180deg, #fff, var(--tbs-rsvp-paper)) !important;
    color: var(--tbs-rsvp-ink) !important;
    font-family: "Roboto", "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    outline: none !important;
    box-shadow:
        0 12px 26px rgba(0,0,0,.035),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
}

.tbs-ms-rsvp-card textarea {
    min-height: 96px !important;
    resize: vertical !important;
}

.tbs-ms-rsvp-card input:focus,
.tbs-ms-rsvp-card select:focus,
.tbs-ms-rsvp-card textarea:focus {
    border-color: var(--tbs-rsvp-line-strong) !important;
    box-shadow:
        0 0 0 4px rgba(255,255,255,.64),
        0 12px 26px rgba(0,0,0,.045),
        0 0 0 1px var(--tbs-rsvp-line-strong) !important;
}

/* Radios más premium y legibles */
.tbs-ms-rsvp-card input[type="radio"],
.tbs-ms-rsvp-card input[type="checkbox"] {
    width: 21px !important;
    height: 21px !important;
    margin-right: 9px !important;
    accent-color: var(--tbs-rsvp-btn-2) !important;
}

.tbs-ms-rsvp-card .ff-el-form-check {
    margin: 10px 0 !important;
}

.tbs-ms-rsvp-card .ff-el-form-check-label {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--tbs-rsvp-muted) !important;
}

/* Botón */
.tbs-ms-rsvp-card .ff-btn-submit,
.tbs-ms-rsvp-card button[type="submit"],
.tbs-ms-rsvp-card input[type="submit"] {
    width: 100% !important;
    min-height: 68px !important;
    margin-top: 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-family: "Roboto", "Inter", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -0.01em !important;
    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.25), transparent 30%),
        linear-gradient(135deg, var(--tbs-rsvp-btn-1), var(--tbs-rsvp-btn-2)) !important;
    box-shadow:
        0 16px 34px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.28) !important;
}

/* =========================
   Responsive
========================= */
@media (max-width: 1024px) {
    .tbs-ms-rsvp-card {
        width: min(100%, 720px) !important;
        max-width: 720px !important;
    }
}

@media (max-width: 767px) {
    .tbs-ms-rsvp-card {
        width: calc(100% - 28px) !important;
        max-width: 430px !important;
        padding: 34px 22px 28px !important;
        border-radius: 28px !important;
        background:
            linear-gradient(135deg, rgba(255,255,255,.74), rgba(255,255,255,.50)),
            repeating-linear-gradient(
                0deg,
                rgba(92,72,62,.018) 0px,
                rgba(92,72,62,.018) 1px,
                transparent 1px,
                transparent 14px
            ),
            radial-gradient(circle at 8% 8%, var(--tbs-rsvp-glow), transparent 38%),
            linear-gradient(180deg, var(--tbs-rsvp-paper), var(--tbs-rsvp-paper-2)) !important;
        box-shadow:
            0 20px 48px rgba(70,120,150,.09),
            inset 0 1px 0 rgba(255,255,255,.72) !important;
        backdrop-filter: blur(8px) saturate(1.05) !important;
        -webkit-backdrop-filter: blur(8px) saturate(1.05) !important;
    }

    .tbs-ms-rsvp-card::before {
        inset: 10px !important;
        border-radius: 20px !important;
    }

    .tbs-ms-rsvp-card::after {
        right: -88px !important;
        bottom: -92px !important;
        width: 190px !important;
        height: 190px !important;
        opacity: .72 !important;
    }

    .tbs-rsvp-header {
        font-size: clamp(38px, 11vw, 52px) !important;
        margin-bottom: 10px !important;
    }

    .tbs-rsvp-sub {
        font-size: 17px !important;
        line-height: 1.48 !important;
        margin-bottom: 28px !important;
    }

    .tbs-ms-rsvp-card .ff-el-group {
        margin-bottom: 22px !important;
    }

    .tbs-ms-rsvp-card label,
    .tbs-ms-rsvp-card .ff-el-input--label label,
    .tbs-ms-rsvp-card .ff-el-form-check-label {
        font-size: 16px !important;
    }

    .tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .tbs-ms-rsvp-card select,
    .tbs-ms-rsvp-card textarea {
        min-height: 58px !important;
        font-size: 16px !important;
        border-radius: 18px !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.48)),
            linear-gradient(180deg, #fff, var(--tbs-rsvp-paper)) !important;
    }

    .tbs-ms-rsvp-card .ff-btn-submit,
    .tbs-ms-rsvp-card button[type="submit"],
    .tbs-ms-rsvp-card input[type="submit"] {
        min-height: 62px !important;
        font-size: 17px !important;
    }
}

/* =========================================================
   V69 - MOBILE SCROLL SAFE FIX
   Reemplaza V68. No usa body fixed ni contenedor fixed.
   Objetivo: evitar rebote sin bloquear la carga del micrositio.
========================================================= */

/* Base segura */
html,
body {
    overflow-x: clip !important;
    max-width: 100% !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
}

body {
    overscroll-behavior-x: none !important;
}

/* Micrositio: scroll natural del documento */
.tbs-ms,
.tbs-micrositio-publico,
.tbs-publico-estrellita-camino,
.tbs-publico-pequeno-milagro,
.tbs-micrositio-estrellita-camino,
.tbs-micrositio-pequeno-milagro,
.tbs-micrositio-diseno-pequeno-milagro,
.tbs-micrositio-diseno-pequeno_milagro {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    overscroll-behavior-x: none !important;
    contain: none !important;
}

/* Elimina scroll-snap heredado */
.tbs-ms *,
.tbs-micrositio-publico * {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
}

/* Secciones sin micro-scroll interno */
.tbs-ms section,
.tbs-ms .elementor-section,
.tbs-ms .elementor-container,
.tbs-ms .elementor-column,
.tbs-ms .elementor-widget-wrap,
.tbs-ms .elementor-widget-container,
.tbs-ms .tbs-ms-section,
.tbs-ms .tbs-ms-hero,
.tbs-ms .tbs-ms-details-card,
.tbs-ms .tbs-ms-rsvp-card,
.tbs-ms .tbs-ms-location-card,
.tbs-ms .tbs-ms-module-card,
.tbs-ms .tbs-ms-guestbook-card,
.tbs-ms .tbs-ms-countdown-card,
.tbs-ms .tbs-ms-closing-card,
.tbs-micrositio-publico section,
.tbs-micrositio-publico .elementor-section,
.tbs-micrositio-publico .elementor-container,
.tbs-micrositio-publico .elementor-column,
.tbs-micrositio-publico .elementor-widget-wrap,
.tbs-micrositio-publico .elementor-widget-container {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    overscroll-behavior: auto !important;
}

/* Móvil */
@media (max-width: 767px) {
    html {
        height: auto !important;
        min-height: 100% !important;
        overflow-x: clip !important;
        overflow-y: auto !important;
        overscroll-behavior-y: none !important;
        -webkit-text-size-adjust: 100% !important;
    }

    body {
        position: static !important;
        inset: auto !important;
        height: auto !important;
        min-height: 100% !important;
        overflow-x: clip !important;
        overflow-y: auto !important;
        overscroll-behavior-y: none !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
    }

    .tbs-ms,
    .tbs-micrositio-publico,
    .tbs-publico-estrellita-camino,
    .tbs-publico-pequeno-milagro,
    .tbs-micrositio-estrellita-camino,
    .tbs-micrositio-pequeno-milagro,
    .tbs-micrositio-diseno-pequeno-milagro,
    .tbs-micrositio-diseno-pequeno_milagro {
        position: relative !important;
        inset: auto !important;
        height: auto !important;
        min-height: 100svh !important;
        max-height: none !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
        overscroll-behavior-y: none !important;
        -webkit-overflow-scrolling: auto !important;
        touch-action: pan-y !important;
        scroll-snap-type: none !important;
        contain: none !important;
        transform: none !important;
    }

    /*
       iOS / WhatsApp WebView:
       Los fondos fixed y filtros pesados durante scroll producen saltos.
    */
    .tbs-ms,
    .tbs-ms::before,
    .tbs-ms::after,
    .tbs-micrositio-publico,
    .tbs-micrositio-publico::before,
    .tbs-micrositio-publico::after,
    .tbs-ms-hero,
    .tbs-ms-hero::before,
    .tbs-ms-hero::after {
        background-attachment: scroll !important;
    }

    /*
       Evitar que tarjetas grandes generen micro-scroll.
       Excepción: textarea, mapas e iframes siguen funcionando.
    */
    .tbs-ms-rsvp-card,
    .tbs-ms-location-card,
    .tbs-ms-guestbook-card,
    .tbs-ms-module-card,
    .tbs-ms-details-card,
    .tbs-ms-countdown-card,
    .tbs-ms-closing-card {
        max-height: none !important;
        overflow: visible !important;
        overscroll-behavior: auto !important;
    }

    textarea {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
    }

    iframe,
    .gm-style,
    .tbs-map,
    .tbs-location-map,
    .tbs-ms-map {
        touch-action: auto !important;
    }

    /*
       Espacio final para que no se sienta un corte seco al final.
       No crea contenedor fixed ni bloquea carga.
    */
    .tbs-ms::after,
    .tbs-micrositio-publico::after {
        content: "" !important;
        display: block !important;
        height: max(42px, env(safe-area-inset-bottom)) !important;
        pointer-events: none !important;
    }
}

/* Clase JS segura */
html.tbs-scroll-safe-ready,
html.tbs-scroll-safe-ready body {
    scroll-snap-type: none !important;
    overflow-x: clip !important;
}

@media (max-width: 767px) {
    html.tbs-scroll-safe-ready,
    html.tbs-scroll-safe-ready body {
        overscroll-behavior-y: none !important;
        touch-action: pan-y !important;
    }
}

/* =========================================================
   V70 - WISHLIST / REGALOS FÍSICOS POR DISEÑO DE MICROSITIO
   Las tarjetas y botones de Wishlist toman la paleta del diseño
   seleccionado: Estrellita Camino o Pequeño Milagro.
========================================================= */

/* =========================
   VARIABLES POR DISEÑO
========================= */
:is(
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino,
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-wishlist-design-estrellita-camino,
    html.tbs-wishlist-design-estrellita-camino
) {
    --tbs-wish-ink: #6f4c43;
    --tbs-wish-muted: #806a63;
    --tbs-wish-accent: #c67a70;
    --tbs-wish-accent-2: #d99081;
    --tbs-wish-accent-dark: #bd776b;
    --tbs-wish-soft: #fff4ee;
    --tbs-wish-soft-2: #fffaf6;
    --tbs-wish-border: rgba(198,122,112,.22);
    --tbs-wish-border-strong: rgba(198,122,112,.34);
    --tbs-wish-shadow: rgba(111,76,67,.13);
    --tbs-wish-pill-bg: rgba(255,244,238,.92);
    --tbs-wish-pill-text: #bd776b;
    --tbs-wish-button-text: #ffffff;
}

:is(
    .tbs-ms.tbs-publico-pequeno-milagro,
    .tbs-ms.tbs-micrositio-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno_milagro,
    .tbs-micrositio-publico.tbs-publico-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno_milagro,
    body.tbs-publico-pequeno-milagro,
    body.tbs-micrositio-pequeno-milagro,
    body.tbs-micrositio-diseno-pequeno-milagro,
    body.tbs-micrositio-diseno-pequeno_milagro,
    body.tbs-wishlist-design-pequeno-milagro,
    html.tbs-wishlist-design-pequeno-milagro
) {
    --tbs-wish-ink: #2f4e5c;
    --tbs-wish-muted: #5f7884;
    --tbs-wish-accent: #4d9fbd;
    --tbs-wish-accent-2: #8fd0ef;
    --tbs-wish-accent-dark: #57b6df;
    --tbs-wish-soft: #eefaff;
    --tbs-wish-soft-2: #fbfeff;
    --tbs-wish-border: rgba(77,159,189,.22);
    --tbs-wish-border-strong: rgba(77,159,189,.36);
    --tbs-wish-shadow: rgba(77,159,189,.16);
    --tbs-wish-pill-bg: rgba(238,250,255,.94);
    --tbs-wish-pill-text: #4d9fbd;
    --tbs-wish-button-text: #ffffff;
}

/* =========================
   CONTENEDOR WISHLIST
========================= */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-public,
    .tbs-wishlist-grid,
    .tbs-wishlist-list,
    .tbs-ms-wishlist,
    .tbs-ms-wishlist-grid,
    .tbs-regalos-fisicos,
    .tbs-gift-list,
    .tbs-gifts-list
) {
    --tbs-card-radius: 28px;
}

/* Ventana principal de Wishlist */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-wrapper,
    .tbs-wishlist-public,
    .tbs-ms-wishlist-panel,
    .tbs-ms-wishlist-card,
    .tbs-wishlist-list-wrap,
    .tbs-wishlist-section-card,
    .tbs-wishlist-container
) {
    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.56), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.58)),
        linear-gradient(180deg, var(--tbs-wish-soft-2), var(--tbs-wish-soft)) !important;
    border: 1px solid var(--tbs-wish-border) !important;
    box-shadow:
        0 26px 68px var(--tbs-wish-shadow),
        inset 0 1px 0 rgba(255,255,255,.82) !important;
    backdrop-filter: blur(10px) saturate(1.04) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.04) !important;
}

/* Título y subtítulo */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-title,
    .tbs-ms-wishlist-title,
    .tbs-wishlist-section h2,
    .tbs-ms-wishlist h2,
    #wishlist h2
) {
    color: var(--tbs-wish-ink) !important;
    -webkit-text-fill-color: var(--tbs-wish-ink) !important;
}

:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-subtitle,
    .tbs-ms-wishlist-subtitle,
    .tbs-wishlist-section p,
    .tbs-ms-wishlist p
) {
    color: var(--tbs-wish-muted) !important;
}

/* =========================
   TARJETAS DE REGALO
========================= */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-card,
    .tbs-regalo-card,
    .tbs-regalo-public-card,
    .tbs-wish-card,
    .tbs-gift-card,
    .tbs-ms-gift-card,
    .tbs-wishlist-item,
    .tbs-regalo-item
) {
    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.62), transparent 36%),
        radial-gradient(circle at 100% 100%, var(--tbs-wish-soft), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.62)),
        linear-gradient(180deg, var(--tbs-wish-soft-2), var(--tbs-wish-soft)) !important;
    border: 1px solid var(--tbs-wish-border) !important;
    box-shadow:
        0 22px 50px var(--tbs-wish-shadow),
        inset 0 1px 0 rgba(255,255,255,.86) !important;
    color: var(--tbs-wish-ink) !important;
    overflow: hidden !important;
}

/* Imagen de la tarjeta */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-card img,
    .tbs-regalo-card img,
    .tbs-regalo-public-card img,
    .tbs-wish-card img,
    .tbs-gift-card img,
    .tbs-ms-gift-card img,
    .tbs-wishlist-item img,
    .tbs-regalo-item img
) {
    border: 1px solid rgba(255,255,255,.82) !important;
    box-shadow:
        0 14px 30px rgba(0,0,0,.045),
        inset 0 1px 0 rgba(255,255,255,.74) !important;
}

/* Nombre y precio */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-card h3,
    .tbs-regalo-card h3,
    .tbs-regalo-public-card h3,
    .tbs-wish-card h3,
    .tbs-gift-card h3,
    .tbs-ms-gift-card h3,
    .tbs-wishlist-item h3,
    .tbs-regalo-item h3,
    .tbs-regalo-nombre,
    .tbs-wishlist-name,
    .tbs-gift-name
) {
    color: var(--tbs-wish-ink) !important;
    -webkit-text-fill-color: var(--tbs-wish-ink) !important;
}

:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-regalo-precio,
    .tbs-wishlist-price,
    .tbs-gift-price,
    .tbs-wishlist-card .price,
    .tbs-regalo-card .price,
    .tbs-gift-card .price
) {
    color: var(--tbs-wish-accent) !important;
    -webkit-text-fill-color: var(--tbs-wish-accent) !important;
}

/* Badges */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-regalo-status,
    .tbs-wishlist-status,
    .tbs-gift-status,
    .tbs-reserved-badge,
    .tbs-disponible-badge,
    .tbs-regalo-badge,
    .tbs-wish-badge,
    .tbs-gift-badge,
    .tbs-regalo-estado
) {
    color: var(--tbs-wish-pill-text) !important;
    -webkit-text-fill-color: var(--tbs-wish-pill-text) !important;
    background: var(--tbs-wish-pill-bg) !important;
    border: 1px solid var(--tbs-wish-border) !important;
    box-shadow: 0 10px 22px var(--tbs-wish-shadow) !important;
}

/* Inputs dentro de Wishlist */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-card input,
    .tbs-regalo-card input,
    .tbs-regalo-public-card input,
    .tbs-wish-card input,
    .tbs-gift-card input,
    .tbs-ms-gift-card input,
    .tbs-wishlist-item input,
    .tbs-regalo-item input
) {
    background:
        linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.70)),
        linear-gradient(180deg, var(--tbs-wish-soft-2), var(--tbs-wish-soft)) !important;
    border: 1px solid var(--tbs-wish-border) !important;
    color: var(--tbs-wish-ink) !important;
    box-shadow:
        0 12px 24px rgba(0,0,0,.035),
        inset 0 1px 0 rgba(255,255,255,.82) !important;
}

:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-card input::placeholder,
    .tbs-regalo-card input::placeholder,
    .tbs-regalo-public-card input::placeholder,
    .tbs-wish-card input::placeholder,
    .tbs-gift-card input::placeholder,
    .tbs-ms-gift-card input::placeholder,
    .tbs-wishlist-item input::placeholder,
    .tbs-regalo-item input::placeholder
) {
    color: color-mix(in srgb, var(--tbs-wish-muted) 72%, white) !important;
}

/* =========================
   BOTONES WISHLIST
========================= */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-wishlist-card button,
    .tbs-regalo-card button,
    .tbs-regalo-public-card button,
    .tbs-wish-card button,
    .tbs-gift-card button,
    .tbs-ms-gift-card button,
    .tbs-wishlist-item button,
    .tbs-regalo-item button,
    .tbs-wishlist-card .button,
    .tbs-regalo-card .button,
    .tbs-regalo-public-card .button,
    .tbs-wish-card .button,
    .tbs-gift-card .button,
    .tbs-ms-gift-card .button,
    .tbs-wishlist-item .button,
    .tbs-regalo-item .button,
    .tbs-btn-ver-regalo,
    .tbs-btn-reservar,
    .tbs-regalo-btn,
    .tbs-wishlist-btn,
    .tbs-gift-btn,
    a.tbs-btn-ver-regalo,
    a.tbs-regalo-btn,
    a.tbs-wishlist-btn,
    a.tbs-gift-btn
) {
    color: var(--tbs-wish-button-text) !important;
    -webkit-text-fill-color: var(--tbs-wish-button-text) !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.26), transparent 34%),
        linear-gradient(135deg, var(--tbs-wish-accent-2), var(--tbs-wish-accent-dark)) !important;
    box-shadow:
        0 14px 28px var(--tbs-wish-shadow),
        inset 0 1px 0 rgba(255,255,255,.34) !important;
    text-shadow: none !important;
}

/* Botón secundario Ver regalo puede ser más suave, pero con paleta del diseño */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-btn-ver-regalo,
    a.tbs-btn-ver-regalo,
    .tbs-regalo-card a:not(.tbs-btn-reservar),
    .tbs-wishlist-card a:not(.tbs-btn-reservar),
    .tbs-gift-card a:not(.tbs-btn-reservar)
) {
    color: var(--tbs-wish-accent) !important;
    -webkit-text-fill-color: var(--tbs-wish-accent) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.62)),
        linear-gradient(135deg, var(--tbs-wish-soft-2), var(--tbs-wish-soft)) !important;
    border: 1px solid var(--tbs-wish-border) !important;
    box-shadow:
        0 10px 22px rgba(0,0,0,.045),
        inset 0 1px 0 rgba(255,255,255,.80) !important;
}

/* Reservar / Regala siempre primario */
:is(
    .tbs-ms,
    .tbs-micrositio-publico
) :is(
    .tbs-btn-reservar,
    .tbs-regalo-reservar,
    .tbs-wishlist-reservar,
    button[name*="reserv"],
    button[class*="reserv"],
    button[class*="regala"],
    .tbs-regalo-card button,
    .tbs-wishlist-card button,
    .tbs-gift-card button
) {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.26), transparent 34%),
        linear-gradient(135deg, var(--tbs-wish-accent-2), var(--tbs-wish-accent-dark)) !important;
    border-color: rgba(255,255,255,.42) !important;
}

/* Hover desktop */
@media (hover: hover) {
    :is(
        .tbs-ms,
        .tbs-micrositio-publico
    ) :is(
        .tbs-wishlist-card button,
        .tbs-regalo-card button,
        .tbs-regalo-public-card button,
        .tbs-wish-card button,
        .tbs-gift-card button,
        .tbs-ms-gift-card button,
        .tbs-btn-reservar,
        .tbs-regalo-reservar,
        .tbs-wishlist-reservar
    ):hover {
        transform: translateY(-1px) !important;
        filter: saturate(1.05) brightness(1.015) !important;
    }
}

/* =========================
   PEQUEÑO MILAGRO: FORZAR CELESTE EN CASOS HEREDADOS
========================= */
:is(
    .tbs-ms.tbs-publico-pequeno-milagro,
    .tbs-ms.tbs-micrositio-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno_milagro,
    .tbs-micrositio-publico.tbs-publico-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno_milagro
) :is(
    .tbs-regalo-precio,
    .tbs-wishlist-price,
    .tbs-gift-price,
    .tbs-wishlist-card .price,
    .tbs-regalo-card .price,
    .tbs-gift-card .price,
    .tbs-reserved-badge,
    .tbs-disponible-badge,
    .tbs-regalo-status,
    .tbs-regalo-estado
) {
    color: #4d9fbd !important;
    -webkit-text-fill-color: #4d9fbd !important;
}

/* Botón primario Pequeño Milagro */
:is(
    .tbs-ms.tbs-publico-pequeno-milagro,
    .tbs-ms.tbs-micrositio-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-ms.tbs-micrositio-diseno-pequeno_milagro,
    .tbs-micrositio-publico.tbs-publico-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno-milagro,
    .tbs-micrositio-publico.tbs-micrositio-diseno-pequeno_milagro
) :is(
    .tbs-btn-reservar,
    .tbs-regalo-reservar,
    .tbs-wishlist-reservar,
    button[name*="reserv"],
    button[class*="reserv"],
    button[class*="regala"]
) {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.28), transparent 34%),
        linear-gradient(135deg, #8fd0ef, #57b6df) !important;
    border-color: rgba(255,255,255,.48) !important;
    box-shadow:
        0 14px 28px rgba(77,159,189,.18),
        inset 0 1px 0 rgba(255,255,255,.34) !important;
}

/* =========================
   MÓVIL
========================= */
@media (max-width: 767px) {
    :is(
        .tbs-ms,
        .tbs-micrositio-publico
    ) :is(
        .tbs-wishlist-card,
        .tbs-regalo-card,
        .tbs-regalo-public-card,
        .tbs-wish-card,
        .tbs-gift-card,
        .tbs-ms-gift-card,
        .tbs-wishlist-item,
        .tbs-regalo-item
    ) {
        background:
            radial-gradient(circle at 0% 0%, rgba(255,255,255,.52), transparent 36%),
            radial-gradient(circle at 100% 100%, var(--tbs-wish-soft), transparent 34%),
            linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.52)),
            linear-gradient(180deg, var(--tbs-wish-soft-2), var(--tbs-wish-soft)) !important;
        border-color: var(--tbs-wish-border) !important;
        box-shadow:
            0 18px 40px var(--tbs-wish-shadow),
            inset 0 1px 0 rgba(255,255,255,.76) !important;
    }

    :is(
        .tbs-ms,
        .tbs-micrositio-publico
    ) :is(
        .tbs-wishlist-card button,
        .tbs-regalo-card button,
        .tbs-regalo-public-card button,
        .tbs-wish-card button,
        .tbs-gift-card button,
        .tbs-ms-gift-card button,
        .tbs-btn-reservar,
        .tbs-regalo-reservar,
        .tbs-wishlist-reservar
    ) {
        min-height: 52px !important;
        border-radius: 999px !important;
        font-weight: 900 !important;
    }
}

/* =========================================================
   41) AJUSTE V41 - ESTRELLITA CAMINO: UNA SOLA VENTANA DE GRACIAS
   Base estable: V40.
   - Evita doble ventana de agradecimiento en RSVP, regalo virtual y guestbook.
   - Mantiene solo la ventana cálida del diseño Estrellita Camino.
   - Mantiene confetti final/fullscreen sin duplicar overlays.
========================================================= */

/* Si por algún flujo se crean dos overlays EC, solo el primero queda visible. */
body.tbs-ec-thanks-visible .tbs-ec-thanks-overlay ~ .tbs-ec-thanks-overlay,
html.tbs-ec-thanks-visible .tbs-ec-thanks-overlay ~ .tbs-ec-thanks-overlay,
.tbs-ec-thanks-overlay ~ .tbs-ec-thanks-overlay {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Si el módulo global/otros diseños inyectan otra ventana de gracias, se oculta solo dentro de Estrellita Camino. */
body:has(.tbs-publico-estrellita-camino):has(.tbs-ec-thanks-overlay) .tbs-pm-thanks-overlay,
body:has(.tbs-micrositio-estrellita-camino):has(.tbs-ec-thanks-overlay) .tbs-pm-thanks-overlay,
body.tbs-ec-thanks-visible .tbs-pm-thanks-overlay,
body.tbs-ec-thanks-visible .tbs-thanks-overlay,
body.tbs-ec-thanks-visible .tbs-gracias-overlay,
body.tbs-ec-thanks-visible .tbs-app-thanks-overlay,
body.tbs-ec-thanks-visible .tbs-rv-thanks-overlay,
body.tbs-ec-thanks-visible .tbs-global-thanks-overlay,
body.tbs-ec-thanks-visible .tbs-confirmacion-gracias,
body.tbs-ec-thanks-visible .tbs-confirmacion-overlay,
body.tbs-ec-thanks-visible [class*="pm-thanks-overlay"],
body.tbs-ec-thanks-visible [class*="global-thanks-overlay"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Mantener visible únicamente la ventana propia de Estrellita Camino y su confetti. */
body.tbs-ec-thanks-visible .tbs-ec-thanks-overlay,
html.tbs-ec-thanks-visible .tbs-ec-thanks-overlay,
body:has(.tbs-publico-estrellita-camino) .tbs-ec-thanks-overlay,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ec-thanks-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom)) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: rgba(255, 248, 252, .54) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    -webkit-filter: none !important;
}

body.tbs-ec-thanks-visible .tbs-ec-thanks-card,
html.tbs-ec-thanks-visible .tbs-ec-thanks-card,
body:has(.tbs-publico-estrellita-camino) .tbs-ec-thanks-card,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ec-thanks-card {
    position: relative !important;
    z-index: 2147483647 !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    -webkit-filter: none !important;
}

body.tbs-ec-thanks-visible .tbs-ec-confetti-layer,
html.tbs-ec-thanks-visible .tbs-ec-confetti-layer,
body:has(.tbs-publico-estrellita-camino) .tbs-ec-confetti-layer,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ec-confetti-layer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483646 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

/* Evita que mensajes nativos de éxito creen una segunda "ventana" debajo del modal cálido. */
body:has(.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card .ff-message-success,
body:has(.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card .ff-el-success,
body:has(.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card .ff_success,
body:has(.tbs-publico-estrellita-camino) .tbs-ms-rsvp-card .text-success,
body:has(.tbs-publico-estrellita-camino) .tbs-ms-guestbook-card .tbs-guestbook-success,
body:has(.tbs-publico-estrellita-camino) .tbs-ms-guestbook-card .tbs-message-success,
body:has(.tbs-publico-estrellita-camino) .tbs-ms-guestbook-card [class*="success"]:not(.tbs-ec-thanks-card):not(.tbs-ec-thanks-title):not(.tbs-ec-thanks-text),
body:has(.tbs-publico-estrellita-camino) .tbs-ms-module-card .tbs-success,
body:has(.tbs-publico-estrellita-camino) .tbs-ms-module-card [class*="success"]:not(.tbs-ec-thanks-card):not(.tbs-ec-thanks-title):not(.tbs-ec-thanks-text),
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card .ff-message-success,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card .ff-el-success,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card .ff_success,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-rsvp-card .text-success,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card .tbs-guestbook-success,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card .tbs-message-success,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-guestbook-card [class*="success"]:not(.tbs-ec-thanks-card):not(.tbs-ec-thanks-title):not(.tbs-ec-thanks-text),
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-module-card .tbs-success,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-module-card [class*="success"]:not(.tbs-ec-thanks-card):not(.tbs-ec-thanks-title):not(.tbs-ec-thanks-text) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* No duplicar capas de confetti genéricas, pero conservar la de Estrellita Camino. */
body.tbs-ec-thanks-visible .tbs-pm-confetti-layer,
body.tbs-ec-thanks-visible .tbs-global-confetti-layer,
body.tbs-ec-thanks-visible [class*="pm-confetti-layer"],
body.tbs-ec-thanks-visible [class*="global-confetti-layer"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

body.tbs-ec-thanks-visible .tbs-ec-confetti-layer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* =========================================================
   42) AJUSTE V42 - ESTRELLITA CAMINO: SOLO GRACIAS FINAL GLOBAL
   Base estable: V41.
   - Elimina la primera ventana de agradecimiento propia del diseño EC.
   - Deja activa únicamente la ventana final global (.tbs-pm-thanks-overlay).
   - Evita doble confetti y desbloquea scroll si quedó clase EC vieja.
========================================================= */

/* La ventana EC era la primera ventana que aparecía antes de la final: se neutraliza por completo. */
html:has(.tbs-publico-estrellita-camino) .tbs-ec-thanks-overlay,
html:has(.tbs-micrositio-estrellita-camino) .tbs-ec-thanks-overlay,
body:has(.tbs-publico-estrellita-camino) .tbs-ec-thanks-overlay,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ec-thanks-overlay,
body.tbs-ec-thanks-visible .tbs-ec-thanks-overlay,
.tbs-publico-estrellita-camino ~ .tbs-ec-thanks-overlay,
.tbs-micrositio-estrellita-camino ~ .tbs-ec-thanks-overlay {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    animation: none !important;
}

/* También se neutraliza el confetti EC para no duplicar el confetti final. */
html:has(.tbs-publico-estrellita-camino) .tbs-ec-confetti-layer,
html:has(.tbs-micrositio-estrellita-camino) .tbs-ec-confetti-layer,
body:has(.tbs-publico-estrellita-camino) .tbs-ec-confetti-layer,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ec-confetti-layer,
body.tbs-ec-thanks-visible .tbs-ec-confetti-layer,
.tbs-publico-estrellita-camino ~ .tbs-ec-confetti-layer,
.tbs-micrositio-estrellita-camino ~ .tbs-ec-confetti-layer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    animation: none !important;
}

/* Si el JS viejo agrega la clase EC, ya no debe congelar la página porque su modal queda oculto. */
html.tbs-ec-thanks-visible,
body.tbs-ec-thanks-visible {
    overflow: auto !important;
    position: static !important;
    height: auto !important;
}

/* La ventana final global queda como la única ventana válida para gracias + confetti. */
body:has(.tbs-publico-estrellita-camino) .tbs-pm-thanks-overlay,
body:has(.tbs-micrositio-estrellita-camino) .tbs-pm-thanks-overlay,
html:has(.tbs-publico-estrellita-camino) .tbs-pm-thanks-overlay,
html:has(.tbs-micrositio-estrellita-camino) .tbs-pm-thanks-overlay,
body.tbs-pm-thanks-visible .tbs-pm-thanks-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

body:has(.tbs-publico-estrellita-camino) .tbs-pm-confetti-layer,
body:has(.tbs-micrositio-estrellita-camino) .tbs-pm-confetti-layer,
html:has(.tbs-publico-estrellita-camino) .tbs-pm-confetti-layer,
html:has(.tbs-micrositio-estrellita-camino) .tbs-pm-confetti-layer,
body.tbs-pm-thanks-visible .tbs-pm-confetti-layer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483646 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

/* Mensajes nativos de éxito quedan ocultos desde el inicio para que no funcionen como primera ventana. */
body:has(.tbs-publico-estrellita-camino) :is(.ff-message-success,.ff-el-success,.ff_success,.text-success,.tbs-guestbook-success,.tbs-message-success,.tbs-success,.tbs-confirmacion-gracias,.tbs-confirmacion-overlay,.tbs-thanks-overlay,.tbs-gracias-overlay,.tbs-app-thanks-overlay,.tbs-rv-thanks-overlay,.tbs-global-thanks-overlay):not(.tbs-pm-thanks-overlay):not(.tbs-pm-thanks-card):not(.tbs-pm-thanks-title):not(.tbs-pm-thanks-text),
body:has(.tbs-micrositio-estrellita-camino) :is(.ff-message-success,.ff-el-success,.ff_success,.text-success,.tbs-guestbook-success,.tbs-message-success,.tbs-success,.tbs-confirmacion-gracias,.tbs-confirmacion-overlay,.tbs-thanks-overlay,.tbs-gracias-overlay,.tbs-app-thanks-overlay,.tbs-rv-thanks-overlay,.tbs-global-thanks-overlay):not(.tbs-pm-thanks-overlay):not(.tbs-pm-thanks-card):not(.tbs-pm-thanks-title):not(.tbs-pm-thanks-text) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* =========================================================
   ESTRELLITA CAMINO - AJUSTE FINAL ESTABLE
   - Aísla este CSS al diseño Estrellita Camino.
   - Quita referencias visuales residuales del fondo doble del body/html.
   - Deja un solo fondo decorativo del micrositio, controlado por el contenedor público.
   - No toca otros diseños.
========================================================= */

html:has(.tbs-publico-estrellita-camino),
html:has(.tbs-micrositio-estrellita-camino),
body:has(.tbs-publico-estrellita-camino),
body:has(.tbs-micrositio-estrellita-camino),
html.tbs-ec-public-ready,
body.tbs-ec-public-ready,
html.tbs-ec-v22-ready,
body.tbs-ec-v22-ready {
    background-image: none !important;
    background-color: #fffafd !important;
    background-attachment: scroll !important;
}

body:has(.tbs-publico-estrellita-camino) #wrapper,
body:has(.tbs-publico-estrellita-camino) #page,
body:has(.tbs-publico-estrellita-camino) .page-wrapper,
body:has(.tbs-publico-estrellita-camino) .main-content,
body:has(.tbs-publico-estrellita-camino) .main-content-area,
body:has(.tbs-publico-estrellita-camino) .site,
body:has(.tbs-publico-estrellita-camino) .site-content,
body:has(.tbs-publico-estrellita-camino) .content-area,
body:has(.tbs-publico-estrellita-camino) .page-content,
body:has(.tbs-publico-estrellita-camino) .entry-content,
body:has(.tbs-publico-estrellita-camino) .elementor,
body:has(.tbs-publico-estrellita-camino) .elementor-section-wrap,
body.tbs-ec-public-ready #wrapper,
body.tbs-ec-public-ready #page,
body.tbs-ec-public-ready .page-wrapper,
body.tbs-ec-public-ready .main-content,
body.tbs-ec-public-ready .main-content-area,
body.tbs-ec-public-ready .site,
body.tbs-ec-public-ready .site-content,
body.tbs-ec-public-ready .content-area,
body.tbs-ec-public-ready .page-content,
body.tbs-ec-public-ready .entry-content,
body.tbs-ec-public-ready .elementor,
body.tbs-ec-public-ready .elementor-section-wrap {
    background: transparent !important;
    background-image: none !important;
    background-attachment: scroll !important;
}

.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    background-color: #fffafd !important;
    background-image:
        linear-gradient(180deg, rgba(255,250,253,.70) 0%, rgba(255,255,255,.58) 24%, rgba(255,250,253,.68) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top, center top !important;
    background-size: 100% auto, 100% auto !important;
    background-repeat: repeat-y, repeat-y !important;
    background-attachment: scroll, scroll !important;
}

.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino::before,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

.tbs-ms.tbs-publico-estrellita-camino::after,
.tbs-ms.tbs-micrositio-estrellita-camino::after,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino::after,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.tbs-publico-estrellita-camino .tbs-ms-bg,
.tbs-publico-estrellita-camino .tbs-ms-bg-one,
.tbs-publico-estrellita-camino .tbs-ms-bg-two,
.tbs-micrositio-estrellita-camino .tbs-ms-bg,
.tbs-micrositio-estrellita-camino .tbs-ms-bg-one,
.tbs-micrositio-estrellita-camino .tbs-ms-bg-two {
    display: none !important;
    background-image: none !important;
    animation: none !important;
}

.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero {
    background-image: url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-art-card,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-art-card,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-art-card {
    background-image:
        linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,.92)),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
    background-position: center, center !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
}

.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-closing-card,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-closing-card,
.tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-closing-card {
    background-image:
        linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,248,252,.26) 24%, rgba(255,248,252,.70) 60%, rgba(255,249,252,.94) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/preview-Estrellita-Camino.jpg') !important;
    background-position: center center, center center !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
}

@media (max-width: 767px) {
    .tbs-ms.tbs-publico-estrellita-camino,
    .tbs-ms.tbs-micrositio-estrellita-camino,
    .tbs-ms.tbs-micrositio-diseno-estrellita_camino,
    .tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
        background-image:
            linear-gradient(180deg, rgba(255,250,253,.76) 0%, rgba(255,255,255,.60) 24%, rgba(255,250,253,.72) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') !important;
        background-position: center top, center top !important;
        background-size: cover, cover !important;
        background-repeat: repeat-y, repeat-y !important;
        background-attachment: scroll, scroll !important;
    }
}


/* =========================================================
   ESTRELLITA CAMINO V3.1 - FONDO FIJO + FORMULARIOS PREMIUM
   Objetivo:
   - Mantener este ajuste 100% aislado a Estrellita Camino.
   - Quitar fondo doble del cuerpo.
   - Evitar que el fondo decorativo se mueva con el scroll.
   - Mejorar ventana de Confirmar asistencia, Deja tu mensaje y botones.
========================================================= */

/* ---------- Fondo fijo único del cuerpo ---------- */
html:has(.tbs-publico-estrellita-camino),
html:has(.tbs-micrositio-estrellita-camino),
body:has(.tbs-publico-estrellita-camino),
body:has(.tbs-micrositio-estrellita-camino),
html.tbs-ec-public-ready,
body.tbs-ec-public-ready {
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background-color: #fffaf4 !important;
    background-image: none !important;
    background-attachment: initial !important;
}

body:has(.tbs-publico-estrellita-camino)::before,
body:has(.tbs-micrositio-estrellita-camino)::before,
body.tbs-ec-public-ready::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -10 !important;
    pointer-events: none !important;
    background-color: #fffaf4 !important;
    background-image:
        linear-gradient(180deg, rgba(255,250,244,.42) 0%, rgba(255,255,255,.38) 35%, rgba(255,248,252,.48) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top, center top !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
    transform: translateZ(0) !important;
    will-change: transform !important;
}

body:has(.tbs-publico-estrellita-camino) #wrapper,
body:has(.tbs-publico-estrellita-camino) #page,
body:has(.tbs-publico-estrellita-camino) .page-wrapper,
body:has(.tbs-publico-estrellita-camino) .main-content,
body:has(.tbs-publico-estrellita-camino) .main-content-area,
body:has(.tbs-publico-estrellita-camino) .site,
body:has(.tbs-publico-estrellita-camino) .site-content,
body:has(.tbs-publico-estrellita-camino) .content-area,
body:has(.tbs-publico-estrellita-camino) .page-content,
body:has(.tbs-publico-estrellita-camino) .entry-content,
body:has(.tbs-publico-estrellita-camino) .elementor,
body:has(.tbs-publico-estrellita-camino) .elementor-section,
body:has(.tbs-publico-estrellita-camino) .elementor-section-wrap,
body:has(.tbs-publico-estrellita-camino) .elementor-container,
body:has(.tbs-publico-estrellita-camino) .elementor-widget-container,
body:has(.tbs-publico-estrellita-camino) .elementor-shortcode,
body.tbs-ec-public-ready #wrapper,
body.tbs-ec-public-ready #page,
body.tbs-ec-public-ready .page-wrapper,
body.tbs-ec-public-ready .main-content,
body.tbs-ec-public-ready .main-content-area,
body.tbs-ec-public-ready .site,
body.tbs-ec-public-ready .site-content,
body.tbs-ec-public-ready .content-area,
body.tbs-ec-public-ready .page-content,
body.tbs-ec-public-ready .entry-content,
body.tbs-ec-public-ready .elementor,
body.tbs-ec-public-ready .elementor-section,
body.tbs-ec-public-ready .elementor-section-wrap,
body.tbs-ec-public-ready .elementor-container,
body.tbs-ec-public-ready .elementor-widget-container,
body.tbs-ec-public-ready .elementor-shortcode {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
}

.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    background-attachment: initial !important;
    overflow: hidden !important;
}

.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino::before,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before,
.tbs-ms.tbs-publico-estrellita-camino::after,
.tbs-ms.tbs-micrositio-estrellita-camino::after,
.tbs-ms.tbs-micrositio-diseno-estrellita_camino::after,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after,
.tbs-publico-estrellita-camino .tbs-ms-bg,
.tbs-publico-estrellita-camino .tbs-ms-bg-one,
.tbs-publico-estrellita-camino .tbs-ms-bg-two,
.tbs-micrositio-estrellita-camino .tbs-ms-bg,
.tbs-micrositio-estrellita-camino .tbs-ms-bg-one,
.tbs-micrositio-estrellita-camino .tbs-ms-bg-two {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    animation: none !important;
}

/* ---------- Ventanas funcionales: Confirmar asistencia y Mensajes ---------- */
.tbs-publico-estrellita-camino .tbs-ms-rsvp-card,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(30px, 4.6vw, 58px) !important;
    border-radius: 44px !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(255,255,255,.88), transparent 34%),
        radial-gradient(circle at 100% 100%, rgba(238,248,255,.48), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,250,253,.76)) !important;
    box-shadow:
        0 34px 96px rgba(101, 78, 63, .15),
        0 14px 38px rgba(214,181,109,.10),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
    backdrop-filter: blur(14px) saturate(1.03) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.03) !important;
}

.tbs-publico-estrellita-camino .tbs-rsvp-header,
.tbs-micrositio-estrellita-camino .tbs-rsvp-header,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-header,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-header {
    color: #4e4650 !important;
    text-shadow: 0 2px 0 rgba(255,255,255,.70) !important;
}

.tbs-publico-estrellita-camino .tbs-rsvp-sub,
.tbs-micrositio-estrellita-camino .tbs-rsvp-sub,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-sub,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-sub {
    color: #5d6470 !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.78) !important;
}

.tbs-publico-estrellita-camino .tbs-ms-rsvp-card form,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card form,
.tbs-publico-estrellita-camino .tbs-ms-rsvp-card .fluentform,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card .fluentform,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-box,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-box {
    width: min(100%, 700px) !important;
    max-width: 700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-box,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-box {
    padding: clamp(28px, 4vw, 48px) !important;
    border-radius: 36px !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(255,255,255,.88), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,253,248,.58)) !important;
    border: 1px solid rgba(255,255,255,.78) !important;
    box-shadow: 0 22px 58px rgba(101,78,63,.10), inset 0 1px 0 rgba(255,255,255,.88) !important;
}

/* ---------- Inputs y radios con contraste ---------- */
.tbs-publico-estrellita-camino .tbs-ms-rsvp-card label,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card label,
.tbs-publico-estrellita-camino .tbs-ms-rsvp-card .ff-el-input--label label,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card .ff-el-input--label label,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card label,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card label {
    color: #4d4650 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
}

.tbs-publico-estrellita-camino .tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.tbs-publico-estrellita-camino .tbs-ms-rsvp-card select,
.tbs-publico-estrellita-camino .tbs-ms-rsvp-card textarea,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card select,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card textarea,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card input[type="text"],
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card input[type="email"],
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card textarea,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card input[type="text"],
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card input[type="email"],
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card textarea {
    width: 100% !important;
    min-height: 56px !important;
    padding: 15px 18px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(183,216,240,.45) !important;
    background: rgba(255,255,255,.82) !important;
    color: #4e4650 !important;
    font-family: var(--tbs-ms-font-body, "Roboto", Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow:
        0 12px 30px rgba(101,78,63,.06),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
    outline: none !important;
}

.tbs-publico-estrellita-camino .tbs-ms-guestbook-card textarea,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card textarea {
    min-height: 150px !important;
    line-height: 1.5 !important;
    resize: vertical !important;
}

.tbs-publico-estrellita-camino .tbs-ms-rsvp-card input:focus,
.tbs-publico-estrellita-camino .tbs-ms-rsvp-card select:focus,
.tbs-publico-estrellita-camino .tbs-ms-rsvp-card textarea:focus,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card input:focus,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card textarea:focus,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card input:focus,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card select:focus,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card textarea:focus,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card input:focus,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card textarea:focus {
    border-color: rgba(214,181,109,.62) !important;
    box-shadow:
        0 0 0 4px rgba(214,181,109,.14),
        0 14px 34px rgba(101,78,63,.08),
        inset 0 1px 0 rgba(255,255,255,.94) !important;
}

.tbs-publico-estrellita-camino .tbs-ms-rsvp-card input[type="radio"],
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card input[type="radio"] {
    width: 22px !important;
    height: 22px !important;
    margin-right: 10px !important;
    accent-color: #D6B56D !important;
}

.tbs-publico-estrellita-camino .tbs-ms-rsvp-card .ff-el-form-check,
.tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card .ff-el-form-check {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    color: #4d4650 !important;
    font-weight: 800 !important;
}

/* ---------- Botones visibles y premium ---------- */
.tbs-publico-estrellita-camino .tbs-ms-btn,
.tbs-publico-estrellita-camino .tbs-ms .elementor-button,
.tbs-publico-estrellita-camino .tbs-ms .ff-btn-submit,
.tbs-publico-estrellita-camino .tbs-ms button[type="submit"],
.tbs-publico-estrellita-camino .tbs-ms input[type="submit"],
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button,
.tbs-micrositio-estrellita-camino .tbs-ms-btn,
.tbs-micrositio-estrellita-camino .tbs-ms .elementor-button,
.tbs-micrositio-estrellita-camino .tbs-ms .ff-btn-submit,
.tbs-micrositio-estrellita-camino .tbs-ms button[type="submit"],
.tbs-micrositio-estrellita-camino .tbs-ms input[type="submit"],
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button {
    min-height: 56px !important;
    padding: 16px 28px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.68) !important;
    color: #ffffff !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.34), transparent 30%),
        linear-gradient(135deg, #D6B56D 0%, #B7D8F0 100%) !important;
    font-family: var(--tbs-ms-font-body, "Roboto", Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
    text-shadow: 0 1px 1px rgba(92,82,62,.20) !important;
    box-shadow:
        0 18px 42px rgba(214,181,109,.24),
        0 10px 22px rgba(183,216,240,.18),
        inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.tbs-publico-estrellita-camino .tbs-ms-btn:hover,
.tbs-publico-estrellita-camino .tbs-ms .elementor-button:hover,
.tbs-publico-estrellita-camino .tbs-ms .ff-btn-submit:hover,
.tbs-publico-estrellita-camino .tbs-ms button[type="submit"]:hover,
.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button:hover,
.tbs-micrositio-estrellita-camino .tbs-ms-btn:hover,
.tbs-micrositio-estrellita-camino .tbs-ms .elementor-button:hover,
.tbs-micrositio-estrellita-camino .tbs-ms .ff-btn-submit:hover,
.tbs-micrositio-estrellita-camino .tbs-ms button[type="submit"]:hover,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.03) saturate(1.04) !important;
    box-shadow:
        0 22px 50px rgba(214,181,109,.28),
        0 12px 26px rgba(183,216,240,.22),
        inset 0 1px 0 rgba(255,255,255,.50) !important;
}

.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button {
    width: min(100%, 380px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button::before,
.tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button::before {
    content: "💌" !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    margin-right: 8px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.24) !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

/* ---------- reCAPTCHA y estados visuales ---------- */
.tbs-publico-estrellita-camino .g-recaptcha,
.tbs-publico-estrellita-camino iframe[src*="recaptcha"],
.tbs-micrositio-estrellita-camino .g-recaptcha,
.tbs-micrositio-estrellita-camino iframe[src*="recaptcha"] {
    transform: scale(.86) !important;
    transform-origin: center !important;
    opacity: .88 !important;
    filter: saturate(.90) !important;
}

@media (max-width: 767px) {
    body:has(.tbs-publico-estrellita-camino)::before,
    body:has(.tbs-micrositio-estrellita-camino)::before,
    body.tbs-ec-public-ready::before {
        background-image:
            linear-gradient(180deg, rgba(255,250,244,.50) 0%, rgba(255,255,255,.40) 34%, rgba(255,248,252,.52) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') !important;
        background-position: center top, center top !important;
        background-size: cover, cover !important;
        background-repeat: no-repeat, no-repeat !important;
    }

    .tbs-publico-estrellita-camino .tbs-ms-rsvp-card,
    .tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card,
    .tbs-publico-estrellita-camino .tbs-ms-guestbook-card,
    .tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card {
        width: min(100vw - 24px, 430px) !important;
        max-width: 430px !important;
        padding: 24px 16px !important;
        border-radius: 30px !important;
        backdrop-filter: blur(10px) saturate(1.02) !important;
        -webkit-backdrop-filter: blur(10px) saturate(1.02) !important;
    }

    .tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-box,
    .tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-guestbook-box {
        padding: 24px 16px !important;
        border-radius: 24px !important;
    }

    .tbs-publico-estrellita-camino .tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .tbs-publico-estrellita-camino .tbs-ms-rsvp-card select,
    .tbs-publico-estrellita-camino .tbs-ms-rsvp-card textarea,
    .tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card select,
    .tbs-micrositio-estrellita-camino .tbs-ms-rsvp-card textarea,
    .tbs-publico-estrellita-camino .tbs-ms-guestbook-card input[type="text"],
    .tbs-publico-estrellita-camino .tbs-ms-guestbook-card input[type="email"],
    .tbs-publico-estrellita-camino .tbs-ms-guestbook-card textarea,
    .tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card input[type="text"],
    .tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card input[type="email"],
    .tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card textarea {
        min-height: 50px !important;
        padding: 13px 15px !important;
        border-radius: 18px !important;
        font-size: 14px !important;
    }

    .tbs-publico-estrellita-camino .tbs-ms-guestbook-card textarea,
    .tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card textarea {
        min-height: 120px !important;
    }

    .tbs-publico-estrellita-camino .tbs-ms-btn,
    .tbs-publico-estrellita-camino .tbs-ms .elementor-button,
    .tbs-publico-estrellita-camino .tbs-ms .ff-btn-submit,
    .tbs-publico-estrellita-camino .tbs-ms button[type="submit"],
    .tbs-publico-estrellita-camino .tbs-ms input[type="submit"],
    .tbs-publico-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button,
    .tbs-micrositio-estrellita-camino .tbs-ms-btn,
    .tbs-micrositio-estrellita-camino .tbs-ms .elementor-button,
    .tbs-micrositio-estrellita-camino .tbs-ms .ff-btn-submit,
    .tbs-micrositio-estrellita-camino .tbs-ms button[type="submit"],
    .tbs-micrositio-estrellita-camino .tbs-ms input[type="submit"],
    .tbs-micrositio-estrellita-camino .tbs-ms-guestbook-card .tbs-form-guestbook button {
        width: 100% !important;
        min-height: 52px !important;
        padding: 14px 18px !important;
        font-size: 13.5px !important;
    }

    .tbs-publico-estrellita-camino .g-recaptcha,
    .tbs-publico-estrellita-camino iframe[src*="recaptcha"],
    .tbs-micrositio-estrellita-camino .g-recaptcha,
    .tbs-micrositio-estrellita-camino iframe[src*="recaptcha"] {
        transform: scale(.78) !important;
        transform-origin: center left !important;
    }
}

/* =========================================================
   ESTRELLITA CAMINO V4 - ELIMINAR CAPA DE FONDO CON SCROLL
   Objetivo:
   - Mantener una sola imagen de fondo fija en pantalla.
   - Quitar cualquier capa decorativa del contenedor que se mueve al hacer scroll.
   - No afectar otros diseños.
========================================================= */

/* La única capa de fondo permitida: fija en el body */
html:has(.tbs-publico-estrellita-camino),
html:has(.tbs-micrositio-estrellita-camino),
body:has(.tbs-publico-estrellita-camino),
body:has(.tbs-micrositio-estrellita-camino),
html.tbs-ec-public-ready,
body.tbs-ec-public-ready {
    background: #fffaf4 !important;
    background-image: none !important;
    background-attachment: initial !important;
    overflow-x: hidden !important;
}

body:has(.tbs-publico-estrellita-camino)::before,
body:has(.tbs-micrositio-estrellita-camino)::before,
body.tbs-ec-public-ready::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    display: block !important;
    opacity: 1 !important;
    background-color: #fffaf4 !important;
    background-image:
        linear-gradient(180deg, rgba(255,250,244,.42) 0%, rgba(255,255,255,.36) 36%, rgba(255,248,252,.48) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top, center top !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
    background-attachment: fixed, fixed !important;
    transform: none !important;
    will-change: auto !important;
}

body:has(.tbs-publico-estrellita-camino)::after,
body:has(.tbs-micrositio-estrellita-camino)::after,
body.tbs-ec-public-ready::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

/* Apaga cualquier fondo de imagen heredado del tema, Elementor o wrappers */
body:has(.tbs-publico-estrellita-camino) #wrapper,
body:has(.tbs-publico-estrellita-camino) #page,
body:has(.tbs-publico-estrellita-camino) .page-wrapper,
body:has(.tbs-publico-estrellita-camino) .main-content,
body:has(.tbs-publico-estrellita-camino) .main-content-area,
body:has(.tbs-publico-estrellita-camino) .site,
body:has(.tbs-publico-estrellita-camino) .site-content,
body:has(.tbs-publico-estrellita-camino) .content-area,
body:has(.tbs-publico-estrellita-camino) .page-content,
body:has(.tbs-publico-estrellita-camino) .entry-content,
body:has(.tbs-publico-estrellita-camino) .elementor,
body:has(.tbs-publico-estrellita-camino) .elementor-section,
body:has(.tbs-publico-estrellita-camino) .elementor-section-wrap,
body:has(.tbs-publico-estrellita-camino) .elementor-container,
body:has(.tbs-publico-estrellita-camino) .elementor-widget-container,
body:has(.tbs-publico-estrellita-camino) .elementor-shortcode,
body:has(.tbs-micrositio-estrellita-camino) #wrapper,
body:has(.tbs-micrositio-estrellita-camino) #page,
body:has(.tbs-micrositio-estrellita-camino) .page-wrapper,
body:has(.tbs-micrositio-estrellita-camino) .main-content,
body:has(.tbs-micrositio-estrellita-camino) .main-content-area,
body:has(.tbs-micrositio-estrellita-camino) .site,
body:has(.tbs-micrositio-estrellita-camino) .site-content,
body:has(.tbs-micrositio-estrellita-camino) .content-area,
body:has(.tbs-micrositio-estrellita-camino) .page-content,
body:has(.tbs-micrositio-estrellita-camino) .entry-content,
body:has(.tbs-micrositio-estrellita-camino) .elementor,
body:has(.tbs-micrositio-estrellita-camino) .elementor-section,
body:has(.tbs-micrositio-estrellita-camino) .elementor-section-wrap,
body:has(.tbs-micrositio-estrellita-camino) .elementor-container,
body:has(.tbs-micrositio-estrellita-camino) .elementor-widget-container,
body:has(.tbs-micrositio-estrellita-camino) .elementor-shortcode,
body.tbs-ec-public-ready #wrapper,
body.tbs-ec-public-ready #page,
body.tbs-ec-public-ready .page-wrapper,
body.tbs-ec-public-ready .main-content,
body.tbs-ec-public-ready .main-content-area,
body.tbs-ec-public-ready .site,
body.tbs-ec-public-ready .site-content,
body.tbs-ec-public-ready .content-area,
body.tbs-ec-public-ready .page-content,
body.tbs-ec-public-ready .entry-content,
body.tbs-ec-public-ready .elementor,
body.tbs-ec-public-ready .elementor-section,
body.tbs-ec-public-ready .elementor-section-wrap,
body.tbs-ec-public-ready .elementor-container,
body.tbs-ec-public-ready .elementor-widget-container,
body.tbs-ec-public-ready .elementor-shortcode {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    background-attachment: initial !important;
}

/* Apaga la capa de imagen que venía dentro del cuerpo del micrositio y se movía con el scroll */
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-micrositio-publico,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-publico-estrellita-camino,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-micrositio-estrellita-camino,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-micrositio-diseno-estrellita_camino,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
body:has(.tbs-publico-estrellita-camino) .tbs-micrositio-publico,
body:has(.tbs-publico-estrellita-camino) .tbs-micrositio-publico.tbs-publico-estrellita-camino,
body:has(.tbs-publico-estrellita-camino) .tbs-micrositio-publico.tbs-micrositio-estrellita-camino,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-micrositio-publico,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-publico-estrellita-camino,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-micrositio-estrellita-camino,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-micrositio-diseno-estrellita_camino,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
body:has(.tbs-micrositio-estrellita-camino) .tbs-micrositio-publico,
body:has(.tbs-micrositio-estrellita-camino) .tbs-micrositio-publico.tbs-publico-estrellita-camino,
body:has(.tbs-micrositio-estrellita-camino) .tbs-micrositio-publico.tbs-micrositio-estrellita-camino,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-publico,
body.tbs-ec-public-ready .tbs-ms.tbs-publico-estrellita-camino,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-estrellita-camino,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-diseno-estrellita_camino,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
body.tbs-ec-public-ready .tbs-micrositio-publico {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    background-attachment: initial !important;
}

body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-micrositio-publico::before,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-micrositio-publico::after,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-publico-estrellita-camino::before,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-publico-estrellita-camino::after,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-micrositio-estrellita-camino::before,
body:has(.tbs-publico-estrellita-camino) .tbs-ms.tbs-micrositio-estrellita-camino::after,
body:has(.tbs-publico-estrellita-camino) .tbs-micrositio-publico::before,
body:has(.tbs-publico-estrellita-camino) .tbs-micrositio-publico::after,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-micrositio-publico::before,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-micrositio-publico::after,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-publico-estrellita-camino::before,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-publico-estrellita-camino::after,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-micrositio-estrellita-camino::before,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms.tbs-micrositio-estrellita-camino::after,
body:has(.tbs-micrositio-estrellita-camino) .tbs-micrositio-publico::before,
body:has(.tbs-micrositio-estrellita-camino) .tbs-micrositio-publico::after,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-publico::before,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-publico::after,
body.tbs-ec-public-ready .tbs-ms.tbs-publico-estrellita-camino::before,
body.tbs-ec-public-ready .tbs-ms.tbs-publico-estrellita-camino::after,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-estrellita-camino::before,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-estrellita-camino::after,
body.tbs-ec-public-ready .tbs-micrositio-publico::before,
body.tbs-ec-public-ready .tbs-micrositio-publico::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: none !important;
    background-image: none !important;
    animation: none !important;
}

/* Mantiene únicamente las imágenes intencionales del hero y del cierre; no forman parte del fondo del cuerpo. */
body:has(.tbs-publico-estrellita-camino) .tbs-ms-hero,
body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-hero,
body.tbs-ec-public-ready .tbs-ms-hero {
    background-image:
        linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,250,253,.18) 44%, rgba(255,249,252,.72) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/hero-Estrellita-Camino.jpg') !important;
    background-position: center center, center center !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
    background-attachment: scroll, scroll !important;
}

@media (max-width: 767px) {
    body:has(.tbs-publico-estrellita-camino)::before,
    body:has(.tbs-micrositio-estrellita-camino)::before,
    body.tbs-ec-public-ready::before {
        background-image:
            linear-gradient(180deg, rgba(255,250,244,.50) 0%, rgba(255,255,255,.42) 34%, rgba(255,248,252,.52) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') !important;
        background-position: center top, center top !important;
        background-size: cover, cover !important;
        background-repeat: no-repeat, no-repeat !important;
        background-attachment: fixed, fixed !important;
    }
}

/* =========================================================
   ESTRELLITA CAMINO V5 - DEGRADADO ENTRE FONDOS REPETIDOS
   Objetivo:
   - Si alguna capa del tema/shortcode continúa pintando la imagen del cuerpo,
     suavizar la unión entre repeticiones con degradados amplios.
   - Mantener el ajuste aislado a Estrellita Camino.
   - No tocar otros diseños.
========================================================= */

html:has([class*="estrellita-camino"]),
html:has([class*="estrellita_camino"]),
body:has([class*="estrellita-camino"]),
body:has([class*="estrellita_camino"]),
body[class*="estrellita-camino"],
body[class*="estrellita_camino"],
html.tbs-ec-public-ready,
body.tbs-ec-public-ready {
    background-color: #fff8ee !important;
    background-image: none !important;
    overflow-x: hidden !important;
}

/* Fondo único fijo y suave: permanece detrás de todo el micrositio. */
body:has([class*="estrellita-camino"])::before,
body:has([class*="estrellita_camino"])::before,
body[class*="estrellita-camino"]::before,
body[class*="estrellita_camino"]::before,
body.tbs-ec-public-ready::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -3 !important;
    display: block !important;
    pointer-events: none !important;
    opacity: 1 !important;
    background-color: #fff8ee !important;
    background-image:
        linear-gradient(180deg,
            rgba(255, 248, 238, .72) 0%,
            rgba(255, 253, 248, .48) 24%,
            rgba(255, 248, 238, .54) 52%,
            rgba(255, 253, 248, .70) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top, center center !important;
    background-size: cover, cover !important;
    background-repeat: no-repeat, no-repeat !important;
    background-attachment: fixed, fixed !important;
    transform: translateZ(0) !important;
}

/* Velo fijo sin imagen para fundir cualquier repetición residual. */
body:has([class*="estrellita-camino"])::after,
body:has([class*="estrellita_camino"])::after,
body[class*="estrellita-camino"]::after,
body[class*="estrellita_camino"]::after,
body.tbs-ec-public-ready::after {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -2 !important;
    display: block !important;
    pointer-events: none !important;
    opacity: 1 !important;
    background:
        radial-gradient(circle at 50% 8%, rgba(255,255,255,.46), transparent 34%),
        radial-gradient(circle at 12% 42%, rgba(255,248,238,.42), transparent 30%),
        radial-gradient(circle at 88% 62%, rgba(255,244,230,.46), transparent 34%),
        linear-gradient(180deg,
            rgba(255,255,255,.30) 0%,
            rgba(255,248,238,.18) 34%,
            rgba(255,255,255,.30) 66%,
            rgba(255,248,238,.38) 100%) !important;
}

/* Apaga fondos de imagen en wrappers y contenedor del shortcode; deja tarjetas/ventanas intactas. */
body:has([class*="estrellita-camino"]) #wrapper,
body:has([class*="estrellita-camino"]) #page,
body:has([class*="estrellita-camino"]) .page-wrapper,
body:has([class*="estrellita-camino"]) .site,
body:has([class*="estrellita-camino"]) .site-content,
body:has([class*="estrellita-camino"]) .content-area,
body:has([class*="estrellita-camino"]) .main-content,
body:has([class*="estrellita-camino"]) .main-content-area,
body:has([class*="estrellita-camino"]) .page-content,
body:has([class*="estrellita-camino"]) .entry-content,
body:has([class*="estrellita-camino"]) .elementor,
body:has([class*="estrellita-camino"]) .elementor-section-wrap,
body:has([class*="estrellita-camino"]) .elementor-section,
body:has([class*="estrellita-camino"]) .elementor-container,
body:has([class*="estrellita-camino"]) .elementor-widget-container,
body:has([class*="estrellita-camino"]) .elementor-shortcode,
body:has([class*="estrellita_camino"]) #wrapper,
body:has([class*="estrellita_camino"]) #page,
body:has([class*="estrellita_camino"]) .page-wrapper,
body:has([class*="estrellita_camino"]) .site,
body:has([class*="estrellita_camino"]) .site-content,
body:has([class*="estrellita_camino"]) .content-area,
body:has([class*="estrellita_camino"]) .main-content,
body:has([class*="estrellita_camino"]) .main-content-area,
body:has([class*="estrellita_camino"]) .page-content,
body:has([class*="estrellita_camino"]) .entry-content,
body:has([class*="estrellita_camino"]) .elementor,
body:has([class*="estrellita_camino"]) .elementor-section-wrap,
body:has([class*="estrellita_camino"]) .elementor-section,
body:has([class*="estrellita_camino"]) .elementor-container,
body:has([class*="estrellita_camino"]) .elementor-widget-container,
body:has([class*="estrellita_camino"]) .elementor-shortcode,
body[class*="estrellita-camino"] #wrapper,
body[class*="estrellita-camino"] #page,
body[class*="estrellita-camino"] .page-wrapper,
body[class*="estrellita-camino"] .site,
body[class*="estrellita-camino"] .site-content,
body[class*="estrellita-camino"] .content-area,
body[class*="estrellita-camino"] .main-content,
body[class*="estrellita-camino"] .main-content-area,
body[class*="estrellita-camino"] .page-content,
body[class*="estrellita-camino"] .entry-content,
body[class*="estrellita-camino"] .elementor,
body[class*="estrellita-camino"] .elementor-section-wrap,
body[class*="estrellita-camino"] .elementor-section,
body[class*="estrellita-camino"] .elementor-container,
body[class*="estrellita-camino"] .elementor-widget-container,
body[class*="estrellita-camino"] .elementor-shortcode,
body.tbs-ec-public-ready #wrapper,
body.tbs-ec-public-ready #page,
body.tbs-ec-public-ready .page-wrapper,
body.tbs-ec-public-ready .site,
body.tbs-ec-public-ready .site-content,
body.tbs-ec-public-ready .content-area,
body.tbs-ec-public-ready .main-content,
body.tbs-ec-public-ready .main-content-area,
body.tbs-ec-public-ready .page-content,
body.tbs-ec-public-ready .entry-content,
body.tbs-ec-public-ready .elementor,
body.tbs-ec-public-ready .elementor-section-wrap,
body.tbs-ec-public-ready .elementor-section,
body.tbs-ec-public-ready .elementor-container,
body.tbs-ec-public-ready .elementor-widget-container,
body.tbs-ec-public-ready .elementor-shortcode {
    background-color: transparent !important;
    background-image: none !important;
    background-attachment: initial !important;
}

body:has([class*="estrellita-camino"]) .tbs-ms.tbs-micrositio-publico,
body:has([class*="estrellita-camino"]) .tbs-micrositio-publico,
body:has([class*="estrellita_camino"]) .tbs-ms.tbs-micrositio-publico,
body:has([class*="estrellita_camino"]) .tbs-micrositio-publico,
body[class*="estrellita-camino"] .tbs-ms.tbs-micrositio-publico,
body[class*="estrellita-camino"] .tbs-micrositio-publico,
body.tbs-ec-public-ready .tbs-ms.tbs-micrositio-publico,
body.tbs-ec-public-ready .tbs-micrositio-publico {
    background-color: transparent !important;
    background-image: none !important;
    background-attachment: initial !important;
}

/* Si la imagen se repite por secciones, cada bloque recibe degradados arriba/abajo para esconder la unión. */
body:has([class*="estrellita-camino"]) .tbs-ms-section,
body:has([class*="estrellita-camino"]) .tbs-ms-countdown-section,
body:has([class*="estrellita-camino"]) .tbs-ms-closing,
body:has([class*="estrellita_camino"]) .tbs-ms-section,
body:has([class*="estrellita_camino"]) .tbs-ms-countdown-section,
body:has([class*="estrellita_camino"]) .tbs-ms-closing,
body[class*="estrellita-camino"] .tbs-ms-section,
body[class*="estrellita-camino"] .tbs-ms-countdown-section,
body[class*="estrellita-camino"] .tbs-ms-closing,
body.tbs-ec-public-ready .tbs-ms-section,
body.tbs-ec-public-ready .tbs-ms-countdown-section,
body.tbs-ec-public-ready .tbs-ms-closing {
    position: relative !important;
    isolation: isolate !important;
    background:
        linear-gradient(180deg,
            rgba(255,248,238,.92) 0%,
            rgba(255,248,238,.58) 10%,
            rgba(255,248,238,.16) 25%,
            rgba(255,248,238,.10) 74%,
            rgba(255,248,238,.62) 90%,
            rgba(255,248,238,.94) 100%) !important;
}

body:has([class*="estrellita-camino"]) .tbs-ms-section::before,
body:has([class*="estrellita-camino"]) .tbs-ms-countdown-section::before,
body:has([class*="estrellita-camino"]) .tbs-ms-closing::before,
body:has([class*="estrellita_camino"]) .tbs-ms-section::before,
body:has([class*="estrellita_camino"]) .tbs-ms-countdown-section::before,
body:has([class*="estrellita_camino"]) .tbs-ms-closing::before,
body[class*="estrellita-camino"] .tbs-ms-section::before,
body[class*="estrellita-camino"] .tbs-ms-countdown-section::before,
body[class*="estrellita-camino"] .tbs-ms-closing::before,
body.tbs-ec-public-ready .tbs-ms-section::before,
body.tbs-ec-public-ready .tbs-ms-countdown-section::before,
body.tbs-ec-public-ready .tbs-ms-closing::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: -96px !important;
    width: 100vw !important;
    height: 192px !important;
    transform: translateX(-50%) !important;
    z-index: -1 !important;
    display: block !important;
    pointer-events: none !important;
    opacity: 1 !important;
    background:
        linear-gradient(180deg,
            rgba(255,248,238,0) 0%,
            rgba(255,248,238,.66) 36%,
            rgba(255,248,238,.90) 54%,
            rgba(255,248,238,.18) 100%) !important;
}

body:has([class*="estrellita-camino"]) .tbs-ms-section::after,
body:has([class*="estrellita-camino"]) .tbs-ms-countdown-section::after,
body:has([class*="estrellita-camino"]) .tbs-ms-closing::after,
body:has([class*="estrellita_camino"]) .tbs-ms-section::after,
body:has([class*="estrellita_camino"]) .tbs-ms-countdown-section::after,
body:has([class*="estrellita_camino"]) .tbs-ms-closing::after,
body[class*="estrellita-camino"] .tbs-ms-section::after,
body[class*="estrellita-camino"] .tbs-ms-countdown-section::after,
body[class*="estrellita-camino"] .tbs-ms-closing::after,
body.tbs-ec-public-ready .tbs-ms-section::after,
body.tbs-ec-public-ready .tbs-ms-countdown-section::after,
body.tbs-ec-public-ready .tbs-ms-closing::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -96px !important;
    width: 100vw !important;
    height: 192px !important;
    transform: translateX(-50%) !important;
    z-index: -1 !important;
    display: block !important;
    pointer-events: none !important;
    opacity: 1 !important;
    background:
        linear-gradient(180deg,
            rgba(255,248,238,.12) 0%,
            rgba(255,248,238,.84) 48%,
            rgba(255,248,238,0) 100%) !important;
}

/* Transición especial después del hero para fundir la portada con el cuerpo. */
body:has([class*="estrellita-camino"]) .tbs-ms-hero,
body:has([class*="estrellita_camino"]) .tbs-ms-hero,
body[class*="estrellita-camino"] .tbs-ms-hero,
body.tbs-ec-public-ready .tbs-ms-hero {
    box-shadow: 0 34px 90px rgba(139, 96, 83, .10) !important;
}

body:has([class*="estrellita-camino"]) .tbs-ms-hero::after,
body:has([class*="estrellita_camino"]) .tbs-ms-hero::after,
body[class*="estrellita-camino"] .tbs-ms-hero::after,
body.tbs-ec-public-ready .tbs-ms-hero::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: clamp(180px, 18vw, 320px) !important;
    z-index: 2 !important;
    display: block !important;
    pointer-events: none !important;
    background:
        linear-gradient(180deg,
            rgba(255,255,255,0) 0%,
            rgba(255,248,238,.34) 34%,
            rgba(255,248,238,.78) 72%,
            rgba(255,248,238,.96) 100%) !important;
}

/* Las ventanas principales quedan sobre el degradado, no debajo. */
body:has([class*="estrellita-camino"]) .tbs-ms-section > *,
body:has([class*="estrellita-camino"]) .tbs-ms-countdown-section > *,
body:has([class*="estrellita-camino"]) .tbs-ms-closing > *,
body:has([class*="estrellita_camino"]) .tbs-ms-section > *,
body:has([class*="estrellita_camino"]) .tbs-ms-countdown-section > *,
body:has([class*="estrellita_camino"]) .tbs-ms-closing > *,
body[class*="estrellita-camino"] .tbs-ms-section > *,
body[class*="estrellita-camino"] .tbs-ms-countdown-section > *,
body[class*="estrellita-camino"] .tbs-ms-closing > *,
body.tbs-ec-public-ready .tbs-ms-section > *,
body.tbs-ec-public-ready .tbs-ms-countdown-section > *,
body.tbs-ec-public-ready .tbs-ms-closing > * {
    position: relative !important;
    z-index: 2 !important;
}

@media (max-width: 767px) {
    body:has([class*="estrellita-camino"])::before,
    body:has([class*="estrellita_camino"])::before,
    body[class*="estrellita-camino"]::before,
    body[class*="estrellita_camino"]::before,
    body.tbs-ec-public-ready::before {
        background-image:
            linear-gradient(180deg,
                rgba(255,248,238,.76) 0%,
                rgba(255,253,248,.52) 26%,
                rgba(255,248,238,.58) 58%,
                rgba(255,253,248,.76) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') !important;
        background-position: center top, center center !important;
        background-size: cover, cover !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-section,
    body:has([class*="estrellita-camino"]) .tbs-ms-countdown-section,
    body:has([class*="estrellita-camino"]) .tbs-ms-closing,
    body:has([class*="estrellita_camino"]) .tbs-ms-section,
    body:has([class*="estrellita_camino"]) .tbs-ms-countdown-section,
    body:has([class*="estrellita_camino"]) .tbs-ms-closing,
    body[class*="estrellita-camino"] .tbs-ms-section,
    body[class*="estrellita-camino"] .tbs-ms-countdown-section,
    body[class*="estrellita-camino"] .tbs-ms-closing,
    body.tbs-ec-public-ready .tbs-ms-section,
    body.tbs-ec-public-ready .tbs-ms-countdown-section,
    body.tbs-ec-public-ready .tbs-ms-closing {
        background:
            linear-gradient(180deg,
                rgba(255,248,238,.95) 0%,
                rgba(255,248,238,.62) 12%,
                rgba(255,248,238,.18) 30%,
                rgba(255,248,238,.16) 72%,
                rgba(255,248,238,.74) 92%,
                rgba(255,248,238,.96) 100%) !important;
    }
}

/* =========================================================
   31) AJUSTE V6 - MÓVIL PREVIEW PRIMERO + TÍTULO ABAJO
   - Solo Estrellita Camino.
   - En móvil muestra preview-Estrellita-Camino.jpg primero.
   - Después aparece el título / contenido del Baby Shower.
   - Evita duplicar la imagen del hero/art y mantiene fondo fijo del cuerpo.
========================================================= */

@media (max-width: 767px) {
    body:has([class*="estrellita-camino"]) .tbs-ms-hero,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero,
    body[class*="estrellita-camino"] .tbs-ms-hero,
    body[class*="estrellita_camino"] .tbs-ms-hero,
    body.tbs-ec-public-ready .tbs-ms-hero,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        min-height: auto !important;
        margin: 0 0 0 calc(50% - 50vw) !important;
        padding: 14px 14px 34px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 18px !important;
        border-radius: 0 0 30px 30px !important;
        border: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero::before,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero::before,
    body[class*="estrellita-camino"] .tbs-ms-hero::before,
    body[class*="estrellita_camino"] .tbs-ms-hero::before,
    body.tbs-ec-public-ready .tbs-ms-hero::before,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero::before,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero::before,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero::before {
        content: "" !important;
        position: relative !important;
        inset: auto !important;
        z-index: 3 !important;
        order: 1 !important;
        display: block !important;
        width: min(100%, 430px) !important;
        aspect-ratio: 4 / 3 !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
        margin: 0 auto !important;
        border-radius: 30px !important;
        border: 1px solid rgba(255,255,255,.88) !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,248,238,.12) 44%, rgba(255,248,238,.30) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/preview-Estrellita-Camino.jpg') center center / cover no-repeat !important;
        box-shadow:
            0 24px 60px rgba(139, 96, 83, .16),
            inset 0 1px 0 rgba(255,255,255,.90) !important;
        pointer-events: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero::after,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero::after,
    body[class*="estrellita-camino"] .tbs-ms-hero::after,
    body[class*="estrellita_camino"] .tbs-ms-hero::after,
    body.tbs-ec-public-ready .tbs-ms-hero::after,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero::after,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero::after,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero::after {
        display: none !important;
        content: none !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero-copy,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero-copy,
    body[class*="estrellita-camino"] .tbs-ms-hero-copy,
    body[class*="estrellita_camino"] .tbs-ms-hero-copy,
    body.tbs-ec-public-ready .tbs-ms-hero-copy,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero-copy,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero-copy,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero-copy {
        order: 2 !important;
        position: relative !important;
        z-index: 4 !important;
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        padding: 24px 18px 22px !important;
        border-radius: 28px !important;
        border: 1px solid rgba(255,255,255,.82) !important;
        background:
            radial-gradient(circle at 50% 0%, rgba(255,255,255,.78), transparent 42%),
            linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,248,238,.62)) !important;
        box-shadow:
            0 18px 46px rgba(139, 96, 83, .12),
            inset 0 1px 0 rgba(255,255,255,.88) !important;
        backdrop-filter: blur(8px) saturate(1.04) !important;
        -webkit-backdrop-filter: blur(8px) saturate(1.04) !important;
        text-align: center !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero-art,
    body:has([class*="estrellita-camino"]) .tbs-ms-art-card,
    body:has([class*="estrellita-camino"]) .tbs-ms-art-preview,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero-art,
    body:has([class*="estrellita_camino"]) .tbs-ms-art-card,
    body:has([class*="estrellita_camino"]) .tbs-ms-art-preview,
    body[class*="estrellita-camino"] .tbs-ms-hero-art,
    body[class*="estrellita-camino"] .tbs-ms-art-card,
    body[class*="estrellita-camino"] .tbs-ms-art-preview,
    body[class*="estrellita_camino"] .tbs-ms-hero-art,
    body[class*="estrellita_camino"] .tbs-ms-art-card,
    body[class*="estrellita_camino"] .tbs-ms-art-preview,
    body.tbs-ec-public-ready .tbs-ms-hero-art,
    body.tbs-ec-public-ready .tbs-ms-art-card,
    body.tbs-ec-public-ready .tbs-ms-art-preview {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero h1,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero h1,
    body[class*="estrellita-camino"] .tbs-ms-hero h1,
    body[class*="estrellita_camino"] .tbs-ms-hero h1,
    body.tbs-ec-public-ready .tbs-ms-hero h1,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero h1,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero h1,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero h1 {
        margin: 0 auto 12px !important;
        color: #3f333a !important;
        font-size: clamp(42px, 12.8vw, 62px) !important;
        line-height: .92 !important;
        letter-spacing: -.052em !important;
        text-align: center !important;
        text-shadow: 0 2px 0 rgba(255,255,255,.72), 0 14px 34px rgba(79,55,69,.12) !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero h1 span,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero h1 span,
    body[class*="estrellita-camino"] .tbs-ms-hero h1 span,
    body[class*="estrellita_camino"] .tbs-ms-hero h1 span,
    body.tbs-ec-public-ready .tbs-ms-hero h1 span,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero h1 span,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero h1 span,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero h1 span {
        display: block !important;
        margin-top: 4px !important;
        color: var(--tbs-ms-pink, #d4548f) !important;
        font-size: clamp(54px, 16.5vw, 82px) !important;
        line-height: .76 !important;
        letter-spacing: -.01em !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero-text,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero-text,
    body[class*="estrellita-camino"] .tbs-ms-hero-text,
    body[class*="estrellita_camino"] .tbs-ms-hero-text,
    body.tbs-ec-public-ready .tbs-ms-hero-text,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero-text,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero-text,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero-text {
        max-width: 350px !important;
        margin: 0 auto 18px !important;
        color: rgba(61, 51, 57, .82) !important;
        font-size: 15.5px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
        text-align: center !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-meta,
    body:has([class*="estrellita_camino"]) .tbs-ms-meta,
    body[class*="estrellita-camino"] .tbs-ms-meta,
    body[class*="estrellita_camino"] .tbs-ms-meta,
    body.tbs-ec-public-ready .tbs-ms-meta,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-meta,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-meta,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-meta {
        width: 100% !important;
        max-width: 380px !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin: 18px auto 18px !important;
    }
}

@media (max-width: 420px) {
    body:has([class*="estrellita-camino"]) .tbs-ms-hero,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero,
    body[class*="estrellita-camino"] .tbs-ms-hero,
    body[class*="estrellita_camino"] .tbs-ms-hero,
    body.tbs-ec-public-ready .tbs-ms-hero {
        padding-left: 10px !important;
        padding-right: 10px !important;
        gap: 14px !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero::before,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero::before,
    body[class*="estrellita-camino"] .tbs-ms-hero::before,
    body[class*="estrellita_camino"] .tbs-ms-hero::before,
    body.tbs-ec-public-ready .tbs-ms-hero::before {
        width: min(100%, 390px) !important;
        border-radius: 24px !important;
    }

    body:has([class*="estrellita-camino"]) .tbs-ms-hero-copy,
    body:has([class*="estrellita_camino"]) .tbs-ms-hero-copy,
    body[class*="estrellita-camino"] .tbs-ms-hero-copy,
    body[class*="estrellita_camino"] .tbs-ms-hero-copy,
    body.tbs-ec-public-ready .tbs-ms-hero-copy {
        width: min(100%, 390px) !important;
        padding: 20px 15px !important;
        border-radius: 24px !important;
    }
}


/* =========================================================
   ESTRELLITA CAMINO V8 - FONDO ÚNICO FIJO SIN CAPA SCROLL
   - Quita la capa decorativa interna que se desplaza con el scroll.
   - Deja solo el fondo fijo del body.
   - No afecta otros diseños.
========================================================= */
html:has(.tbs-publico-estrellita-camino),
html:has(.tbs-micrositio-estrellita-camino),
body:has(.tbs-publico-estrellita-camino),
body:has(.tbs-micrositio-estrellita-camino),
body.tbs-public-microsite-design-estrellita-camino,
body.tbs-public-ms-design-estrellita-camino,
body.tbs-micrositio-diseno-estrellita-camino,
body.tbs-micrositio-publico-diseno-estrellita-camino {
    background: #fff8f1 !important;
    background-image: none !important;
    background-attachment: scroll !important;
    overflow-x: hidden !important;
}

body:has(.tbs-publico-estrellita-camino)::before,
body:has(.tbs-micrositio-estrellita-camino)::before,
body.tbs-public-microsite-design-estrellita-camino::before,
body.tbs-public-ms-design-estrellita-camino::before,
body.tbs-micrositio-diseno-estrellita-camino::before,
body.tbs-micrositio-publico-diseno-estrellita-camino::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -2 !important;
    pointer-events: none !important;
    background:
        linear-gradient(180deg, rgba(255,248,241,.42), rgba(255,255,255,.68)),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') center top / cover no-repeat !important;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
}

.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    background: transparent !important;
    background-image: none !important;
    background-attachment: scroll !important;
    overflow: visible !important;
}

.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-publico-estrellita-camino::after,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::after,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::before,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::after,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino::before,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
}

body:has(.tbs-publico-estrellita-camino) .site,
body:has(.tbs-publico-estrellita-camino) #page,
body:has(.tbs-publico-estrellita-camino) #content,
body:has(.tbs-publico-estrellita-camino) .site-content,
body:has(.tbs-publico-estrellita-camino) .content-area,
body:has(.tbs-publico-estrellita-camino) main,
body:has(.tbs-publico-estrellita-camino) .entry-content,
body:has(.tbs-publico-estrellita-camino) .page-content,
body:has(.tbs-publico-estrellita-camino) .elementor,
body:has(.tbs-publico-estrellita-camino) .elementor-section,
body:has(.tbs-publico-estrellita-camino) .elementor-container,
body:has(.tbs-publico-estrellita-camino) .elementor-widget-container,
body:has(.tbs-publico-estrellita-camino) .elementor-shortcode {
    background: transparent !important;
    background-image: none !important;
}

.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-bg,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-bg-one,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-bg-two,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-floating,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-floating-one,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-floating-two,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-bg,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-floating {
    display: none !important;
}

@media (max-width: 767px) {
    body:has(.tbs-publico-estrellita-camino)::before,
    body:has(.tbs-micrositio-estrellita-camino)::before,
    body.tbs-public-microsite-design-estrellita-camino::before,
    body.tbs-public-ms-design-estrellita-camino::before,
    body.tbs-micrositio-diseno-estrellita-camino::before,
    body.tbs-micrositio-publico-diseno-estrellita-camino::before {
        background:
            linear-gradient(180deg, rgba(255,248,241,.40), rgba(255,255,255,.70)),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') center top / cover no-repeat !important;
    }

    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero {
        background-image:
            linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,248,241,.60)),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/preview-Estrellita-Camino.jpg') !important;
        background-size: cover, cover !important;
        background-position: center center, center center !important;
        background-repeat: no-repeat, no-repeat !important;
    }
}

/* =========================================================
   ESTRELLITA CAMINO V10 - MÓVIL SIN PREVIEW DUPLICADO
   - Quita únicamente la primera imagen generada por .tbs-ms-hero::before.
   - Conserva la tarjeta premium interna del título (.tbs-ms-hero-copy::before).
   - Mantiene aislado el ajuste para Estrellita Camino.
========================================================= */
@media (max-width: 767px) {
    body:has(.tbs-publico-estrellita-camino) .tbs-ms-hero::before,
    body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-hero::before,
    body[class*="estrellita-camino"] .tbs-ms-hero::before,
    body[class*="estrellita_camino"] .tbs-ms-hero::before,
    body.tbs-ec-public-ready .tbs-ms-hero::before,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero::before,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero::before,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero::before,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino .tbs-ms-hero::before {
        content: none !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: none !important;
        background-image: none !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body:has(.tbs-publico-estrellita-camino) .tbs-ms-hero,
    body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-hero,
    body[class*="estrellita-camino"] .tbs-ms-hero,
    body[class*="estrellita_camino"] .tbs-ms-hero,
    body.tbs-ec-public-ready .tbs-ms-hero,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino .tbs-ms-hero {
        background: transparent !important;
        background-image: none !important;
        gap: 0 !important;
        padding-top: 14px !important;
    }

    body:has(.tbs-publico-estrellita-camino) .tbs-ms-hero-copy,
    body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-hero-copy,
    body[class*="estrellita-camino"] .tbs-ms-hero-copy,
    body[class*="estrellita_camino"] .tbs-ms-hero-copy,
    body.tbs-ec-public-ready .tbs-ms-hero-copy,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero-copy,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero-copy,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero-copy,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino .tbs-ms-hero-copy {
        order: 1 !important;
        margin-top: 0 !important;
    }

    body:has(.tbs-publico-estrellita-camino) .tbs-ms-hero-copy::before,
    body:has(.tbs-micrositio-estrellita-camino) .tbs-ms-hero-copy::before,
    body[class*="estrellita-camino"] .tbs-ms-hero-copy::before,
    body[class*="estrellita_camino"] .tbs-ms-hero-copy::before,
    body.tbs-ec-public-ready .tbs-ms-hero-copy::before,
    .tbs-ms.tbs-publico-estrellita-camino .tbs-ms-hero-copy::before,
    .tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-hero-copy::before,
    .tbs-micrositio-publico.tbs-publico-estrellita-camino .tbs-ms-hero-copy::before,
    .tbs-micrositio-publico.tbs-micrositio-estrellita-camino .tbs-ms-hero-copy::before {
        display: block !important;
        content: "" !important;
        margin-top: 0 !important;
    }
}

/* =========================================================
   ESTRELLITA CAMINO V12 - SIN FONDO SCROLL EN CUERPO
   Base estable: V11.
   - Apaga definitivamente la imagen decorativa de fondo que se desplaza con el scroll.
   - Conserva los fondos propios del hero/tarjetas/preview y no afecta otros diseños.
========================================================= */
html:has(.tbs-publico-estrellita-camino),
html:has(.tbs-micrositio-estrellita-camino),
body:has(.tbs-publico-estrellita-camino),
body:has(.tbs-micrositio-estrellita-camino),
body.tbs-public-microsite-design-estrellita-camino,
body.tbs-public-ms-design-estrellita-camino,
body.tbs-micrositio-diseno-estrellita-camino,
body.tbs-micrositio-publico-diseno-estrellita-camino,
body.tbs-ec-public-ready {
    background-color: #fff8f1 !important;
    background-image:
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .86) 0%, rgba(255, 248, 241, .74) 42%, rgba(255, 247, 238, .96) 100%) !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
    background-attachment: initial !important;
    overflow-x: hidden !important;
}

/* Quita cualquier capa global creada con body/html para el fondo decorativo. */
body:has(.tbs-publico-estrellita-camino)::before,
body:has(.tbs-publico-estrellita-camino)::after,
body:has(.tbs-micrositio-estrellita-camino)::before,
body:has(.tbs-micrositio-estrellita-camino)::after,
body.tbs-public-microsite-design-estrellita-camino::before,
body.tbs-public-microsite-design-estrellita-camino::after,
body.tbs-public-ms-design-estrellita-camino::before,
body.tbs-public-ms-design-estrellita-camino::after,
body.tbs-micrositio-diseno-estrellita-camino::before,
body.tbs-micrositio-diseno-estrellita-camino::after,
body.tbs-micrositio-publico-diseno-estrellita-camino::before,
body.tbs-micrositio-publico-diseno-estrellita-camino::after,
body.tbs-ec-public-ready::before,
body.tbs-ec-public-ready::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Limpia wrappers del theme/Elementor que podían heredar o pintar la imagen repetida. */
body:has(.tbs-publico-estrellita-camino) #wrapper,
body:has(.tbs-publico-estrellita-camino) #page,
body:has(.tbs-publico-estrellita-camino) #content,
body:has(.tbs-publico-estrellita-camino) .site,
body:has(.tbs-publico-estrellita-camino) .site-content,
body:has(.tbs-publico-estrellita-camino) .content-area,
body:has(.tbs-publico-estrellita-camino) .page-wrapper,
body:has(.tbs-publico-estrellita-camino) .main-content,
body:has(.tbs-publico-estrellita-camino) .main-content-area,
body:has(.tbs-publico-estrellita-camino) .entry-content,
body:has(.tbs-publico-estrellita-camino) .page-content,
body:has(.tbs-publico-estrellita-camino) .elementor,
body:has(.tbs-publico-estrellita-camino) .elementor-section-wrap,
body:has(.tbs-publico-estrellita-camino) .elementor-section,
body:has(.tbs-publico-estrellita-camino) .elementor-container,
body:has(.tbs-publico-estrellita-camino) .elementor-column,
body:has(.tbs-publico-estrellita-camino) .elementor-widget-wrap,
body:has(.tbs-publico-estrellita-camino) .elementor-widget-container,
body:has(.tbs-publico-estrellita-camino) .elementor-shortcode,
body:has(.tbs-micrositio-estrellita-camino) #wrapper,
body:has(.tbs-micrositio-estrellita-camino) #page,
body:has(.tbs-micrositio-estrellita-camino) #content,
body:has(.tbs-micrositio-estrellita-camino) .site,
body:has(.tbs-micrositio-estrellita-camino) .site-content,
body:has(.tbs-micrositio-estrellita-camino) .content-area,
body:has(.tbs-micrositio-estrellita-camino) .page-wrapper,
body:has(.tbs-micrositio-estrellita-camino) .main-content,
body:has(.tbs-micrositio-estrellita-camino) .main-content-area,
body:has(.tbs-micrositio-estrellita-camino) .entry-content,
body:has(.tbs-micrositio-estrellita-camino) .page-content,
body:has(.tbs-micrositio-estrellita-camino) .elementor,
body:has(.tbs-micrositio-estrellita-camino) .elementor-section-wrap,
body:has(.tbs-micrositio-estrellita-camino) .elementor-section,
body:has(.tbs-micrositio-estrellita-camino) .elementor-container,
body:has(.tbs-micrositio-estrellita-camino) .elementor-column,
body:has(.tbs-micrositio-estrellita-camino) .elementor-widget-wrap,
body:has(.tbs-micrositio-estrellita-camino) .elementor-widget-container,
body:has(.tbs-micrositio-estrellita-camino) .elementor-shortcode,
body.tbs-ec-public-ready #wrapper,
body.tbs-ec-public-ready #page,
body.tbs-ec-public-ready #content,
body.tbs-ec-public-ready .site,
body.tbs-ec-public-ready .site-content,
body.tbs-ec-public-ready .content-area,
body.tbs-ec-public-ready .page-wrapper,
body.tbs-ec-public-ready .main-content,
body.tbs-ec-public-ready .main-content-area,
body.tbs-ec-public-ready .entry-content,
body.tbs-ec-public-ready .page-content,
body.tbs-ec-public-ready .elementor,
body.tbs-ec-public-ready .elementor-section-wrap,
body.tbs-ec-public-ready .elementor-section,
body.tbs-ec-public-ready .elementor-container,
body.tbs-ec-public-ready .elementor-column,
body.tbs-ec-public-ready .elementor-widget-wrap,
body.tbs-ec-public-ready .elementor-widget-container,
body.tbs-ec-public-ready .elementor-shortcode {
    background: transparent !important;
    background-image: none !important;
    background-attachment: initial !important;
}

/* Root del micrositio: sin imagen de cuerpo ni pseudo-capas repetidas. */
.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    background-color: transparent !important;
    background-image: none !important;
    background-attachment: initial !important;
}

.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-publico-estrellita-camino::after,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::after,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::before,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::after,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino::before,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Apaga pseudo-fondos de secciones generales; no toca cards ni sus imágenes internas. */
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-section::before,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-section::after,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-countdown-section::before,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-countdown-section::after,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-bg,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-bg-one,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-bg-two,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-floating,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-floating-one,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-floating-two,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-section::before,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-section::after,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-countdown-section::before,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-countdown-section::after,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-bg,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-floating {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
}

@media (max-width: 767px) {
    html:has(.tbs-publico-estrellita-camino),
    html:has(.tbs-micrositio-estrellita-camino),
    body:has(.tbs-publico-estrellita-camino),
    body:has(.tbs-micrositio-estrellita-camino),
    body.tbs-public-microsite-design-estrellita-camino,
    body.tbs-public-ms-design-estrellita-camino,
    body.tbs-micrositio-diseno-estrellita-camino,
    body.tbs-micrositio-publico-diseno-estrellita-camino,
    body.tbs-ec-public-ready {
        background-color: #fff8f1 !important;
        background-image: linear-gradient(180deg, #fffaf5 0%, #fff8f1 46%, #fffdf8 100%) !important;
        background-attachment: initial !important;
    }
}


/* =========================================================
   33) ESTRELLITA CAMINO V13 - FONDO FIJO VISIBLE EN CUERPO
   - Fuerza decor-Estrellita-Camino-desktop.png como única capa visual fija.
   - No usa fondos en secciones ni wrappers para evitar desplazamiento con scroll.
   - Aislado solo al diseño Estrellita Camino.
========================================================= */

html:has(.tbs-publico-estrellita-camino),
html:has(.tbs-micrositio-estrellita-camino),
body:has(.tbs-publico-estrellita-camino),
body:has(.tbs-micrositio-estrellita-camino),
body.tbs-public-microsite-design-estrellita-camino,
body.tbs-public-ms-design-estrellita-camino,
body.tbs-micrositio-diseno-estrellita-camino,
body.tbs-micrositio-publico-diseno-estrellita-camino,
body.tbs-publico-estrellita-camino,
body.tbs-micrositio-estrellita-camino,
body.tbs-ec-public-ready {
    min-height: 100% !important;
    background-color: #fff8f1 !important;
    background-image:
        linear-gradient(180deg, rgba(255,250,244,.72) 0%, rgba(255,248,241,.50) 44%, rgba(255,253,248,.70) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
}

body:has(.tbs-publico-estrellita-camino)::before,
body:has(.tbs-micrositio-estrellita-camino)::before,
body.tbs-public-microsite-design-estrellita-camino::before,
body.tbs-public-ms-design-estrellita-camino::before,
body.tbs-micrositio-diseno-estrellita-camino::before,
body.tbs-micrositio-publico-diseno-estrellita-camino::before,
body.tbs-publico-estrellita-camino::before,
body.tbs-micrositio-estrellita-camino::before,
body.tbs-ec-public-ready::before {
    content: "" !important;
    display: block !important;
    visibility: visible !important;
    opacity: .54 !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background-image:
        linear-gradient(180deg, rgba(255,250,244,.34) 0%, rgba(255,255,255,.18) 34%, rgba(255,248,241,.38) 100%),
        url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino-desktop.png') !important;
    background-position: center top !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    transform: translateZ(0) !important;
    will-change: auto !important;
}

body:has(.tbs-publico-estrellita-camino)::after,
body:has(.tbs-micrositio-estrellita-camino)::after,
body.tbs-public-microsite-design-estrellita-camino::after,
body.tbs-public-ms-design-estrellita-camino::after,
body.tbs-micrositio-diseno-estrellita-camino::after,
body.tbs-micrositio-publico-diseno-estrellita-camino::after,
body.tbs-publico-estrellita-camino::after,
body.tbs-micrositio-estrellita-camino::after,
body.tbs-ec-public-ready::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

body:has(.tbs-publico-estrellita-camino) #wrapper,
body:has(.tbs-publico-estrellita-camino) #page,
body:has(.tbs-publico-estrellita-camino) #content,
body:has(.tbs-publico-estrellita-camino) .site,
body:has(.tbs-publico-estrellita-camino) .site-content,
body:has(.tbs-publico-estrellita-camino) .content-area,
body:has(.tbs-publico-estrellita-camino) .page-wrapper,
body:has(.tbs-publico-estrellita-camino) .main-content,
body:has(.tbs-publico-estrellita-camino) .main-content-area,
body:has(.tbs-publico-estrellita-camino) .entry-content,
body:has(.tbs-publico-estrellita-camino) .page-content,
body:has(.tbs-publico-estrellita-camino) .elementor,
body:has(.tbs-publico-estrellita-camino) .elementor-section-wrap,
body:has(.tbs-publico-estrellita-camino) .elementor-section,
body:has(.tbs-publico-estrellita-camino) .elementor-container,
body:has(.tbs-publico-estrellita-camino) .elementor-column,
body:has(.tbs-publico-estrellita-camino) .elementor-widget-wrap,
body:has(.tbs-publico-estrellita-camino) .elementor-widget-container,
body:has(.tbs-publico-estrellita-camino) .elementor-shortcode,
body:has(.tbs-micrositio-estrellita-camino) #wrapper,
body:has(.tbs-micrositio-estrellita-camino) #page,
body:has(.tbs-micrositio-estrellita-camino) #content,
body:has(.tbs-micrositio-estrellita-camino) .site,
body:has(.tbs-micrositio-estrellita-camino) .site-content,
body:has(.tbs-micrositio-estrellita-camino) .content-area,
body:has(.tbs-micrositio-estrellita-camino) .page-wrapper,
body:has(.tbs-micrositio-estrellita-camino) .main-content,
body:has(.tbs-micrositio-estrellita-camino) .main-content-area,
body:has(.tbs-micrositio-estrellita-camino) .entry-content,
body:has(.tbs-micrositio-estrellita-camino) .page-content,
body:has(.tbs-micrositio-estrellita-camino) .elementor,
body:has(.tbs-micrositio-estrellita-camino) .elementor-section-wrap,
body:has(.tbs-micrositio-estrellita-camino) .elementor-section,
body:has(.tbs-micrositio-estrellita-camino) .elementor-container,
body:has(.tbs-micrositio-estrellita-camino) .elementor-column,
body:has(.tbs-micrositio-estrellita-camino) .elementor-widget-wrap,
body:has(.tbs-micrositio-estrellita-camino) .elementor-widget-container,
body:has(.tbs-micrositio-estrellita-camino) .elementor-shortcode,
body.tbs-ec-public-ready #wrapper,
body.tbs-ec-public-ready #page,
body.tbs-ec-public-ready #content,
body.tbs-ec-public-ready .site,
body.tbs-ec-public-ready .site-content,
body.tbs-ec-public-ready .content-area,
body.tbs-ec-public-ready .page-wrapper,
body.tbs-ec-public-ready .main-content,
body.tbs-ec-public-ready .main-content-area,
body.tbs-ec-public-ready .entry-content,
body.tbs-ec-public-ready .page-content,
body.tbs-ec-public-ready .elementor,
body.tbs-ec-public-ready .elementor-section-wrap,
body.tbs-ec-public-ready .elementor-section,
body.tbs-ec-public-ready .elementor-container,
body.tbs-ec-public-ready .elementor-column,
body.tbs-ec-public-ready .elementor-widget-wrap,
body.tbs-ec-public-ready .elementor-widget-container,
body.tbs-ec-public-ready .elementor-shortcode {
    background: transparent !important;
    background-image: none !important;
    background-attachment: initial !important;
}

.tbs-ms.tbs-publico-estrellita-camino,
.tbs-ms.tbs-micrositio-estrellita-camino,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino,
.tbs-micrositio-publico.tbs-publico-estrellita-camino,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino {
    position: relative !important;
    z-index: 2 !important;
    isolation: isolate !important;
    background: transparent !important;
    background-image: none !important;
}

.tbs-ms.tbs-publico-estrellita-camino::before,
.tbs-ms.tbs-publico-estrellita-camino::after,
.tbs-ms.tbs-micrositio-estrellita-camino::before,
.tbs-ms.tbs-micrositio-estrellita-camino::after,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::before,
.tbs-ms.tbs-micrositio-publico-diseno-estrellita-camino::after,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino::before,
.tbs-ms.tbs-micrositio-diseno-estrellita-camino::after,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::before,
.tbs-micrositio-publico.tbs-publico-estrellita-camino::after,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::before,
.tbs-micrositio-publico.tbs-micrositio-estrellita-camino::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
}

.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-section,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-countdown-section,
.tbs-ms.tbs-publico-estrellita-camino .tbs-ms-closing,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-section,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-countdown-section,
.tbs-ms.tbs-micrositio-estrellita-camino .tbs-ms-closing {
    background: transparent !important;
    background-image: none !important;
}

@media (max-width: 767px) {
    html:has(.tbs-publico-estrellita-camino),
    html:has(.tbs-micrositio-estrellita-camino),
    body:has(.tbs-publico-estrellita-camino),
    body:has(.tbs-micrositio-estrellita-camino),
    body.tbs-public-microsite-design-estrellita-camino,
    body.tbs-public-ms-design-estrellita-camino,
    body.tbs-micrositio-diseno-estrellita-camino,
    body.tbs-micrositio-publico-diseno-estrellita-camino,
    body.tbs-publico-estrellita-camino,
    body.tbs-micrositio-estrellita-camino,
    body.tbs-ec-public-ready {
        background-color: #fff8f1 !important;
        background-image:
            linear-gradient(180deg, rgba(255,250,244,.76) 0%, rgba(255,248,241,.54) 46%, rgba(255,253,248,.76) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') !important;
        background-position: center top !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
        background-attachment: scroll !important;
    }

    body:has(.tbs-publico-estrellita-camino)::before,
    body:has(.tbs-micrositio-estrellita-camino)::before,
    body.tbs-public-microsite-design-estrellita-camino::before,
    body.tbs-public-ms-design-estrellita-camino::before,
    body.tbs-micrositio-diseno-estrellita-camino::before,
    body.tbs-micrositio-publico-diseno-estrellita-camino::before,
    body.tbs-publico-estrellita-camino::before,
    body.tbs-micrositio-estrellita-camino::before,
    body.tbs-ec-public-ready::before {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        opacity: .50 !important;
        background-image:
            linear-gradient(180deg, rgba(255,250,244,.38) 0%, rgba(255,255,255,.20) 36%, rgba(255,248,241,.42) 100%),
            url('/wp-content/uploads/Disenos/Micrositios/EstrellitaCamino/decor-Estrellita-Camino.png') !important;
        background-position: center top !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
    }
}

/* =========================================================
   TBS SCROLL FLUIDO V2 — OVERRIDE MÓVIL FINAL
   - Neutraliza fondos/pseudo-capas fixed reintroducidos por versiones antiguas.
   - Elimina filtros y animaciones de repintado continuo en pantallas táctiles.
   - Evita scrolls anidados y prioriza el desplazamiento vertical nativo.
   - Debe permanecer al FINAL del archivo.
========================================================= */
@media (max-width: 1024px), (pointer: coarse) {
    html[data-tbs-public-ms-design],
    html[class*="tbs-ms-design-"] {
        min-height: 100% !important;
        height: auto !important;
        overflow-x: clip !important;
        overflow-y: auto !important;
        position: static !important;
        touch-action: pan-y pinch-zoom !important;
        overscroll-behavior-x: none !important;
        overscroll-behavior-y: auto !important;
        scroll-behavior: auto !important;
        background-attachment: scroll !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html[data-tbs-public-ms-design] body,
    html[data-tbs-public-ms-design] body.tbs-public-microsite-ready,
    html[data-tbs-public-ms-design] body[class*="tbs-publico-"],
    html[data-tbs-public-ms-design] body[class*="tbs-micrositio-"] {
        min-height: 100% !important;
        height: auto !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
        position: relative !important;
        touch-action: pan-y pinch-zoom !important;
        overscroll-behavior-y: auto !important;
        scroll-behavior: auto !important;
        background-attachment: scroll !important;
    }

    html[data-tbs-public-ms-design] body::before,
    html[data-tbs-public-ms-design] body::after,
    html[data-tbs-public-ms-design] body.tbs-public-microsite-ready::before,
    html[data-tbs-public-ms-design] body.tbs-public-microsite-ready::after,
    html[data-tbs-public-ms-design] body[class*="tbs-publico-"]::before,
    html[data-tbs-public-ms-design] body[class*="tbs-publico-"]::after,
    html[data-tbs-public-ms-design] body[class*="tbs-micrositio-"]::before,
    html[data-tbs-public-ms-design] body[class*="tbs-micrositio-"]::after {
        content: none !important;
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: static !important;
        inset: auto !important;
        background: none !important;
        background-image: none !important;
        transform: none !important;
        filter: none !important;
        -webkit-filter: none !important;
        pointer-events: none !important;
    }

    html[data-tbs-public-ms-design] body .tbs-ms.tbs-micrositio-publico,
    html[data-tbs-public-ms-design] body .tbs-micrositio-publico,
    html[data-tbs-public-ms-design] body .tbs-public-event-shell {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        perspective: none !important;
        contain: none !important;
        will-change: auto !important;
        touch-action: pan-y pinch-zoom !important;
        overscroll-behavior-y: auto !important;
        scroll-snap-type: none !important;
        background-attachment: scroll !important;
    }

    html[data-tbs-public-ms-design] body .tbs-ms :is(
        section,
        .tbs-ms-section,
        .tbs-ms-hero,
        .tbs-ms-countdown-section,
        .tbs-ms-closing,
        .tbs-ms-details-card,
        .tbs-ms-rsvp-card,
        .tbs-ms-location-card,
        .tbs-ms-module-card,
        .tbs-ms-guestbook-card,
        .tbs-ms-countdown-card,
        .tbs-ms-art-card,
        .tbs-regalos-publico,
        .tbs-virtual-publico,
        .tbs-guestbook
    ) {
        overflow-y: visible !important;
        max-height: none !important;
        scroll-snap-type: none !important;
        scroll-snap-align: none !important;
        scroll-snap-stop: normal !important;
        overscroll-behavior-y: auto !important;
        background-attachment: scroll !important;
        will-change: auto !important;
    }

    html[data-tbs-public-ms-design] body .tbs-ms :is(
        .tbs-ms-bg,
        .tbs-ms-bg-one,
        .tbs-ms-bg-two,
        .tbs-ms-floating,
        .tbs-ms-floating-one,
        .tbs-ms-floating-two
    ) {
        display: none !important;
        animation: none !important;
        transform: none !important;
        filter: none !important;
        -webkit-filter: none !important;
        will-change: auto !important;
    }

    html[data-tbs-public-ms-design] body .tbs-ms :is(
        .tbs-ms-quicknav,
        .tbs-ms-nav,
        .tbs-ms-menu,
        .tbs-ms-anchor-nav,
        .tbs-ms-floating-nav
    ) {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        flex-wrap: wrap !important;
        touch-action: pan-y pinch-zoom !important;
        overscroll-behavior: auto !important;
        scroll-snap-type: none !important;
        -webkit-overflow-scrolling: auto !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html[data-tbs-public-ms-design] body .tbs-ms :is(
        [class*="card"],
        [class*="glass"],
        [class*="quicknav"],
        [class*="sticky-nav"],
        [class*="header"]
    ) {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background-attachment: scroll !important;
        will-change: auto !important;
    }

    html[data-tbs-public-ms-design] body .tbs-ms * ,
    html[data-tbs-public-ms-design] body .tbs-ms *::before,
    html[data-tbs-public-ms-design] body .tbs-ms *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }

    /* Los diálogos reales conservan su capa fija y scroll interno. */
    html[data-tbs-public-ms-design] body :is(
        [aria-modal="true"],
        .tbs-modal.is-open,
        #tbs-modal-compra.tbs-modal-open,
        #tbs-regalo-form-window,
        .elementor-popup-modal,
        .tbs-regalo-thanks-modal,
        .tbs-aec-thanks-overlay,
        .tbs-pm-thanks-overlay
    ) {
        touch-action: pan-y pinch-zoom !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

