.shop-page .promotion-page{max-width:1180px;margin-inline:auto;padding-block:28px 70px}
.promotion-page-heading{margin:30px 0 24px}
.promotion-eyebrow{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:hsl(var(--brand));margin:0 0 10px}
.promotion-eyebrow>span{margin-inline:9px;color:hsl(var(--ink-muted))}
.shop-page .promotion-page-heading h1{font-size:clamp(27px,3.2vw,44px);line-height:1.15;margin:0;max-width:900px}
.promotion-hero{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid hsl(var(--line));border-radius:14px;overflow:hidden;background:hsl(var(--surface))}
.promotion-visual{margin:0;min-height:310px;position:relative;background:hsl(var(--brand)/.055);display:flex;align-items:center;justify-content:center;overflow:hidden}
.promotion-visual img{width:100%;height:100%;min-height:310px;max-height:470px;object-fit:contain}
.promotion-visual--graphic{flex-direction:column;align-items:flex-start;justify-content:space-between;padding:32px;background:radial-gradient(ellipse at 100% 20%,hsl(var(--brand)/.17),transparent 60%),hsl(var(--brand)/.055)}
.promotion-visual--graphic::after{content:'';position:absolute;width:300px;height:300px;border:1px solid hsl(var(--brand)/.12);border-radius:50%;right:-95px;top:20px;box-shadow:0 0 0 45px hsl(var(--brand)/.035),0 0 0 90px hsl(var(--brand)/.025);pointer-events:none}
.promotion-visual-symbol{width:62px;height:62px;display:grid;place-items:center;border-radius:16px;background:hsl(var(--surface));border:1px solid hsl(var(--brand)/.18);color:hsl(var(--brand));z-index:1}
.promotion-visual-symbol lumen-icon{width:32px;height:32px}
.promotion-visual-caption{position:relative;z-index:1;margin-top:50px;max-width:100%}
.promotion-visual-caption>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--ink-muted));display:block;margin-bottom:10px}
.promotion-visual-caption strong{font-size:clamp(24px,2.7vw,36px);line-height:1.2;overflow-wrap:anywhere;color:hsl(var(--ink))}
.promotion-visual-caption strong span{font-weight:400;color:hsl(var(--brand)/.6)}
.promotion-brief{padding:30px;display:flex;flex-direction:column;align-items:flex-start}
.promotion-state{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:hsl(var(--success));margin-bottom:18px}
.promotion-state>span{width:6px;height:6px;border-radius:50%;background:currentColor}
.promotion-state--ended{color:hsl(var(--ink-muted))}
.shop-page .promotion-brief h2{font-size:21px;margin:0 0 12px}
.promotion-lead{font-size:15px;line-height:1.7;margin:0 0 24px;color:hsl(var(--ink))}
.promotion-facts{display:grid;grid-template-columns:.65fr 1.35fr;gap:20px;border-top:1px solid hsl(var(--line));padding-top:18px;margin:0 0 24px;width:100%}
.promotion-facts dt{font-size:11px;color:hsl(var(--ink-muted));margin-bottom:6px}
.promotion-facts dd{margin:0;font-size:13px;line-height:1.5}
.promotion-facts small{display:block;color:hsl(var(--ink-muted));font-size:10px;margin-top:2px}
.promotion-main-action{margin-top:auto;gap:14px;text-decoration:none;min-height:42px}
.promotion-main-action lumen-icon{width:16px;height:16px}
.promotion-archive-note{font-size:13px;color:hsl(var(--ink-muted))}
.promotion-page-nav{display:flex;gap:25px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid hsl(var(--line));font-size:13px}
.promotion-page-nav a{color:hsl(var(--ink-muted));text-decoration:none}
.promotion-page-nav a:hover{color:hsl(var(--brand))}
.promotion-page-section{padding-top:40px;scroll-margin-top:24px}
.promotion-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.shop-page .promotion-section-heading h2{font-size:clamp(22px,2.1vw,29px);line-height:1.25;margin:0}
.promotion-section-heading .promotion-eyebrow{margin-bottom:8px}
.promotion-condition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.promotion-condition-card{background:hsl(var(--surface));border:1px solid hsl(var(--line));border-radius:10px;padding:24px;min-width:0;overflow-wrap:anywhere}
.promotion-condition-card:only-child{grid-column:1/-1}
.promotion-condition-grid{align-items:start}
.promotion-condition-details>summary{list-style:none;cursor:pointer}
.promotion-condition-details>summary::-webkit-details-marker{display:none}
.promotion-condition-preview{display:block;margin-bottom:12px}
.promotion-condition-toggle{display:inline-flex;align-items:center;gap:7px;min-height:36px;color:hsl(var(--brand));font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.promotion-condition-toggle lumen-icon{width:15px;height:15px}
.promotion-condition-collapse,.promotion-condition-details[open] .promotion-condition-expand,.promotion-condition-details[open] .promotion-condition-preview{display:none}
.promotion-condition-details[open] .promotion-condition-collapse{display:inline}
.promotion-condition-details[open] .promotion-condition-toggle lumen-icon{transform:rotate(180deg)}
.promotion-condition-details>summary:focus-visible{outline:2px solid hsl(var(--brand));outline-offset:5px;border-radius:3px}
.promotion-condition-full{margin-top:12px}
.promotion-condition-group-title{grid-column:1/-1;font-size:15px;font-weight:400;color:hsl(var(--ink-muted));margin:0 0 2px}
.promotion-section-number{display:block;font-size:11px;letter-spacing:.08em;color:hsl(var(--brand));margin-bottom:14px}
.shop-page .promotion-condition-card h3{font-size:17px;line-height:1.35;margin:0 0 13px;color:hsl(var(--ink))}
.promotion-prose{font-size:14px;line-height:1.75;overflow-wrap:anywhere;color:hsl(var(--ink-muted))}
.promotion-prose p{margin:0 0 12px}.promotion-prose p:last-child{margin-bottom:0}
.promotion-prose ul,.promotion-prose ol{padding-left:21px;margin:10px 0}
.promotion-prose li{margin-bottom:7px}.promotion-prose strong,.promotion-prose b{color:hsl(var(--ink))}
.promotion-prose a{color:hsl(var(--brand));text-decoration:underline;text-underline-offset:3px}
.promotion-prose img{max-width:100%;height:auto}.promotion-prose table{display:block;width:100%;overflow:auto;border-collapse:collapse}
.promotion-prose th,.promotion-prose td{padding:8px;border:1px solid hsl(var(--line))}
.promotion-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.shop-page a.promotion-resource-link{display:flex;align-items:center;gap:14px;border:1px solid hsl(var(--line));border-radius:9px;padding:19px;background:hsl(var(--surface));color:hsl(var(--ink));text-decoration:none;font-size:14px}
.promotion-resource-link lumen-icon{width:19px;height:19px;color:hsl(var(--brand));flex:none}.promotion-resource-link lumen-icon:last-child{margin-left:auto;width:16px}
.shop-page a.promotion-resource-link:hover{border-color:hsl(var(--brand)/.55);background:hsl(var(--brand)/.04)}
.promotion-product-count{color:hsl(var(--ink-muted));font-size:13px;white-space:nowrap}
.promotion-section-intro{font-size:13px;color:hsl(var(--ink-muted));margin:0 0 18px;line-height:1.6}
.promotion-product-search{display:flex;gap:10px;margin-bottom:22px;align-items:center;max-width:700px}
.promotion-product-search input{flex:1;min-width:0}.promotion-product-search a{font-size:12px}
.promotion-page .promotion-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.promotion-products-status{font-size:13px;color:hsl(var(--ink-muted));line-height:1.6}
.promotion-empty{padding:30px;border:1px dashed hsl(var(--line));border-radius:8px;grid-column:1/-1;font-size:14px;color:hsl(var(--ink-muted))}
.promotion-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:26px;font-size:13px}
@media(max-width:850px){.promotion-hero{grid-template-columns:1fr}.promotion-visual{min-height:220px}.promotion-visual img{min-height:0;max-height:320px}.promotion-visual--graphic{min-height:220px;padding:25px}.promotion-visual-caption{margin-top:20px}.promotion-page .promotion-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.shop-page .promotion-page{padding-top:16px}.promotion-page-heading{margin:22px 0 18px}.promotion-brief{padding:23px}.promotion-hero{border-radius:10px}.promotion-condition-grid,.promotion-link-grid{grid-template-columns:1fr}.promotion-condition-card{padding:21px}.promotion-page-nav{gap:14px;font-size:12px}.promotion-page-section{padding-top:30px}.promotion-section-heading{align-items:flex-start;flex-direction:column;gap:8px}.promotion-page .promotion-product-grid{gap:10px}.promotion-product-search{flex-wrap:wrap}.promotion-product-search input{flex-basis:65%}.promotion-main-action{width:100%;justify-content:center}.promotion-facts{grid-template-columns:.7fr 1.3fr;gap:12px}}
@media(max-width:380px){.promotion-page .promotion-product-grid{grid-template-columns:1fr}.promotion-facts{grid-template-columns:1fr}}
