soda-package-builder{display:block;padding-bottom:55px}.sp-header{padding:36px 0 28px;max-width:850px}.sp-header h1{font-size:clamp(35px,4vw,52px)}.sp-header>p:not(.slp-eyebrow){margin-top:18px}.sp-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px;background:#f6f4f1;border:1px solid #e5e2dd;border-radius:6px}.sp-top label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:600;min-width:0}.sp-top select{font-size:15px;min-height:46px;max-width:100%;width:100%;background:white;border:1px solid #ccc6c0;border-radius:4px;padding:10px 35px 10px 12px}.sp-top small{font-size:11px;color:#666}.sp-base{flex-shrink:0;text-align:right}.sp-base strong{font-size:36px;letter-spacing:-.05em;color:#c91d26}.sp-base span{display:block;font-size:11px;color:#666}.sp-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0;border-bottom:1px solid #ddd8d2;gap:8px}.sp-steps button{display:flex;align-items:center;gap:10px;text-align:left;background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:14px 8px;color:#777;font:inherit;font-size:13px;cursor:pointer}.sp-steps button[aria-current="step"]{color:#191919;border-color:#c91d26;font-weight:700}.sp-steps button:disabled{cursor:default;opacity:.55}.sp-step-num{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border-radius:50%;background:#e9e5df;font-size:12px}.sp-steps button[aria-current="step"] .sp-step-num{background:#c91d26;color:white}.sp-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.sp-panel{border:1px solid #e5e2dd;border-radius:8px;padding:32px;min-width:0}.sp-panel h2{font-size:32px}.sp-panel>p{margin-top:15px;max-width:650px;font-size:14px}.sp-panel h3{font-size:20px;margin:25px 0 17px;letter-spacing:-.025em}.sp-model{font-size:12px!important;letter-spacing:.03em;color:#c91d26!important;font-weight:600;margin-top:9px!important}.sp-color-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sp-color-button{padding:10px 8px;border:1px solid #ddd8d2;border-radius:6px;background:#faf9f7;cursor:pointer;color:#191919;font-size:11px;min-width:0}.sp-color-button[aria-pressed="true"]{border:2px solid #c91d26;padding:9px 7px;background:#fbefef}.sp-color-button svg{display:block;width:100%;height:73px}.sp-color-button span{display:block;margin-top:6px}.sp-sizes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.sp-sizes label,.sp-hat-count{display:flex;flex-direction:column;gap:8px;text-align:center;font-size:12px;font-weight:600}.sp-sizes input,.sp-hat-count input{width:100%;min-height:46px;background:white;border:1px solid #d6d0ca;border-radius:4px;padding:10px 5px;font:inherit;font-size:16px;text-align:center;box-shadow:none;color:#191919}.sp-size-charge{font-size:9px!important;color:#777!important;text-align:center;line-height:1.25!important}.sp-count{display:flex;justify-content:space-between;gap:20px;margin-top:24px;background:#f5f3ef;border-radius:4px;padding:16px 18px;font-size:13px}.sp-count strong{color:#c91d26}.sp-count[data-complete="true"] strong{color:#28713b}.sp-breakdown{border-top:1px solid #e5e2dd;margin-top:25px}.sp-break-row{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e5e2dd;font-size:12px}.sp-break-row p{font-size:12px;margin-top:6px}.sp-break-row button{font-size:11px;text-decoration:underline;background:none;border:0;padding:5px;color:#666;cursor:pointer}.sp-hat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.sp-hat-card{background:#f8f6f3;border:1px solid #e5e2dd;border-radius:6px;padding:16px 12px}.sp-hat-card[data-selected="true"]{border-color:#c91d26;background:#fcf0f0}.sp-hat-card svg{height:90px;width:100%;display:block}.sp-hat-count{font-size:11px;gap:10px}.sp-controls{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid #e5e2dd;margin-top:30px;padding-top:22px}.sp-aside{position:sticky;top:100px;border:1px solid #e5e2dd;border-radius:8px;padding:23px}.sp-aside>h3{font-size:19px;letter-spacing:-.02em;margin-bottom:15px}.sp-aside-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e2dd;padding:13px 0;font-size:13px}.sp-aside .sp-base{margin-top:22px;text-align:left}.sp-aside>p{font-size:11px;margin-top:13px}.sp-error{background:#fce9e9;color:#a01f26;font-size:13px;padding:15px;border:1px solid #edc3c3;border-radius:4px;margin:18px 0}.sp-upload{border:1px dashed #c8bcb2;background:#f8f6f3;padding:25px;border-radius:6px;margin-top:25px;display:flex;flex-direction:column;gap:12px;font-size:14px;font-weight:600}.sp-upload input{font-size:12px;max-width:100%}.sp-upload small{font-weight:400;color:#666;font-size:12px}.sp-location{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.sp-location button{padding:11px 15px;background:white;border:1px solid #d5cdc4;border-radius:4px;font-size:12px;cursor:pointer}.sp-location button[aria-pressed="true"]{background:#fcf0f0;border-color:#c91d26;color:#a12229}.sp-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin-top:25px}.sp-check input{width:18px;height:18px;flex-shrink:0;accent-color:#c91d26}.sp-mockup{position:relative;background:#f8f6f3;border-radius:5px;margin-top:15px;aspect-ratio:1}.sp-mockup>svg{width:100%;height:100%}.sp-art{position:absolute;height:auto;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none;max-height:50%}.sp-preview-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:12px}.sp-sliders{margin-top:17px;padding-top:15px;border-top:1px solid #e5e2dd}.sp-sliders label{display:flex;flex-direction:column;gap:6px;font-size:11px;margin-top:12px}.sp-sliders input{width:100%;accent-color:#c91d26}.sp-sliders button{background:none;border:0;color:#c91d26;font-size:11px;text-decoration:underline;margin-top:14px;cursor:pointer}.sp-review-list{padding:0;list-style:none;margin:20px 0}.sp-review-list li{padding:13px 0;border-bottom:1px solid #e5e2dd;font-size:13px}.sp-review-list strong{display:block;margin-bottom:7px}.sp-request{margin-top:28px;display:grid;grid-template-columns:.75fr 1.25fr;gap:40px}.sp-request[hidden]{display:none}.sp-request-head{padding-top:10px}.sp-request-head h2{font-size:29px;line-height:1.3}.sp-steps button:focus-visible,.sp-color-button:focus-visible,.sp-location button:focus-visible{outline:3px solid #c91d26;outline-offset:3px}
@media(max-width:1000px){.sp-grid{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.sp-panel{padding:25px}.sp-sizes{gap:7px}.sp-color-grid{gap:7px}.sp-color-button svg{height:55px}}
@media(max-width:767px){.sp-header{padding:28px 0 22px}.sp-top{display:block;padding:20px}.sp-base{text-align:left;margin-top:18px}.sp-top select{font-size:13px}.sp-top small{display:block;margin-top:8px}.sp-steps{margin:20px 0;gap:0}.sp-steps button{flex-direction:column;gap:8px;text-align:center;font-size:11px;padding:12px 5px}.sp-grid,.sp-request{grid-template-columns:1fr}.sp-panel{padding:25px 20px}.sp-panel h2{font-size:28px}.sp-color-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sp-color-button svg{height:68px}.sp-sizes{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sp-hat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sp-aside{position:static;padding:22px}.sp-aside .sp-base{margin-top:20px}.sp-aside .sp-mockup{max-width:300px;margin-inline:auto}.sp-count{font-size:12px;padding:14px}.sp-request{gap:20px}.sp-header h1{font-size:38px}}
.sp-check input{min-height:18px;padding:0}.sp-sliders input{min-height:24px;padding:0;border:0;background:transparent}.sp-upload input{min-height:40px}.sp-controls button:disabled{opacity:.45;cursor:default}

.sp-color-button .sp-product-photo{display:block;width:100%;height:95px;object-fit:contain;background:#fff}.sp-hat-card .sp-product-photo{display:block;width:100%;height:115px;object-fit:contain;background:#fff;margin-bottom:12px}.sp-mockup>.sp-product-photo{display:block;width:100%;height:100%;object-fit:contain}.sp-mockup{background:#fff}.sp-art{max-height:none}.sp-photo-unavailable{display:block;padding:18px;font-size:12px;color:#777}
.sp-patch-controls{padding:20px;border:1px solid #ddd;border-radius:12px;margin-top:20px;display:grid;gap:14px}.sp-patch-controls label{display:grid;gap:8px}.sp-patch-controls select,.sp-patch-controls input[type=number]{padding:12px;border:1px solid #ccc;border-radius:6px;background:white;color:#222}.sp-patch-controls input[type=range]{width:100%}
