/* Scoped homepage cart styles: keep the landing page design independent. */
#cl-shop-cart{--paper:#FAF6EF;--ink:#1C1916;--muted:rgba(28,25,22,.62);--line:rgba(28,25,22,.12);--orange:#d63c08;font-family:Inter,sans-serif;color:var(--ink);font-size:14px} #cl-shop-cart *{box-sizing:border-box} #cl-shop-cart button{font:inherit;color:inherit;border:0;cursor:pointer} #cl-shop-cart button:disabled{opacity:.45;cursor:not-allowed} #cl-shop-cart [hidden]{display:none!important} #cl-shop-cart button:focus-visible{outline:3px solid #b35a2c;outline-offset:4px}
#cl-shop-cart .cart{position:sticky;top:24px;border:1px solid var(--line);border-radius:13px;background:#FAF6EF;box-shadow:0 12px 35px #25302006;overflow:hidden}
#cl-shop-cart .cart-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 24px 18px;border-bottom:1px solid var(--line)}
#cl-shop-cart .cart-heading h2{font:500 22px General;margin:0}
#cl-shop-cart .cart-heading h2 span{font:12px Inter;color:var(--muted);margin-left:8px}
#cl-shop-cart #closeCart{display:none;background:transparent;font-size:20px}
#cl-shop-cart .empty{padding:45px 25px 42px;text-align:center}
#cl-shop-cart .empty svg{width:40px;height:40px;margin:0 0 13px;color:#89937e}
#cl-shop-cart .empty h3{font:500 18px General;margin:6px 0}
#cl-shop-cart .empty p{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0}
#cl-shop-cart .empty button{font-size:12px;text-decoration:underline;background:transparent;margin-top:12px}
#cl-shop-cart .cart-bottom{padding:22px 24px 24px;border-top:1px solid var(--line)}
#cl-shop-cart .subtotal{display:flex;justify-content:space-between;align-items:center;font-size:15px}
#cl-shop-cart .subtotal strong{font-weight:500;font-size:20px}
#cl-shop-cart .cart-bottom>p{font-size:10px;color:var(--muted);line-height:1.6}
#cl-shop-cart .checkout{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--orange);color:white;border-radius:7px;padding:16px;margin:18px 0 10px;font-family:Bricolage;font-size:15px}
#cl-shop-cart .checkout:hover:not(:disabled){background:#b8320a}
#cl-shop-cart .checkout span{font-size:20px}
#cl-shop-cart .cart-bottom .cart-foot{margin:18px 0 0;text-align:center;font-size:11px}
#cl-shop-cart .continue{display:none}
#cl-shop-cart .cart-item{padding:20px 22px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:52px 1fr;gap:12px}
#cl-shop-cart .cart-item:last-child{border:0}
#cl-shop-cart .cart-thumb{width:52px;height:65px;object-fit:cover;border-radius:5px;background:#eee7df}
#cl-shop-cart .cart-thumb svg{width:100%;height:100%;padding:4px}
#cl-shop-cart .item-title{font-size:12px;font-weight:600;margin:0 0 5px}
#cl-shop-cart .item-options{color:var(--muted);font-size:10px;line-height:1.6}
#cl-shop-cart .item-actions{display:flex;align-items:center;justify-content:space-between;margin-top:11px}
#cl-shop-cart .quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:5px}
#cl-shop-cart .quantity button{background:transparent;width:25px;height:26px}
#cl-shop-cart .quantity span{min-width:18px;text-align:center;font-size:11px}
#cl-shop-cart .item-price{font-size:12px}
#cl-shop-cart .remove{border:0;padding:0;background:transparent;color:var(--muted);font-size:10px;text-decoration:underline;margin-top:8px}
#cl-shop-cart #cartItems{max-height:45vh;overflow:auto}
#cl-shop-cart .scrim{position:fixed;inset:0;background:#19231c66;z-index:8}
#cl-shop-cart #toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;padding:12px 22px;border-radius:30px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:15}
#cl-shop-cart #toast.show{opacity:1;transform:translate(-50%,0)}
#cl-shop-cart .cart{display:none;position:fixed;right:0;top:0;bottom:0;width:min(390px,94vw);border-radius:16px 0 0 16px;z-index:10;box-shadow:-10px 0 60px #0002}
#cl-shop-cart .cart.open{display:flex;flex-direction:column}
#cl-shop-cart .cart-heading{padding-top:28px}
#cl-shop-cart #cartItems{max-height:none;flex:1;overflow-y:auto}
#cl-shop-cart .cart-bottom{margin-top:auto}
#cl-shop-cart #closeCart{display:block}
#cl-shop-cart .continue{display:block;background:transparent;text-align:center;width:100%;padding:8px;font-size:12px}
#cl-shop-cart #toast{bottom:82px;max-width:90%;white-space:nowrap;font-size:12px}
#cl-shop-cart .checkout{border-radius:999px;background:var(--orange);color:white;border:0;font-family:Bricolage;font-weight:700;letter-spacing:-.01em}
#cl-shop-cart .checkout:hover:not(:disabled){background:#b8320a}
#cl-shop-cart .cart-thumb{object-fit:contain;background:white}
#cl-shop-cart .cart{position:fixed;inset:0 0 0 auto;top:0;width:min(440px,100%);height:100dvh;max-height:100dvh;z-index:10;display:flex;flex-direction:column;border-radius:0;border:0;box-shadow:-12px 0 50px #0002;transform:none}
#cl-shop-cart .cart.open{transform:none}
#cl-shop-cart .cart-heading{flex:none}
#cl-shop-cart #cartItems{max-height:none;overflow-y:auto;flex:1}
#cl-shop-cart .cart-bottom{flex:none;margin-top:auto}
#cl-shop-cart #closeCart{display:block;background:transparent;min-width:40px;min-height:40px}
#cl-shop-cart .continue{display:block;background:transparent;text-align:center;width:100%;padding:12px;font-size:12px}
#cl-shop-cart .cart-icon{width:22px;height:22px;flex:none;vertical-align:middle}
#cl-shop-cart .scrim{z-index:9}
#cl-shop-cart .cart:not([hidden]){animation:cart-enter .2s ease-out}
#cl-shop-cart .floating-bag:hover{background:#b8320a}
#cl-shop-cart .floating-bag span{min-width:18px;text-align:center}
#cl-shop-cart .floating-bag .cart-icon{width:24px;height:24px}
#cl-shop-cart .cart{z-index:1100}#cl-shop-cart .scrim{z-index:1099}#cl-shop-cart .floating-bag{z-index:70;color:white}#cl-shop-cart .checkout{color:white}#cl-shop-cart #toast{z-index:1101}#cl-shop-cart .cart-heading h2,#cl-shop-cart .empty h3{font-family:var(--font-head),sans-serif}#cl-shop-cart .checkout{font-family:var(--font-lockup),sans-serif}@media(prefers-reduced-motion:reduce){#cl-shop-cart *{animation:none!important}}

