/* Daily campaign dialog: browser-native focus and Escape dismissal. */
.cx-promo-dialog { width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #e7d8c5;border-radius:20px;padding:0;background:#fffaf3;color:#3c2c20;box-shadow:0 30px 100px #1d211947; }
.cx-promo-dialog::backdrop { background:#18241c85;backdrop-filter:blur(5px); }
.cx-promo-dialog__inner { display:grid;grid-template-columns:.94fr 1.06fr;position:relative; }
.cx-promo-dialog__art { margin:0;min-height:430px;position:relative;background:#e9ddc9; }
.cx-promo-dialog__art img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center; }
.cx-promo-dialog__content { padding:44px 35px 32px;display:flex;flex-direction:column;align-items:flex-start; }
.cx-promo-dialog__close { position:absolute;top:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #e5d8c8;border-radius:50%;background:#fffaf3;color:#7a614c;cursor:pointer;z-index:1; }
.cx-promo-dialog__close svg { width:15px;height:15px; }
.cx-promo-dialog__eyebrow { font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#a57843;margin:0 0 16px; }
.cx-promo-dialog h2 { margin:0;font-size:37px;line-height:1.08;letter-spacing:-.055em;text-wrap:balance; }
.cx-promo-dialog h2 em { font-family:Georgia,serif;color:#a4602e;font-weight:400; }
.cx-promo-dialog__discount { display:flex;align-items:baseline;gap:10px;margin:22px 0 14px;padding-block:14px;border-block:1px solid #eadfce;width:100%; }
.cx-promo-dialog__discount strong { font-size:50px;line-height:1;letter-spacing:-.06em;color:#9d4e27; }
.cx-promo-dialog__discount span { font-size:11px;line-height:1.6;color:#8c725a;max-width:94px; }
.cx-promo-dialog__content > p:not(.cx-promo-dialog__eyebrow) { font-size:12px;line-height:1.8;color:#8f7760;margin:0 0 20px; }
.cx-promo-dialog__cta { width:100%;display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 18px;border-radius:8px;background:#a85229;border:1px solid #a85229;color:#fff;font-size:12px;font-weight:600; }
.cx-promo-dialog__cta:hover { background:#884221;color:#fff; }
.cx-promo-dialog__later { align-self:center;margin-top:12px;font-size:10px;background:none;border:0;color:#987f66;padding:7px 10px;cursor:pointer; }
.cx-promo-dialog__fine { display:block;font-size:9px;line-height:1.65;color:#ad9781;margin-top:12px; }
@media(max-width:600px) { .cx-promo-dialog { width:calc(100vw - 28px);max-height:calc(100dvh - 32px);border-radius:16px; } .cx-promo-dialog__inner { grid-template-columns:1fr; } .cx-promo-dialog__art { min-height:0;height:180px; } .cx-promo-dialog__art img { object-position:center 54%; } .cx-promo-dialog__content { padding:25px; } .cx-promo-dialog h2 { font-size:32px; } .cx-promo-dialog__discount { margin-top:16px;padding-block:11px; } .cx-promo-dialog__discount strong { font-size:43px; } .cx-promo-dialog__content > p:not(.cx-promo-dialog__eyebrow) { margin-bottom:15px; } }
@media(max-height:650px) and (min-width:601px) { .cx-promo-dialog__art { min-height:390px; } .cx-promo-dialog__content { padding:32px 28px 24px; } .cx-promo-dialog h2 { font-size:32px; } }
/* Festive invitation — generous type, a clear offer, quiet material detail. */
.cx-promo-dialog { width:min(890px,calc(100vw - 40px));border-radius:22px;border:1px solid #e9ddcc;background:#fdfaf4; }
.cx-promo-dialog::backdrop { background:#12241cd1;backdrop-filter:blur(8px); }
.cx-promo-dialog__inner { grid-template-columns:1fr 1.08fr; }
.cx-promo-dialog__art { min-height:590px;overflow:hidden; }
.cx-promo-dialog__art > img { object-position:49% center; }
.cx-promo-dialog__art::after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,#16241c33,transparent 50%,#10241ee0);pointer-events:none; }
.cx-promo-dialog__art-brand { position:absolute;top:25px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;z-index:1; }
.cx-promo-dialog__art-brand img { position:static;width:108px;height:auto;padding:7px;background:#fffaf0dd;border:1px solid #f2e5c9;border-radius:7px; }
.cx-promo-dialog__art-brand > span { font:italic 12px Georgia,serif;color:#fff3da; }
.cx-promo-dialog__art figcaption { position:absolute;bottom:35px;left:30px;right:25px;z-index:1;color:#fff6de; }
.cx-promo-dialog__art figcaption > span { font-size:9px;letter-spacing:.17em; }
.cx-promo-dialog__art figcaption > strong { display:block;font:italic 34px/1.13 Georgia,serif;letter-spacing:-.035em;margin-top:16px; }
.cx-promo-dialog__content { padding:45px 39px 30px;background:radial-gradient(ellipse at top right,#f6ead7,transparent 55%),#fdfaf4; }
.cx-promo-dialog__close { top:15px;right:15px;width:34px;height:34px;color:#8b7458; }
.cx-promo-dialog__eyebrow { font-size:9px;letter-spacing:.12em;margin-bottom:20px;display:flex;align-items:center;gap:9px; }
.cx-promo-dialog__eyebrow > span { font-size:16px;color:#af8a4f; }
.cx-promo-dialog h2 { font-size:47px;line-height:1.03;letter-spacing:-.06em; }
.cx-promo-dialog h2 em { color:#977040; }
.cx-promo-dialog__content > p:not(.cx-promo-dialog__eyebrow) { margin:19px 0 0;font-size:12px;max-width:300px;color:#94816b; }
.cx-promo-dialog__discount { margin:21px 0 0;justify-content:space-between;align-items:center;padding-block:17px;border-color:#e8dcc8; }
.cx-promo-dialog__discount > div { display:flex;flex-direction:column;gap:5px; }
.cx-promo-dialog__discount .cx-promo-dialog__upto { font-size:9px;letter-spacing:.1em;max-width:none; }
.cx-promo-dialog__discount strong { font-size:69px;font-weight:600;color:#415b35; }
.cx-promo-dialog__discount strong > span { font-size:37px;color:inherit;font-weight:400; }
.cx-promo-dialog__discount .cx-promo-dialog__seal { display:grid;place-content:center;width:67px;height:67px;max-width:none;border-radius:50%;border:1px solid #cbb486;outline:1px solid #e8dcc1;outline-offset:4px;text-align:center;font-size:10px;letter-spacing:.12em;color:#a08451; }
.cx-promo-dialog__plans { display:grid;grid-template-columns:1fr 1fr;width:100%;gap:18px;margin-top:19px; }
.cx-promo-dialog__plans > div { display:flex;flex-direction:column;gap:6px;padding:0; }
.cx-promo-dialog__plans > div + div { border-left:1px solid #e6dbc7;padding-left:18px; }
.cx-promo-dialog__plans > div > span { font-size:10px;color:#8f7b63; }
.cx-promo-dialog__plans strong { font-size:25px;letter-spacing:-.055em;font-weight:600;color:#3f5336; }
.cx-promo-dialog__plans strong small { font-size:10px;color:#a39075;letter-spacing:0;font-weight:400;margin-left:4px; }
.cx-promo-dialog__plans > div > small { font-size:9px;color:#b19b7d; }
.cx-promo-dialog__assurance { display:flex;align-items:center;gap:7px;font-size:9px;color:#8c8d70;margin:21px 0 16px; }
.cx-promo-dialog__assurance svg { width:16px;height:16px;flex-shrink:0;color:#78935d; }
.cx-promo-dialog__cta { background:#405d32;border-color:#405d32;border-radius:9px;min-height:49px;font-size:12px;justify-content:space-between;padding-inline:19px;box-shadow:0 5px 13px #3e592315; }
.cx-promo-dialog__cta svg { width:18px;height:18px; }
.cx-promo-dialog__cta:hover { background:#2d4822; }
.cx-promo-dialog__later { font-size:10px;margin-top:8px; }
.cx-promo-dialog__fine { font-size:9px;margin-top:8px;color:#af9e86; }
@media(max-width:600px) { .cx-promo-dialog { width:calc(100vw - 26px);max-height:calc(100dvh - 24px);border-radius:17px; } .cx-promo-dialog__inner { grid-template-columns:1fr; } .cx-promo-dialog__art { min-height:0;height:174px; } .cx-promo-dialog__art > img { object-position:center 58%; } .cx-promo-dialog__art-brand { top:15px;left:17px;right:17px; } .cx-promo-dialog__art-brand img { width:88px;padding:5px; } .cx-promo-dialog__art-brand > span { display:none; } .cx-promo-dialog__art figcaption { left:19px;bottom:18px; } .cx-promo-dialog__art figcaption > span { display:none; } .cx-promo-dialog__art figcaption > strong { font-size:24px;margin:0; } .cx-promo-dialog__content { padding:25px 25px 22px; } .cx-promo-dialog__eyebrow { margin-bottom:13px;font-size:8px; } .cx-promo-dialog h2 { font-size:38px; } .cx-promo-dialog__content > p:not(.cx-promo-dialog__eyebrow) { font-size:11px;margin-top:13px; } .cx-promo-dialog__discount { margin-top:15px;padding-block:11px; } .cx-promo-dialog__discount strong { font-size:53px; } .cx-promo-dialog__discount strong > span { font-size:29px; } .cx-promo-dialog__discount .cx-promo-dialog__seal { width:54px;height:54px;font-size:9px; } .cx-promo-dialog__plans { margin-top:15px; } .cx-promo-dialog__plans strong { font-size:23px; } .cx-promo-dialog__assurance { margin:17px 0 13px; } .cx-promo-dialog__close { z-index:2;background:#fffaf1;top:12px;right:12px; } }
@media(max-height:700px) and (min-width:601px) { .cx-promo-dialog__art { min-height:530px; } .cx-promo-dialog__content { padding:28px 33px 24px; } .cx-promo-dialog h2 { font-size:41px; } .cx-promo-dialog__discount { margin-top:15px;padding-block:11px; } .cx-promo-dialog__assurance { margin-top:17px; } }
