﻿.cart-page { --cart-blue:#0070B8; --cart-muted:#7a8ca7; color:var(--cart-blue); background:linear-gradient(180deg,#f0f8ff 0,#f8fafc 330px); min-height:62vh; padding:28px 0 70px; }
.cart-container { max-width:1440px; margin:auto; padding:0 32px; }
.cart-breadcrumb { display:flex; gap:10px; align-items:center; font-size:calc(12px + 2px); color:var(--cart-muted); margin-bottom:30px; }
.cart-breadcrumb a { color:var(--cart-muted); text-decoration:none; }
.cart-breadcrumb a:hover { color:var(--cart-blue); }
.cart-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.cart-eyebrow { font-size:14px; font-weight:750; color:#e5a015; letter-spacing:.16em; display:block; margin-bottom:10px; }
.cart-heading h1 { font-size:42px; font-weight:800; color:var(--cart-blue); margin:0 0 10px; letter-spacing:-.04em; line-height:1.1; }
.cart-heading p { color:var(--cart-muted); margin:0; font-size:calc(14px + 2px); }
.cart-continue { display:inline-flex; align-items:center; gap:10px; color:var(--cart-blue); font-size:14px; font-weight:650; text-decoration:none; background:#fff; padding:12px 18px; border:1px solid #dce7f4; border-radius:10px; }
.cart-continue:hover { color:var(--cart-blue); background:#f5f9ff; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; align-items:start; }
.cart-products-panel,.cart-summary { background:#fff; border:1px solid #e3ebf5; border-radius:20px; box-shadow:0 10px 30px #0070B810; }
.cart-products-panel { overflow:hidden; }
.cart-panel-heading { padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid #eaf0f7; }
.cart-panel-heading h2,.cart-summary h2 { margin:0; font-size:19px; font-weight:750; color:var(--cart-blue); }
.cart-panel-heading > span { font-size:calc(12px + 2px); color:var(--cart-muted); background:#f3f7fc; border-radius:20px; padding:6px 12px; }
.cart-column-headings,.cart-item { display:grid; grid-template-columns:minmax(200px,1fr) 90px 115px 110px 30px; gap:16px; padding:14px 24px; align-items:center; }
.cart-column-headings { color:var(--cart-muted); font-size:14px; text-transform:uppercase; letter-spacing:.07em; background:#fcfdff; }
.cart-item { padding-top:24px; padding-bottom:24px; border-bottom:1px solid #edf2f8; }
.cart-item:last-child { border-bottom:0; }
.cart-item-product { display:flex; align-items:center; gap:16px; min-width:0; }
.cart-item-image { width:90px; height:85px; border-radius:12px; background:#f3f7fb; padding:8px; flex-shrink:0; }
.cart-item-image img { width:100%; height:100%; object-fit:contain; }
.cart-item-copy { min-width:0; }
.cart-item-category { display:block; color:#e49a08; text-transform:uppercase; font-size:14px; font-weight:700; letter-spacing:.07em; margin-bottom:5px; }
.cart-item-copy h3 { font-size:14px; line-height:1.5; font-weight:750; margin:0 0 6px; overflow-wrap:anywhere; }
.cart-item-copy a { color:var(--cart-blue); text-decoration:none; }
.cart-item-stock { font-size:14px; color:#12a467; display:flex; align-items:center; gap:5px; }
.cart-item-stock::before { content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:currentColor; }
.cart-item-stock.is-out { color:#da3349; }
.cart-item-price { color:#667994; font-size:calc(13px + 2px); overflow-wrap:anywhere; }
.cart-item-total { font-size:calc(15px + 2px); color:var(--cart-blue); font-weight:800; overflow-wrap:anywhere; }
.cart-quantity { display:flex; align-items:center; border:1px solid #dce6f2; border-radius:9px; overflow:hidden; height:37px; width:110px; background:#fff; }
.cart-quantity button { width:32px; height:100%; border:0; background:#f7faff; color:var(--cart-blue); flex-shrink:0; font-size:17px; }
.cart-quantity button:disabled { color:#b5c0ce; cursor:not-allowed; }
.cart-quantity input { min-width:0; width:100%; text-align:center; border:0; outline:0; color:var(--cart-blue); font-weight:650; font-size:14px; padding:0; appearance:textfield; -moz-appearance:textfield; }
.cart-quantity input::-webkit-inner-spin-button,.cart-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.cart-remove { width:30px; height:34px; display:grid; place-items:center; padding:0; border:0; background:none; border-radius:8px; color:#96a4b8; }
.cart-remove:hover { color:#d3354a; background:#fff0f3; }
.cart-panel-note { display:flex; align-items:center; gap:8px; background:#fcfdff; color:var(--cart-muted); font-size:14px; padding:16px 24px; border-top:1px solid #edf2f8; }
.cart-summary { padding:24px; position:sticky; top:24px; }
.cart-summary h2 { margin-bottom:24px; }
.cart-summary dl { margin:0; }
.cart-summary dl > div { display:flex; justify-content:space-between; align-items:baseline; gap:18px; font-size:calc(12px + 2px); margin-bottom:20px; }
.cart-summary dt { font-weight:450; color:var(--cart-muted); }
.cart-summary dd { margin:0; font-weight:600; text-align:right; max-width:155px; }
.cart-summary dl > div:last-child dd { font-size:14px; color:var(--cart-muted); font-weight:450; }
.cart-summary-total { border-top:1px solid #e7edf5; padding-top:22px; margin-top:6px; display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:22px; }
.cart-summary-total span { font-size:calc(15px + 2px); font-weight:700; }
.cart-summary-total strong { font-size:calc(24px + 2px); font-weight:800; overflow-wrap:anywhere; }
.cart-order-button { display:flex; justify-content:center; align-items:center; gap:14px; border-radius:11px; background:linear-gradient(115deg,#ffd06a,#ffbb31); color:var(--cart-blue); text-decoration:none; padding:14px 12px; font-size:14px; font-weight:750; }
.cart-order-button:hover { background:#ffbc36; color:var(--cart-blue); }
.cart-order-note { font-size:14px; color:var(--cart-muted); line-height:1.65; text-align:center; margin:14px 0 22px; }
.cart-help { border-top:1px solid #e7edf5; padding-top:20px; display:flex; gap:12px; }
.cart-help > i { background:#edf4ff; color:var(--cart-blue); height:36px; width:36px; border-radius:10px; display:grid; place-items:center; flex-shrink:0; }
.cart-help strong,.cart-help span,.cart-help a { display:block; }
.cart-help strong { font-size:14px; margin-bottom:5px; }
.cart-help span { font-size:14px; color:var(--cart-muted); line-height:1.6; }
.cart-help a { font-size:14px; margin-top:6px; color:#0070B8; }
.cart-empty { padding:64px 24px; text-align:center; background:#fff; border:1px solid #e3ebf5; border-radius:20px; box-shadow:0 10px 30px #0070B810; }
.cart-empty-icon { display:grid; place-items:center; margin:0 auto 26px; width:88px; height:88px; border-radius:26px; color:#0070B8; background:#edf5ff; font-size:32px; transform:rotate(-5deg); }
.cart-empty h2 { font-size:28px; font-weight:800; color:var(--cart-blue); margin:0 0 12px; }
.cart-empty p { font-size:calc(14px + 2px); color:var(--cart-muted); margin:0 0 26px; }
.cart-empty .cart-order-button { width:max-content; max-width:100%; padding:14px 28px; margin:auto; }
.cart-error { background:#fff1f2; border:1px solid #ffd2d9; border-radius:10px; color:#b72e46; padding:14px 18px; font-size:14px; margin-bottom:20px; }
.cart-notice { display:none; position:fixed; inset:0; margin:auto; width:250px; max-width:calc(100vw - 32px); height:fit-content; min-height:180px; padding:26px; background:#fff; color:#0070B8; border:1px solid #e3ece8; border-radius:18px; box-shadow:0 18px 70px #0070B83d; z-index:2147483647; text-align:center; }
.cart-notice.is-visible { display:grid; justify-items:center; gap:12px; }
.cart-notice[hidden] { display:none; }
.cart-notice-icon { display:grid; place-items:center; width:45px; height:45px; background:#e7f8ee; color:#16a364; border-radius:50%; }
.cart-notice p { font-size:calc(13px + 2px); color:var(--cart-muted); margin:0; }
.cart-page a:focus-visible,.cart-page button:focus-visible,.cart-page input:focus-visible { outline:3px solid #86b4ff; outline-offset:3px; }
@media (max-width:1199px) { .cart-layout { grid-template-columns:minmax(0,1fr) 285px; gap:18px; } .cart-column-headings { display:none; } .cart-item { grid-template-columns:minmax(0,1fr) 100px 30px; gap:16px 12px; } .cart-item-product { grid-column:1/3; } .cart-remove { grid-row:1; grid-column:3; } .cart-item-price { grid-column:1; grid-row:2; } .cart-quantity { grid-column:2; grid-row:2; } .cart-item-total { grid-column:1/3; grid-row:3; text-align:right; } .cart-quantity { width:100px; } }
@media (max-width:800px) { .cart-layout { grid-template-columns:1fr; } .cart-summary { position:static; } .cart-summary dd { max-width:none; } }
@media (max-width:650px) { .cart-container { padding:0 16px; } .cart-page { padding-top:20px; } .cart-breadcrumb { margin-bottom:24px; } .cart-heading { align-items:flex-start; flex-direction:column; gap:18px; } .cart-heading h1 { font-size:34px; } .cart-heading p { font-size:calc(12px + 2px); } .cart-panel-heading { padding:18px; } .cart-item { padding:20px 18px; grid-template-columns:minmax(0,1fr) 100px 30px; } .cart-item-product { grid-column:1/3; } .cart-remove { grid-column:3; grid-row:1; } .cart-item-price { grid-column:1; grid-row:2; } .cart-quantity { grid-column:2; grid-row:2; } .cart-item-total { grid-column:1/3; grid-row:3; text-align:right; } .cart-item-image { width:75px; height:75px; } .cart-item-copy h3 { font-size:14px; } .cart-panel-note { padding:14px 18px; } .cart-summary { padding:22px; } }
