/* ReefDen cart UI — shared across pages. Relies on the page's :root vars
   (--deep2, --card, --line, --teal, --teal2, --coral, --text, --muted). */
.cart-btn{position:relative;display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  color:var(--muted);font-size:14.5px;font-weight:600;background:none;border:none}
.cart-btn:hover{color:var(--text)}
.cart-btn .badge{position:absolute;top:-9px;right:-12px;min-width:18px;height:18px;padding:0 5px;
  background:var(--coral);color:#3a1207;border-radius:999px;font-size:11px;font-weight:800;
  display:none;align-items:center;justify-content:center;line-height:18px}
.cart-btn.has-items .badge{display:inline-flex}

.cart-overlay{position:fixed;inset:0;background:rgba(2,14,20,.6);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:80}
.cart-overlay.open{opacity:1;visibility:visible}

.cart-drawer{position:fixed;top:0;right:0;height:100%;width:390px;max-width:92vw;
  background:var(--deep2,#0a2b3d);border-left:1px solid var(--line,#1c4459);
  transform:translateX(100%);transition:transform .28s ease;z-index:90;
  display:flex;flex-direction:column;color:var(--text,#eaf4f6)}
.cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;
  border-bottom:1px solid var(--line)}
.cart-head h3{font-size:18px;font-weight:800;margin:0}
.cart-close{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;line-height:1}
.cart-close:hover{color:var(--text)}
.cart-items{flex:1;overflow-y:auto;padding:8px 22px}
.cart-empty{color:var(--muted);font-size:14.5px;text-align:center;padding:40px 10px}
.cart-line{display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line)}
.cart-line img{width:54px;height:54px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.cart-line .nm{font-size:14.5px;font-weight:600}
.cart-line .pr{font-size:13px;color:var(--muted);margin-top:3px}
.qty{display:inline-flex;align-items:center;gap:0;margin-top:8px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.qty button{background:#04222d;border:none;color:var(--text);width:26px;height:26px;cursor:pointer;font-size:15px}
.qty button:hover{background:#0a3343}
.qty span{min-width:30px;text-align:center;font-size:13.5px}
.cart-line .rm{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;margin-top:6px;display:block}
.cart-line .rm:hover{color:var(--coral)}
.cart-line .lt{text-align:right;font-weight:700;font-size:14.5px}

.cart-foot{border-top:1px solid var(--line);padding:18px 22px 22px}
.ship-prog{font-size:12.5px;color:var(--muted);margin-bottom:6px}
.ship-prog b{color:var(--teal)}
.ship-bar{height:6px;background:#04222d;border-radius:999px;overflow:hidden;margin-bottom:16px}
.ship-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal2),var(--teal));width:0;transition:width .3s ease}
.cart-sub{display:flex;justify-content:space-between;font-size:15px;margin-bottom:4px}
.cart-sub .v{font-weight:800}
.cart-note{font-size:12px;color:var(--muted);margin-bottom:14px}
.cart-checkout{width:100%;background:var(--coral);color:#3a1207;font-weight:800;border:none;
  padding:14px;border-radius:11px;font-size:15.5px;cursor:pointer;box-shadow:0 10px 26px rgba(255,122,92,.3)}
.cart-checkout:hover{filter:brightness(1.07)}
.cart-checkout:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.cart-err{color:#ff9a8c;font-size:13px;margin-top:10px;min-height:18px;text-align:center}

/* add-to-cart button used in product pages */
.btn.addcart{background:var(--teal);color:#04222b}
