/* Scoped cart dialog: one scrollable item list, checkout always visible. */
#rh-cart-drawer { --drawer-blue:#126db1; box-sizing:border-box; position:fixed; inset:0 0 0 auto; margin:0; padding:0; width:min(520px,100%); max-width:100%; height:100vh; height:100dvh; max-height:100dvh; border:0; border-radius:0; color:#172638; background:#fff; font-family:inherit; overflow:hidden; }
#rh-cart-drawer[open] { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; animation:rh-drawer-enter .24s ease-out both; }
#rh-cart-drawer::backdrop { background:rgba(9,26,40,.48); }
#rh-cart-drawer.is-closing { animation:rh-drawer-leave .18s ease-in both; }
#rh-cart-drawer *,#rh-cart-drawer *::before,#rh-cart-drawer *::after { box-sizing:border-box; }
#rh-cart-drawer [hidden] { display:none!important; }
#rh-cart-drawer button,#rh-cart-drawer a { -webkit-tap-highlight-color:transparent; }
#rh-cart-drawer button { cursor:pointer; font-family:inherit; box-shadow:none!important; }
#rh-cart-drawer a { color:inherit; }
#rh-cart-drawer :focus-visible { outline:3px solid #126db1; outline-offset:2px; }
#rh-cart-drawer .rh-cart-drawer__header { display:flex; align-items:center; justify-content:space-between; padding:20px 24px 16px; height:auto; min-height:0; position:static; background:#fff; border-bottom:1px solid #e1e7ee; box-shadow:none; }
.rh-cart-drawer__eyebrow { font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#627183; }
#rh-cart-drawer h2 { font-size:23px; line-height:1.3; margin:3px 0 0; font-weight:700; }
#rh-cart-drawer [data-drawer-count] { font-size:14px; color:#627183; font-weight:400; }
#rh-cart-drawer .rh-cart-drawer__close { width:44px; height:44px; border:0; background:transparent; font-size:30px; color:#536477; }
.rh-cart-drawer__notice { padding:14px 24px; background:#f0f8f4; border-bottom:1px solid #dbece2; }
#rh-cart-drawer .rh-cart-drawer__notice p { margin:0; font-size:13px; line-height:1.5; }
#rh-cart-drawer [data-drawer-success] { color:#17663f; margin-bottom:10px; }
.rh-cart-drawer__shipping { display:flex; align-items:center; gap:12px; color:#17663f; }
.rh-cart-drawer__shipping small { display:block; font-size:12px; color:#496653; }
#rh-cart-drawer [data-drawer-status]:not(:empty) { margin-top:10px; color:#374a5d; }
.rh-cart-drawer__body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 24px; -webkit-overflow-scrolling:touch; }
.rh-drawer-item { display:grid; grid-template-columns:72px minmax(0,1fr) 28px; gap:12px; padding:20px 0; border-bottom:1px solid #e1e7ee; position:relative; }
.rh-drawer-item__image { display:block; width:72px; height:80px; border:1px solid #e4eaf0; border-radius:4px; overflow:hidden; }
#rh-cart-drawer .rh-drawer-item__image img { width:100%; height:100%; object-fit:contain; }
#rh-cart-drawer .rh-drawer-item__name { display:block; font-size:14px; font-weight:600; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.rh-drawer-item__bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; }
.rh-drawer-item__price { font-size:16px; white-space:nowrap; font-variant-numeric:tabular-nums; }
#rh-cart-drawer .rh-drawer-item__remove { width:44px; height:44px; margin:-8px 0 0 -8px; padding:8px; border:0; background:transparent; color:#627183; }
.rh-drawer-qty { display:flex; height:44px; border:1px solid #d3dde7; border-radius:4px; overflow:hidden; }
#rh-cart-drawer .rh-drawer-qty button { width:44px; min-width:44px; padding:0; border:0; border-radius:0; background:#f6f8fb; color:#172638; font-size:20px; }
#rh-cart-drawer .rh-drawer-qty input { width:38px; min-width:0; padding:0; border:0; border-radius:0; background:#fff; color:#172638; font-family:inherit; font-size:16px!important; text-align:center; appearance:textfield; -moz-appearance:textfield; }
#rh-cart-drawer .rh-drawer-qty input::-webkit-inner-spin-button,#rh-cart-drawer .rh-drawer-qty input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.rh-drawer-item__quantity { font-size:12px; color:#627183; }
#rh-cart-drawer .rh-cart-drawer__footer { position:static; padding:18px 24px calc(16px + env(safe-area-inset-bottom,0px)); border-top:1px solid #d8e1eb; background:#fff; }
.rh-cart-drawer__total { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:16px; }
.rh-cart-drawer__total strong { font-size:26px; font-variant-numeric:tabular-nums; }
#rh-cart-drawer .rh-cart-drawer__tax { font-size:12px; margin:3px 0 14px; color:#627183; }
#rh-cart-drawer .rh-cart-drawer__checkout { display:flex; align-items:center; justify-content:center; gap:16px; width:100%; min-height:52px; padding:12px; background:var(--drawer-blue); color:#fff; font-size:17px; font-weight:650; border-radius:6px; text-decoration:none; }
#rh-cart-drawer .rh-cart-drawer__checkout:hover { background:#0e5790; }
#rh-cart-drawer [aria-disabled='true'],#rh-cart-drawer button:disabled { opacity:.55; cursor:wait; }
#rh-cart-drawer .rh-cart-drawer__basket { display:flex; align-items:center; justify-content:center; min-height:42px; font-size:13px; color:var(--drawer-blue); text-decoration:underline; text-underline-offset:3px; }
#rh-cart-drawer .rh-cart-drawer__trust { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 18px; color:#627183; font-size:11px; margin:4px 0 0; }
.rh-cart-drawer__empty { padding:50px 0; text-align:center; }
#rh-cart-drawer .rh-cart-drawer__empty p { font-size:14px; color:#627183; }
#rh-cart-drawer .rh-cart-drawer__empty button { padding:12px 18px; min-height:44px; border:1px solid #d3dde7; border-radius:6px; background:#fff; color:#126db1; }
@keyframes rh-drawer-enter { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes rh-drawer-leave { to { transform:translateX(100%); } }
@media(max-width:575px) { #rh-cart-drawer { width:100%; } #rh-cart-drawer .rh-cart-drawer__header { padding:12px 16px; } #rh-cart-drawer h2 { font-size:21px; } .rh-cart-drawer__notice { padding:12px 16px; } .rh-cart-drawer__body { padding:0 16px; } #rh-cart-drawer .rh-cart-drawer__footer { padding:14px 16px calc(12px + env(safe-area-inset-bottom,0px)); } .rh-drawer-item { grid-template-columns:60px minmax(0,1fr) 24px; gap:10px; padding:16px 0; } .rh-drawer-item__image { width:60px; height:70px; } .rh-drawer-item__bottom { margin-top:10px; } }
@media(max-height:600px) { .rh-cart-drawer__eyebrow,.rh-cart-drawer__trust,.rh-cart-drawer__shipping small { display:none!important; } #rh-cart-drawer .rh-cart-drawer__header,#rh-cart-drawer .rh-cart-drawer__footer,.rh-cart-drawer__notice { padding-top:8px; padding-bottom:8px; } }
@media(prefers-reduced-motion:reduce) { #rh-cart-drawer[open],#rh-cart-drawer.is-closing { animation:none; } }

#rh-cart-drawer .rh-cart-drawer__checkout { color:#fff!important; font-size:17px!important; }
#rh-cart-drawer .rh-cart-drawer__close { font-size:30px!important; line-height:1!important; }
/* Override legacy global !important copy rules within this component only. */
#rh-cart-drawer .rh-cart-drawer__notice p { font-size:13px!important; line-height:1.45!important; }
#rh-cart-drawer .rh-cart-drawer__shipping small { font-size:12px!important; line-height:1.4!important; }
#rh-cart-drawer .rh-cart-drawer__tax { font-size:12px!important; line-height:1.4!important; }
#rh-cart-drawer .rh-cart-drawer__trust { font-size:11px!important; line-height:1.4!important; }
#rh-cart-drawer .rh-cart-drawer__basket { font-size:13px!important; line-height:1.4!important; }
#rh-cart-drawer .rh-drawer-item__name { font-size:14px!important; line-height:1.4!important; }
#rh-cart-drawer .rh-cart-drawer__total strong { line-height:1.2!important; }

#rh-cart-drawer [data-drawer-recovery] { display:inline-flex; align-items:center; min-height:44px; color:#126db1; font-size:14px; font-weight:600; text-decoration:underline; }
