.product-promotion{position:fixed;inset:0;margin:auto;padding:0;border:0;border-radius:16px;width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--bg-card);color:var(--navy);box-shadow:0 20px 70px #0005}
.product-promotion[open]{display:grid;grid-template-columns:1fr 1fr}
.product-promotion::backdrop{background:rgb(0 0 0 / .6)}
.product-promotion-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:var(--bg-card);color:var(--navy);font-size:30px;cursor:pointer;z-index:1}
.product-promotion-photo{background:var(--bg-soft);display:flex;align-items:center}
.product-promotion-photo img{display:block;width:100%;height:100%;max-height:440px;object-fit:cover}
.product-promotion-copy{padding:60px 28px 32px}
.product-promotion h2{font-size:27px;line-height:1.15;letter-spacing:-.02em;margin:0 0 20px}
.product-promotion-name{font-size:16px;line-height:1.5;margin:0 0 16px}
.product-promotion-price{color:var(--primary);font-size:30px;font-weight:700;margin:0 0 16px;font-variant-numeric:tabular-nums}
.product-promotion-price span{font-size:13px;font-weight:400;color:var(--body)}
.product-promotion-note{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 22px}
.product-promotion .btn{width:100%;gap:12px}
.product-promotion :focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@media(max-width:540px){.product-promotion[open]{grid-template-columns:1fr}.product-promotion-photo img{height:210px;object-fit:contain}.product-promotion-copy{padding:24px}.product-promotion h2{font-size:25px;margin-bottom:12px}}
