.promotion-dialog{border:0;padding:0;width:min(840px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;background:#f8f6ef;color:var(--ink);overflow:auto;border-radius:8px;box-shadow:0 25px 100px #09291f40}.promotion-dialog::backdrop{background:#08271ec4;backdrop-filter:blur(4px)}.promo-content{container-type:inline-size}.promo-card{display:grid;grid-template-columns:43% 57%;min-width:0}.promo-visual{background:#e8e7db;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:65px 24px 24px;overflow:hidden}.promo-visual img{width:100%;height:330px;object-fit:contain;mix-blend-mode:multiply}.promo-visual>p{text-align:center;font:italic 19px/1.5 var(--serif);margin:25px 0 0;max-width:180px}.promo-stamp{position:absolute;top:30px;left:26px;width:94px;height:94px;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-10deg);background:var(--pine);color:var(--cream);border-radius:50%;font:42px/1 var(--serif)}.promo-stamp small{font:500 9px/1.3 var(--sans);letter-spacing:.12em;margin-top:5px}.promo-copy{padding:43px 34px 22px;min-width:0}.promo-eyebrow{font:500 9px/1.5 var(--sans);letter-spacing:.18em;margin:0 0 17px}.promo-copy h2{font:400 43px/1.04 var(--serif);letter-spacing:-.045em;overflow-wrap:anywhere;margin:0 0 16px}.promo-description{font-size:13px;line-height:1.65;margin:0 0 18px}.promo-product{border-top:1px solid var(--line);padding-top:15px;margin:0 0 16px;font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}.promo-product>span{max-width:100%;overflow-wrap:anywhere}.promo-product>div{display:flex;gap:8px;white-space:nowrap}.promo-product s{color:var(--muted)}.promo-product strong{font-weight:600}.promo-code{width:100%;padding:12px 14px;min-height:64px;border:1px dashed #899887;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:3px;background:#eeeee2;color:var(--ink);text-align:left}.promo-code>span:first-child{font-size:8px;letter-spacing:.14em}.promo-code strong{display:block;font:500 20px/1.4 var(--sans);letter-spacing:.08em;overflow-wrap:anywhere;user-select:all}.promo-code [data-copy-label]{font-size:11px;white-space:nowrap;letter-spacing:0}.promo-cta{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--pine);color:var(--cream);padding:14px 16px;min-height:48px;border-radius:3px;font-size:13px;margin:12px 0 13px;text-decoration:none}.promo-cta:hover{background:#285745}.promo-cta span{font-size:20px}.promo-terms{font-size:10px;line-height:1.55;color:var(--muted);margin:0}.promo-preview-note{font-size:10px;line-height:1.5;color:#805330;margin:9px 0 0}.promo-status{font-size:11px;line-height:1.5;margin:0}.promo-status:not(:empty){margin-top:10px}.promo-close{position:absolute;right:9px;top:9px;z-index:2;width:38px;height:38px;border:0;background:#f8f6efdc;border-radius:50%;font:28px/1 var(--sans);color:var(--ink);display:grid;place-items:center}.promo-launcher{position:fixed;z-index:70;left:22px;bottom:22px;display:flex;align-items:center;gap:12px;border:1px solid #829a86;border-radius:40px;background:var(--pine);color:var(--cream);font:400 12px/1.4 var(--sans);padding:9px 13px 9px 16px;min-height:46px;box-shadow:0 4px 18px #09291f29}.promo-launcher>span{font-size:22px}.promo-launcher b{font-size:12px;font-weight:500;border-radius:20px;background:#e0e6cf;color:var(--ink);padding:5px 8px}.promo-close:focus-visible,.promo-code:focus-visible,.promo-cta:focus-visible,.promo-launcher:focus-visible{outline:2px solid #b2843d;outline-offset:3px}
.promotion-admin .studio-layout{grid-template-columns:minmax(290px,36%) minmax(0,1fr)}.promotion-admin .studio-form{grid-template-columns:1fr 1fr}.promotion-admin .wide{grid-column:1/-1}.promotion-toggle{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.promotion-toggle input{accent-color:var(--pine);width:20px;height:20px;flex-shrink:0}.promotion-toggle small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted)}.promotion-admin .studio-preview{top:20px}.promo-preview-stage{background:#bcc8b9;padding:24px;display:flex;justify-content:center;border-radius:5px}.promo-preview-stage .promo-content{width:100%;max-width:840px;background:#f8f6ef;border-radius:6px;overflow:hidden;box-shadow:0 15px 35px #09291f1c}.promo-preview-stage.mobile .promo-content{max-width:350px}.promo-preview-state{font-size:12px;margin:0 0 12px;color:var(--muted)}.promo-admin-note{font-size:13px;line-height:1.7;color:var(--muted);margin:20px 0}.promotion-admin [hidden]{display:none!important}
.discount-form{margin:12px 0 18px}.discount-form label{display:block;font-size:13px;margin-bottom:8px}.discount-entry{display:flex;gap:8px}.discount-entry input{width:0;min-width:0;flex:1;border:1px solid var(--line);background:#fbfaf6;border-radius:3px;padding:11px 12px;font:14px var(--sans);text-transform:uppercase}.discount-entry button{border:1px solid var(--pine);border-radius:3px;padding:10px 14px;font-size:13px;min-height:44px}.discount-feedback{font-size:12px;line-height:1.5;margin-top:9px;color:#863f22}.discount-feedback[data-success=true]{color:var(--pine)}.discount-applied{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#e7ecdf;font-size:12px;line-height:1.5}.discount-applied button{min-height:36px;text-decoration:underline;font-size:12px}.cart-row.discount-row{color:#356345}
@container(max-width:650px){.promo-card{grid-template-columns:1fr}.promo-visual{height:160px;padding:8px 22px;flex-direction:row;justify-content:center}.promo-visual img{height:170px;width:75%;max-width:280px;margin-left:35px}.promo-stamp{top:20px;left:20px;width:72px;height:72px;font-size:32px;z-index:1}.promo-stamp small{font-size:7px}.promo-visual>p{display:none}.promo-copy{padding:24px 24px 20px}.promo-copy h2{font-size:35px;max-width:12em}.promo-eyebrow{margin-bottom:12px}.promo-description{font-size:12px;margin-bottom:15px}.promo-product{margin-bottom:13px}.promo-code{min-height:58px}.promo-code strong{font-size:18px}}
@media(max-width:900px){.promotion-admin .studio-layout{grid-template-columns:1fr}.promotion-admin .studio-editor{max-width:none}.promo-preview-stage{padding:20px}.promotion-admin .studio-preview{position:static}}
@media(max-width:600px){.promotion-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.promo-launcher{left:12px;bottom:12px;min-height:42px;gap:8px;padding:7px 10px 7px 12px;font-size:11px}.promotion-admin .studio-form{grid-template-columns:1fr}.promotion-admin .wide{grid-column:auto}.promo-preview-stage{padding:12px}.promo-copy h2{font-size:34px}.promo-close{right:7px;top:7px}.promo-preview-stage .promo-copy{padding:22px 18px}}
@media(prefers-reduced-motion:no-preference){.promotion-dialog[open]{animation:promo-in .28s ease-out}@keyframes promo-in{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}}
/* Keep the desktop preview proportional to the real 840px dialog. */
.promo-preview-stage:not(.mobile) .promo-card{grid-template-columns:43% 57%}.promo-preview-stage:not(.mobile) .promo-visual{height:auto;padding:7.74cqw 2.86cqw 2.86cqw;flex-direction:column}.promo-preview-stage:not(.mobile) .promo-visual img{height:39.3cqw;width:100%;max-width:none;margin:0}.promo-preview-stage:not(.mobile) .promo-visual>p{display:block;font-size:2.26cqw;margin:2.98cqw 0 0;max-width:21.43cqw}.promo-preview-stage:not(.mobile) .promo-stamp{top:3.57cqw;left:3.1cqw;width:11.2cqw;height:11.2cqw;font-size:5cqw}.promo-preview-stage:not(.mobile) .promo-stamp small{font-size:1.07cqw;margin-top:.6cqw}.promo-preview-stage:not(.mobile) .promo-copy{padding:5.12cqw 4.05cqw 2.62cqw}.promo-preview-stage:not(.mobile) .promo-copy h2{font-size:5.12cqw;max-width:none;margin-bottom:1.9cqw}.promo-preview-stage:not(.mobile) .promo-eyebrow{font-size:1.07cqw;margin-bottom:2.02cqw}.promo-preview-stage:not(.mobile) .promo-description{font-size:1.55cqw;margin-bottom:2.14cqw}.promo-preview-stage:not(.mobile) .promo-product{font-size:1.43cqw;padding-top:1.79cqw;margin-bottom:1.9cqw;gap:.95cqw}.promo-preview-stage:not(.mobile) .promo-product>div{gap:.95cqw}.promo-preview-stage:not(.mobile) .promo-code{min-height:7.62cqw;padding:1.43cqw 1.67cqw;gap:1.19cqw}.promo-preview-stage:not(.mobile) .promo-code>span:first-child{font-size:.95cqw}.promo-preview-stage:not(.mobile) .promo-code strong{font-size:2.38cqw}.promo-preview-stage:not(.mobile) [data-copy-label]{font-size:1.31cqw}.promo-preview-stage:not(.mobile) .promo-cta{font-size:1.55cqw;padding:1.67cqw 1.9cqw;min-height:5.71cqw;margin:1.43cqw 0 1.55cqw}.promo-preview-stage:not(.mobile) .promo-cta span{font-size:2.38cqw}.promo-preview-stage:not(.mobile) .promo-terms,.promo-preview-stage:not(.mobile) .promo-preview-note{font-size:1.19cqw}.promo-preview-stage:not(.mobile) .promo-preview-note{margin-top:1.07cqw}
