/* Shared shell stays in shared assets; only cart content is scoped here. */
body.hhm-cart-page { background: #f7f8fa; }
#hhm-cart { --cart-orange:#c44708; --cart-border:#e5e9ee; max-width:1240px; margin:0 auto; padding:28px 24px 64px; color:#243445; font:16px/1.55 Arial,sans-serif; }
#hhm-cart *, #cart-preview * { box-sizing:border-box; }
#hhm-cart [hidden] { display:none !important; }
#hhm-cart h1 { font-size:30px; font-weight:700; line-height:1.25; margin:12px 0 24px; color:#182a3b; }
#hhm-cart h1 small { font-size:16px; font-weight:400; color:#697685; }
#hhm-cart h2 { font-size:20px; font-weight:700; line-height:1.35; margin:0 0 22px; color:#182a3b; }
#hhm-cart h3 { font-size:17px; margin:0 0 6px; line-height:1.5; }
#hhm-cart p { margin:8px 0; }
#hhm-cart a { color:var(--cart-orange); text-decoration:none; }
#hhm-cart a:hover { text-decoration:underline; }
#hhm-cart .cart-breadcrumb { display:flex; justify-content:space-between; gap:16px; font-size:14px; color:#637181; }
#hhm-cart .cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; align-items:start; gap:24px; }
#hhm-cart .cart-panel { border:1px solid var(--cart-border); border-radius:20px; padding:26px; background:#fff; margin-bottom:22px; min-width:0; }
#hhm-cart .cart-item { display:grid; grid-template-columns:112px minmax(0,1fr); gap:20px; padding:22px 0; border-bottom:1px solid var(--cart-border); }
#hhm-cart .cart-item:first-child { padding-top:0; }
#hhm-cart .cart-item:last-child { border:0; padding-bottom:0; }
#hhm-cart .cart-photo { width:112px; height:126px; padding:10px; object-fit:contain; background:#fafafa; border-radius:14px; }
#hhm-cart .cart-variant { color:#667586; font-size:14px; }
#hhm-cart .cart-badge { display:inline-block; font-size:12px; color:#9c420e; background:#fff1e6; border:1px solid #ffd8bd; border-radius:6px; padding:3px 8px; margin-bottom:8px; }
#hhm-cart .cart-price { display:block; font-size:20px; color:var(--cart-orange); margin:8px 0 14px; }
#hhm-cart .cart-price small { color:#697685; font-size:13px; font-weight:400; }
#hhm-cart .cart-item-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#hhm-cart .cart-quantity { display:flex; align-items:center; border:1px solid #dce2e8; border-radius:10px; overflow:hidden; }
#hhm-cart button, #cart-preview button { cursor:pointer; font:inherit; }
#hhm-cart .cart-quantity button { width:36px; height:38px; border:0; background:#f8f9fb; color:#344354; font-size:20px; }
#hhm-cart .cart-quantity input { width:44px; border:0; text-align:center; height:38px; padding:0; appearance:textfield; font:inherit; }
#hhm-cart .cart-quantity input::-webkit-inner-spin-button { appearance:none; }
#hhm-cart .cart-remove { border:0; background:none; color:#697685; padding:8px 0; }
#hhm-cart .cart-remove:hover { color:#b63d06; }
#hhm-cart .cart-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
#hhm-cart label, #hhm-cart legend { display:block; font-weight:600; font-size:14px; margin:0 0 8px; }
#hhm-cart label span { color:#c44708; }
#hhm-cart input:not([type=radio]), #hhm-cart select, #hhm-cart textarea { font:inherit; max-width:100%; }
#hhm-cart .cart-field input, #hhm-cart .cart-field select, #hhm-cart textarea { width:100%; min-height:46px; border:1px solid #dce2e8; background:#fff; color:#243445; border-radius:10px; padding:10px 12px; }
#hhm-cart textarea { resize:vertical; }
#hhm-cart .cart-wide { grid-column:1/-1; }
#hhm-cart fieldset { border:0; padding:0; margin:0 0 20px; min-width:0; }
#hhm-cart .cart-shipping-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#hhm-cart .cart-shipping-options label { display:flex; align-items:center; gap:9px; border:1px solid #dce2e8; border-radius:12px; padding:14px; font-size:15px; font-weight:400; margin:0; cursor:pointer; }
#hhm-cart .cart-shipping-options label:has(:checked) { background:#fff5ed; border-color:#ff9b5f; color:#a53b05; }
#hhm-cart input[type=radio] { accent-color:#ed600d; width:17px; height:17px; flex-shrink:0; margin:0; }
#hhm-cart .cart-summary { position:sticky; top:140px; }
#hhm-cart .cart-summary dl { margin:0; }
#hhm-cart .cart-summary dl div { display:flex; justify-content:space-between; gap:16px; margin:14px 0; }
#hhm-cart .cart-summary dt { font-weight:400; color:#667586; }
#hhm-cart .cart-summary dd { text-align:right; margin:0; font-weight:600; }
#hhm-cart .cart-summary .cart-total { border-top:1px solid var(--cart-border); padding-top:20px; align-items:center; }
#hhm-cart .cart-total dt { color:#243445; font-weight:600; }
#hhm-cart .cart-total dd { font-size:22px; color:var(--cart-orange); white-space:nowrap; }
#hhm-cart .cart-preorder-note { padding:14px; border-radius:12px; background:#fff6ee; font-size:14px; color:#9d470f; margin:18px 0; }
#hhm-cart .cart-muted { color:#697685; font-size:13px; }
#hhm-cart .cart-primary, #cart-preview .cart-primary { display:block; text-align:center; text-decoration:none; width:100%; padding:15px 18px; border:0; border-radius:12px; background:#f5660b; color:#fff; font-weight:700; font-size:17px; }
#hhm-cart .cart-primary:hover, #cart-preview .cart-primary:hover { background:#d64d05; }
#hhm-cart .cart-contact { text-align:center; margin-top:16px; font-size:14px; }
#hhm-cart .cart-empty { max-width:680px; margin:30px auto 70px; text-align:center; padding:48px 28px; }
#hhm-cart .cart-empty svg { width:76px; height:76px; color:#f5660b; margin-bottom:20px; }
#hhm-cart .cart-empty .cart-primary { width:auto; display:inline-block; margin-top:20px; }
#hhm-cart .cart-status { min-height:24px; font-size:14px; color:#536475; margin:0 0 14px; }
#hhm-cart :focus-visible, #cart-preview :focus-visible { outline:3px solid #ffb27f; outline-offset:3px; }
#hhm-cart button:disabled { opacity:.45; cursor:default; }
.hhm-cart-page #hhm-demo-header #items_in_cart { display:grid !important; }
#cart-preview { position:fixed; inset:0; margin:auto !important; width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:28px; border:0; border-radius:20px; color:#243445; font:16px/1.6 Arial,sans-serif; overflow:auto; }
#cart-preview::backdrop { background:rgb(18 32 48 / .55); }
#cart-preview h2 { font-size:23px; margin:0 0 16px; }
#cart-preview [data-cart=preview-content] { white-space:pre-line; overflow-wrap:anywhere; }
#cart-preview .cart-preview-note { padding:14px; background:#fff4eb; border-radius:10px; font-size:14px; }
@media(max-width:1000px) { #hhm-cart .cart-layout { grid-template-columns:1fr; } #hhm-cart .cart-summary { position:static; } }
@media(max-width:600px) { #hhm-cart { padding:20px 16px 80px; } #hhm-cart h1 { font-size:25px; } #hhm-cart .cart-panel { padding:20px 16px; border-radius:16px; } #hhm-cart .cart-fields { grid-template-columns:1fr; } #hhm-cart .cart-item { grid-template-columns:84px minmax(0,1fr); gap:12px; } #hhm-cart .cart-photo { width:84px; height:104px; } #hhm-cart .cart-shipping-options { grid-template-columns:1fr; } #hhm-cart .cart-breadcrumb { font-size:12px; } #hhm-cart .cart-summary { padding-bottom:68px; } }
