.promo{padding:clamp(1.5rem,4vw,3rem) 0 clamp(3rem,6vw,5rem);min-height:70vh}.promo__back{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--fs-sm);font-weight:600;color:var(--c-muted);margin-bottom:var(--space-5);transition:color .2s var(--ease-out),gap .2s var(--ease-out)}.promo__back:hover{color:var(--c-brand-strong);gap:.6rem}.promo__state{text-align:center;padding:clamp(2rem,6vw,5rem) 1rem;color:var(--c-muted)}.promo__spin{font-size:2rem;color:var(--c-brand);animation:promo-spin .8s linear infinite}@keyframes promo-spin{to{transform:rotate(360deg)}}.promo__state-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--c-brand-tint);color:var(--c-brand-strong);font-size:1.8rem;margin-bottom:var(--space-3)}.promo__state h1{font-size:var(--fs-xl);color:var(--c-ink)}.promo__state p{margin:.4rem 0 1.2rem}.promo__top{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;max-width:1080px;margin:0 auto}.promo__pack{max-width:1080px;margin:clamp(2rem,4vw,3rem) auto 0;padding-top:var(--space-6);border-top:1px solid var(--c-line)}.promo__gallery{display:flex;flex-direction:column;gap:var(--space-3)}.promo__main{position:relative;display:grid;place-items:center;aspect-ratio:1;background:linear-gradient(160deg,var(--c-brand-wash),var(--c-surface));border:1px solid var(--c-line);border-radius:var(--radius-lg);overflow:hidden;padding:var(--space-6)}.promo__main img{width:100%;height:100%;object-fit:contain;transition:opacity .3s var(--ease-out),transform .4s var(--ease-out);filter:drop-shadow(0 14px 24px rgba(21,41,59,.16))}.promo__badge{position:absolute;top:1rem;left:1rem;z-index:2;display:inline-flex;align-items:center;gap:.3em;background:var(--c-brand);color:#fff;font-size:var(--fs-xs);font-weight:800;padding:.4em .85em;border-radius:var(--radius-pill);box-shadow:0 6px 14px color-mix(in srgb,var(--c-brand) 35%,transparent)}.promo__badge[hidden]{display:none}.promo__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--c-brand);color:#fff;border:none;cursor:pointer;text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);padding:.95em 1.4em;border-radius:var(--radius-pill);box-shadow:0 8px 20px color-mix(in srgb,var(--c-brand) 32%,transparent);transition:background-color .2s var(--ease-out),transform .15s var(--ease-out),box-shadow .2s var(--ease-out)}.promo__btn:hover{background:var(--c-brand-strong);transform:translateY(-2px);box-shadow:0 12px 26px color-mix(in srgb,var(--c-brand) 40%,transparent)}.promo__btn:active{transform:translateY(0) scale(.99)}.promo__eyebrow{display:inline-flex;align-items:center;gap:.4em;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-brand-strong);background:var(--c-brand-tint);padding:.4em .9em;border-radius:var(--radius-pill)}.promo__title{font-size:var(--fs-2xl);line-height:1.1;margin:var(--space-3) 0 var(--space-2)}.promo__desc{color:var(--c-muted);font-size:var(--fs-md);line-height:1.6}.promo__desc:empty{display:none}.promo__pricebox{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin:var(--space-5) 0;padding:var(--space-4);background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--radius-lg)}.promo__priceline{display:flex;align-items:baseline;gap:.6rem}.promo__normal{color:var(--c-muted);text-decoration:line-through;font-size:var(--fs-md)}.promo__normal:empty{display:none}.promo__price{font-family:var(--font-display);font-weight:800;font-size:var(--fs-2xl);color:var(--c-brand-strong);line-height:1}.promo__save{font-size:var(--fs-sm);font-weight:700;color:var(--c-success);background:#e3f3ea;padding:.4em .8em;border-radius:var(--radius-pill)}.promo__save[hidden]{display:none}.promo__build-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.promo__build-title{font-size:var(--fs-lg)}.promo__progress{font-size:var(--fs-sm);font-weight:700;color:var(--c-brand-strong);background:var(--c-brand-tint);padding:.3em .85em;border-radius:var(--radius-pill);transition:background-color .25s var(--ease-out),color .25s var(--ease-out)}.promo__progress.is-complete{background:#e3f3ea;color:var(--c-success)}.promo__pickhint{font-size:var(--fs-sm);color:var(--c-muted);margin-bottom:var(--space-3)}.promo__pickhint strong{color:var(--c-brand-strong)}.promo__progressbar{height:6px;border-radius:var(--radius-pill);background:var(--c-line);overflow:hidden;margin-bottom:var(--space-4)}.promo__progressbar span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--c-brand),var(--c-brand-strong));transition:width .35s var(--ease-out)}.promo__picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem;margin-bottom:var(--space-5)}.promo__pick{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border:1.5px solid var(--c-line);background:var(--c-surface);border-radius:var(--radius-md);transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.promo__pick.is-active{border-color:var(--c-brand);background:var(--c-brand-wash);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-brand) 12%,transparent)}.promo__pick.is-out{opacity:.5}.promo__pick.is-bump{animation:promo-bump .35s var(--ease-out)}@keyframes promo-bump{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.promo__pick-img{width:44px;height:44px;flex:none;border-radius:8px;object-fit:contain;background:var(--c-brand-wash);border:1px solid var(--c-line)}.promo__pick-tx{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.2}.promo__pick-name{font-size:var(--fs-sm);font-weight:600;color:var(--c-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.promo__pick.is-active .promo__pick-name{color:var(--c-brand-strong)}.promo__pick-price{font-size:var(--fs-xs);color:var(--c-muted)}.promo__pick-step{display:inline-flex;align-items:center;gap:.25rem;flex:none}.promo__step{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--c-line);background:var(--c-surface);border-radius:8px;color:var(--c-ink-soft);cursor:pointer;font-size:1.05rem;transition:border-color .2s,background-color .2s,color .2s}@media(hover:none){.promo__step{width:40px;height:40px}}.promo__step:hover:not(:disabled){border-color:var(--c-brand-soft);color:var(--c-brand-strong)}.promo__step:disabled{opacity:.4;cursor:not-allowed}.promo__step--add{background:var(--c-brand);border-color:var(--c-brand);color:#fff}.promo__step--add:hover:not(:disabled){background:var(--c-brand-strong);border-color:var(--c-brand-strong)}.promo__pick-qty{min-width:1.4em;text-align:center;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-ink)}.promo__add{width:100%;justify-content:center}.promo__btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.promo__btn:disabled:hover{background:var(--c-brand);transform:none;box-shadow:none}.promo__note{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-xs);color:var(--c-muted);margin-top:var(--space-3)}.promo__note i{color:var(--c-success)}@media(max-width:860px){.promo__top{grid-template-columns:1fr}.promo__main{max-width:360px;margin:0 auto;width:100%}}
