/* Global welcome offer, WhatsApp help and privacy-safe activity. */
.bp-welcome {
    width: min(92vw, 920px);
    max-height: 92dvh;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 35px 100px rgba(22, 5, 65, .34)
}

.bp-welcome::backdrop {
    background: rgba(20, 5, 54, .62);
    backdrop-filter: blur(8px)
}

.bp-welcome[open] {
    display: grid;
    grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
    animation: bpWelcomeIn .35s cubic-bezier(.22, 1, .36, 1)
}

.bp-welcome__close {
    position: absolute;
    z-index: 3;
    top: 16px;
    right: 16px;
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #e6dfeb;
    border-radius: 50%;
    background: #fff;
    place-items: center;
    color: #351095
}

.bp-welcome__close:hover {
    background: #351095;
    color: #fff;
    transform: rotate(6deg)
}

.bp-welcome__visual {
    position: relative;
    display: flex;
    min-height: 520px;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    background: radial-gradient(circle at 25% 15%, rgba(255, 255, 255, .23), transparent 25%), linear-gradient(145deg, #351095, #602bc0)
}

.bp-welcome__visual:before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
    background-size: 34px 34px;
    content: ""
}

.bp-welcome__visual>span {
    position: absolute;
    z-index: 2;
    top: 38px;
    left: 34px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: 3.4rem;
    font-weight: 800;
    line-height: .8
}

.bp-welcome__visual>span small {
    display: block;
    margin-top: 10px;
    color: #ffb28c;
    font-family: var(--font-primary);
    font-size: .7rem;
    letter-spacing: .2em
}

.bp-welcome__visual img {
    position: relative;
    z-index: 1;
    width: min(92%, 390px);
    max-height: 470px;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 24px 34px rgba(12, 2, 40, .3))
}

.bp-welcome__content {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(42px, 6vw, 72px);
    flex-direction: column
}

.bp-welcome__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #fff0e8;
    color: #e95418;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase
}

.bp-welcome h2 {
    max-width: 460px;
    margin: 0 0 14px;
    color: #29105f;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.08
}

.bp-welcome__content>p {
    max-width: 470px;
    margin: 0 0 25px;
    color: #766b80;
    font-size: .9rem;
    line-height: 1.72
}

.bp-welcome__coupon {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    padding: 11px 12px 11px 17px;
    border: 1px dashed #a996c8;
    border-radius: 14px;
    background: #faf8fd
}

.bp-welcome__coupon small,
.bp-welcome__coupon strong {
    display: block
}

.bp-welcome__coupon small {
    margin-bottom: 2px;
    color: #887e91;
    font-size: .58rem;
    text-transform: uppercase
}

.bp-welcome__coupon strong {
    color: #351095;
    font-size: 1.15rem;
    letter-spacing: .12em
}

.bp-welcome__coupon button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    border: 0;
    border-radius: 10px;
    background: #351095;
    color: #fff;
    font-size: .7rem;
    font-weight: 800
}

.bp-welcome__coupon button.is-copied {
    background: #168044
}

.bp-welcome__content>.btn {
    min-width: 190px
}

.bp-welcome__later {
    margin: 14px 0 0;
    padding: 3px 0;
    border: 0;
    background: transparent;
    color: #887d91;
    font-size: .7rem;
    text-decoration: underline;
    text-underline-offset: 3px
}

@keyframes bpWelcomeIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.98)
    }
}

.bp-whatsapp {
    position: fixed;
    z-index: 720;
    right: 24px;
    bottom: 24px;
    display: flex;
    height: 58px;
    align-items: center;
    gap: 9px;
    padding: 0 18px 0 0;
    border-radius: 999px;
    background: #20b85a;
    color: #fff !important;
    box-shadow: 0 14px 32px rgba(20, 139, 69, .28)
}

.bp-whatsapp>span {
    position: absolute;
    inset: 0;
    border: 2px solid rgba(32, 184, 90, .52);
    border-radius: inherit;
    animation: bpWhatsRipple 2s ease-out infinite
}

.bp-whatsapp i {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    font-size: 1.65rem
}

.bp-whatsapp em {
    font-size: .72rem;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap
}

.bp-whatsapp:hover {
    background: #159c48;
    transform: translateY(-3px)
}

@keyframes bpWhatsRipple {
    to {
        opacity: 0;
        transform: scale(1.24)
    }
}

.bp-activity {
    position: fixed;
    z-index: 710;
    bottom: 24px;
    left: 24px;
    width: min(calc(100vw - 48px), 390px);
    padding: 10px;
    border: 1px solid #e5deeb;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(32, 11, 77, .16);
    opacity: 0;
    pointer-events: none;
    transform: translateX(-115%);
    transition: opacity .3s ease, transform .42s cubic-bezier(.22, 1, .36, 1)
}