/* Comfortable tap targets (44px) and readable bag text. */
#cl-shop-cart .item-title{font-size:14px}#cl-shop-cart .item-options{font-size:12px;line-height:1.5}#cl-shop-cart .item-price{font-size:14px}#cl-shop-cart .quantity button{width:44px;height:44px;font-size:16px}#cl-shop-cart .quantity span{min-width:22px;font-size:14px}#cl-shop-cart .remove{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;margin:0 0 -10px -10px;font-size:12px}#cl-shop-cart .cart-bottom>p{font-size:12px}#cl-shop-cart .cart-bottom .cart-foot{font-size:12px}
/* The bag bubble replaces the homepage preorder bar once something is in the bag. */
html.cl-bag-filled #stickybar{transform:translateY(calc(100% + 40px));pointer-events:none;visibility:hidden;transition:transform .35s ease,visibility 0s linear .35s}@media(prefers-reduced-motion:reduce){html.cl-bag-filled #stickybar{transition:none}}
/* Leave room at the page end so the floating bag button never sits on the last content (footer links, FAQ). */
@media(max-width:768px){html.cl-bag-filled body{padding-bottom:88px}}

/* HSA/FSA (Truemed) checkout: alternate payment option and shipping form inside the bag. */
#cl-shop-cart .hsa-pay{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;margin:0 0 10px;padding:10px 13px;border:1px solid var(--ink);border-radius:999px;background:transparent;font-weight:600;font-size:14px}
#cl-shop-cart .hsa-pay:hover:not(:disabled){background:rgba(28,25,22,.06)}
#cl-shop-cart .hsa-pay small{font-size:11px;font-weight:400;color:var(--muted)}
#cl-shop-cart .hsa-back{display:block;width:100%;padding:10px;border:0;background:transparent;font-size:12px;text-decoration:underline}
#cl-shop-cart .hsa-form{padding:20px 22px;display:grid;gap:12px}
#cl-shop-cart .hsa-form h3{margin:0;font-size:18px}
#cl-shop-cart .hsa-intro,#cl-shop-cart .hsa-fine{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
#cl-shop-cart .hsa-form label{display:grid;gap:5px;font-size:12px;font-weight:600}
#cl-shop-cart .hsa-form label span{font-weight:400;color:var(--muted)}
#cl-shop-cart .hsa-form input,#cl-shop-cart .hsa-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:white;font:inherit;font-size:16px;color:var(--ink)}
#cl-shop-cart .hsa-form input:focus,#cl-shop-cart .hsa-form select:focus{outline:2px solid var(--orange);outline-offset:1px}
#cl-shop-cart .hsa-form [aria-invalid="true"]{border-color:var(--orange)}
#cl-shop-cart .hsa-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#cl-shop-cart.hsa-mode #cartItems,#cl-shop-cart.hsa-mode .cart-addons,#cl-shop-cart.hsa-mode #checkout,#cl-shop-cart.hsa-mode #checkoutHsa,#cl-shop-cart.hsa-mode #cartGift{display:none}
