.basket-page { background:radial-gradient(circle at 12% 15%,rgba(17,136,211,.12),transparent 27%),#06101c; }
.basket-header-link { min-height:38px; padding:0 12px; display:flex; align-items:center; gap:7px; border:1px solid #294058; border-radius:11px; color:#dceafa; font-size:10px; font-weight:800; white-space:nowrap; }
.basket-header-link.active { border-color:rgba(142,229,46,.4); }
.basket-header-link b { display:grid; place-items:center; min-width:20px; height:20px; border-radius:50%; color:#07111f; background:var(--lime); font-size:9px; }
.basket-main { max-width:1250px; min-height:75vh; margin:auto; padding:58px 28px 100px; }
.basket-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:43px; }
.basket-heading h1 { margin:0 0 9px; font:800 clamp(45px,6vw,71px)/1 Outfit; letter-spacing:-2.4px; }
.basket-heading p:not(.eyebrow) { max-width:650px; margin:0; color:#879caf; line-height:1.65; }
.basket-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:start; gap:28px; }
.basket-section-title { display:flex; justify-content:space-between; align-items:end; margin-bottom:15px; }
.basket-section-title h2 { margin:0; font:800 27px Outfit; }
.basket-section-title p { margin:3px 0 0; color:#71869b; font-size:10px; }
.basket-section-title button { border:0; color:#7890a5; background:transparent; cursor:pointer; font-size:10px; text-decoration:underline; }
.basket-lines { display:grid; gap:12px; }
.basket-line { padding:17px; display:grid; grid-template-columns:110px minmax(180px,1fr) minmax(260px,.8fr) auto; align-items:center; gap:17px; border:1px solid var(--line); border-radius:18px; background:#091725; }
.basket-line img { width:110px; height:90px; object-fit:contain; }
.basket-line h2 { margin:4px 0 7px; font:700 17px/1.25 Outfit; }
.basket-line .mini-label { margin:0; }
.basket-line-price { color:var(--lime); font:800 22px Outfit; }
.basket-line-controls { display:grid; grid-template-columns:1fr; gap:8px; }
.basket-line-controls label { display:grid; grid-template-columns:75px 1fr; align-items:center; gap:8px; color:#91a6b9; font-size:10px; font-weight:700; }
.basket-line-controls select { min-height:38px; padding:0 10px; font-size:10px; }
.controller-toggle { padding:8px 10px; grid-template-columns:18px 1fr!important; border:1px solid var(--line); border-radius:10px; background:#07131f; }
.controller-toggle input { width:16px; min-height:16px; accent-color:var(--lime); }
.built-in-controls { padding:8px 10px; display:grid; grid-template-columns:18px 1fr; align-items:center; gap:8px; border:1px solid rgba(142,229,46,.16); border-radius:10px; color:#8ea3b6; background:rgba(142,229,46,.04); font-size:9px; font-weight:700; }
.built-in-controls b { color:var(--lime); }
.remove-line { align-self:start; display:grid; place-items:center; width:34px; height:34px; border:1px solid transparent; border-radius:9px; color:#8298ac; background:transparent; cursor:pointer; font-size:18px; }
.remove-line:hover { border-color:rgba(255,124,124,.24); color:#ff9a9a; background:rgba(255,90,90,.06); }
.extras-builder { margin-top:20px; padding:24px; border:1px solid rgba(120,199,243,.22); border-radius:20px; background:linear-gradient(145deg,rgba(17,136,211,.09),rgba(9,23,37,.95)); }
.extras-builder-head { display:flex; gap:15px; }
.extras-builder-head > span { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:13px; color:#78c7f3; background:rgba(120,199,243,.12); font-size:25px; }
.extras-builder-head h2 { margin:2px 0 6px; font:800 25px Outfit; }
.extras-builder-head p:not(.mini-label) { max-width:700px; margin:0; color:#8da2b5; font-size:11px; line-height:1.65; }
.extras-form-grid { margin-top:20px; display:grid; grid-template-columns:.75fr 1.25fr; gap:14px; }
.extras-form-grid label { display:grid; align-content:start; gap:7px; color:#b6c7d6; font-size:10px; font-weight:700; }
.extras-form-grid select,.extras-form-grid textarea { background:#07131f; }
.extras-upload-zone { min-height:135px; margin-top:15px; display:grid; place-content:center; gap:4px; text-align:center; border:1px dashed #36546f; border-radius:15px; color:#b9ccdc; background:#071522; cursor:pointer; }
.extras-upload-zone:hover { border-color:#78c7f3; }
.extras-upload-zone > span { color:#78c7f3; font-size:28px; }
.extras-upload-zone small { color:#8196a9; font-size:10px; }
.extras-upload-zone input { display:none; }
.basket-photo-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:12px; }
.basket-photo { position:relative; min-width:0; padding:7px; border:1px solid var(--line); border-radius:12px; background:#07131f; }
.basket-photo img { width:100%; height:80px; object-fit:cover; border-radius:7px; }
.basket-photo span { display:block; margin-top:5px; overflow:hidden; color:#8fa5ba; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.basket-photo button { position:absolute; top:3px; right:3px; display:grid; place-items:center; width:23px; height:23px; padding:0; border:1px solid rgba(255,255,255,.18); border-radius:50%; color:#fff; background:rgba(5,13,23,.85); cursor:pointer; }
.extras-review-message { margin-top:12px; padding:12px 14px; display:flex; justify-content:space-between; gap:15px; border:1px solid var(--line); border-radius:11px; background:#081522; }
.extras-review-message b { color:#9eb0c0; font-size:10px; }
.extras-review-message span { color:#70869a; font-size:9px; text-align:right; }
.extras-review-message.ready { border-color:rgba(142,229,46,.22); background:rgba(142,229,46,.05); }
.extras-review-message.ready b { color:var(--lime); }
.extras-review-rule { margin-top:12px; padding:12px 14px; display:flex; gap:11px; border-radius:11px; color:#ddb98d; background:rgba(255,161,69,.08); font-size:9px; line-height:1.5; }
.extras-review-rule b { color:#ffc17d; text-transform:uppercase; }
.basket-summary { position:sticky; top:100px; padding:25px; border:1px solid rgba(142,229,46,.22); border-radius:21px; background:linear-gradient(145deg,#0d2132,#091725); box-shadow:0 25px 65px rgba(0,0,0,.22); }
.basket-total { display:flex; align-items:baseline; gap:8px; }
.basket-total small { color:#8399ad; }
.basket-total strong { color:var(--lime); font:800 48px Outfit; }
.basket-summary > p:not(.mini-label) { color:#91a5b7; font-size:11px; line-height:1.6; }
.basket-summary ul { display:grid; gap:10px; margin:21px 0; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); list-style:none; color:#b9cad8; font-size:11px; }
.basket-summary li b { margin-right:7px; color:var(--lime); }
.basket-summary > small { display:block; margin-top:11px; color:#5f758a; text-align:center; font-size:8px; }
.basket-empty { max-width:760px; margin:40px auto; padding:70px 25px; text-align:center; border:1px dashed #294158; border-radius:24px; background:#081522; }
.basket-empty > div { display:grid; place-items:center; width:60px; height:60px; margin:auto; border-radius:18px; color:var(--lime); background:rgba(142,229,46,.08); font-size:34px; }
.basket-empty h2 { margin:18px 0 7px; font:800 31px Outfit; }
.basket-empty p { color:#8297aa; }
.basket-checkout { width:min(650px,calc(100% - 25px)); max-height:calc(100vh - 24px); }
.checkout-head { padding:30px 31px 19px; }
.checkout-head h2,.checkout-success h2 { margin:0 0 7px; font:800 34px/1.05 Outfit; }
.checkout-head > p:last-child { color:#8297aa; font-size:11px; }
#basket-checkout-form { padding:0 31px 31px; }
#basket-checkout-form label { display:grid; gap:7px; margin-bottom:14px; color:#b6c7d6; font-size:11px; font-weight:700; }
#basket-checkout-form label small { color:#6e8498; font-weight:500; }
.checkout-account { margin-bottom:14px; padding:13px 15px; display:flex; align-items:center; gap:12px; border:1px solid rgba(120,199,243,.2); border-radius:13px; color:#8298ac; background:rgba(17,136,211,.07); font-size:10px; line-height:1.5; }
.checkout-account b { display:block; color:#ddebfa; font-size:11px; }
.checkout-account a { margin-left:auto; color:#78c7f3; font-weight:800; white-space:nowrap; }
.checkout-account.signed-in { border-color:rgba(142,229,46,.22); background:rgba(142,229,46,.06); }
.checkout-account.signed-in::before { content:"✓"; display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; color:#07111f; background:var(--lime); font-weight:900; }
.checkout-mini-summary { margin-bottom:18px; padding:13px; display:flex; align-items:center; justify-content:space-between; border:1px solid var(--line); border-radius:12px; background:#07131f; }
.checkout-mini-summary span { display:grid; color:#71869a; font-size:9px; }
.checkout-mini-summary b { color:#dceafa; font-size:12px; }
.checkout-mini-summary strong { color:var(--lime); font:800 22px Outfit; }
.checkout-extras-summary,.extras-success-note { margin-bottom:17px; padding:13px 14px; display:grid; gap:3px; border:1px solid rgba(120,199,243,.22); border-radius:11px; color:#8197aa; background:rgba(17,136,211,.07); font-size:9px; }
.checkout-extras-summary b,.extras-success-note b { color:#78c7f3; font-size:11px; }
#basket-checkout-form fieldset { margin:8px 0 16px; padding:0; border:0; }
#basket-checkout-form legend { margin-bottom:9px; font-size:11px; font-weight:700; }
.delivery-choice { padding:12px; grid-template-columns:20px 1fr!important; align-items:center; border:1px solid var(--line); border-radius:11px; background:#07131f; }
.delivery-choice input { width:16px; min-height:16px; accent-color:var(--lime); }
.delivery-choice span { display:grid; }
.consent { margin:17px 0!important; grid-template-columns:20px 1fr!important; }
.form-status { min-height:18px; margin:0 0 12px; color:#78c7f3; font-size:10px; line-height:1.45; }
.checkout-success { padding:55px 35px; text-align:center; }
.success-mark { display:grid; place-items:center; width:65px; height:65px; margin:0 auto 18px; border-radius:50%; color:#07111f; background:var(--lime); font-size:30px; font-weight:900; }
.checkout-success > p:not(.mini-label) { color:#8298ac; line-height:1.6; }
.created-references { margin:22px 0; display:grid; gap:8px; text-align:left; }
.created-reference { padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:15px; border:1px solid var(--line); border-radius:11px; background:#07131f; }
.created-reference span { display:grid; }
.created-reference strong { font-size:11px; }
.created-reference small { color:#71869a; }
.created-reference a { color:#78c7f3; font-size:9px; white-space:nowrap; }
.success-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
@media(max-width:960px){.basket-layout{grid-template-columns:1fr}.basket-summary{position:static}.basket-line{grid-template-columns:95px 1fr auto}.basket-line-controls{grid-column:2/-1;grid-template-columns:1fr 1fr}.basket-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.basket-main{padding:38px 16px 70px}.basket-line{grid-template-columns:75px 1fr auto;padding:13px;gap:11px}.basket-line img{width:75px;height:65px}.basket-line-controls{grid-column:1/-1;grid-template-columns:1fr}.basket-line-price{font-size:18px}.basket-heading .secondary-button{width:100%}.basket-header-link{margin-left:auto}.checkout-head{padding:25px 20px 16px}#basket-checkout-form{padding:0 20px 25px}.checkout-success{padding:42px 20px}.extras-builder{padding:18px}.extras-form-grid{grid-template-columns:1fr}.basket-photo-preview{grid-template-columns:repeat(2,1fr)}.extras-review-message{align-items:flex-start;flex-direction:column}.extras-review-message span{text-align:left}}
