/* Cart-only skin: existing Liquid Glass blue, inherited site typeface. */
.gs-cart { --gs-cart-blue: #2d5ffd; --gs-cart-ink: #1e2134; --gs-cart-muted: #515b70; --gs-cart-border: rgba(90,140,230,.3); color: var(--gs-cart-ink); font: inherit; font-size: 16px; line-height: 1.5; }
.gs-cart *, .gs-cart *::before, .gs-cart *::after { box-sizing: border-box; }
.gs-cart[hidden], .gs-cart-host > [data-gs-cart-native][hidden] { display: none !important; }
.gs-cart button, .gs-cart input { font: inherit; color: inherit; }
.gs-cart button, .gs-cart a, .gs-cart input { -webkit-tap-highlight-color: transparent; }
.gs-cart button, .gs-cart-primary { min-height: 44px; min-width: 44px; border-radius: 14px; cursor: pointer; }
.gs-cart button { padding: 9px 14px; background: #fff; border: 1px solid var(--gs-cart-border); }
.gs-cart button:hover:not(:disabled) { background: #eef4ff; }
.gs-cart button:disabled { opacity: .55; cursor: wait; }
.gs-cart a { color: var(--gs-cart-blue); text-decoration: none; }
.gs-cart a:hover { text-decoration: underline; }
.gs-cart :is(a,button,input):focus-visible { outline: 3px solid var(--gs-cart-blue); outline-offset: 3px; }
.gs-cart h2, .gs-cart h3, .gs-cart p { margin: 0; }
.gs-cart-overlay { position: fixed; inset: 0; z-index: 100000; }
.gs-cart-backdrop { position: absolute; inset: 0; background: rgba(30,33,52,.36); }
.gs-cart-drawer { position: absolute; right: 0; top: 0; bottom: 0; width: min(100%,540px); display: flex; flex-direction: column; background: #f5f8ff; border-left: 1px solid var(--gs-cart-border); box-shadow: -12px 0 60px rgba(30,70,130,.18); padding: max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); animation: gs-cart-enter .2s ease-out; }
.gs-cart-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 16px; }
.gs-cart-heading h2 { font-size: 26px; line-height: 1.2; }
.gs-cart .gs-cart-close { font-size: 28px; padding: 0; border-radius: 50%; }
.gs-cart-content { overflow-y: auto; overscroll-behavior: contain; min-height: 0; flex: 1; padding: 4px; scroll-padding-block: 16px; }
.gs-cart-navigation { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: center; padding-top: 12px; }
.gs-cart-pinned { flex-shrink: 0; padding: 16px 4px 0; border-top: 1px solid var(--gs-cart-border); background: #f5f8ff; }
.gs-cart-pinned[hidden] { display: none; }
.gs-cart-heading, .gs-cart-navigation { flex-shrink: 0; }
.gs-cart-navigation a, .gs-cart-continue { display: inline-flex; align-items: center; min-height: 44px; }
.gs-cart--page { max-width: 1280px; margin: 28px auto; padding: 20px; background: linear-gradient(135deg,#f8faff,#edf3ff); border: 1px solid var(--gs-cart-border); border-radius: 28px; }
.gs-cart--page h2 { font-size: clamp(24px,3vw,34px); margin-bottom: 8px; }
.gs-cart-status { color: var(--gs-cart-muted); font-size: 14px; margin-bottom: 16px !important; min-height: 21px; }
.gs-cart-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
.gs-cart-items { min-width: 0; }
.gs-cart-item { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--gs-cart-border); }
.gs-cart-image { grid-row: span 2; }
.gs-cart-image img { width: 80px; height: 96px; object-fit: contain; border-radius: 16px; background: #fff; }
.gs-cart-product { display: block; color: var(--gs-cart-ink) !important; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.gs-cart-variation, .gs-cart-unit { color: var(--gs-cart-muted); font-size: 14px; padding-top: 5px; }
.gs-cart-line-total { grid-column: 2; font-size: 18px; font-variant-numeric: tabular-nums; }
.gs-cart-qty-label { display: block; font-size: 13px; margin-top: 12px; margin-bottom: 4px; }
.gs-cart-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gs-cart-quantity { display: flex; align-items: center; gap: 4px; }
.gs-cart-quantity input { width: 58px; min-height: 44px; padding: 6px 2px; text-align: center; border: 1px solid var(--gs-cart-border); border-radius: 10px; background: #fff; }
.gs-cart .gs-cart-remove { background: transparent; color: var(--gs-cart-muted); border-color: transparent; font-size: 14px; padding-inline: 8px; }
.gs-cart-summary { min-width: 0; border: 1px solid var(--gs-cart-border); border-radius: 22px; background: #fff; padding: 18px; align-self: start; }
.gs-cart-coupon label { display: block; font-weight: 600; margin-bottom: 8px; }
.gs-cart-coupon-row { display: flex; flex-wrap: wrap; gap: 8px; }
.gs-cart-coupon-row input { min-height: 44px; min-width: 100px; width: 120px; flex: 1; border: 1px solid var(--gs-cart-border); border-radius: 12px; padding: 10px; background: #fff; }
.gs-cart-applied { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; overflow-wrap: anywhere; }
.gs-cart-totals { margin: 20px 0; }
.gs-cart-totals > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 10px 0; }
.gs-cart-totals dt { color: var(--gs-cart-muted); }
.gs-cart-totals dd { margin: 0; text-align: right; max-width: 65%; font-variant-numeric: tabular-nums; }
.gs-cart-grand { display: flex; justify-content: space-between; gap: 16px; font-size: 21px; margin-bottom: 14px; font-variant-numeric: tabular-nums; }
.gs-cart .gs-cart-primary { display: flex; justify-content: center; align-items: center; width: 100%; padding: 13px 18px; color: #fff; background: linear-gradient(135deg,#4775ff,#2d5ffd); border: 1px solid rgba(180,210,255,.55); font-weight: 600; text-align: center; box-shadow: 0 6px 18px rgba(45,95,253,.15); }
.gs-cart .gs-cart-primary:hover:not(:disabled) { background: #2d5ffd; color: #fff; text-decoration: none; }
.gs-cart-error { padding: 10px 0; color: var(--gs-cart-ink); font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.gs-cart-empty { text-align: center; padding: 42px 14px; }
.gs-cart-empty p { margin: 14px 0 24px; color: var(--gs-cart-muted); }
@supports (backdrop-filter: blur(20px)) { .gs-cart-drawer { background: rgba(245,248,255,.94); backdrop-filter: blur(24px) saturate(140%); } .gs-cart-summary { background: rgba(255,255,255,.82); backdrop-filter: blur(20px); } }
@media (min-width: 960px) { .gs-cart--page .gs-cart-layout { grid-template-columns: minmax(0,1fr) minmax(300px,370px); gap: 32px; } .gs-cart--page .gs-cart-summary { position: sticky; top: 24px; } .gs-cart--page .gs-cart-item { grid-template-columns: 96px minmax(0,1fr) auto; } .gs-cart--page .gs-cart-line-total { grid-column: 3; grid-row: 1; } }
@media (max-width: 480px) { .gs-cart-drawer { padding-inline: max(12px,env(safe-area-inset-left)); } .gs-cart--page { margin: 16px 0; padding: 14px; border-radius: 20px; } .gs-cart-item { grid-template-columns: 62px minmax(0,1fr); gap: 10px; } .gs-cart-image img { width: 62px; height: 78px; } .gs-cart-summary { padding: 14px; } .gs-cart-grand { font-size: 19px; } }
@keyframes gs-cart-enter { from { transform: translateX(24px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .gs-cart-drawer { animation: none; } }
