/* KOY-4064. Canvas coordinates follow Figma 66:2 / 66:34 / 66:69. */
.sm-offer[hidden] { display:none!important; }
.sm-offer { position:fixed; inset:0; z-index:100100; display:flex; align-items:center; justify-content:center; padding:32px 24px; font-family:'Onest',sans-serif; color:#17161c; }
.sm-offer * { box-sizing:border-box; }
.sm-offer__backdrop { position:absolute; inset:0; background:rgba(14,10,45,.7); }
.sm-offer__window { position:relative; width:min(1240px,100%); max-height:calc(100dvh - 64px); container-type:inline-size; overflow:auto; border-radius:18px; box-shadow:0 20px 80px #0005; }
.sm-offer__canvas { position:relative; width:100%; overflow:hidden; border-radius:18px; isolation:isolate; }
.sm-offer__close { position:absolute; right:12px; top:12px; z-index:8; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; width:40px; height:40px; padding:0; background:#fff; color:#17161c; cursor:pointer; font:30px/1 Arial,sans-serif; box-shadow:0 2px 10px #0002; }
.sm-offer__close:focus-visible, .sm-offer__cta:focus-visible { outline:3px solid #6f5ce0; outline-offset:4px; }
.sm-offer__canvas h2, .sm-offer__canvas p { margin:0; padding:0; text-transform:none; }
.sm-offer__canvas h2, .sm-offer__badge, .sm-offer__price { font-family:'Benzin',sans-serif!important; font-weight:600; }
.sm-offer__canvas p, .sm-offer__cta, .sm-offer__package { font-family:'Onest',sans-serif!important; }
.sm-offer__photo { position:absolute; height:100%; max-width:none; object-fit:cover; z-index:-3; }
.sm-offer__terms { position:absolute; left:4.1935%; font-size:.92742cqw; line-height:1.55; font-weight:400; }
.sm-offer__badge { position:absolute; display:block; background:#fff; border-radius:999px; white-space:nowrap; }
.sm-offer__cta { position:absolute; left:4.1935%; display:inline-flex; align-items:center; justify-content:center; gap:.80645cqw; padding:1.2903cqw 2.2581cqw; border:0; border-radius:.80645cqw; background:#17161c; color:#fff!important; font-size:1.16935cqw; line-height:18px; font-weight:500; text-decoration:underline!important; cursor:pointer; }
.sm-offer__cta span { font-size:1.5em; line-height:1; text-decoration:none; }
.sm-offer__cta:hover { filter:brightness(1.15); }

.sm-offer--outdoor .sm-offer__canvas { aspect-ratio:1240/527.42; background:#ded6fc; }
.sm-offer--outdoor .sm-offer__photo { left:25.1613%; top:0; width:85%; height:99.92%; }
.sm-offer__outdoor-overlay { position:absolute; z-index:-2; left:-.2839%; top:-4.137%; width:75.363%; height:123.1%; max-width:none; }
.sm-offer__outdoor-title { position:absolute; top:15.1682%; left:4.1935%; display:flex; align-items:flex-end; gap:1.4516cqw; line-height:1!important; }
.sm-offer__fifteen { color:#6f5ce0; font-size:13.7097cqw; line-height:.74; letter-spacing:-.06em; }
.sm-offer__screens { position:relative; font-size:3.2258cqw; line-height:1; letter-spacing:-.02em; padding-bottom:.25cqw; }
.sm-offer__one-price { display:inline-block; white-space:nowrap; background:#ffd62b; padding:.2419cqw 1.129cqw .5645cqw; border-radius:.9677cqw; transform:rotate(-3deg); margin-top:.5cqw; margin-left:-.8065cqw; }
.sm-offer__price { position:absolute; top:46.604%; left:4.1935%; padding:1.9355cqw 2.2581cqw 1.4516cqw; border-radius:3.7903cqw; background:#fff; font-size:4.8387cqw; line-height:1; letter-spacing:-.03em; white-space:nowrap; }
.sm-offer__package { position:absolute; left:1.7742cqw; top:-1.129cqw; padding:.4839cqw .9677cqw; font-size:1.03226cqw; line-height:1.25; font-weight:700; border-radius:.6452cqw; color:#fff; background:#6f5ce0; letter-spacing:0; }
.sm-offer--outdoor .sm-offer__cta { top:71.25%; }
.sm-offer--outdoor .sm-offer__terms { top:84.791%; width:32.2581%; color:#5d5878; }

.sm-offer--signboard .sm-offer__canvas { aspect-ratio:1240/488.6; background:#2c2744; }
.sm-offer--signboard .sm-offer__photo { left:28.9516%; top:-.819%; width:71.0484%; height:101.515%; object-fit:fill; }
.sm-offer__signboard-shape { position:absolute; inset:0 auto auto 0; width:55.4839%; height:100%; max-width:none; z-index:-1; }
.sm-offer--signboard .sm-offer__badge { left:4.1935%; top:8.187%; padding:1.1296cqw; font-size:1.24259cqw; line-height:1; }
.sm-offer__signboard-title { position:absolute; top:22.68%; left:4.18%; font-size:4.9631cqw!important; line-height:.95!important; letter-spacing:-.04em; white-space:nowrap; }
.sm-offer__signboard-title span { display:inline-block; color:#fff; background:#6f5ce0; border-radius:1.0218cqw; padding:.292cqw 1.3138cqw .73cqw; margin-top:.15cqw; margin-left:-.138cqw; transform:rotate(-3deg); }
.sm-offer__gift { background:#6f5ce0; border-radius:50%; position:absolute; left:39.1129%; top:34.6%; width:15.1145%; height:auto; max-width:none; }
.sm-offer__intro { position:absolute; left:6.29%; top:54.07%; font-size:1.2903cqw; line-height:1.45; font-weight:500; }
.sm-offer__intro::before { content:''; position:absolute; right:calc(100% + 12px); top:8px; width:14px; height:14px; border-top:2px solid #17161c; border-right:2px solid #17161c; }
.sm-offer--signboard .sm-offer__cta { top:69.01%; }
.sm-offer--signboard .sm-offer__terms { top:83.65%; width:29.0323%; color:#4b3f0a; }

.sm-offer--newyear .sm-offer__canvas { aspect-ratio:1240/609.31; background:#2c2744; }
.sm-offer--newyear .sm-offer__photo { left:0; top:-1.1488%; width:100.4839%; height:102.245%; }
.sm-offer__newyear-shade { position:absolute; z-index:-2; left:-.2839%; top:-3.581%; width:87.9532%; height:106.556%; background:linear-gradient(101deg,rgba(14,10,45,1) 7%,rgba(14,10,45,0) 82%); }
.sm-offer__newyear-shade::after { content:''; position:absolute; inset:0; background:inherit; }
.sm-offer__glow { position:absolute; z-index:-1; left:-25.85%; top:-64.426%; width:125.3629%; height:234.527%; max-width:none; pointer-events:none; }
.sm-offer--newyear .sm-offer__badge { left:4.1935%; top:14.4426%; padding:1.9272cqw; font-size:2.12cqw; line-height:1.35; }
.sm-offer__discount { position:absolute; left:4.1935%; top:29%; color:#ffd62b!important; font-size:20.584cqw!important; line-height:.8!important; letter-spacing:-.0274em; }
.sm-offer__discount span { display:inline-block; font-size:11.3211cqw; line-height:.8; vertical-align:top; margin-top:.03cqw; letter-spacing:-.04em; }
.sm-offer__discount-text { position:absolute; left:4.1935%; top:60.197%; width:56.286%; color:#fff; font-size:2.09677cqw; line-height:1.196; font-weight:700; white-space:nowrap; }
.sm-offer--newyear .sm-offer__cta { top:74.346%; background:#ffd62b; color:#17161c!important; font-weight:700; font-size:1.1452cqw; }
.sm-offer--newyear .sm-offer__terms { top:86.326%; width:30.6452%; color:#8f88b0; }

@media (max-width:1023px) {
 .sm-offer { padding:20px 12px; }
 .sm-offer__window { width:min(480px,100%); max-height:calc(100dvh - 40px); overflow-y:auto; border-radius:16px; }
 .sm-offer__canvas { min-height:590px; aspect-ratio:auto!important; padding:68px 24px 28px; display:flex; flex-direction:column; align-items:flex-start; gap:24px; border-radius:16px; }
 .sm-offer__close { position:sticky; float:right; top:10px; margin:10px 10px -50px 0; }
 .sm-offer__canvas h2, .sm-offer__canvas p, .sm-offer__badge, .sm-offer__price, .sm-offer__cta { position:relative; top:auto!important; left:auto!important; }
 .sm-offer__canvas h2 { margin:0; }
 .sm-offer__badge { white-space:normal; font-size:13px!important; padding:12px 16px!important; line-height:1.4!important; max-width:100%; }
 .sm-offer__terms { width:100%!important; font-size:12px; line-height:1.5; order:6; }
 .sm-offer__cta { padding:16px 18px; gap:12px; font-size:14px!important; line-height:1.4; border-radius:10px; max-width:100%; order:5; text-align:left; }
 .sm-offer__photo { position:relative; inset:auto!important; width:calc(100% + 48px)!important; height:180px!important; margin:0 -24px -28px; object-fit:cover!important; order:8; }
 .sm-offer__outdoor-overlay, .sm-offer__signboard-shape, .sm-offer__glow, .sm-offer__newyear-shade { display:none; }
 .sm-offer--outdoor .sm-offer__canvas { background:#ded6fc; }
 .sm-offer__outdoor-title { gap:clamp(8px,2.5cqw,12px); }
 .sm-offer__fifteen { font-size:clamp(68px,26cqw,95px); }
 .sm-offer__screens { font-size:clamp(16px,5.5cqw,22px); }
 .sm-offer__one-price { padding:4px 8px 6px; border-radius:8px; margin-top:7px; margin-left:0; }
 .sm-offer__price { margin-top:12px; padding:28px 18px 20px; font-size:clamp(28px,10vw,42px); border-radius:28px; }
 .sm-offer__package { top:-14px; left:12px; font-size:11px; padding:7px 10px; border-radius:8px; }
 .sm-offer--signboard .sm-offer__canvas { background:#ffd62b; }
 .sm-offer__signboard-title { font-size:clamp(27px,7.5vw,42px)!important; line-height:1.15!important; white-space:normal; }
 .sm-offer__signboard-title span { padding:4px 10px 8px; border-radius:9px; margin-top:3px; }
 .sm-offer__gift { position:relative; top:auto; left:auto; width:90px; height:90px; margin:-6px 0; }
 .sm-offer__intro { font-size:16px; margin-left:24px!important; }
 .sm-offer__intro::before { top:6px; }
 .sm-offer--newyear .sm-offer__canvas { background:#2c2744; }
 .sm-offer__discount { font-size:clamp(110px,35vw,180px)!important; }
 .sm-offer__discount span { font-size:clamp(60px,19vw,95px); }
 .sm-offer__discount-text { width:100%; font-size:22px; line-height:1.25; white-space:normal; }
}
@media (prefers-reduced-motion:no-preference) {
 .sm-offer:not([hidden]) .sm-offer__window { animation:sm-offer-appear .2s ease-out; }
 @keyframes sm-offer-appear { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
}

.sm-offer--outdoor .sm-offer__cta::after { content:""; position:absolute; right:8px; top:7.2px; width:14px; height:14px; border-top:2px solid #ffd62b; border-right:2px solid #ffd62b; border-radius:2px; }
/* Keep the existing request form's close button above its mobile photo. */
.sm-modal__window > .sm-modal__close { z-index:2; }
