.cart-page{padding:32px 48px}.cart-page>h2{letter-spacing:-.02em;margin:0 0 4px;font-family:Instrument Serif,Georgia,serif;font-size:48px}.cart-page>p{color:var(--muted);margin:0 0 24px;font-size:14px}.cart-layout{grid-template-columns:1fr 360px;align-items:start;gap:32px;display:grid}.cart-actions{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.act-btn{border-radius:var(--bs-border-radius-pill);border:1px solid var(--line);background:var(--surface);cursor:pointer;height:34px;color:var(--ink);align-items:center;gap:6px;padding:0 14px;font:500 13px Montserrat,sans-serif;transition:background .12s;display:inline-flex}.act-btn:hover{background:var(--soft)}.act-btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.act-btn.danger:hover{background:#fdf0ee}.cart-category{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:16px;overflow:hidden}.cat-header{background:var(--soft);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.cat-header label{cursor:pointer;align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.cat-header input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.cat-select-all{color:var(--primary);cursor:pointer;white-space:nowrap;font:500 11px ui-monospace,monospace;text-decoration:underline}.cat-sub{background:var(--primary-soft);border-bottom:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding:7px 18px;font:600 10px ui-monospace,monospace}.cat-sub .ct{color:var(--muted);font-weight:400}.cart-item{border-bottom:1px solid var(--line);grid-template-columns:20px 100px 1fr;align-items:start;gap:16px;padding:18px;display:grid}.cart-item:last-child{border-bottom:none}.cart-item>input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;margin-top:3px}.item-thumb{border-radius:var(--r-sm);width:100px;height:72px;overflow:hidden}.item-info{flex-direction:column;gap:4px;display:flex}.item-id{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font:600 10px ui-monospace,monospace}.item-location{font-size:14px;font-weight:500;line-height:1.35}.item-price{color:var(--muted);font-size:13px}.item-price strong{color:var(--ink);font-size:14px}.item-price .usd{color:var(--muted-2);margin-left:6px;font-size:11px}.item-remove{color:var(--danger);cursor:pointer;margin-top:6px;font:500 11px ui-monospace,monospace;text-decoration:underline;display:inline-block}.month-picker{margin-top:10px}.month-picker-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;font:600 10px ui-monospace,monospace}.month-chips{flex-wrap:wrap;gap:4px;display:flex}.mchip{border-radius:var(--bs-border-radius-pill);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;height:27px;color:var(--muted);align-items:center;padding:0 9px;font:500 11px Montserrat,sans-serif;transition:border-color .1s,background .1s;display:inline-flex}.mchip.on{background:var(--ink);border-color:var(--ink);color:#fff}.mchip:hover:not(.on){border-color:var(--primary);color:var(--ink)}.order-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px;position:sticky;top:80px}.order-summary-card h3{margin:0 0 16px;font-size:17px;font-weight:700}.summary-empty{color:var(--muted);text-align:center;padding:28px 0;font-size:13px;line-height:1.6}.summary-item{border-bottom:1px solid var(--line);padding:10px 0}.summary-item .si-name{font-size:13px;font-weight:600;line-height:1.3}.summary-item .si-detail{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font:500 10px ui-monospace,monospace}.summary-item .si-amount{margin-top:5px;font-size:14px;font-weight:700}.summary-item .si-amount .si-usd{color:var(--muted);margin-left:5px;font-size:11px;font-weight:400}.summary-totals{margin-top:10px}.summary-row{justify-content:space-between;align-items:baseline;padding:4px 0;font-size:13px;display:flex}.summary-row .sl{color:var(--muted)}.summary-row.grand{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-size:15px;font-weight:600}.summary-row.grand .sv{font-family:Instrument Serif,Georgia,serif;font-size:26px}.checkout-stepper{align-items:center;gap:0;margin-bottom:32px;display:flex}.cs-step{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.cs-step .cs-num{border:1.5px solid var(--line);background:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font:600 11px ui-monospace,monospace;display:grid}.cs-step.done .cs-num{background:var(--ink);border-color:var(--ink);color:#fff}.cs-step.active .cs-num{background:var(--primary);border-color:var(--primary);color:var(--ink)}.cs-step.active{color:var(--ink);font-weight:600}.cs-arrow{background:var(--line);flex-shrink:0;width:36px;height:1px;margin:0 4px}.checkout-layout{grid-template-columns:1fr 340px;align-items:start;gap:40px;display:grid}.auth-gate{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:28px;display:grid}.auth-card{border:1.5px solid var(--line);border-radius:var(--r-lg);cursor:pointer;background:var(--surface);padding:18px 16px;transition:border-color .12s,background .12s}.auth-card:hover{border-color:var(--primary)}.auth-card.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px #ff9b001f}.auth-card .ac-icon{border-radius:var(--r-sm);background:var(--soft);place-items:center;width:36px;height:36px;margin-bottom:10px;display:grid}.auth-card.active .ac-icon{background:var(--primary)}.auth-card .ac-title{margin-bottom:3px;font-size:14px;font-weight:700}.auth-card .ac-desc{color:var(--muted);font-size:12px;line-height:1.4}.checkout-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}.checkout-form h4{margin:0 0 20px;font-size:16px;font-weight:700}.cf-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.cf-grid.cols-1{grid-template-columns:1fr}.cf-field{flex-direction:column;gap:5px;display:flex}.cf-field.span-2{grid-column:1/-1}.cf-field label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font:600 11px ui-monospace,monospace}.cf-field label .req{color:var(--danger);margin-left:2px}.cf-upload{border:1.5px dashed var(--line);border-radius:var(--r-sm);text-align:center;cursor:pointer;background:var(--soft);padding:14px 16px;transition:border-color .12s}.cf-upload:hover{border-color:var(--primary)}.cf-upload input[type=file]{display:none}.cf-upload .cu-label{color:var(--muted);font-size:13px}.cf-upload .cu-label strong{color:var(--ink)}.cf-upload .cu-hint{color:var(--muted-2);letter-spacing:.04em;margin-top:4px;font:500 10px ui-monospace,monospace}.cf-check{align-items:flex-start;gap:10px;margin-top:18px;display:flex}.cf-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.cf-check label{color:var(--muted);font-size:13px;line-height:1.5}.cf-check label a{color:var(--ink)}.cf-divider{background:var(--line);height:1px;margin:20px 0}.cf-forgot{color:var(--primary);cursor:pointer;font:500 12px Montserrat,sans-serif;text-decoration:none}.mini-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:22px;position:sticky;top:80px}.mini-summary-card h4{margin:0 0 14px;font-size:15px;font-weight:700}.ms-item{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.ms-item:last-of-type{border-bottom:none}.ms-thumb{border-radius:6px;flex-shrink:0;width:44px;height:36px;overflow:hidden}.ms-detail{flex:1}.ms-name{font-size:12px;font-weight:600;line-height:1.3}.ms-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font:500 10px ui-monospace,monospace}.ms-price{text-align:right;flex-shrink:0;font-size:12px;font-weight:700}.ms-totals{border-top:1px solid var(--line);margin-top:10px;padding-top:12px}.ms-row{justify-content:space-between;padding:2px 0;font-size:12px;display:flex}.ms-row .ml{color:var(--muted)}.ms-row.grand{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-size:14px;font-weight:700}@media (width<=992px){.cart-layout,.checkout-layout,.auth-gate,.cf-grid{grid-template-columns:1fr}}@media (width<=768px){.cart-page{padding:24px 16px}}
