.ub-eoy-promo[hidden] { display: none !important; }
.ub-eoy-promo { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 18px; box-sizing: border-box; }
.ub-eoy-promo__backdrop { position: absolute; inset: 0; background: rgba(13, 32, 27, .68); }
.ub-eoy-promo__dialog { position: relative; width: min(100%, 520px); max-height: calc(100vh - 36px); overflow-y: auto; box-sizing: border-box; padding: 40px; border-radius: 16px; background: #fff; color: #173d32; box-shadow: 0 20px 70px rgba(0, 0, 0, .25); font-family: inherit; text-align: center; }
.ub-eoy-promo__close { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; padding: 0; border: 0; background: transparent; color: #31574b; font-size: 30px; line-height: 1; cursor: pointer; }
.ub-eoy-promo__eyebrow { margin: 0 0 12px; color: #477b62; font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.ub-eoy-promo__dialog h2 { margin: 0 0 16px; color: #173d32; font-size: clamp(27px, 5vw, 36px); line-height: 1.15; font-weight: 700; }
.ub-eoy-promo__description { margin: 0 0 20px; font-size: 17px; line-height: 1.5; }
.ub-eoy-promo__code-line { margin: 0 0 26px; padding: 15px; border: 1px dashed #7ba48c; border-radius: 8px; background: #f4f9f5; font-size: 15px; line-height: 1.5; }
.ub-eoy-promo__code-line strong { color: #1a6047; font-size: 20px; letter-spacing: .06em; white-space: nowrap; }
.ub-eoy-promo__actions { display: flex; align-items: center; justify-content: center; gap: 13px; flex-wrap: wrap; }
.ub-eoy-promo__cta { display: inline-block; padding: 13px 20px; border-radius: 6px; background: #1c674b; color: #fff !important; font-size: 15px; font-weight: 700; line-height: 1.25; text-decoration: none !important; }
.ub-eoy-promo__cta:hover, .ub-eoy-promo__cta:focus { background: #124e37; color: #fff !important; }
.ub-eoy-promo__dismiss { border: 0; background: transparent; color: #31574b; font: inherit; font-size: 15px; text-decoration: underline; cursor: pointer; }
.ub-eoy-promo__fineprint { margin: 24px 0 0; color: #596760; font-size: 12px; line-height: 1.4; }
body.ub-eoy-promo-open { overflow: hidden; }
@media (max-width: 480px) { .ub-eoy-promo__dialog { padding: 36px 22px 26px; } .ub-eoy-promo__actions { flex-direction: column; } .ub-eoy-promo__cta { width: 100%; box-sizing: border-box; } }