.bp-activity.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0)
}

.bp-activity>button {
    position: absolute;
    z-index: 2;
    top: -10px;
    right: -8px;
    display: grid;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid #e5deeb;
    border-radius: 50%;
    background: #fff;
    place-items: center;
    color: #776b81;
    font-size: .65rem
}

.bp-activity__item {
    display: none;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    color: inherit
}

.bp-activity__item.is-active {
    display: grid
}

.bp-activity__image {
    display: grid;
    overflow: hidden;
    width: 76px;
    aspect-ratio: 1;
    border-radius: 13px;
    background: #f7f3fb;
    place-items: center
}

.bp-activity__image img {
    width: 100%;
    height: 100%;
    padding: 3px;
    object-fit: contain
}

.bp-activity__copy {
    display: grid;
    min-width: 0;
    gap: 3px
}

.bp-activity__copy small {
    overflow: hidden;
    color: #83788c;
    font-size: .64rem;
    text-overflow: ellipsis;
    white-space: nowrap
}

.bp-activity__copy strong {
    display: -webkit-box;
    overflow: hidden;
    color: #29105f;
    font-size: .83rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

.bp-activity__copy em {
    color: #e95418;
    font-size: .63rem;
    font-style: normal;
    font-weight: 700
}

@media(max-width:767px) {
    .bp-welcome[open] {
        display: block;
        overflow: auto
    }

    .bp-welcome__visual {
        min-height: 225px
    }

    .bp-welcome__visual img {
        max-height: 215px
    }

    .bp-welcome__visual>span {
        top: 26px;
        left: 24px;
        font-size: 2.5rem
    }

    .bp-welcome__content {
        padding: 28px 22px 32px
    }

    .bp-welcome h2 {
        font-size: 2rem
    }

    .bp-whatsapp {
        right: 16px;
        bottom: 16px;
        width: 56px;
        height: 56px;
        padding: 0
    }

    .bp-whatsapp i {
        width: 56px;
        height: 56px
    }

    .bp-whatsapp em {
        display: none
    }

   .bp-activity {
    right: 10px;
    bottom: 10px;
    left: 10px;
    width: auto;
    max-width: 70%;
}

    .bp-welcome__coupon {
        align-items: stretch;
        flex-direction: column
    }

    .bp-welcome__coupon button {
        justify-content: center
    }
}

@media(prefers-reduced-motion:reduce) {

    .bp-welcome[open],
    .bp-whatsapp>span {
        animation: none
    }

    .bp-activity,
    .bp-whatsapp {
        transition: none
    }
}

/* Compact final modal sizing across short and narrow screens. */
.bp-welcome,.bp-welcome.is-visible{width:min(90vw,820px)!important;max-height:min(82dvh,650px)!important;border-radius:22px}.bp-welcome__visual{min-height:430px}.bp-welcome__visual img{height:100%;max-height:430px;object-fit:cover}.bp-welcome__content{padding:clamp(30px,4vw,48px)}.bp-welcome h2{font-size:clamp(1.8rem,3vw,2.65rem)}
@media(max-width:767px){.bp-welcome,.bp-welcome.is-visible{grid-template-rows:min(30dvh,190px) auto!important;width:min(92vw,470px)!important;max-height:86dvh!important}.bp-welcome__visual{min-height:0}.bp-welcome__visual img{height:100%;max-height:none;object-position:center 44%}.bp-welcome__content{padding:23px 20px 25px}.bp-welcome h2{margin-bottom:10px;font-size:1.7rem}.bp-welcome__content>p{margin-bottom:16px;font-size:.82rem}.bp-welcome__coupon{min-height:0;margin-bottom:15px}.bp-welcome__later{margin-top:10px}}
@media(max-height:650px) and (max-width:767px){.bp-welcome,.bp-welcome.is-visible{grid-template-rows:125px auto!important}.bp-welcome__content{padding:18px}.bp-welcome__eyebrow{margin-bottom:8px}.bp-welcome h2{font-size:1.45rem}.bp-welcome__content>p{display:none}}

/* Definitive popup layout — intentionally last to neutralize legacy modal rules. */
@media(min-width:768px){.bp-welcome,.bp-welcome.is-visible{width:min(92vw,820px)!important;height:530px!important;max-height:calc(100dvh - 40px)!important;grid-template-columns:1fr 1fr!important}}
@media(max-width:767px){.bp-welcome{display:none!important;width:calc(100vw - 24px)!important;max-width:430px!important;height:50dvh!important;min-height:0!important;max-height:50dvh!important;margin:auto!important;overflow:hidden!important;border-radius:20px!important;background:linear-gradient(145deg,#fffdfb,#f5efff)!important}.bp-welcome.is-visible{display:block!important;grid-template-columns:none!important;grid-template-rows:none!important}.bp-welcome__visual{display:none!important}.bp-welcome__content{position:relative!important;display:grid!important;width:100%!important;height:100%!important;max-width:none!important;max-height:100%!important;box-sizing:border-box!important;align-content:start!important;align-items:stretch!important;justify-content:stretch!important;gap:0!important;padding:38px 18px 16px!important;overflow-x:hidden!important;overflow-y:auto!important;background:radial-gradient(circle at 92% 6%,rgba(255,112,35,.2),transparent 31%),radial-gradient(circle at 6% 95%,rgba(69,23,160,.17),transparent 34%),repeating-linear-gradient(0deg,rgba(68,28,145,.035) 0,rgba(68,28,145,.035) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(68,28,145,.035) 0,rgba(68,28,145,.035) 1px,transparent 1px,transparent 24px),linear-gradient(145deg,#fffdfc,#f8f3ff)!important}.bp-welcome__eyebrow{position:static!important;justify-self:center!important;margin:0 0 7px!important;padding:5px 9px!important;font-size:.57rem!important}.bp-welcome h2{position:static!important;display:block!important;width:100%!important;max-width:none!important;margin:0 0 8px!important;font-size:clamp(1.48rem,7vw,1.85rem)!important;line-height:1.05!important;text-align:center!important}.bp-welcome__content>p{position:static!important;display:block!important;width:100%!important;max-width:none!important;margin:0 0 11px!important;font-size:.74rem!important;line-height:1.42!important;text-align:center!important}.bp-welcome__coupon{position:static!important;display:flex!important;width:100%!important;min-width:0!important;min-height:56px!important;box-sizing:border-box!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;gap:8px!important;margin:0 0 10px!important;padding:8px 9px 8px 12px!important}.bp-welcome__coupon>span{min-width:0!important;flex:1!important;text-align:left!important}.bp-welcome__coupon small{font-size:.49rem!important}.bp-welcome__coupon strong{font-size:.9rem!important;letter-spacing:.05em!important;overflow-wrap:anywhere!important}.bp-welcome__coupon button{position:static!important;width:auto!important;min-width:92px!important;min-height:39px!important;margin:0!important;padding:0 10px!important;justify-content:center!important;font-size:.61rem!important}.bp-welcome__copy-status{position:static!important;margin:0!important}.bp-welcome__content>.btn{position:static!important;display:flex!important;width:100%!important;min-width:0!important;min-height:43px!important;margin:0!important;padding:0 12px!important;justify-content:center!important;font-size:.69rem!important}.bp-welcome__later{position:static!important;display:block!important;width:max-content!important;margin:8px auto 0!important;padding:2px 0!important;justify-self:center!important;font-size:.63rem!important;text-align:center!important}.bp-welcome__close{position:absolute!important;z-index:5!important;top:9px!important;right:9px!important;width:34px!important;height:34px!important;margin:0!important;padding:0!important}}
@media(max-width:360px){.bp-welcome{width:calc(100vw - 16px)!important}.bp-welcome__content{padding:34px 12px 12px!important}.bp-welcome h2{font-size:1.4rem!important}.bp-welcome__content>p{font-size:.68rem!important}.bp-welcome__coupon{padding-left:9px!important}.bp-welcome__coupon strong{font-size:.8rem!important}.bp-welcome__coupon button{min-width:84px!important;padding-inline:7px!important}}

/* Scroll-free mobile composition that uses the full half-screen card. */
@media(max-width:767px){.bp-welcome,.bp-welcome.is-visible{overflow:hidden!important}.bp-welcome__content{grid-template-rows:auto auto auto auto auto auto!important;align-content:space-between!important;padding:34px 18px 16px!important;overflow:hidden!important}.bp-welcome__eyebrow,.bp-welcome h2,.bp-welcome__content>p,.bp-welcome__coupon,.bp-welcome__content>.btn,.bp-welcome__later{min-height:0!important}.bp-welcome__eyebrow{margin-bottom:4px!important}.bp-welcome h2{margin-bottom:5px!important}.bp-welcome__content>p{margin-bottom:6px!important}.bp-welcome__coupon{margin-bottom:7px!important}.bp-welcome__later{margin-top:6px!important}}
@media(max-width:767px) and (max-height:680px){.bp-welcome__content{padding:29px 14px 11px!important}.bp-welcome__eyebrow{padding:4px 8px!important;font-size:.52rem!important}.bp-welcome h2{font-size:1.35rem!important}.bp-welcome__content>p{font-size:.66rem!important;line-height:1.3!important}.bp-welcome__coupon{min-height:49px!important;padding:6px 8px!important}.bp-welcome__coupon strong{font-size:.78rem!important}.bp-welcome__coupon button{min-width:82px!important;min-height:35px!important}.bp-welcome__content>.btn{min-height:39px!important}.bp-welcome__later{font-size:.59rem!important}}

/* Complete-image presentation, compact height, and coordinated modal exit. */
.bp-welcome,.bp-welcome.is-visible{height:540px!important;max-height:calc(100dvh - 40px)!important}.bp-welcome__visual{min-height:0;height:100%;background:linear-gradient(145deg,#f6efff,#fff5ec)}.bp-welcome__visual img{padding:14px;object-fit:contain!important;object-position:center!important}.bp-welcome__content{max-height:100%;overflow-y:auto}.bp-welcome-overlay{background:rgba(23,7,55,.68)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.bp-welcome.is-closing{pointer-events:none;animation:bpWelcomeOut .3s cubic-bezier(.4,0,1,1) both!important}.bp-welcome-overlay.is-closing{pointer-events:none;animation:bpOverlayOut .3s ease both!important}
@keyframes bpWelcomeOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(18px) scale(.975)}}@keyframes bpOverlayOut{from{opacity:1}to{opacity:0}}
@media(max-width:767px){.bp-welcome,.bp-welcome.is-visible{grid-template-rows:min(25dvh,165px) auto!important;height:auto!important;max-height:calc(100dvh - 28px)!important}.bp-welcome__visual{min-height:0}.bp-welcome__visual img{padding:8px}.bp-welcome__content{max-height:none;overflow:visible;padding:20px 19px 22px}}
@media(max-width:390px){.bp-welcome,.bp-welcome.is-visible{grid-template-rows:135px auto!important}}
@media(prefers-reduced-motion:reduce){.bp-welcome.is-closing,.bp-welcome-overlay.is-closing{animation-duration:.01ms!important}}

/* Wider final presentation with an uncluttered, fully visible image panel. */
.bp-welcome,.bp-welcome.is-visible{width:min(94vw,980px)!important;height:560px!important}.bp-welcome__visual>span{display:none!important}.bp-welcome__visual img{padding:10px;object-fit:contain!important;object-position:center!important}
@media(max-width:767px){.bp-welcome,.bp-welcome.is-visible{width:min(94vw,500px)!important;height:auto!important}.bp-welcome__visual img{padding:6px}}

/* Final promotional treatment: edge-to-edge desktop art and focused mobile offer. */
.bp-welcome__visual img{padding:0;object-fit:cover!important;object-position:center!important}.bp-welcome__content>.btn{display:flex;width:100%;justify-content:center}.bp-welcome__later{display:block;width:max-content;margin:14px auto 0;text-align:center}
@media(max-width:767px){.bp-welcome,.bp-welcome.is-visible{display:block!important;width:min(92vw,440px)!important;max-height:calc(100dvh - 32px)!important;overflow:auto;background:linear-gradient(145deg,#fff 0%,#fff8f3 48%,#f3edff 100%);border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 80px rgba(28,5,72,.42)}.bp-welcome__visual{display:none!important}.bp-welcome__content{position:relative;isolation:isolate;max-height:none;overflow:visible;padding:clamp(34px,8vw,46px) 22px 26px;background:radial-gradient(circle at 92% 5%,rgba(255,120,40,.2),transparent 31%),radial-gradient(circle at 5% 92%,rgba(80,30,180,.16),transparent 34%)}.bp-welcome__content:before,.bp-welcome__content:after{position:absolute;z-index:-1;border-radius:50%;content:"";pointer-events:none}.bp-welcome__content:before{top:18px;right:22px;width:72px;height:72px;background:linear-gradient(135deg,rgba(255,108,33,.16),rgba(255,190,92,.08));filter:blur(2px)}.bp-welcome__content:after{bottom:20px;left:18px;width:92px;height:92px;background:linear-gradient(135deg,rgba(66,21,158,.11),transparent);filter:blur(4px)}.bp-welcome__eyebrow{position:relative;z-index:1}.bp-welcome h2{position:relative;z-index:1;font-size:clamp(1.8rem,9vw,2.35rem);text-align:center}.bp-welcome__content>p{position:relative;z-index:1;text-align:center}.bp-welcome__coupon{position:relative;z-index:1;background:rgba(255,255,255,.78);box-shadow:0 12px 28px rgba(54,18,126,.09);backdrop-filter:blur(8px)}.bp-welcome__content>.btn{position:relative;z-index:1;width:100%;min-height:50px}.bp-welcome__later{position:relative;z-index:1;margin:14px auto 0}.bp-welcome__close{top:12px;right:12px;background:rgba(255,255,255,.9)}}
@media(max-width:390px){.bp-welcome__content{padding:32px 17px 22px}.bp-welcome__coupon{grid-template-columns:minmax(0,1fr) auto}.bp-welcome__coupon button{padding-inline:13px}}

/* Stable final sizing: compact desktop and overflow-safe mobile card. */
@media(min-width:768px){.bp-welcome,.bp-welcome.is-visible{width:min(92vw,820px)!important;height:530px!important}}
@media(max-width:767px){.bp-welcome{display:none!important;width:calc(100vw - 24px)!important;max-width:430px!important;height:auto!important;max-height:calc(100dvh - 24px)!important;margin:auto!important;overflow:hidden!important;border-radius:20px!important}.bp-welcome.is-visible{display:flex!important;flex-direction:column!important}.bp-welcome__visual{display:none!important}.bp-welcome__content{display:flex;width:100%;max-width:100%;max-height:calc(100dvh - 24px);box-sizing:border-box;align-items:stretch;justify-content:flex-start;padding:42px 20px 24px!important;overflow-x:hidden;overflow-y:auto}.bp-welcome__eyebrow{align-self:center;margin-right:auto;margin-left:auto;text-align:center}.bp-welcome h2{width:100%;max-width:none;margin-bottom:12px;font-size:clamp(1.75rem,8.5vw,2.2rem);line-height:1.08;text-align:center;overflow-wrap:anywhere}.bp-welcome__content>p{width:100%;max-width:none;margin-bottom:18px;font-size:.84rem;line-height:1.6;text-align:center}.bp-welcome__coupon{display:flex;width:100%;min-width:0;box-sizing:border-box;align-items:stretch;flex-direction:column;gap:10px;margin-bottom:16px;padding:14px}.bp-welcome__coupon>span{min-width:0;text-align:center}.bp-welcome__coupon strong{font-size:1.05rem;letter-spacing:.08em;overflow-wrap:anywhere}.bp-welcome__coupon button{width:100%;min-height:44px;justify-content:center}.bp-welcome__content>.btn{width:100%;min-width:0;min-height:48px;padding-inline:14px;text-align:center}.bp-welcome__later{align-self:center;margin:13px auto 0}.bp-welcome__close{position:absolute;top:10px;right:10px;width:38px;height:38px}}
@media(max-width:360px){.bp-welcome{width:calc(100vw - 16px)!important}.bp-welcome__content{padding:38px 15px 20px!important}.bp-welcome__eyebrow{font-size:.6rem}.bp-welcome h2{font-size:1.65rem}.bp-welcome__content>p{font-size:.78rem}}

/* Mobile half-screen offer with a branded glow-grid text wrapper. */
@media(max-width:767px){.bp-welcome,.bp-welcome.is-visible{height:50dvh!important;min-height:0!important;max-height:50dvh!important;background:linear-gradient(145deg,#fdfaff,#fff7f1)!important}.bp-welcome__content{height:100%;max-height:100%;justify-content:flex-start;padding:34px 18px 20px!important;overflow-y:auto;background:radial-gradient(circle at 88% 10%,rgba(255,109,35,.22),transparent 34%),radial-gradient(circle at 8% 92%,rgba(73,25,164,.19),transparent 38%),repeating-linear-gradient(0deg,rgba(68,28,145,.035) 0,rgba(68,28,145,.035) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(68,28,145,.035) 0,rgba(68,28,145,.035) 1px,transparent 1px,transparent 24px),linear-gradient(145deg,#fffdfc,#f8f3ff)}.bp-welcome__content:before{top:-18px;right:-12px;width:125px;height:125px;background:radial-gradient(circle,rgba(255,120,43,.24),transparent 68%);filter:blur(3px)}.bp-welcome__content:after{bottom:-28px;left:-22px;width:145px;height:145px;background:radial-gradient(circle,rgba(69,23,160,.18),transparent 68%);filter:blur(5px)}.bp-welcome h2{margin:0 0 10px;color:#2d0b70;text-shadow:0 8px 24px rgba(64,20,151,.12)}.bp-welcome__content>p{margin-bottom:14px}.bp-welcome__coupon{margin-bottom:13px;padding:11px 12px;background:rgba(255,255,255,.7)}.bp-welcome__content>.btn{min-height:46px}.bp-welcome__later{margin-top:10px}}
@media(max-width:360px){.bp-welcome__content{padding:32px 14px 18px!important}.bp-welcome h2{font-size:1.55rem}.bp-welcome__coupon{padding:10px}}

/* Fit the complete mobile offer inside 50vh; only the artwork is omitted. */
@media(max-width:767px){.bp-welcome__content{justify-content:center;padding:30px 18px 14px!important;overflow-y:auto}.bp-welcome__eyebrow{margin-bottom:7px;padding:5px 9px;font-size:.58rem}.bp-welcome h2{margin-bottom:7px;font-size:clamp(1.5rem,7vw,1.85rem);line-height:1.03}.bp-welcome__content>p{margin-bottom:10px;font-size:.75rem;line-height:1.42}.bp-welcome__coupon{display:flex;min-height:56px;align-items:center;flex-direction:row;gap:8px;margin-bottom:10px;padding:8px 9px 8px 12px}.bp-welcome__coupon>span{flex:1;text-align:left}.bp-welcome__coupon small{font-size:.5rem}.bp-welcome__coupon strong{font-size:.92rem;letter-spacing:.055em}.bp-welcome__coupon button{width:auto;min-width:94px;min-height:39px;padding:0 10px;font-size:.62rem}.bp-welcome__content>.btn{min-height:43px;font-size:.7rem}.bp-welcome__later{margin-top:7px;font-size:.64rem}.bp-welcome__close{width:34px;height:34px}.bp-welcome__visual{display:none!important}}
@media(max-width:360px){.bp-welcome__content{padding:28px 12px 12px!important}.bp-welcome__eyebrow{font-size:.54rem}.bp-welcome h2{font-size:1.42rem}.bp-welcome__content>p{font-size:.7rem}.bp-welcome__coupon{padding-left:9px}.bp-welcome__coupon strong{font-size:.82rem}.bp-welcome__coupon button{min-width:86px;padding-inline:8px}}

.bp-welcome__visual img {
    width: 100%;
    height: 100%;
    max-height: 520px;
    object-fit: cover;
    object-position: center
}

@media(max-width:767px) {
    .bp-welcome__visual img {
        width: 100%;
        height: 225px;
        max-height: 225px;
        object-fit: cover;
        object-position: center
    }
}

/* Deterministic dialog state and final premium motion treatment. */
dialog.bp-welcome:not([open]) {
    display: none !important
}

dialog.bp-welcome[open] {
    position: fixed !important;
    inset: 0 !important;
    display: grid !important;
    margin: auto !important;
    grid-template-columns: minmax(310px, .9fr) minmax(0, 1.1fr) !important;
    opacity: 1;
    animation: bpWelcomeRise .48s cubic-bezier(.16, 1, .3, 1) !important
}

dialog.bp-welcome::backdrop {
    background: linear-gradient(135deg, rgba(18, 4, 52, .72), rgba(43, 13, 101, .62));
    backdrop-filter: blur(10px) saturate(.8);
    -webkit-backdrop-filter: blur(10px) saturate(.8)
}

.bp-welcome__visual {
    isolation: isolate;
    background: linear-gradient(145deg, #2a0b78, #5626b8)
}

.bp-welcome__visual:after {
    position: absolute;
    z-index: 0;
    inset: auto -90px -130px auto;
    width: 310px;
    height: 310px;
    border: 55px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    content: ""
}

.bp-welcome__content {
    position: relative;
    background: radial-gradient(circle at 95% 8%, rgba(255, 106, 33, .08), transparent 27%), #fff
}

.bp-welcome__coupon {
    min-height: 68px;
    transition: border-color .25s ease, background .25s ease
}

.bp-welcome__coupon:has(.bp-welcome__copy-status.is-visible) {
    border-color: #9bd1aa;
    background: #f2fbf5
}

.bp-welcome__coupon button[hidden] {
    display: none !important
}

.bp-welcome__copy-status {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 10px 13px;
    border-radius: 10px;
    background: #e5f7ea;
    color: #15753b;
    font-size: .72rem;
    font-weight: 850
}

.bp-welcome__copy-status.is-visible {
    display: inline-flex;
    animation: bpCopySuccess .3s ease
}

.bp-welcome__copy-status i {
    font-size: 1rem
}

@keyframes bpWelcomeRise {
    from {
        opacity: 0;
        transform: translate3d(0, 90px, 0) scale(.96)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1)
    }
}

@keyframes bpCopySuccess {
    from {
        opacity: 0;
        transform: translateY(6px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@media(max-width:767px) {
    dialog.bp-welcome[open] {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 225px auto !important;
        width: min(92vw, 520px);
        max-height: 90dvh;
        overflow: auto
    }

    .bp-welcome__visual {
        min-height: 225px
    }

    .bp-welcome__content {
        padding: 28px 22px 32px
    }

    .bp-welcome__coupon {
        align-items: stretch;
        flex-direction: column
    }

    .bp-welcome__copy-status {
        justify-content: center
    }
}

@media(prefers-reduced-motion:reduce) {

    dialog.bp-welcome[open],
    .bp-welcome__copy-status.is-visible {
        animation: none !important
    }
}

body.bp-welcome-open {
    position: relative !important;
    overflow: hidden !important
}

.bp-welcome-overlay {
    position: fixed;
    z-index: 20000;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: linear-gradient(135deg, rgba(18, 4, 52, .74), rgba(48, 17, 108, .62));
    backdrop-filter: blur(11px) saturate(.8);
    -webkit-backdrop-filter: blur(11px) saturate(.8);
    cursor: default;
    animation: bpOverlayIn .28s ease
}

dialog.bp-welcome[open] {
    z-index: 20001 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: min(92vw, 920px) !important;
    max-height: calc(100dvh - 32px) !important;
    margin: auto !important
}

@keyframes bpOverlayIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@media(max-width:767px) {
    dialog.bp-welcome[open] {
        width: min(92vw, 520px) !important;
        max-height: calc(100dvh - 24px) !important
    }
}

/* Reliable modal state: this deliberately avoids native dialog/open conflicts. */
.bp-welcome {
    position: fixed !important;
    z-index: 20001 !important;
    inset: 0 !important;
    display: none !important;
    width: min(92vw, 920px) !important;
    max-height: calc(100dvh - 32px) !important;
    margin: auto !important;
    opacity: 0;
    visibility: hidden;
    grid-template-columns: minmax(310px, .9fr) minmax(0, 1.1fr);
    transform: translateY(28px) scale(.975)
}

.bp-welcome.is-visible {
    display: grid !important;
    opacity: 1;
    visibility: visible;
    animation: bpWelcomeRise .48s cubic-bezier(.16, 1, .3, 1) both
}

.bp-welcome-overlay {
    animation: bpOverlayIn .28s ease both
}

body.bp-welcome-open {
    position: relative !important;
    overflow: hidden !important;
    overscroll-behavior: none
}

.bp-whatsapp {
    width: 58px !important;
    padding: 0 !important;
    justify-content: center;
    transition: transform .32s cubic-bezier(.2, .8, .2, 1), background-color .25s ease, box-shadow .25s ease
}

.bp-whatsapp>span {
    position: absolute;
    z-index: -1;
    inset: 0;
    border: 2px solid rgba(32, 184, 90, .66);
    border-radius: 50%;
    pointer-events: none;
    animation: bpWhatsRipple 2.4s cubic-bezier(.2, .7, .2, 1) infinite
}

.bp-whatsapp:before {
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
    content: ""
}

.bp-whatsapp:after {
    position: absolute;
    z-index: -1;
    inset: 0;
    border: 2px solid rgba(32, 184, 90, .52);
    border-radius: 50%;
    content: "";
    pointer-events: none;
    animation: bpWhatsRipple 2.4s cubic-bezier(.2, .7, .2, 1) 1.2s infinite
}

.bp-whatsapp i {
    position: relative;
    z-index: 1
}

.bp-whatsapp:hover {
    box-shadow: 0 18px 38px rgba(20, 139, 69, .38);
    transform: translateY(-4px) scale(1.04)
}

.bp-whatsapp:active {
    transform: translateY(-1px) scale(.96)
}

@keyframes bpWhatsRipple {
    0% {
        opacity: .78;
        transform: scale(.9)
    }

    70%,
    100% {
        opacity: 0;
        transform: scale(1.62)
    }
}

@media(max-width:767px) {
    .bp-welcome.is-visible {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 225px auto !important;
        width: min(92vw, 520px) !important;
        max-height: calc(100dvh - 24px) !important;
        overflow: auto
    }

    .bp-whatsapp {
        width: 56px !important
    }
}

@media(prefers-reduced-motion:reduce) {

    .bp-whatsapp>span,
    .bp-whatsapp:after {
        animation: none
    }
}

/* Canonical welcome-popup layout — final cascade authority. */
.bp-welcome,.bp-welcome.is-visible{overflow:hidden;border:1px solid rgba(65,24,142,.1);border-radius:24px;box-shadow:0 32px 90px rgba(31,8,73,.3)}
@media(min-width:768px){.bp-welcome,.bp-welcome.is-visible{width:min(calc(100vw - 48px),820px)!important;height:530px!important;max-height:calc(100dvh - 40px)!important;grid-template-columns:1fr 1fr!important}.bp-welcome__visual{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden;background:none!important}.bp-welcome__visual:before,.bp-welcome__visual:after{display:none!important}.bp-welcome__visual img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;padding:0;object-fit:cover;object-position:center}.bp-welcome__content{min-width:0;align-self:center;padding:clamp(28px,4vw,42px)}}
@media(max-width:767px){.bp-welcome{display:none!important;width:calc(100vw - 24px)!important;max-width:430px!important;height:50dvh!important;min-height:0!important;max-height:50dvh!important;margin:auto!important;overflow:hidden!important;border-radius:20px!important;background:linear-gradient(145deg,#fffdfb,#f5efff)!important}.bp-welcome.is-visible{display:block!important;grid-template-columns:none!important;grid-template-rows:none!important}.bp-welcome__visual{display:none!important}.bp-welcome__content{position:relative!important;display:grid!important;width:100%!important;height:100%!important;max-width:none!important;max-height:100%!important;box-sizing:border-box!important;grid-template-rows:auto auto auto auto auto auto!important;align-content:space-between!important;align-items:stretch!important;justify-content:stretch!important;gap:0!important;padding:34px 18px 16px!important;overflow:hidden!important;background:radial-gradient(circle at 92% 6%,rgba(255,112,35,.2),transparent 31%),radial-gradient(circle at 6% 95%,rgba(69,23,160,.17),transparent 34%),repeating-linear-gradient(0deg,rgba(68,28,145,.035) 0,rgba(68,28,145,.035) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(68,28,145,.035) 0,rgba(68,28,145,.035) 1px,transparent 1px,transparent 24px),linear-gradient(145deg,#fffdfc,#f8f3ff)!important}.bp-welcome__eyebrow{position:static!important;justify-self:center!important;margin:0 0 4px!important;padding:5px 9px!important;font-size:.57rem!important}.bp-welcome h2{position:static!important;display:block!important;width:100%!important;max-width:none!important;margin:0 0 5px!important;font-size:clamp(1.48rem,7vw,1.85rem)!important;line-height:1.05!important;text-align:center!important}.bp-welcome__content>p{position:static!important;display:block!important;width:100%!important;max-width:none!important;margin:0 0 6px!important;font-size:.74rem!important;line-height:1.42!important;text-align:center!important}.bp-welcome__coupon{position:static!important;display:flex!important;width:100%!important;min-width:0!important;min-height:56px!important;box-sizing:border-box!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;gap:8px!important;margin:0 0 7px!important;padding:8px 9px 8px 12px!important}.bp-welcome__coupon>span{min-width:0!important;flex:1!important;text-align:left!important}.bp-welcome__coupon small{font-size:.49rem!important}.bp-welcome__coupon strong{font-size:.9rem!important;letter-spacing:.05em!important;overflow-wrap:anywhere!important}.bp-welcome__coupon button{position:static!important;width:auto!important;min-width:92px!important;min-height:39px!important;margin:0!important;padding:0 10px!important;justify-content:center!important;font-size:.61rem!important}.bp-welcome__copy-status{position:static!important;margin:0!important}.bp-welcome__content>.btn{position:static!important;display:flex!important;width:100%!important;min-width:0!important;min-height:43px!important;margin:0!important;padding:0 12px!important;justify-content:center!important;font-size:.69rem!important}.bp-welcome__later{position:static!important;display:block!important;width:max-content!important;margin:6px auto 0!important;padding:2px 0!important;justify-self:center!important;font-size:.63rem!important;text-align:center!important}.bp-welcome__close{position:absolute!important;z-index:5!important;top:9px!important;right:9px!important;width:34px!important;height:34px!important;margin:0!important;padding:0!important}}
@media(max-width:360px){.bp-welcome{width:calc(100vw - 16px)!important}.bp-welcome__content{padding:34px 12px 12px!important}.bp-welcome h2{font-size:1.4rem!important}.bp-welcome__content>p{font-size:.68rem!important}.bp-welcome__coupon{padding-left:9px!important}.bp-welcome__coupon strong{font-size:.8rem!important}.bp-welcome__coupon button{min-width:84px!important;padding-inline:7px!important}}
@media(max-width:767px) and (max-height:680px){.bp-welcome__content{padding:29px 14px 11px!important}.bp-welcome__eyebrow{padding:4px 8px!important;font-size:.52rem!important}.bp-welcome h2{font-size:1.35rem!important}.bp-welcome__content>p{font-size:.66rem!important;line-height:1.3!important}.bp-welcome__coupon{min-height:49px!important;padding:6px 8px!important}.bp-welcome__coupon strong{font-size:.78rem!important}.bp-welcome__coupon button{min-width:82px!important;min-height:35px!important}.bp-welcome__content>.btn{min-height:39px!important}.bp-welcome__later{font-size:.59rem!important}}
