.builder{padding-block:40px 96px}.builder-intro{max-width:720px;margin-bottom:44px}.builder-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:14px;font-size:11px}.builder-intro h1{letter-spacing:-.04em;font-size:clamp(46px,5vw,72px);line-height:.98}.builder-intro h1 em{color:#6a7455}.builder-intro>p:not(.builder-eyebrow){color:var(--color-muted);max-width:560px;margin-top:18px}.builder-presets{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.builder-presets a{border:1px solid var(--color-line);padding:8px 14px;font-size:12px}.builder-presets a:hover{background:var(--color-sage)}.builder-presets a.active{color:#fffef7;background:#343f2d;border-color:#343f2d}.builder-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:56px;display:grid}.builder-step{border:0;border-top:1px solid var(--color-line);min-width:0;margin:0;padding:28px 0 36px}.builder-step legend{font-family:var(--font-display);letter-spacing:-.03em;float:left;align-items:baseline;gap:12px;width:100%;margin-bottom:20px;padding:0;font-size:30px;display:flex}.builder-step legend+*{clear:both}.builder-step legend span{font-family:var(--font-sans);border:1px solid var(--color-line);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;display:inline-flex;transform:translateY(-4px)}.builder-step legend small{font-family:var(--font-sans);letter-spacing:0;color:var(--color-muted);margin-left:auto;font-size:12px}.option-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.option-card{border:1px solid var(--color-line);cursor:pointer;flex-direction:column;gap:4px;padding:18px;transition:border-color .15s,background .15s;display:flex}.option-card:hover{background:#f1f1e8}.option-card.selected{background:#fbfaf5;border-color:#343f2d;box-shadow:inset 0 0 0 1px #343f2d}.option-card:has(:focus-visible),.swatch:has(:focus-visible){outline-offset:3px;outline:2px solid #626e4d}.option-grid.baskets{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.option-card.has-photo{padding:0 0 18px}.option-card.has-photo>:not(.option-photo){padding-inline:18px}.option-photo{aspect-ratio:4/3;background:#fff;margin-bottom:12px;display:block;position:relative;overflow:hidden}.option-photo img{object-fit:contain;width:100%;height:100%;transition:transform .5s var(--ease);padding:10%}.option-card:hover .option-photo img{transform:scale(1.04)}.option-name{font-weight:500}.option-detail{color:var(--color-muted);font-size:12px}.option-price{font-variant-numeric:tabular-nums;margin-top:8px;font-size:12px}.swatch-row{flex-wrap:wrap;gap:10px;display:flex}.swatch{border:1px solid var(--color-line);cursor:pointer;align-items:center;gap:10px;padding:9px 16px 9px 10px;font-size:13px;display:inline-flex}.swatch.selected{border-color:#343f2d;box-shadow:inset 0 0 0 1px #343f2d}.swatch small{color:var(--color-muted);font-size:11px}.swatch-dot{border:1px solid #0000001f;border-radius:50%;width:22px;height:22px}.item-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.item-tabs{flex-wrap:wrap;gap:6px;display:flex}.item-tabs button{border:1px solid var(--color-line);background:0 0;padding:6px 12px;font-size:12px}.item-tabs button.active{color:#fffef7;background:#343f2d;border-color:#343f2d}.item-search{border-bottom:1px solid var(--color-line);align-items:center;gap:8px;padding:6px 2px;display:flex}.item-search input{background:0 0;border:0;outline:none;width:160px;font-size:13px}.item-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:28px 16px;margin:8px 0 0;padding:0;list-style:none;display:grid}.item-tile{flex-direction:column;min-width:0;display:flex}.item-photo{aspect-ratio:1;cursor:pointer;transition:border-color .2s ease, box-shadow .2s ease, transform .2s var(--ease);background:#fff;border:1px solid #e6e4da;position:relative;overflow:hidden}.item-photo img{object-fit:contain;width:100%;height:100%;transition:transform .5s var(--ease);padding:14%}.item-photo:hover img{transform:scale(1.05)}.item-photo:active{transform:scale(.985)}.in-hamper .item-photo{cursor:default;border-color:#343f2d;box-shadow:inset 0 0 0 1px #343f2d}.item-icon{background:var(--color-sage);color:#4b5a3e;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.item-badge{color:#fffef7;font-variant-numeric:tabular-nums;min-width:26px;height:26px;animation:badge-pop .35s var(--ease);background:#343f2d;border-radius:13px;justify-content:center;align-items:center;gap:3px;padding:0 8px;font-size:11px;display:inline-flex;position:absolute;top:10px;right:10px}@keyframes badge-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.item-body{flex-direction:column;flex:1;padding-top:12px;display:flex}.item-name{font-size:13px;font-weight:500;line-height:1.4}.item-detail{color:var(--color-muted);margin-top:2px;font-size:11px}.item-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.item-price{font-variant-numeric:tabular-nums;font-size:13px}.item-add{background:0 0;border:1px solid #343f2d;align-items:center;gap:5px;height:34px;padding:0 13px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.item-add:hover:not(:disabled){color:#fffef7;background:#343f2d}.item-grid .quantity{color:#fffef7;background:#343f2d;border:1px solid #343f2d;align-items:center;height:34px;display:inline-flex}.item-grid .quantity button{background:0 0;border:0;justify-content:center;align-items:center;width:30px;height:32px;display:inline-flex}.item-grid .quantity span{text-align:center;font-variant-numeric:tabular-nums;min-width:18px;font-size:12px}.item-empty{color:var(--color-muted);grid-column:1/-1}.builder-note{color:var(--color-muted);margin-top:14px;font-size:12px}.builder-summary{border:1px solid var(--color-line);background:#fbfaf5;padding:28px;position:sticky;top:24px}.builder-summary h2{margin-bottom:18px;font-size:32px}.builder-summary dl{margin:0}.builder-summary dl div,.summary-items li,.summary-total{font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;display:flex}.builder-summary dl div{padding-block:4px;font-size:13px}.builder-summary dd{margin:0}.capacity{background:var(--color-line);height:3px;margin:18px 0}.capacity span{height:100%;transition:width .25s var(--ease);background:#6a7455;display:block}.summary-items{max-height:280px;margin:0;padding:0;list-style:none;overflow:auto}.summary-items li{color:#4b5244;animation:summary-in .3s var(--ease);align-items:center;padding-block:5px;font-size:13px}.summary-items li>:nth-child(2){flex:1}.summary-items img,.summary-thumb{object-fit:contain;background:#fff;border:1px solid #e6e4da;flex-shrink:0;width:40px;height:40px;padding:3px}@keyframes summary-in{0%{opacity:0;transform:translateY(4px)}}.summary-empty{color:var(--color-muted);font-size:13px}.summary-total{border-top:1px solid var(--color-line);font-family:var(--font-display);letter-spacing:-.02em;margin-top:16px;padding-top:16px;font-size:30px}.builder-summary .form-error{color:#8a3d2f;margin-top:10px;font-size:12px}.builder-summary .button{justify-content:space-between;width:100%;margin-top:18px}.summary-note{color:var(--color-muted);margin-top:12px;font-size:11px}@media (width<=960px){.builder-grid{grid-template-columns:1fr;gap:24px}.builder-summary{z-index:5;padding:18px 20px;position:sticky;top:auto;bottom:0}.builder-summary h2,.builder-summary dl,.summary-items,.summary-empty,.capacity,.summary-note{display:none}.summary-total{border-top:0;margin-top:0;padding-top:0;font-size:24px}.builder-summary .button{margin-top:12px}}@media (width<=640px){.builder{padding-top:24px}.builder-step legend{font-size:24px}.builder-step legend small{width:100%;margin-left:36px}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.item-foot{flex-wrap:wrap}.option-grid.baskets{grid-template-columns:repeat(2,minmax(0,1fr))}.item-search input{width:120px}}.builder-progress{z-index:6;background:color-mix(in srgb, var(--color-cream) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);gap:6px;margin:0 0 8px;padding:12px 0;list-style:none;display:flex;position:sticky;top:0}.builder-progress li{flex:1}.builder-progress button{border:0;border-bottom:2px solid var(--color-line);width:100%;color:var(--color-muted);transition:color .3s ease, border-color .4s var(--ease);background:0 0;align-items:center;gap:10px;padding:6px 2px 10px;font-size:12px;display:flex}.builder-progress button span{border:1px solid var(--color-line);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;transition:background .3s,border-color .3s,color .3s,transform .35s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.builder-progress li.done button{color:var(--color-ink);border-color:#55663f}.builder-progress li.done button span{color:#fffef7;background:#343f2d;border-color:#343f2d;transform:scale(1.05)}.builder-progress button:hover{color:var(--color-ink)}.builder-step{scroll-margin-top:72px}.option-card{position:relative}.option-card:active{transform:scale(.985)}.option-card{transition:border-color .2s ease, background .2s ease, transform .2s var(--ease)}.option-check{z-index:1;position:absolute;top:10px;right:10px}.size-dots{flex-wrap:wrap;gap:4px;min-height:10px;margin-bottom:12px;display:flex}.size-dots i{border:1px solid #b9c0aa;border-radius:50%;width:7px;height:7px;transition:background .3s,border-color .3s}.size-dots i.on{background:#55663f;border-color:#55663f}.option-card.selected .size-dots i:not(.on){border-color:#7d896a}.step-hint{color:var(--color-muted);margin:-8px 0 16px;font-size:12px}.swatch{transition:border-color .2s,background .2s}.swatch:hover{background:#f1f1e8}.swatch-dot{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.swatch.selected .swatch-dot{box-shadow:0 0 0 2px var(--color-cream), 0 0 0 3px #343f2d;transform:scale(1.15)}.item-tabs button{transition:background .2s,color .2s,border-color .2s}.item-tabs button:hover:not(.active){border-color:#a3ac96}.item-hover-add{color:#fffef7;opacity:0;transition:opacity .25s ease, transform .3s var(--ease);pointer-events:none;background:#343f2d;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:11px;display:flex;position:absolute;bottom:10px;left:10px;right:10px;transform:translateY(8px)}.item-photo:hover .item-hover-add{opacity:1;transform:none}@media (hover:none){.item-hover-add{display:none}}.in-hamper .item-photo{cursor:pointer}.capacity-row{align-items:center;gap:10px;margin:18px 0;display:flex}.capacity-row .capacity{flex:1;margin:0;overflow:hidden}.capacity-row small{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:11px}.capacity span{transform-origin:0;transition:transform .5s var(--ease);width:100%!important}.summary-items li{position:relative}.summary-remove{border:1px solid var(--color-line);opacity:.55;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:opacity .2s,background .2s;display:inline-flex}.summary-items li:hover .summary-remove,.summary-remove:focus-visible{opacity:1}.summary-remove:hover{background:var(--color-sage)}.summary-total{transition:transform .3s}@media (width<=960px){.builder-progress{top:0}.builder-summary{box-shadow:none;border-inline:0;margin-inline:-32px;padding-inline:32px}.capacity-row{display:none}}@media (width<=640px){.builder-progress button{flex-direction:column;gap:4px;padding-bottom:8px;font-size:10px}.builder-summary{margin-inline:-20px;padding-inline:20px}.step-hint{margin-top:0}.builder-step legend{flex-wrap:wrap;row-gap:4px}.builder-step legend small{flex-basis:100%;width:auto;margin-left:36px}}
