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