/* Only the purchase offer/receipt dialog. Checkout and other modals stay intact. */
dialog.purchase-promo,
#w-modal.purchase-promo{
 --promo-paper:#fffcf7;--promo-ink:#302e2a;--promo-accent:#9c8668;--promo-muted:#767169;
 box-sizing:border-box;width:min(408px,calc(100vw - 32px));max-width:408px;
 max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;
 margin:auto;padding:30px 28px calc(26px + env(safe-area-inset-bottom));
 border:1px solid #e7e0d5;border-radius:24px;background:var(--promo-paper);color:var(--promo-ink);
 box-shadow:0 28px 90px #241e1830,0 4px 18px #241e1808;text-align:center;
 font-family:var(--sans,'Noto Sans KR',sans-serif);isolation:isolate;
}
dialog.purchase-promo[open]{display:flex;flex-direction:column}
dialog.purchase-promo::backdrop{background:#25232159;backdrop-filter:blur(5px)}
html:has(dialog.purchase-promo[open]),body:has(dialog.purchase-promo[open]){overflow:hidden;overscroll-behavior:none}
dialog.purchase-promo .modal-top{display:contents}
dialog.purchase-promo .modal-top>.icon-button{display:none}
dialog.purchase-promo h2{
 order:1;flex:none;margin:0;font-family:inherit;font-size:23px;font-weight:750;line-height:1.45;
 letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere;color:var(--promo-ink);
}
.purchase-promo-art{order:0;flex:none;margin:0 0 19px;color:var(--promo-accent)}
.purchase-promo-brand{display:flex;align-items:center;justify-content:center;gap:13px;font-size:9px;font-weight:600;letter-spacing:.24em;line-height:1.5;color:var(--promo-muted)}
.purchase-promo-brand::before,.purchase-promo-brand::after{content:'';width:27px;height:1px;background:currentColor;opacity:.28}
.purchase-promo-art svg{display:block;width:100px;height:64px;margin:20px auto 0}
.purchase-promo-copy{order:2;flex:none;min-width:0}
dialog.purchase-promo .purchase-promo-message{
 margin:16px 0 0;font-size:15px;font-weight:400;line-height:1.8;letter-spacing:-.035em;
 color:#57534c;word-break:keep-all;overflow-wrap:anywhere;
}
dialog.purchase-promo .purchase-promo-note{
 margin:17px 0 0;font-size:12px;line-height:1.75;font-weight:400;letter-spacing:-.025em;
 color:var(--promo-muted);word-break:keep-all;overflow-wrap:anywhere;
}
dialog.purchase-promo .purchase-promo-guidance{padding-top:17px;border-top:1px solid #e9e3da}
dialog.purchase-promo .modal-actions,dialog.purchase-promo .w-actions{
 order:3;flex:none;display:grid;grid-template-columns:minmax(0,1fr);gap:9px;width:100%;margin:27px 0 0;padding:0;
}
dialog.purchase-promo .modal-actions button,dialog.purchase-promo .w-actions button{
 display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-width:0;
 min-height:54px;height:auto;margin:0;padding:14px 12px;border:1px solid var(--promo-ink);border-radius:13px;
 background:var(--promo-ink);color:#fffdf8;box-shadow:0 4px 12px #302e2a0b;
 font:600 14px/1.5 var(--sans,'Noto Sans KR',sans-serif);letter-spacing:-.025em;
 white-space:normal;text-decoration:none;transition:background .16s,border-color .16s;
}
dialog.purchase-promo .modal-actions button.light,dialog.purchase-promo .w-actions button.w-secondary{
 background:#f6f3ee;color:#625c53;border-color:#e9e3da;box-shadow:none;font-weight:500;
}
dialog.purchase-promo .modal-actions button:focus-visible,dialog.purchase-promo .w-actions button:focus-visible{outline:2px solid var(--promo-accent);outline-offset:3px}
@media(hover:hover){
 dialog.purchase-promo .modal-actions button:hover,dialog.purchase-promo .w-actions button:hover{background:#47433c}
 dialog.purchase-promo .modal-actions button.light:hover,dialog.purchase-promo .w-actions button.w-secondary:hover{background:#eeeadf}
}
#w-modal.purchase-promo{
 --promo-paper:#fffefa;--promo-ink:#354a48;--promo-accent:#a3906b;--promo-muted:#74756c;
 border-color:#deded1;background:radial-gradient(ellipse at 50% 0,#f7f3e9 0,transparent 60%),var(--promo-paper);
 box-shadow:0 28px 90px #233e3826,0 0 0 5px #fffefa1a;
}
#w-modal.purchase-promo h2{font-family:var(--serif,'Noto Serif KR',serif);font-weight:600;letter-spacing:-.055em}
#w-modal.purchase-promo .purchase-promo-brand{letter-spacing:.2em;font-size:8.5px}
#w-modal.purchase-promo .w-actions button.w-secondary{background:#f4f5f0;color:#58645c;border-color:#e1e4da}
@media(max-width:350px){
 dialog.purchase-promo,#w-modal.purchase-promo{padding:26px 21px calc(22px + env(safe-area-inset-bottom));border-radius:21px}
 dialog.purchase-promo h2{font-size:20px}
 dialog.purchase-promo .purchase-promo-message{font-size:14px;line-height:1.75}
 .purchase-promo-art{margin-bottom:16px}.purchase-promo-art svg{width:88px;height:57px;margin-top:16px}
 dialog.purchase-promo .modal-actions,dialog.purchase-promo .w-actions{margin-top:23px}
}
@media(prefers-reduced-motion:reduce){dialog.purchase-promo button{transition:none!important}}

/* Compact acknowledgement for the pre-payment offer only. */
dialog.purchase-promo[data-purchase-promotion-kind="before"],
#w-modal.purchase-promo[data-purchase-promotion-kind="before"]{
 width:min(360px,calc(100vw - 32px));max-width:360px;
 padding:22px 22px calc(20px + env(safe-area-inset-bottom));border-radius:22px;
}
dialog.purchase-promo[data-purchase-promotion-kind="before"] h2{font-size:20px;line-height:1.4}
dialog.purchase-promo[data-purchase-promotion-kind="before"] .purchase-promo-art{margin-bottom:12px}
dialog.purchase-promo[data-purchase-promotion-kind="before"] .purchase-promo-art svg{margin-top:12px}
dialog.purchase-promo[data-purchase-promotion-kind="before"] .purchase-promo-message{margin-top:12px;font-size:14px;line-height:1.75}
dialog.purchase-promo[data-purchase-promotion-kind="before"] .modal-actions,
dialog.purchase-promo[data-purchase-promotion-kind="before"] .w-actions{margin-top:18px}
dialog.purchase-promo[data-purchase-promotion-kind="before"] .modal-actions button,
dialog.purchase-promo[data-purchase-promotion-kind="before"] .w-actions button{min-height:48px;padding:12px;font-size:15px}
@media(max-width:350px){
 dialog.purchase-promo[data-purchase-promotion-kind="before"],#w-modal.purchase-promo[data-purchase-promotion-kind="before"]{padding-inline:18px}
 dialog.purchase-promo[data-purchase-promotion-kind="before"] h2{font-size:18px}
}
