:root {
    --navy:#070d25;
    --blue:#294696;
    --coral:#f04432;
    --coral-dark:#c92f25;
    --ink:#171522;
    --muted:#696573;
    --line:#e5e2e3;
    --soft:#f7f6f5;
    --success:#237a57;
}

* { box-sizing:border-box; }
body { background:#fff; color:var(--ink); font-family:Arial,Helvetica,sans-serif; margin:0; }
body.cart-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.account-menu { position:relative; }
.detail-container { margin:0 auto; width:min(1280px,calc(100% - 40px)); }
.detail-nav { background:var(--blue); color:white; }
.detail-breadcrumbs { color:var(--muted); display:flex; flex-wrap:wrap; font-size:.74rem; gap:8px; padding:18px 0; text-transform:uppercase; }
.detail-breadcrumbs span { color:#a2a0a8; }
.product-detail { align-items:start; display:grid; gap:54px; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); padding:12px 0 70px; }
.gallery { display:grid; gap:14px; grid-template-columns:78px minmax(0,1fr); min-width:0; }
.gallery-thumbnails { display:flex; flex-direction:column; gap:10px; }
.gallery-thumb { background:white; border:1px solid var(--line); border-radius:4px; cursor:pointer; height:78px; overflow:hidden; padding:5px; width:78px; }
.gallery-thumb.active { border-color:var(--blue); box-shadow:0 0 0 2px rgba(41,70,150,.12); }
.gallery-thumb img { height:100%; object-fit:contain; width:100%; }
.gallery-main { align-items:center; aspect-ratio:1 / 1; background:var(--soft); display:flex; justify-content:center; min-width:0; overflow:hidden; padding:28px; }
.gallery-main img { height:100%; object-fit:contain; width:100%; }
.gallery-empty { color:var(--muted); font-size:.9rem; }
.product-copy { min-width:0; padding-top:8px; }
.brand-mark { align-items:center; display:flex; gap:12px; margin-bottom:18px; min-height:48px; }
.brand-mark img { height:48px; max-width:160px; object-fit:contain; object-position:left center; }
.brand-mark span { color:var(--coral-dark); font-size:.82rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.product-copy h1 { color:var(--navy); font-family:Georgia,serif; font-size:2.35rem; font-weight:400; line-height:1.12; margin:0 0 13px; overflow-wrap:anywhere; }
.taxonomy { color:var(--muted); font-size:.77rem; line-height:1.5; margin:0 0 20px; }
.detail-price { align-items:baseline; display:flex; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.current-price { color:var(--coral-dark); font-size:1.85rem; font-weight:800; }
.old-price { color:var(--muted); font-size:1rem; }
.discount-badge { background:var(--coral); color:white; font-size:.72rem; font-weight:800; padding:5px 8px; }
.description-block { border-bottom:1px solid var(--line); margin:0 0 22px; padding:0 0 20px; }
.description-block h2 { color:var(--navy); font-family:Georgia,serif; font-size:1.15rem; font-weight:400; margin:0 0 8px; }
.description { color:var(--muted); font-size:.92rem; line-height:1.65; margin:0; white-space:pre-line; }
.stock-band { background:#f0f3ff; border-left:4px solid var(--blue); margin:0 0 22px; padding:16px 18px; }
.stock-band-title { color:var(--navy); font-size:.82rem; font-weight:800; margin:0 0 10px; text-transform:uppercase; }
.branch-list { display:grid; gap:9px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.branch-stock { align-items:center; color:var(--muted); display:grid; font-size:.78rem; gap:9px; grid-template-columns:10px minmax(0,1fr) auto; }
.branch-stock::before { background:var(--success); border-radius:50%; content:""; height:9px; width:9px; }
.branch-stock strong { color:var(--navy); }
.stock-fallback { color:var(--muted); font-size:.8rem; margin:0; }
.stock-fallback.available { color:var(--success); font-weight:700; }
.stock-fallback.out { color:#a13d34; font-weight:700; }
.option-group { border-top:1px solid var(--line); padding:18px 0; }
.option-label { color:var(--navy); display:block; font-size:.8rem; font-weight:800; margin-bottom:10px; }
.color-options { display:flex; flex-wrap:wrap; gap:8px; }
.color-option { background:white; border:2px solid transparent; border-radius:50%; cursor:pointer; height:32px; padding:3px; width:32px; }
.color-option span { border:1px solid rgba(0,0,0,.13); border-radius:50%; display:block; height:100%; width:100%; }
.color-option.selected { border-color:var(--navy); }
.general-color-option span { background:linear-gradient(135deg,#fff 0 45%,#d5382d 46% 54%,#fff 55% 100%); position:relative; }
.general-color-option span::after { border:1px dashed #a6a3aa; border-radius:50%; content:""; inset:3px; position:absolute; }
.selected-color { color:var(--muted); font-size:.76rem; margin:8px 0 0; min-height:18px; }
.purchase-row { display:grid; gap:10px; grid-template-columns:118px minmax(0,1fr) minmax(0,1fr); margin-top:4px; }
.quantity-stepper { align-items:center; border:1px solid var(--line); display:grid; grid-template-columns:38px 1fr 38px; height:48px; }
.quantity-stepper button { background:var(--soft); border:0; color:var(--navy); cursor:pointer; font-size:1.15rem; height:100%; }
.quantity-stepper output { color:var(--navy); font-weight:800; text-align:center; }
.primary-action,.buy-action { border:1px solid var(--coral); border-radius:4px; cursor:pointer; font-weight:800; min-height:48px; padding:0 14px; }
.primary-action { background:var(--coral); color:white; }
.primary-action:hover { background:var(--coral-dark); border-color:var(--coral-dark); }
.buy-action { background:var(--navy); border-color:var(--navy); color:white; }
.primary-action:disabled,.buy-action:disabled { background:#cfcccd; border-color:#cfcccd; color:#676367; cursor:not-allowed; }
.secondary-actions { align-items:center; display:flex; gap:18px; margin:18px 0; }
.wish-detail { align-items:center; background:white; border:0; color:var(--navy); cursor:pointer; display:flex; font-size:.82rem; font-weight:700; gap:8px; padding:4px 0; }
.wish-detail svg { fill:transparent; height:22px; width:22px; }
.wish-detail.active { color:var(--coral-dark); }
.wish-detail.active svg { fill:currentColor; }
.delivery-note { align-items:center; background:#f7f8fc; border:1px solid var(--line); display:grid; gap:13px; grid-template-columns:34px minmax(0,1fr); padding:15px 16px; }
.delivery-note svg { color:var(--blue); height:30px; width:30px; }
.delivery-note p { color:var(--muted); font-size:.8rem; line-height:1.5; margin:0; }
.delivery-note strong { color:var(--navy); }
.message { background:var(--navy); bottom:18px; color:white; display:none; left:50%; padding:13px 18px; position:fixed; transform:translateX(-50%); z-index:110; }
.message.visible { display:block; }
.cart-backdrop { background:rgba(7,13,37,.55); inset:0; opacity:0; pointer-events:none; position:fixed; transition:.2s; z-index:100; }
.cart-backdrop.visible { opacity:1; pointer-events:auto; }
.cart-panel { background:white; box-shadow:-12px 0 30px rgba(7,13,37,.2); display:flex; flex-direction:column; height:100dvh; max-width:430px; padding:22px; position:fixed; right:0; top:0; transform:translateX(105%); transition:.25s; width:100%; z-index:101; }
.cart-panel.open { transform:translateX(0); }
.cart-header { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding-bottom:15px; }
.cart-header h2 { color:var(--navy); font-family:Georgia,serif; font-size:1.7rem; font-weight:400; margin:0; }
.close-cart { background:transparent; border:0; cursor:pointer; font-size:1.6rem; height:38px; width:38px; }
.cart-items { flex:1; overflow-y:auto; }
.empty-cart { color:var(--muted); line-height:1.6; padding:35px 0; text-align:center; }
.cart-item { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:10px; grid-template-columns:58px 1fr 32px; padding:13px 0; }
.cart-item img { background:var(--soft); height:58px; object-fit:contain; width:58px; }
.cart-item h3 { font-size:.84rem; margin:0 0 5px; }
.cart-item p { color:var(--coral-dark); font-size:.82rem; font-weight:700; margin:0; }
.cart-stock { color:var(--success); display:block; font-size:.72rem; font-weight:700; margin:4px 0 7px; }
.cart-stock.warning,.cart-stock.out { color:#a13d34; }
.quantity { align-items:center; display:flex; gap:7px; margin-top:7px; }
.quantity button { background:var(--soft); border:1px solid var(--line); height:24px; width:24px; }
.remove-item { background:transparent; border:0; color:var(--muted); cursor:pointer; font-size:1.2rem; }
.cart-summary { border-top:1px solid var(--line); padding-top:16px; }
.total { display:flex; font-weight:700; justify-content:space-between; margin-bottom:14px; }
.checkout { background:var(--coral); border:0; border-radius:4px; color:white; cursor:pointer; font-weight:700; min-height:42px; width:100%; }
.checkout:disabled { background:#c7c4c6; }

@media (max-width:900px) {
    .product-detail { gap:34px; grid-template-columns:1fr; }
    .gallery { grid-template-columns:68px minmax(0,1fr); }
    .gallery-thumb { height:68px; width:68px; }
    .gallery-main { max-height:620px; }
}

@media (max-width:600px) {
    .detail-container { width:calc(100% - 28px); }
    .detail-breadcrumbs { padding:13px 0; }
    .product-detail { gap:24px; padding-bottom:48px; }
    .gallery { display:flex; flex-direction:column-reverse; gap:10px; }
    .gallery-thumbnails { flex-direction:row; overflow-x:auto; padding:2px; }
    .gallery-thumb { flex:0 0 64px; height:64px; width:64px; }
    .gallery-main { padding:18px; }
    .product-copy h1 { font-size:1.8rem; }
    .branch-list { grid-template-columns:1fr; }
    .purchase-row { grid-template-columns:112px minmax(0,1fr); }
    .buy-action { grid-column:1 / -1; }
    .cart-panel { max-width:none; padding:18px 16px; width:100vw; }
}
