.cfg{padding-block:clamp(2rem,1.4rem + 2.6vw,3.5rem) var(--section-y)}.cfg__notices{display:grid;gap:.45rem;padding:clamp(1rem,.85rem + .6vw,1.4rem) clamp(1.1rem,.9rem + .8vw,1.6rem);background:var(--sand-2);border:1px solid #e6dfcd;border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--ink-60);line-height:1.55}.cfg__notices strong{color:#8a4b12;font-weight:600}.cfg__layout{display:grid;gap:clamp(1.5rem,1rem + 2.4vw,3rem);margin-top:clamp(1.5rem,1rem + 2vw,2.5rem);align-items:start}.cfg__layout>*{min-width:0}@media(min-width:1080px){.cfg__layout{grid-template-columns:minmax(0,1fr) 21.5rem}}.cfg__steps{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none}.cfg__steps::-webkit-scrollbar{display:none}.cfg__step{flex:1 1 6.5rem;min-width:6.5rem;display:grid;gap:.5rem;align-content:start;text-align:left;color:var(--ink-40);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;transition:color var(--t-med) var(--ease)}.cfg__step-bar{position:relative;display:block;height:3px;margin-bottom:.35rem;border-radius:var(--r-pill);background:var(--line);overflow:hidden}.cfg__step-bar i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--brand-300);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}.cfg__step.is-done .cfg__step-bar i,.cfg__step.is-active .cfg__step-bar i{transform:scaleX(1)}.cfg__step.is-active .cfg__step-bar i{background:var(--brand)}.cfg__step.is-active .cfg__step-bar:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:translate(-100%);animation:cfgSheen .85s var(--ease) .3s 1}@keyframes cfgSheen{to{transform:translate(100%)}}.cfg__step small{display:flex;align-items:center;gap:.35rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.cfg__step-check{display:none;color:var(--brand)}.cfg__step-check svg{width:.7rem;height:.7rem}.cfg__step.is-done .cfg__step-check{display:inline-flex;animation:cfgCheck .4s var(--ease) both}@keyframes cfgCheck{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.cfg__step.is-done{color:var(--ink-60);cursor:pointer}.cfg__step.is-done:hover .cfg__step-bar i{background:var(--brand)}.cfg__step.is-active{color:var(--brand-800)}@media(prefers-reduced-motion:reduce){.cfg__step-bar i{transition:none}.cfg__step.is-active .cfg__step-bar:after{animation:none;display:none}}.cfg__panel{margin-top:clamp(1.5rem,1.1rem + 1.8vw,2.5rem)}.cfg__pane{display:none}.cfg__pane.is-active{display:block;animation:paneIn .55s var(--ease)}@keyframes paneIn{0%{opacity:0;transform:translateY(12px)}}.cfg__pane-head{display:grid;gap:.75rem;max-width:62ch;margin-bottom:clamp(1.35rem,1rem + 1.4vw,2rem)}.cfg__pane-head h2{font-size:var(--fs-h2)}.cfg__pane-head p{color:var(--ink-60);font-size:var(--fs-sm);line-height:1.68}.cfg__spec-list{display:grid;gap:.35rem;margin-top:.35rem}.cfg__spec-list li{position:relative;padding-left:1.1rem;font-size:var(--fs-sm);color:var(--ink-60)}.cfg__spec-list li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--brand-300)}.opts{display:grid;gap:clamp(.75rem,.6rem + .6vw,1.1rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,10.5rem),1fr))}.opts--product{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}.opt{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-md);background:#fff;overflow:hidden;cursor:pointer;transition:border-color var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.opt:hover{border-color:var(--brand-300);transform:translateY(-2px);box-shadow:var(--sh-2)}.opt input{position:absolute;opacity:0;pointer-events:none}.opt__swatch{position:relative;aspect-ratio:1;overflow:hidden;background:var(--paper-3)}.opts--product .opt__swatch{aspect-ratio:16 / 10}.opt__swatch img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease)}.opts--product .opt__swatch img{object-fit:contain;background:#fff;padding:.75rem}.opt:hover .opt__swatch img{transform:scale(1.05)}.opt__tick{position:absolute;top:.55rem;right:.55rem;z-index:2;display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:var(--r-pill);background:#ffffffe6;border:1px solid rgba(16,22,17,.12);color:transparent;transition:background-color var(--t-med) var(--ease),border-color var(--t-med) var(--ease),color var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.opt__tick svg{width:.8rem;height:.8rem}.opt__body{display:grid;gap:.3rem;padding:.85rem .95rem 1rem;flex:1}.opt__name{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;line-height:1.35;letter-spacing:-.01em}.opt__code{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-40)}.opt__desc{font-size:var(--fs-xs);line-height:1.6;color:var(--ink-60)}.opt__bullets{display:grid;gap:.25rem;margin-top:.2rem}.opt__bullets li{position:relative;padding-left:.85rem;font-size:var(--fs-xs);color:var(--ink-60);line-height:1.5}.opt__bullets li:before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background:var(--brand-300)}.opt__price{margin-top:auto;padding-top:.5rem;font-family:var(--font-display);font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;color:var(--brand-800)}.opt__price.is-included{color:var(--ink-40);font-weight:600}.opt:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.opt:has(input:checked) .opt__tick{background:var(--brand);border-color:var(--brand);color:#fff;transform:scale(1.05)}.opt:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:3px}.cfg__nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:clamp(1.75rem,1.3rem + 1.8vw,2.75rem);padding-top:clamp(1.25rem,1rem + 1vw,1.75rem);border-top:1px solid var(--border)}.cfg__nav .spacer{flex:1}.cfg__hint{font-size:var(--fs-xs);color:var(--ink-40)}.cfg__aside{position:sticky;top:calc(var(--header-h) + 1.5rem);border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;overflow:hidden;box-shadow:var(--sh-2)}.cfg__aside-head{padding:clamp(1.1rem,.9rem + .8vw,1.5rem);background:var(--brand-800);color:#fff}.cfg__aside-head small{display:block;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-200)}.cfg__total{display:flex;align-items:baseline;gap:.35rem;margin-top:.35rem;font-family:var(--font-display);font-size:clamp(1.7rem,1.4rem + 1.4vw,2.3rem);font-weight:700;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}.cfg__total span{font-size:.5em;font-weight:600;letter-spacing:0;color:var(--brand-200)}.cfg__progress{height:3px;background:#fff3;border-radius:var(--r-pill);overflow:hidden;margin-top:1rem}.cfg__progress i{display:block;height:100%;width:0;background:var(--brand-200);transition:width var(--t-med) var(--ease)}.cfg__aside-body{padding:clamp(1rem,.85rem + .6vw,1.35rem)}.cfg__summary{display:grid;gap:0}.cfg__row{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;padding:.7rem 0;border-bottom:1px solid var(--border);font-size:var(--fs-xs);align-items:baseline}.cfg__row:last-child{border-bottom:0}.cfg__row dt{color:var(--ink-40);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.cfg__row dd{grid-column:1;margin:0;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;color:var(--ink);line-height:1.35}.cfg__row .cfg__row-price{grid-row:2;grid-column:2;font-family:var(--font-display);font-size:var(--fs-xs);font-weight:700;color:var(--brand-800);white-space:nowrap}.cfg__row.is-empty dd{color:var(--ink-40);font-weight:500;font-style:italic}.cfg__aside-foot{padding:0 clamp(1rem,.85rem + .6vw,1.35rem) clamp(1.1rem,.9rem + .7vw,1.4rem);display:grid;gap:.6rem}.cfg__bar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;align-items:center;gap:1rem;padding:.75rem var(--gutter);background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--border);box-shadow:0 -6px 24px #1016110f}.cfg__bar small{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40)}.cfg__bar strong{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.cfg__bar .btn{margin-left:auto}@media(min-width:1080px){.cfg__bar{display:none}}@media(max-width:1079.98px){.cfg__aside{position:static;box-shadow:none}.cfg{padding-bottom:calc(var(--section-y) + 5rem)}}.cfg__review{display:grid;gap:clamp(1.5rem,1.1rem + 1.8vw,2.5rem)}@media(min-width:820px){.cfg__review{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.review-list{border-top:1px solid var(--border)}.review-list__row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.review-list__row dt{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-40);flex:1 0 40%}.review-list__row dd{margin:0;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;text-align:right}.review-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:1.1rem;font-family:var(--font-display);font-weight:700}.review-total span:first-child{font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-40)}.review-total span:last-child{font-size:clamp(1.5rem,1.25rem + 1.2vw,2rem);letter-spacing:-.035em;color:var(--brand-800);font-variant-numeric:tabular-nums}.opt__swatch--tom{display:grid;place-items:center;background:var(--paper-3)}.opt__initial{font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.6rem);font-weight:700;letter-spacing:-.03em;color:var(--ink-40)}.cfg__fel{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border:1px solid var(--fel-linje);border-radius:var(--r-pill);background:var(--fel-yta);font-size:var(--fs-xs);font-weight:600;line-height:1.3;color:var(--fel-text)}.cfg__fel svg{width:1rem;height:1rem;flex:none}.cfg__fel.is-shown{animation:felSkak .45s var(--ease) both}@keyframes felSkak{0%{opacity:0;transform:translate(0)}35%{opacity:1;transform:translate(-5px)}55%{transform:translate(4px)}75%{transform:translate(-2px)}to{opacity:1;transform:none}}.cfg__pane.has-fel .opts .opt{border-color:var(--fel-linje)}.cfg__step.is-locked{cursor:not-allowed;opacity:.55}.cfg__step.is-locked:hover .cfg__step-bar i{background:var(--brand-300)}@media(prefers-reduced-motion:reduce){.cfg__fel.is-shown{animation:none}}
