/* RetroBay — carrito lateral */
.rb-cart-drawer { --rb-cart-accent:#61c1b2; --rb-cart-bg:#202020; --rb-cart-panel:#292b2a; --rb-cart-line:rgba(255,255,255,.14); --rb-cart-muted:#b3bbb7; position:fixed; z-index:2147483000; inset:0; visibility:hidden; color:#f7f8f7; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; pointer-events:none; transition:visibility 0s linear .38s; }
.rb-cart-drawer *, .rb-cart-drawer *::before, .rb-cart-drawer *::after { box-sizing:border-box; }
.rb-cart-drawer svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rb-cart-drawer__backdrop, .rb-cart-drawer__backdrop:hover, .rb-cart-drawer__backdrop:focus, .rb-cart-drawer__backdrop:active { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; opacity:0; background:rgba(0,0,0,.72) !important; box-shadow:none !important; cursor:default; transition:opacity .26s ease; }
.rb-cart-drawer__panel { position:absolute; top:0; right:0; width:min(100%,570px); height:100%; overflow:hidden; border-left:1px solid rgba(255,255,255,.08); opacity:.9; background:linear-gradient(145deg,#2b2d2c,#222323 72%) !important; box-shadow:-28px 0 70px rgba(0,0,0,.42); transform:translateX(102%); transform-origin:right center; transition:transform .38s cubic-bezier(.22,.8,.26,1),opacity .25s ease; will-change:transform,opacity; }
.rb-cart-drawer.is-open { visibility:visible; pointer-events:auto; transition-delay:0s; }
.rb-cart-drawer.is-open .rb-cart-drawer__backdrop, .rb-cart-drawer.is-open .rb-cart-drawer__backdrop:hover, .rb-cart-drawer.is-open .rb-cart-drawer__backdrop:focus, .rb-cart-drawer.is-open .rb-cart-drawer__backdrop:active { opacity:1; }
.rb-cart-drawer.is-open .rb-cart-drawer__panel { opacity:1; transform:translateX(0); }
.rb-cart-drawer__panel-content { display:flex; height:100%; min-height:0; flex-direction:column; padding:28px 28px 22px; overflow:hidden; overscroll-behavior:contain; }
.rb-cart-drawer__header { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); flex:0 0 auto; align-items:center; gap:12px; margin-bottom:18px; }
.rb-cart-drawer__header > div { display:contents; }
.rb-cart-drawer__header h2 { grid-column:1; justify-self:start; margin:0; color:#fff; font-size:26px; line-height:1.15; letter-spacing:-.03em; white-space:nowrap; }
.rb-cart-drawer__header > div > span { display:inline-flex; min-height:23px; align-items:center; padding:3px 9px; border:1px solid rgba(97,193,178,.34); border-radius:99px; color:var(--rb-cart-accent); background:rgba(97,193,178,.08); font-size:11px; font-weight:700; line-height:1; }
.rb-cart-drawer__header > div > span { grid-column:2; justify-self:center; }
.rb-cart-drawer__header .rb-cart-drawer__close { grid-column:3; justify-self:end; }
.rb-cart-drawer__close { position:relative; flex:0 0 42px; width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#fff; background:rgba(255,255,255,.025); cursor:pointer; }
.rb-cart-drawer__close:hover { border-color:var(--rb-cart-accent); background:rgba(97,193,178,.1); }
.rb-cart-drawer__close svg { position:absolute; top:50%; left:50%; width:20px; height:20px; transform:translate(-50%,-50%); }
.rb-cart-progress { flex:0 0 auto; margin-bottom:20px; }
.rb-cart-progress__track { display:block; overflow:hidden; height:8px; border-radius:99px; background:rgba(255,255,255,.16); }
.rb-cart-progress__track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#55b1a3,#7bd3c5); box-shadow:0 0 16px rgba(97,193,178,.3); transition:width .35s ease; }
.rb-cart-progress p { display:flex; align-items:center; justify-content:center; gap:8px; margin:10px 0 0; color:var(--rb-cart-accent); font-size:14px; }
.rb-cart-progress p svg { width:19px; height:19px; }
.rb-cart-progress p strong { font-weight:700; }
.rb-cart-drawer__items { display:grid; grid-auto-rows:max-content; align-content:start; flex:1 1 auto; min-height:0; gap:12px; overflow-y:auto; overscroll-behavior:contain; padding:1px 6px 1px 0; scrollbar-width:thin; scrollbar-color:rgba(97,193,178,.45) transparent; }
.rb-cart-item { display:grid; grid-template-columns:138px minmax(0,1fr); min-height:148px; overflow:hidden; border:1px solid var(--rb-cart-line); border-radius:8px; opacity:1; background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.015)); transform:translateX(0) scale(1); transition:height .32s cubic-bezier(.4,0,.2,1),min-height .32s cubic-bezier(.4,0,.2,1),border-width .28s ease,opacity .2s ease,transform .32s cubic-bezier(.4,0,.2,1); }
.rb-cart-item.is-removing { height:0 !important; min-height:0 !important; border-width:0; opacity:0; transform:translateX(28px) scale(.975); pointer-events:none; }
.rb-cart-item__image { display:grid; min-height:146px; place-items:center; padding:0; border-right:1px solid var(--rb-cart-line); background:radial-gradient(circle,rgba(255,255,255,.09),rgba(0,0,0,.07)); }
.rb-cart-item__image img { display:block; width:100%; height:100%; min-height:146px; margin:0; object-fit:cover; filter:drop-shadow(0 10px 12px rgba(0,0,0,.35)); }
.rb-cart-item__body { display:flex; min-width:0; flex-direction:column; padding:18px 16px 15px; }
.rb-cart-item__top { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; }
.rb-cart-item__name { color:#fff !important; font-size:14px; font-weight:700; line-height:1.35; text-decoration:none; }
.rb-cart-item__top strong { color:#fff; font-size:14px; white-space:nowrap; }
.rb-cart-item__meta { min-height:23px; margin-top:4px; color:var(--rb-cart-muted); font-size:12px; }
.rb-cart-item__meta dl { display:flex; gap:5px; margin:0; }
.rb-cart-item__meta dt, .rb-cart-item__meta dd { margin:0; }
.rb-cart-item__actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; }
.rb-cart-qty { display:grid; grid-template-columns:36px 45px 36px; overflow:hidden; height:36px; border:1px solid var(--rb-cart-line); border-radius:5px; }
.rb-cart-qty button, .rb-cart-qty input { min-width:0; height:34px; padding:0; border:0; border-radius:0; color:#fff; background:transparent; box-shadow:none; text-align:center; }
.rb-cart-qty button { font-size:18px; cursor:pointer; }
.rb-cart-qty button:hover:not(:disabled) { color:var(--rb-cart-accent); background:rgba(255,255,255,.05); }
.rb-cart-qty button:disabled { opacity:.35; cursor:not-allowed; }
.rb-cart-qty input { appearance:textfield; border-right:1px solid rgba(255,255,255,.08); border-left:1px solid rgba(255,255,255,.08); font-size:14px; }
.rb-cart-qty input::-webkit-inner-spin-button { display:none; }
.rb-cart-item__remove { color:var(--rb-cart-accent) !important; font-size:12px; text-decoration:underline; text-underline-offset:2px; }
.rb-cart-item.is-updating { opacity:.56; pointer-events:none; }
.rb-cart-drawer__footer { position:relative; flex:0 0 auto; margin:14px -2px 0; padding:14px 2px 0; border-top:1px solid var(--rb-cart-line); background:linear-gradient(180deg,rgba(34,35,35,.94),#222323 22%); box-shadow:0 -18px 30px rgba(0,0,0,.12); }
.rb-cart-coupon { flex:0 0 auto; margin-top:0; border:1px solid var(--rb-cart-line); border-radius:6px; background:rgba(0,0,0,.07); }
.rb-cart-coupon__toggle { display:flex; width:100%; min-height:46px; align-items:center; justify-content:space-between; padding:10px 12px; border:0; border-radius:6px; color:#f0f2f1; background:transparent; box-shadow:none; font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.rb-cart-coupon__toggle:hover, .rb-cart-coupon__toggle:focus { color:#fff; background:rgba(255,255,255,.025); }
.rb-cart-coupon__toggle span { color:var(--rb-cart-accent); transition:transform .32s cubic-bezier(.22,1,.36,1); }
.rb-cart-coupon__toggle span svg { display:block; width:16px; height:16px; }
.rb-cart-coupon.is-open .rb-cart-coupon__toggle span { transform:rotate(180deg); }
.rb-cart-coupon__body { display:grid; grid-template-rows:0fr; opacity:0; visibility:hidden; pointer-events:none; transition:grid-template-rows .34s cubic-bezier(.22,1,.36,1),opacity .2s ease,visibility 0s linear .34s; }
.rb-cart-coupon.is-open .rb-cart-coupon__body { grid-template-rows:1fr; opacity:1; visibility:visible; pointer-events:auto; transition:grid-template-rows .34s cubic-bezier(.22,1,.36,1),opacity .24s ease .06s,visibility 0s linear 0s; }
.rb-cart-coupon form { display:grid; grid-template-columns:1fr auto; gap:8px; min-height:0; overflow:hidden; padding:0 11px; transform:translateY(-4px); transition:padding .34s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1); }
.rb-cart-coupon.is-open form { padding-bottom:11px; transform:translateY(0); }
.rb-cart-coupon input { min-width:0; height:39px; padding:8px 11px; border:1px solid var(--rb-cart-line); border-radius:4px; color:#fff; background:rgba(0,0,0,.22); }
.rb-cart-coupon form button { height:39px; padding:0 16px; border:0; border-radius:4px; color:#10201d; background:var(--rb-cart-accent); font-weight:700; }
.rb-cart-totals { flex:0 0 auto; margin-top:12px; }
.rb-cart-totals > div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:6px 2px; color:#f0f2f1; font-size:14px; }
.rb-cart-totals em { color:var(--rb-cart-accent); font-style:normal; }
.rb-cart-totals__total { margin-top:6px; padding-top:14px !important; border-top:1px solid var(--rb-cart-line); font-size:20px !important; }
.rb-cart-totals__total small { margin-left:5px; color:var(--rb-cart-muted); font-size:11px; font-weight:400; }
.rb-cart-totals__total strong { color:var(--rb-cart-accent); font-size:24px; }
.rb-cart-drawer__buttons { display:grid; flex:0 0 auto; gap:10px; margin-top:13px; }
.rb-cart-drawer__buttons a { display:flex; align-items:center; justify-content:center; min-height:50px; border-radius:5px; font-size:15px; font-weight:700; text-decoration:none; }
.rb-cart-drawer__checkout { gap:22px; border:1px solid var(--rb-cart-accent); color:#0c1b18 !important; background:linear-gradient(135deg,#66c8b9,#50aa9c); }
.rb-cart-drawer__checkout span { font-size:23px; font-weight:400; }
.rb-cart-drawer__checkout span svg { display:block; width:20px; height:20px; }
.rb-cart-drawer__buttons a:hover { filter:brightness(1.07); }
.rb-cart-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); flex:0 0 auto; gap:8px; margin-top:22px; padding:14px 6px; border:1px solid var(--rb-cart-line); border-radius:6px; }
.rb-cart-trust span { display:flex; align-items:center; justify-content:center; gap:7px; color:#f0f2f1; font-size:11px; text-align:center; }
.rb-cart-trust svg { flex:0 0 20px; color:var(--rb-cart-accent); }
.rb-cart-drawer__note { margin:17px 0 0; color:var(--rb-cart-muted); font-size:11px; text-align:center; }
.rb-cart-empty { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; padding:40px 20px; text-align:center; }
.rb-cart-empty > span { display:grid; width:76px; height:76px; place-items:center; border:1px solid rgba(97,193,178,.3); border-radius:50%; color:var(--rb-cart-accent); background:rgba(97,193,178,.09); }
.rb-cart-empty > span svg { width:34px; height:34px; }
.rb-cart-empty h3 { margin:20px 0 7px; color:#fff; font-size:23px; }
.rb-cart-empty p { margin:0 0 20px; color:var(--rb-cart-muted); }
.rb-cart-empty a { display:inline-flex; min-height:44px; align-items:center; padding:9px 22px; border-radius:5px; color:#10201d !important; background:var(--rb-cart-accent); font-weight:700; text-decoration:none; }
body.rb-cart-open { overflow:hidden; }

.rb-cart-fab { position:fixed; z-index:2147482900; right:18px; bottom:18px; display:grid; width:60px; height:60px; padding:0; place-items:center; border:1px solid #73d0c1; border-radius:17px; color:#73d0c1; background:linear-gradient(145deg,#2d302f,#222424); box-shadow:0 12px 32px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.035) inset; cursor:pointer; }
.rb-cart-fab:hover { border-color:#fff; color:#fff; }
.rb-cart-fab:focus-visible { outline:3px solid rgba(97,193,178,.3); outline-offset:3px; }
.rb-cart-fab svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.rb-cart-fab > span { position:absolute; top:-8px; left:-8px; display:grid; min-width:26px; height:26px; padding:0 6px; place-items:center; border:2px solid #202020; border-radius:99px; color:#10201d; background:#6bcabb; font-size:11px; font-weight:800; line-height:1; }
body.rb-cart-open .rb-cart-fab { pointer-events:none; }

/* Side Cart WooCommerce also exists on the site. Its UI is replaced by this drawer. */
body .xoo-wsc-markup, body .xoo-wsc-markup-notices { display:none !important; }

@media (max-width:600px) {
  .rb-cart-fab { right:14px; bottom:14px; width:55px; height:55px; border-radius:15px; }
  .rb-cart-drawer__panel-content { padding:20px 16px 16px; }
  .rb-cart-drawer__header h2 { font-size:23px; }
  .rb-cart-item { grid-template-columns:105px minmax(0,1fr); min-height:132px; }
  .rb-cart-item__image { min-height:130px; padding:0; }
  .rb-cart-item__image img { height:100%; min-height:130px; }
  .rb-cart-item__body { padding:13px 11px; }
  .rb-cart-item__top { grid-template-columns:1fr; gap:2px; }
  .rb-cart-item__top strong { font-size:13px; }
  .rb-cart-qty { grid-template-columns:31px 39px 31px; height:33px; }
  .rb-cart-qty button, .rb-cart-qty input { height:31px; }
  .rb-cart-trust { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .rb-cart-trust span { flex-direction:column; gap:4px; font-size:9px; }
  .rb-cart-drawer__footer { margin-top:10px; padding-top:10px; }
}
@media (max-height:760px) { .rb-cart-trust, .rb-cart-drawer__note { display:none; } }
@media (max-width:420px) {
  .rb-cart-drawer__panel-content { padding:16px 12px 12px; }
  .rb-cart-drawer__header { gap:10px; margin-bottom:12px; }
  .rb-cart-drawer__header h2 { font-size:21px; }
  .rb-cart-drawer__header > div > span { min-height:21px; padding:3px 8px; font-size:10px; }
  .rb-cart-drawer__close { flex-basis:38px; width:38px; height:38px; }
  .rb-cart-progress { margin-bottom:14px; }
  .rb-cart-progress p { margin-top:8px; font-size:12px; }
  .rb-cart-drawer__items { gap:8px; padding-right:4px; }
  .rb-cart-item { grid-template-columns:94px minmax(0,1fr); min-height:120px; }
  .rb-cart-item__image, .rb-cart-item__image img { min-height:118px; }
  .rb-cart-item__body { padding:11px 9px; }
  .rb-cart-item__actions { gap:8px; }
  .rb-cart-item__remove { font-size:11px; }
  .rb-cart-qty { grid-template-columns:28px 35px 28px; }
  .rb-cart-coupon__toggle { min-height:42px; font-size:12px; }
  .rb-cart-totals > div { padding:4px 1px; font-size:12px; }
  .rb-cart-totals__total { padding-top:10px !important; font-size:17px !important; }
  .rb-cart-totals__total strong { font-size:21px; }
  .rb-cart-drawer__buttons { gap:7px; margin-top:9px; }
  .rb-cart-drawer__buttons a { min-height:45px; font-size:13px; }
  .rb-cart-trust { margin-top:12px; padding:9px 3px; }
}
@media (max-height:640px), (orientation:landscape) and (max-height:520px) {
  .rb-cart-coupon, .rb-cart-totals > div:not(.rb-cart-totals__total), .rb-cart-trust, .rb-cart-drawer__note { display:none; }
  .rb-cart-drawer__footer { margin-top:8px; padding-top:8px; }
  .rb-cart-totals { margin-top:0; }
  .rb-cart-totals__total { margin-top:0; }
  .rb-cart-drawer__checkout { min-height:44px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .rb-cart-drawer *, .rb-cart-drawer *::before, .rb-cart-drawer *::after, .rb-cart-fab { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-delay:0s !important; animation-iteration-count:1 !important; }
}
