@import url('https://fonts.googleapis.com/css2?family=Covered+By+Your+Grace&family=Jost:wght@500;600&family=Michroma&family=Playfair+Display:wght@500;600;700&family=Poppins:wght@300;400;500;600;700&family=Spline+Sans+Mono:wght@400;500;600;700&display=swap');

.app-media-picture {
  display: block;
  line-height: 0;
  max-width: 100%;
}

body.dispatch-page .dispatch-side-panel {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(173, 194, 220, .78) rgba(15, 23, 42, .28);
}

body.dispatch-page .dispatch-side-panel::-webkit-scrollbar {
  width: 10px;
}

body.dispatch-page .dispatch-side-panel::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, .28);
  border-radius: 999px;
}

body.dispatch-page .dispatch-side-panel::-webkit-scrollbar-thumb {
  background: rgba(173, 194, 220, .72);
  border-radius: 999px;
  border: 2px solid rgba(15, 23, 42, .18);
}

body.dispatch-page .dispatch-side-panel::-webkit-scrollbar-thumb:hover {
  background: rgba(219, 234, 254, .88);
}

body.dispatch-page .dispatch-side-body {
  flex: 0 0 auto !important;
  min-height: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 980px) {
  body.dispatch-page .dispatch-side-body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important;
  }
}
.app-media-picture > img {
  display: block;
  max-width: 100%;
}
.cal-hero-media {
  display: block;
  width: 100%;
  height: 100%;
}
.cal-hero-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-image-picture {
  display: block;
  width: 100%;
  height: 100%;
}
.product-image-picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-image-link > .product-image-secondary-picture {
  position: absolute;
  inset: 0;
}
.product-detail-image-picture {
  display: block;
  width: 100%;
}
.product-detail-image-picture > img {
  width: 100%;
  display: block;
}
.cal-category-img > .app-media-picture,
.cal-order-again-image > .app-media-picture,
.product-gallery-thumb > .app-media-picture,
.brand-stage-logo > .app-media-picture,
.brand-stage-card-media > .app-media-picture,
.brand-stage-spotlight-item > .app-media-picture,
.brands-card-media > .app-media-picture,
.brands-card-logo > .app-media-picture {
  width: 100%;
  height: 100%;
}

:root {
  --cal-blue: #8f1712;
  --cal-blue-dark: #54100d;
  --cal-blue-ink: #1c0a09;
  --cal-green: #d9b785;
  --cal-green-dark: #a77b43;
  --cal-white: #ffffff;
  --cal-page: #070605;
  --cal-text: #f7efe6;
  --cal-muted: #c2ab98;
  --cal-border: #3a201b;
  --cal-panel-start: #15100f;
  --cal-panel-end: #080706;
  --cal-admin-bg-start: #fff6f3;
  --cal-admin-bg-mid: #fceee9;
  --cal-admin-bg-end: #fff9f7;
  --cal-admin-accent: #c44339;
  --cal-admin-body-start: #f8efec;
  --cal-admin-body-mid: #fcf5f2;
  --cal-admin-body-end: #ffffff;
  --cal-radius: 12px;
  --cal-store-overlay: rgba(10, 7, 6, .8);
  --cal-store-sheet-bg: linear-gradient(180deg, #18100f 0%, #090706 100%);
  --cal-store-sheet-bg-alt:
    radial-gradient(circle at top left, rgba(158, 36, 29, .18), transparent 34%),
    radial-gradient(circle at 85% 18%, rgba(195, 155, 100, .12), transparent 28%),
    linear-gradient(180deg, #17100f 0%, #090706 100%);
  --cal-store-drawer-bg:
    radial-gradient(circle at top center, rgba(168, 52, 43, .14) 0%, rgba(168, 52, 43, 0) 34%),
    linear-gradient(180deg, #130d0d 0%, #090808 52%, #120706 100%);
  --cal-store-drawer-ink: #f5ebdd;
  --cal-store-drawer-border: rgba(158, 36, 29, .24);
  --cal-store-drawer-shadow: 24px 0 44px rgba(0,0,0,.24);
  --cal-store-sheet-border: rgba(195, 155, 100, .18);
  --cal-store-sheet-shadow: -24px 0 58px rgba(46, 18, 14, .18);
  --cal-store-ink: #f5ebdd;
  --cal-store-muted: #c0a58a;
  --cal-store-border: #351111;
  --cal-store-border-strong: #4b1715;
  --cal-store-card-bg: linear-gradient(180deg, #140909 0%, #070505 100%);
  --cal-store-card-bg-soft: rgba(17, 9, 9, .94);
  --cal-store-card-bg-muted: rgba(24, 11, 11, .88);
  --cal-store-pill-bg: rgba(183, 34, 28, .12);
  --cal-store-pill-border: rgba(183, 34, 28, .28);
  --cal-store-pill-text: #ffb6af;
  --cal-store-primary-bg: linear-gradient(180deg, var(--cal-blue) 0%, var(--cal-blue-dark) 100%);
  --cal-store-primary-border: var(--cal-blue);
  --cal-store-primary-text: #ffffff;
  --cal-store-primary-shadow: 0 18px 34px rgba(91, 31, 17, .18);
  --cal-store-secondary-bg: linear-gradient(180deg, #160b0b 0%, #080606 100%);
  --cal-store-secondary-border: #4b1715;
  --cal-store-secondary-text: #f4efe7;
  --cal-delivery-bar-bg:
    linear-gradient(180deg, rgba(20, 9, 9, .98) 0%, rgba(8, 6, 6, .98) 100%);
  --cal-delivery-bar-border-color: rgba(183, 34, 28, .32);
  --cal-delivery-bar-heading-color: #d7c4bb;
  --cal-delivery-bar-summary-color: #f4efe7;
  --cal-search-shell-border: rgba(183, 34, 28, .28);
  --cal-search-shell-bg:
    radial-gradient(circle at top left, rgba(183, 34, 28, .16) 0%, rgba(183, 34, 28, 0) 36%),
    radial-gradient(circle at 100% 0%, rgba(227, 72, 62, .12) 0%, rgba(227, 72, 62, 0) 28%),
    linear-gradient(180deg, rgba(18, 9, 9, .98) 0%, rgba(11, 7, 7, .98) 56%, rgba(6, 5, 5, .98) 100%);
  --cal-search-surface-bg: rgba(17, 9, 9, .92);
  --cal-search-surface-border: rgba(183, 34, 28, .18);
  --cal-search-feature-bg:
    radial-gradient(circle at top right, rgba(183, 34, 28, .14) 0%, rgba(183, 34, 28, 0) 46%),
    linear-gradient(180deg, rgba(17, 9, 9, .99) 0%, rgba(7, 5, 5, .98) 100%);
  --cal-search-brand-tag-bg: rgba(183, 34, 28, .14);
  --cal-search-heading-color: #f4efe7;
  --cal-search-copy-color: #b7a196;
  --cal-search-input-bg: rgba(11, 7, 7, .98);
  --cal-search-input-text: #f4efe7;
  --cal-search-placeholder-color: #9f8b84;
  --cal-store-field-bg: #0e0909;
  --cal-store-field-border: #4b1715;
  --cal-store-field-text: #f4efe7;
  --cal-store-field-placeholder: #9f8b84;
  --cal-store-field-focus-border: rgba(122, 40, 22, .56);
  --cal-store-field-focus-ring: rgba(163, 59, 34, .14);
  --cal-store-hero-bg:
    radial-gradient(circle at top right, rgba(255,255,255,.06), transparent 32%),
    linear-gradient(135deg, #090606 0%, #3a0909 44%, #b7221c 100%);
  --cal-store-hero-head-bg:
    radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 36%),
    linear-gradient(135deg, #070505 0%, #270808 58%, #8f1712 100%);
  --cal-store-hero-pill-bg: rgba(183,34,28,.16);
  --cal-store-hero-pill-border: rgba(183,34,28,.22);
  --cal-store-hero-pill-text: rgba(255, 228, 224, .92);
  --cal-store-hero-ink: #ffffff;
  --cal-store-hero-shadow: 0 24px 48px rgba(73, 24, 14, .18);
  --cal-store-thread-bg: linear-gradient(180deg, #140909 0%, #050505 100%);
  --cal-store-stream-bg:
    radial-gradient(circle at top left, rgba(183, 34, 28, .08), transparent 30%),
    linear-gradient(180deg, #140909, #050505);
  --cal-store-vip-bg: linear-gradient(180deg, #150909, #090606);
  --cal-store-vip-card-bg: rgba(17,9,9,.82);
  --cal-store-system-bg: linear-gradient(180deg, #1c0909 0%, #0b0606 100%);
  --cal-store-system-border: #5e1d19;
  --cal-store-system-text: #f1cac6;
  --cal-store-success-bg: #eef8f3;
  --cal-store-success-border: #cde6d8;
  --cal-store-success-text: #1d6a48;
  --cal-store-info-bg: #fff3f0;
  --cal-store-info-border: #d8e4f0;
  --cal-store-info-text: #284968;
  --cal-store-danger-bg: #fff1f1;
  --cal-store-danger-border: #efcaca;
  --cal-store-danger-text: #a33e3e;
  --cal-store-warning-bg: #fff8e8;
  --cal-store-warning-border: #f0d28d;
  --cal-store-warning-text: #9b5e00;
  --cal-store-track-bg: #ead5c3;
  --cal-store-fill-bg: linear-gradient(90deg, #b3472a 0%, #8a2b18 100%);
  --cal-store-fill-warning-bg: linear-gradient(90deg, #e6a91c 0%, #cf8e00 100%);
  --cal-store-fill-danger-bg: linear-gradient(90deg, #d64d4d 0%, #b72b2b 100%);
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: 'Poppins', sans-serif;
  background: var(--cal-page);
  color: var(--cal-text);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
body:not(.staff-auth-page) {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body:not(.staff-auth-page) > main {
  flex: 1 0 auto;
}
a { color: var(--cal-blue); text-decoration: none; }
a:hover { text-decoration: underline; }

html[data-store-theme="haus"] {
  --haus-gold: #F4C53F;
  --haus-gold-strong: #C28D12;
  --haus-gold-soft: #FFE08A;
  --haus-cream: #F6EEDA;
  --haus-ink: #080604;
  --haus-char: #110C07;
  --haus-char-soft: #1A120B;
  --haus-brown: #3C2411;
  --haus-brown-soft: #734520;
  --haus-wood-a: #71411D;
  --haus-wood-b: #8A5429;
  --haus-wood-c: #562E13;
  --haus-wood-d: #A1652C;
  --haus-panel-border: rgba(255, 221, 130, .18);
  --haus-panel-border-strong: rgba(255, 221, 130, .28);
  --haus-panel-shadow: 0 20px 44px rgba(0, 0, 0, .30);
  --cal-cta-primary: var(--haus-gold);
  --cal-cta-primary-strong: var(--haus-gold-strong);
  --cal-cta-primary-soft: var(--haus-gold-soft);
  --cal-cta-text: #100B05;
  --cal-cta-focus: rgba(244, 197, 63, .26);
  --cal-store-ink: var(--haus-cream);
  --cal-store-muted: #B9A062;
  --cal-store-border: rgba(244, 197, 63, .18);
  --cal-store-border-strong: rgba(255, 216, 109, .32);
  --cal-store-overlay: rgba(6, 5, 4, .82);
  --cal-store-card-bg:
    linear-gradient(180deg, rgba(24, 17, 10, .98) 0%, rgba(10, 8, 6, 1) 100%);
  --cal-store-card-bg-soft: rgba(21, 15, 9, .94);
  --cal-store-card-bg-muted: rgba(39, 27, 16, .92);
  --cal-store-secondary-bg:
    linear-gradient(180deg, rgba(30, 21, 12, .98) 0%, rgba(13, 10, 7, .99) 100%);
  --cal-store-secondary-border: rgba(255, 216, 109, .18);
  --cal-store-secondary-text: var(--haus-cream);
  --cal-store-primary-bg:
    linear-gradient(180deg, #FFD55B 0%, #E4AD17 100%);
  --cal-store-primary-border: #8C6510;
  --cal-store-primary-text: #100B05;
  --cal-store-primary-shadow: 0 14px 28px rgba(170, 118, 4, .20);
  --cal-store-sheet-bg:
    radial-gradient(circle at top right, rgba(244, 197, 63, .12) 0%, rgba(244, 197, 63, 0) 30%),
    linear-gradient(180deg, rgba(19, 13, 8, .98) 0%, rgba(8, 6, 5, .995) 100%);
  --cal-store-sheet-bg-alt:
    radial-gradient(circle at top left, rgba(255, 216, 109, .12) 0%, rgba(255, 216, 109, 0) 34%),
    linear-gradient(180deg, rgba(16, 11, 8, .985) 0%, rgba(8, 6, 5, .995) 100%);
  --cal-store-drawer-bg:
    radial-gradient(circle at top center, rgba(244, 197, 63, .12) 0%, rgba(244, 197, 63, 0) 34%),
    linear-gradient(180deg, rgba(23, 16, 10, .99) 0%, rgba(8, 6, 5, 1) 100%);
  --cal-store-drawer-ink: var(--haus-cream);
  --cal-store-drawer-border: rgba(255, 216, 109, .16);
  --cal-store-drawer-shadow: 24px 0 44px rgba(0, 0, 0, .42);
  --cal-store-sheet-border: rgba(255, 216, 109, .14);
  --cal-store-sheet-shadow: -24px 0 58px rgba(0, 0, 0, .36);
  --cal-store-pill-bg: rgba(244, 197, 63, .12);
  --cal-store-pill-border: rgba(255, 216, 109, .24);
  --cal-store-pill-text: var(--haus-gold-soft);
  --cal-store-system-bg:
    linear-gradient(180deg, rgba(41, 28, 17, .98) 0%, rgba(22, 15, 9, .99) 100%);
  --cal-store-system-border: rgba(255, 216, 109, .16);
  --cal-store-system-text: var(--haus-gold-soft);
  --cal-delivery-bar-bg:
    linear-gradient(180deg, rgba(24, 17, 10, .98) 0%, rgba(10, 8, 6, .99) 100%);
  --cal-delivery-bar-border-color: rgba(255, 216, 109, .18);
  --cal-delivery-bar-heading-color: rgba(246, 237, 214, .76);
  --cal-delivery-bar-summary-color: #FFFFFF;
  --cal-search-shell-border: rgba(255, 216, 109, .18);
  --cal-search-shell-bg:
    radial-gradient(circle at top left, rgba(244, 197, 63, .12) 0%, rgba(244, 197, 63, 0) 36%),
    linear-gradient(180deg, rgba(18, 13, 8, .98) 0%, rgba(8, 6, 5, .995) 100%);
  --cal-search-surface-bg: rgba(22, 15, 9, .94);
  --cal-search-surface-border: rgba(255, 216, 109, .14);
  --cal-search-feature-bg:
    radial-gradient(circle at top right, rgba(255, 216, 109, .12) 0%, rgba(255, 216, 109, 0) 42%),
    linear-gradient(180deg, rgba(22, 15, 9, .99) 0%, rgba(10, 8, 6, .98) 100%);
  --cal-search-brand-tag-bg: rgba(244, 197, 63, .10);
  --cal-search-heading-color: #F8EFD8;
  --cal-search-copy-color: rgba(246, 237, 214, .70);
  --cal-search-input-bg: rgba(14, 10, 7, .98);
  --cal-search-input-text: #F8EFD8;
  --cal-search-placeholder-color: rgba(214, 190, 122, .64);
}
html[data-store-theme="haus"] body {
  background:
    radial-gradient(circle at 50% 0%, rgba(244, 197, 63, .16) 0%, rgba(244, 197, 63, 0) 20%),
    radial-gradient(circle at 18% 42%, rgba(111, 65, 29, .12) 0%, rgba(111, 65, 29, 0) 18%),
    radial-gradient(circle at 82% 68%, rgba(154, 96, 39, .12) 0%, rgba(154, 96, 39, 0) 22%),
    linear-gradient(180deg, #080604 0%, #0D0906 36%, #080604 100%);
  color: var(--haus-cream);
}
html[data-store-theme="haus"] a {
  color: var(--haus-gold-soft);
}
html[data-store-theme="haus"] a:hover {
  color: #FFF3C9;
  text-decoration: none;
}
html[data-store-theme="haus"] .cal-header {
  background:
    radial-gradient(circle at top right, rgba(244, 197, 63, .10) 0%, rgba(244, 197, 63, 0) 34%),
    linear-gradient(180deg, rgba(11, 8, 5, .99) 0%, rgba(18, 12, 8, .98) 100%);
  border-bottom: 1px solid var(--haus-panel-border);
  box-shadow: 0 20px 48px rgba(0, 0, 0, .36);
}
html[data-store-theme="haus"] .cal-admin-bridge {
  background:
    linear-gradient(90deg, rgba(185, 133, 18, .94) 0%, rgba(244, 197, 63, .98) 50%, rgba(185, 133, 18, .94) 100%);
  border-bottom-color: rgba(0, 0, 0, .16);
  color: #120D08;
}
html[data-store-theme="haus"] .cal-header-top,
html[data-store-theme="haus"] .cal-header-main {
  min-height: 76px;
}
html[data-store-theme="haus"] .cal-header-main {
  gap: 14px;
}
html[data-store-theme="haus"] .cal-header-cluster {
  gap: 12px;
}
html[data-store-theme="haus"] .cal-header-main .cal-header-mode-switch .cal-delivery-bar-modes {
  padding: 3px;
  border: 1px solid var(--haus-panel-border-strong);
  background:
    linear-gradient(180deg, rgba(255, 236, 182, .06) 0%, rgba(255, 216, 109, .02) 100%),
    rgba(18, 12, 8, .92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
html[data-store-theme="haus"] .cal-header-main .cal-header-mode-switch .cal-delivery-mode {
  min-height: 34px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(255, 247, 230, .84);
}
html[data-store-theme="haus"] .cal-header-main .cal-header-mode-switch .cal-delivery-mode:hover,
html[data-store-theme="haus"] .cal-header-main .cal-header-mode-switch .cal-delivery-mode:focus-visible {
  background: rgba(255, 216, 109, .08);
  color: #FFF7E6;
}
html[data-store-theme="haus"] .cal-header-main .cal-header-mode-switch .cal-delivery-mode.is-active {
  background: linear-gradient(180deg, #FFD55B 0%, #E4AD17 100%);
  color: #100B05;
  box-shadow: 0 6px 14px rgba(170, 118, 4, .16);
}
html[data-store-theme="haus"] .cal-header-main .cal-header-mode-switch .cal-delivery-mode-icon {
  width: 12px;
  height: 12px;
}
html[data-store-theme="haus"] .cal-logo img {
  filter: drop-shadow(0 12px 26px rgba(244, 197, 63, .10));
}
html[data-store-theme="haus"] .cal-search-wrap,
html[data-store-theme="haus"] .cal-icon-btn,
html[data-store-theme="haus"] .cal-back-btn,
html[data-store-theme="haus"] .cal-help-btn,
html[data-store-theme="haus"] .cal-cart-pill {
  border-color: var(--haus-panel-border-strong);
  background:
    linear-gradient(180deg, rgba(255, 236, 182, .06) 0%, rgba(255, 216, 109, .02) 100%),
    rgba(18, 12, 8, .92);
  color: #FFF7E6;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 28px rgba(0, 0, 0, .22);
}
html[data-store-theme="haus"] .cal-search-wrap input,
html[data-store-theme="haus"] .cal-back-btn,
html[data-store-theme="haus"] .cal-help-btn span,
html[data-store-theme="haus"] .cal-cart-pill b {
  color: #FFF7E6;
}
html[data-store-theme="haus"] .cal-search-wrap input::placeholder {
  color: rgba(246, 237, 214, .56);
}
html[data-store-theme="haus"] .cal-cart-pill {
  background:
    linear-gradient(180deg, rgba(255, 236, 182, .12) 0%, rgba(255, 216, 109, .08) 100%),
    rgba(18, 12, 8, .96);
  border-color: rgba(255, 221, 130, .34);
}
html[data-store-theme="haus"] .cal-cart-pill b {
  background: rgba(255, 216, 109, .14);
  color: #130D06;
}
html[data-store-theme="haus"] .cal-hero-wrap,
html[data-store-theme="haus"] .cal-shop-hero-wrap {
  background: linear-gradient(180deg, #0B0906 0%, #120D08 18%, #090806 100%);
  position: relative;
}
html[data-store-theme="haus"] .cal-hero-wrap::before,
html[data-store-theme="haus"] .cal-shop-hero-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 6, 4, .26) 0%, rgba(7, 6, 4, .50) 100%),
    radial-gradient(circle at 16% 18%, rgba(255, 216, 109, .08) 0%, rgba(255, 216, 109, 0) 22%),
    linear-gradient(120deg,
      rgba(115, 65, 29, .22) 0%,
      rgba(138, 79, 34, .10) 28%,
      rgba(91, 49, 19, .24) 52%,
      rgba(154, 96, 39, .10) 74%,
      rgba(87, 47, 18, .22) 100%);
  background-size: 100% 100%, 100% 100%, 240px 240px;
  opacity: .58;
  pointer-events: none;
}
html[data-store-theme="haus"] .cal-hero,
html[data-store-theme="haus"] .panel,
html[data-store-theme="haus"] .product-card,
html[data-store-theme="haus"] .shop-product-card,
html[data-store-theme="haus"] .kkpb-card,
html[data-store-theme="haus"] .cal-order-again-card,
html[data-store-theme="haus"] .cal-category-card,
html[data-store-theme="haus"] .cal-auth-card,
html[data-store-theme="haus"] .cal-pickup-sheet-card,
html[data-store-theme="haus"] .cart-item-card,
html[data-store-theme="haus"] .cart-summary-card {
  border-radius: 22px;
  color: var(--haus-cream);
}
html[data-store-theme="haus"] .panel,
html[data-store-theme="haus"] .product-card,
html[data-store-theme="haus"] .shop-product-card,
html[data-store-theme="haus"] .kkpb-card,
html[data-store-theme="haus"] .cal-order-again-card,
html[data-store-theme="haus"] .cal-category-card,
html[data-store-theme="haus"] .cal-auth-card,
html[data-store-theme="haus"] .cal-pickup-sheet-card,
html[data-store-theme="haus"] .cart-item-card,
html[data-store-theme="haus"] .cart-summary-card,
html[data-store-theme="haus"] .cal-order-again-widget {
  border-color: var(--haus-panel-border);
  background: var(--cal-store-card-bg);
  box-shadow:
    inset 0 1px 0 rgba(255, 242, 198, .05),
    var(--haus-panel-shadow);
}
html[data-store-theme="haus"] .cal-hero-overlay {
  background:
    linear-gradient(135deg, rgba(8, 6, 5, .84) 0%, rgba(28, 18, 10, .42) 54%, rgba(244, 197, 63, .08) 100%);
}
html[data-store-theme="haus"] .cal-hero-overlay h2,
html[data-store-theme="haus"] .cal-hero-overlay p {
  text-shadow: 0 10px 28px rgba(0, 0, 0, .40);
}
html[data-store-theme="haus"] .cal-category-card,
html[data-store-theme="haus"] .product-card,
html[data-store-theme="haus"] .shop-product-card,
html[data-store-theme="haus"] .kkpb-card {
  position: relative;
  overflow: hidden;
}
html[data-store-theme="haus"] .cal-category-card::before,
html[data-store-theme="haus"] .product-card::before,
html[data-store-theme="haus"] .shop-product-card::before,
html[data-store-theme="haus"] .kkpb-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 20%, rgba(255, 216, 109, .08) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 30%, rgba(255, 216, 109, .10) 0 2px, transparent 3px),
    linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 38%);
  opacity: .7;
  pointer-events: none;
}
html[data-store-theme="haus"] .product-image-link {
  border-radius: 20px;
  border: 1px solid rgba(255, 216, 109, .10);
  background:
    radial-gradient(circle at 50% 26%, rgba(255, 216, 109, .10) 0%, rgba(255, 216, 109, 0) 38%),
    linear-gradient(180deg, rgba(19, 13, 8, .98) 0%, rgba(9, 7, 5, 1) 100%);
}
html[data-store-theme="haus"] .product-image-link .product-image {
  object-fit: contain;
  padding: 18px 18px 12px;
}
html[data-store-theme="haus"] .shop-toolbar-copy h1,
html[data-store-theme="haus"] .kkpb-banner-title,
html[data-store-theme="haus"] .panel > h2,
html[data-store-theme="haus"] .panel > h3,
html[data-store-theme="haus"] .cal-order-again-head h2 {
  color: var(--haus-gold);
  text-transform: none;
  letter-spacing: -.035em;
  line-height: 1.02;
}
html[data-store-theme="haus"] .shop-toolbar-copy p,
html[data-store-theme="haus"] .kkpb-breadcrumbs,
html[data-store-theme="haus"] .kkpb-breadcrumbs a,
html[data-store-theme="haus"] .shop-product-meta,
html[data-store-theme="haus"] .shop-product-desc,
html[data-store-theme="haus"] .shop-product-tax-note,
html[data-store-theme="haus"] .cal-order-again-meta,
html[data-store-theme="haus"] .cal-order-again-widget .subtle,
html[data-store-theme="haus"] [data-shop-results-count] {
  color: rgba(246, 237, 214, .68);
}
html[data-store-theme="haus"] .product-detail-panel,
html[data-store-theme="haus"] .product-related-panel {
  padding: 22px;
}
html[data-store-theme="haus"] .shop-product-card {
  padding: 14px;
  gap: 10px;
}
html[data-store-theme="haus"] .shop-product-card h3,
html[data-store-theme="haus"] .product-card h3,
html[data-store-theme="haus"] .cal-order-again-card h3,
html[data-store-theme="haus"] .shop-product-card h3 a,
html[data-store-theme="haus"] .product-card h3 a,
html[data-store-theme="haus"] .cal-category-name {
  color: #FFF8E5;
}
html[data-store-theme="haus"] .shop-product-card h3,
html[data-store-theme="haus"] .product-card h3 {
  min-height: 2.45em;
  line-height: 1.18;
  text-wrap: balance;
}
html[data-store-theme="haus"] .shop-product-card .shop-product-meta {
  min-height: 1.3em;
  color: rgba(246, 237, 214, .64);
}
html[data-store-theme="haus"] .shop-product-desc {
  min-height: 2.7em;
  color: rgba(246, 237, 214, .62);
}
html[data-store-theme="haus"] .button,
html[data-store-theme="haus"] button {
  border-radius: 999px;
}
html[data-store-theme="haus"] .button,
html[data-store-theme="haus"] button,
html[data-store-theme="haus"] button[type="submit"],
html[data-store-theme="haus"] .shop-product-card .shop-add-row .button,
html[data-store-theme="haus"] .shop-product-card .shop-product-action > .button,
html[data-store-theme="haus"] .product-detail-panel .shop-add-row .button,
html[data-store-theme="haus"] .product-detail-panel .shop-add-row button[data-kit-open],
html[data-store-theme="haus"] .mobile-add-dock-submit {
  background: linear-gradient(180deg, #FFD55B 0%, #E4AD17 100%);
  border-color: #8C6510;
  color: #100B05;
  box-shadow: 0 12px 28px rgba(170, 118, 4, .20);
}
html[data-store-theme="haus"] .button.secondary {
  background: linear-gradient(180deg, rgba(30, 21, 12, .96) 0%, rgba(10, 8, 6, .99) 100%);
  border-color: rgba(255, 216, 109, .22);
  color: #FFF6E0;
  box-shadow: none;
}
html[data-store-theme="haus"] .button:hover,
html[data-store-theme="haus"] button:hover,
html[data-store-theme="haus"] button[type="submit"]:hover,
html[data-store-theme="haus"] .shop-product-card .shop-add-row .button:hover,
html[data-store-theme="haus"] .shop-product-card .shop-product-action > .button:hover,
html[data-store-theme="haus"] .product-detail-panel .shop-add-row .button:hover,
html[data-store-theme="haus"] .product-detail-panel .shop-add-row button[data-kit-open]:hover,
html[data-store-theme="haus"] .mobile-add-dock-submit:hover {
  background: linear-gradient(180deg, #FFE07A 0%, #EAB51A 100%);
  text-decoration: none;
}
html[data-store-theme="haus"] .button.secondary:hover {
  background: linear-gradient(180deg, rgba(42, 29, 17, .98) 0%, rgba(14, 10, 7, .99) 100%);
  text-decoration: none;
}
html[data-store-theme="haus"] .cal-hero-slide-btn,
html[data-store-theme="haus"] .shop-product-card .shop-add-row button[type="submit"],
html[data-store-theme="haus"] .product-detail-panel .shop-add-row button[type="submit"] {
  background: linear-gradient(180deg, #FFD55B 0%, #E4AD17 100%);
  border-color: #8C6510;
}
html[data-store-theme="haus"] .shop-view-switch,
html[data-store-theme="haus"] .cal-filter-chip,
html[data-store-theme="haus"] .cal-sort-chip,
html[data-store-theme="haus"] .cal-delivery-bar {
  border-color: rgba(255, 216, 109, .16);
  background:
    radial-gradient(circle at top center, rgba(244, 197, 63, .08) 0%, rgba(244, 197, 63, 0) 56%),
    linear-gradient(180deg, rgba(19, 13, 8, .98) 0%, rgba(8, 6, 5, 1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 16px 32px rgba(0, 0, 0, .22);
}
html[data-store-theme="haus"] .shop-view-switch-label,
html[data-store-theme="haus"] .cal-filter-chip > summary,
html[data-store-theme="haus"] .cal-sort-label,
html[data-store-theme="haus"] .shop-view-switch button,
html[data-store-theme="haus"] .cal-delivery-bar-heading,
html[data-store-theme="haus"] .cal-delivery-bar-heading strong,
html[data-store-theme="haus"] .cal-delivery-bar-action {
  color: #FFF7E6;
}
html[data-store-theme="haus"] .shop-view-switch button.is-active,
html[data-store-theme="haus"] .cal-delivery-mode.is-active {
  background: linear-gradient(180deg, #FFD55B 0%, #E4AD17 100%);
  color: #100B05;
  border-color: rgba(255, 216, 109, .32);
}
html[data-store-theme="haus"] .cal-delivery-bar-modes {
  padding: 4px;
  border: 1px solid rgba(255, 216, 109, .10);
  background: rgba(255, 216, 109, .05);
}
html[data-store-theme="haus"] .cal-delivery-mode {
  min-height: 28px;
  padding: 0 11px;
  border: 1px solid transparent;
  color: rgba(246, 237, 214, .76);
}
html[data-store-theme="haus"] .cal-delivery-mode:hover,
html[data-store-theme="haus"] .cal-delivery-mode:focus-visible {
  background: rgba(255, 216, 109, .08);
  color: #FFFFFF;
}
html[data-store-theme="haus"] .cal-filter-pop,
html[data-store-theme="haus"] .cal-filter-pop select,
html[data-store-theme="haus"] .cal-filter-pop label,
html[data-store-theme="haus"] .cal-sort-chip select,
html[data-store-theme="haus"] .kkpb-toolbar input[type=search],
html[data-store-theme="haus"] .kkpb-toolbar select {
  background-color: #120D08;
  color: #F7EED7;
  border-color: rgba(255, 216, 109, .16);
}
html[data-store-theme="haus"] .kkpb-pills {
  background: rgba(9, 8, 6, .92);
  border-bottom-color: rgba(255, 216, 109, .12);
}
html[data-store-theme="haus"] .kkpb-pills .pill {
  border-color: rgba(255, 216, 109, .18);
  background: rgba(255, 216, 109, .06);
  color: #F7EED7;
}
html[data-store-theme="haus"] .kkpb-pills .pill.is-active {
  background: linear-gradient(180deg, #FFD55B 0%, #E4AD17 100%);
  color: #100B05;
}
html[data-store-theme="haus"] .kkpb-card .brand,
html[data-store-theme="haus"] .kkpb-card .cats {
  color: rgba(246, 237, 214, .72);
}
html[data-store-theme="haus"] .shop-qty-stepper,
html[data-store-theme="haus"] .product-detail-panel .shop-add-row .shop-qty-stepper,
html[data-store-theme="haus"] .mobile-add-dock .shop-qty-stepper {
  border-width: 2px;
  border-color: rgba(255, 216, 109, .34);
  background: linear-gradient(180deg, rgba(23, 16, 10, .98) 0%, rgba(10, 8, 6, 1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 10px 20px rgba(0, 0, 0, .18);
}
html[data-store-theme="haus"] .shop-qty {
  color: var(--haus-gold-soft);
}
html[data-store-theme="haus"] .shop-qty-btn,
html[data-store-theme="haus"] .product-detail-panel .shop-add-row .shop-qty-btn {
  border: 0;
  background: transparent;
  color: var(--haus-gold-soft);
}
html[data-store-theme="haus"] .price strong,
html[data-store-theme="haus"] .shop-product-card .price strong,
html[data-store-theme="haus"] .product-card .price strong,
html[data-store-theme="haus"] .price,
html[data-store-theme="haus"] .cal-order-again-price {
  color: var(--haus-gold-soft);
}
html[data-store-theme="haus"] .cal-category-card {
  min-width: 154px;
  max-width: 154px;
  min-height: 196px;
  padding: 14px 14px 16px;
  gap: 10px;
}
html[data-store-theme="haus"] .cal-category-img {
  padding: 10px;
  border-radius: 999px;
  background:
    radial-gradient(circle at top center, rgba(255, 216, 109, .12) 0%, rgba(255, 216, 109, 0) 54%),
    linear-gradient(180deg, rgba(23, 16, 10, .98) 0%, rgba(10, 8, 6, 1) 100%);
}
html[data-store-theme="haus"] .cal-category-name {
  min-height: 2.55em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  line-height: 1.15;
  text-wrap: balance;
}
html[data-store-theme="haus"] .cal-category-card.is-view-all {
  background: linear-gradient(180deg, rgba(255, 216, 109, .16) 0%, rgba(142, 101, 16, .20) 100%);
  border-color: rgba(255, 216, 109, .24);
}
html[data-store-theme="haus"] .cal-category-card.is-view-all .cal-category-img svg {
  color: var(--haus-gold-soft);
}
html[data-store-theme="haus"] .cal-footer {
  background:
    radial-gradient(circle farthest-corner at 50% 0%, rgba(111, 65, 29, .34) 0%, #080604 56%);
  border-top-color: rgba(255, 216, 109, .12);
}
html[data-store-theme="haus"] .cal-footer-grid h4,
html[data-store-theme="haus"] .cal-footer-accordion summary {
  color: var(--haus-gold-soft);
}
html[data-store-theme="haus"] .cal-footer-grid a,
html[data-store-theme="haus"] .cal-footer-accordion details a {
  color: rgba(246, 237, 214, .76);
}
html[data-store-theme="haus"] .cal-footer-grid a:hover,
html[data-store-theme="haus"] .cal-footer-accordion details a:hover {
  color: #FFFFFF;
}
html[data-store-theme="haus"] .cal-footer-grid a::before,
html[data-store-theme="haus"] .cal-footer-accordion details a::before {
  content: "/";
  color: var(--haus-gold);
}
html[data-store-theme="haus"] .age-gate-backdrop,
html[data-store-theme="haus"] .cal-address-backdrop {
  background:
    radial-gradient(circle at center, rgba(244, 197, 63, .12) 0%, rgba(244, 197, 63, 0) 28%),
    rgba(4, 3, 2, .88);
  backdrop-filter: blur(10px);
}
html[data-store-theme="haus"] .age-gate-dialog,
html[data-store-theme="haus"] .cal-address-sheet {
  border-color: rgba(255, 216, 109, .14);
  background:
    radial-gradient(circle at 50% 0%, rgba(244, 197, 63, .16) 0%, rgba(244, 197, 63, 0) 26%),
    linear-gradient(180deg, rgba(24, 17, 10, .98) 0%, rgba(8, 6, 5, .995) 100%);
  color: var(--haus-cream);
  box-shadow: 0 30px 64px rgba(0, 0, 0, .56);
}
html[data-store-theme="haus"] .age-gate-dialog h2 {
  color: var(--haus-gold);
}
html[data-store-theme="haus"] .age-gate-btn.is-yes {
  border-color: rgba(255, 216, 109, .36);
  background: linear-gradient(180deg, #FFD55B 0%, #E4AD17 100%);
  color: #100B05;
}
html[data-store-theme="haus"] .age-gate-btn.is-no {
  border-color: rgba(255, 216, 109, .18);
  background: rgba(18, 13, 8, .96);
}
html[data-store-theme="haus"] .kkpb-wrap {
  max-width: 1160px;
  padding-top: 12px;
}
html[data-store-theme="haus"] .kkpb-banner {
  border: 1px solid var(--haus-panel-border);
  border-radius: 22px;
  background: #090806;
  box-shadow: var(--haus-panel-shadow);
}
html[data-store-theme="haus"] .kkpb-banner img {
  height: 220px;
  opacity: .86;
  filter: saturate(.92) contrast(1.04);
}
html[data-store-theme="haus"] .kkpb-banner:after {
  background:
    linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.64) 100%),
    linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,0) 44%, rgba(244,197,63,.08) 100%);
}
html[data-store-theme="haus"] .kkpb-banner .kkpb-banner-title {
  left: 20px;
  bottom: 16px;
  font-size: 28px;
  color: #FFF0BE;
  text-shadow: 0 8px 20px rgba(0,0,0,.42);
}
html[data-store-theme="haus"] .kkpb-toolbar {
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px;
  margin: 8px 0 14px;
  border: 1px solid var(--haus-panel-border);
  border-radius: 18px;
  background: var(--cal-store-card-bg-soft);
  box-shadow: var(--haus-panel-shadow);
}
html[data-store-theme="haus"] .kkpb-grid {
  gap: 16px;
}
html[data-store-theme="haus"] .kkpb-card {
  border-radius: 20px;
}
html[data-store-theme="haus"] .kkpb-card .hero {
  height: 144px;
  background:
    radial-gradient(circle at top center, rgba(255, 216, 109, .10) 0%, rgba(255, 216, 109, 0) 56%),
    linear-gradient(180deg, rgba(22, 15, 9, .98) 0%, rgba(10, 8, 6, 1) 100%);
}
html[data-store-theme="haus"] .kkpb-card .logo {
  width: 64px;
  height: 64px;
  border-color: rgba(255, 242, 198, .82);
}
html[data-store-theme="haus"] .kkpb-card .meta {
  padding: 15px 14px 16px;
}
@media (max-width: 760px) {
  html[data-store-theme="haus"] .cal-category-card {
    min-width: 164px;
    max-width: 164px;
    border-radius: 22px;
  }
  html[data-store-theme="haus"] .shop-toolbar-copy h1 {
    font-size: 26px;
  }
  html[data-store-theme="haus"] .kkpb-banner img {
    height: 200px;
  }
  html[data-store-theme="haus"] .kkpb-banner .kkpb-banner-title {
    font-size: 24px;
  }
}
html[data-store-theme="haus"] .product-card .subtle {
  color: rgba(246, 237, 214, .64);
}

html[data-store-theme="wizardz"] {
  --cal-cta-primary: #8f48f6;
  --cal-cta-primary-strong: #5a21b9;
  --cal-cta-primary-soft: #d89fff;
  --cal-cta-text: #fef8ff;
  --cal-cta-focus: rgba(210, 145, 255, 0.46);
  --cal-delivery-bar-bg:
    linear-gradient(180deg, rgba(17, 10, 25, 0.96) 0%, rgba(10, 6, 15, 0.96) 100%);
  --cal-delivery-bar-border-color: rgba(214, 168, 255, .14);
  --cal-delivery-bar-heading-color: rgba(247, 239, 255, 0.9);
  --cal-delivery-bar-summary-color: #ffffff;
  --cal-search-shell-border: rgba(214, 168, 255, .28);
  --cal-search-shell-bg:
    radial-gradient(circle at top left, rgba(143, 72, 246, .18) 0%, rgba(143, 72, 246, 0) 36%),
    linear-gradient(180deg, rgba(18, 10, 24, .98) 0%, rgba(10, 6, 15, .98) 100%);
  --cal-search-surface-bg: rgba(16, 10, 24, .92);
  --cal-search-surface-border: rgba(214, 168, 255, .2);
  --cal-search-feature-bg:
    radial-gradient(circle at top right, rgba(143, 72, 246, .2) 0%, rgba(143, 72, 246, 0) 46%),
    linear-gradient(180deg, rgba(25, 14, 36, .98) 0%, rgba(12, 7, 18, .96) 100%);
  --cal-search-brand-tag-bg: rgba(255, 255, 255, .08);
  --cal-search-heading-color: #ffffff;
  --cal-search-copy-color: rgba(228, 214, 245, .86);
  --cal-search-input-bg: rgba(255, 255, 255, .06);
  --cal-search-input-text: #f7efff;
  --cal-search-placeholder-color: rgba(222, 201, 248, .7);
  --wizardz-bg: #08050c;
  --wizardz-bg-soft: #110818;
  --wizardz-panel: rgba(18, 10, 24, 0.9);
  --wizardz-panel-soft: rgba(31, 17, 42, 0.88);
  --wizardz-line: rgba(214, 168, 255, 0.2);
  --wizardz-line-strong: rgba(214, 168, 255, 0.34);
  --wizardz-text: #f7efff;
  --wizardz-muted: #b8a3cf;
  --wizardz-chrome: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(216,192,255,.92) 24%, rgba(150,118,187,.72) 52%, rgba(255,255,255,.98) 100%);
}
html[data-store-theme="wizardz"] body {
  background:
    radial-gradient(circle at 50% 18%, rgba(126, 48, 219, 0.34) 0%, rgba(126, 48, 219, 0) 26%),
    radial-gradient(circle at 22% 46%, rgba(25, 169, 132, 0.12) 0%, rgba(25, 169, 132, 0) 18%),
    radial-gradient(circle at 78% 70%, rgba(197, 118, 255, 0.14) 0%, rgba(197, 118, 255, 0) 20%),
    linear-gradient(180deg, #0b0710 0%, #13091a 34%, #09060d 100%);
  color: var(--wizardz-text);
}
html[data-store-theme="wizardz"] a {
  color: #f0d9ff;
}
html[data-store-theme="wizardz"] a:hover {
  color: #ffffff;
}
html[data-store-theme="wizardz"] h1,
html[data-store-theme="wizardz"] h2,
html[data-store-theme="wizardz"] h3,
html[data-store-theme="wizardz"] h4,
html[data-store-theme="wizardz"] .button,
html[data-store-theme="wizardz"] button,
html[data-store-theme="wizardz"] .cal-category-name,
html[data-store-theme="wizardz"] .cal-delivery-mode span,
html[data-store-theme="wizardz"] .cal-footer-grid h4,
html[data-store-theme="wizardz"] .cal-footer-accordion summary,
html[data-store-theme="wizardz"] .age-gate-dialog h2 {
  font-family: 'Orbitron', 'Poppins', sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}
html[data-store-theme="wizardz"] .subtle,
html[data-store-theme="wizardz"] .shop-product-meta,
html[data-store-theme="wizardz"] .cal-admin-bridge-label span,
html[data-store-theme="wizardz"] .cal-delivery-bar-eyebrow,
html[data-store-theme="wizardz"] .age-gate-dialog p,
html[data-store-theme="wizardz"] .age-gate-btn,
html[data-store-theme="wizardz"] .cal-footer-grid a,
html[data-store-theme="wizardz"] .cal-footer-accordion details a,
html[data-store-theme="wizardz"] .cal-hours .cal-hours-item span,
html[data-store-theme="wizardz"] .cal-menu-links a {
  font-family: 'Space Mono', 'Poppins', monospace;
  letter-spacing: .02em;
}
html[data-store-theme="wizardz"] .cal-header {
  background:
    linear-gradient(180deg, rgba(36, 12, 54, 0.98) 0%, rgba(20, 7, 32, 0.97) 64%, rgba(11, 6, 17, 0.96) 100%),
    #12081a;
  border-bottom: 1px solid var(--wizardz-line);
  box-shadow: 0 22px 54px rgba(0,0,0,.42);
}
html[data-store-theme="wizardz"] .cal-admin-bridge {
  background:
    linear-gradient(90deg, rgba(55, 22, 86, 0.92) 0%, rgba(88, 38, 133, 0.85) 50%, rgba(45, 16, 71, 0.92) 100%);
  border-bottom-color: rgba(214, 168, 255, .16);
}
html[data-store-theme="wizardz"] .cal-admin-bridge-nav a,
html[data-store-theme="wizardz"] .cal-admin-bridge-label strong {
  color: #f5ecff;
}
html[data-store-theme="wizardz"] .cal-search-wrap,
html[data-store-theme="wizardz"] .cal-icon-btn,
html[data-store-theme="wizardz"] .cal-back-btn,
html[data-store-theme="wizardz"] .cal-cart-pill,
html[data-store-theme="wizardz"] .cal-help-btn {
  border-color: var(--wizardz-line-strong);
  background:
    linear-gradient(180deg, rgba(76, 34, 118, 0.52) 0%, rgba(19, 10, 28, 0.86) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(0,0,0,.22);
}
html[data-store-theme="wizardz"] .cal-search-wrap input,
html[data-store-theme="wizardz"] .cal-back-btn,
html[data-store-theme="wizardz"] .cal-cart-pill b,
html[data-store-theme="wizardz"] .cal-help-btn span,
html[data-store-theme="wizardz"] .cal-icon-btn,
html[data-store-theme="wizardz"] .cal-delivery-bar-heading strong,
html[data-store-theme="wizardz"] .cal-delivery-bar-action {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-search-wrap input::placeholder {
  color: rgba(215, 194, 240, .68);
}
html[data-store-theme="wizardz"] .cal-logo img {
  filter: drop-shadow(0 10px 22px rgba(205, 132, 255, .24));
}
html[data-store-theme="wizardz"] .cal-delivery-bar {
  background:
    linear-gradient(180deg, rgba(17, 10, 25, 0.96) 0%, rgba(10, 6, 15, 0.96) 100%);
  border-top-color: rgba(214, 168, 255, .1);
  border-bottom-color: rgba(214, 168, 255, .12);
}
html[data-store-theme="wizardz"] .cal-delivery-bar-inner {
  border-color: var(--wizardz-line);
  background:
    radial-gradient(circle at top center, rgba(143, 72, 246, .18) 0%, rgba(143, 72, 246, 0) 58%),
    rgba(18, 10, 24, 0.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-delivery-mode {
  border-color: var(--wizardz-line);
  background: rgba(255,255,255,.04);
  color: #dec9f8;
}
html[data-store-theme="wizardz"] .cal-delivery-mode.is-active {
  border-color: rgba(224, 191, 255, .48);
  background:
    linear-gradient(180deg, rgba(166, 93, 255, .92) 0%, rgba(96, 42, 194, .98) 100%);
  color: #fff;
  box-shadow: 0 14px 26px rgba(98, 35, 180, .28);
}
html[data-store-theme="wizardz"] .cal-menu-drawer {
  background:
    radial-gradient(circle at top center, rgba(144, 68, 255, .22) 0%, rgba(144, 68, 255, 0) 38%),
    linear-gradient(180deg, #14091d 0%, #09060d 100%);
  border-right: 1px solid var(--wizardz-line);
  box-shadow: 24px 0 44px rgba(0,0,0,.4);
}
html[data-store-theme="wizardz"] .cal-menu-head,
html[data-store-theme="wizardz"] .cal-hours .cal-hours-item {
  border-color: rgba(214, 168, 255, .12);
}
html[data-store-theme="wizardz"] .cal-hours h3,
html[data-store-theme="wizardz"] .cal-hours .cal-hours-item strong,
html[data-store-theme="wizardz"] .cal-menu-links a {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-hours .cal-hours-item.is-today {
  background: rgba(143, 72, 246, .12);
  border-color: rgba(214, 168, 255, .22);
}
html[data-store-theme="wizardz"] .cal-hero-wrap,
html[data-store-theme="wizardz"] .cal-shop-hero-wrap {
  background:
    radial-gradient(circle at top center, rgba(138, 66, 240, 0.2) 0%, rgba(138, 66, 240, 0) 28%),
    linear-gradient(180deg, #100814 0%, #09060d 100%);
  position: relative;
}
html[data-store-theme="wizardz"] .cal-hero-wrap::before,
html[data-store-theme="wizardz"] .cal-shop-hero-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(195, 130, 255, .18) 0, rgba(195, 130, 255, 0) 24%),
    radial-gradient(circle at 18% 62%, rgba(0, 255, 210, .06) 0, rgba(0, 255, 210, 0) 16%),
    radial-gradient(circle at 82% 48%, rgba(255, 255, 255, .07) 0 2px, transparent 3px),
    radial-gradient(circle at 22% 36%, rgba(255, 255, 255, .08) 0 2px, transparent 3px);
  pointer-events: none;
}
html[data-store-theme="wizardz"] .cal-hero,
html[data-store-theme="wizardz"] .panel,
html[data-store-theme="wizardz"] .product-card,
html[data-store-theme="wizardz"] .shop-product-card,
html[data-store-theme="wizardz"] .kkpb-card,
html[data-store-theme="wizardz"] .cal-order-again-card,
html[data-store-theme="wizardz"] .cal-category-card,
html[data-store-theme="wizardz"] .cal-auth-card,
html[data-store-theme="wizardz"] .cal-pickup-sheet-card,
html[data-store-theme="wizardz"] .cart-item-card,
html[data-store-theme="wizardz"] .cart-summary-card {
  border-radius: 24px;
}
html[data-store-theme="wizardz"] .panel,
html[data-store-theme="wizardz"] .product-card,
html[data-store-theme="wizardz"] .shop-product-card,
html[data-store-theme="wizardz"] .kkpb-card,
html[data-store-theme="wizardz"] .cal-order-again-card,
html[data-store-theme="wizardz"] .cal-category-card,
html[data-store-theme="wizardz"] .cal-auth-card,
html[data-store-theme="wizardz"] .cal-pickup-sheet-card,
html[data-store-theme="wizardz"] .cart-item-card,
html[data-store-theme="wizardz"] .cart-summary-card {
  border-color: var(--wizardz-line);
  background:
    linear-gradient(180deg, rgba(20, 11, 28, 0.96) 0%, rgba(10, 6, 15, 0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 20px 42px rgba(0, 0, 0, .28);
}
html[data-store-theme="wizardz"] .cal-hero-overlay {
  background:
    linear-gradient(135deg, rgba(5, 3, 9, 0.9) 0%, rgba(44, 17, 68, 0.44) 46%, rgba(143, 72, 246, 0.16) 100%);
}
html[data-store-theme="wizardz"] .cal-hero-overlay h2,
html[data-store-theme="wizardz"] .cal-hero-overlay p {
  text-shadow: 0 10px 28px rgba(0,0,0,.42);
  color: #fff;
}
html[data-store-theme="wizardz"] .cal-hero-dot {
  background: rgba(255,255,255,.3);
  border: none;
}
html[data-store-theme="wizardz"] .cal-hero-dot.is-active {
  background: #ffffff;
}
html[data-store-theme="wizardz"] .cal-hero-dots--home {
  background: transparent;
  box-shadow: none;
}
html[data-store-theme="wizardz"] .cal-hero-dots--home .cal-hero-dot {
  width: 6px;
  height: 6px;
  border: none;
  background: rgba(255, 255, 255, 0.3);
}
html[data-store-theme="wizardz"] .cal-hero-dots--home .cal-hero-dot.is-active {
  background: #ffffff;
}
html[data-store-theme="wizardz"] .cal-category-strip {
  background: transparent;
}
html[data-store-theme="wizardz"] .cal-category-card {
  background:
    linear-gradient(180deg, rgba(34, 17, 48, 0.94) 0%, rgba(10, 6, 15, 0.98) 100%);
  border-color: var(--wizardz-line);
  color: #fff;
  box-shadow: 0 16px 32px rgba(0, 0, 0, .24);
}
html[data-store-theme="wizardz"] .cal-category-img {
  border-radius: 999px;
  overflow: hidden;
  background:
    radial-gradient(circle at center, rgba(147, 79, 239, .24) 0%, rgba(147, 79, 239, 0) 62%),
    linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,0) 100%);
}
html[data-store-theme="wizardz"] .cal-category-name {
  color: #f8f0ff;
  font-size: 17px;
}
html[data-store-theme="wizardz"] .cal-category-card.is-view-all {
  background:
    linear-gradient(180deg, rgba(157, 89, 255, 0.92) 0%, rgba(76, 31, 105, 0.98) 100%);
  border-color: rgba(232, 204, 255, .4);
}
html[data-store-theme="wizardz"] .cal-category-card.is-view-all .cal-category-img svg {
  color: #fff;
}
html[data-store-theme="wizardz"] .product-image,
html[data-store-theme="wizardz"] .cal-order-again-image img,
html[data-store-theme="wizardz"] .cal-order-again-image-fallback,
html[data-store-theme="wizardz"] .shop-product-card .product-image {
  border-radius: 18px;
  background:
    radial-gradient(circle at center, rgba(163, 91, 255, .18) 0%, rgba(163, 91, 255, 0) 64%),
    #0b0711;
}
html[data-store-theme="wizardz"] .shop-product-card h3,
html[data-store-theme="wizardz"] .product-card h3,
html[data-store-theme="wizardz"] .cal-order-again-card h3,
html[data-store-theme="wizardz"] .shop-product-card h3 a,
html[data-store-theme="wizardz"] .product-card h3 a {
  color: #fff;
}
html[data-store-theme="wizardz"] .price strong,
html[data-store-theme="wizardz"] .shop-product-card .price strong,
html[data-store-theme="wizardz"] .product-card .price strong,
html[data-store-theme="wizardz"] .cal-order-again-price {
  color: #f0cbff;
}
html[data-store-theme="wizardz"] .cal-breadcrumb a,
html[data-store-theme="wizardz"] .cal-breadcrumb strong,
html[data-store-theme="wizardz"] .shop-toolbar-copy h1,
html[data-store-theme="wizardz"] [data-shop-results-count] {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-breadcrumb span,
html[data-store-theme="wizardz"] .shop-toolbar-copy .subtle {
  color: #a992c2;
}
html[data-store-theme="wizardz"] .cal-filter-chip,
html[data-store-theme="wizardz"] .cal-sort-chip,
html[data-store-theme="wizardz"] .shop-view-switch {
  border-color: var(--wizardz-line);
  background: rgba(21, 11, 30, .84);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-filter-chip > summary,
html[data-store-theme="wizardz"] .cal-sort-label,
html[data-store-theme="wizardz"] .shop-view-switch-label,
html[data-store-theme="wizardz"] .shop-view-switch button {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .shop-view-switch button.is-active {
  background:
    linear-gradient(180deg, rgba(175, 111, 255, 1) 0%, rgba(114, 55, 214, 1) 100%);
  color: #fff;
}
html[data-store-theme="wizardz"] .cal-sort-chip select,
html[data-store-theme="wizardz"] .cal-filter-pop,
html[data-store-theme="wizardz"] .cal-filter-pop select,
html[data-store-theme="wizardz"] .cal-filter-pop label {
  background: rgba(13, 8, 18, .96);
  color: #f7efff;
  border-color: var(--wizardz-line);
}
html[data-store-theme="wizardz"] .button,
html[data-store-theme="wizardz"] button,
html[data-store-theme="wizardz"] .button.secondary {
  border-radius: 999px;
  border-color: rgba(232, 204, 255, .34);
  background:
    radial-gradient(140% 160% at 12% 0%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(170, 103, 255, .96) 0%, rgba(111, 49, 214, .98) 58%, rgba(76, 31, 141, 1) 100%);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 14px 28px rgba(71, 22, 138, .26);
}
html[data-store-theme="wizardz"] .button.secondary {
  background:
    radial-gradient(140% 160% at 12% 0%, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(59, 28, 92, .94) 0%, rgba(20, 11, 28, .98) 100%);
}
html[data-store-theme="wizardz"] .button:hover,
html[data-store-theme="wizardz"] button:hover,
html[data-store-theme="wizardz"] .button.secondary:hover {
  filter: saturate(1.06) brightness(1.04);
  text-decoration: none;
}
html[data-store-theme="wizardz"] .cal-footer {
  background:
    linear-gradient(180deg, rgba(23, 11, 33, 0.98) 0%, rgba(11, 6, 17, 1) 100%);
  border-top-color: var(--wizardz-line);
}
html[data-store-theme="wizardz"] .cal-footer a {
  color: #efe2ff;
}
html[data-store-theme="wizardz"] .cal-footer-grid a,
html[data-store-theme="wizardz"] .cal-footer-accordion details a {
  color: #d6c3ef;
}
html[data-store-theme="wizardz"] .cal-footer-accordion details,
html[data-store-theme="wizardz"] .cal-footer-accordion details a {
  border-color: rgba(214, 168, 255, .12);
}
html[data-store-theme="wizardz"] .cal-footer-accordion summary::after {
  border-color: rgba(214, 168, 255, .22);
  color: #fff;
}
html[data-store-theme="wizardz"] .age-gate-backdrop {
  background:
    radial-gradient(circle at center, rgba(143, 72, 246, .18) 0%, rgba(143, 72, 246, 0) 28%),
    rgba(3, 2, 6, .84);
  backdrop-filter: blur(10px);
}
html[data-store-theme="wizardz"] .age-gate-dialog {
  border-color: rgba(224, 192, 255, .26);
  background:
    radial-gradient(circle at top center, rgba(159, 86, 255, .28) 0%, rgba(159, 86, 255, 0) 44%),
    linear-gradient(180deg, #2b0e41 0%, #100814 62%, #09060d 100%);
  box-shadow: 0 30px 64px rgba(0, 0, 0, .6);
}
html[data-store-theme="wizardz"] .age-gate-dialog h2 {
  color: #fff;
  font-size: clamp(20px, 3vw, 34px);
  line-height: 1.22;
}
html[data-store-theme="wizardz"] .age-gate-btn {
  border-color: rgba(232, 204, 255, .34);
  background:
    linear-gradient(180deg, rgba(60, 30, 93, .94) 0%, rgba(17, 10, 25, .98) 100%);
  color: #fff;
}
html[data-store-theme="wizardz"] .age-gate-btn.is-yes {
  border-color: rgba(232, 204, 255, .42);
  background:
    linear-gradient(180deg, rgba(170, 103, 255, .96) 0%, rgba(111, 49, 214, .98) 58%, rgba(76, 31, 141, 1) 100%);
}
html[data-store-theme="wizardz"] .age-gate-btn.is-no {
  border-color: rgba(214, 168, 255, .26);
  background: rgba(16, 9, 23, .94);
}
@media (max-width: 760px) {
  html[data-store-theme="wizardz"] .cal-category-card {
    min-width: 114px;
  }
  html[data-store-theme="wizardz"] .cal-category-name {
    font-size: 14px;
  }
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 20px;
  padding-left: max(20px, env(safe-area-inset-left));
  padding-right: max(20px, env(safe-area-inset-right));
}
.narrow { max-width: 720px; }

h1, h2, h3, h4 { margin: 0 0 10px; line-height: 1.2; }
h1 { font-size: 30px; }
h2 { font-size: 24px; }
.subtle { color: var(--cal-muted); margin: 0 0 14px; }

.row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

/* ---------- Store Header ---------- */
.cal-header {
  background:
    radial-gradient(circle at top center, color-mix(in srgb, var(--cal-blue) 18%, transparent) 0%, transparent 46%),
    linear-gradient(180deg, color-mix(in srgb, var(--cal-blue-dark) 82%, #060505 18%) 0%, color-mix(in srgb, var(--cal-blue) 24%, #090707 76%) 100%);
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.18);
  position: sticky;
  top: 0;
  z-index: 90;
  padding-top: env(safe-area-inset-top);
}
.cal-header .container {
  padding-top: 6px;
  padding-bottom: 6px;
}
.cal-admin-bridge {
  background: linear-gradient(90deg, #130909 0%, #2a0f0d 55%, #160909 100%);
  border-bottom: 1px solid rgba(184, 52, 35, .34);
}
.cal-admin-bridge-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.cal-admin-bridge-label {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.cal-admin-bridge-label strong {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffe6dc;
}
.cal-admin-bridge-label span {
  font-size: 12px;
  color: #f4b9a6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(42vw, 360px);
}
.cal-admin-bridge-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.cal-admin-bridge-nav a {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(184, 52, 35, .34);
  background: rgba(37, 16, 16, .7);
  color: #fff2eb;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
  text-decoration: none;
}
.cal-admin-bridge-nav a:hover {
  text-decoration: none;
  border-color: rgba(222, 96, 78, .75);
  background: rgba(118, 31, 23, .62);
}
.cal-header-top {
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  align-items: center;
}
.cal-logo {
  display: flex;
  justify-content: center;
}
.cal-logo img {
  height: 44px;
  max-width: 260px;
  width: auto;
  object-fit: contain;
}
body.home-page .cal-logo img {
  height: 56px;
  max-width: 320px;
}
.cal-icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  border: 1px solid rgba(183, 34, 28, .26);
  background: linear-gradient(180deg, rgba(24, 11, 11, .94) 0%, rgba(9, 7, 7, .96) 100%);
  box-shadow: 0 12px 22px rgba(0,0,0,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  cursor: pointer;
}
.cal-icon-btn img {
  width: 17px;
  height: 17px;
  filter: brightness(0) invert(1);
}
.cal-header-search {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding-top: 2px;
  padding-bottom: 4px;
}
.cal-header-back {
  padding-top: 0;
  padding-bottom: 0;
}
.cal-back-btn {
  min-height: 34px;
  padding: 4px 14px;
  border-radius: 7px;
  border: 1px solid rgba(183, 34, 28, .24);
  background: linear-gradient(180deg, rgba(24, 11, 11, .9) 0%, rgba(9, 7, 7, .94) 100%);
  color: #fff;
  font-weight: 600;
}
.cal-search-wrap {
  min-height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(183, 34, 28, .24);
  background: linear-gradient(180deg, rgba(20, 10, 10, .88) 0%, rgba(8, 6, 6, .92) 100%);
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  font-weight: 500;
}
.cal-search-wrap img,
.cal-help-link img {
  width: 18px;
  height: 18px;
  filter: brightness(0) invert(1);
}
.cal-help-link {
  color: var(--cal-store-secondary-text);
  min-height: 40px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}
.cal-help-btn {
  border: 1px solid var(--cal-store-secondary-border);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(22, 10, 10, .98) 0%, rgba(8, 6, 6, .98) 100%);
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(43, 17, 14, .18);
  transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.cal-help-btn:hover,
.cal-help-btn:focus-visible {
  border-color: var(--cal-store-pill-border);
  background: linear-gradient(180deg, rgba(32, 13, 13, .98) 0%, rgba(10, 7, 7, .98) 100%);
  color: var(--cal-store-pill-text);
  text-decoration: none;
  outline: none;
}
.cal-help-btn:focus-visible {
  box-shadow:
    0 10px 22px color-mix(in srgb, var(--cal-blue-dark) 12%, transparent),
    0 0 0 3px color-mix(in srgb, var(--cal-store-pill-border) 30%, transparent);
}
.cal-cart-pill {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.4);
  background: rgba(106, 201, 130, .25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.cal-cart-pill img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
}
.cal-cart-pill b {
  position: absolute;
  right: -3px;
  top: -4px;
  min-width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #0b5e26;
  color: #fff;
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.45);
}
.cal-delivery-bar {
  background: var(--cal-store-card-bg);
  color: var(--cal-store-ink);
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 10px;
  border-top: 1px solid var(--cal-store-border);
  cursor: pointer;
}
.cal-delivery-bar strong {
  margin-left: 8px;
  font-size: 15px;
  font-weight: 600;
}

/* ---------- Menu Drawer ---------- */
.cal-menu-backdrop {
  position: fixed;
  inset: 0;
  background: var(--cal-store-overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: 1188;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cal-menu-backdrop[hidden],
.cal-menu-drawer[hidden] {
  display: none;
}
.cal-menu-drawer {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: min(84vw, 420px);
  background: var(--cal-store-drawer-bg);
  color: var(--cal-store-drawer-ink);
  transform: translateX(-102%);
  transition: transform .24s ease;
  z-index: 1189;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: max(18px, env(safe-area-inset-top)) 16px 20px;
  box-shadow: var(--cal-store-drawer-shadow);
  border-right: 1px solid var(--cal-store-drawer-border);
}
body.cal-menu-open,
html.cal-menu-open {
  overflow: hidden;
}
body.cal-menu-open .cal-menu-backdrop,
.cal-menu-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}
body.cal-menu-open .cal-menu-drawer,
.cal-menu-drawer.is-open {
  transform: translateX(0);
}

/* ---------- Delivery Address ---------- */
.cal-address-backdrop {
  position: fixed;
  inset: 0;
  background: color-mix(in srgb, var(--cal-store-overlay) 88%, transparent);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
  z-index: 95;
}
.cal-address-sheet {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: min(460px, 92vw);
  background: var(--cal-store-sheet-bg);
  border-left: 1px solid var(--cal-store-sheet-border);
  z-index: 96;
  transform: translateX(102%);
  transition: transform .24s ease;
  box-shadow: var(--cal-store-sheet-shadow);
  padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
  overflow: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 14px;
  color: var(--cal-store-ink);
}
body.cal-address-open { overflow: hidden; }
body.cal-address-open .cal-address-backdrop {
  opacity: 1;
  pointer-events: auto;
}
body.cal-address-open .cal-address-sheet { transform: translateX(0); }
.cal-address-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 0;
}
.cal-address-head h3 {
  margin: 0;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.cal-address-head p {
  margin: 6px 0 0;
  color: var(--cal-store-muted);
  font-size: 15px;
  line-height: 1.5;
}
.cal-address-head button {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--cal-store-secondary-border);
  background: var(--cal-store-card-bg-muted);
  color: var(--cal-store-secondary-text);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--cal-store-primary-shadow);
}
.cal-address-sheet-modes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 6px;
  border-radius: 20px;
  border: 1px solid var(--cal-store-border);
  background: var(--cal-store-card-bg-muted);
  backdrop-filter: blur(10px);
}
.cal-address-sheet-mode {
  min-height: 46px;
  border-radius: 999px;
  border: none;
  background: transparent;
  color: var(--cal-store-secondary-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
}
.cal-address-sheet-mode.is-active {
  background: var(--cal-store-primary-bg);
  color: var(--cal-store-primary-text);
  box-shadow: var(--cal-store-primary-shadow);
}
.cal-address-sheet-mode[disabled] {
  opacity: .45;
  cursor: not-allowed;
}
.cal-address-form {
  display: grid;
  gap: 12px;
}
.cal-address-form > div {
  display: grid;
  gap: 6px;
}
.cal-address-form label {
  margin: 0;
  font-size: 11px;
  color: var(--cal-store-muted);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cal-address-form input {
  border: 1px solid var(--cal-store-field-border);
  border-radius: 16px;
  min-height: 56px;
  font-size: 16px;
  padding: 0 16px;
  background: var(--cal-store-field-bg);
  color: var(--cal-store-field-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.cal-address-form input::placeholder {
  color: var(--cal-store-field-placeholder);
}
.cal-address-form input:focus-visible {
  outline: none;
  border-color: var(--cal-store-field-focus-border);
  box-shadow:
    0 0 0 3px var(--cal-store-field-focus-ring),
    inset 0 1px 0 rgba(255,255,255,.95);
}
.cal-address-form button {
  width: 100%;
  margin-top: 8px;
  border-radius: 16px;
  min-height: 54px;
  font-size: 16px;
  font-weight: 700;
  background: var(--cal-store-primary-bg);
  border: 1px solid var(--cal-store-primary-border);
  color: var(--cal-store-primary-text);
  box-shadow: var(--cal-store-primary-shadow);
}
.cal-address-form button:hover,
.cal-address-form button:focus-visible {
  background: var(--cal-store-primary-bg);
  border-color: var(--cal-store-primary-border);
}

/* ---------- Search Overlay ---------- */
.cal-search-overlay {
  position: fixed;
  inset: 0;
  background: color-mix(in srgb, var(--cal-store-overlay) 78%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 97;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

/* ---------- Support Chat ---------- */
.cal-chat-backdrop {
  position: fixed;
  inset: 0;
  background: color-mix(in srgb, var(--cal-store-overlay) 92%, transparent);
  backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
  z-index: 2000;
}
.cal-chat-sheet {
  --cal-chat-shell-bg:
    radial-gradient(circle at top right, color-mix(in srgb, var(--cal-chat-accent) 16%, transparent) 0%, transparent 30%),
    radial-gradient(circle at bottom left, color-mix(in srgb, var(--cal-chat-accent) 10%, transparent) 0%, transparent 28%),
    linear-gradient(180deg, rgba(17, 8, 8, .995) 0%, rgba(8, 6, 6, 1) 100%);
  --cal-chat-panel-bg: rgba(22, 11, 11, .96);
  --cal-chat-panel-soft-bg: rgba(28, 13, 13, .94);
  --cal-chat-panel-muted-bg: rgba(36, 16, 16, .92);
  --cal-chat-border: rgba(183, 34, 28, .18);
  --cal-chat-border-strong: rgba(183, 34, 28, .32);
  --cal-chat-ink: var(--cal-store-ink);
  --cal-chat-muted: #c4aaa0;
  --cal-chat-accent: var(--cal-blue);
  --cal-chat-accent-strong: #ffccbf;
  --cal-chat-accent-soft: rgba(183, 34, 28, .12);
  --cal-chat-success-bg: var(--cal-store-success-bg);
  --cal-chat-success-border: var(--cal-store-success-border);
  --cal-chat-success-text: var(--cal-store-success-text);
  --cal-chat-warning-bg: var(--cal-store-warning-bg);
  --cal-chat-warning-border: var(--cal-store-warning-border);
  --cal-chat-warning-text: var(--cal-store-warning-text);
  --cal-chat-danger-bg: var(--cal-store-danger-bg);
  --cal-chat-danger-border: var(--cal-store-danger-border);
  --cal-chat-danger-text: var(--cal-store-danger-text);
  --cal-chat-thread-bg: var(--cal-store-thread-bg);
  --cal-chat-stream-bg: var(--cal-store-stream-bg);
  --cal-chat-customer-bg: var(--cal-store-primary-bg);
  --cal-chat-customer-border: var(--cal-store-primary-border);
  --cal-chat-system-bg: var(--cal-store-system-bg);
  --cal-chat-system-border: var(--cal-store-system-border);
  --cal-chat-system-text: var(--cal-store-system-text);
  --cal-chat-header-bg: linear-gradient(180deg, #b7221c 0%, #7b1210 100%);
  --cal-chat-header-pill-bg: rgba(255, 255, 255, .08);
  --cal-chat-header-pill-border: rgba(255, 255, 255, .16);
  --cal-chat-header-pill-text: #fff7f1;
  --cal-chat-shell-shadow: 0 20px 40px rgba(0, 0, 0, .28);
  --cal-chat-card-shadow: 0 14px 28px rgba(0, 0, 0, .14);
  --cal-chat-card-shadow-strong: 0 18px 34px rgba(0, 0, 0, .2);
  --cal-chat-thread-shadow: 0 20px 40px rgba(0, 0, 0, .18);
  --cal-chat-bubble-shadow: 0 12px 24px rgba(0, 0, 0, .14);
  position: fixed;
  inset: 0;
  width: 100vw;
  height: auto;
  min-height: 0;
  max-height: none;
  background: var(--cal-chat-shell-bg);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  z-index: 2001;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  transform: translateY(104%);
  opacity: 0;
  transition: transform .22s cubic-bezier(.22, .8, .2, 1), opacity .16s ease;
}
.cal-chat-head {
  grid-row: 1 / 2;
}
.cal-chat-sheet > .cal-chat-body,
.cal-chat-sheet > .cal-chat-thread {
  grid-row: 2 / 3;
  min-height: 0;
}
.cal-chat-tabs {
  grid-row: 3 / 4;
}
body.cal-chat-open { overflow: hidden; }
body.cal-chat-open .cal-chat-backdrop {
  opacity: 1;
  pointer-events: auto;
}
body.cal-chat-open .cal-chat-sheet {
  transform: translateY(0);
  opacity: 1;
}
.cal-chat-head {
  padding: 8px 12px;
  background: var(--cal-chat-header-bg);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: var(--cal-chat-shell-shadow);
}
.cal-chat-head-copy {
  display: grid;
  gap: 2px;
}
.cal-chat-head-kicker {
  display: inline-flex;
  width: max-content;
  min-height: 17px;
  align-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--cal-chat-header-pill-bg);
  color: var(--cal-chat-header-pill-text);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cal-chat-head h3 { margin: 0; font-size: 16px; line-height: 1.02; color: var(--cal-chat-header-pill-text); }
.cal-chat-head button {
  border: 1px solid var(--cal-chat-header-pill-border);
  background: var(--cal-chat-header-pill-bg);
  width: 26px;
  height: 26px;
  border-radius: 999px;
  font-size: 16px;
  color: var(--cal-chat-header-pill-text);
  cursor: pointer;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.cal-chat-body {
  min-height: 0;
  overflow: auto;
  padding: 16px;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--cal-chat-accent) 8%, transparent), transparent 30%),
    linear-gradient(180deg, rgba(16, 9, 9, .98) 0%, rgba(7, 6, 6, .995) 100%);
}
.cal-chat-body[hidden],
.cal-chat-thread[hidden] {
  display: none !important;
}
.cal-chat-hero {
  padding: 20px;
  border-radius: 22px;
  border: 1px solid var(--cal-chat-border);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--cal-chat-accent) 12%, transparent) 0%, transparent 34%),
    linear-gradient(135deg, rgba(36, 16, 16, .98) 0%, rgba(16, 9, 9, .98) 100%);
  color: var(--cal-chat-ink);
  margin-bottom: 14px;
  box-shadow: var(--cal-chat-shell-shadow);
}
.cal-chat-hero-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--cal-chat-accent-soft);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cal-chat-accent-strong);
}
.cal-chat-hero h4 {
  margin: 10px 0 6px;
  font-size: 25px;
}
.cal-chat-hero p {
  margin: 0;
  font-size: 14px;
  color: var(--cal-chat-muted);
  max-width: 42ch;
}
.cal-chat-hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.cal-chat-hero-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid var(--cal-chat-border);
  background: color-mix(in srgb, var(--cal-chat-panel-bg) 88%, white 12%);
  color: var(--cal-chat-accent-strong);
  font-size: 12px;
  font-weight: 700;
}
.cal-chat-cta {
  width: 100%;
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--cal-chat-accent) 38%, black 12%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-chat-accent) 88%, white 12%) 0%, color-mix(in srgb, var(--cal-chat-accent-strong) 86%, black 14%) 100%);
  color: var(--cal-store-primary-text);
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 12px;
  cursor: pointer;
  box-shadow: 0 16px 28px rgba(118, 28, 22, .22);
}
.cal-chat-home-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.cal-chat-home-links button {
  border: 1px solid var(--cal-chat-border-strong);
  background: linear-gradient(180deg, rgba(32, 15, 15, .98) 0%, rgba(13, 8, 8, .98) 100%);
  color: var(--cal-chat-ink);
  border-radius: 14px;
  min-height: 54px;
  font-size: 13px;
  font-weight: 800;
  padding: 10px 12px;
  cursor: pointer;
  box-shadow: var(--cal-chat-card-shadow);
  text-align: left;
}
.cal-chat-home-links button:hover {
  border-color: color-mix(in srgb, var(--cal-chat-accent) 48%, white 10%);
  background: linear-gradient(180deg, rgba(43, 18, 17, .98) 0%, rgba(18, 9, 9, .98) 100%);
  transform: translateY(-1px);
}
.cal-chat-media-rail {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.cal-chat-media-rail.is-single {
  grid-template-columns: 1fr;
}
.cal-chat-media-card {
  border: 1px solid var(--cal-chat-border);
  background: var(--cal-chat-panel-bg);
  color: var(--cal-chat-ink);
  border-radius: 18px;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  box-shadow: var(--cal-chat-card-shadow);
  display: flex;
  flex-direction: column;
}
.cal-chat-media-card:hover {
  border-color: var(--cal-chat-border-strong);
  transform: translateY(-1px);
}
.cal-chat-media-card.is-featured {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--cal-chat-panel-bg) 94%, white 6%), color-mix(in srgb, var(--cal-chat-panel-soft-bg) 88%, white 12%));
}
.cal-chat-media-card[data-chat-media-kind="resy"] {
  background:
    linear-gradient(180deg, rgba(46, 18, 18, .98) 0%, rgba(17, 8, 8, .98) 100%);
  border-color: color-mix(in srgb, var(--cal-chat-accent) 38%, white 10%);
}
.cal-chat-media-card-art {
  position: relative;
  overflow: hidden;
  background: var(--cal-chat-customer-bg);
  flex: 0 0 150px;
  min-height: 150px;
  max-height: 150px;
}
.cal-chat-media-card[data-chat-media-kind="resy"] .cal-chat-media-card-art {
  display: grid;
  place-items: center;
  padding: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .14), transparent 54%),
    linear-gradient(155deg, #4d201d 0%, #140909 100%);
}
.cal-chat-media-card-art::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 48%;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--cal-store-overlay) 30%, transparent));
  pointer-events: none;
}
.cal-chat-media-card[data-chat-media-kind="resy"] .cal-chat-media-card-art::after {
  display: none;
}
.cal-chat-media-card-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cal-chat-media-card[data-chat-media-kind="resy"] .cal-chat-media-card-art img {
  width: min(100%, 220px);
  height: auto;
  max-height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 8px 20px rgba(0, 0, 0, .28));
}
.cal-chat-media-card-copy {
  display: grid;
  gap: 5px;
  padding: 12px 13px 14px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-chat-panel-bg) 96%, white 4%), var(--cal-chat-panel-bg));
  border-top: 1px solid var(--cal-chat-border);
  position: relative;
  z-index: 1;
}
.cal-chat-media-card-copy small {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cal-chat-accent-strong);
}
.cal-chat-media-card-copy strong {
  font-size: 17px;
  line-height: 1.2;
  color: var(--cal-chat-ink);
}
.cal-chat-media-card-copy span {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: var(--cal-chat-muted);
}
.cal-chat-media-card[data-chat-media-kind="resy"] .cal-chat-media-card-copy {
  background: linear-gradient(180deg, rgba(37, 16, 16, .98), rgba(19, 10, 10, .98));
}
.cal-chat-media-card[data-chat-media-kind="resy"] .cal-chat-media-card-copy strong {
  color: #fff6f2;
}
.cal-chat-media-card[data-chat-media-kind="resy"] .cal-chat-media-card-copy span {
  color: rgba(255, 236, 229, .82);
}
.cal-chat-faq {
  border: 1px solid var(--cal-chat-border);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(24, 11, 11, .98) 0%, rgba(10, 7, 7, .98) 100%);
  padding: 12px;
  box-shadow: var(--cal-chat-card-shadow);
}
.cal-chat-faq input {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--cal-chat-border);
  border-radius: 10px;
  padding: 0 12px;
  margin-bottom: 8px;
  background: color-mix(in srgb, var(--cal-chat-panel-bg) 88%, white 12%);
  color: var(--cal-chat-ink);
}
.cal-chat-faq details {
  border-top: 1px solid var(--cal-chat-border);
  padding: 10px 2px;
}
.cal-chat-faq details:first-of-type {
  border-top: 0;
}
.cal-chat-faq summary {
  cursor: pointer;
  color: var(--cal-chat-ink);
  font-weight: 600;
  font-size: 14px;
}
.cal-chat-faq p {
  margin: 8px 0 0;
  color: var(--cal-chat-muted);
  font-size: 12px;
}
.cal-chat-list {
  border: 1px solid var(--cal-chat-border);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(24, 11, 11, .98) 0%, rgba(10, 7, 7, .98) 100%);
  padding: 8px;
  box-shadow: var(--cal-chat-card-shadow);
}
.cal-chat-thread-item {
  width: 100%;
  border: 1px solid var(--cal-chat-border);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(29, 13, 13, .98) 0%, rgba(14, 8, 8, .98) 100%);
  padding: 13px;
  text-align: left;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
}
.cal-chat-thread-item-copy {
  min-width: 0;
}
.cal-chat-thread-item strong {
  display: block;
  font-size: 14px;
  color: var(--cal-chat-ink);
}
.cal-chat-thread-item small {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--cal-chat-muted);
  line-height: 1.5;
}
.cal-chat-thread-item span {
  font-size: 11px;
  color: var(--cal-chat-muted);
  white-space: nowrap;
}
.cal-chat-intake-card {
  border: 1px solid var(--cal-chat-border);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(24, 11, 11, .98) 0%, rgba(10, 7, 7, .98) 100%);
  padding: 16px;
  box-shadow: var(--cal-chat-card-shadow-strong);
}
.cal-chat-intake-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--cal-chat-accent-soft);
  color: var(--cal-chat-accent-strong);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cal-chat-intake-card h4 {
  margin: 10px 0 0;
  font-size: 22px;
  color: var(--cal-chat-ink);
}
.cal-chat-intake-card > p {
  margin: 6px 0 10px;
  font-size: 13px;
  color: var(--cal-chat-muted);
  line-height: 1.55;
}
.cal-chat-intake form {
  display: grid;
  gap: 10px;
}
.cal-chat-intake label {
  display: grid;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--cal-chat-ink);
}
.cal-chat-intake input,
.cal-chat-intake textarea {
  border: 1px solid var(--cal-chat-border);
  border-radius: 10px;
  padding: 10px;
  font-size: 13px;
  font-family: inherit;
  background: color-mix(in srgb, var(--cal-chat-panel-bg) 88%, white 12%);
  color: var(--cal-chat-ink);
}
.cal-chat-intake textarea {
  min-height: 78px;
  max-height: 130px;
  resize: vertical;
}
.cal-chat-intake-note {
  margin: 0;
  font-size: 12px;
  color: var(--cal-chat-danger-text);
  font-weight: 700;
}
.cal-chat-thread {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid var(--cal-chat-border);
  background: linear-gradient(180deg, rgba(21, 10, 10, .99) 0%, rgba(8, 6, 6, .995) 100%);
  box-shadow: var(--cal-chat-thread-shadow);
}
.cal-chat-thread > * {
  min-width: 0;
}
.cal-chat-thread-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 10px;
  background: linear-gradient(180deg, rgba(42, 17, 17, .94) 0%, rgba(23, 10, 10, .94) 100%);
  border-bottom: 1px solid var(--cal-chat-border);
}
.cal-chat-thread-top-copy {
  min-width: 0;
}
.cal-chat-thread-top-copy strong {
  display: block;
  font-size: 14px;
  color: var(--cal-chat-ink);
}
.cal-chat-thread-top-copy span {
  font-size: 10px;
  color: var(--cal-chat-muted);
}
.cal-chat-thread-status {
  margin: 5px 10px 0;
  padding: 5px 8px;
  border-radius: 9px;
  font-size: 9px;
  font-weight: 700;
  border: 1px solid var(--cal-chat-border);
  background: color-mix(in srgb, var(--cal-chat-accent) 12%, var(--cal-chat-panel-bg));
  color: var(--cal-chat-accent-strong);
}
.cal-chat-thread-status.is-error {
  background: var(--cal-chat-danger-bg);
  border-color: var(--cal-chat-danger-border);
  color: var(--cal-chat-danger-text);
}
.cal-chat-thread-status.is-success {
  background: var(--cal-chat-success-bg);
  border-color: var(--cal-chat-success-border);
  color: var(--cal-chat-success-text);
}
.cal-chat-thread-status.is-info {
  background: color-mix(in srgb, var(--cal-chat-accent) 12%, var(--cal-chat-panel-bg));
  border-color: var(--cal-chat-border);
  color: var(--cal-chat-accent-strong);
}
.cal-chat-vip {
  border-bottom: 1px solid var(--cal-chat-border);
  background: var(--cal-store-vip-bg);
  padding: 10px;
}
.cal-chat-vip-card {
  border: 1px solid var(--cal-chat-warning-border);
  border-radius: 12px;
  background: var(--cal-store-vip-card-bg);
  padding: 12px;
  display: grid;
  gap: 8px;
}
.cal-chat-vip-card strong {
  display: block;
  font-size: 13px;
  color: var(--cal-chat-ink);
}
.cal-chat-vip-card p {
  margin: 0;
  font-size: 12px;
  color: var(--cal-chat-muted);
  line-height: 1.45;
}
.cal-chat-vip-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cal-chat-vip-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid var(--cal-chat-warning-border);
  background: var(--cal-chat-warning-bg);
  color: var(--cal-chat-warning-text);
  font-size: 11px;
  font-weight: 700;
}
.cal-chat-vip-form {
  display: grid;
  gap: 8px;
}
.cal-chat-vip-form input[type="text"] {
  border: 1px solid var(--cal-chat-border);
  border-radius: 10px;
  padding: 10px;
  font-size: 13px;
  font-family: inherit;
  background: color-mix(in srgb, var(--cal-chat-panel-bg) 88%, white 12%);
  color: var(--cal-chat-ink);
}
.cal-chat-vip-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: var(--cal-chat-muted);
}
.cal-chat-vip-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cal-chat-vip-actions .button,
.cal-chat-vip-actions .cal-chat-cta {
  min-height: 40px;
}
.cal-chat-vip-note {
  font-size: 11px;
  font-weight: 700;
  color: var(--cal-chat-danger-text);
}
.cal-chat-thread-stream {
  min-height: 0;
  overflow: auto;
  padding: 14px 14px 16px;
  display: grid;
  align-content: start;
  gap: 12px;
  background: var(--cal-chat-stream-bg);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.cal-chat-row {
  display: grid;
  gap: 6px;
  justify-items: start;
}
.cal-chat-row.is-customer {
  justify-items: end;
}
.cal-chat-bubble {
  max-width: min(88%, 440px);
  padding: 13px 14px;
  border-radius: 18px;
  border: 1px solid var(--cal-chat-border);
  background: color-mix(in srgb, var(--cal-chat-panel-bg) 92%, white 8%);
  color: var(--cal-chat-ink);
  font-size: 13px;
  box-shadow: var(--cal-chat-bubble-shadow);
}
.cal-chat-bubble.is-customer {
  margin-left: auto;
  background: var(--cal-chat-customer-bg);
  border-color: var(--cal-chat-customer-border);
  color: #fff;
}
.cal-chat-bubble.is-staff {
  background: linear-gradient(180deg, rgba(39, 17, 17, .98) 0%, rgba(19, 10, 10, .98) 100%);
}
.cal-chat-bubble.is-system {
  max-width: 100%;
  background: var(--cal-chat-system-bg);
  border-color: var(--cal-chat-system-border);
  color: var(--cal-chat-system-text);
}
.cal-chat-bubble-badge {
  display: inline-flex;
  align-items: center;
  margin-bottom: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--cal-chat-accent-soft);
  color: var(--cal-chat-accent-strong);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cal-chat-bubble p {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
}
.cal-chat-bubble-links {
  margin-top: 8px;
  display: grid;
  gap: 6px;
}
.cal-chat-bubble-link {
  display: block;
  text-decoration: none;
  border: 1px solid var(--cal-chat-border-strong);
  border-radius: 8px;
  padding: 8px 9px;
  font-size: 12px;
  font-weight: 600;
  color: var(--cal-chat-accent-strong);
  background: var(--cal-chat-panel-muted-bg);
}
.cal-chat-bubble.is-customer .cal-chat-bubble-link {
  color: #fff;
  background: rgba(255, 255, 255, .14);
}
.cal-chat-bubble-visual {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 10px;
  border: 1px solid var(--cal-chat-border-strong);
  border-radius: 14px;
  padding: 10px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cal-chat-accent) 14%, transparent), color-mix(in srgb, var(--cal-chat-accent-strong) 10%, transparent)),
    var(--cal-chat-panel-muted-bg);
}
.cal-chat-bubble-visual-art {
  min-height: 92px;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
  background: linear-gradient(150deg, color-mix(in srgb, var(--cal-chat-accent-strong) 90%, black) 0%, color-mix(in srgb, var(--cal-chat-accent) 86%, var(--cal-green)) 100%);
}
.cal-chat-bubble-visual-art.is-icon {
  display: grid;
  place-items: center;
  padding: 14px 12px;
  color: #fff;
}
.cal-chat-bubble-visual-art.is-icon::before {
  content: "";
  position: absolute;
  inset: 14px 18px;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, .66);
  transform: rotate(-18deg);
}
.cal-chat-bubble-visual-art.is-icon::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 16px;
  top: 46px;
  height: 2px;
  background: rgba(255, 255, 255, .56);
  transform: rotate(22deg);
}
.cal-chat-bubble-visual-art.is-icon svg {
  width: 38px;
  height: 38px;
  display: block;
  position: relative;
  z-index: 1;
}
.cal-chat-bubble-visual-art.is-image {
  display: block;
  background: #120c0c;
}
.cal-chat-bubble-visual-art.is-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.cal-chat-bubble-visual-art.is-image::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 58%;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .52));
}
.cal-chat-bubble-visual-art.is-image.is-contain {
  display: grid;
  place-items: center;
  padding: 14px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .12), transparent 56%),
    linear-gradient(160deg, #3f1d1a 0%, #110808 100%);
}
.cal-chat-bubble-visual-art.is-image.is-contain img {
  object-fit: contain;
}
.cal-chat-bubble-visual-art.kind-group-dining,
.cal-chat-bubble-visual-art.kind-catering,
.cal-chat-bubble-visual-art.kind-two-hommes,
.cal-chat-bubble-visual-art.kind-about,
.cal-chat-bubble-visual-art.kind-articles,
.cal-chat-bubble-visual-art.kind-reviews {
  background: linear-gradient(150deg, #5b3029 0%, #160d0c 100%);
}
.cal-chat-bubble-visual-art.kind-food-truck {
  background: linear-gradient(150deg, #5f3320 0%, #19100d 100%);
}
.cal-chat-bubble-visual-art.kind-reservation {
  background: linear-gradient(150deg, #5c2724 0%, #16090a 100%);
}
.cal-chat-bubble-visual-art.kind-hours,
.cal-chat-bubble-visual-art.kind-location,
.cal-chat-bubble-visual-art.kind-contact,
.cal-chat-bubble-visual-art.kind-delivery {
  background: linear-gradient(150deg, #204c79 0%, #102336 100%);
}
.cal-chat-bubble-visual-art.kind-manager,
.cal-chat-bubble-visual-art.kind-care,
.cal-chat-bubble-visual-art.kind-payment,
.cal-chat-bubble-visual-art.kind-account {
  background: linear-gradient(150deg, #315f8d 0%, #16283a 100%);
}
.cal-chat-bubble-visual-art.kind-merch {
  background: linear-gradient(150deg, #2d2524 0%, #0f0b0b 100%);
}
.cal-chat-bubble-visual-art span {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(10, 8, 8, .32);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}
.cal-chat-bubble-visual-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
  align-content: start;
}
.cal-chat-bubble-visual-copy small {
  margin: 0;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--cal-chat-muted);
}
.cal-chat-bubble-visual-copy strong {
  font-size: 14px;
  line-height: 1.25;
  color: var(--cal-chat-ink);
}
.cal-chat-bubble-visual-copy p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--cal-chat-muted);
}
.cal-chat-bubble-visual-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid rgba(255, 232, 223, .78);
  background: linear-gradient(180deg, #fff7f2 0%, #f8dfd4 100%);
  color: #4d1712;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .72);
  text-shadow: none;
}
.cal-chat-bubble-visual-link:hover,
.cal-chat-bubble-visual-link:focus-visible {
  border-color: rgba(255, 245, 239, .96);
  background: linear-gradient(180deg, #fffdfb 0%, #ffe9df 100%);
  color: #3d120e;
  outline: none;
}
.cal-chat-bubble-products {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}
.cal-chat-product-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  text-decoration: none;
  border: 1px solid var(--cal-chat-border-strong);
  border-radius: 14px;
  padding: 9px;
  background: color-mix(in srgb, var(--cal-chat-panel-bg) 90%, white 10%);
  color: var(--cal-chat-ink);
  box-shadow: var(--cal-chat-card-shadow);
}
.cal-chat-product-card-art {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--cal-chat-accent) 18%, white), color-mix(in srgb, var(--cal-chat-panel-soft-bg) 94%, white 6%));
  border: 1px solid var(--cal-chat-border);
}
.cal-chat-product-card-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cal-chat-product-card-art span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--cal-chat-accent-strong);
}
.cal-chat-product-card-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.cal-chat-product-card-copy small {
  margin: 0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--cal-chat-muted);
}
.cal-chat-product-card-copy strong {
  font-size: 14px;
  line-height: 1.25;
  color: var(--cal-chat-ink);
}
.cal-chat-product-card-desc {
  font-size: 12px;
  line-height: 1.45;
  color: var(--cal-chat-muted);
}
.cal-chat-product-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.cal-chat-product-card-price {
  font-size: 13px;
  font-weight: 800;
  color: var(--cal-chat-accent-strong);
}
.cal-chat-product-card-compare {
  font-size: 11px;
  color: var(--cal-chat-muted);
  text-decoration: line-through;
}
.cal-chat-product-card-tag {
  display: inline-flex;
  width: fit-content;
  min-height: 22px;
  align-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--cal-chat-success-bg);
  border: 1px solid var(--cal-chat-success-border);
  color: var(--cal-chat-success-text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
}
.cal-chat-bubble.is-customer .cal-chat-bubble-visual {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .05)),
    rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .24);
}
.cal-chat-bubble.is-customer .cal-chat-bubble-visual-copy small,
.cal-chat-bubble.is-customer .cal-chat-bubble-visual-copy p {
  color: rgba(255, 255, 255, .82);
}
.cal-chat-bubble.is-customer .cal-chat-bubble-visual-copy strong,
.cal-chat-bubble.is-customer .cal-chat-bubble-visual-link {
  color: #fff;
}
.cal-chat-bubble.is-customer .cal-chat-bubble-visual-link {
  background: rgba(255, 255, 255, .18);
  border-color: rgba(255, 255, 255, .36);
  color: #fff;
  box-shadow: none;
}
.cal-chat-bubble.is-customer .cal-chat-product-card {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .22);
}
.cal-chat-bubble.is-customer .cal-chat-product-card-copy small,
.cal-chat-bubble.is-customer .cal-chat-product-card-desc,
.cal-chat-bubble.is-customer .cal-chat-product-card-compare {
  color: rgba(255, 255, 255, .78);
}
.cal-chat-bubble.is-customer .cal-chat-product-card-copy strong,
.cal-chat-bubble.is-customer .cal-chat-product-card-price {
  color: #fff;
}
.cal-chat-bubble small {
  margin-top: 4px;
  display: block;
  font-size: 10px;
  opacity: .75;
}
.cal-chat-bubble-meta {
  display: block;
  font-size: 10px;
  font-weight: 700;
  color: var(--cal-chat-muted);
  padding: 0 4px;
}
.cal-chat-quick {
  padding: 5px 10px 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
  background: transparent;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.cal-chat-quick[hidden] {
  display: none !important;
}
.cal-chat-quick::-webkit-scrollbar {
  display: none;
}
.cal-chat-quick button {
  flex: 0 0 auto;
  border: 1px solid var(--cal-chat-border-strong);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(28, 13, 13, .98) 0%, rgba(12, 8, 8, .98) 100%);
  color: #ffd6cc;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  cursor: pointer;
}
.cal-chat-quick button:hover {
  border-color: color-mix(in srgb, var(--cal-chat-accent) 48%, white 8%);
  color: #fff5f1;
}
.cal-chat-quick button:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.cal-chat-thread-empty {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px dashed var(--cal-chat-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--cal-chat-panel-bg) 84%, white 16%);
}
.cal-chat-thread-empty strong {
  font-size: 15px;
  color: var(--cal-chat-ink);
}
.cal-chat-thread-empty span {
  font-size: 12px;
  line-height: 1.45;
  color: var(--cal-chat-muted);
}
.cal-chat-compose {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 10px 12px;
  align-items: end;
  border-top: 1px solid var(--cal-chat-border);
  background: linear-gradient(180deg, rgba(24, 11, 11, .98) 0%, rgba(10, 7, 7, .98) 100%);
  position: relative;
  z-index: 3;
}
.cal-chat-compose-main {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.cal-chat-compose textarea {
  border: 1px solid var(--cal-chat-border-strong);
  border-radius: 16px;
  padding: 11px 13px;
  min-height: 68px;
  max-height: 104px;
  resize: vertical;
  font-size: 13px;
  font-family: inherit;
  background: linear-gradient(180deg, rgba(17, 10, 10, .98) 0%, rgba(9, 7, 7, .98) 100%);
  color: var(--cal-chat-ink);
}
.cal-chat-intake input:focus,
.cal-chat-intake textarea:focus,
.cal-chat-vip-form input[type="text"]:focus,
.cal-chat-faq input:focus,
.cal-chat-compose textarea:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--cal-chat-accent) 70%, white 30%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cal-chat-accent) 18%, transparent);
}
.cal-chat-compose-note {
  min-height: 14px;
  font-size: 11px;
  font-weight: 600;
  color: var(--cal-chat-muted);
  padding: 0 4px;
}
.cal-chat-compose-note.is-success {
  color: var(--cal-chat-success-text);
}
.cal-chat-compose-note.is-error {
  color: var(--cal-chat-danger-text);
}
.cal-chat-compose-note.is-muted {
  color: var(--cal-chat-muted);
}
.cal-chat-compose > button,
.cal-chat-thread-top [data-chat-back] {
  border-radius: 14px;
  border: 1px solid var(--cal-chat-customer-border);
  background: var(--cal-chat-customer-bg);
  color: var(--cal-store-primary-text);
  box-shadow: none;
}
.cal-chat-compose > button {
  width: auto;
  min-width: 92px;
  min-height: 46px;
  padding: 0 16px;
  align-self: stretch;
  white-space: nowrap;
}
.cal-chat-thread-top [data-chat-back] {
  min-height: 34px;
  padding: 0 12px;
}
.cal-chat-tabs {
  background: color-mix(in srgb, var(--cal-chat-panel-bg) 88%, white 12%);
  border-top: 1px solid var(--cal-chat-border);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cal-chat-tabs button {
  min-height: 56px;
  border: 0;
  background: transparent;
  color: var(--cal-chat-muted);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
}
.cal-chat-tabs button.is-active {
  color: var(--cal-chat-accent-strong);
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-chat-accent) 10%, transparent), transparent);
}
.cal-chat-list-empty {
  color: var(--cal-chat-muted);
  padding: 16px;
  text-align: center;
  font-size: 12px;
}
@media (max-width: 780px) {
  .cal-chat-backdrop {
    background: color-mix(in srgb, var(--cal-store-overlay) 88%, transparent);
  }
  .cal-chat-sheet {
    transform: translateY(104%);
    opacity: 0;
    transition: transform .28s cubic-bezier(.22, .61, .36, 1), opacity .2s ease;
    will-change: transform, opacity;
    padding-bottom: 0;
  }
  body.cal-chat-open .cal-chat-sheet {
    transform: translateY(0);
    opacity: 1;
    transition-duration: .18s, .14s;
    transition-timing-function: cubic-bezier(.22, .8, .2, 1), ease-out;
  }
  body.cal-chat-closing .cal-chat-sheet {
    transform: translateY(104%);
    opacity: 0;
    transition-duration: .28s, .2s;
    transition-timing-function: cubic-bezier(.34, 1.12, .64, 1), ease-in;
  }
  .cal-chat-head {
    padding: calc(6px + env(safe-area-inset-top)) 10px 6px;
  }
  .cal-chat-head-copy {
    gap: 1px;
  }
  .cal-chat-head-kicker {
    min-height: 14px;
    padding: 0 5px;
    font-size: 6px;
  }
  .cal-chat-head h3 {
    font-size: 14px;
    line-height: 1.05;
  }
  .cal-chat-head button {
    width: 23px;
    height: 23px;
    font-size: 15px;
  }
  .cal-chat-body {
    padding: 12px;
    min-height: 0;
  }
  .cal-chat-hero {
    padding: 14px;
    margin-bottom: 10px;
    border-radius: 18px;
  }
  .cal-chat-hero h4 {
    margin: 8px 0 4px;
    font-size: 20px;
  }
  .cal-chat-hero p {
    font-size: 12px;
    line-height: 1.45;
  }
  .cal-chat-hero-chips {
    gap: 6px;
    margin-top: 10px;
  }
  .cal-chat-hero-chips span {
    min-height: 26px;
    padding: 0 9px;
    font-size: 11px;
  }
  .cal-chat-cta {
    min-height: 42px;
    margin-bottom: 10px;
    border-radius: 12px;
    font-size: 12px;
    box-shadow: 0 10px 18px rgba(118, 28, 22, .18);
  }
  .cal-chat-media-rail {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .cal-chat-media-card {
    border-radius: 16px;
  }
  .cal-chat-media-card-art {
    flex-basis: 120px;
    min-height: 120px;
    max-height: 120px;
  }
  .cal-chat-media-card-copy {
    gap: 4px;
    padding: 10px 11px 12px;
  }
  .cal-chat-media-card-copy strong {
    font-size: 15px;
  }
  .cal-chat-media-card-copy span {
    font-size: 11px;
    line-height: 1.35;
  }
  .cal-chat-home-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .cal-chat-home-links button {
    min-height: 44px;
    padding: 8px 10px;
    border-radius: 12px;
    font-size: 11px;
    text-align: center;
  }
  .cal-chat-thread-top {
    padding: 8px 10px 7px;
    gap: 6px;
  }
  .cal-chat-thread-top-copy strong {
    font-size: 15px;
    line-height: 1.15;
  }
  .cal-chat-thread-top-copy span {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.35;
  }
  .cal-chat-thread-status {
    margin: 4px 8px 0;
    padding: 4px 7px;
    border-radius: 9px;
    font-size: 8px;
  }
  .cal-chat-thread {
    border-radius: 18px;
    min-height: 0;
    height: auto;
  }
  .cal-chat-thread-top [data-chat-back] {
    min-height: 27px;
    padding: 0 8px;
    border-radius: 9px;
    font-size: 9px;
  }
  .cal-chat-thread-stream {
    padding: 12px 10px 14px;
    gap: 9px;
    min-height: 0;
    scroll-padding-top: 14px;
    scroll-padding-bottom: 18px;
  }
  .cal-chat-bubble {
    max-width: min(92%, 420px);
    padding: 10px 11px;
    border-radius: 15px;
    font-size: 12px;
  }
  .cal-chat-bubble-badge {
    margin-bottom: 6px;
    padding: 3px 7px;
    font-size: 9px;
  }
  .cal-chat-bubble-links {
    margin-top: 6px;
    gap: 5px;
  }
  .cal-chat-bubble-link {
    padding: 7px 8px;
    font-size: 11px;
  }
  .cal-chat-bubble small,
  .cal-chat-bubble-meta {
    font-size: 9px;
  }
  .cal-chat-product-card {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 8px;
  }
  .cal-chat-product-card-art {
    width: 56px;
    height: 56px;
  }
  .cal-chat-product-card-copy strong {
    font-size: 13px;
  }
  .cal-chat-product-card-desc {
    font-size: 11px;
  }
  .cal-chat-product-card-price,
  .cal-chat-product-card-compare,
  .cal-chat-product-card-tag {
    font-size: 10px;
  }
  .cal-chat-quick {
    padding: 4px 8px 0;
    gap: 4px;
  }
  .cal-chat-quick button {
    min-height: 23px;
    padding: 3px 7px;
    font-size: 8px;
    white-space: nowrap;
  }
  .cal-chat-compose {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px 10px;
    align-items: end;
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
    border-top-width: 1px;
  }
  .cal-chat-compose-main {
    min-width: 0;
    gap: 4px;
  }
  .cal-chat-compose textarea {
    min-height: 60px;
    max-height: 92px;
    padding: 10px 11px;
    border-radius: 12px;
    font-size: 12px;
  }
  .cal-chat-compose button {
    width: auto;
    min-width: 76px;
    min-height: 40px;
    padding: 0 13px;
    border-radius: 11px;
    align-self: stretch;
    font-size: 11px;
  }
  .cal-chat-compose-note {
    font-size: 9px;
    padding: 0 2px;
  }
  .cal-chat-tabs {
    padding-bottom: env(safe-area-inset-bottom);
    min-height: calc(44px + env(safe-area-inset-bottom));
  }
  .cal-chat-tabs button {
    min-height: 44px;
    font-size: 11px;
  }
}

/* ---------- Cart Page ---------- */
body.cart-page .cart-main {
  padding-top: 28px;
  padding-bottom: 48px;
}
body.cart-page .cart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 22px;
}
body.cart-page .cart-head h1 {
  margin: 0;
  font-size: clamp(26px, 2.4vw, 34px);
  font-weight: 800;
  color: #1b2c44;
  letter-spacing: -.01em;
}
body.cart-page .cart-head .button.secondary {
  min-height: 48px;
  padding: 10px 20px;
  border-radius: 12px;
  border: 1px solid #cdd4de;
  background: #ffffff;
  color: #1f3450;
  font-weight: 700;
}
body.cart-page .cart-head .button.secondary:hover {
  background: #f5f7fa;
  text-decoration: none;
}
body.cart-page .cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 26px;
  align-items: start;
}
body.cart-page .cart-items-col {
  display: grid;
  gap: 16px;
}
body.cart-page .cart-item-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 16px;
  align-items: center;
  background: #fff;
  border: 1px solid #dde3eb;
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: 0 8px 22px rgba(14, 32, 55, .06);
}
body.cart-page .cart-item-left {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
body.cart-page .cart-item-image {
  width: 80px;
  height: 80px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid #d6dde7;
  background: #fff;
}
body.cart-page .cart-item-image-fallback {
  background: linear-gradient(180deg, #f5f7fa, #edf1f6);
}
body.cart-page .cart-item-info {
  min-width: 0;
}
body.cart-page .cart-item-info h3 {
  margin: 0 0 6px;
  font-size: clamp(19px, 1.6vw, 23px);
  font-weight: 700;
  color: #16293f;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.cart-page .cart-item-meta {
  margin: 0 0 4px;
  font-size: 13px;
  font-weight: 600;
  color: #58708d;
  line-height: 1.25;
}
body.cart-page .cart-item-unit {
  margin: 0;
  color: var(--cal-green);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
body.cart-page .cart-item-breakdown {
  margin: 3px 0 0;
  color: #6c7f95;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
}
body.cart-page .cart-item-save {
  margin: 4px 0 0;
  color: var(--cal-green-dark);
  font-size: 12px;
  font-weight: 700;
}
body.cart-page .cart-qty-form {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d0d8e3;
  border-radius: 14px;
  background: #f9fbfd;
  overflow: hidden;
}
body.cart-page .cart-qty-btn {
  min-width: 42px;
  height: 46px;
  border: 0;
  background: #f3f6fa;
  color: #1f334d;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
body.cart-page .cart-qty-btn:hover {
  background: #e9eff6;
}
body.cart-page .cart-qty-input {
  width: 58px;
  height: 46px;
  border: 0;
  border-left: 1px solid #d5ddea;
  border-right: 1px solid #d5ddea;
  background: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  color: #1f324a;
}
body.cart-page .cart-qty-update {
  border: 0;
  border-left: 1px solid #d5ddea;
  background: #1f476f;
  color: #fff;
  min-height: 46px;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
body.cart-page .cart-qty-update:hover {
  background: #173857;
}
body.cart-page .cart-item-total {
  min-width: 96px;
  text-align: right;
  font-size: clamp(22px, 1.8vw, 26px);
  font-weight: 600;
  color: #1e334e;
  line-height: 1;
}
body.cart-page .cart-remove-form {
  margin: 0;
}
body.cart-page .cart-remove-btn {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid #d7dfe9;
  background: #fff;
  color: #9aa8b8;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
body.cart-page .cart-remove-btn:hover {
  background: #f4f6f9;
  color: #5d6f84;
}
body.cart-page .cart-summary-card {
  position: sticky;
  top: 104px;
  background: #fff;
  border: 1px solid #dde4ec;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(14, 31, 54, .08);
}
body.cart-page .cart-summary-card h2 {
  margin: 0 0 18px;
  font-size: 28px;
  font-weight: 600;
  color: #1a2d46;
}
body.cart-page .cart-summary-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  font-size: 16px;
  color: #273a53;
  border-bottom: 1px dashed #e7edf5;
}
body.cart-page .cart-summary-line strong {
  font-size: 18px;
  color: #1e324d;
}
body.cart-page .cart-summary-items {
  margin-top: -2px;
}
body.cart-page .cart-summary-total {
  margin-top: 4px;
  border-top: 1px solid #e2e8ef;
  border-bottom: 0;
  padding-top: 16px;
}
body.cart-page .cart-summary-total span,
body.cart-page .cart-summary-total strong {
  font-size: 20px;
  font-weight: 600;
}
body.cart-page .cart-summary-total strong {
  color: var(--cal-green);
  font-size: 36px;
  font-weight: 800;
}
body.cart-page .cart-checkout-btn {
  width: 100%;
  margin-top: 12px;
  min-height: 52px;
  border: 0;
  border-radius: 12px;
  background: var(--cal-green);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
body.cart-page .cart-checkout-btn:hover {
  background: var(--cal-green-dark);
  text-decoration: none;
}
body.cart-page .cart-continue-link {
  margin-top: 14px;
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--cal-green);
  font-size: 15px;
}
body.cart-page .cart-clear-form {
  margin-top: 12px;
}
body.cart-page .cart-clear-link {
  width: 100%;
  border: 0;
  background: transparent;
  color: #75879b;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  text-decoration: underline;
}
body.cart-page .empty-cart-state {
  min-height: 260px;
  display: grid;
  place-items: center;
  gap: 12px;
}
body.cart-page .empty-cart-state img {
  width: 56px;
  opacity: .7;
}
body.cart-page .empty-cart-state h2 {
  margin: 0;
  font-size: 26px;
}

@media (max-width: 1200px) {
  body.cart-page .cart-item-card {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "left qty remove"
      "left total total";
  }
  body.cart-page .cart-item-left { grid-area: left; }
  body.cart-page .cart-qty-form { grid-area: qty; }
  body.cart-page .cart-item-total { grid-area: total; text-align: left; }
  body.cart-page .cart-remove-form { grid-area: remove; justify-self: end; }
}

@media (max-width: 900px) {
  body.cart-page .cart-main {
    padding-top: 18px;
  }
  body.cart-page .cart-head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 16px;
  }
  body.cart-page .cart-head .button.secondary {
    display: none;
  }
  body.cart-page .cart-layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  body.cart-page .cart-items-col {
    order: 1;
  }
  body.cart-page .cart-summary-card {
    position: static;
    order: 2;
  }
  body.cart-page .cart-item-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "left"
      "qty"
      "total"
      "remove";
    gap: 12px;
  }
  body.cart-page .cart-item-info h3 {
    white-space: normal;
    font-size: 19px;
  }
  body.cart-page .cart-item-meta {
    font-size: 12px;
  }
  body.cart-page .cart-item-unit {
    font-size: 14px;
  }
  body.cart-page .cart-item-breakdown {
    font-size: 11px;
  }
  body.cart-page .cart-item-save {
    font-size: 11px;
  }
  body.cart-page .cart-item-total {
    text-align: left;
    font-size: 22px;
  }
  body.cart-page .cart-remove-form {
    justify-self: start;
  }
  body.cart-page .cart-qty-form {
    width: 100%;
    justify-content: space-between;
  }
  body.cart-page .cart-qty-input {
    flex: 1;
    width: auto;
    font-size: 18px;
  }
}
.cal-search-panel {
  background: var(--cal-store-sheet-bg-alt);
  width: 100%;
  height: 100%;
  transform: translateY(102%);
  transition: transform .24s ease;
  padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
  position: relative;
}
body.cal-search-open { overflow: hidden; }
body.cal-search-open .cal-search-overlay { opacity: 1; pointer-events: auto; }
body.cal-search-open .cal-search-panel { transform: translateY(0); }
.cal-search-close {
  position: absolute;
  right: 14px;
  top: max(12px, env(safe-area-inset-top));
  border: none;
  background: transparent;
  color: var(--cal-store-ink);
  font-size: 62px;
  line-height: 1;
  cursor: pointer;
  padding: 0 8px;
}
.cal-search-form {
  margin-top: 56px;
  display: grid;
  grid-template-columns: 1fr auto;
  border: 2px solid var(--cal-store-border-strong);
  border-radius: 18px;
  overflow: hidden;
  background: var(--cal-store-card-bg);
  box-shadow: 0 14px 30px color-mix(in srgb, var(--cal-blue-dark) 12%, transparent);
}
.cal-search-input-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 14px;
}
.cal-search-ico {
  font-size: 30px;
  line-height: 1;
}
.cal-search-form input {
  border: none;
  margin: 0;
  background: transparent;
  color: var(--cal-store-ink);
  font-size: 40px;
  min-height: 76px;
  padding: 0;
}
.cal-search-form button {
  border-radius: 0;
  min-height: 76px;
  min-width: 160px;
  font-size: 40px;
  background: var(--cal-store-primary-bg);
  border-color: var(--cal-store-primary-border);
  color: var(--cal-store-primary-text);
}
.cal-search-empty-msg {
  text-align: center;
  margin-top: 130px;
  font-size: 46px;
  color: var(--cal-store-ink);
  font-weight: 600;
}
.cal-menu-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--cal-store-drawer-border) 86%, transparent);
}
.cal-menu-head img {
  grid-column: 2;
  justify-self: center;
  height: 62px;
  width: auto;
  object-fit: contain;
}
.cal-menu-head button {
  grid-column: 3;
  justify-self: end;
  border: 1px solid color-mix(in srgb, var(--cal-store-drawer-border) 88%, transparent);
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
  color: var(--cal-store-drawer-ink);
  width: 48px;
  height: 48px;
  border-radius: 16px;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.cal-menu-head button:hover,
.cal-menu-head button:focus-visible {
  background: linear-gradient(180deg, rgba(183, 34, 28, .16) 0%, rgba(255,255,255,.04) 100%);
  border-color: color-mix(in srgb, var(--cal-blue) 42%, var(--cal-store-drawer-border));
  outline: none;
}
.cal-menu-links {
  display: grid;
  gap: 10px;
}
.cal-menu-standalone,
.cal-menu-group-links {
  display: grid;
  gap: 10px;
}
.cal-menu-standalone a {
  background:
    radial-gradient(circle at top left, rgba(183, 34, 28, .12) 0%, rgba(183, 34, 28, 0) 46%),
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.025) 100%);
}
.cal-menu-group {
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--cal-store-drawer-border) 84%, transparent);
  border-radius: 20px;
  background:
    radial-gradient(circle at top left, rgba(183, 34, 28, .08) 0%, rgba(183, 34, 28, 0) 44%),
    linear-gradient(180deg, rgba(255,255,255,.035) 0%, rgba(255,255,255,.02) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  overflow: hidden;
}
.cal-menu-group summary {
  list-style: none;
}
.cal-menu-group summary::-webkit-details-marker {
  display: none;
}
.cal-menu-group-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
}
.cal-menu-group-summary:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--cal-blue) 54%, transparent);
}
.cal-menu-group-summary-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.cal-menu-group-summary-copy strong {
  color: var(--cal-store-drawer-ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cal-menu-group-summary-copy small {
  color: color-mix(in srgb, var(--cal-store-drawer-ink) 70%, transparent);
  font-size: 12px;
  line-height: 1.45;
}
.cal-menu-group-summary-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--cal-store-drawer-border) 88%, transparent);
  background: rgba(255,255,255,.04);
  color: var(--cal-store-drawer-ink);
  font-size: 18px;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.cal-menu-group[open] .cal-menu-group-summary-icon {
  transform: rotate(45deg);
  background: rgba(183, 34, 28, .16);
  border-color: color-mix(in srgb, var(--cal-blue) 46%, var(--cal-store-drawer-border));
}
.cal-menu-group-links {
  padding: 0 12px 12px;
}
.cal-menu-links a {
  display: block;
  color: var(--cal-store-drawer-ink);
  border: 1px solid color-mix(in srgb, var(--cal-store-drawer-border) 82%, transparent);
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 16px;
  font-weight: 600;
  background: linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.015) 100%);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.cal-menu-links a:hover,
.cal-menu-links a:focus-visible {
  background:
    linear-gradient(180deg, rgba(183, 34, 28, .12) 0%, rgba(255,255,255,.03) 100%);
  border-color: color-mix(in srgb, var(--cal-blue) 38%, var(--cal-store-drawer-border));
  color: #fffaf4;
  text-decoration: none;
  transform: translateX(3px);
  outline: none;
}
.cal-menu-support {
  margin-top: 12px;
  padding: 14px 16px 16px;
  border: 1px solid color-mix(in srgb, var(--cal-store-drawer-border) 82%, transparent);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(183, 34, 28, .1) 0%, rgba(183, 34, 28, 0) 42%),
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%);
  display: grid;
  gap: 8px;
}
.cal-menu-support strong {
  display: block;
  color: var(--cal-store-drawer-ink);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cal-menu-support p {
  margin: 0;
  color: color-mix(in srgb, var(--cal-store-drawer-ink) 74%, transparent);
  font-size: 13px;
  line-height: 1.5;
}
.cal-menu-support .button {
  min-height: 42px;
  border-radius: 14px;
  justify-self: start;
  padding: 0 16px;
}
.cal-store-status-bar {
  display: block;
  background: #101317;
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 12px;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, opacity .18s ease;
}
.cal-store-status-bar:hover,
.cal-store-status-bar:focus-visible {
  background: color-mix(in srgb, #101317 72%, var(--cal-blue) 28%);
  color: #fff7f2;
  text-decoration: none;
}
.cal-store-status-bar:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--cal-blue) 70%, #fff 30%);
  outline-offset: -2px;
}
.cal-hours h3 {
  margin-top: 22px;
  margin-bottom: 10px;
  font-size: 22px;
  color: var(--cal-store-drawer-ink);
}
.cal-hours-list {
  width: 100%;
  display: grid;
  gap: 9px;
}
.cal-hours-note {
  margin: 10px 0 0;
  font-size: 12px;
  color: color-mix(in srgb, var(--cal-store-drawer-ink) 76%, transparent);
}
.cal-hours .cal-hours-item {
  background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%);
  border-color: color-mix(in srgb, var(--cal-store-drawer-border) 92%, transparent);
  color: var(--cal-store-drawer-ink);
}
.cal-hours .cal-hours-item.is-today {
  border-color: color-mix(in srgb, var(--cal-blue) 32%, var(--cal-store-drawer-border));
  box-shadow: 0 0 0 1px rgba(183, 34, 28, .16) inset;
}

/* ---------- Home Sections ---------- */
.cal-hero-wrap {
  background: var(--cal-blue);
}
.cal-shop-hero-wrap {
  background: #101722;
}
body.shop-page .cal-shop-hero-slider,
body.brand-archive-page .cal-shop-hero-slider {
  height: var(--cal-hero-active-height, clamp(300px, 44vw, 620px));
  max-height: none;
  background: #08111a;
  isolation: isolate;
}
body.shop-page .cal-shop-hero-slider .cal-hero-slide,
body.brand-archive-page .cal-shop-hero-slider .cal-hero-slide {
  background: color-mix(in srgb, var(--cal-panel-start) 94%, var(--cal-panel-end));
  overflow: hidden;
}
body.shop-page .cal-shop-hero-slider .cal-hero-slide::before,
body.brand-archive-page .cal-shop-hero-slider .cal-hero-slide::before {
  content: "";
  position: absolute;
  inset: -18px;
  background-image: var(--cal-hero-slide-image);
  background-size: cover;
  background-position: center center;
  filter: blur(28px) saturate(1.08);
  transform: scale(1.06);
  opacity: .38;
  z-index: 0;
  pointer-events: none;
}
body.shop-page .cal-shop-hero-slider .cal-hero-media,
body.brand-archive-page .cal-shop-hero-slider .cal-hero-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: color-mix(in srgb, var(--cal-panel-start) 94%, var(--cal-panel-end));
  position: relative;
  z-index: 1;
}
body.shop-page .cal-shop-hero-slider .cal-hero-media > img,
body.brand-archive-page .cal-shop-hero-slider .cal-hero-media > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  background: color-mix(in srgb, var(--cal-panel-start) 94%, var(--cal-panel-end));
  position: relative;
  z-index: 1;
}
body.shop-page .cal-shop-hero-slider[data-hero-image-shape="portrait"] .cal-hero-media > img,
body.brand-archive-page .cal-shop-hero-slider[data-hero-image-shape="portrait"] .cal-hero-media > img {
  width: auto;
  max-width: min(58vw, 100%);
  margin-inline: auto;
}
body.shop-page .cal-shop-hero-slider[data-hero-image-shape="square"] .cal-hero-media > img,
body.brand-archive-page .cal-shop-hero-slider[data-hero-image-shape="square"] .cal-hero-media > img {
  width: auto;
  max-width: min(74vw, 100%);
  margin-inline: auto;
}
@media (min-width: 761px) {
  body.shop-page .cal-shop-hero-slider[data-hero-fill-mode="cover"] .cal-hero-media,
  body.brand-archive-page .cal-shop-hero-slider[data-hero-fill-mode="cover"] .cal-hero-media {
    overflow: hidden;
  }
  body.shop-page .cal-shop-hero-slider[data-hero-fill-mode="cover"] .cal-hero-media > img,
  body.brand-archive-page .cal-shop-hero-slider[data-hero-fill-mode="cover"] .cal-hero-media > img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.015);
  }
}
body.shop-page .cal-shop-hero-slider .cal-hero-overlay,
body.brand-archive-page .cal-shop-hero-slider .cal-hero-overlay {
  bottom: 28px;
}
body.shop-page .cal-shop-hero-slider .cal-hero-overlay h2,
body.brand-archive-page .cal-shop-hero-slider .cal-hero-overlay h2 {
  font-size: clamp(32px, 7vw, 88px);
  font-weight: 700;
  letter-spacing: .01em;
}
body.shop-page .cal-shop-hero-slider .cal-hero-overlay p,
body.brand-archive-page .cal-shop-hero-slider .cal-hero-overlay p {
  font-size: clamp(14px, 2vw, 28px);
  font-weight: 600;
  letter-spacing: .08em;
}
.cal-hero {
  position: relative;
  width: 100%;
  height: var(--cal-hero-active-height, clamp(240px, 45vw, 560px));
  overflow: hidden;
}
.cal-hero-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform .42s ease;
}
.cal-hero-slide {
  min-width: 100%;
  position: relative;
  height: 100%;
}
.cal-hero-slide:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 12, 20, .08) 30%, rgba(6, 12, 20, .52) 100%);
  pointer-events: none;
}
.cal-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.home-page .cal-hero {
  height: var(--cal-hero-active-height, clamp(290px, 52vw, 660px));
}
.cal-hero-overlay {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 54px;
  color: #fff;
  z-index: 3;
  max-width: 560px;
}
.cal-hero-overlay h2 {
  margin: 0 0 6px;
  font-size: clamp(22px, 3vw, 36px);
  line-height: 1.1;
  font-weight: 700;
  text-shadow: 0 3px 14px rgba(0,0,0,.4);
}
.cal-hero-overlay p {
  margin: 0 0 12px;
  font-size: clamp(14px, 1.6vw, 18px);
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.cal-hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 58px;
  border-radius: 2px;
  border: none;
  background: rgba(10, 16, 27, .42);
  color: #fff;
  font-size: 36px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
}
.cal-hero-prev { left: 8px; }
.cal-hero-next { right: 8px; }
.cal-hero-dots {
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 20;
}
.cal-hero-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  max-width: 8px;
  min-height: 8px;
  max-height: 8px;
  flex: 0 0 8px;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,.3);
  cursor: pointer;
  padding: 0;
  margin: 0;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  transition: background-color .3s ease, opacity .3s ease, transform .3s ease;
}
.cal-hero-dot.is-active {
  background: #fff;
}
.cal-hero-dots--home {
  gap: 6px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
}
.cal-hero-dots--home .cal-hero-dot {
  width: 6px;
  height: 6px;
  min-width: 6px;
  max-width: 6px;
  min-height: 6px;
  max-height: 6px;
  flex: 0 0 6px;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,.3);
  padding: 0;
  margin: 0;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  cursor: pointer;
  transition: background-color .3s ease, opacity .3s ease, transform .3s ease;
}
.cal-hero-dots--home .cal-hero-dot:hover,
.cal-hero-dots--home .cal-hero-dot:focus-visible {
  transform: translateY(-1px);
  outline: none;
}
.cal-hero-dots--home .cal-hero-dot.is-active {
  background: #fff;
}
.cal-full-menu-btn {
  position: absolute;
  left: 18%;
  top: 58%;
  transform: translate(-50%, -50%);
  background: #070707;
  color: #fff;
  border-radius: 8px;
  padding: 10px 20px;
  font-weight: 700;
}
.cal-hero-slide-btn {
  position: static;
  transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cal-announcement {
  background: var(--cal-blue);
  padding-bottom: 12px;
}
.cal-announcement-pill {
  background: var(--cal-green);
  color: #fff;
  border-radius: 8px;
  text-align: center;
  padding: 12px 14px;
  font-size: 18px;
}
.cal-hours-cta-wrap { text-align: center; padding-top: 10px; }
.cal-hours-cta {
  background: #ebebeb;
  color: #454545;
  border-radius: 5px;
  padding: 8px 16px;
  font-size: 17px;
  font-weight: 600;
  display: inline-block;
}
.cal-hours-inline {
  margin-top: 12px;
  background: #f3f4f6;
  border-radius: 11px;
  border: 1px solid #d6d9de;
  padding: 12px;
}
.cal-hours-grid {
  display: grid;
  gap: 8px;
}
.cal-hours-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e0e4ea;
  color: #1c2b3b;
  font-size: 14px;
}
.cal-hours-item span {
  font-weight: 600;
}
.cal-hours-item strong {
  font-weight: 700;
}
.cal-hours-item.is-today {
  border-color: var(--cal-green);
  box-shadow: 0 0 0 1px rgba(47, 135, 72, .18) inset;
}
.cal-hours-inline .cal-hours-note {
  margin: 10px 2px 2px;
  color: #5d6e82;
  font-size: 12px;
}
.cal-category-strip {
  background: #ececec;
}
.cal-category-row {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  justify-content: center;
  width: fit-content;
  min-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2px;
  padding-right: 2px;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.cal-category-row::-webkit-scrollbar { display: none; }
.cal-category-card {
  min-width: 130px;
  background: #f5f5f5;
  border-radius: 12px;
  border: 1px solid #e4e4e4;
  padding: 10px;
  text-align: center;
  color: #191919;
}
html:not([data-store-theme="wizardz"]) .cal-category-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
.cal-category-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
html:not([data-store-theme="wizardz"]) .cal-category-img > .app-media-picture {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cal-category-img img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
}
.cal-category-name {
  font-weight: 700;
  font-size: 18px;
}
html:not([data-store-theme="wizardz"]) .cal-category-name {
  width: 100%;
  margin: 0;
  text-align: center;
  line-height: 1.2;
}
.cal-category-card.is-view-all {
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-blue, #8f1712) 14%, #fff 86%) 0%, #fff 100%);
  border-color: color-mix(in srgb, var(--cal-blue, #8f1712) 25%, #e4e4e4 75%);
}
.cal-category-card.is-view-all .cal-category-img svg {
  width: 52%;
  height: 52%;
  color: color-mix(in srgb, var(--cal-blue, #8f1712) 82%, #fff 18%);
}

/* ---------- Brands UX (Plugin Replica) ---------- */
:root {
  --kkpb-accent: #d03a31;
  --kkpb-hover: #111;
}
.kkpb-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 12px 140px;
}
.kkpb-breadcrumbs {
  margin: 4px 0 10px;
  font-size: 14px;
}
.kkpb-breadcrumbs a {
  color: #1e3348;
}
.kkpb-banner {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  margin: 8px 0 16px;
}
.kkpb-banner img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}
.kkpb-banner:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.45) 100%);
}
.kkpb-banner .kkpb-banner-title {
  position: absolute;
  left: 16px;
  bottom: 12px;
  color: #fff;
  font-weight: 700;
  font-size: 22px;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
  z-index: 2;
}
.kkpb-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 6px 2px;
  margin: 4px 0 10px;
}
.kkpb-toolbar input[type=search] {
  flex: 1;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  margin: 0;
}
.kkpb-toolbar select {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  background: #fff;
  margin: 0;
}
.kkpb-pills {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(6px);
  padding: 8px 4px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  margin-bottom: 10px;
}
.kkpb-pills .kkpb-track {
  display: flex;
  gap: 8px;
  overflow: auto;
  padding: 2px 6px;
  scrollbar-width: none;
}
.kkpb-pills .kkpb-track::-webkit-scrollbar { display: none; }
.kkpb-pills .pill {
  white-space: nowrap;
  border-radius: 999px;
  border: 1px solid var(--kkpb-accent);
  padding: 8px 14px;
  font-weight: 600;
  font-size: 14px;
  color: #111;
  flex: 0 0 auto;
  background: #fff;
  text-decoration: none;
}
.kkpb-pills .pill.is-active {
  background: var(--kkpb-accent);
  color: #fff;
}
.kkpb-grid {
  display: grid;
  gap: 12px;
}
.kkpb-card {
  position: relative;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  --kkpb-card-accent: var(--kkpb-accent);
}
.kkpb-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.1);
  border-color: var(--kkpb-card-accent);
}
.kkpb-card .hero {
  position: relative;
  height: 120px;
  background: #f4f4f5;
  overflow: hidden;
}
.kkpb-card .hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.kkpb-card .logo {
  position: absolute;
  left: 12px;
  bottom: 8px;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 3px solid #fff;
  overflow: hidden;
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
}
.kkpb-card .logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kkpb-card .meta {
  padding: 12px;
}
.kkpb-card .brand {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 2px;
}
.kkpb-card .cats {
  opacity: .75;
  font-size: 12px;
}
.kkpb-card a.kkpb-hit {
  position: absolute;
  inset: 0;
  text-indent: -9999px;
  z-index: 4;
}
.kkpb-card .glow {
  position: absolute;
  inset: -2px;
  border-radius: 16px;
  background: conic-gradient(from 0deg, var(--kkpb-card-accent), transparent 30%, var(--kkpb-card-accent) 60%, transparent 85%);
  filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  animation: kkpb-rot 6s linear infinite;
}
.kkpb-card:hover .glow {
  opacity: .45;
}
@keyframes kkpb-rot {
  to { transform: rotate(1turn); }
}
.kkpb-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 28%;
  gap: 8px;
  overflow: auto;
  padding: 10px 12px 14px;
}
.kkpb-strip .tile {
  background: #fafafa;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.06);
  overflow: hidden;
  min-height: 100px;
}
.kkpb-strip .tile img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  display: block;
}
.kkpb-card.is-oos {
  opacity: .7;
}
.kkpb-card.is-oos .kkpb-strip {
  display: none;
}
.kkpb-more-wrap {
  display: none;
  text-align: center;
  margin: 8px 0 24px;
}
.kkpb-more-toggle {
  border: 1px solid #e5e7eb;
  background: #fff;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  color: #111;
}

.cal-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  margin-bottom: 6px;
  font-size: 16px;
  flex-wrap: nowrap;
  white-space: nowrap;
  min-width: 0;
}
.cal-breadcrumb > * {
  flex: 0 0 auto;
  white-space: nowrap;
}
.cal-breadcrumb a {
  color: var(--cal-store-primary-text);
}
.cal-breadcrumb span {
  opacity: .72;
  color: var(--cal-store-muted);
}
.cal-breadcrumb strong {
  font-weight: 600;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.product-page main.container {
  padding-top: 18px;
}
.product-breadcrumb {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  padding: 10px 13px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 78%, var(--cal-blue) 22%);
  border-radius: 12px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-panel-start) 96%, var(--cal-page)) 0%, color-mix(in srgb, var(--cal-panel-end) 92%, var(--cal-page)) 100%);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--cal-blue-dark) 14%, transparent);
}

.cal-filter-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 6px;
  margin-bottom: 8px;
}
.cal-filter-chip,
.cal-sort-chip {
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  background: #f4f4f4;
  min-height: 48px;
  display: flex;
  align-items: center;
}
.cal-filter-chip > summary {
  list-style: none;
  width: 100%;
  cursor: pointer;
  padding: 12px 14px;
  font-weight: 600;
}
.cal-filter-chip > summary::-webkit-details-marker { display: none; }
.cal-sort-chip {
  padding: 0 12px;
  justify-content: flex-start;
  font-weight: 500;
  gap: 8px;
  min-width: 0;
}
.cal-sort-label {
  font-size: 13px;
  font-weight: 700;
  color: #2a425d;
  white-space: nowrap;
  flex: 0 0 auto;
}
.cal-sort-chip select {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  font-size: 15px;
  color: #1d3047;
  font-weight: 500;
  appearance: none;
  -webkit-appearance: none;
  padding-right: 18px;
  background-image: linear-gradient(45deg, transparent 50%, #334f6b 50%), linear-gradient(135deg, #334f6b 50%, transparent 50%);
  background-position: calc(100% - 10px) calc(50% - 2px), calc(100% - 5px) calc(50% - 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.cal-sort-apply {
  min-height: 34px;
  padding: 6px 10px;
  white-space: nowrap;
  font-size: 13px;
}
.cal-filter-pop {
  position: absolute;
  z-index: 30;
  margin-top: 52px;
  left: 0;
  width: min(92vw, 360px);
  background: #fff;
  border: 1px solid #e2e8ef;
  border-radius: 10px;
  padding: 10px;
  box-shadow: 0 10px 24px rgba(20, 36, 51, .14);
}
.cal-filter-chip {
  position: relative;
}

.cal-order-again-widget {
  margin: 6px 0 12px;
  background: #fff;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  padding: 8px;
}
.cal-order-again-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.cal-order-again-head h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1;
  letter-spacing: -.01em;
}
.cal-order-again-arrows {
  display: inline-flex;
  gap: 4px;
}
.cal-order-again-arrow {
  width: 28px;
  height: 28px;
  min-height: 28px;
  border-radius: 7px;
  border: 1px solid #d7e0e8;
  background: #fff;
  color: #1f2f43;
  font-size: 15px;
  line-height: 1;
  padding: 0;
}
.cal-order-again-scroll {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(130px, 142px);
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.cal-order-again-card {
  position: relative;
  border: 1px solid #dfe5ec;
  border-radius: 10px;
  padding: 6px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.cal-order-again-card.is-out-of-stock {
  border-color: #f0c9c9;
  box-shadow: inset 0 0 0 1px rgba(188, 54, 54, .06);
}
.cal-order-again-ribbon {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, #d84f4f 0%, #b72f2f 100%);
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  box-shadow: 0 10px 18px rgba(172, 44, 44, .22);
}
.cal-order-again-image {
  display: block;
  width: 100%;
}
.cal-order-again-image-button {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.cal-order-again-image img,
.cal-order-again-image-fallback {
  width: 100%;
  aspect-ratio: 1.8 / 1;
  border-radius: 8px;
  object-fit: cover;
  background: #eff3f7;
  display: grid;
  place-items: center;
  color: #70849a;
  font-size: 11px;
}
.cal-order-again-card h3 {
  margin: 1px 0 0;
  font-size: 12px;
  line-height: 1.15;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 28px;
}
.cal-order-again-price {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: #1b2d42;
}
.cal-order-again-widget .subtle {
  display: none;
}
.cal-order-again-meta {
  margin: 0;
  font-size: 9px;
  color: #4f6479;
}
.cal-order-again-form {
  margin-top: auto;
}
.cal-order-again-form button,
.cal-order-again-link {
  width: 100%;
  min-height: 28px;
  border-radius: 8px;
  font-size: 11px;
}
.cal-order-again-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cal-order-again-link.is-disabled-look,
.cal-order-again-image-button {
  cursor: not-allowed;
}
.cal-order-again-link.is-disabled-look {
  border-color: #f0c9c9;
  background: linear-gradient(180deg, #fff4f4 0%, #ffe8e8 100%);
  color: #a33c3c;
}
.cal-order-again-feedback {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #f0c9c9;
  background: linear-gradient(180deg, #fff4f4 0%, #ffebeb 100%);
  color: #9f3636;
  font-size: 12px;
  font-weight: 700;
}

/* ---------- Shared Panels / Commerce ---------- */
.panel {
  background: linear-gradient(180deg, var(--cal-panel-start) 0%, var(--cal-panel-end) 100%);
  border: 1px solid var(--cal-border);
  border-radius: var(--cal-radius);
  padding: 16px;
  margin: 16px 0;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.product-card {
  border: 1px solid #d9e0e7;
  border-radius: 12px;
  background: #fff;
  padding: 13px;
}
.product-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 10px;
}
.banner-image {
  width: 100%;
  border-radius: 10px;
  max-height: 420px;
  object-fit: cover;
}
.price {
  font-size: 20px;
  font-weight: 700;
  margin: 6px 0;
  color: var(--cal-blue-ink);
}
body.product-page .product-detail-panel > .product-detail-grid > div:last-child > .price,
body.product-page .product-detail-panel > .product-detail-grid > div:last-child > .price strong {
  color: #ffffff;
}
.shop-add-row {
  display: grid;
  grid-template-columns: 124px 1fr;
  gap: 10px;
  align-items: center;
}
.product-detail-panel .shop-add-row {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 82%, var(--cal-blue) 18%);
  border-radius: 14px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-panel-start) 97%, var(--cal-page)) 0%, color-mix(in srgb, var(--cal-panel-end) 95%, var(--cal-page)) 100%);
  box-shadow: 0 12px 26px color-mix(in srgb, var(--cal-blue-dark) 12%, transparent);
}
.product-detail-panel .shop-add-row .shop-sticky-product-card {
  display: none;
}
.product-detail-panel .shop-add-row .shop-sticky-main {
  display: grid;
  grid-template-columns: minmax(94px, 108px) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  grid-column: 1 / -1;
}
.product-detail-panel .shop-add-row .shop-sticky-main.is-single-action {
  grid-template-columns: minmax(0, 1fr);
}
.product-detail-panel .shop-add-row .shop-qty-stepper {
  min-height: 50px;
  border-width: 2px;
  border-radius: 18px;
  border-color: color-mix(in srgb, var(--cal-store-primary-border) 64%, var(--cal-store-border) 36%);
  background: linear-gradient(180deg, rgba(18, 10, 10, .98) 0%, rgba(10, 7, 7, .98) 100%);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--cal-blue-dark) 18%, transparent);
}
.product-detail-panel .shop-add-row .shop-qty-btn {
  min-height: 100%;
  border-radius: 0;
  background: transparent;
}
.product-detail-panel .shop-add-row button[type="submit"],
.product-detail-panel .shop-add-row .button,
.product-detail-panel .shop-add-row button[data-kit-open] {
  width: 100%;
  min-height: 48px;
  padding: 11px 16px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .01em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 26px color-mix(in srgb, var(--cal-blue-dark) 20%, transparent);
}
.product-detail-panel .shop-add-row button[type="submit"] .add-label-main,
.product-detail-panel .shop-add-row .button .add-label-main,
.product-detail-panel .shop-add-row button[data-kit-open] .add-label-main {
  font-size: 14px;
  font-weight: 900;
}
.product-detail-panel .shop-add-row button[type="submit"] .add-label-price,
.product-detail-panel .shop-add-row .button .add-label-price,
.product-detail-panel .shop-add-row button[data-kit-open] .add-label-price {
  font-size: 14px;
  font-weight: 800;
}
.product-wallet-shell {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 78%, var(--cal-blue) 22%);
  border-radius: 16px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-panel-start) 98%, var(--cal-page)) 0%, color-mix(in srgb, var(--cal-panel-end) 96%, var(--cal-page)) 100%);
}
.product-wallet-head {
  display: grid;
  gap: 4px;
}
.product-wallet-head strong {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cal-store-primary);
}
.product-wallet-head span,
.product-wallet-placeholder,
.product-wallet-note {
  font-size: 13px;
  line-height: 1.5;
  color: var(--cal-store-muted);
}
.product-wallet-placeholder {
  padding: 10px 12px;
  border: 1px dashed color-mix(in srgb, var(--cal-store-border) 72%, var(--cal-blue) 28%);
  border-radius: 14px;
  background: color-mix(in srgb, var(--cal-panel-start) 92%, transparent);
}
.product-wallet-mount {
  min-height: 50px;
}
.product-wallet-error {
  margin: 0;
}
.shop-sticky-option-wrap {
  display: none;
}
.shop-sticky-collapse-toggle {
  display: none;
}
.shop-sticky-main {
  display: contents;
}
.shop-sticky-option-label {
  display: block;
  margin: 0 0 4px;
  font-size: 12px;
  color: var(--cal-store-muted);
  font-weight: 700;
}
.shop-sticky-option-select {
  width: 100%;
  min-height: 42px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 72%, var(--cal-blue) 28%);
  border-radius: 10px;
  padding: 0 10px;
  background: rgba(12, 9, 9, .98);
  font-size: 14px;
  color: var(--cal-store-ink);
}
.shop-qty {
  margin: 0;
  min-height: 44px;
  text-align: center;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--cal-store-primary-text);
  font-size: 18px;
  font-weight: 900;
}
.shop-qty-stepper {
  display: grid;
  grid-template-columns: 42px minmax(40px, 1fr) 42px;
  align-items: center;
  gap: 0;
  border: 2px solid color-mix(in srgb, var(--cal-store-primary-border) 64%, var(--cal-store-border) 36%);
  border-radius: 18px;
  min-height: 48px;
  background: linear-gradient(180deg, rgba(18, 10, 10, .99) 0%, rgba(10, 7, 7, .98) 100%);
  padding: 0 8px;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--cal-blue-dark) 18%, transparent);
}
.shop-qty-btn {
  border: 0;
  background: transparent;
  color: var(--cal-store-primary-text);
  font-weight: 800;
  font-size: 26px;
  border-radius: 0;
  min-height: 42px;
  line-height: 1;
  cursor: pointer;
}
.shop-qty-btn:hover,
.shop-qty-btn:focus-visible {
  color: color-mix(in srgb, var(--cal-store-primary-border) 82%, #000 18%);
  outline: none;
}
.shop-qty-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.shop-product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.shop-product-card {
  padding: 11px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 100%;
}
.shop-product-card .product-image {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  margin-bottom: 4px;
}
body.shop-page .shop-product-card .product-image-link {
  overflow: hidden;
}
body.shop-page .shop-product-card .product-image {
  transition: opacity .22s ease, transform .3s ease;
}
body.shop-page .shop-product-card:hover .product-image:not(.product-image-secondary):not(.product-image-video),
body.shop-page .shop-product-card:focus-within .product-image:not(.product-image-secondary):not(.product-image-video) {
  transform: scale(1.05);
}
body.shop-page .shop-product-card:hover .product-image-link.has-hover-image .product-image-secondary,
body.shop-page .shop-product-card:focus-within .product-image-link.has-hover-image .product-image-secondary {
  transform: scale(1.05);
}
.shop-product-card h3 {
  margin: 2px 0 0;
  font-size: 17px;
  line-height: 1.25;
}
.shop-product-card .shop-product-meta {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}
.shop-product-desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  color: #3c4f63;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.shop-product-card .price {
  font-size: 18px;
  margin: 4px 0 0;
}
.shop-product-card .price del {
  opacity: .56;
  margin-right: 6px;
}
.shop-product-card .price strong {
  font-size: 18px;
  font-weight: 800;
}
.shop-deal-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 7px;
  padding: 3px 9px 3px 6px;
  border-radius: 999px;
  border: 1px solid #cde6d7;
  background: linear-gradient(90deg, #f6fbf8 0%, #edf8f2 100%);
  color: #1f7a3b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  vertical-align: middle;
}
.shop-deal-tag-icon {
  width: 15px;
  height: 15px;
  border-radius: 999px;
  background: #1f7a3b;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.shop-deal-tag-icon svg {
  width: 9px;
  height: 9px;
  fill: currentColor;
}
.shop-deal-tag-label {
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
}
.shop-product-card .subtle {
  margin: 0;
}
.shop-product-card .button,
.shop-product-card button {
  width: 100%;
  min-height: 40px;
  font-size: 14px;
  border-radius: 10px;
  white-space: nowrap;
}
.shop-product-card .shop-add-row {
  margin-top: auto;
  grid-template-columns: minmax(108px, 120px) minmax(0, 1fr);
}
.shop-product-card .shop-qty {
  min-height: 40px;
}
.shop-product-card .shop-add-row button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 6px;
  font-weight: 800;
}
.mobile-add-dock {
  display: none;
}

/* Desktop CTA refresh: premium, consistent, and readable across PDP/PLP cards. */
@media (min-width: 761px) {
  :root {
    --cal-cta-primary: var(--cal-blue);
    --cal-cta-primary-strong: var(--cal-blue-dark);
    --cal-cta-primary-soft: color-mix(in srgb, var(--cal-blue) 82%, #fff 18%);
    --cal-cta-text: #fff8f7;
    --cal-cta-focus: color-mix(in srgb, var(--cal-blue) 28%, transparent);
  }
  /* Optional desktop CTA tone variants:
     - body.cta-tone-minimal
     - body.cta-tone-luxe
     - body.cta-tone-contrast
     Default above uses the "luxe" palette. */
  body.cta-tone-minimal {
    --cal-cta-primary: color-mix(in srgb, var(--cal-blue) 72%, #fff 28%);
    --cal-cta-primary-strong: var(--cal-blue-dark);
    --cal-cta-primary-soft: color-mix(in srgb, var(--cal-blue) 56%, #fff 44%);
    --cal-cta-text: #fff3f0;
    --cal-cta-focus: color-mix(in srgb, var(--cal-blue) 24%, transparent);
  }
  body.cta-tone-luxe {
    --cal-cta-primary: var(--cal-blue);
    --cal-cta-primary-strong: var(--cal-blue-dark);
    --cal-cta-primary-soft: color-mix(in srgb, var(--cal-blue) 82%, #fff 18%);
    --cal-cta-text: #fff8f7;
    --cal-cta-focus: color-mix(in srgb, var(--cal-blue) 28%, transparent);
  }
  body.cta-tone-contrast {
    --cal-cta-primary: color-mix(in srgb, var(--cal-blue-dark) 86%, #120504 14%);
    --cal-cta-primary-strong: color-mix(in srgb, var(--cal-blue-dark) 94%, #000 6%);
    --cal-cta-primary-soft: color-mix(in srgb, var(--cal-blue) 68%, #fff 32%);
    --cal-cta-text: #ffffff;
    --cal-cta-focus: color-mix(in srgb, var(--cal-blue) 34%, transparent);
  }

  .product-detail-panel .shop-add-row .shop-sticky-main {
    width: 100%;
    min-width: 0;
    display: grid !important;
    grid-template-columns: minmax(94px, 108px) minmax(0, 1fr);
  }

  .shop-product-card .shop-add-row,
  .product-detail-panel .shop-add-row {
    align-items: stretch;
  }

  .shop-product-card .shop-add-row button[type="submit"],
  .shop-product-card .shop-add-row .button,
  .shop-product-card .shop-product-action > .button,
  .product-detail-panel .shop-add-row button[type="submit"],
  .product-detail-panel .shop-add-row .button,
  .product-detail-panel .shop-add-row button[data-kit-open] {
    position: relative;
    overflow: hidden;
    min-width: 0;
    width: 100%;
    min-height: 48px;
    padding-inline: 14px;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--cal-cta-primary-soft) 52%, var(--cal-cta-primary-strong) 48%);
    background:
      radial-gradient(140% 160% at 12% 0%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 42%),
      linear-gradient(180deg, var(--cal-cta-primary-soft) 0%, var(--cal-cta-primary) 56%, var(--cal-cta-primary-strong) 100%);
    color: var(--cal-cta-text);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.22),
      0 8px 18px rgba(17, 45, 78, .24);
    text-shadow: 0 1px 1px rgba(8, 24, 42, .35);
    transition: transform .14s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease;
  }

  .shop-product-card .shop-add-row button[type="submit"]:hover,
  .shop-product-card .shop-add-row .button:hover,
  .shop-product-card .shop-product-action > .button:hover,
  .product-detail-panel .shop-add-row button[type="submit"]:hover,
  .product-detail-panel .shop-add-row .button:hover,
  .product-detail-panel .shop-add-row button[data-kit-open]:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--cal-cta-primary-soft) 62%, #0d2743 38%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.24),
      0 12px 24px rgba(17, 45, 78, .28);
    filter: saturate(1.05);
  }

  .shop-product-card .shop-add-row button[type="submit"]:active,
  .shop-product-card .shop-add-row .button:active,
  .shop-product-card .shop-product-action > .button:active,
  .product-detail-panel .shop-add-row button[type="submit"]:active,
  .product-detail-panel .shop-add-row .button:active,
  .product-detail-panel .shop-add-row button[data-kit-open]:active {
    transform: translateY(0);
    box-shadow:
      inset 0 2px 0 rgba(0,0,0,.14),
      0 6px 14px rgba(17, 45, 78, .2);
    filter: brightness(.98);
  }

  .shop-product-card .shop-add-row button[type="submit"]:focus-visible,
  .shop-product-card .shop-add-row .button:focus-visible,
  .shop-product-card .shop-product-action > .button:focus-visible,
  .product-detail-panel .shop-add-row button[type="submit"]:focus-visible,
  .product-detail-panel .shop-add-row .button:focus-visible,
  .product-detail-panel .shop-add-row button[data-kit-open]:focus-visible {
    outline: none;
    box-shadow:
      0 0 0 3px var(--cal-cta-focus),
      inset 0 1px 0 rgba(255,255,255,.24),
      0 10px 20px rgba(17, 45, 78, .24);
  }

  .shop-product-card .shop-add-row button[type="submit"] .add-label-main,
  .product-detail-panel .shop-add-row button[type="submit"] .add-label-main,
  .product-detail-panel .shop-add-row .button .add-label-main {
    font-weight: 800;
    letter-spacing: .01em;
    color: #eef5ff;
    opacity: .96;
    line-height: 1.1;
  }

  .shop-product-card .shop-add-row button[type="submit"] .add-label-price,
  .product-detail-panel .shop-add-row button[type="submit"] .add-label-price,
  .product-detail-panel .shop-add-row .button .add-label-price {
    font-weight: 900;
    color: #ffffff;
    margin-left: 6px;
    text-shadow: 0 1px 1px rgba(7, 19, 34, .42);
  }

  .shop-product-card .shop-add-row button[type="submit"]:disabled,
  .shop-product-card .shop-add-row .button:disabled,
  .product-detail-panel .shop-add-row button[type="submit"]:disabled,
  .product-detail-panel .shop-add-row .button:disabled,
  .product-detail-panel .shop-add-row button[data-kit-open]:disabled {
    border-color: #c9d6e5;
    background: linear-gradient(180deg, #d9e4f1 0%, #c3d2e4 100%);
    color: #5f7590;
    text-shadow: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
    cursor: not-allowed;
    transform: none;
    filter: grayscale(.12);
  }
}

@media (max-width: 760px) {
  .mobile-add-dock {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8px);
    z-index: 1080;
    display: none;
    border: 1px solid rgba(157, 182, 222, .44);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(247, 251, 255, .98) 0%, rgba(238, 246, 255, .98) 100%);
    box-shadow: 0 18px 30px rgba(9, 24, 47, .22);
    padding: 8px;
    gap: 7px;
  }
  .mobile-add-dock.is-active {
    display: grid;
  }
  .mobile-add-dock-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
  }
  .mobile-add-dock-title {
    color: #17304d;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .mobile-add-dock-price {
    color: #2e4f74;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }
  .mobile-add-dock-main {
    display: grid;
    grid-template-columns: minmax(104px, 116px) minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
  }
  .mobile-add-dock .shop-qty-stepper {
    min-height: 42px;
    border-radius: 12px;
    border-color: #e6d1cb;
    background: #fff3f0;
  }
  .mobile-add-dock .shop-qty {
    font-size: 18px;
  }
  .mobile-add-dock-submit {
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid #1e4f84;
    background: linear-gradient(180deg, #d03a31 0%, #8f1712 100%);
    color: #f6fbff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .01em;
  }
  .mobile-add-dock-submit:disabled {
    opacity: .74;
  }
}
.product-detail-panel {
  padding: 16px;
}
.product-related-panel {
  padding: 16px;
}
.product-related-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.product-related-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cal-blue) 16%, transparent);
  color: color-mix(in srgb, var(--cal-blue) 68%, #fff 32%);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.product-related-head h2 {
  margin: 8px 0 4px;
  font-size: 28px;
  color: var(--cal-store-ink);
}
.product-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.product-related-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.product-related-card .button {
  margin-top: auto;
}
body.product-page .product-related-card {
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 76%, var(--cal-store-primary-border) 24%);
  border-radius: 18px;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--cal-store-primary) 14%, transparent) 0%, transparent 46%),
    linear-gradient(180deg, color-mix(in srgb, var(--cal-panel-start) 92%, #090606 8%) 0%, color-mix(in srgb, var(--cal-panel-end) 94%, #120807 6%) 100%);
  box-shadow: 0 18px 34px color-mix(in srgb, #000 24%, transparent);
}
body.product-page .product-related-card .product-image-link {
  display: block;
  overflow: hidden;
  padding: 6px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 70%, var(--cal-store-primary-border) 30%);
  background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%);
}
body.product-page .product-related-card .product-image {
  margin-bottom: 0;
  border-radius: 10px;
  background: rgba(12, 8, 8, .9);
}
body.product-page .product-related-card h3,
body.product-page .product-related-card h3 a {
  color: color-mix(in srgb, #fff4ee 92%, var(--cal-store-primary) 8%);
}
body.product-page .product-related-card .shop-product-meta {
  color: color-mix(in srgb, var(--cal-store-muted) 72%, #f2d7cf 28%);
}
body.product-page .product-related-card .shop-product-desc,
body.product-page .product-related-card .subtle {
  color: color-mix(in srgb, var(--cal-store-muted) 62%, #f4ddd5 38%);
}
body.product-page .product-related-card .price {
  color: color-mix(in srgb, #fff6f1 88%, var(--cal-store-primary) 12%);
}
body.product-page .product-related-card .price strong {
  color: #fff7f3;
}
body.product-page .product-related-card .button {
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--cal-store-primary-border) 68%, #f3c7bc 32%);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--cal-store-primary) 74%, #e38a74 26%) 0%, color-mix(in srgb, var(--cal-blue) 82%, #4c1311 18%) 100%);
  color: #fff8f5;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 12px 24px color-mix(in srgb, var(--cal-blue-dark) 32%, transparent);
}
body.product-page .product-related-card .button:hover,
body.product-page .product-related-card .button:focus-visible {
  filter: brightness(1.05) saturate(1.04);
  text-decoration: none;
}
.product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: 16px;
}
.product-detail-image {
  width: 100%;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 82%, var(--cal-blue) 18%);
  object-fit: cover;
  background: color-mix(in srgb, var(--cal-panel-start) 94%, var(--cal-page) 6%);
}
.product-detail-video {
  background: #0f1622;
  object-fit: contain;
}
.product-gallery-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.product-gallery-thumb {
  border: 2px solid transparent;
  border-radius: 12px;
  background: color-mix(in srgb, var(--cal-panel-start) 96%, var(--cal-page) 4%);
  position: relative;
  padding: 0;
  width: 64px;
  height: 64px;
  min-width: 64px;
  overflow: hidden;
  cursor: pointer;
}
.product-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.product-gallery-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.product-gallery-video-thumb {
  position: absolute;
  inset: 0;
  display: block;
  background: radial-gradient(circle at 28% 22%, #2d4766, #12243a 62%);
}
.product-gallery-video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.55;
}
.product-gallery-video-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 18, 31, 0.08), rgba(8, 18, 31, 0.52));
}
.product-gallery-video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 13px;
  color: #fff;
  background: rgba(9, 20, 34, 0.86);
  border: 1px solid rgba(255, 255, 255, 0.36);
  padding-left: 1px;
}
.product-gallery-video-badge {
  position: absolute;
  right: 4px;
  bottom: 4px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  border-radius: 999px;
  padding: 3px 6px;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
}
.product-gallery-thumb.is-active {
  border-color: var(--cal-green);
}
.product-image-link {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(180deg, #fff8f7 0%, #fff1ee 100%);
}
.product-image-link .product-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: opacity .22s ease, transform .22s ease;
}
.product-image-link .product-image-video {
  display: block;
  background: #091422;
}
.product-image-link .product-image-secondary {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.product-image-video-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(8, 18, 32, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.product-image-link.has-hover-image:hover .product-image-secondary,
.product-image-link.has-hover-image:focus-visible .product-image-secondary {
  opacity: 1;
  transform: scale(1.02);
}
.product-image-link.has-hover-image:hover .product-image:not(.product-image-secondary),
.product-image-link.has-hover-image:focus-visible .product-image:not(.product-image-secondary) {
  opacity: 0;
}
.product-genetics-block {
  margin: 4px 0 10px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 78%, var(--cal-blue) 22%);
  border-radius: 14px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-panel-start) 96%, var(--cal-page) 4%) 0%, color-mix(in srgb, var(--cal-panel-end) 94%, var(--cal-page) 6%) 100%);
}
.product-genetics-title {
  font-size: 14px;
  font-weight: 800;
  color: var(--cal-store-ink);
}
.product-genetics-notes {
  margin-top: 4px;
  font-size: 13px;
  color: var(--cal-store-muted);
  line-height: 1.45;
}
.product-meta-line strong,
.product-meta-line strong a {
  font-weight: 800;
}
.product-meta-line {
  margin-bottom: 8px;
}
.product-option-pills {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin: 8px 0 10px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 2px;
}
.product-option-pill {
  display: inline-flex;
  flex: 0 0 auto;
  cursor: pointer;
}
.product-option-pill input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.product-option-pill span {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  border: 1px solid color-mix(in srgb, var(--cal-store-border) 78%, var(--cal-blue) 22%);
  border-radius: 999px;
  padding: 8px 14px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-panel-start) 96%, #080606 4%) 0%, color-mix(in srgb, var(--cal-panel-end) 94%, #050404 6%) 100%);
  color: var(--cal-store-ink);
  line-height: 1.2;
}
.product-option-pill span strong {
  font-size: 14px;
  font-weight: 700;
}
.product-option-pill input:checked + span {
  border-color: color-mix(in srgb, var(--cal-blue) 72%, #fff 28%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-blue) 88%, black) 0%, var(--cal-blue-dark) 100%);
  color: #fff8f2;
}
.product-option-pill input:disabled + span {
  opacity: .5;
}
.product-option-summary {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--cal-store-muted);
}
.product-deal-banner {
  margin: 0 0 12px;
  border: 1px solid #cde6d7;
  border-radius: 12px;
  background: linear-gradient(90deg, #f6fbf8 0%, #edf8f2 100%);
  padding: 8px 10px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  color: #16344f;
  text-decoration: none;
}
.product-deal-banner:hover {
  border-color: #a6d1b6;
  text-decoration: none;
}
.product-deal-icon {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #1f7a3b;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.product-deal-icon svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
.product-deal-copy {
  display: grid;
  gap: 1px;
}
.product-deal-copy strong {
  font-size: 13px;
  color: #173451;
  line-height: 1.25;
}
.product-deal-copy small {
  font-size: 11px;
  color: #3f5f7e;
  font-weight: 600;
  line-height: 1.25;
}
.product-deal-cta {
  border: 1px solid #b8d6c5;
  border-radius: 999px;
  background: #fff;
  color: #1f7a3b;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.product-warning-card {
  margin: 0 0 12px;
  border: 1px solid #e2d7ba;
  border-radius: 12px;
  background: #fffdf7;
  overflow: hidden;
}
.product-warning-card summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  gap: 2px;
  padding: 11px 12px;
  background: #fff7e6;
  border-bottom: 1px solid #efe3c8;
}
.product-warning-card summary::-webkit-details-marker { display: none; }
.product-warning-card summary strong {
  color: #8a5a09;
  font-size: 14px;
}
.product-warning-card summary span {
  color: #5f4a23;
  font-size: 13px;
  font-weight: 600;
}
.product-warning-copy {
  padding: 10px 12px;
  color: #4e4020;
  font-size: 13px;
  line-height: 1.5;
}
.product-warning-copy p {
  margin: 0 0 9px;
}
.product-warning-copy p:last-child {
  margin-bottom: 0;
}
.product-warning-copy a {
  color: #1d4b7a;
  font-weight: 700;
}
.product-tax-card {
  border: 1px solid #d4dbe3;
  border-radius: 12px;
  background: #eef3fb;
  padding: 12px;
  margin: 12px 0 14px;
}
.product-tax-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.product-tax-card-head h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: #1a3552;
}
.product-tax-profile-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid #c7d7ee;
  border-radius: 999px;
  padding: 4px 10px;
  background: #ffffff;
  color: #2d4f73;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.product-tax-list {
  display: grid;
  gap: 8px;
}
.product-tax-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #d7e2f1;
  border-radius: 10px;
  background: #fff;
  padding: 9px 10px;
}
.product-tax-row-label {
  color: #2b4663;
  font-size: 14px;
  font-weight: 600;
}
.product-tax-rate-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid #b8d7c2;
  border-radius: 999px;
  padding: 3px 10px;
  background: #e8f4ee;
  color: #1f7a3b;
  font-size: 12px;
  font-weight: 800;
}
.product-tax-rate-pill.is-exempt {
  border-color: #dccfd0;
  background: #f8ecec;
  color: #7d2f35;
}
.product-tax-compare-card {
  display: grid;
  gap: 12px;
  border: 1px solid #d6e0ec;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff8f7 0%, #fff1ee 100%);
  padding: 14px;
  margin: 12px 0 14px;
}
.product-tax-compare-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.product-tax-compare-head h3 {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 800;
  color: #173451;
}
.product-tax-compare-head p {
  margin: 0;
  color: #506b89;
  font-size: 14px;
  line-height: 1.45;
}
.product-tax-compare-open {
  flex: 0 0 auto;
  min-height: 42px;
  border: 1px solid #b8cce4;
  border-radius: 999px;
  background: #fff;
  color: #214a76;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(19, 45, 73, 0.08);
}
.product-tax-compare-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.product-tax-compare-metric {
  display: grid;
  gap: 4px;
  border: 1px solid #d8e3ef;
  border-radius: 14px;
  background: #fff;
  padding: 12px;
}
.product-tax-compare-metric span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #5a728d;
}
.product-tax-compare-metric strong {
  font-size: 26px;
  line-height: 1.05;
  color: #183654;
}
.product-tax-compare-metric small {
  color: #607892;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
.product-tax-compare-metric.is-adult {
  border-color: #cfdff3;
  background: linear-gradient(180deg, #ffffff 0%, #fff3f0 100%);
}
.product-tax-compare-metric.is-medical {
  border-color: #cfe3d4;
  background: linear-gradient(180deg, #ffffff 0%, #f0faf1 100%);
}
.product-tax-compare-foot {
  display: grid;
  gap: 4px;
}
.product-tax-compare-note {
  margin: 0;
  color: #254564;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}
.product-tax-compare-note.is-muted {
  color: #687f96;
  font-size: 13px;
  font-weight: 600;
}
.product-tax-compare-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1398;
  background: rgba(5, 16, 28, 0.56);
  backdrop-filter: blur(6px);
}
.product-tax-compare-backdrop[hidden] {
  display: none !important;
}
.product-tax-compare-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(760px, calc(100% - 40px));
  max-height: min(84vh, 900px);
  overflow: auto;
  z-index: 1399;
  border: 1px solid #d9e3ef;
  border-radius: 24px;
  background: linear-gradient(180deg, #fbfdff 0%, #fff7f5 100%);
  box-shadow: 0 26px 70px rgba(6, 16, 28, 0.3);
  padding: 20px;
}
.product-tax-compare-modal[hidden] {
  display: none !important;
}
body.product-tax-compare-open {
  overflow: hidden;
}
.product-tax-compare-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.product-tax-compare-kicker {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #e7eff8;
  color: #254564;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.product-tax-compare-modal-head h3 {
  margin: 0 0 6px;
  font-size: 31px;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #173451;
}
.product-tax-compare-modal-head p {
  margin: 0;
  max-width: 560px;
  color: #5a7188;
  font-size: 15px;
  line-height: 1.5;
}
.product-tax-compare-close {
  width: 42px;
  height: 42px;
  border: 1px solid #d3dde9;
  border-radius: 999px;
  background: #fff;
  color: #1d3d5e;
  font-size: 30px;
  line-height: 1;
  padding: 0;
  display: grid;
  place-items: center;
}
.product-tax-compare-modal-body {
  display: grid;
  gap: 12px;
}
.product-tax-compare-option {
  display: flex;
  justify-content: flex-start;
}
.product-tax-compare-option-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid #cfdcec;
  border-radius: 999px;
  background: #fff;
  color: #2d4f73;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 800;
}
.product-tax-compare-modal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.product-tax-compare-panel {
  display: grid;
  gap: 8px;
  border: 1px solid #d8e2ee;
  border-radius: 18px;
  background: #fff;
  padding: 14px;
  min-height: 0;
}
.product-tax-compare-panel span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5c748e;
}
.product-tax-compare-panel strong {
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #173451;
}
.product-tax-compare-panel small {
  color: #617992;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}
.product-tax-compare-panel.is-adult {
  background: linear-gradient(180deg, #ffffff 0%, #fff3f0 100%);
  border-color: #cfddf0;
}
.product-tax-compare-panel.is-medical {
  background: linear-gradient(180deg, #ffffff 0%, #f0faf1 100%);
  border-color: #d0e3d4;
}
.product-tax-compare-highlight {
  border: 1px solid #e7d2cb;
  border-radius: 14px;
  background: linear-gradient(135deg, #183452 0%, #21486e 100%);
  padding: 12px 14px;
}
.product-tax-compare-highlight strong {
  display: block;
  color: #fff;
  font-size: 18px;
  line-height: 1.2;
  margin-bottom: 4px;
}
.product-tax-compare-highlight p {
  margin: 0;
  color: rgba(255,255,255,0.8);
  font-size: 13px;
  line-height: 1.4;
}
.product-tax-compare-disclaimer {
  margin: 0;
  color: #617991;
  font-size: 13px;
  line-height: 1.5;
}
.product-lineage-card {
  border: 1px solid #d9e6d8;
  border-radius: 12px;
  background: linear-gradient(180deg, #f7fcf6 0%, #eef9f5 100%);
  padding: 12px;
  margin: 12px 0 14px;
}
.product-lineage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.product-lineage-head h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: #1a3552;
}
.product-lineage-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid #b8d6c0;
  border-radius: 999px;
  padding: 4px 10px;
  background: #fff;
  color: #255f36;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.product-lineage-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.product-lineage-metric {
  border: 1px solid #d3e4d8;
  border-radius: 10px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 4px;
}
.product-lineage-metric span {
  color: #4d6780;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.product-lineage-metric strong {
  color: #1f3954;
  font-size: 20px;
  font-weight: 900;
}
.product-lineage-bars {
  display: grid;
  gap: 8px;
}
.product-lineage-bar-row {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 64px;
  gap: 8px;
  align-items: center;
}
.product-lineage-label,
.product-lineage-value {
  font-size: 13px;
  font-weight: 700;
  color: #2d4965;
}
.product-lineage-value {
  text-align: right;
}
.product-lineage-track {
  height: 9px;
  border-radius: 999px;
  background: #dce8ed;
  overflow: hidden;
}
.product-lineage-fill {
  height: 100%;
  border-radius: inherit;
}
.product-lineage-fill.is-indica {
  background: linear-gradient(90deg, #5f74f8 0%, #6a5ede 100%);
}
.product-lineage-fill.is-sativa {
  background: linear-gradient(90deg, #26a46d 0%, #3cbc87 100%);
}
.product-terpene-card {
  border: 1px solid #e6dcc0;
  border-radius: 12px;
  background: linear-gradient(180deg, #fffdf4 0%, #fff8e7 100%);
  padding: 12px;
  margin: 12px 0 14px;
}
.product-terpene-head h3 {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 800;
  color: #1a3552;
}
.product-terpene-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.product-terpene-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #eadcb3;
  background: #fff;
  border-radius: 999px;
  padding: 6px 10px;
}
.product-terpene-chip strong {
  font-size: 13px;
  font-weight: 800;
  color: #3a4f64;
}
.shop-add-row button .add-label-main {
  font-size: 1em;
  font-weight: 700;
}
.shop-add-row button .add-label-price {
  font-size: 1.16em;
  font-weight: 800;
  letter-spacing: .01em;
  margin-left: 4px;
}
.cal-kit-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(4, 10, 18, .5);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
  z-index: 96;
}
.cal-kit-sheet {
  position: fixed;
  left: 50%;
  top: 50%;
  bottom: auto;
  transform: translate3d(-50%, calc(-50% + 44px), 0) scale(.985);
  width: min(920px, calc(100% - 48px));
  max-height: min(82vh, 860px);
  background: #efefef;
  border-radius: 24px;
  border: 1px solid #dadfe6;
  box-shadow: 0 28px 68px rgba(0,0,0,.34);
  z-index: 97;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  will-change: transform, opacity;
  transition: transform .24s ease, opacity .18s ease, visibility 0s linear .24s;
}
body.cal-kit-open {
  overflow: hidden;
}
body.cal-kit-open .cal-kit-backdrop {
  opacity: 1;
  pointer-events: auto;
}
body.cal-kit-open .cal-kit-sheet {
  transform: translate3d(-50%, -50%, 0) scale(1);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: transform .24s ease, opacity .18s ease;
}
.cal-kit-form {
  display: grid;
  gap: 14px;
  padding: 18px 20px 20px;
  margin: 0;
}
.cal-kit-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.cal-kit-head h3 {
  margin: 0;
  font-size: 40px;
  line-height: 1;
  letter-spacing: -.03em;
}
.cal-kit-head p {
  margin: 6px 0 0;
  color: #5f6f80;
  font-weight: 600;
  font-size: 15px;
}
.cal-kit-head button {
  width: 42px;
  height: 42px;
  border: 1px solid #e7d6d1;
  border-radius: 999px;
  background: #fff;
  color: #22384f;
  font-size: 30px;
  line-height: 1;
  padding: 0;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 22px rgba(27, 42, 61, .08);
}
.cal-kit-grid-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) 120px 172px;
  gap: 12px;
  font-size: 12px;
  color: #5f6f80;
  font-weight: 700;
  border: 1px solid #dce1e7;
  background: #f8f8f9;
  border-radius: 12px;
  padding: 10px 14px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.cal-kit-grid-head span:nth-child(2),
.cal-kit-grid-head span:nth-child(3) {
  text-align: center;
}
.cal-kit-items {
  overflow: auto;
  max-height: min(50vh, 520px);
  display: grid;
  gap: 10px;
  padding-right: 2px;
}
.cal-kit-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) 120px 172px;
  gap: 12px;
  align-items: center;
  border: 1px solid #dde2e9;
  background: #fff;
  border-radius: 16px;
  padding: 12px 14px;
  box-shadow: 0 10px 24px rgba(16, 31, 53, .04);
}
.cal-kit-row.is-previewing {
  border-color: #8fb6df;
  background: #fff3f0;
  box-shadow: inset 0 0 0 1px rgba(77, 126, 182, 0.12);
}
.cal-kit-item-meta {
  width: 100%;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
}
.cal-kit-item-meta:focus-visible {
  outline: 2px solid rgba(45, 116, 173, 0.38);
  outline-offset: 3px;
  border-radius: 8px;
}
.cal-kit-thumb {
  width: 68px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  border: 1px solid #d8dde5;
  background: linear-gradient(180deg, #fdfefe 0%, #f3f6fa 100%);
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.cal-kit-thumb[data-empty="1"] {
  background: linear-gradient(180deg, #f9fbfe 0%, #edf2f7 100%);
}
.cal-kit-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 8px;
}
.cal-kit-item-meta.is-active .cal-kit-thumb {
  border-color: #7aa6d8;
  box-shadow: inset 0 0 0 1px rgba(122, 166, 216, .18);
}
.cal-kit-item-label {
  font-weight: 700;
  font-size: 19px;
  color: #1f3348;
  line-height: 1.16;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.cal-kit-price {
  font-weight: 800;
  font-size: 20px;
  color: #243c58;
  justify-self: center;
  text-align: center;
  white-space: nowrap;
}
.cal-kit-qty-wrap {
  display: grid;
  grid-template-columns: 40px minmax(56px, 72px) 40px;
  gap: 10px;
  align-items: center;
  justify-content: end;
}
.cal-kit-qty-btn {
  min-height: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid #d2d9e3;
  background: #f1f3f6;
  color: #22384f;
  font-weight: 700;
  font-size: 20px;
}
.cal-kit-qty-wrap input {
  margin: 0;
  min-height: 40px;
  height: 40px;
  text-align: center;
  padding: 6px 8px;
  border-radius: 12px;
  font-size: 17px;
  font-weight: 700;
}
.cal-kit-submit {
  width: 100%;
  min-height: 56px;
  border-radius: 14px;
  font-size: 18px;
  font-weight: 800;
}
.cal-kit-submit:disabled {
  opacity: .5;
  cursor: not-allowed;
}

label {
  display: block;
  font-size: 14px;
  margin: 8px 0 6px;
  color: #304960;
  font-weight: 600;
}
input, button, select, textarea { font: inherit; }
input, select, textarea {
  width: 100%;
  border: 1px solid #ccd7e1;
  border-radius: 10px;
  padding: 11px;
  margin-bottom: 10px;
  background: #fff;
  font-size: 16px;
}
textarea { min-height: 110px; resize: vertical; }
button, .button {
  border: 1px solid var(--cal-blue-ink);
  border-radius: 11px;
  min-height: 44px;
  padding: 10px 14px;
  background: var(--cal-blue-ink);
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}
.button.secondary { background: var(--cal-blue); border-color: var(--cal-blue); }
button.danger, .button.danger { background: #b91c1c; border-color: #b91c1c; }

.alert { padding: 10px 12px; border-radius: 10px; margin: 12px 0; }
.alert.error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.alert.success { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }

.empty-cart-state {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.empty-cart-state img {
  width: 40px;
  height: 40px;
  opacity: .9;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
th, td {
  text-align: left;
  border-bottom: 1px solid #e4eaf0;
  padding: 10px 8px;
  vertical-align: top;
}
th { color: #223c56; font-weight: 700; }
img.thumb {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #dfe7ee;
}
img.thumb-large {
  width: 220px;
  max-width: 100%;
  border-radius: 10px;
  border: 1px solid #dfe7ee;
}

.badge {
  border-radius: 99px;
  padding: 3px 10px;
  font-size: 12px;
  text-transform: uppercase;
}
.badge-pending { background: #fef9c3; color: #854d0e; }
.badge-approved { background: #dcfce7; color: #166534; }
.badge-rejected { background: #fee2e2; color: #991b1b; }
.badge-suspended { background: #e5e7eb; color: #374151; }

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}
.stat-card {
  background: #fff;
  border: 1px solid #d7e0e8;
  border-radius: 12px;
  padding: 14px;
}
.stat-label { font-size: 13px; color: #66778a; }
.stat-value { font-size: 28px; font-weight: 700; color: #1f3e5c; }
.action-wrap { display: flex; flex-direction: column; gap: 6px; }
.action-wrap form { margin: 0; }

/* ---------- Admin Topbar / Compact UI ---------- */
.admin-topnav-link-icon {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
}
.admin-topnav-link-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.admin-topbar {
  position: sticky;
  top: 0;
  z-index: 5000;
  width: 100%;
  max-width: 100%;
  background:
    radial-gradient(circle at top right, rgba(196, 67, 57, .12), transparent 26%),
    linear-gradient(180deg, color-mix(in srgb, var(--cal-admin-bg-start) 100%, #fff 0%), color-mix(in srgb, var(--cal-admin-bg-mid) 100%, #fff 0%) 58%, color-mix(in srgb, var(--cal-admin-bg-end) 100%, #fff 0%));
  border-bottom: 1px solid rgba(196,67,57,.18);
  box-shadow: 0 12px 28px rgba(122, 44, 37, .08);
  backdrop-filter: blur(16px);
}
.admin-topbar-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 58px;
  padding-top: 7px;
  padding-bottom: 7px;
  max-width: 100%;
  overflow: hidden;
}
.admin-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--cal-text);
  text-decoration: none;
}
.admin-brand-logo-wrap {
  height: 38px;
  min-width: 92px;
  padding: 4px 8px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,245,242,.96) 100%);
  border: 1px solid rgba(196,67,57,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.admin-brand-logo-wrap img {
  max-height: 22px;
  width: auto;
}
.admin-brand-text {
  font-size: 12px;
  letter-spacing: .05em;
  text-transform: uppercase;
  opacity: .9;
  font-weight: 700;
}
.admin-topnav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  overflow: visible;
  min-width: 0;
}
.admin-topnav-context {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--cal-muted);
  white-space: nowrap;
}
.admin-topnav-context-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .72;
}
.admin-topnav-context strong {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: var(--cal-text);
  font-size: 13px;
  font-weight: 700;
  border-color: rgba(196,67,57,.16);
  background: rgba(255,255,255,.92);
}
.admin-topnav-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.admin-topnav-primary::-webkit-scrollbar { display:none; }
.admin-topnav-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cal-text);
  text-decoration: none;
  border: 1px solid rgba(196,67,57,.14);
  background: rgba(255,255,255,.92);
  min-height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}
.admin-topnav-primary-pills {
  flex: 1 1 auto;
}
.admin-topnav-link-pill {
  padding: 0 12px;
  border-radius: 12px;
  gap: 8px;
  min-width: 0;
}
.admin-topnav-link-pill .admin-topnav-link-text {
  display: inline;
}
.admin-topnav-link.is-active,
.admin-topnav-link:hover {
  color: var(--cal-blue-ink);
  border-color: color-mix(in srgb, var(--cal-admin-accent) 68%, #f3cdc7 32%);
  background: linear-gradient(180deg, rgba(196,67,57,.12) 0%, rgba(196,67,57,.07) 100%);
  text-decoration: none;
}
.admin-topnav-more {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.admin-topnav-directory {
  margin-left: 4px;
}
.admin-topnav-more summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cal-text);
  border: 1px solid rgba(196,67,57,.14);
  background: rgba(255,255,255,.92);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}
.admin-topnav-directory-label {
  white-space: nowrap;
}
.admin-topnav-more summary::-webkit-details-marker {
  display: none;
}
.admin-topnav-more.is-active summary,
.admin-topnav-more[open] summary,
.admin-topnav-more summary:hover {
  color: var(--cal-blue-ink);
  border-color: var(--cal-admin-accent);
  background: color-mix(in srgb, var(--cal-admin-accent) 12%, #fff 88%);
}
.admin-topnav-more-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: min(860px, 92vw);
  display: none;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  border-radius: 14px;
  border: 1px solid rgba(196,67,57,.16);
  background:
    radial-gradient(circle at top right, rgba(196,67,57,.1), transparent 28%),
    rgba(255,255,255,.98);
  box-shadow: 0 18px 34px rgba(122,44,37,.12);
  padding: 12px;
  z-index: 5100;
}
.admin-topnav-more[open] .admin-topnav-more-menu {
  display: grid;
}
.admin-topnav-more-group h3 {
  margin: 0 0 8px;
  color: #8f5f57;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 700;
}
.admin-topnav-more-links {
  display: grid;
  gap: 6px;
}
.admin-topnav-more-link {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  color: var(--cal-text);
  text-decoration: none;
  border-radius: 10px;
  padding: 9px 10px;
}
.admin-topnav-more-link:hover,
.admin-topnav-more-link.is-active {
  color: var(--cal-blue-ink);
  background: color-mix(in srgb, var(--cal-admin-accent) 10%, #fff 90%);
}
.admin-topbar-user {
  color: var(--cal-muted);
  font-size: 13px;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  justify-self: end;
  white-space: nowrap;
}
.admin-topbar-user a {
  color: var(--cal-blue-ink);
  font-weight: 700;
}
.admin-topbar.admin-app-shell {
  border-bottom-color: color-mix(in srgb, var(--cal-admin-accent) 22%, rgba(255,255,255,.1));
}
.admin-topbar.admin-app-shell .admin-topbar-inner {
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  grid-template-areas: "brand menu nav user";
  gap: 7px;
}
.admin-topbar.admin-app-shell .admin-brand {
  grid-area: brand;
}
.admin-topbar.admin-app-shell .admin-menu-toggle {
  grid-area: menu;
  display: inline-flex;
}
.admin-topbar.admin-app-shell .admin-topnav {
  grid-area: nav;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}
.admin-topbar.admin-app-shell .admin-topnav.is-app-shell .admin-topnav-context {
  flex: 1 1 auto;
  justify-content: flex-end;
}
.admin-topbar.admin-app-shell .admin-topnav.is-app-shell .admin-topnav-context strong {
  max-width: min(20vw, 180px);
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-topbar.admin-app-shell .admin-topbar-user {
  grid-area: user;
  gap: 5px;
}
.admin-topbar.admin-app-shell .admin-topbar-user span,
.admin-topbar.admin-app-shell .admin-topnav-context-label {
  display: none;
}
.admin-topbar.admin-app-shell .admin-topbar-user a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 8px;
  border-radius: 9px;
  border: 1px solid rgba(213,44,36,.16);
  background: rgba(255,255,255,.92);
  text-decoration: none;
}
.admin-topbar.admin-app-shell .admin-topnav-more {
  flex: 0 0 auto;
}
.admin-topbar.admin-app-shell .admin-topnav-more summary,
.admin-topbar.admin-app-shell .admin-topnav-context strong {
  min-height: 32px;
  padding: 0 9px;
  border-radius: 9px;
  font-size: 11px;
}
.admin-topbar.admin-app-shell .admin-topnav-link-icon {
  width: 16px;
  height: 16px;
}
.admin-topbar.admin-app-shell .admin-topnav-link-icon svg {
  width: 14px;
  height: 14px;
}
.admin-menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(196,67,57,.16);
  background: rgba(255,255,255,.94);
  color: var(--cal-blue-ink);
  border-radius: 999px;
  min-height: 30px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
}
body.admin-menu-open {
  overflow: hidden;
}
body.admin-leftnav-hover-enabled.admin-leftnav-open {
  overflow-x: clip;
}
.admin-leftnav {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(360px, 90vw);
  transform: translateX(-102%);
  transition: transform .22s ease;
  z-index: 5200;
}
.admin-leftnav.is-open {
  transform: translateX(0);
}
.admin-leftnav-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(122, 44, 37, .12);
  z-index: 5190;
}
.admin-leftnav-hoverzone {
  display: none;
}
.admin-leftnav-inner {
  height: 100%;
  border-right: 1px solid color-mix(in srgb, var(--cal-admin-accent) 24%, rgba(255,255,255,.74));
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--cal-admin-accent) 12%, transparent), transparent 42%),
    linear-gradient(180deg, #fffaf8 0%, #fff2ee 100%);
  box-shadow: 10px 0 26px rgba(122, 44, 37, .12);
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
}
.admin-leftnav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--cal-admin-accent) 22%, rgba(255,255,255,.12));
  color: var(--cal-text);
}
.admin-leftnav-close {
  min-height: 32px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--cal-admin-accent) 18%, rgba(255,255,255,.8));
  background: rgba(255,255,255,.94);
  color: var(--cal-text);
  font-size: 12px;
  font-weight: 700;
  padding: 0 10px;
  cursor: pointer;
}
.admin-leftnav-groups {
  overflow: auto;
  padding: 12px;
  display: grid;
  gap: 12px;
}
.admin-leftnav-group h3 {
  margin: 0 0 8px;
  color: #8f5f57;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 700;
}
.admin-leftnav-links {
  display: grid;
  gap: 6px;
}
.admin-leftnav-link {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  color: var(--cal-text);
  text-decoration: none;
  border-radius: 10px;
  padding: 9px 10px;
}
.admin-leftnav-link:hover,
.admin-leftnav-link.is-active {
  color: var(--cal-blue-ink);
  background: color-mix(in srgb, var(--cal-admin-accent) 10%, #fff 90%);
}

@media (min-width: 761px) {
  body.admin-leftnav-hover-enabled > main.container {
    padding-left: calc(max(20px, env(safe-area-inset-left)) + 108px);
    transition: padding-left .24s ease;
  }
  body.admin-leftnav-hover-enabled.admin-leftnav-open > main.container {
    padding-left: calc(max(20px, env(safe-area-inset-left)) + 392px);
  }
  body.admin-leftnav-hover-enabled .admin-leftnav {
    top: var(--admin-topbar-height, 0px);
    width: 88px;
    max-width: 88px;
    transition: width .24s ease, max-width .24s ease, box-shadow .24s ease;
    transform: none;
    overflow: visible;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav.is-open {
    width: min(368px, 84vw);
    max-width: min(368px, 84vw);
    box-shadow: 24px 0 48px rgba(33, 12, 12, .18);
  }
  body.admin-leftnav-hover-enabled .admin-leftnav-backdrop {
    left: 0;
    right: 0;
    top: var(--admin-topbar-height, 0px);
    bottom: 0;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav-hoverzone {
    display: none;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav-inner {
    border-top-right-radius: 18px;
    border-bottom-right-radius: 18px;
    background:
      radial-gradient(circle at top left, color-mix(in srgb, var(--cal-admin-accent) 16%, transparent), transparent 42%),
      color-mix(in srgb, var(--cal-admin-bg-start) 88%, #120605 12%);
    box-shadow: 18px 0 44px rgba(33, 12, 12, .2);
  }
  body.admin-leftnav-hover-enabled .admin-leftnav-backdrop {
    display: none !important;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-head {
    display: none;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-groups {
    padding: 14px 10px 18px;
    gap: 12px;
    justify-items: center;
    align-content: start;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-group {
    width: 100%;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-group h3 {
    display: none;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-links {
    gap: 10px;
    justify-items: center;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-link {
    position: relative;
    width: 100%;
    min-height: 54px;
    grid-template-columns: 1fr;
    gap: 0;
    justify-items: center;
    align-content: center;
    padding: 0;
    border-radius: 16px;
    border: 1px solid transparent;
    background: rgba(255,255,255,.02);
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-link > span:last-child {
    display: none;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-link .admin-topnav-link-icon {
    width: 24px;
    height: 24px;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-link svg {
    width: 20px;
    height: 20px;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-link::after {
    content: attr(data-nav-label);
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%) translateX(-6px);
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, var(--cal-admin-accent) 30%, rgba(255,255,255,.12));
    background: color-mix(in srgb, var(--cal-admin-bg-start) 90%, #120605 10%);
    color: #fff8f7;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .01em;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
    transition: opacity .18s ease, transform .18s ease;
  }
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-link:hover::after,
  body.admin-leftnav-hover-enabled .admin-leftnav:not(.is-open) .admin-leftnav-link:focus-visible::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}

/* POS host: unified tablet-style nav/buttons */
.admin-topbar.is-pos-host {
  background: linear-gradient(90deg, var(--cal-admin-bg-start) 0%, var(--cal-admin-bg-mid) 55%, var(--cal-admin-bg-end) 100%);
  border-bottom: 1px solid color-mix(in srgb, var(--cal-admin-accent) 32%, rgba(255,255,255,.16));
  box-shadow: 0 8px 20px rgba(7, 18, 33, .22);
}
.admin-topbar.is-pos-host .admin-topbar-inner {
  gap: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.admin-topbar.is-pos-host .admin-brand {
  min-height: 46px;
  padding: 0 10px;
  border-radius: 13px;
  border: 1px solid color-mix(in srgb, var(--cal-admin-accent) 28%, rgba(255,255,255,.18));
  background: color-mix(in srgb, var(--cal-admin-bg-start) 78%, rgba(255,255,255,.08));
}
.admin-topbar.is-pos-host .admin-brand-logo-wrap {
  border-radius: 10px;
  border-color: color-mix(in srgb, var(--cal-admin-accent) 30%, rgba(255,255,255,.2));
  background: color-mix(in srgb, var(--cal-admin-bg-mid) 80%, rgba(255,255,255,.08));
}
.admin-topbar.is-pos-host .admin-menu-toggle {
  min-height: 44px;
  border-radius: 12px;
  border-color: color-mix(in srgb, var(--cal-admin-accent) 30%, rgba(255,255,255,.18));
  background: color-mix(in srgb, var(--cal-admin-bg-start) 80%, rgba(255,255,255,.08));
  font-size: 13px;
  font-weight: 800;
}
@media (min-width: 761px) {
  .admin-topbar.is-pos-host .admin-menu-toggle {
    display: none;
  }
}
.admin-topbar.is-pos-host .admin-topnav {
  gap: 8px;
  min-width: 0;
}
.admin-topbar.is-pos-host .admin-topnav-link {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  border: 1px solid color-mix(in srgb, var(--cal-admin-accent) 26%, rgba(255,255,255,.18));
  background: rgba(83, 20, 19, .34);
  color: #f6e4df;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}
.admin-topbar.is-pos-host .admin-topnav-link:hover {
  color: #fff;
  border-color: color-mix(in srgb, var(--cal-admin-accent) 68%, #ffd2cb 32%);
  background: rgba(117, 27, 25, .46);
}
.admin-topbar.is-pos-host .admin-topnav-link.is-active {
  color: #fff;
  background: linear-gradient(180deg, #cb4036 0%, #8f2019 100%);
  border-color: #df756d;
  box-shadow: 0 0 0 2px rgba(203, 64, 54, .24);
}
.admin-topbar.is-pos-host .admin-topbar-user {
  gap: 8px;
  font-size: 13px;
  white-space: nowrap;
  min-width: 0;
  justify-self: end;
}
.admin-topbar.is-pos-host .admin-topbar-user a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 10px;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--cal-admin-accent) 22%, rgba(255,255,255,.18));
  background: rgba(83, 20, 19, .34);
  text-decoration: none;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-inner {
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas:
    "brand menu user"
    "nav nav nav";
  gap: 8px;
  align-items: center;
  min-height: 56px;
  padding-top: 6px;
  padding-bottom: 6px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-brand {
  grid-area: brand;
  min-width: 0;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-brand-logo-wrap {
  min-width: 78px;
  height: 34px;
  padding: 3px 7px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-brand-logo-wrap img {
  max-height: 18px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-menu-toggle {
  display: inline-flex;
  grid-area: menu;
  justify-self: start;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 10px;
  font-size: 11.5px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-user {
  grid-area: user;
  justify-self: end;
  min-width: 0;
  gap: 6px;
  font-size: 12px;
  white-space: nowrap;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-user span {
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav {
  grid-area: nav;
  width: 100%;
  justify-content: flex-start;
  overflow-y: hidden;
  padding-bottom: 2px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav::-webkit-scrollbar {
  display: none;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-primary {
  width: 100%;
  gap: 6px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-link {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 9px;
  gap: 6px;
  font-size: 11.5px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-link-pill {
  padding: 0 9px;
  border-radius: 10px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-link-icon {
  width: 17px;
  height: 17px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-link-icon svg {
  width: 15px;
  height: 15px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-more {
  flex: 0 0 auto;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-more summary {
  min-height: 34px;
  padding: 0 10px;
  font-size: 11.5px;
  border-radius: 10px;
}
body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-more-menu {
  top: calc(100% + 6px);
  right: auto;
  left: 0;
  min-width: min(680px, 92vw);
  max-height: calc(100dvh - 104px);
  overflow: auto;
  gap: 8px;
  padding: 10px;
}
@media (max-width: 1194px) {
  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-user span {
    display: none;
  }
  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-user {
    gap: 5px;
  }
}
@media (max-width: 1400px) {
  .admin-topbar.is-pos-host .admin-topbar-user span {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 980px) {
  .admin-topbar {
    position: sticky;
    top: 0;
  }
  .admin-topbar-inner {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand user"
      "nav nav";
    gap: 8px;
    align-items: center;
  }
  .admin-brand {
    grid-area: brand;
    min-width: 0;
  }
  .admin-brand-logo-wrap {
    min-width: 72px;
    height: 32px;
    padding: 3px 7px;
  }
  .admin-brand-logo-wrap img {
    max-height: 18px;
  }
  .admin-brand-text {
    font-size: 11px;
  }
  .admin-topbar-user {
    grid-area: user;
    justify-self: end;
    min-width: 0;
    gap: 8px;
    font-size: 12px;
    white-space: nowrap;
  }
  .admin-topbar-user span {
    max-width: 38vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .admin-topnav {
    grid-area: nav;
    width: 100%;
    justify-content: flex-start;
    overflow-y: hidden;
    padding-bottom: 2px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .admin-topnav::-webkit-scrollbar {
    display: none;
  }
  .admin-topnav-context {
    flex: 0 0 auto;
  }
  .admin-topnav-directory {
    margin-left: 0;
  }
  .admin-topnav-link {
    flex: 0 0 auto;
  }
  .admin-topnav-more-menu {
    right: auto;
    left: 0;
    min-width: min(720px, 96vw);
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
  .admin-topbar.admin-app-shell .admin-topbar-inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "brand menu user"
      "nav nav nav";
  }
  .admin-topbar.admin-app-shell .admin-topnav {
    justify-content: flex-start;
  }
}

@media (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape) {
  .admin-topbar:not(.is-pos-host) .admin-topbar-inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "brand menu user"
      "nav nav nav";
    align-items: center;
  }
  .admin-topbar:not(.is-pos-host) .admin-brand {
    grid-area: brand;
    min-width: 0;
  }
  .admin-topbar:not(.is-pos-host) .admin-menu-toggle {
    display: inline-flex;
    grid-area: menu;
    justify-self: start;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav {
    grid-area: nav;
    width: 100%;
    justify-content: flex-start;
    overflow-y: hidden;
    padding-bottom: 2px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav::-webkit-scrollbar {
    display: none;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-primary {
    width: 100%;
    gap: 6px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-link {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 9px;
    gap: 6px;
    font-size: 11.5px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-link-pill {
    padding: 0 9px;
    border-radius: 10px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-link-icon {
    width: 17px;
    height: 17px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-link-icon svg {
    width: 15px;
    height: 15px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-more {
    flex: 0 0 auto;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-more summary {
    min-height: 34px;
    padding: 0 10px;
    font-size: 11.5px;
    border-radius: 10px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-user {
    grid-area: user;
    justify-self: end;
    min-width: 0;
    gap: 6px;
    font-size: 12px;
    white-space: nowrap;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-user span {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-inner {
    min-height: 56px;
    gap: 9px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav {
    gap: 7px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-context strong,
  .admin-topbar:not(.is-pos-host) .admin-topnav-more summary {
    min-height: 34px;
    padding: 0 10px;
    font-size: 12px;
    border-radius: 10px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-user span {
    max-width: 180px;
  }
  .admin-topbar.is-pos-host .admin-topbar-inner {
    min-height: 62px;
    gap: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .admin-topbar.is-pos-host .admin-topnav {
    gap: 6px;
  }
  .admin-topbar.is-pos-host .admin-topnav-link {
    min-height: 40px;
    border-radius: 11px;
    padding: 0 11px;
    font-size: 12px;
  }
  .admin-topbar.is-pos-host .admin-topbar-user span {
    max-width: 180px;
  }
  .admin-topbar.admin-app-shell .admin-topbar-inner {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    grid-template-areas: "brand menu nav user";
    min-height: 44px;
    gap: 5px;
    padding-top: 3px;
    padding-bottom: 3px;
  }
  .admin-topbar.admin-app-shell .admin-brand-logo-wrap {
    height: 28px;
    min-width: 68px;
    padding: 2px 5px;
  }
  .admin-topbar.admin-app-shell .admin-brand-logo-wrap img {
    max-height: 15px;
  }
  .admin-topbar.admin-app-shell .admin-brand-text,
  .admin-topbar.admin-app-shell .admin-topbar-user span,
  .admin-topbar.admin-app-shell .admin-topnav-context-label {
    display: none;
  }
  .admin-topbar.admin-app-shell .admin-menu-toggle,
  .admin-topbar.admin-app-shell .admin-topbar-user a,
  .admin-topbar.admin-app-shell .admin-topnav-more summary,
  .admin-topbar.admin-app-shell .admin-topnav-context strong {
    min-height: 28px;
    padding: 0 7px;
    border-radius: 8px;
    font-size: 10px;
  }
  .admin-topbar.admin-app-shell .admin-topnav {
    gap: 4px;
  }
  .admin-topbar.admin-app-shell .admin-topnav.is-app-shell .admin-topnav-context strong {
    max-width: min(14vw, 120px);
  }
}

@media (min-width: 1024px) and (max-width: 1194px) and (orientation: landscape) {
  .admin-topbar:not(.is-pos-host) .admin-topbar-inner {
    min-height: 58px;
    gap: 8px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .admin-topbar:not(.is-pos-host) .admin-brand-logo-wrap {
    height: 32px;
    min-width: 78px;
    padding: 3px 7px;
  }
  .admin-topbar:not(.is-pos-host) .admin-brand-logo-wrap img {
    max-height: 18px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav {
    gap: 6px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-context strong,
  .admin-topbar:not(.is-pos-host) .admin-topnav-more summary {
    min-height: 32px;
    padding: 0 9px;
    font-size: 11.5px;
    border-radius: 9px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-user {
    gap: 7px;
    font-size: 12px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-user span {
    display: none;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-more-menu {
    top: calc(100% + 6px);
    min-width: min(680px, 92vw);
    max-height: calc(100dvh - 94px);
    overflow: auto;
    gap: 8px;
    padding: 10px;
  }
  .admin-topbar.admin-app-shell .admin-topbar-inner {
    min-height: 38px;
    gap: 4px;
    padding-top: 2px;
    padding-bottom: 2px;
  }
  .admin-topbar.admin-app-shell .admin-brand-logo-wrap {
    height: 24px;
    min-width: 60px;
    padding: 1px 4px;
  }
  .admin-topbar.admin-app-shell .admin-brand-logo-wrap img {
    max-height: 13px;
  }
  .admin-topbar.admin-app-shell .admin-menu-toggle,
  .admin-topbar.admin-app-shell .admin-topbar-user a,
  .admin-topbar.admin-app-shell .admin-topnav-more summary,
  .admin-topbar.admin-app-shell .admin-topnav-context strong {
    min-height: 24px;
    padding: 0 6px;
    border-radius: 7px;
    font-size: 9.5px;
  }
  .admin-topbar.admin-app-shell .admin-topnav {
    gap: 4px;
  }
  .admin-topbar.admin-app-shell .admin-topnav-directory-label {
    display: none;
  }
  .admin-topbar.admin-app-shell .admin-topnav.is-app-shell .admin-topnav-context strong {
    max-width: min(12vw, 96px);
  }
}

@media (min-width: 761px) and (max-width: 1366px) {
  .admin-topbar:not(.is-pos-host) .admin-topbar-inner {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
    grid-template-areas:
      "brand brand user"
      "menu nav nav";
    align-items: center;
    min-height: 66px;
    gap: 8px 10px;
    padding-top: max(8px, env(safe-area-inset-top, 0px));
    padding-bottom: 8px;
    overflow: visible;
  }
  .admin-topbar:not(.is-pos-host) .admin-brand {
    grid-area: brand;
    min-width: 0;
  }
  .admin-topbar:not(.is-pos-host) .admin-brand-logo-wrap {
    min-width: 82px;
    height: 34px;
    padding: 3px 7px;
  }
  .admin-topbar:not(.is-pos-host) .admin-brand-logo-wrap img {
    max-height: 18px;
  }
  .admin-topbar:not(.is-pos-host) .admin-menu-toggle {
    grid-area: menu;
    display: inline-flex;
    justify-self: start;
    min-height: 36px;
    padding: 0 11px;
    border-radius: 10px;
    font-size: 12px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-user {
    grid-area: user;
    justify-self: end;
    align-self: center;
    min-width: 0;
    gap: 6px;
    font-size: 12px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-user span {
    max-width: min(28vw, 180px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .admin-topbar:not(.is-pos-host) .admin-topbar-user a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 10px;
    border-radius: 10px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav {
    grid-area: nav;
    width: 100%;
    min-width: 0;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
    overflow: visible;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-primary {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-primary::-webkit-scrollbar {
    display: none;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-link,
  .admin-topbar:not(.is-pos-host) .admin-topnav-more summary,
  .admin-topbar:not(.is-pos-host) .admin-topnav-context strong {
    min-height: 36px;
    padding: 0 10px;
    border-radius: 10px;
    font-size: 12px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-link {
    flex: 0 0 auto;
    gap: 7px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-link-icon {
    width: 18px;
    height: 18px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-link-icon svg {
    width: 16px;
    height: 16px;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-more {
    flex: 0 0 auto;
  }
  .admin-topbar:not(.is-pos-host) .admin-topnav-more-menu {
    top: calc(100% + 6px);
    min-width: min(720px, 94vw);
    max-height: calc(100dvh - 110px);
    overflow: auto;
  }
  .admin-topbar.admin-app-shell .admin-topbar-inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "brand menu user"
      "nav nav nav";
    min-height: 62px;
    gap: 8px;
    padding-top: max(8px, env(safe-area-inset-top, 0px));
    padding-bottom: 8px;
  }
  .admin-topbar.admin-app-shell .admin-topnav {
    width: 100%;
    justify-content: flex-start;
  }
  .admin-topbar.admin-app-shell .admin-topnav.is-app-shell .admin-topnav-context {
    width: 100%;
    justify-content: flex-start;
  }
  .admin-topbar.admin-app-shell .admin-topnav.is-app-shell .admin-topnav-context strong {
    max-width: min(52vw, 420px);
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .admin-topbar:not(.is-pos-host) .admin-topbar-user span {
    display: none;
  }
}

@media (max-width: 760px) {
  body.admin-leftnav-hover-enabled > main.container,
  body.admin-leftnav-hover-enabled.admin-leftnav-open > main.container {
    padding-left: max(10px, env(safe-area-inset-left));
  }
  body.admin-page {
    overflow-x: hidden;
  }
  .admin-topbar-inner {
    grid-template-columns: minmax(0, auto) auto 1fr auto;
    grid-template-areas:
      "brand menu . user"
      "nav nav nav nav";
    padding-top: 6px;
    padding-bottom: 6px;
    width: 100%;
  }
  .admin-brand {
    min-width: 0;
  }
  .admin-brand-logo-wrap {
    min-width: 68px;
    max-width: 68px;
  }
  .admin-menu-toggle {
    grid-area: menu;
    justify-self: start;
  }
  .admin-topbar.is-pos-host .admin-menu-toggle {
    display: inline-flex;
  }
  .admin-brand-text {
    display: none;
  }
  .admin-topnav {
    display: none;
    gap: 8px;
    flex-wrap: wrap;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: min(52vh, 360px);
    margin-top: 2px;
    padding: 10px;
    border-radius: 12px;
    border: 1px solid rgba(196,67,57,.16);
    background:
      radial-gradient(circle at top right, rgba(196,67,57,.08), transparent 32%),
      rgba(255,255,255,.98);
    box-shadow: 0 12px 26px rgba(122,44,37,.12);
    max-width: 100%;
  }
  .admin-topnav-primary {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
  }
  .admin-topnav-context {
    width: 100%;
    justify-content: space-between;
  }
  .admin-topnav-context strong {
    min-height: 32px;
    padding: 0 10px;
    font-size: 12px;
  }
  .admin-topbar.is-menu-open .admin-topnav {
    display: flex;
  }
  .admin-topnav-link {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: left;
    padding: 7px 9px;
    font-size: 12px;
  }
  .admin-topnav-more {
    width: 100%;
    display: block;
  }
  .admin-topnav-more summary {
    width: 100%;
    border-radius: 10px;
    min-height: 34px;
  }
  .admin-topnav-more-menu {
    position: static;
    margin-top: 8px;
    min-width: 0;
    width: 100%;
    grid-template-columns: 1fr;
    border-radius: 10px;
    box-shadow: none;
    background: rgba(255,247,244,.98);
  }
  .admin-topnav {
    scrollbar-width: thin;
  }
  .admin-topbar-user {
    gap: 6px;
    min-width: 0;
    overflow: hidden;
  }
  .admin-topbar-user span {
    display: none;
  }
  .admin-topbar-user a[href="/admin/theme"] {
    display: none;
  }
  .admin-topbar-user a {
    font-size: 12px;
  }
  .admin-leftnav,
  .admin-leftnav-backdrop,
  .admin-leftnav-hoverzone {
    display: none !important;
  }
}

.cal-delivery-bar {
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid var(--cal-delivery-bar-border-color);
  border-radius: 12px;
  background: var(--cal-delivery-bar-bg);
  box-shadow: 0 4px 10px color-mix(in srgb, var(--cal-blue-dark) 7%, transparent);
  overflow: hidden;
}

.cal-delivery-bar-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 6px 12px;
}

.cal-delivery-bar-modes {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px;
  border-radius: 999px;
  background: var(--cal-store-card-bg-muted);
  flex: 0 0 auto;
}

.cal-delivery-mode {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 20px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--cal-store-secondary-text);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
}

.cal-delivery-mode:hover,
.cal-delivery-mode:focus-visible {
  background: var(--cal-store-card-bg);
  color: var(--cal-store-ink);
}

.cal-delivery-mode.is-active {
  background: var(--cal-store-primary-bg);
  color: var(--cal-store-primary-text);
  box-shadow: 0 3px 8px color-mix(in srgb, var(--cal-blue-dark) 18%, transparent);
}

.cal-delivery-mode[disabled] {
  opacity: 0.48;
  cursor: not-allowed;
}

.cal-delivery-mode-icon {
  width: 11px;
  height: 11px;
  stroke: currentColor;
  stroke-width: 1.7;
  fill: none;
  flex: 0 0 auto;
}

.cal-delivery-bar-summary {
  flex: 0 1 auto;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-align: center;
}

.cal-delivery-bar-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-align: center;
  width: 100%;
}

.cal-delivery-bar-eyebrow {
  display: none;
}

.cal-delivery-bar-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  max-width: 100%;
  width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  font-size: 10px;
  color: var(--cal-delivery-bar-heading-color);
  line-height: 1.15;
  font-weight: 600;
}

.cal-delivery-bar-heading strong,
.cal-delivery-bar-heading [data-address-summary] {
  font-size: 10.75px;
  font-weight: 800;
  color: var(--cal-delivery-bar-summary-color);
}

.cal-delivery-bar-action {
  display: none;
}

@media (max-width: 940px) {
  .cal-delivery-bar-inner {
    justify-content: center;
  }

  .cal-delivery-bar-summary {
    width: 100%;
    align-items: center;
    text-align: center;
  }

  .cal-delivery-bar-copy {
    width: 100%;
    align-items: center;
    text-align: center;
  }

  .cal-delivery-bar-heading {
    justify-content: center;
  }

  .cal-delivery-bar-action {
    margin-top: 0;
  }
}

@media (max-width: 640px) {
  .cal-delivery-bar {
    border-radius: 9px;
  }

  .cal-delivery-bar-inner {
    gap: 0;
    padding: 3px 8px;
    align-items: center;
  }

  .cal-delivery-mode {
    justify-content: center;
    min-width: 0;
    min-height: 19px;
    padding: 0 7px;
    font-size: 9.5px;
  }

  .cal-delivery-bar-summary {
    gap: 0;
    width: 100%;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .cal-delivery-bar-heading {
    font-size: 9.25px;
    line-height: 1.15;
  }

  .cal-delivery-bar-heading strong {
    font-size: 9.85px;
    font-weight: 800;
  }
}

@media (max-width: 420px) {
  .cal-delivery-bar-inner {
    padding: 1px 5px;
  }

  .cal-delivery-mode {
    min-height: 18px;
    padding: 0 6px;
    font-size: 9px;
  }

  .cal-delivery-bar-heading {
    font-size: 8.8px;
  }

  .cal-delivery-mode-icon {
    width: 9px;
    height: 9px;
  }
}

/* Keep dedicated switch components hidden input behavior intact */
.cp-toggle input,
.ui-switch input,
.settings-switch input,
.switch input,
.emp-switch input {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  border: 0 !important;
  background: transparent !important;
  position: absolute !important;
}

/* CloudPRNT toggle controls */
.cp-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid #d5dfed;
  border-radius: 12px;
  background: #f7faff;
  color: #223a57;
  font-weight: 700;
}
.cp-toggle {
  position: relative;
  width: 52px;
  height: 30px;
  flex: 0 0 auto;
}
.cp-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}
.cp-toggle-slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #c8d4e7;
  transition: all .2s ease;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
}
.cp-toggle-slider::before {
  content: '';
  position: absolute;
  width: 24px;
  height: 24px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
  transition: all .2s ease;
}
.cp-toggle input:checked + .cp-toggle-slider {
  background: #1f6bcb;
}
.cp-toggle input:checked + .cp-toggle-slider::before {
  transform: translateX(22px);
}
.cp-toggle input:focus-visible + .cp-toggle-slider {
  outline: 2px solid #8fb9ff;
  outline-offset: 2px;
}
.cp-toggle-copy {
  min-width: 0;
  color: #223a57;
}
.cp-toggle-copy strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
}
.cp-toggle-copy small {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.35;
  color: #8b6159;
}
.cp-toggle-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #35506d;
  font-weight: 700;
}
.cp-toggle-meta .cp-toggle {
  width: 46px;
  height: 26px;
}
.cp-toggle-meta .cp-toggle-slider::before {
  width: 20px;
  height: 20px;
}
.cp-toggle-meta .cp-toggle input:checked + .cp-toggle-slider::before {
  transform: translateX(20px);
}
.cp-segment-wrap {
  margin: 10px 0;
}
.cp-segment-label {
  display: block;
  margin: 0 0 8px;
  color: #223a57;
  font-weight: 700;
}
.cp-segment {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px;
  border: 1px solid #d5dfed;
  border-radius: 12px;
  background: #f7faff;
}
.cp-segment input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.cp-segment label {
  min-width: 132px;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 9px;
  border: 1px solid transparent;
  color: #445b78;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .2s ease;
}
.cp-segment input:checked + label {
  background: #1f6bcb;
  border-color: #1f6bcb;
  color: #fff;
  box-shadow: 0 6px 14px rgba(31, 107, 203, .24);
}
.cp-segment input:focus-visible + label {
  outline: 2px solid #8fb9ff;
  outline-offset: 2px;
}
.cp-segment label:hover {
  border-color: #b8c9e2;
}
.action-wrap.compact {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
.action-wrap.compact .button,
.action-wrap.compact button,
.action-wrap.compact select {
  min-height: 32px;
  height: 32px;
  padding: 4px 8px;
  font-size: 12px;
  border-radius: 8px;
  margin: 0;
}
.action-wrap.compact form {
  display: flex;
  gap: 6px;
  align-items: center;
}
.customer-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}
.customer-avatar {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid #dce4ec;
  background: #f2f5f8;
}
.customer-avatar-fallback {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid #dce4ec;
  background: #edf2f7;
  color: #6f241d;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ---------- Footer ---------- */
.cal-footer {
  background: var(--cal-blue);
  color: #fff;
  margin-top: auto;
  border-top: 1px solid rgba(255,255,255,.12);
}
.cal-footer a { color: #fff; }
.cal-footer-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  align-items: start;
  gap: 20px;
  padding-top: 26px;
  padding-bottom: 26px;
}
.cal-footer-grid h4 {
  font-size: 17px;
  margin-bottom: 6px;
}
.cal-footer-grid a {
  display: block;
  margin-bottom: 4px;
  color: #dce7f2;
}
.mobile-only { display: none; }

.cal-footer-accordion details {
  border-bottom: 1px solid rgba(255,255,255,.24);
  overflow: hidden;
}
.cal-footer-accordion summary {
  list-style: none;
  cursor: pointer;
  font-size: 17px;
  font-weight: 700;
  padding: 14px 2px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.cal-footer-accordion summary::-webkit-details-marker { display: none; }
.cal-footer-accordion summary::after {
  content:'+';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background: transparent;
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:15px;
  font-weight:800;
  flex:0 0 auto;
}
.cal-footer-accordion details[open] summary::after {
  content:'-';
}
.cal-footer-accordion-links {
  padding: 0 2px 14px 2px;
}
.cal-footer-accordion details a {
  display: block;
  color: #d7e5f3;
  padding: 8px 0 8px 2px;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* ---------- Age Gate ---------- */
html.age-gate-open,
body.age-gate-open {
  overflow: hidden !important;
}
.age-gate {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.age-gate[hidden] {
  display: none !important;
}
.age-gate-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 9, 15, .72);
  backdrop-filter: blur(2px);
}
.age-gate-dialog {
  position: relative;
  z-index: 1;
  width: min(460px, 100%);
  border-radius: 18px;
  border: 1px solid rgba(145, 170, 201, .35);
  background: linear-gradient(180deg, #0f1b2d 0%, #081320 100%);
  box-shadow: 0 22px 48px rgba(0, 0, 0, .5);
  padding: 20px 18px 16px;
  text-align: center;
}
.age-gate-logo {
  display: block;
  height: 48px;
  width: auto;
  margin: 0 auto 10px;
}
.age-gate-dialog h2 {
  margin: 0;
  color: #f6fbff;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 800;
}
.age-gate-actions {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.age-gate-btn {
  min-height: 46px;
  border-radius: 999px;
  border: 1px solid #6a84a7;
  background: #14263d;
  color: #e8f1ff;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
}
.age-gate-btn.is-yes {
  border-color: #2ebf6b;
  background: linear-gradient(180deg, #33ca73 0%, #25a65a 100%);
  color: #fff;
}
.age-gate-btn.is-no {
  border-color: #6f86a8;
  background: #1a2f4a;
}
@media (max-width: 760px) {
  .age-gate-dialog {
    padding: 18px 14px 14px;
  }
  .age-gate-logo {
    height: 42px;
  }
  .age-gate-dialog h2 {
    font-size: 18px;
  }
}

/* ---------- Checkout ---------- */
.checkout-container {
  max-width: 1180px;
  padding-top: 28px;
  padding-bottom: 140px;
}
.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 20px;
  align-items: flex-start;
}
.checkout-form-area {
  background: linear-gradient(180deg, rgba(12, 12, 12, .98), rgba(18, 10, 10, .98));
  border: 1px solid rgba(184, 52, 35, .42);
  border-radius: 10px;
  padding: 24px;
  color: #f5efe9;
}
.checkout-form-area h1 {
  font-size: 42px;
  font-weight: 600;
  margin-bottom: 8px;
}
.checkout-form-area h2 {
  margin-top: 16px;
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 600;
}
.checkout-form-area h3 {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 600;
}
.checkout-welcome {
  margin: 0 0 8px;
  font-size: 14px;
}
.checkout-payment-note {
  margin-bottom: 12px;
  font-size: 13px;
}
.checkout-window-block {
  margin-bottom: 14px;
}
.checkout-window-block.js-pickup-only {
  padding: 14px 16px 16px;
  border-radius: 18px;
  border: 1px solid rgba(184, 52, 35, .34);
  background: rgba(33, 16, 16, .94);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.checkout-window-block.js-pickup-only h3 {
  margin: 0;
}
.checkout-window-block.js-pickup-only .subtle {
  color: rgba(255, 237, 226, .72);
  line-height: 1.45;
}
.checkout-window-block p {
  margin: 6px 0 0;
  color: rgba(255, 237, 226, .72);
  font-size: 12px;
}
.checkout-pickup-grid {
  display: grid;
  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
  gap: 10px;
  align-items: end;
}
.checkout-pickup-grid > div {
  min-width: 0;
}
.checkout-pickup-grid input,
.checkout-pickup-grid select {
  width: 100%;
  margin-bottom: 0;
  min-height: 56px;
  border-radius: 14px;
}
.checkout-pickup-grid label {
  display: block;
  margin-bottom: 6px;
  color: #f3d0c6;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
.checkout-pickup-hint {
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(33, 16, 16, .94);
  border: 1px solid rgba(184, 52, 35, .34);
}
.checkout-window-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.checkout-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(184, 52, 35, .32);
  background: rgba(44, 20, 20, .92);
  border-radius: 7px;
  cursor: pointer;
  color: #ffd8c9;
}
.checkout-chip input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.checkout-chip span {
  display: inline-flex;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 500;
}
.checkout-chip.active {
  border-color: #c23728;
  background: linear-gradient(180deg, #d54432 0%, #a2261a 100%);
  color: #fff;
}
.checkout-grid {
  display: grid;
  gap: 10px;
}
.checkout-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.checkout-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.checkout-form label {
  font-size: 12px;
  color: #f3d0c6;
  font-weight: 600;
}
.checkout-form input,
.checkout-form select,
.checkout-form textarea {
  min-height: 54px;
  border-radius: 8px;
  border-color: rgba(184, 52, 35, .34);
  margin-bottom: 12px;
  font-size: 15px;
  background: rgba(23, 15, 15, .96);
  color: #fff2eb;
}
.checkout-form select {
  width: 100%;
  padding: 0 14px;
  background: rgba(23, 15, 15, .96);
}
.checkout-form textarea {
  min-height: 108px;
}
.checkout-method-card {
  border: 1px solid rgba(184, 52, 35, .34);
  border-radius: 8px;
  background: rgba(33, 16, 16, .94);
  padding: 14px;
  margin-top: 4px;
  margin-bottom: 12px;
}
.checkout-method-card h3 {
  margin-bottom: 2px;
}
.checkout-method-card p {
  margin: 0;
  font-size: 13px;
}
.checkout-submit {
  width: 100%;
  min-height: 56px;
  border-radius: 8px;
  font-size: 16px;
}

.checkout-summary {
  position: sticky;
  top: 168px;
}
.checkout-summary-card {
  background: linear-gradient(180deg, rgba(12, 12, 12, .98), rgba(18, 10, 10, .98));
  border: 1px solid rgba(184, 52, 35, .42);
  border-radius: 8px;
  overflow: hidden;
  color: #f5efe9;
}
.checkout-summary-card h3 {
  font-size: 18px;
  font-weight: 500;
  padding: 16px 16px 10px;
  margin: 0;
}
.checkout-item-row {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 16px;
  border-top: 1px solid rgba(184, 52, 35, .18);
}
.checkout-item-row img {
  width: 54px;
  height: 54px;
  object-fit: cover;
  border: 1px solid rgba(184, 52, 35, .24);
  border-radius: 3px;
}
.checkout-item-info p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}
.checkout-item-info small {
  color: rgba(255, 237, 226, .72);
  font-size: 12px;
}
.checkout-item-row strong {
  font-size: 14px;
}
.checkout-promo-row {
  border-top: 1px solid rgba(184, 52, 35, .18);
  display: block;
  padding: 14px 16px;
}
.checkout-promo-row .row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 8px;
}
.checkout-promo-row input,
.checkout-promo-row button {
  min-height: 46px;
  font-size: 14px;
  margin: 0;
}
.checkout-promo-row button {
  min-width: 94px;
  border-radius: 8px;
  background: linear-gradient(180deg, #d54432 0%, #a2261a 100%);
  border-color: #b43022;
  color: #fff7f2;
}
.checkout-promo-row .subtle {
  margin: 8px 2px 0;
}
.checkout-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(184, 52, 35, .18);
  padding: 14px 16px;
  font-size: 13px;
}
.checkout-total-row span {
  text-transform: uppercase;
  font-weight: 600;
}
.checkout-total-row.grand {
  border-top: 2px solid rgba(255, 244, 236, .72);
}
.checkout-total-row strong {
  font-size: 15px;
}
@media (max-width: 680px) {
  .checkout-promo-row .row {
    grid-template-columns: 1fr auto;
  }
  .checkout-promo-row .row .secondary {
    grid-column: 1 / -1;
  }
}

.checkout-mobile-summary {
  display: none;
}
.checkout-mobile-summary > summary {
  list-style: none;
}
.checkout-mobile-summary > summary::-webkit-details-marker { display: none; }

.checkout-success {
  max-width: 720px;
  margin: 18px auto 0;
  text-align: left;
}

/* ---------- Order Received ---------- */
.order-received-container {
  max-width: 1200px;
  padding-top: 16px;
  padding-bottom: 40px;
}
.order-received-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
  align-items: start;
}
.order-received-main {
  min-width: 0;
}
.order-received-main h1,
.order-received-main h2,
.order-received-main h3,
.order-received-main strong,
.order-received-main p,
.order-received-main span {
  color: #211715;
}
.order-received-panel {
  border: 1px solid #e2c8c0;
  border-radius: 8px;
  background: linear-gradient(180deg, #fffdfc 0%, #fff6f2 100%);
  box-shadow: 0 14px 32px rgba(8, 5, 5, 0.08);
  padding: 16px;
  margin-bottom: 14px;
}
.order-received-panel h2 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  color: #251714;
}
.order-received-panel p {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #4d352f;
}
.order-map-frame {
  width: 100%;
  height: 250px;
  border: 1px solid #e2c8c0;
  border-radius: 6px;
  display: block;
}
.order-head-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.order-checkmark {
  width: 34px;
  height: 34px;
  border: 1px solid #b8c2ce;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9da6b3;
  font-size: 20px;
  flex: 0 0 auto;
}
.order-kicker {
  font-size: 12px;
  color: #8f2d20;
  font-weight: 700;
  margin-bottom: 2px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.order-head-panel h1 {
  margin: 0;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  color: #201410;
}
.order-status-pill {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  color: #1e5a39;
  background: #e2f7ea;
  border: 1px solid #b6e7c8;
}
.order-status-pill.cancelled {
  color: #8f1923;
  background: #fde9eb;
  border-color: #f4bec4;
}
.order-status-banner {
  border-radius: 10px;
  border: 1px solid #b6e7c8;
  background: #e6f8ee;
  padding: 10px 14px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.order-status-banner strong {
  font-size: 14px;
}
.order-status-banner span {
  color: #28455d;
  font-size: 13px;
}
.order-status-banner.cancelled {
  border-color: #f4bec4;
  background: #fde9eb;
}
.order-status-banner.cancelled strong {
  color: #8f1923;
}
.order-timeline {
  border: 1px solid #e3cbc4;
  border-radius: 6px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.92);
}
.order-timeline strong {
  display: block;
  font-size: 12px;
  color: #251714;
}
.order-timeline span {
  display: block;
  font-size: 12px;
  color: #6b4b42;
}
.order-timeline .dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #c34833;
}
.order-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
}
.order-info-grid h3 {
  margin: 0 0 5px;
  font-size: 13px;
  color: #7c2b1f;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.order-info-grid p {
  margin: 0;
  font-size: 14px;
  color: #2d1d1a;
  font-weight: 600;
}
.order-info-wide {
  grid-column: 1 / -1;
}
.order-cancel-panel h3 {
  margin: 0 0 4px;
  font-size: 16px;
}
.order-cancel-panel .button {
  width: 100%;
}
.order-timer-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #cfd6df;
  border-radius: 999px;
  font-size: 12px;
  padding: 4px 12px;
  margin: 8px 0 10px;
  background: #edf3f9;
  color: #22384f;
}
.order-timer-pill:before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #34d399;
}
.order-cancel-form {
  margin: 0;
}
.order-received-summary {
  position: sticky;
  top: 168px;
}
.order-received-container.is-cancelled .order-checkmark.is-cancelled {
  border-color: #f4bec4;
  color: #8f1923;
  background: #fde9eb;
}
.order-received-container.is-cancelled .order-head-panel {
  border-color: #f3c8cd;
  background: #fff1f3;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .cal-delivery-bar { font-size: 14px; }
  .cal-delivery-bar strong { font-size: 16px; }
}

@media (max-width: 760px) {
  .container {
    padding: 14px;
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
    padding-bottom: max(24px, env(safe-area-inset-bottom));
  }
  h1 { font-size: 24px; }
  h2 { font-size: 20px; }

  .cal-header-top {
    grid-template-columns: 44px 1fr 44px;
    padding-top: 1px;
  }
  .cal-logo img { height: 40px; }
  body.home-page .cal-logo img {
    height: 48px;
    max-width: 280px;
  }
  .cal-icon-btn { width: 38px; height: 38px; border-radius: 10px; }
  .cal-header-search {
    grid-template-columns: 1fr auto auto;
    gap: 8px;
    padding-top: 1px;
    padding-bottom: 3px;
  }
  .cal-search-wrap { min-height: 38px; padding: 0 10px; }
  .cal-help-link span { display: none; }
  .cal-help-link { min-width: 32px; justify-content: center; padding: 0; }
  .cal-cart-pill { width: 44px; height: 44px; }
  .cal-back-btn {
    min-height: 32px;
    padding: 3px 12px;
    font-size: 15px;
  }
  .cal-admin-bridge-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }
  .cal-admin-bridge-label span {
    max-width: none;
  }
  .cal-admin-bridge-nav {
    justify-content: flex-start;
  }

  .cal-delivery-bar {
    font-size: 13px;
    padding: 2px 8px;
  }
  .cal-delivery-bar strong {
    font-size: 14px;
    margin-left: 6px;
  }

  .cal-address-sheet {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    max-height: min(calc(100dvh - max(12px, env(safe-area-inset-top))), 820px);
    border-top-left-radius: 28px;
    border-top-right-radius: 28px;
    border-left: none;
    transform: translateY(102%);
    box-shadow: 0 -18px 44px color-mix(in srgb, var(--cal-store-overlay) 56%, transparent);
    padding: 18px 16px max(16px, env(safe-area-inset-bottom));
  }
  body.cal-address-open .cal-address-sheet { transform: translateY(0); }
  .cal-address-sheet::before {
    content: "";
    width: 48px;
    height: 5px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--cal-store-muted) 34%, transparent);
    align-self: center;
    margin-bottom: 2px;
  }
  .cal-address-head h3 { font-size: 24px; }
  .cal-address-head p { font-size: 13px; margin-top: 4px; }
  .cal-address-head button {
    width: 40px;
    height: 40px;
    font-size: 28px;
    margin-top: -2px;
  }
  .cal-address-sheet-modes {
    gap: 6px;
    padding: 5px;
  }
  .cal-address-sheet-mode {
    min-height: 42px;
    padding: 0 10px;
    font-size: 11px;
    line-height: 1.1;
  }
  .cal-address-form label { font-size: 11px; margin-top: 0; margin-bottom: 0; }
  .cal-address-form input {
    min-height: 52px;
    font-size: 16px;
    border-radius: 14px;
    padding: 0 14px;
    background: #f3f3f4;
  }
  .cal-address-form button {
    min-height: 50px;
    font-size: 17px;
    border-radius: 14px;
    margin-top: 10px;
  }

  .cal-search-close {
    font-size: 42px;
    right: 8px;
  }
  .cal-search-form {
    margin-top: 38px;
    border-width: 1px;
    border-radius: 14px;
  }
  .cal-search-ico { font-size: 22px; }
  .cal-search-form input {
    min-height: 56px;
    font-size: 16px;
  }
  .cal-search-form button {
    min-height: 56px;
    min-width: 98px;
    font-size: 16px;
  }
  .cal-search-empty-msg {
    margin-top: 120px;
    font-size: 20px;
    font-weight: 600;
  }

  .cal-hero {
    height: var(--cal-hero-active-height, clamp(220px, 49vw, 360px));
  }
  body.shop-page .cal-shop-hero-slider .cal-hero-media > img,
  body.brand-archive-page .cal-shop-hero-slider .cal-hero-media > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }
  body.shop-page .cal-shop-hero-slider[data-hero-image-shape="portrait"] .cal-hero-media > img,
  body.shop-page .cal-shop-hero-slider[data-hero-image-shape="square"] .cal-hero-media > img,
  body.brand-archive-page .cal-shop-hero-slider[data-hero-image-shape="portrait"] .cal-hero-media > img,
  body.brand-archive-page .cal-shop-hero-slider[data-hero-image-shape="square"] .cal-hero-media > img {
    width: 100%;
    max-width: 100%;
  }
  body.shop-page .cal-shop-hero-slider,
  body.brand-archive-page .cal-shop-hero-slider {
    height: var(--cal-hero-active-height, clamp(220px, 62vw, 420px));
  }
  body.home-page .cal-hero {
    height: var(--cal-hero-active-height, clamp(260px, 58vw, 420px));
  }
  .cal-hero-arrow {
    width: 34px;
    height: 52px;
    font-size: 30px;
  }
  .cal-hero-prev { left: 3px; }
  .cal-hero-next { right: 3px; }
  .cal-hero-dots {
    bottom: 12px;
    gap: 8px;
  }
  .cal-hero-dot {
    width: 8px;
    height: 8px;
  }
  .cal-hero-dots--home {
    gap: 6px;
    padding: 0;
  }
  .cal-hero-dots--home .cal-hero-dot {
    width: 6px;
    height: 6px;
  }
  .cal-full-menu-btn {
    left: 22%;
    top: 58%;
    font-size: 14px;
    padding: 9px 16px;
  }
  .cal-hero-overlay {
    left: 16px;
    right: 16px;
    bottom: 36px;
    max-width: 88%;
  }
  .cal-hero-overlay h2 {
    font-size: 22px;
  }
  .cal-hero-overlay p {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .cal-announcement-pill {
    font-size: 16px;
    line-height: 1.35;
  }
  .cal-hours-cta {
    font-size: 15px;
    padding: 8px 14px;
  }
  .cal-hours-inline {
    padding: 9px;
  }
  .cal-hours-item {
    padding: 9px 10px;
    font-size: 13px;
  }
  .cal-hours-inline .cal-hours-note {
    font-size: 11px;
  }

  .cal-category-card {
    min-width: 116px;
    padding: 9px;
    border-radius: 11px;
  }
  .cal-category-name {
    font-size: 13px;
    font-weight: 700;
  }
  .cal-breadcrumb {
    font-size: 13px;
    margin-top: 0;
    padding-top: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .cal-breadcrumb::-webkit-scrollbar {
    display: none;
  }
  body.product-page main.container {
    padding-top: 20px;
  }
  body.product-page .product-breadcrumb {
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--cal-store-border) 78%, var(--cal-blue) 22%);
    border-radius: 14px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--cal-panel-start) 96%, var(--cal-page)) 0%, color-mix(in srgb, var(--cal-panel-end) 92%, var(--cal-page)) 100%);
    box-shadow: 0 10px 22px color-mix(in srgb, var(--cal-blue-dark) 14%, transparent);
  }
  body.product-page .product-breadcrumb a,
  body.product-page .product-breadcrumb strong {
    color: var(--cal-store-primary-text);
  }
  body.product-page .product-breadcrumb span {
    color: var(--cal-store-muted);
  }
  .cal-filter-row {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }
  .cal-filter-chip,
  .cal-sort-chip {
    min-height: 44px;
    border-radius: 8px;
  }
  .cal-filter-chip > summary {
    padding: 10px 12px;
    font-size: 17px;
    font-weight: 500;
  }
  .cal-sort-chip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    font-size: 15px;
    padding: 0 10px;
    gap: 6px;
  }
  .cal-sort-label {
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .cal-sort-chip select {
    min-width: 0;
    font-size: 14px;
    font-weight: 700;
    padding-right: 16px;
    background-position: calc(100% - 9px) calc(50% - 2px), calc(100% - 4px) calc(50% - 2px);
  }
  .cal-sort-apply {
    display: none;
  }
  .cal-filter-pop {
    width: calc(100vw - 28px);
    left: 0;
  }
  .cal-order-again-widget {
    margin-top: 6px;
    padding: 6px;
    border-radius: 10px;
  }
  .cal-order-again-head h2 {
    font-size: 18px;
  }
  .cal-order-again-arrow {
    width: 24px;
    height: 24px;
    min-height: 24px;
  }
  .cal-order-again-scroll {
    grid-auto-columns: minmax(112px, 122px);
    gap: 5px;
  }
  .cal-order-again-card {
    padding: 5px;
    border-radius: 9px;
  }
  .cal-order-again-card h3 {
    font-size: 11px;
    min-height: 24px;
  }
  .cal-order-again-price {
    font-size: 12px;
  }
  .cal-order-again-meta {
    font-size: 8px;
  }
  .cal-order-again-form button,
  .cal-order-again-link {
    min-height: 26px;
    font-size: 10px;
  }

  .panel {
    border-radius: 14px;
    padding: 14px;
  }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-detail-grid { grid-template-columns: 1fr; }
  .product-detail-panel { padding: 12px; }
  body.product-page main.container {
    padding-bottom: calc(var(--product-mobile-sticky-height, 0px) + env(safe-area-inset-bottom, 0px) + 28px);
  }
  body.product-page .product-mobile-sticky-slot {
    display: contents;
  }
  body.product-page .product-mobile-sticky-slot > .product-mobile-sticky-add {
    margin: 0;
  }
  body.product-page .product-mobile-sticky-add {
    position: fixed;
    left: var(--product-mobile-sticky-inline-start, 12px);
    right: var(--product-mobile-sticky-inline-end, 12px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
    top: auto;
    z-index: 1080;
    margin: 0;
  }
  .product-related-panel { padding: 12px; }
  .product-related-head h2 { font-size: 23px; }
  .shop-add-row { grid-template-columns: 116px 1fr; }
  .shop-product-card { padding: 9px; gap: 5px; }
  .shop-product-card h3 { font-size: 15px; }
  .shop-product-card .shop-product-meta { font-size: 11px; }
  .shop-product-desc { font-size: 12px; -webkit-line-clamp: 2; }
  .shop-product-card .price { font-size: 16px; }
  .shop-product-card .button,
  .shop-product-card button { min-height: 34px; font-size: 12px; }
  .shop-product-card .shop-add-row { grid-template-columns: 96px minmax(0, 1fr); }
  .shop-product-card .shop-qty { min-height: 36px; padding: 6px; }
  .shop-qty-stepper {
    grid-template-columns: 34px minmax(34px, 1fr) 34px;
    min-height: 40px;
    border-radius: 16px;
    padding: 0 5px;
  }
  .shop-qty-btn {
    min-height: 36px;
    border-radius: 0;
    font-size: 22px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
    border-radius: 15px;
    border: 1px solid color-mix(in srgb, var(--cal-store-primary-border) 58%, rgba(255,255,255,.16) 42%);
    background:
      radial-gradient(circle at top center, color-mix(in srgb, var(--cal-store-primary) 16%, transparent) 0%, transparent 52%),
      linear-gradient(180deg, rgba(25, 11, 11, .97) 0%, rgba(11, 8, 8, .98) 100%);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.46);
    backdrop-filter: blur(10px);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-card {
    display: grid;
    gap: 6px;
    padding: 8px 42px 8px 10px;
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--cal-store-primary-border) 54%, rgba(255,255,255,.1) 46%);
    background:
      radial-gradient(circle at top left, color-mix(in srgb, var(--cal-store-primary) 18%, transparent) 0%, transparent 48%),
      linear-gradient(180deg, rgba(37, 18, 18, .98) 0%, rgba(18, 11, 11, .98) 100%);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-name {
    font-size: 15px;
    line-height: 1.2;
    font-weight: 900;
    color: #fff3ee;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-brand {
    font-size: 11px;
    line-height: 1.25;
    font-weight: 700;
    color: #d9b7ad;
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-meta-chip {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    grid-template-areas:
      "icon label"
      "icon value";
    gap: 6px;
    align-items: start;
    min-width: 0;
    padding: 7px 8px;
    border-radius: 10px;
    border: 1px solid rgba(205, 155, 142, .2);
    background: rgba(255,255,255,.04);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core .shop-sticky-meta-chip {
    grid-template-columns: 15px minmax(0, 1fr);
    gap: 4px;
    padding: 5px 6px;
    border-radius: 9px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-meta-chip svg {
    grid-area: icon;
    width: 16px;
    height: 16px;
    fill: #e6a996;
    margin-top: 2px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core .shop-sticky-meta-chip svg {
    width: 13px;
    height: 13px;
    margin-top: 1px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-meta-chip small {
    grid-area: label;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #c6a19a;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core .shop-sticky-meta-chip small {
    font-size: 8px;
    letter-spacing: .04em;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-meta-chip strong {
    grid-area: value;
    font-size: 11px;
    font-weight: 800;
    color: #fff2ec;
    line-height: 1.3;
    white-space: normal;
    word-break: break-word;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core .shop-sticky-meta-chip strong {
    font-size: 10px;
    line-height: 1.2;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-meta-chip-terpene {
    grid-template-columns: 22px minmax(0, 1fr);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core .shop-sticky-meta-chip-terpene {
    grid-template-columns: 17px minmax(0, 1fr);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-terpene-icon {
    grid-area: icon;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border-radius: 999px;
    color: var(--terpene-accent, #f0c419);
    background: color-mix(in srgb, var(--terpene-accent, #f0c419) 16%, rgba(255,255,255,.05) 84%);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--terpene-accent, #f0c419) 34%, rgba(236, 186, 174, .18) 66%);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core .shop-sticky-terpene-icon {
    width: 15px;
    height: 15px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-terpene-icon svg {
    width: 13px;
    height: 13px;
    margin-top: 0;
    fill: currentColor;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core .shop-sticky-terpene-icon svg {
    width: 10px;
    height: 10px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add)::before {
    content: none;
  }
  body.product-page .product-mobile-sticky-add .shop-add-row .shop-sticky-collapse-toggle,
  body.product-page .shop-add-row.product-mobile-sticky-add .shop-sticky-collapse-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 14px;
    right: 14px;
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(218, 178, 166, .34);
    border-radius: 999px;
    background: rgba(31, 16, 16, .94);
    box-shadow: 0 6px 14px rgba(0, 0, 0, .22);
    color: #f0c0b1;
    z-index: 2;
  }
  body.product-page .product-mobile-sticky-add .shop-add-row .shop-sticky-collapse-toggle::after,
  body.product-page .shop-add-row.product-mobile-sticky-add .shop-sticky-collapse-toggle::after {
    content: none;
  }
  body.product-page .product-mobile-sticky-add .shop-add-row .shop-sticky-collapse-toggle .shop-sticky-collapse-bar,
  body.product-page .shop-add-row.product-mobile-sticky-add .shop-sticky-collapse-toggle .shop-sticky-collapse-bar {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-radius: 1px;
    background: transparent;
    transform: rotate(45deg);
    transition: transform .18s ease, color .18s ease, opacity .18s ease;
  }
  body.product-page .product-mobile-sticky-add .shop-add-row .shop-sticky-collapse-toggle.is-collapsed .shop-sticky-collapse-bar,
  body.product-page .shop-add-row.product-mobile-sticky-add .shop-sticky-collapse-toggle.is-collapsed .shop-sticky-collapse-bar {
    transform: rotate(225deg);
  }
  body.product-page .product-mobile-sticky-add.is-collapsed .shop-add-row .shop-sticky-product-card,
  body.product-page .shop-add-row.product-mobile-sticky-add.is-collapsed .shop-sticky-product-card {
    display: none;
  }
  body.product-page .product-mobile-sticky-add.is-collapsed .shop-add-row,
  body.product-page .shop-add-row.product-mobile-sticky-add.is-collapsed {
    gap: 4px;
    padding-top: 8px;
  }
  body.product-page .product-mobile-sticky-add.is-collapsed .shop-add-row .shop-sticky-collapse-toggle,
  body.product-page .shop-add-row.product-mobile-sticky-add.is-collapsed .shop-sticky-collapse-toggle {
    top: 10px;
  }
  body.product-page .product-mobile-sticky-add.is-collapsed .shop-add-row .shop-sticky-option-wrap,
  body.product-page .shop-add-row.product-mobile-sticky-add.is-collapsed .shop-sticky-option-wrap {
    padding: 5px 8px;
  }
  body.product-page .product-mobile-sticky-add.is-collapsed .shop-add-row .shop-sticky-option-label,
  body.product-page .shop-add-row.product-mobile-sticky-add.is-collapsed .shop-sticky-option-label {
    font-size: 10px;
    letter-spacing: .03em;
  }
  body.product-page .product-mobile-sticky-add.is-collapsed .shop-add-row .shop-sticky-main,
  body.product-page .shop-add-row.product-mobile-sticky-add.is-collapsed .shop-sticky-main {
    gap: 6px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-option-wrap {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px;
    align-items: center;
    padding: 7px 9px;
    border-radius: 10px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(217, 176, 164, .18);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-option-select {
    min-height: 40px;
    margin: 0;
    border-radius: 10px;
    border: 1px solid rgba(215, 173, 162, .26);
    background: rgba(23, 14, 14, .98);
    color: #fff2ec;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-option-label {
    margin: 0;
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #d8b1a7;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-main {
    display: grid;
    grid-template-columns: 102px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-main.is-single-action {
    grid-template-columns: minmax(0, 1fr);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-qty-stepper {
    display: grid !important;
    min-height: 40px;
    grid-template-columns: 30px 1fr 30px;
    border-color: rgba(226, 183, 171, .26);
    background: linear-gradient(180deg, rgba(27, 16, 16, .98) 0%, rgba(15, 10, 10, .98) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-qty {
    color: #fff5f0;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-qty-btn {
    color: #efb6a8;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-qty-btn:hover,
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-qty-btn:focus-visible {
    color: #ffd6cb;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-main > :is(button[type="submit"], .button, button[data-kit-open]) {
    width: 100%;
    min-height: 46px;
    border-radius: 11px;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.01em;
    border: 1px solid color-mix(in srgb, var(--cal-store-primary-border) 66%, rgba(255,255,255,.22) 34%);
    background: linear-gradient(180deg, #d76d55 0%, #8e281d 100%);
    color: #fff8f5;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.14),
      0 12px 26px rgba(96, 20, 15, .34);
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-main > :is(button[type="submit"], .button, button[data-kit-open]) .add-label-main {
    font-size: 14px;
  }
  body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-main > :is(button[type="submit"], .button, button[data-kit-open]) .add-label-price {
    font-size: 13px;
    opacity: 0.95;
    color: rgba(255, 242, 236, .92);
  }
  .product-terpene-grid {
    gap: 6px;
  }
  .product-terpene-chip {
    padding: 5px 9px;
  }
  .product-terpene-chip strong {
    font-size: 12px;
  }
  @keyframes stickyShowDetailsPulse {
    0% { opacity: 0; transform: translateY(-2px); }
    100% { opacity: 1; transform: translateY(0); }
  }
  @media (prefers-reduced-motion: reduce) {
    body.product-page .product-mobile-sticky-add .shop-add-row .shop-sticky-collapse-toggle::after,
    body.product-page .shop-add-row.product-mobile-sticky-add .shop-sticky-collapse-toggle::after,
    body.product-page .product-mobile-sticky-add .shop-add-row .shop-sticky-collapse-toggle .shop-sticky-collapse-bar,
    body.product-page .shop-add-row.product-mobile-sticky-add .shop-sticky-collapse-toggle .shop-sticky-collapse-bar {
      transition: none;
      animation: none !important;
    }
  }
  @media (max-width: 390px) {
    body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
    }
    body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-product-meta.shop-sticky-product-meta-canna-core {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-main {
      grid-template-columns: 94px minmax(0, 1fr);
      gap: 6px;
    }
    body.product-page :is(.product-mobile-sticky-add .shop-add-row, .shop-add-row.product-mobile-sticky-add) .shop-sticky-main > :is(button[type="submit"], .button, button[data-kit-open]) {
      min-height: 44px;
      font-size: 14px;
    }
  }
  body.product-page .product-detail-panel > .product-detail-grid > div:last-child > .price,
  body.product-page .product-detail-panel > .product-detail-grid > div:last-child > .price + .subtle,
  body.product-page .product-mobile-sticky-add > h3,
  body.product-page .product-mobile-sticky-add > .product-option-pills,
  body.product-page .product-mobile-sticky-add > .product-option-summary,
  body.product-page .product-mobile-sticky-add > .subtle {
    display: none !important;
  }
  .product-tax-card-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .product-deal-banner {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .product-deal-cta {
    grid-column: 1 / -1;
    justify-self: start;
  }
  .product-lineage-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .product-tax-profile-pill {
    font-size: 11px;
  }
  .product-lineage-metrics {
    grid-template-columns: 1fr;
  }
  .product-lineage-bar-row {
    grid-template-columns: 60px minmax(0, 1fr) 54px;
  }
  .product-tax-row-label {
    font-size: 13px;
  }
  .product-tax-compare-head {
    flex-direction: column;
    gap: 10px;
  }
  .product-tax-compare-open {
    width: auto;
    min-height: 38px;
    padding: 0 14px;
    justify-content: center;
  }
  .product-tax-compare-grid,
  .product-tax-compare-modal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .product-tax-compare-metric,
  .product-tax-compare-panel {
    padding: 10px 8px;
    border-radius: 14px;
    gap: 5px;
  }
  .product-tax-compare-metric span,
  .product-tax-compare-panel span {
    font-size: 9px;
    letter-spacing: 0.04em;
    line-height: 1.2;
  }
  .product-tax-compare-metric strong {
    font-size: 18px;
  }
  .product-tax-compare-panel {
    min-height: 0;
  }
  .product-tax-compare-panel strong {
    font-size: 20px;
  }
  .product-tax-compare-metric small,
  .product-tax-compare-panel small {
    font-size: 10px;
    line-height: 1.35;
  }
  .product-tax-compare-modal {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    transform: none;
    width: 100%;
    max-height: min(84vh, 860px);
    border-radius: 20px 20px 0 0;
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
  }
  .product-tax-compare-modal-head {
    align-items: flex-start;
    gap: 12px;
  }
  .product-tax-compare-modal-head h3 {
    font-size: 20px;
  }
  .product-tax-compare-modal-head p {
    font-size: 13px;
    line-height: 1.45;
  }
  .product-tax-compare-kicker {
    margin-bottom: 8px;
  }
  .product-tax-compare-option-pill {
    font-size: 11px;
    padding: 5px 10px;
  }
  .product-tax-compare-highlight {
    padding: 10px 12px;
  }
  .product-tax-compare-highlight strong {
    font-size: 16px;
  }
  .product-tax-compare-highlight p,
  .product-tax-compare-disclaimer,
  .product-tax-compare-note {
    font-size: 12px;
  }
  .product-option-pill span { border-radius: 12px; }
  .cal-kit-sheet {
    width: 100%;
    left: 0;
    top: auto;
    bottom: 0;
    transform: translate3d(0, calc(100% + 28px), 0);
    border-radius: 18px 18px 0 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    max-height: min(72vh, 780px);
  }
  body.cal-kit-open .cal-kit-sheet {
    transform: translate3d(0, 0, 0);
  }
  .cal-kit-head h3 {
    font-size: 18px;
  }
  .cal-kit-grid-head,
  .cal-kit-row {
    grid-template-columns: minmax(0,1fr) 72px 120px;
  }
  .cal-kit-item-meta {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
  }
  .cal-kit-thumb {
    width: 44px;
    height: 44px;
    border-radius: 10px;
  }
  .cal-kit-thumb img {
    padding: 5px;
  }
  .cal-kit-item-label {
    font-size: 14px;
  }
  .cal-kit-price {
    font-size: 14px;
  }
  .cal-kit-qty-wrap {
    grid-template-columns: 30px 1fr 30px;
    gap: 6px;
  }
  .cal-kit-qty-btn {
    min-height: 30px;
    height: 30px;
    padding: 0;
  }
  .cal-kit-qty-wrap input {
    min-height: 30px;
    height: 30px;
    font-size: 14px;
  }

  .desktop-only { display: none; }
  .mobile-only { display: block; }

  table, thead, tbody, th, td, tr { display: block; }
  thead { display: none; }
  tr {
    border: 1px solid #dce5ec;
    border-radius: 11px;
    margin: 0 0 12px;
    padding: 8px;
    background: #fff;
  }
  td {
    border: none;
    padding: 5px 4px;
  }

  .kkpb-wrap {
    padding: 8px 12px 122px;
  }
  .kkpb-banner img {
    height: 160px;
  }
  .kkpb-toolbar {
    gap: 6px;
  }
  .kkpb-toolbar input[type=search],
  .kkpb-toolbar select {
    font-size: 13px;
    padding: 9px 10px;
  }
  .kkpb-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .kkpb-card.is-collapsed {
    display: none !important;
  }
  .kkpb-more-wrap {
    display: block;
  }
  .kkpb-pills .pill {
    border: none;
    background: transparent;
    border-radius: 0;
    font-weight: 800;
    font-size: 16px;
    color: #6b7280;
    padding: 10px 14px;
    position: relative;
  }
  .kkpb-pills .pill.is-active {
    color: #111;
    background: transparent;
  }
  .kkpb-pills .pill.is-active::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: -6px;
    height: 3px;
    border-radius: 3px;
    background: var(--kkpb-accent, #d03a31);
  }

  .checkout-container {
    padding-top: 14px;
    padding-bottom: 124px;
  }
  .checkout-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .checkout-desktop-summary {
    display: none;
  }
  .checkout-mobile-summary {
    display: block;
    border: 1px solid rgba(184, 52, 35, .42);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(12, 12, 12, .98), rgba(18, 10, 10, .98));
    overflow: hidden;
    margin-bottom: 12px;
    color: #f5efe9;
  }
  .checkout-limit-panel {
    margin-top: 52px !important;
  }
  .checkout-mobile-summary > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 600;
    color: #ff7d63;
    cursor: pointer;
  }
  .checkout-mobile-summary > summary strong {
    color: #fff4ec;
  }
  .checkout-form-area {
    padding: 14px;
    border-radius: 8px;
  }
  .checkout-form-area h1 {
    font-size: 34px;
  }
  .checkout-form-area h2 {
    font-size: 22px;
  }
  .checkout-form-area h3 {
    font-size: 16px;
  }
  .checkout-welcome {
    font-size: 14px;
  }
  .checkout-window-block p {
    font-size: 13px;
    line-height: 1.4;
  }
  .checkout-window-block.js-pickup-only {
    padding: 14px;
    border-radius: 16px;
  }
  .checkout-pickup-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .checkout-pickup-grid > div {
    width: 100%;
    min-width: 0;
  }
  .checkout-pickup-grid input,
  .checkout-pickup-grid select {
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
    min-height: 58px;
  }
  .checkout-form select {
    min-height: 56px;
    font-size: 15px;
  }
  input[type="date"]#checkout_pickup_date {
    min-height: 58px;
    padding-right: 12px;
    -webkit-appearance: none;
    appearance: none;
  }
  .checkout-pickup-grid label {
    margin-bottom: 7px;
    font-size: 12px;
  }
  .checkout-pickup-hint {
    margin-top: 10px;
    padding: 11px 12px;
    font-size: 12px;
    line-height: 1.45;
  }
  .checkout-chip span {
    font-size: 14px;
    padding: 9px 11px;
  }
  .checkout-grid.two,
  .checkout-grid.three {
    grid-template-columns: 1fr;
  }
  .checkout-form label {
    font-size: 13px;
  }
  .checkout-form input,
  .checkout-form textarea {
    min-height: 50px;
    font-size: 15px;
  }
  .checkout-item-row strong {
    font-size: 14px;
  }
  .checkout-item-info p {
    font-size: 14px;
  }
  .checkout-item-info small {
    font-size: 13px;
  }
  .checkout-total-row {
    font-size: 13px;
    padding: 12px 14px;
  }
  .checkout-total-row strong {
    font-size: 16px;
  }
  .checkout-submit {
    min-height: 52px;
    font-size: 16px;
  }

  .order-received-layout {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .order-received-summary {
    display: none;
  }
  .order-received-panel {
    padding: 12px;
    margin-bottom: 10px;
  }
  .order-map-frame {
    height: 210px;
  }
  .order-head-panel h1 {
    font-size: 33px;
  }
  .order-status-banner {
    flex-direction: column;
    align-items: flex-start;
  }
  .order-timeline {
    grid-template-columns: 1fr auto 1fr;
    padding: 7px 8px;
  }
  .order-info-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
  }
  .order-cancel-panel h3 {
    font-size: 15px;
  }
  .order-received-main > .checkout-submit {
    width: 100%;
  }
}

/* ---------- Cart Drawer ---------- */
.cal-cart-backdrop {
  position: fixed;
  inset: 0;
  background: color-mix(in srgb, var(--cal-store-overlay) 30%, transparent);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
  z-index: 95;
}
.cal-cart-drawer {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100vw;
  max-width: 100vw;
  background: var(--cal-store-sheet-bg);
  z-index: 96;
  transform: translateX(102%);
  transition: transform .24s ease;
  box-shadow: var(--cal-store-sheet-shadow);
  overflow: auto;
  padding: max(18px, env(safe-area-inset-top)) 28px 24px;
  color: var(--cal-store-ink);
}
body.cal-cart-open { overflow: hidden; }
body.cal-cart-open .cal-cart-backdrop {
  opacity: 1;
  pointer-events: auto;
}
body.cal-cart-open .cal-cart-drawer {
  transform: translateX(0);
}
.cal-cart-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.cal-cart-head-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.cal-cart-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 700;
}
.cal-cart-feedback {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 18px;
  color: var(--cal-store-success-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .01em;
  opacity: 0;
  transform: translateY(-4px) scale(.985);
  filter: blur(1px);
  transition: opacity .24s ease, transform .24s ease, filter .24s ease;
  pointer-events: none;
  transform-origin: left center;
}
.cal-cart-feedback::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: rgba(34,197,94,.14);
  border: 1px solid rgba(34,197,94,.28);
  color: var(--cal-store-success-text);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  box-sizing: border-box;
  flex: 0 0 auto;
}
.cal-cart-feedback.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
.cal-cart-head button {
  border: none;
  background: transparent;
  color: var(--cal-store-ink);
  font-size: 44px;
  line-height: 1;
  cursor: pointer;
}
.cal-cart-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--cal-store-border);
}
.cal-cart-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cal-cart-left img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border: 1px solid var(--cal-store-border);
}
.cal-cart-item-name {
  font-weight: 600;
  font-size: 20px;
}
.cal-cart-item-meta {
  font-size: 16px;
  color: var(--cal-store-muted);
}
.cal-cart-item-deal-block {
  display: grid;
  gap: 2px;
  margin-top: 5px;
}
.cal-cart-item-deal {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--cal-store-success-text);
}
.cal-cart-item-save {
  font-size: 13px;
  line-height: 1.35;
  color: color-mix(in srgb, var(--cal-store-success-text) 86%, #ffffff);
}
.cal-cart-line {
  font-size: 22px;
  font-weight: 600;
}
.cal-cart-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.cal-cart-qty-stepper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px;
  border: 1px solid var(--cal-store-border);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
}
.cal-cart-qty-btn {
  width: 28px;
  height: 28px;
  border: 1px solid var(--cal-store-secondary-border);
  border-radius: 999px;
  background: var(--cal-store-secondary-bg);
  color: var(--cal-store-secondary-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.cal-cart-qty-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.cal-cart-qty-value {
  min-width: 18px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--cal-store-ink);
}
.cal-cart-remove {
  border: 1px solid var(--cal-store-secondary-border);
  background: var(--cal-store-secondary-bg);
  color: var(--cal-store-secondary-text);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 6px 10px;
  cursor: pointer;
}
.cal-cart-remove:hover {
  background: var(--cal-store-card-bg);
}
.cal-cart-remove:disabled {
  opacity: .6;
  cursor: not-allowed;
}
.cal-cart-promo {
  margin: 14px 0;
}
.cal-cart-promo-form {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 8px;
}
.cal-cart-promo-form input[type="text"] {
  min-height: 42px;
}
.cal-cart-promo-form button {
  min-height: 42px;
  border-radius: 8px;
}
.cal-cart-promo-form .secondary {
  background: var(--cal-store-secondary-bg);
  color: var(--cal-store-secondary-text);
  border: 1px solid var(--cal-store-secondary-border);
}
.cal-cart-promo-message {
  margin-top: 8px;
  display: block;
  font-size: 13px;
  line-height: 1.45;
  color: var(--cal-green);
  white-space: normal;
  overflow-wrap: anywhere;
}
.cal-cart-summary {
  display: grid;
  gap: 2px;
}
.cal-cart-subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 28px;
  margin: 14px 0 12px;
}
.cal-cart-total-row {
  padding-top: 10px;
  border-top: 1px solid var(--cal-store-border);
}
.cal-cart-tax-shell {
  margin-bottom: 0;
}
.cal-cart-tax-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cal-cart-tax-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 1px solid var(--cal-store-secondary-border);
  border-radius: 999px;
  background: var(--cal-store-secondary-bg);
  color: var(--cal-store-secondary-text);
  cursor: pointer;
}
.cal-cart-tax-toggle span {
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}
.cal-cart-tax-breakdown {
  margin: -4px 0 10px;
  padding: 0 0 6px 12px;
  display: grid;
  gap: 8px;
}
.cal-cart-tax-breakdown[hidden] {
  display: none;
}
.cal-cart-tax-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  color: var(--cal-store-muted);
}
.cal-cart-tax-line strong {
  color: var(--cal-store-ink);
  font-weight: 700;
}
.cal-cart-limit-box {
  margin: 8px 0 4px;
  border: 1px solid var(--cal-store-border);
  border-radius: 14px;
  background: var(--cal-store-card-bg);
  padding: 11px;
  display: grid;
  gap: 9px;
}
.cal-cart-limit-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.cal-cart-limit-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
  color: var(--cal-store-ink);
}
.cal-cart-limit-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  border: 1px solid var(--cal-store-pill-border);
  background: var(--cal-store-pill-bg);
  color: var(--cal-store-pill-text);
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.cal-cart-limit-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  opacity: .95;
}
.cal-cart-limit-status.is-warning {
  border-color: var(--cal-store-warning-border);
  background: var(--cal-store-warning-bg);
  color: var(--cal-store-warning-text);
}
.cal-cart-limit-status.is-danger {
  border-color: var(--cal-store-danger-border);
  background: var(--cal-store-danger-bg);
  color: var(--cal-store-danger-text);
}
.cal-cart-limit-row { display: grid; gap: 6px; }
.cal-cart-limit-row-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.cal-cart-limit-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--cal-store-muted);
}
.cal-cart-limit-percent {
  border-radius: 999px;
  border: 1px solid var(--cal-store-pill-border);
  background: var(--cal-store-pill-bg);
  color: var(--cal-store-pill-text);
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
}
.cal-cart-limit-row.is-warning .cal-cart-limit-percent {
  border-color: var(--cal-store-warning-border);
  background: var(--cal-store-warning-bg);
  color: var(--cal-store-warning-text);
}
.cal-cart-limit-row.is-danger .cal-cart-limit-percent {
  border-color: var(--cal-store-danger-border);
  background: var(--cal-store-danger-bg);
  color: var(--cal-store-danger-text);
}
.cal-cart-limit-meta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  font-size: 11px;
  color: var(--cal-store-muted);
}
.cal-cart-limit-meta strong {
  color: var(--cal-store-ink);
  font-weight: 700;
}
.cal-cart-limit-track {
  height: 11px;
  border-radius: 999px;
  background: var(--cal-store-track-bg);
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(17, 45, 78, .08);
}
.cal-cart-limit-fill {
  height: 100%;
  background: var(--cal-store-fill-bg);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38);
}
.cal-cart-limit-fill.is-warning {
  background: var(--cal-store-fill-warning-bg);
}
.cal-cart-limit-fill.is-danger {
  background: var(--cal-store-fill-danger-bg);
}
.cal-cart-limit-row.is-danger .cal-cart-limit-fill {
  animation: calCartLimitPulse 1.4s ease-in-out infinite;
}
.cal-cart-limit-violations {
  font-size: 12px;
  color: var(--cal-store-danger-text);
  font-weight: 700;
}
@keyframes calCartLimitPulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.12); }
}
.cal-cart-checkout {
  width: min(980px, 100%);
  min-height: 58px;
  font-size: 30px;
  margin-top: 8px;
}

@media (max-width: 760px) {
  .cal-cart-drawer {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    max-height: min(82vh, 880px);
    border-top-left-radius: 22px;
    border-top-right-radius: 22px;
    transform: translateY(102%);
    box-shadow: 0 -10px 28px color-mix(in srgb, var(--cal-store-overlay) 56%, transparent);
    padding: 12px 12px max(12px, env(safe-area-inset-bottom));
  }
  body.cal-cart-open .cal-cart-drawer {
    transform: translateY(0);
  }
  .cal-cart-head-copy {
    gap: 2px;
  }
  .cal-cart-title { font-size: 18px; }
  .cal-cart-feedback {
    min-height: 16px;
    font-size: 12px;
  }
  .cal-cart-feedback::before {
    width: 14px;
    height: 14px;
    font-size: 9px;
  }
  .cal-cart-head button { font-size: 36px; }
  .cal-cart-left img { width: 56px; height: 56px; }
  .cal-cart-item-name { font-size: 16px; }
  .cal-cart-item-meta { font-size: 13px; }
  .cal-cart-item-deal { font-size: 12px; }
  .cal-cart-item-save { font-size: 11px; }
  .cal-cart-line { font-size: 18px; }
  .cal-cart-qty-stepper { gap: 6px; padding: 3px; }
  .cal-cart-qty-btn { width: 26px; height: 26px; font-size: 15px; }
  .cal-cart-qty-value { font-size: 12px; }
  .cal-cart-promo { margin: 14px 0; }
  .cal-cart-promo-form { grid-template-columns: 1fr auto; }
  .cal-cart-promo-form .secondary { grid-column: 1 / -1; }
  .cal-cart-subtotal { font-size: 16px; margin: 10px 0; }
  .cal-cart-tax-breakdown { margin-top: -2px; padding-left: 10px; gap: 6px; }
  .cal-cart-tax-line { font-size: 12px; }
  .cal-cart-limit-box { padding: 8px; gap: 7px; }
  .cal-cart-limit-title { font-size: 11px; }
  .cal-cart-limit-status { font-size: 10px; padding: 2px 8px; }
  .cal-cart-limit-label { font-size: 11px; }
  .cal-cart-limit-percent { font-size: 10px; }
  .cal-cart-limit-meta { font-size: 10px; }
  .cal-cart-limit-track { height: 10px; }
  .cal-cart-checkout { min-height: 50px; font-size: 16px; }
}

/* ---------- Visual Normalization (Two Hommes Match) ---------- */
body {
  font-size: 16px;
  line-height: 1.4;
}

.cal-delivery-bar {
  font-size: 14px;
}
.cal-delivery-bar strong {
  font-size: 17px;
  font-weight: 600;
}

.cal-address-head h3 {
  font-size: 24px;
  line-height: 1;
}
.cal-address-head p {
  font-size: 15px;
}
.cal-address-head button {
  font-size: 44px;
}
.cal-address-form label {
  font-size: 14px;
}
.cal-address-form input {
  min-height: 54px;
  font-size: 16px;
}
.cal-address-form button {
  min-height: 54px;
  font-size: 16px;
}

.cal-search-ico {
  width: 20px;
  height: 20px;
  opacity: .72;
}
.cal-search-form input {
  font-size: 18px;
  font-weight: 500;
}
.cal-search-form button {
  font-size: 16px;
  min-width: 128px;
  min-height: 56px;
  border-radius: 0;
  background: var(--cal-green);
  border-color: var(--cal-green);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.cal-search-empty-msg {
  font-size: 24px;
  color: #273649;
  margin-top: 74px;
}

.cal-search-input-wrap {
  gap: 10px;
  padding: 0 16px;
}

.cal-search-form {
  margin-top: 36px;
  border: 1px solid #c7d2df;
  border-radius: 14px;
  background: #fff;
}
.cal-search-form input {
  min-height: 56px;
}

.cal-search-close {
  font-size: 46px;
  color: #1f2f44;
}

.cal-cart-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cal-cart-title img {
  width: 22px;
  height: 22px;
  opacity: .78;
}
.cal-cart-title span {
  font-weight: 700;
}

.cal-hours-compact {
  display: grid;
  gap: 8px;
}

.cal-category-row {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  flex-wrap: nowrap;
  justify-content: center;
  width: fit-content;
  min-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2px;
  padding-right: 2px;
  padding: 18px 0 22px;
}
.cal-category-card {
  flex: 0 0 156px;
  min-width: 156px;
  border-radius: 14px;
  background: #e2e2e2;
  border: 1px solid #e2e2e2;
  padding: 10px;
}
.cal-category-img {
  width: 98px;
  min-width: 98px;
  height: 98px;
  min-height: 98px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 999px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 255, 255, 0.98) 0%, rgba(247, 249, 252, 0.98) 60%, rgba(232, 237, 242, 0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    0 10px 24px rgba(16, 37, 64, 0.06);
}
.cal-category-img img {
  width: 72%;
  height: 72%;
  max-width: 72%;
  max-height: 72%;
  object-fit: contain;
}
.cal-category-name {
  margin: 4px 0 8px;
  font-size: 15px;
  font-weight: 700;
}

.cal-cart-drawer {
  width: min(450px, 92vw);
  max-width: min(450px, 92vw);
  box-shadow: var(--cal-store-sheet-shadow);
  padding: max(18px, env(safe-area-inset-top)) 20px 18px;
}
.cal-cart-item-name {
  font-size: 16px;
}
.cal-cart-item-meta {
  font-size: 13px;
}
.cal-cart-item-deal {
  font-size: 12px;
}
.cal-cart-item-save {
  font-size: 11px;
}
.cal-cart-line {
  font-size: 16px;
}
.cal-cart-promo {
  font-size: 16px;
}
.cal-cart-subtotal {
  font-size: 16px;
}
.cal-cart-checkout {
  width: 100%;
  min-height: 50px;
  font-size: 16px;
}

.cal-account-btn {
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
}

.cal-auth-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 15, 26, 0.42);
  display: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: 1400;
}
.cal-auth-backdrop[hidden] {
  display: none !important;
}

.cal-auth-sheet {
  position: fixed;
  left: 50%;
  top: 50%;
  width: min(860px, 94vw);
  max-height: min(84vh, 760px);
  height: auto;
  background: #f9fafc;
  display: none;
  transform: translate(-50%, -44%) scale(.98);
  transition: transform .22s ease, opacity .22s ease;
  opacity: 0;
  z-index: 1401;
  border: 1px solid #d8e1ee;
  border-radius: 24px;
  padding: 0;
  overflow-y: auto;
}
.cal-auth-sheet[hidden] {
  display: none !important;
}

body.cal-auth-open {
  overflow: hidden;
}

body.cal-auth-open .cal-auth-backdrop {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

body.cal-auth-open .cal-auth-sheet {
  display: block;
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

.cal-auth-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 24px 28px;
  border-bottom: 1px solid #dde4ee;
}

.cal-auth-head h3 {
  margin: 0;
  font-size: 40px;
  line-height: 1.02;
}

.cal-auth-head p {
  margin: 10px 0 0;
  color: #5f6f85;
  font-size: 16px;
}

.cal-auth-head button {
  border: none;
  background: transparent;
  font-size: 38px;
  line-height: 1;
  padding: 0 2px;
  color: #1c2d44;
}
.cal-auth-card {
  position: relative;
  min-height: 450px;
  transform-style: preserve-3d;
  transition: transform .35s ease;
}
.cal-auth-card[data-face="signup"] {
  transform: rotateY(180deg);
}
.cal-auth-face {
  backface-visibility: hidden;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
}
.cal-auth-face.is-signup {
  transform: rotateY(180deg);
}
.cal-auth-body {
  padding: 24px 28px;
}

.cal-auth-body label {
  display: block;
  margin: 12px 0 7px;
  color: #475872;
  font-size: 14px;
  font-weight: 600;
}

.cal-auth-phone-row {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 12px;
  margin-bottom: 10px;
}
.cal-auth-country {
  min-height: 56px;
  border: 1px solid #cfd8e3;
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 700;
  color: #22384f;
}
.cal-auth-body input {
  width: 100%;
  min-height: 56px;
  border: 1px solid #cfd8e3;
  border-radius: 12px;
  padding: 0 16px;
  font-size: 17px;
  margin: 0;
}
.cal-auth-body input[type="file"] {
  min-height: 48px;
  padding: 10px 12px;
  font-size: 14px;
}
.cal-auth-grid {
  display: grid;
  gap: 10px;
}
.cal-auth-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cal-auth-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cal-auth-body button {
  width: 100%;
  min-height: 56px;
  margin-top: 10px;
  border: 1px solid var(--cal-blue-ink);
  border-radius: 12px;
  background: var(--cal-blue-ink);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.cal-auth-body button:hover,
.cal-auth-body button:focus-visible {
  background: var(--cal-blue-dark);
  border-color: var(--cal-blue-dark);
}
.cal-auth-body button:active {
  transform: translateY(1px);
}
.cal-auth-body .link-like {
  width: auto;
  min-height: auto;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #22415f;
  font-size: 14px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}

.cal-auth-links {
  margin-top: 10px;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 14px;
}
.cal-auth-terms {
  margin: 12px 0 0;
  color: #6d7b90;
  font-size: 14px;
  line-height: 1.35;
}

.cal-auth-actions {
  display: grid;
  gap: 10px;
}

.addr-autocomplete-wrap {
  position: relative;
}

.addr-autocomplete-list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 50;
  background: #ffffff;
  border: 1px solid #cfd8e3;
  border-radius: 10px;
  box-shadow: 0 12px 24px rgba(9, 24, 48, 0.16);
  max-height: 260px;
  overflow-y: auto;
  padding: 4px;
}

.addr-autocomplete-item {
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 10px 11px;
  border-radius: 8px;
  cursor: pointer;
  display: block;
}

.addr-autocomplete-item:hover {
  background: #edf3fb;
}

.addr-autocomplete-item strong {
  display: block;
  color: #1d2b40;
  font-size: 14px;
  font-weight: 700;
}

.addr-autocomplete-item small {
  display: block;
  color: #5f6f85;
  font-size: 12px;
  margin-top: 2px;
}

@media (max-width: 980px) {
  .cal-delivery-bar strong {
    font-size: 16px;
  }
}

@media (max-width: 760px) {
  .cal-delivery-bar {
    font-size: 13px;
  }
  .cal-delivery-bar strong {
    font-size: 14px;
  }

  .cal-address-head h3 {
    font-size: 22px;
  }
  .cal-address-head p {
    font-size: 16px;
  }
  .cal-address-head button {
    font-size: 44px;
  }
  .cal-address-form label {
    font-size: 13px;
  }
  .cal-address-form input {
    min-height: 56px;
    font-size: 16px;
  }
  .cal-address-form button {
    min-height: 52px;
    font-size: 17px;
  }

  .cal-search-form input {
    font-size: 16px;
  }
  .cal-search-form button {
    font-size: 14px;
    min-width: 96px;
    min-height: 50px;
  }
  .cal-search-empty-msg {
    font-size: 17px;
    margin-top: 40px;
  }

  .cal-category-row {
    gap: 12px;
    justify-content: flex-start;
    width: auto;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    padding-left: 2px;
    padding-right: 2px;
    padding: 10px 0;
  }
  .cal-category-card {
    flex: 0 0 112px;
    min-width: 112px;
    padding: 8px 7px 9px;
  }
  .cal-category-img {
    width: 64px;
    min-width: 64px;
    height: 64px;
    min-height: 64px;
  }
  .cal-category-img img {
    width: 72%;
    height: 72%;
    max-width: 72%;
    max-height: 72%;
  }
  .cal-category-name {
    font-size: 12px;
    margin: 0;
  }
  html:not([data-store-theme="wizardz"]) .cal-category-card {
    gap: 5px;
    align-items: center;
  }
  html:not([data-store-theme="wizardz"]) .cal-category-name {
    min-height: 2.4em;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .cal-cart-drawer {
    width: 100%;
    max-width: 100%;
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    max-height: min(82vh, 880px);
    border-top-left-radius: 22px;
    border-top-right-radius: 22px;
    transform: translateY(102%);
    box-shadow: 0 -10px 28px color-mix(in srgb, var(--cal-store-overlay) 56%, transparent);
    padding: 12px 12px max(12px, env(safe-area-inset-bottom));
  }
  body.cal-cart-open .cal-cart-drawer {
    transform: translateY(0);
  }

  .cal-auth-sheet {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    height: auto;
    max-height: min(86vh, 880px);
    border: 1px solid #d8e1ee;
    border-left: none;
    border-top: 1px solid #d8e1ee;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    transform: translateY(102%);
    opacity: 1;
    padding: 0;
  }

  body.cal-auth-open .cal-auth-sheet {
    transform: translateY(0);
    display: block;
  }

  .cal-auth-card {
    min-height: 0;
    transform: none;
  }
  .cal-auth-card[data-face="signup"] {
    transform: none;
  }
  .cal-auth-face {
    position: static;
    display: none;
    transform: none;
    backface-visibility: visible;
  }
  .cal-auth-card[data-face="login"] .cal-auth-face[data-auth-face="login"] {
    display: flex;
  }
  .cal-auth-card[data-face="signup"] .cal-auth-face[data-auth-face="signup"] {
    display: flex;
  }

  .cal-auth-head h3 {
    font-size: 22px;
  }

  .cal-auth-head p {
    font-size: 15px;
  }
  .cal-auth-head {
    padding: 14px 16px;
  }
  .cal-auth-body {
    padding: 12px 16px max(18px, env(safe-area-inset-bottom));
  }
  .cal-auth-phone-row {
    grid-template-columns: 120px 1fr;
    gap: 8px;
  }
  .cal-auth-grid-2,
  .cal-auth-grid-3 {
    grid-template-columns: 1fr;
  }

  .cal-cart-title img {
    width: 20px;
    height: 20px;
  }
}

/* Live product search results */
.cal-search-results {
  margin-top: 14px;
  border: 1px solid var(--cal-store-border);
  border-radius: 16px;
  background: var(--cal-store-card-bg-soft);
  max-height: min(56vh, 560px);
  overflow: auto;
}
.cal-search-item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--cal-store-border);
  color: var(--cal-store-ink);
  text-decoration: none;
}
.cal-search-item:hover {
  background: var(--cal-store-card-bg);
  text-decoration: none;
}
.cal-search-item-img {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--cal-store-border);
  background: var(--cal-store-card-bg);
}
.cal-search-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cal-search-item-img-fallback {
  width: 100%;
  height: 100%;
  background: var(--cal-store-card-bg);
}
.cal-search-item-copy {
  min-width: 0;
}
.cal-search-item-copy strong {
  display: block;
  font-size: 16px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cal-search-item-copy small {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--cal-store-muted);
}
.cal-search-item-desc {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.45;
  color: color-mix(in srgb, var(--cal-store-ink) 72%, white 28%);
}
.cal-search-item-price {
  font-size: 15px;
  font-weight: 700;
  color: var(--cal-store-ink);
}
.cal-search-no-results {
  padding: 18px 14px;
  font-size: 15px;
  color: var(--cal-store-muted);
}
.cal-search-all-link {
  display: block;
  padding: 12px 14px;
  color: var(--cal-store-secondary-text);
  font-size: 14px;
  font-weight: 600;
  background: var(--cal-store-card-bg);
  text-decoration: none;
}

@media (max-width: 760px) {
  .cal-search-item {
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 8px 10px;
  }
  .cal-search-item-img {
    width: 46px;
    height: 46px;
  }
  .cal-search-item-copy strong {
    font-size: 14px;
  }
  .cal-search-item-desc {
    font-size: 11px;
  }
  .cal-search-item-price {
    font-size: 13px;
  }
}

/* Stock state helpers */
.stock-out { color: #b42318; font-weight: 700; }
.button.disabled,
.button[aria-disabled="true"],
button:disabled {
  opacity: .58;
  cursor: not-allowed;
  pointer-events: none;
}

/* ---------- Frontend Stability Hotfixes ---------- */
html, body {
  max-width: 100%;
}
body {
  overflow-x: clip;
}
main, header, footer {
  max-width: 100%;
}

.cal-header {
  z-index: 1200;
}
.cal-store-status-bar {
  position: relative;
  z-index: 1201;
}
.cal-menu-backdrop {
  z-index: 1600;
}
.cal-menu-drawer {
  z-index: 1601;
}
.cal-address-backdrop {
  z-index: 1700;
}
.cal-address-sheet {
  z-index: 1701;
}
.cal-search-overlay {
  z-index: 1800;
}
.cal-auth-backdrop {
  z-index: 1850;
}
.cal-auth-sheet {
  z-index: 1851;
}
.cal-cart-backdrop {
  z-index: 1900;
}
.cal-cart-drawer {
  z-index: 1901;
  width: min(420px, 92vw);
  max-width: 420px;
}

html[data-storefront-guard="on"] .cal-menu-drawer,
html[data-storefront-guard="on"] .cal-address-sheet,
html[data-storefront-guard="on"] .cal-search-panel,
html[data-storefront-guard="on"] .cal-auth-sheet,
html[data-storefront-guard="on"] .cal-chat-sheet,
html[data-storefront-guard="on"] .cal-cart-drawer {
  isolation: isolate;
}

html[data-storefront-guard="on"] body:not(.cal-menu-open) .cal-menu-drawer > *,
html[data-storefront-guard="on"] body:not(.cal-address-open) .cal-address-sheet > *,
html[data-storefront-guard="on"] body:not(.cal-search-open) .cal-search-panel > *,
html[data-storefront-guard="on"] body:not(.cal-auth-open) .cal-auth-sheet > *,
html[data-storefront-guard="on"] body:not(.cal-chat-open) .cal-chat-sheet > *,
html[data-storefront-guard="on"] body:not(.cal-cart-open) .cal-cart-drawer > * {
  visibility: hidden;
}

html[data-storefront-guard="on"] body:not(.cal-menu-open) .cal-menu-drawer::after,
html[data-storefront-guard="on"] body:not(.cal-address-open) .cal-address-sheet::after,
html[data-storefront-guard="on"] body:not(.cal-search-open) .cal-search-panel::after,
html[data-storefront-guard="on"] body:not(.cal-auth-open) .cal-auth-sheet::after,
html[data-storefront-guard="on"] body:not(.cal-chat-open) .cal-chat-sheet::after,
html[data-storefront-guard="on"] body:not(.cal-cart-open) .cal-cart-drawer::after {
  content: "Hidden for Privacy";
  position: absolute;
  inset: 18px;
  display: grid;
  place-items: center;
  padding: 20px;
  border-radius: 24px;
  border: 1px dashed color-mix(in srgb, var(--cal-store-border) 78%, transparent);
  background: color-mix(in srgb, var(--cal-store-card-bg-soft) 94%, transparent);
  color: var(--cal-store-secondary-text);
  text-align: center;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  pointer-events: none;
  z-index: 1;
}

.cal-cart-title img,
.empty-cart-state img {
  filter: brightness(0) saturate(100%) invert(17%) sepia(18%) saturate(1343%) hue-rotate(175deg) brightness(93%) contrast(92%);
  opacity: .95;
}

.cal-address-form .addr-autocomplete-item {
  background: var(--cal-store-card-bg-soft) !important;
  border: 1px solid var(--cal-store-border) !important;
  border-radius: 10px !important;
  margin: 4px 0 !important;
  min-height: 0 !important;
  padding: 10px 12px !important;
}
.cal-address-form .addr-autocomplete-item:hover,
.cal-address-form .addr-autocomplete-item:focus-visible {
  background: var(--cal-store-card-bg) !important;
  border-color: var(--cal-store-border-strong) !important;
}
.cal-address-form .addr-autocomplete-item strong {
  color: var(--cal-store-ink) !important;
  -webkit-text-fill-color: var(--cal-store-ink) !important;
}
.cal-address-form .addr-autocomplete-item small {
  color: var(--cal-store-muted) !important;
  -webkit-text-fill-color: var(--cal-store-muted) !important;
}

/* Avoid mirrored signup face and keep card transitions stable. */
.cal-auth-card {
  transform-style: flat;
  min-height: 520px;
  overflow: hidden;
}
.cal-auth-card[data-face="signup"] {
  transform: none;
}
.cal-auth-face {
  backface-visibility: visible;
}
.cal-auth-face.is-login,
.cal-auth-face.is-signup {
  transition: transform .28s ease, opacity .2s ease;
}
.cal-auth-face.is-login {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.cal-auth-face.is-signup {
  transform: translateX(100%);
  opacity: 0;
  pointer-events: none;
}
.cal-auth-card[data-face="signup"] .cal-auth-face.is-login {
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
}
.cal-auth-card[data-face="signup"] .cal-auth-face.is-signup {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.cal-auth-inline-link {
  margin-top: 8px !important;
  justify-content: flex-start !important;
}

/* Keep map layers constrained to their card, not global overlays. */
.zones-page .zone-map,
.zones-page .zone-map .leaflet-container {
  position: relative;
  z-index: 0;
  isolation: isolate;
}
.zones-page .zone-map .leaflet-pane,
.zones-page .zone-map .leaflet-top,
.zones-page .zone-map .leaflet-bottom {
  z-index: 1 !important;
}
.zones-page .zone-map .leaflet-control {
  z-index: 2 !important;
}

@media (max-width: 760px) {
  html, body {
    overflow-x: hidden;
  }

  .container {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .cal-cart-drawer {
    width: 100%;
    max-width: 100%;
  }

  .cal-auth-card {
    min-height: 0;
    overflow: visible;
  }
  .cal-auth-face.is-signup {
    transform: none !important;
  }

  .cal-filter-pop {
    width: 100%;
    max-width: none;
    left: 0;
    right: 0;
  }

  .cal-order-again-scroll {
    max-width: 100%;
  }
}

/* ---------- UX Corrections (Auth/Deals/Map/Mobile) ---------- */
.cal-auth-card,
.cal-auth-face {
  transform-style: flat !important;
}
.cal-auth-card[data-face="signup"] {
  transform: none !important;
}
.cal-auth-face {
  backface-visibility: visible !important;
}
.cal-auth-face.is-login,
.cal-auth-face.is-signup {
  transition: transform .24s ease, opacity .2s ease !important;
}
.cal-auth-face.is-login {
  transform: translateX(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.cal-auth-face.is-signup {
  transform: translateX(100%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.cal-auth-card[data-face="signup"] .cal-auth-face.is-login {
  transform: translateX(-100%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.cal-auth-card[data-face="signup"] .cal-auth-face.is-signup {
  transform: translateX(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Sign-in code step should only show code entry UI, not phone + extra links. */
.cal-auth-card[data-step="code"] [data-auth-phone-form],
.cal-auth-card[data-step="code"] [data-auth-links],
.cal-auth-card[data-step="code"] [data-auth-terms] {
  display: none !important;
}
.cal-auth-card[data-step="phone"] [data-auth-code-form] {
  display: none !important;
}
.cal-auth-signup-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 4px 0 12px;
}
.cal-auth-signup-progress span {
  border: 1px solid #d1dae6;
  border-radius: 999px;
  padding: 5px 8px;
  text-align: center;
  font-size: 11px;
  color: #5f7187;
  font-weight: 700;
}
.cal-auth-signup-progress span.is-active {
  background: #e9f4ee;
  border-color: #7ab88d;
  color: #1f5b34;
}
.cal-auth-signup-step {
  display: none;
}
.cal-auth-signup-step.is-active {
  display: block;
}
.cal-auth-signup-actions {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-top: 10px;
}
.cal-auth-signup-actions .button,
.cal-auth-signup-actions button {
  flex: 1;
}
.cal-auth-agreement-box {
  max-height: 180px;
  overflow-y: auto;
  border: 1px solid #d7e1ec;
  background: #fff;
  border-radius: 10px;
  padding: 10px 12px;
  color: #243a54;
  font-size: 13px;
  line-height: 1.45;
  margin: 4px 0 10px;
}
.cal-auth-agreement-box p {
  margin: 0 0 8px;
}
.cal-auth-agreement-box ol {
  margin: 0 0 8px 18px;
  padding: 0;
}
.cal-auth-agreement-box li {
  margin: 0 0 4px;
}
.cal-auth-agreement-box a {
  font-weight: 700;
}

/* Prevent signup modal clipping on desktop */
.cal-auth-sheet {
  overflow-y: auto !important;
}
.cal-auth-card {
  min-height: 520px !important;
  overflow: hidden !important;
}
@media (min-width: 761px) {
  .cal-auth-sheet {
    max-height: min(90vh, 820px) !important;
  }
  .cal-auth-card {
    min-height: 600px !important;
  }
  .cal-auth-body {
    padding-bottom: 22px !important;
  }
}

/* Signup opens full-screen (chat-style) while login stays compact */
body.cal-auth-open.cal-auth-signup-fullscreen .cal-auth-sheet {
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  border-radius: 0 !important;
  border: 0 !important;
  transform: translate(0, 0) !important;
  overflow: auto !important;
}
body.cal-auth-open.cal-auth-signup-fullscreen .cal-auth-card {
  min-height: 0 !important;
  overflow: visible !important;
}
body.cal-auth-open.cal-auth-signup-fullscreen .cal-auth-head {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #f9fafc;
}
body.cal-auth-open.cal-auth-signup-fullscreen .cal-auth-body {
  padding-bottom: max(20px, env(safe-area-inset-bottom)) !important;
}

.cal-address-form .addr-autocomplete-list {
  background: var(--cal-store-card-bg-soft) !important;
  border-color: var(--cal-store-border) !important;
}
.cal-address-form .addr-autocomplete-item {
  color: var(--cal-store-ink) !important;
}
.cal-address-form .addr-autocomplete-item strong {
  color: var(--cal-store-ink) !important;
  -webkit-text-fill-color: var(--cal-store-ink) !important;
}
.cal-address-form .addr-autocomplete-item small {
  color: var(--cal-store-muted) !important;
  -webkit-text-fill-color: var(--cal-store-muted) !important;
}
.cal-address-form .addr-autocomplete-item:active,
.cal-address-form .addr-autocomplete-item[aria-selected="true"] {
  background: var(--cal-store-primary-bg) !important;
}
.cal-address-form .addr-autocomplete-item:active strong,
.cal-address-form .addr-autocomplete-item:active small,
.cal-address-form .addr-autocomplete-item[aria-selected="true"] strong,
.cal-address-form .addr-autocomplete-item[aria-selected="true"] small {
  color: var(--cal-store-primary-text) !important;
  -webkit-text-fill-color: var(--cal-store-primary-text) !important;
}

.cal-cart-drawer .cal-cart-head button {
  color: var(--cal-store-ink);
}
.cal-cart-drawer .cal-cart-title img,
.cal-cart-drawer .empty-cart-state img {
  filter: brightness(0) saturate(100%) !important;
  opacity: .3;
}

/* Header inline live search */
.cal-search-inline-box {
  position: relative;
  min-width: 0;
}
.cal-search-inline {
  width: 100%;
}
.cal-search-inline input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  padding: 0;
}
.cal-search-inline input::placeholder {
  color: rgba(255, 255, 255, .8);
}
.cal-search-inline-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 1300;
  background: var(--cal-store-card-bg-soft);
  border: 1px solid var(--cal-store-border);
  border-radius: 14px;
  box-shadow: 0 14px 26px color-mix(in srgb, var(--cal-blue-dark) 16%, transparent);
  max-height: min(62vh, 540px);
  overflow: auto;
}
.cal-search-inline-item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border-bottom: 1px solid var(--cal-store-border);
  text-decoration: none;
  color: var(--cal-store-ink);
}
.cal-search-inline-item:hover {
  background: var(--cal-store-card-bg);
  text-decoration: none;
}
.cal-search-inline-thumb {
  width: 44px;
  height: 44px;
  border-radius: 9px;
  border: 1px solid var(--cal-store-border);
  overflow: hidden;
  background: var(--cal-store-card-bg);
}
.cal-search-inline-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cal-search-inline-thumb-fallback {
  width: 100%;
  height: 100%;
  background: var(--cal-store-card-bg);
}
.cal-search-inline-copy {
  min-width: 0;
}
.cal-search-inline-copy strong {
  display: block;
  color: var(--cal-store-ink);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cal-search-inline-copy small {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--cal-store-muted);
}
.cal-search-inline-price {
  font-size: 13px;
  font-weight: 700;
  color: var(--cal-store-ink);
}
.cal-search-inline-empty {
  padding: 12px;
  color: var(--cal-store-muted);
  font-size: 14px;
}
.cal-search-inline-all {
  display: block;
  padding: 10px 12px;
  border-top: 1px solid var(--cal-store-border);
  background: var(--cal-store-card-bg);
  color: var(--cal-store-secondary-text);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

/* ---------- Header Phase 1 ---------- */
.cal-header-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding-top: 2px;
  padding-bottom: 6px;
}
.cal-header-cluster {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.cal-header-cluster-right {
  justify-self: end;
  justify-content: flex-end;
}
.cal-header-cluster-right {
  gap: 12px;
  position: relative;
  z-index: 2;
}
.cal-header-mode-switch {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
}
.cal-header-main .cal-header-mode-switch .cal-delivery-bar-modes {
  padding: 3px;
  border: 1px solid var(--cal-store-secondary-border);
  background: linear-gradient(180deg, rgba(22, 10, 10, .98) 0%, rgba(8, 6, 6, .98) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.cal-header-main .cal-header-mode-switch .cal-delivery-mode {
  min-height: 34px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 800;
  color: color-mix(in srgb, var(--cal-store-secondary-text) 82%, transparent);
}
.cal-header-main .cal-header-mode-switch .cal-delivery-mode:hover,
.cal-header-main .cal-header-mode-switch .cal-delivery-mode:focus-visible {
  background: color-mix(in srgb, var(--cal-store-pill-bg) 88%, transparent);
  color: var(--cal-store-secondary-text);
}
.cal-header-main .cal-header-mode-switch .cal-delivery-mode.is-active {
  background: color-mix(in srgb, var(--cal-store-pill-bg) 94%, transparent);
  color: var(--cal-store-pill-text);
  box-shadow: inset 0 0 0 1px var(--cal-store-pill-border);
}
.cal-header-main .cal-header-mode-switch .cal-delivery-mode-icon {
  width: 12px;
  height: 12px;
}
.cal-search-trigger {
  width: auto;
  min-width: min(28vw, 146px);
  justify-content: flex-start;
  cursor: pointer;
  border: 1px solid var(--cal-store-secondary-border);
  background: linear-gradient(180deg, rgba(16, 10, 10, .98) 0%, rgba(8, 6, 6, .98) 100%);
}
.cal-search-trigger span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12px;
  letter-spacing: .12em;
}
.cal-header-main .cal-help-btn {
  min-height: 40px;
  padding: 0 14px;
}

@media (max-width: 1340px) {
  .cal-header-main.has-inline-back {
    gap: 10px;
  }
  .cal-header-main.has-inline-back .cal-header-cluster {
    gap: 8px;
  }
  .cal-header-main.has-inline-back .cal-search-trigger {
    min-width: min(16vw, 114px);
  }
  .cal-header-main.has-inline-back .cal-back-btn-inline,
  .cal-header-main.has-inline-back .cal-help-btn {
    min-width: 40px;
    padding: 0 10px;
    justify-content: center;
  }
  .cal-header-main.has-inline-back .cal-back-btn-inline span,
  .cal-header-main.has-inline-back .cal-help-btn span {
    display: none;
  }
}

.cal-back-btn-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.cal-search-panel {
  padding: max(20px, env(safe-area-inset-top)) 22px max(20px, env(safe-area-inset-bottom));
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  overflow: auto;
  overscroll-behavior: contain;
}
.cal-search-shell {
  width: min(1140px, 100%);
  height: min(780px, calc(100dvh - max(40px, env(safe-area-inset-top)) - max(40px, env(safe-area-inset-bottom))));
  max-height: calc(100dvh - max(40px, env(safe-area-inset-top)) - max(40px, env(safe-area-inset-bottom)));
  border: 1px solid var(--cal-search-shell-border);
  border-radius: 28px;
  background: var(--cal-search-shell-bg);
  box-shadow: 0 32px 70px color-mix(in srgb, var(--cal-store-overlay) 40%, transparent);
  padding: 18px;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 14px;
  overflow: hidden;
}
.cal-search-top {
  display: grid;
  gap: 14px;
}
.cal-search-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.cal-search-head-copy {
  display: grid;
  gap: 8px;
}
.cal-search-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid var(--cal-search-surface-border);
  background: var(--cal-search-input-bg);
  color: var(--cal-search-heading-color);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cal-search-head h3 {
  margin: 0;
  color: var(--cal-search-heading-color);
  font-size: clamp(24px, 3vw, 40px);
  line-height: 1;
  letter-spacing: -.05em;
  max-width: 14ch;
}
.cal-search-head p {
  margin: 0;
  max-width: 66ch;
  color: var(--cal-search-copy-color);
  font-size: 14px;
  line-height: 1.55;
}
.cal-search-close {
  position: static;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid var(--cal-search-surface-border);
  background: var(--cal-search-input-bg);
  color: var(--cal-search-heading-color);
  font-size: 34px;
  line-height: 1;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--cal-store-primary-shadow);
}
.cal-search-form {
  margin-top: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  border: 1px solid var(--cal-search-surface-border);
  border-radius: 18px;
  background: var(--cal-search-input-bg);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--cal-store-overlay) 14%, transparent);
}
.cal-search-input-wrap {
  min-width: 0;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  gap: 12px;
  padding: 0 16px;
  border-radius: 16px 0 0 16px;
  transition: box-shadow .16s ease, background-color .16s ease;
}
.cal-search-input-wrap:focus-within {
  box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--cal-store-primary-border) 56%, transparent);
}
.cal-search-form input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 60px;
  color: var(--cal-search-input-text);
  font-size: clamp(18px, 2.3vw, 28px);
  line-height: 1.1;
  outline: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.cal-search-form input::placeholder {
  color: var(--cal-search-placeholder-color);
  opacity: 1;
}
.cal-search-form button {
  min-height: 60px;
  min-width: 108px;
  font-size: 16px;
  font-weight: 800;
}
.cal-search-body {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(320px, .94fr) minmax(0, 1.06fr);
  gap: 14px;
}
.cal-search-discovery,
.cal-search-results-shell {
  min-height: 0;
  border: 1px solid var(--cal-search-surface-border);
  border-radius: 20px;
  background: var(--cal-search-surface-bg);
  padding: 14px;
}
.cal-search-discovery {
  display: grid;
  gap: 14px;
  align-content: start;
  overflow: auto;
}
.cal-search-discovery[hidden] {
  display: none !important;
}
.cal-search-feature-card {
  border: 1px solid color-mix(in srgb, var(--cal-store-primary-border) 70%, transparent);
  border-radius: 20px;
  padding: 16px;
  background: var(--cal-search-feature-bg);
  display: grid;
  gap: 10px;
}
.cal-search-feature-card .button {
  justify-self: start;
}
.cal-search-feature-kicker {
  color: var(--cal-store-secondary-text);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cal-search-feature-card strong {
  color: var(--cal-store-ink);
  font-size: 22px;
  line-height: 1.05;
}
.cal-search-feature-card p {
  margin: 0;
  color: var(--cal-store-muted);
  font-size: 13px;
  line-height: 1.58;
}
.cal-search-discovery-block {
  display: grid;
  gap: 10px;
}
.cal-search-discovery-head {
  display: grid;
  gap: 3px;
}
.cal-search-discovery-head strong {
  color: var(--cal-store-ink);
  font-size: 15px;
}
.cal-search-discovery-head span {
  color: var(--cal-store-muted);
  font-size: 12px;
}
.cal-search-quick-grid,
.cal-search-brand-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.cal-search-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cal-search-category-chip {
  min-width: 0;
  border: 1px solid var(--cal-store-border);
  border-radius: 999px;
  background: var(--cal-store-card-bg);
  padding: 10px 14px;
  color: var(--cal-store-ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.cal-search-category-chip:hover {
  text-decoration: none;
  transform: translateY(-1px);
  border-color: var(--cal-store-border-strong);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--cal-store-overlay) 10%, transparent);
}
.cal-search-category-chip strong {
  color: var(--cal-store-ink);
  font-size: 13px;
  line-height: 1;
}
.cal-search-category-chip span {
  color: var(--cal-store-muted);
  font-size: 11px;
  line-height: 1;
}
.cal-search-quick-grid a,
.cal-search-brand-card {
  border: 1px solid var(--cal-store-border);
  border-radius: 16px;
  background: var(--cal-store-card-bg);
  padding: 12px;
  color: var(--cal-store-ink);
  text-decoration: none;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--cal-store-overlay) 6%, transparent);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.cal-search-quick-grid a:hover,
.cal-search-brand-card:hover {
  text-decoration: none;
  transform: translateY(-1px);
  border-color: var(--cal-store-border-strong);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--cal-store-overlay) 12%, transparent);
}
.cal-search-quick-grid a {
  display: grid;
  gap: 4px;
}
.cal-search-quick-grid strong,
.cal-search-brand-card strong {
  display: block;
  color: var(--cal-store-ink);
  font-size: 14px;
  line-height: 1.2;
}
.cal-search-quick-grid span {
  display: block;
  margin-top: 4px;
  color: var(--cal-store-muted);
  font-size: 12px;
  line-height: 1.45;
}
.cal-search-brand-card {
  display: grid;
  gap: 12px;
  align-content: start;
}
.cal-search-brand-tag {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--cal-search-brand-tag-bg);
  color: var(--cal-store-secondary-text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cal-search-brand-card-main {
  display: grid;
  grid-template-columns: minmax(92px, 112px) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}
.cal-search-brand-copy {
  display: grid;
  gap: 4px;
}
.cal-search-brand-copy span {
  color: var(--cal-store-muted);
  font-size: 12px;
  line-height: 1.45;
}
.cal-search-brand-grid .cal-search-brand-card:first-child {
  grid-column: 1 / -1;
  background: var(--cal-search-feature-bg);
}
.cal-search-brand-grid .cal-search-brand-card:first-child .cal-search-brand-card-main {
  grid-template-columns: minmax(130px, 180px) minmax(0, 1fr);
}
.cal-search-brand-mark {
  width: 100%;
  min-height: 82px;
  border-radius: 14px;
  border: 1px solid var(--cal-store-border);
  background: var(--cal-store-card-bg-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.cal-search-brand-mark img {
  max-width: 78%;
  max-height: 46px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.cal-search-brand-mark span {
  color: var(--cal-store-secondary-text);
  font-size: 28px;
  font-weight: 900;
}
.cal-search-results-shell {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 10px;
  align-content: start;
  overflow: hidden;
}
.cal-search-results-head {
  display: grid;
  gap: 4px;
}
.cal-search-results-head strong {
  color: var(--cal-search-heading-color);
  font-size: 18px;
  line-height: 1.1;
}
.cal-search-results-head span {
  color: var(--cal-search-copy-color);
  font-size: 13px;
}
.cal-search-results {
  border: 1px solid var(--cal-search-surface-border);
  border-radius: 16px;
  background: var(--cal-search-input-bg);
  max-height: none;
  overflow: auto;
}
.cal-search-empty-msg {
  margin-top: 0;
  align-self: start;
  display: flex;
  align-items: flex-start;
  padding: 18px;
  border: 1px dashed var(--cal-search-surface-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--cal-search-surface-bg) 86%, white 14%);
  text-align: left;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
  color: var(--cal-search-heading-color);
  min-height: clamp(180px, 28vh, 280px);
}

@media (max-width: 760px) {
  .cal-header {
    background:
      radial-gradient(circle at top center, color-mix(in srgb, var(--cal-blue) 16%, transparent) 0%, transparent 42%),
      linear-gradient(180deg, color-mix(in srgb, var(--cal-blue-dark) 86%, #050505 14%) 0%, color-mix(in srgb, var(--cal-blue) 22%, #080606 78%) 100%);
    border-bottom-color: rgba(183, 34, 28, .28);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .24);
  }
  .cal-menu-drawer {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    max-width: none;
    max-height: min(82vh, 760px);
    padding: 10px 18px max(26px, env(safe-area-inset-bottom));
    border-radius: 26px 26px 0 0;
    border-top: 1px solid var(--cal-store-drawer-border);
    border-right: 0;
    border-left: 0;
    transform: translateY(108%);
    transition: transform .28s ease;
    box-shadow: 0 -18px 40px rgba(0, 0, 0, .34);
  }
  .cal-menu-head {
    position: sticky;
    top: 0;
    z-index: 2;
    margin: 0 -18px 12px;
    padding: 0 18px 12px;
    background:
      linear-gradient(180deg, rgba(12, 8, 8, .98) 0%, rgba(12, 8, 8, .92) 76%, rgba(12, 8, 8, 0) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  .cal-menu-head img {
    height: 54px;
  }
  .cal-menu-links a {
    padding: 14px 16px;
    font-size: 17px;
  }
  .cal-menu-support {
    margin-top: 10px;
    padding: 12px 14px 14px;
  }
  .cal-menu-support strong {
    font-size: 12px;
  }
  .cal-menu-support p {
    font-size: 12px;
  }
  .cal-menu-support .button {
    min-height: 40px;
  }
  .cal-menu-group-summary {
    padding: 14px 16px;
  }
  .cal-menu-group-summary-copy small {
    font-size: 11px;
  }
  .cal-hours {
    padding-top: 6px;
  }
  .cal-menu-drawer::before {
    content: "";
    display: block;
    width: 52px;
    height: 5px;
    margin: 0 auto 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--cal-store-drawer-ink) 20%, transparent);
  }
  .cal-header-main {
    gap: 8px;
  }
  .cal-header-cluster {
    gap: 8px;
  }
  .cal-header-cluster-right {
    gap: 8px;
  }
  .cal-header-main .cal-header-mode-switch .cal-delivery-bar-modes {
    padding: 2px;
  }
  .cal-header-main .cal-header-mode-switch .cal-delivery-mode {
    min-height: 30px;
    min-width: 30px;
    padding: 0 9px;
    font-size: 11px;
  }
  .cal-header-main .cal-header-mode-switch .cal-delivery-mode > span:last-child {
    display: none;
  }
  .cal-search-trigger {
    min-width: 0;
    width: 40px;
    justify-content: center;
    padding: 0;
  }
  .cal-icon-btn,
  .cal-search-wrap,
  .cal-help-btn,
  .cal-back-btn-inline,
  .cal-back-btn {
    border-color: rgba(183, 34, 28, .26);
    background: linear-gradient(180deg, rgba(21, 11, 11, .96) 0%, rgba(8, 6, 6, .98) 100%);
    box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
  }
  .cal-search-trigger span,
  .cal-help-btn span,
  .cal-back-btn-inline span {
    display: none;
  }
  .cal-header-main .cal-help-btn {
    width: 40px;
    min-width: 40px;
    padding: 0;
    justify-content: center;
  }
  .cal-search-panel {
    padding: 0;
    align-items: stretch;
    background: color-mix(in srgb, var(--cal-store-overlay) 82%, transparent);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  .cal-search-shell {
    width: 100%;
    min-height: 100dvh;
    height: auto;
    max-height: none;
    padding: 0;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    background: var(--cal-search-shell-bg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .cal-search-top {
    position: sticky;
    top: 0;
    z-index: 4;
    gap: 12px;
    padding: max(12px, env(safe-area-inset-top)) 14px 12px;
    background: color-mix(in srgb, var(--cal-search-surface-bg) 94%, white 6%);
    border-bottom: 1px solid var(--cal-search-surface-border);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--cal-store-overlay) 12%, transparent);
  }
  .cal-search-head {
    gap: 10px;
    align-items: flex-start;
  }
  .cal-search-head-copy {
    gap: 6px;
  }
  .cal-search-head h3 {
    font-size: clamp(24px, 8vw, 34px);
    max-width: 11ch;
  }
  .cal-search-head p {
    max-width: none;
    font-size: 12.5px;
    line-height: 1.45;
  }
  .cal-search-close {
    width: 40px;
    height: 40px;
    font-size: 28px;
    box-shadow: none;
  }
  .cal-search-form {
    grid-template-columns: minmax(0, 1fr) auto;
    border-radius: 16px;
  }
  .cal-search-input-wrap {
    padding: 0 14px;
    border-radius: 14px 0 0 14px;
  }
  .cal-search-input-wrap:focus-within {
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--cal-store-primary-border) 56%, transparent);
  }
  .cal-search-form button {
    width: auto;
    min-width: 78px;
    min-height: 54px;
    border-radius: 0 16px 16px 0;
    font-size: 13px;
    padding: 0 15px;
  }
  .cal-search-form input {
    min-height: 54px;
    font-size: 17px;
  }
  .cal-search-body {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 14px max(20px, env(safe-area-inset-bottom));
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    align-content: start;
  }
  .cal-search-discovery,
  .cal-search-results-shell {
    padding: 12px;
    border-radius: 18px;
    overflow: visible;
  }
  .cal-search-results-shell {
    order: 1;
  }
  .cal-search-discovery {
    order: 2;
    gap: 12px;
  }
  .cal-search-feature-card {
    padding: 14px;
    gap: 8px;
  }
  .cal-search-feature-card strong {
    font-size: 18px;
  }
  .cal-search-chip-grid {
    gap: 8px;
  }
  .cal-search-category-chip {
    padding: 10px 12px;
  }
  .cal-search-quick-grid,
  .cal-search-brand-grid {
    grid-template-columns: 1fr;
  }
  .cal-search-brand-grid .cal-search-brand-card:first-child {
    grid-column: auto;
  }
  .cal-search-brand-card {
    gap: 10px;
  }
  .cal-search-brand-card-main,
  .cal-search-brand-grid .cal-search-brand-card:first-child .cal-search-brand-card-main {
    grid-template-columns: minmax(82px, 96px) minmax(0, 1fr);
    gap: 10px;
  }
  .cal-search-brand-mark {
    min-height: 72px;
  }
  .cal-search-results-head strong {
    font-size: 16px;
  }
  .cal-search-results-head span {
    font-size: 12px;
  }
  .cal-search-empty-msg {
    padding: 16px;
    font-size: 15px;
    min-height: 132px;
  }
  .cal-search-results {
    max-height: 42vh;
    overflow: auto;
  }
}

@media (max-width: 1024px) {
  .shop-product-grid,
  .product-grid,
  .kkpb-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .shop-product-card,
  .product-card,
  .kkpb-card {
    min-width: 0;
  }
  body.brand-archive-page .kkpb-grid,
  body.brand-detail-page .product-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow-x: hidden !important;
  }
  body.brand-archive-page .kkpb-grid > *,
  body.brand-detail-page .product-grid > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 980px) {
  .shop-product-grid,
  .kkpb-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }
}

/* Keep delivery map fully contained so it never overlays drawers/header/cart. */
.zones-page .zone-card,
.zones-page .zone-map {
  position: relative;
  overflow: hidden;
  contain: paint;
  z-index: 0;
}
.zones-page .zone-map .leaflet-container {
  position: relative;
  z-index: 0 !important;
}
.zones-page .zone-map .leaflet-pane,
.zones-page .zone-map .leaflet-top,
.zones-page .zone-map .leaflet-bottom,
.zones-page .zone-map .leaflet-control {
  z-index: auto !important;
}

@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    overflow-x: hidden;
  }

  /* Prevent iOS auto-zoom and inconsistent scale between pages/forms. */
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    font-size: 16px !important;
  }

  .cal-search-inline input {
    font-size: 16px;
  }
  .cal-search-inline-results {
    max-height: min(52vh, 430px);
  }
  .cal-search-inline-item {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
  }
  .cal-search-inline-thumb {
    width: 38px;
    height: 38px;
  }
  .cal-search-inline-copy strong {
    font-size: 13px;
  }
  .cal-search-inline-price {
    font-size: 12px;
  }

  .shop-product-grid,
  .product-grid,
  .kkpb-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }
  body.brand-archive-page,
  body.brand-detail-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body.brand-archive-page .container,
  body.brand-archive-page main.container,
  body.brand-detail-page .container,
  body.brand-detail-page main.container {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body.brand-archive-page .kkpb-grid,
  body.brand-detail-page .product-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow-x: hidden !important;
  }

  .cal-auth-signup-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cal-auth-agreement-box {
    max-height: 140px;
    font-size: 12px;
  }
}

/* Final mobile/tablet shop grid guard:
   keep 2 columns stable on initial paint and prevent sideways overflow. */
@media (max-width: 1024px) {
  main.container {
    overflow-x: clip;
  }
  .product-grid.shop-product-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow-x: hidden;
  }
  .product-grid.shop-product-grid > * {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }
  .product-grid.shop-product-grid .shop-product-card {
    min-width: 0 !important;
  }
}

/* Mobile shop-page viewport lock:
   prevent any horizontal drift/overlap in mobile Safari. */
@media (max-width: 760px) {
  html,
  body.shop-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body.shop-page .container,
  body.shop-page main.container,
  body.shop-page .cal-category-strip .container,
  body.shop-page .cal-shop-hero-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body.shop-page .product-grid.shop-product-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  body.shop-page .product-grid.shop-product-grid > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.shop-page .shop-product-card,
  body.shop-page .shop-product-card h3,
  body.shop-page .shop-product-card .shop-product-meta,
  body.shop-page .shop-product-card .price,
  body.shop-page .shop-product-card .shop-add-row {
    min-width: 0 !important;
  }
  body.shop-page .shop-product-card h3 a,
  body.shop-page .shop-product-card .shop-product-meta {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  body.shop-page .cal-hero,
  body.shop-page .cal-hero-track,
  body.shop-page .cal-hero-slide,
  body.shop-page .cal-hero-slide img {
    max-width: 100% !important;
  }
}

/* Brand archive mobile stability:
   prevent horizontal overlap and keep category pill slider usable. */
@media (max-width: 760px) {
  body.brand-archive-page {
    overflow-x: hidden !important;
  }
  body.brand-archive-page .kkpb-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 12px 120px !important;
    overflow-x: clip;
  }
  body.brand-archive-page .kkpb-banner,
  body.brand-archive-page .kkpb-toolbar,
  body.brand-archive-page .kkpb-pills,
  body.brand-archive-page .kkpb-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  body.brand-archive-page .kkpb-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
  body.brand-archive-page .kkpb-search {
    width: 100%;
    min-width: 0;
  }
  body.brand-archive-page .kkpb-sort {
    width: min(40vw, 160px);
    min-width: 108px;
  }
  body.brand-archive-page .kkpb-pills {
    overflow: hidden;
  }
  body.brand-archive-page .kkpb-pills .kkpb-track {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    padding-inline: 2px;
  }
  body.brand-archive-page .kkpb-pills .pill {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  body.brand-archive-page .kkpb-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow-x: hidden !important;
  }
  body.brand-archive-page .kkpb-card {
    min-width: 0;
    max-width: 100%;
  }
  body.brand-archive-page .kkpb-card .brand {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.brand-archive-page .kkpb-strip {
    max-width: 100%;
    grid-auto-columns: 74%;
  }
}


/* Auth sheet visibility guard: keep modal visible over backdrop on desktop/mobile. */
.cal-auth-backdrop.is-open {
  display: block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.cal-auth-sheet.is-open {
  display: block !important;
  opacity: 1 !important;
  z-index: 1851 !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) scale(1) !important;
}
@media (max-width: 760px) {
  .cal-auth-sheet.is-open {
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    transform: translateY(0) !important;
  }
}

/* ---------- Admin Global Layout Pass ---------- */
body.admin-page {
  --cal-blue: #a02821;
  --cal-blue-dark: #7b1c17;
  --cal-blue-ink: #5f1612;
  --th-admin-text-strong: #2c1410;
  --th-admin-text-soft: #7b5a53;
  --cal-page: #f6eded;
  --cal-text: #241311;
  --cal-muted: #8b6159;
  --cal-border: #d9dfe5;
  --cal-panel-start: #ffffff;
  --cal-panel-end: #fff8f7;
  --cal-admin-bg-start: #fff7f4;
  --cal-admin-bg-mid: #fcede8;
  --cal-admin-bg-end: #fffaf8;
  --cal-admin-accent: #df4b42;
  --cal-admin-body-start: #f6eded;
  --cal-admin-body-mid: #faf2f0;
  --cal-admin-body-end: #fdf8f7;
  background: linear-gradient(180deg, var(--cal-admin-body-start) 0%, var(--cal-admin-body-mid) 35%, var(--cal-admin-body-end) 100%);
  color: var(--cal-text);
  max-width: 100%;
  overflow-x: hidden;
}
body.admin-page .container {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 12px 20px;
  padding-left: max(20px, env(safe-area-inset-left));
  padding-right: max(20px, env(safe-area-inset-right));
}
body.admin-page > main.container {
  padding-top: 10px;
  padding-bottom: 18px;
  max-width: 100%;
  overflow-x: hidden;
}
body.admin-page h1 {
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--th-admin-text-strong);
}
body.admin-page h2 {
  font-size: clamp(20px, 1.45vw, 26px);
  line-height: 1.15;
}
body.admin-page .subtle {
  color: var(--cal-muted);
}
body.admin-page .header-row {
  gap: 12px;
  margin-bottom: 4px;
  min-width: 0;
}
body.admin-page .row {
  gap: 9px;
  min-width: 0;
}
body.admin-page .panel {
  margin: 11px 0;
  border-radius: 16px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--cal-border) 88%, #f3dfda 12%);
  background: linear-gradient(180deg, var(--cal-panel-start) 0%, var(--cal-panel-end) 100%);
  box-shadow: 0 8px 20px rgba(92, 18, 14, 0.08);
  max-width: 100%;
}
body.admin-page .panel > h2,
body.admin-page .panel > h3 {
  margin-bottom: 8px;
}
body.admin-page input,
body.admin-page select,
body.admin-page textarea,
body.admin-page .button,
body.admin-page button {
  max-width: 100%;
}
body.admin-page input[type="text"],
body.admin-page input[type="search"],
body.admin-page input[type="email"],
body.admin-page input[type="tel"],
body.admin-page input[type="number"],
body.admin-page input[type="date"],
body.admin-page input[type="time"],
body.admin-page input[type="password"],
body.admin-page select,
body.admin-page textarea {
  min-height: 40px;
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 11px;
  border-color: #e3c7c1;
  background: #ffffff;
  color: var(--cal-text);
}
body.admin-page input::placeholder,
body.admin-page textarea::placeholder {
  color: #9a6f67;
}
body.admin-page input:focus,
body.admin-page select:focus,
body.admin-page textarea:focus {
  border-color: var(--cal-blue);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cal-blue) 24%, transparent);
  outline: none;
}
body.admin-page input[type="time"] {
  letter-spacing: 0.01em;
  font-weight: 600;
}
body.admin-page input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid #cfaaa0;
  background: #d8b7af;
  position: relative;
  cursor: pointer;
  vertical-align: middle;
  transition: background-color .18s ease, border-color .18s ease;
}
body.admin-page input[type="checkbox"]::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 1px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.24);
  transition: transform .18s ease;
}
body.admin-page input[type="checkbox"]:checked {
  background: var(--cal-green);
  border-color: var(--cal-green);
}
body.admin-page input[type="checkbox"]:checked::after {
  transform: translateX(20px);
}
body.admin-page input[type="checkbox"]:focus-visible {
  outline: 2px solid #df7c72;
  outline-offset: 2px;
}
body.admin-page textarea {
  min-height: 108px;
}
body.admin-page .button,
body.admin-page button {
  min-height: 38px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  border: 1px solid transparent;
}
body.admin-page .button.secondary,
body.admin-page button.secondary {
  background: linear-gradient(180deg, #ffffff 0%, #fff6f3 100%);
  border-color: #e4c9c1;
  color: var(--cal-blue-ink);
}
body.admin-page .button:hover,
body.admin-page button:hover {
  filter: brightness(1.04);
}
body.admin-page .alert,
body.admin-page .success,
body.admin-page .error {
  border-radius: 11px;
  padding: 10px 12px;
}
body.admin-page table {
  width: 100%;
  font-size: 13px;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 12px;
  overflow: hidden;
}
body.admin-page thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #fff1ee;
}
body.admin-page th,
body.admin-page td {
  padding: 9px 8px;
  border-bottom-color: #efe0db;
}
body.admin-page tr:hover td {
  background: #fff8f7;
}
body.admin-page code {
  background: #f7edeb;
  border: 1px solid #e4cdc7;
  border-radius: 7px;
  padding: 1px 5px;
  font-size: 0.92em;
}

@media (max-width: 980px) {
  body.admin-page .container {
    padding: 10px 12px;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }
  body.admin-page > main.container {
    padding-top: 8px;
    padding-bottom: 14px;
  }
  body.admin-page .panel {
    margin: 9px 0;
    padding: 13px;
    border-radius: 14px;
  }
  body.admin-page .admin-topbar-inner {
    padding-top: 7px;
    padding-bottom: 7px;
  }
  body.admin-page .admin-topnav-link {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  body.admin-page .header-row .row {
    width: 100%;
  }
  body.admin-page .header-row .row .button {
    flex: 1 1 auto;
  }
}

@media (max-width: 760px) {
  body.admin-page .container {
    padding: 8px 10px;
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
  }
  body.admin-page > main.container {
    padding-bottom: max(16px, env(safe-area-inset-bottom));
    width: 100%;
    overflow-x: hidden;
  }
  body.admin-page .panel {
    padding: 10px;
    border-radius: 10px;
    margin: 7px 0;
  }
  body.admin-page h1 {
    font-size: 22px;
  }
  body.admin-page h2 {
    font-size: 18px;
  }
  body.admin-page .admin-topnav-link {
    min-height: 34px;
  }
  body.admin-page input[type="text"],
  body.admin-page input[type="search"],
  body.admin-page input[type="email"],
  body.admin-page input[type="tel"],
  body.admin-page input[type="number"],
  body.admin-page input[type="date"],
  body.admin-page input[type="time"],
  body.admin-page input[type="password"],
  body.admin-page select,
  body.admin-page textarea,
  body.admin-page .button,
  body.admin-page button {
    font-size: 13px;
    min-height: 34px;
    border-radius: 9px;
  }
  body.admin-page table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body.admin-page .header-row > * {
    min-width: 0;
  }
  body.admin-page .row > * {
    min-width: 0;
  }
}

@media (min-width: 1024px) and (max-width: 1366px) {
  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-inner,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topbar-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand user"
      "nav nav";
    align-items: center;
    min-height: 78px;
    gap: 10px 12px;
    padding-top: max(10px, env(safe-area-inset-top, 0px));
    padding-bottom: 10px;
    overflow: visible;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-brand,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-brand {
    grid-area: brand;
    min-width: 0;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-brand-logo-wrap,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-brand-logo-wrap {
    min-width: 90px;
    height: 40px;
    padding: 4px 8px;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-brand-logo-wrap img,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-brand-logo-wrap img {
    max-height: 20px;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-brand-text,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-brand-text {
    display: inline;
    font-size: 12px;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-menu-toggle,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-menu-toggle {
    display: none !important;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-user,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topbar-user {
    grid-area: user;
    justify-self: end;
    align-self: center;
    min-width: 0;
    gap: 8px;
    font-size: 12px;
    white-space: nowrap;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-user span,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topbar-user span {
    display: none;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topbar-user a,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topbar-user a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid rgba(196,67,57,.16);
    background: rgba(255,255,255,.94);
    color: var(--cal-blue-ink);
    text-decoration: none;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav {
    grid-area: nav;
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav::-webkit-scrollbar,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav::-webkit-scrollbar {
    display: none;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-primary,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-primary {
    flex: 0 0 auto;
    width: max-content;
    min-width: max-content;
    gap: 8px;
    overflow: visible;
    padding-right: 4px;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-link,
  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-more summary,
  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-context strong,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-link,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-more summary,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-context strong {
    min-height: 40px;
    padding: 0 14px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-link,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-link {
    flex: 0 0 auto;
    gap: 8px;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-link-icon,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-link-icon {
    width: 18px;
    height: 18px;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-link-icon svg,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-link-icon svg {
    width: 16px;
    height: 16px;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-more,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-more {
    flex: 0 0 auto;
    margin-left: 0;
  }

  body.admin-touch-tablet-nav .admin-topbar:not(.is-pos-host) .admin-topnav-more-menu,
  .admin-topbar.admin-app-shell:not(.is-pos-host) .admin-topnav-more-menu {
    top: calc(100% + 8px);
    right: auto;
    left: 0;
    min-width: min(760px, 94vw);
    max-height: calc(100dvh - 120px);
    overflow: auto;
  }
}

/* ---------- Pickup Detail Sheet ---------- */
.cal-address-sheet [hidden] {
  display: none !important;
}
.cal-address-sheet .cal-pickup-sheet-panel {
  display: grid;
  gap: 14px;
}
.cal-address-sheet.is-delivery-mode .cal-pickup-sheet-panel {
  display: none !important;
}
.cal-address-sheet.is-pickup-mode .cal-address-form {
  display: none !important;
}
.cal-address-sheet .cal-pickup-sheet-card,
.cal-address-sheet .cal-pickup-sheet-hours,
.cal-address-sheet .cal-pickup-sheet-map {
  background: var(--cal-store-card-bg-soft);
  border: 1px solid var(--cal-store-border);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--cal-blue-dark) 12%, transparent);
}
.cal-address-sheet .cal-pickup-sheet-eyebrow {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cal-store-muted);
}
.cal-address-sheet .cal-pickup-sheet-card h4 {
  margin: 0 0 4px;
  font-size: 20px;
  color: var(--cal-store-ink);
}
.cal-address-sheet .cal-pickup-sheet-address {
  margin: 0;
  color: var(--cal-store-muted);
  line-height: 1.45;
}
.cal-address-sheet .cal-pickup-sheet-note {
  margin-top: 10px;
  padding: 10px 11px;
  border: 1px solid var(--cal-store-border);
  border-radius: 14px;
  background: var(--cal-store-card-bg);
}
.cal-address-sheet .cal-pickup-sheet-note-label {
  display: block;
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cal-store-muted);
}
.cal-address-sheet .cal-pickup-sheet-note p {
  margin: 0;
  color: var(--cal-store-ink);
  font-size: 13px;
  line-height: 1.45;
}
.cal-address-sheet .cal-pickup-sheet-actions {
  margin-top: 10px;
}
.cal-address-sheet .cal-pickup-sheet-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--cal-store-secondary-border);
  color: var(--cal-store-secondary-text);
  text-decoration: none;
  font-weight: 700;
  background: var(--cal-store-secondary-bg);
}
.cal-address-sheet .cal-pickup-sheet-hours-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.cal-address-sheet .cal-pickup-sheet-hours-head strong {
  color: var(--cal-store-ink);
  font-size: 15px;
}
.cal-address-sheet .cal-pickup-sheet-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 8px;
  border: 1px solid var(--cal-store-pill-border);
  color: var(--cal-store-pill-text);
  background: var(--cal-store-pill-bg);
}
.cal-address-sheet .cal-pickup-sheet-status.is-open {
  background: var(--cal-store-success-bg);
  border-color: var(--cal-store-success-border);
  color: var(--cal-store-success-text);
}
.cal-address-sheet .cal-pickup-sheet-status.is-closed {
  background: var(--cal-store-danger-bg);
  border-color: var(--cal-store-danger-border);
  color: var(--cal-store-danger-text);
}
.cal-address-sheet .cal-pickup-sheet-hours-message {
  margin: 6px 0 8px;
  color: var(--cal-store-muted);
  font-size: 13px;
}
.cal-address-sheet .cal-pickup-sheet-hours-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cal-address-sheet .cal-pickup-sheet-hours-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 0;
  border-top: 1px dashed var(--cal-store-border);
  color: var(--cal-store-muted);
  font-size: 13px;
}
.cal-address-sheet .cal-pickup-sheet-hours-list li:first-child {
  border-top: none;
}
.cal-address-sheet .cal-pickup-sheet-hours-list li.is-today {
  color: var(--cal-store-ink);
  font-weight: 700;
}
.cal-address-sheet .cal-pickup-sheet-map-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.cal-address-sheet .cal-pickup-sheet-map-head strong {
  color: var(--cal-store-ink);
  font-size: 15px;
}
.cal-address-sheet .cal-pickup-map-toggle {
  border: 1px solid var(--cal-store-secondary-border);
  background: var(--cal-store-secondary-bg);
  color: var(--cal-store-secondary-text);
  border-radius: 999px;
  min-height: 32px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 700;
}
.cal-address-sheet .cal-pickup-sheet-map-frame {
  overflow: hidden;
  border-radius: 14px;
  transition: max-height .2s ease, opacity .2s ease;
  max-height: 220px;
  opacity: 1;
  border: 1px solid var(--cal-store-border);
}
.cal-address-sheet .cal-pickup-sheet-map iframe {
  width: 100%;
  height: 186px;
  border: 0;
  border-radius: 14px;
  background: var(--cal-store-card-bg);
}
.cal-address-sheet .cal-pickup-sheet-panel.is-map-collapsed .cal-pickup-sheet-map-frame {
  max-height: 0;
  opacity: 0;
}
.cal-address-sheet .cal-pickup-sheet-done {
  width: 100%;
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid var(--cal-store-primary-border);
  background: var(--cal-store-primary-bg);
  color: var(--cal-store-primary-text);
  font-weight: 700;
  font-size: 16px;
  box-shadow: var(--cal-store-primary-shadow);
}
@media (max-width: 760px) {
  .cal-address-sheet .cal-pickup-sheet-panel {
    gap: 10px;
  }
  .cal-address-sheet .cal-pickup-sheet-card,
  .cal-address-sheet .cal-pickup-sheet-hours,
  .cal-address-sheet .cal-pickup-sheet-map {
    border-radius: 18px;
    padding: 10px;
  }
  .cal-address-sheet .cal-pickup-sheet-note {
    padding: 8px 9px;
  }
  .cal-address-sheet .cal-pickup-sheet-note p {
    font-size: 12px;
  }
  .cal-address-sheet .cal-pickup-sheet-card h4 {
    font-size: 18px;
  }
  .cal-address-sheet .cal-pickup-map-toggle {
    min-height: 28px;
    font-size: 11px;
    padding: 0 10px;
  }
  .cal-address-sheet .cal-pickup-sheet-map iframe {
    height: 145px;
  }
}

/* ---------- Wizardz Reference Refresh ---------- */
html[data-store-theme="wizardz"] body,
html[data-store-theme="wizardz"] body.cta-tone-minimal,
html[data-store-theme="wizardz"] body.cta-tone-luxe,
html[data-store-theme="wizardz"] body.cta-tone-contrast {
  --cal-cta-primary: #5f259f;
  --cal-cta-primary-strong: #42186f;
  --cal-cta-primary-soft: #b16aff;
  --cal-cta-text: #fffaff;
  --cal-cta-focus: rgba(205, 157, 255, 0.4);
  background:
    radial-gradient(circle at 50% 14%, rgba(121, 47, 210, 0.22) 0%, rgba(121, 47, 210, 0) 28%),
    radial-gradient(circle at 18% 42%, rgba(171, 106, 255, 0.08) 0%, rgba(171, 106, 255, 0) 18%),
    radial-gradient(circle at 82% 72%, rgba(97, 37, 159, 0.14) 0%, rgba(97, 37, 159, 0) 20%),
    #08050c;
  color: #f7efff;
  font-family: 'Spline Sans Mono', 'Poppins', monospace;
}
html[data-store-theme="wizardz"] main,
html[data-store-theme="wizardz"] .cal-category-strip,
html[data-store-theme="wizardz"] .cal-hero-wrap,
html[data-store-theme="wizardz"] .cal-shop-hero-wrap {
  background: transparent;
}
html[data-store-theme="wizardz"] h1,
html[data-store-theme="wizardz"] h2,
html[data-store-theme="wizardz"] h3,
html[data-store-theme="wizardz"] h4 {
  font-family: 'Michroma', 'Poppins', sans-serif;
  letter-spacing: .03em;
  text-transform: none;
}
html[data-store-theme="wizardz"] .button,
html[data-store-theme="wizardz"] button,
html[data-store-theme="wizardz"] .cal-category-name,
html[data-store-theme="wizardz"] .cal-delivery-mode span,
html[data-store-theme="wizardz"] .shop-view-switch-label,
html[data-store-theme="wizardz"] .shop-view-switch button,
html[data-store-theme="wizardz"] .cal-footer-grid h4,
html[data-store-theme="wizardz"] .cal-footer-accordion summary,
html[data-store-theme="wizardz"] .age-gate-dialog h2 {
  font-family: 'Michroma', 'Poppins', sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
}
html[data-store-theme="wizardz"] .subtle,
html[data-store-theme="wizardz"] .shop-product-meta,
html[data-store-theme="wizardz"] .shop-product-desc,
html[data-store-theme="wizardz"] .shop-product-tax-note,
html[data-store-theme="wizardz"] .cal-admin-bridge-label span,
html[data-store-theme="wizardz"] .cal-delivery-bar-eyebrow,
html[data-store-theme="wizardz"] .cal-footer-grid a,
html[data-store-theme="wizardz"] .cal-footer-accordion details a,
html[data-store-theme="wizardz"] .cal-hours .cal-hours-item span,
html[data-store-theme="wizardz"] .cal-menu-links a,
html[data-store-theme="wizardz"] .cal-help-btn span,
html[data-store-theme="wizardz"] [data-shop-results-count] {
  font-family: 'Spline Sans Mono', 'Poppins', monospace;
  letter-spacing: .02em;
}
html[data-store-theme="wizardz"] a {
  color: #f7efff;
}
html[data-store-theme="wizardz"] a:hover {
  color: #ffffff;
  text-decoration: none;
}
html[data-store-theme="wizardz"] .cal-header {
  background:
    linear-gradient(180deg, #220d39 0%, #14091f 52%, #08050c 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.4);
}
html[data-store-theme="wizardz"] .cal-admin-bridge {
  background: linear-gradient(180deg, rgba(34, 13, 57, 0.92) 0%, rgba(8, 5, 12, 0.94) 100%);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
html[data-store-theme="wizardz"] .cal-admin-bridge-nav a,
html[data-store-theme="wizardz"] .cal-admin-bridge-label strong {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-header-top,
html[data-store-theme="wizardz"] .cal-header-main {
  min-height: 78px;
}
html[data-store-theme="wizardz"] .cal-logo img {
  filter: drop-shadow(0 10px 24px rgba(177, 106, 255, 0.2));
}
html[data-store-theme="wizardz"] .cal-icon-btn,
html[data-store-theme="wizardz"] .cal-help-btn,
html[data-store-theme="wizardz"] .cal-cart-pill,
html[data-store-theme="wizardz"] .cal-back-btn,
html[data-store-theme="wizardz"] .cal-search-wrap {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.02) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
html[data-store-theme="wizardz"] .cal-icon-btn img,
html[data-store-theme="wizardz"] .cal-help-btn img,
html[data-store-theme="wizardz"] .cal-cart-pill img {
  filter: brightness(0) invert(1);
}
html[data-store-theme="wizardz"] .cal-search-wrap input,
html[data-store-theme="wizardz"] .cal-back-btn,
html[data-store-theme="wizardz"] .cal-help-btn span,
html[data-store-theme="wizardz"] .cal-cart-pill b {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-search-wrap input::placeholder {
  color: rgba(238, 227, 249, 0.66);
}
html[data-store-theme="wizardz"] .cal-cart-pill b {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
}
html[data-store-theme="wizardz"] .cal-menu-drawer {
  background:
    radial-gradient(circle at top center, rgba(177, 106, 255, 0.16) 0%, rgba(177, 106, 255, 0) 36%),
    linear-gradient(180deg, #14091d 0%, #08050c 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 28px 0 48px rgba(0, 0, 0, 0.44);
}
html[data-store-theme="wizardz"] .cal-menu-head {
  border-color: rgba(255, 255, 255, 0.08);
}
html[data-store-theme="wizardz"] .cal-menu-head img {
  width: 92px;
}
html[data-store-theme="wizardz"] .cal-menu-links {
  counter-reset: wizardz-menu;
}
html[data-store-theme="wizardz"] .cal-menu-links a {
  position: relative;
  padding-left: 44px;
  color: #f7efff;
  font-size: 13px;
  text-transform: uppercase;
}
html[data-store-theme="wizardz"] .cal-menu-links a::before {
  counter-increment: wizardz-menu;
  content: counter(wizardz-menu, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(214, 189, 242, 0.56);
  font-size: 11px;
}
html[data-store-theme="wizardz"] .cal-hours h3,
html[data-store-theme="wizardz"] .cal-hours .cal-hours-item strong {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-hours .cal-hours-item {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}
html[data-store-theme="wizardz"] .cal-hours .cal-hours-item.is-today {
  border-color: rgba(177, 106, 255, 0.3);
  background: rgba(177, 106, 255, 0.08);
}
html[data-store-theme="wizardz"] .cal-shop-hero-wrap,
html[data-store-theme="wizardz"] .cal-hero-wrap {
  position: relative;
  background: linear-gradient(180deg, #09060d 0%, #08050c 100%);
}
html[data-store-theme="wizardz"] .cal-shop-hero-wrap::before,
html[data-store-theme="wizardz"] .cal-hero-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(177, 106, 255, 0.18) 0%, rgba(177, 106, 255, 0) 24%),
    radial-gradient(circle at 22% 40%, rgba(255, 255, 255, 0.08) 0 2px, transparent 3px),
    radial-gradient(circle at 78% 54%, rgba(255, 255, 255, 0.06) 0 2px, transparent 3px);
  pointer-events: none;
}
html[data-store-theme="wizardz"] .cal-hero {
  max-height: none;
  border-radius: 0;
}
html[data-store-theme="wizardz"] .cal-shop-hero-slider .cal-hero-media > img,
html[data-store-theme="wizardz"] .cal-hero img {
  height: 100%;
}
html[data-store-theme="wizardz"] .cal-shop-hero-slider .cal-hero-media > img {
  width: 100%;
  object-fit: contain;
  object-position: center center;
  background: #06090d;
}
html[data-store-theme="wizardz"] .cal-hero-slide:after {
  background:
    linear-gradient(180deg, rgba(8, 5, 12, 0.02) 18%, rgba(8, 5, 12, 0.56) 72%, rgba(8, 5, 12, 0.9) 100%),
    radial-gradient(circle at 50% 28%, rgba(177, 106, 255, 0.14) 0%, rgba(177, 106, 255, 0) 28%);
}
html[data-store-theme="wizardz"] .cal-hero-overlay {
  left: 32px;
  right: 32px;
  bottom: 36px;
  max-width: min(840px, 100%);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
html[data-store-theme="wizardz"] .cal-hero-overlay h2,
html[data-store-theme="wizardz"] .shop-toolbar-copy h1,
html[data-store-theme="wizardz"] .cal-order-again-head h2 {
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(#ffffff, rgba(255, 255, 255, 0.34));
  -webkit-background-clip: text;
  background-clip: text;
}
html[data-store-theme="wizardz"] .cal-shop-hero-slider .cal-hero-overlay h2 {
  font-size: clamp(28px, 4.4vw, 60px);
  line-height: 1.08;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html[data-store-theme="wizardz"] .cal-shop-hero-slider .cal-hero-overlay p,
html[data-store-theme="wizardz"] .cal-hero-overlay p {
  font-family: 'Spline Sans Mono', 'Poppins', monospace;
  font-size: clamp(13px, 1.6vw, 17px);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(241, 231, 252, 0.8);
}
html[data-store-theme="wizardz"] .cal-hero-arrow {
  width: 50px;
  height: 50px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(8, 5, 12, 0.56);
}
html[data-store-theme="wizardz"] .cal-hero-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  max-width: 8px;
  min-height: 8px;
  max-height: 8px;
  flex: 0 0 8px;
  border: none;
  padding: 0;
  margin: 0;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255, 255, 255, 0.3);
}
html[data-store-theme="wizardz"] .cal-hero-dot.is-active {
  background: #ffffff;
}
html[data-store-theme="wizardz"] .cal-hero-dots--home .cal-hero-dot {
  width: 6px;
  height: 6px;
  min-width: 6px;
  max-width: 6px;
  min-height: 6px;
  max-height: 6px;
  flex: 0 0 6px;
  border: none;
  padding: 0;
  margin: 0;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255, 255, 255, 0.3);
}
html[data-store-theme="wizardz"] .cal-hero-dots--home .cal-hero-dot.is-active {
  background: #ffffff;
}
html[data-store-theme="wizardz"] .cal-category-strip {
  padding: 8px 0 18px;
}
html[data-store-theme="wizardz"] .cal-category-row {
  gap: 24px;
  justify-content: flex-start;
  width: 100%;
  padding: 0 2px 8px;
}
html[data-store-theme="wizardz"] .cal-category-card {
  position: relative;
  overflow: hidden;
  min-width: 220px;
  max-width: 250px;
  padding: 18px 18px 20px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    linear-gradient(180deg, rgba(18, 10, 24, 0.96) 0%, rgba(8, 5, 12, 0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 20px 44px rgba(0, 0, 0, 0.3);
  text-align: left;
  color: #ffffff;
}
html[data-store-theme="wizardz"] .cal-category-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 22%, rgba(177,106,255,.18) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
html[data-store-theme="wizardz"] .cal-category-img {
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 28%, rgba(177, 106, 255, 0.18) 0%, rgba(177, 106, 255, 0) 40%),
    #0b0710;
}
html[data-store-theme="wizardz"] .cal-category-img img {
  max-width: 92%;
  max-height: 92%;
}
html[data-store-theme="wizardz"] .cal-category-name {
  margin-top: 14px;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.3;
}
html[data-store-theme="wizardz"] .cal-category-card.is-view-all {
  background:
    linear-gradient(180deg, rgba(58, 18, 92, 0.96) 0%, rgba(18, 8, 26, 1) 100%);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-store-theme="wizardz"] .cal-category-card.is-view-all .cal-category-img svg {
  color: #ffffff;
}
html[data-store-theme="wizardz"] .cal-breadcrumb {
  margin-bottom: 16px;
  color: rgba(204, 188, 223, 0.62);
  font-family: 'Spline Sans Mono', 'Poppins', monospace;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
html[data-store-theme="wizardz"] .cal-breadcrumb strong,
html[data-store-theme="wizardz"] .cal-breadcrumb a {
  color: rgba(247, 239, 255, 0.86);
}
html[data-store-theme="wizardz"] .shop-toolbar {
  gap: 20px;
  margin-bottom: 24px;
}
html[data-store-theme="wizardz"] .shop-toolbar-copy h1 {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.08;
  text-transform: uppercase;
}
html[data-store-theme="wizardz"] .shop-toolbar-copy p {
  color: rgba(215, 197, 238, 0.72);
}
html[data-store-theme="wizardz"] .panel,
html[data-store-theme="wizardz"] .product-card,
html[data-store-theme="wizardz"] .shop-product-card,
html[data-store-theme="wizardz"] .kkpb-card,
html[data-store-theme="wizardz"] .cal-order-again-card,
html[data-store-theme="wizardz"] .cal-auth-card,
html[data-store-theme="wizardz"] .cal-pickup-sheet-card,
html[data-store-theme="wizardz"] .cart-item-card,
html[data-store-theme="wizardz"] .cart-summary-card,
html[data-store-theme="wizardz"] .cal-order-again-widget {
  border-radius: 28px;
  border-color: rgba(255, 255, 255, 0.1);
  background:
    linear-gradient(180deg, rgba(19, 11, 29, 0.98) 0%, rgba(8, 5, 12, 1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 40px rgba(0, 0, 0, 0.26);
}
html[data-store-theme="wizardz"] .product-grid.shop-product-grid {
  gap: 22px;
}
html[data-store-theme="wizardz"] .shop-product-grid[data-shop-view-mode="list"] .shop-product-card {
  grid-template-columns: minmax(190px, 250px) minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
}
html[data-store-theme="wizardz"] .product-image-link {
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at 50% 30%, rgba(177, 106, 255, 0.18) 0%, rgba(177, 106, 255, 0) 38%),
    #0b0710;
}
html[data-store-theme="wizardz"] .product-image-link .product-image {
  object-fit: contain;
  padding: 14px;
}
html[data-store-theme="wizardz"] .product-image-video-badge {
  background: rgba(10, 6, 15, 0.8);
  border-color: rgba(255, 255, 255, 0.14);
  color: #fff;
}
html[data-store-theme="wizardz"] .shop-product-card h3,
html[data-store-theme="wizardz"] .product-card h3,
html[data-store-theme="wizardz"] .cal-order-again-card h3,
html[data-store-theme="wizardz"] .shop-product-card h3 a,
html[data-store-theme="wizardz"] .product-card h3 a {
  color: #ffffff;
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.18;
}
html[data-store-theme="wizardz"] .shop-product-meta,
html[data-store-theme="wizardz"] .shop-product-desc,
html[data-store-theme="wizardz"] .shop-product-tax-note,
html[data-store-theme="wizardz"] .cal-order-again-meta,
html[data-store-theme="wizardz"] .cal-order-again-widget .subtle,
html[data-store-theme="wizardz"] [data-shop-results-count] {
  color: rgba(212, 193, 234, 0.72);
}
html[data-store-theme="wizardz"] .shop-product-desc {
  line-height: 1.55;
}
html[data-store-theme="wizardz"] .price,
html[data-store-theme="wizardz"] .price strong,
html[data-store-theme="wizardz"] .shop-product-card .price strong,
html[data-store-theme="wizardz"] .product-card .price strong,
html[data-store-theme="wizardz"] .cal-order-again-price {
  color: #ffffff;
}
html[data-store-theme="wizardz"] .shop-deal-tag {
  border-color: rgba(177, 106, 255, 0.28);
  background: rgba(177, 106, 255, 0.1);
  color: #f4ebff;
}
html[data-store-theme="wizardz"] .shop-deal-tag-icon {
  background: #b16aff;
}
html[data-store-theme="wizardz"] .cal-order-again-head {
  margin-bottom: 18px;
}
html[data-store-theme="wizardz"] .cal-order-again-arrow {
  border-radius: 999px;
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
}
html[data-store-theme="wizardz"] .shop-view-switch,
html[data-store-theme="wizardz"] .cal-filter-chip,
html[data-store-theme="wizardz"] .cal-sort-chip {
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(21, 12, 31, 0.96) 0%, rgba(11, 7, 16, 0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 12px 24px rgba(0, 0, 0, 0.16);
}
html[data-store-theme="wizardz"] .shop-view-switch-label,
html[data-store-theme="wizardz"] .cal-filter-chip > summary,
html[data-store-theme="wizardz"] .cal-sort-label,
html[data-store-theme="wizardz"] .shop-view-switch button {
  color: #f2e7ff;
}
html[data-store-theme="wizardz"] .shop-view-switch button {
  border-radius: 999px;
}
html[data-store-theme="wizardz"] .shop-view-switch button.is-active,
html[data-store-theme="wizardz"] .cal-delivery-mode.is-active {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(230, 215, 249, 0.92) 100%);
  color: #5f259f;
  border-color: rgba(255, 255, 255, 0.34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 8px 18px rgba(0, 0, 0, 0.18);
}
html[data-store-theme="wizardz"] .shop-view-switch button:focus-visible {
  outline: 2px solid rgba(205, 157, 255, 0.46);
}
html[data-store-theme="wizardz"] .cal-filter-pop,
html[data-store-theme="wizardz"] .cal-filter-pop select,
html[data-store-theme="wizardz"] .cal-filter-pop label,
html[data-store-theme="wizardz"] .cal-sort-chip select {
  background-color: #0f0915;
  color: #f2e7ff;
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-store-theme="wizardz"] .cal-sort-chip select {
  background-image:
    linear-gradient(45deg, transparent 50%, #d9c4f3 50%),
    linear-gradient(135deg, #d9c4f3 50%, transparent 50%);
}
html[data-store-theme="wizardz"] .cal-delivery-bar {
  border-color: rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background:
    radial-gradient(circle at top center, rgba(177, 106, 255, 0.16) 0%, rgba(177, 106, 255, 0) 56%),
    linear-gradient(180deg, rgba(14, 8, 20, 0.98) 0%, rgba(8, 5, 12, 1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 16px 32px rgba(0, 0, 0, 0.22);
}
html[data-store-theme="wizardz"] .cal-delivery-bar-inner {
  padding: 8px 12px;
  gap: 6px;
}
html[data-store-theme="wizardz"] .cal-delivery-bar-modes {
  padding: 4px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
html[data-store-theme="wizardz"] .cal-delivery-mode {
  min-height: 28px;
  padding: 0 11px;
  border: 1px solid transparent;
  color: #d9c4f3;
  background: transparent;
}
html[data-store-theme="wizardz"] .cal-delivery-mode:hover,
html[data-store-theme="wizardz"] .cal-delivery-mode:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}
html[data-store-theme="wizardz"] .cal-delivery-mode[disabled] {
  opacity: 0.38;
}
html[data-store-theme="wizardz"] .cal-delivery-bar-heading,
html[data-store-theme="wizardz"] .cal-delivery-bar-heading strong,
html[data-store-theme="wizardz"] .cal-delivery-bar-action {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-delivery-bar-heading {
  text-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
}
html[data-store-theme="wizardz"] .button,
html[data-store-theme="wizardz"] button,
html[data-store-theme="wizardz"] .button.secondary,
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row button[type="submit"],
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row .button,
html[data-store-theme="wizardz"] .shop-product-card .shop-product-action > .button,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row button[type="submit"],
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row .button,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row button[data-kit-open],
html[data-store-theme="wizardz"] .mobile-add-dock-submit {
  border-color: rgba(255, 255, 255, 0.82);
  border-radius: 999px;
  background:
    radial-gradient(circle closest-corner at 50% 100%, #b16aff, #5f259f);
  color: #fffaff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 12px 24px rgba(71, 22, 138, 0.24);
  text-shadow: 0 1px 1px rgba(18, 8, 31, 0.46);
}
html[data-store-theme="wizardz"] .button.secondary {
  background:
    linear-gradient(180deg, rgba(46, 22, 72, 0.92) 0%, rgba(12, 8, 18, 0.98) 100%);
  border-color: rgba(255, 255, 255, 0.22);
}
html[data-store-theme="wizardz"] .button:hover,
html[data-store-theme="wizardz"] button:hover,
html[data-store-theme="wizardz"] .button.secondary:hover,
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row button[type="submit"]:hover,
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row .button:hover,
html[data-store-theme="wizardz"] .shop-product-card .shop-product-action > .button:hover,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row button[type="submit"]:hover,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row .button:hover,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row button[data-kit-open]:hover,
html[data-store-theme="wizardz"] .mobile-add-dock-submit:hover {
  filter: brightness(1.04) saturate(1.06);
  text-decoration: none;
}
html[data-store-theme="wizardz"] .button:active,
html[data-store-theme="wizardz"] button:active,
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row button[type="submit"]:active,
html[data-store-theme="wizardz"] .mobile-add-dock-submit:active {
  transform: scale(0.98);
}
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row button[type="submit"]:focus-visible,
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row .button:focus-visible,
html[data-store-theme="wizardz"] .shop-product-card .shop-product-action > .button:focus-visible,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row button[type="submit"]:focus-visible,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row .button:focus-visible,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row button[data-kit-open]:focus-visible,
html[data-store-theme="wizardz"] .mobile-add-dock-submit:focus-visible {
  box-shadow:
    0 0 0 3px rgba(205, 157, 255, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 14px 28px rgba(71, 22, 138, 0.24);
}
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row button[type="submit"]:disabled,
html[data-store-theme="wizardz"] .shop-product-card .shop-add-row .button:disabled,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row button[type="submit"]:disabled,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row .button:disabled,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row button[data-kit-open]:disabled,
html[data-store-theme="wizardz"] .mobile-add-dock-submit:disabled {
  border-color: rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(64, 36, 97, 0.92) 0%, rgba(30, 17, 43, 0.96) 100%);
  color: rgba(231, 217, 247, 0.54);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
html[data-store-theme="wizardz"] .shop-qty-stepper,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row .shop-qty-stepper,
html[data-store-theme="wizardz"] .mobile-add-dock .shop-qty-stepper {
  border-width: 2px;
  border-color: rgba(232, 204, 255, 0.34);
  background:
    linear-gradient(180deg, rgba(24, 14, 35, 0.98) 0%, rgba(10, 6, 15, 1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 10px 20px rgba(0, 0, 0, 0.18);
}
html[data-store-theme="wizardz"] .shop-qty {
  color: #ffffff;
}
html[data-store-theme="wizardz"] .shop-qty-btn,
html[data-store-theme="wizardz"] .product-detail-panel .shop-add-row .shop-qty-btn {
  border: 0;
  background: transparent;
  color: #efe2ff;
  box-shadow: none;
}
html[data-store-theme="wizardz"] .cal-footer {
  background:
    radial-gradient(circle farthest-corner at 50% 0%, rgba(59, 3, 121, 0.5) 0%, #08050c 52%);
  border-top-color: rgba(255, 255, 255, 0.08);
}
html[data-store-theme="wizardz"] .cal-footer-grid {
  gap: 34px;
  padding-top: 36px;
  padding-bottom: 36px;
}
html[data-store-theme="wizardz"] .cal-footer-grid > div {
  display: grid;
  gap: 10px;
}
html[data-store-theme="wizardz"] .cal-footer-grid h4,
html[data-store-theme="wizardz"] .cal-footer-accordion summary {
  color: #ffffff;
  font-size: 16px;
}
html[data-store-theme="wizardz"] .cal-footer-grid a,
html[data-store-theme="wizardz"] .cal-footer-accordion details a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(231, 217, 247, 0.8);
  font-size: 13px;
  text-transform: uppercase;
}
html[data-store-theme="wizardz"] .cal-footer-grid a:hover,
html[data-store-theme="wizardz"] .cal-footer-accordion details a:hover {
  color: #ffffff;
}
html[data-store-theme="wizardz"] .cal-footer-grid a::before,
html[data-store-theme="wizardz"] .cal-footer-accordion details a::before {
  content: "/";
  color: #b16aff;
}
html[data-store-theme="wizardz"] .cal-footer-accordion details,
html[data-store-theme="wizardz"] .cal-footer-accordion details a {
  border-color: rgba(255, 255, 255, 0.1);
}
html[data-store-theme="wizardz"] .cal-footer-accordion summary::after {
  border-color: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}
html[data-store-theme="wizardz"] .age-gate-backdrop {
  background:
    radial-gradient(circle at center, rgba(177, 106, 255, 0.18) 0%, rgba(177, 106, 255, 0) 28%),
    rgba(3, 2, 6, 0.88);
  backdrop-filter: blur(10px);
}
html[data-store-theme="wizardz"] .age-gate-dialog {
  border-color: rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(rgba(0, 0, 0, 0), #000000 72%),
    radial-gradient(circle at 50% 18%, rgba(177, 106, 255, 0.28) 0%, rgba(177, 106, 255, 0) 40%),
    linear-gradient(180deg, #2b0e41 0%, #100814 62%, #09060d 100%);
  border-radius: 24px;
  box-shadow: 0 30px 64px rgba(0, 0, 0, 0.6);
}
html[data-store-theme="wizardz"] .age-gate-logo {
  width: min(130px, 38vw);
}
html[data-store-theme="wizardz"] .age-gate-dialog h2 {
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(#ffffff, rgba(255, 255, 255, 0.44));
  -webkit-background-clip: text;
  background-clip: text;
  color: #ffffff;
  font-size: clamp(20px, 3vw, 32px);
  line-height: 1.22;
  text-align: center;
}
html[data-store-theme="wizardz"] .age-gate-btn {
  border-radius: 999px;
}
html[data-store-theme="wizardz"] .age-gate-btn.is-yes {
  border-color: rgba(255, 255, 255, 0.84);
  background:
    radial-gradient(circle closest-corner at 50% 100%, #b16aff, #5f259f);
}
html[data-store-theme="wizardz"] .age-gate-btn.is-no {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(16, 9, 23, 0.94);
}
@media (max-width: 760px) {
  html[data-store-theme="wizardz"] .cal-header-top,
  html[data-store-theme="wizardz"] .cal-header-main {
    min-height: 68px;
  }
  html[data-store-theme="wizardz"] .cal-hero-overlay {
    left: 18px;
    right: 18px;
    bottom: 22px;
  }
  html[data-store-theme="wizardz"] .cal-shop-hero-slider .cal-hero-overlay h2 {
    font-size: clamp(24px, 8vw, 34px);
  }
  html[data-store-theme="wizardz"] .cal-category-card {
    min-width: 176px;
    max-width: 176px;
    padding: 14px;
    border-radius: 22px;
  }
  html[data-store-theme="wizardz"] .cal-category-name {
    font-size: 13px;
  }
  html[data-store-theme="wizardz"] .shop-toolbar-copy h1 {
    font-size: 24px;
  }
  html[data-store-theme="wizardz"] .shop-product-grid[data-shop-view-mode="list"] .shop-product-card {
    grid-template-columns: 1fr;
  }
}
html[data-store-theme="wizardz"] .cal-address-backdrop {
  background:
    radial-gradient(circle at 82% 24%, rgba(177, 106, 255, .16) 0%, rgba(177, 106, 255, 0) 24%),
    rgba(3, 2, 6, .82);
  backdrop-filter: blur(14px);
}
html[data-store-theme="wizardz"] .cal-address-sheet {
  background:
    radial-gradient(circle at 50% 0%, rgba(177, 106, 255, .22) 0%, rgba(177, 106, 255, 0) 28%),
    linear-gradient(180deg, rgba(24, 11, 33, .98) 0%, rgba(8, 5, 12, .99) 100%);
  border-left: 1px solid rgba(255,255,255,.08);
  box-shadow: -36px 0 72px rgba(0,0,0,.58);
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-address-head {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
html[data-store-theme="wizardz"] .cal-address-head h3 {
  color: #fff;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(#ffffff, rgba(255, 255, 255, 0.42));
  -webkit-background-clip: text;
  background-clip: text;
}
html[data-store-theme="wizardz"] .cal-address-head p {
  color: #b39bcf;
  font-family: 'Spline Sans Mono', 'Poppins', monospace;
}
html[data-store-theme="wizardz"] .cal-address-head button {
  background: rgba(255,255,255,.04);
  border-color: var(--wizardz-line);
  color: #fff;
  box-shadow: none;
}
html[data-store-theme="wizardz"] .cal-address-head button:hover,
html[data-store-theme="wizardz"] .cal-address-head button:focus-visible {
  background: rgba(255,255,255,.08);
}
html[data-store-theme="wizardz"] .cal-address-sheet-modes {
  border-color: var(--wizardz-line);
  background: rgba(12, 7, 18, .84);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-address-sheet-mode {
  color: #f7efff;
  background: transparent;
  border: 1px solid transparent;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 12px;
}
html[data-store-theme="wizardz"] .cal-address-sheet-mode:hover,
html[data-store-theme="wizardz"] .cal-address-sheet-mode:focus-visible {
  background: rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-address-sheet-mode.is-active {
  background:
    radial-gradient(circle closest-corner at 50% 100%, #b16aff, #5f259f);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 34px rgba(98, 35, 180, .32);
}
html[data-store-theme="wizardz"] .cal-address-form label {
  color: #ccb5e4;
  font-family: 'Spline Sans Mono', 'Poppins', monospace;
}
html[data-store-theme="wizardz"] .cal-address-form input {
  background: rgba(9, 6, 14, .92);
  border-color: var(--wizardz-line);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
html[data-store-theme="wizardz"] .cal-address-form input[readonly] {
  background: rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-address-form input::placeholder {
  color: #9178af;
}
html[data-store-theme="wizardz"] .cal-address-form input:focus-visible {
  border-color: var(--wizardz-line-strong);
  box-shadow:
    0 0 0 3px rgba(177, 106, 255, .14),
    inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-address-form button,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-done {
  border-radius: 999px;
  border-color: rgba(255,255,255,.18);
  background:
    radial-gradient(circle closest-corner at 50% 100%, #b16aff, #5f259f);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .08em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 18px 34px rgba(98, 35, 180, .32);
}
html[data-store-theme="wizardz"] .cal-address-form button:hover,
html[data-store-theme="wizardz"] .cal-address-form button:focus-visible,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-done:hover,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-done:focus-visible {
  background:
    radial-gradient(circle closest-corner at 50% 100%, #c483ff, #6c2db3);
  border-color: rgba(255,255,255,.24);
}
html[data-store-theme="wizardz"] .cal-address-form .addr-autocomplete-list {
  background: rgba(11, 7, 17, .98) !important;
  border-color: rgba(214, 168, 255, .18) !important;
  box-shadow: 0 20px 36px rgba(0,0,0,.46) !important;
}
html[data-store-theme="wizardz"] .cal-address-form .addr-autocomplete-item {
  background: rgba(255,255,255,.03) !important;
  border-color: rgba(214, 168, 255, .10) !important;
  color: #f7efff !important;
}
html[data-store-theme="wizardz"] .cal-address-form .addr-autocomplete-item:hover,
html[data-store-theme="wizardz"] .cal-address-form .addr-autocomplete-item:focus-visible {
  background: rgba(177, 106, 255, .14) !important;
  border-color: rgba(214, 168, 255, .26) !important;
}
html[data-store-theme="wizardz"] .cal-address-form .addr-autocomplete-item strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html[data-store-theme="wizardz"] .cal-address-form .addr-autocomplete-item small {
  color: #c2add9 !important;
  -webkit-text-fill-color: #c2add9 !important;
}
html[data-store-theme="wizardz"] .cal-address-form .addr-autocomplete-item:active,
html[data-store-theme="wizardz"] .cal-address-form .addr-autocomplete-item[aria-selected="true"] {
  background: rgba(177, 106, 255, .24) !important;
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-card,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-hours,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-map {
  background:
    linear-gradient(180deg, rgba(23, 12, 31, .96) 0%, rgba(10, 6, 15, .98) 100%);
  border-color: var(--wizardz-line);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 18px 34px rgba(0,0,0,.28);
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-eyebrow,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-note-label {
  color: #d7bbea;
  letter-spacing: .16em;
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-card h4,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-hours-head strong,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-map-head strong,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-hours-list strong {
  color: #fff;
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-address,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-note p,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-hours-message,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-hours-list li {
  color: #b9a4cf;
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-note {
  border-color: rgba(214, 168, 255, .14);
  background: rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-status {
  border-color: rgba(214, 168, 255, .18);
  color: #ead8fb;
  background: rgba(177, 106, 255, .12);
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-status.is-open {
  background: rgba(63, 202, 128, .14);
  border-color: rgba(85, 230, 150, .22);
  color: #bdf4d5;
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-status.is-closed {
  background: rgba(238, 115, 164, .12);
  border-color: rgba(238, 115, 164, .18);
  color: #ffc1d8;
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-hours-list li {
  border-top-color: rgba(255,255,255,.08);
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-hours-list li.is-today {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-actions a,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-map-toggle {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.05);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-actions a:hover,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-actions a:focus-visible,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-map-toggle:hover,
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-map-toggle:focus-visible {
  background: rgba(177, 106, 255, .18);
  border-color: rgba(214, 168, 255, .28);
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-map-frame {
  border-color: rgba(214, 168, 255, .12);
  background: #050308;
}
html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-map iframe {
  background: #050308;
}
@media (max-width: 760px) {
  html[data-store-theme="wizardz"] .cal-address-sheet {
    border-top: 1px solid rgba(255,255,255,.08);
    border-left: none;
    box-shadow: 0 -28px 60px rgba(0,0,0,.54);
  }
  html[data-store-theme="wizardz"] .cal-address-sheet::before {
    background:
      linear-gradient(90deg, rgba(255,255,255,.18), rgba(177, 106, 255, .88), rgba(255,255,255,.18));
  }
  html[data-store-theme="wizardz"] .cal-address-head p {
    font-size: 12px;
  }
  html[data-store-theme="wizardz"] .cal-address-sheet .cal-pickup-sheet-map iframe {
    height: 170px;
  }
}

/* ---------- Themed Auth Modal ---------- */
.cal-auth-backdrop {
  backdrop-filter: blur(12px);
}
.cal-auth-sheet {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 98%, white) 0%,
      color-mix(in srgb, var(--cal-panel-end) 96%, white) 100%);
  border-color: color-mix(in srgb, var(--cal-border) 84%, white);
  box-shadow: 0 34px 80px color-mix(in srgb, var(--cal-blue-dark) 16%, transparent);
  color: var(--cal-text);
}
.cal-auth-head {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--cal-green) 16%, transparent) 0%, transparent 30%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--cal-blue) 92%, black) 0%,
      var(--cal-blue) 56%,
      color-mix(in srgb, var(--cal-green) 34%, var(--cal-blue)) 100%);
  border-bottom-color: color-mix(in srgb, var(--cal-border) 76%, white);
}
.cal-auth-head h3 {
  color: #fff;
  font-size: clamp(34px, 4vw, 52px);
}
.cal-auth-head p {
  color: rgba(239, 246, 255, .84);
}
.cal-auth-head button {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.cal-auth-card,
.cal-auth-face {
  background: transparent;
}
.cal-auth-body {
  display: grid;
  gap: 12px;
  background: transparent;
}
.cal-auth-body form {
  display: grid;
  gap: 12px;
}
.cal-auth-body label {
  margin: 0;
  color: color-mix(in srgb, var(--cal-blue-dark) 80%, black);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cal-auth-phone-row {
  margin-bottom: 0;
}
.cal-auth-country,
.cal-auth-body input:not([type="checkbox"]):not([type="radio"]),
.cal-auth-body select,
.cal-auth-body textarea {
  width: 100%;
  border: 1px solid color-mix(in srgb, var(--cal-border) 84%, white);
  border-radius: 16px;
  background: color-mix(in srgb, var(--cal-panel-start) 96%, white);
  color: var(--cal-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.cal-auth-country {
  min-height: 56px;
  font-size: 16px;
}
.cal-auth-body input:not([type="checkbox"]):not([type="radio"]),
.cal-auth-body select,
.cal-auth-body textarea {
  min-height: 56px;
  padding: 0 16px;
  font-size: 16px;
  -webkit-text-fill-color: currentColor;
}
.cal-auth-body textarea {
  padding: 12px 16px;
  min-height: 128px;
}
.cal-auth-body input[type="file"] {
  min-height: 52px;
  padding: 12px 14px;
  font-size: 14px;
}
.cal-auth-body input:not([type="checkbox"]):not([type="radio"])::placeholder,
.cal-auth-body textarea::placeholder {
  color: color-mix(in srgb, var(--cal-muted) 82%, white);
}
.cal-auth-body input:not([type="checkbox"]):not([type="radio"]):focus,
.cal-auth-body select:focus,
.cal-auth-body textarea:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--cal-green) 28%, var(--cal-blue));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cal-green) 12%, transparent);
}
.cal-auth-body label input[type="checkbox"],
.cal-auth-body label input[type="radio"] {
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 2px 10px 0 0;
  vertical-align: top;
  accent-color: var(--cal-green);
}
.cal-auth-body button {
  min-height: 56px;
  border-radius: 999px;
  border-color: color-mix(in srgb, var(--cal-blue-dark) 86%, black);
  background: linear-gradient(180deg, var(--cal-blue) 0%, var(--cal-blue-dark) 100%);
  color: #fff;
  box-shadow: 0 18px 34px color-mix(in srgb, var(--cal-blue-dark) 18%, transparent);
}
.cal-auth-body button:hover,
.cal-auth-body button:focus-visible {
  background: linear-gradient(180deg, color-mix(in srgb, var(--cal-blue) 90%, white) 0%, var(--cal-blue-dark) 100%);
  border-color: var(--cal-blue-dark);
}
.cal-auth-body .button.secondary,
.cal-auth-body button.secondary {
  background: color-mix(in srgb, var(--cal-panel-end) 88%, white);
  border-color: color-mix(in srgb, var(--cal-border) 86%, white);
  color: var(--cal-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.cal-auth-body .button.secondary:hover,
.cal-auth-body button.secondary:hover,
.cal-auth-body .button.secondary:focus-visible,
.cal-auth-body button.secondary:focus-visible {
  background: color-mix(in srgb, var(--cal-panel-end) 80%, white);
}
.cal-auth-body .link-like {
  color: color-mix(in srgb, var(--cal-blue-dark) 86%, black);
}
.cal-auth-links {
  margin-top: 2px;
}
.cal-auth-terms {
  margin-top: 0;
  color: var(--cal-muted);
}
.cal-auth-actions {
  padding: 0 24px 24px;
}
.cal-auth-actions .button.secondary {
  background: color-mix(in srgb, var(--cal-panel-end) 88%, white);
  border-color: color-mix(in srgb, var(--cal-border) 86%, white);
  color: var(--cal-text);
}
.cal-auth-signup-progress span {
  border-color: color-mix(in srgb, var(--cal-border) 86%, white);
  background: color-mix(in srgb, var(--cal-panel-start) 92%, white);
  color: var(--cal-muted);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.cal-auth-signup-progress span.is-active {
  background: color-mix(in srgb, var(--cal-green) 16%, white);
  border-color: color-mix(in srgb, var(--cal-green) 52%, white);
  color: color-mix(in srgb, var(--cal-green-dark) 80%, black);
}
.cal-auth-agreement-box {
  max-height: 220px;
  border-color: color-mix(in srgb, var(--cal-border) 84%, white);
  background: color-mix(in srgb, var(--cal-panel-start) 92%, white);
  color: var(--cal-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.cal-auth-agreement-box a {
  color: color-mix(in srgb, var(--cal-blue-dark) 82%, black);
}
body.cal-auth-open.cal-auth-signup-fullscreen .cal-auth-sheet {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-page) 94%, white) 0%,
      color-mix(in srgb, var(--cal-page) 86%, white) 100%) !important;
}
body.cal-auth-open.cal-auth-signup-fullscreen .cal-auth-head {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--cal-green) 16%, transparent) 0%, transparent 30%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--cal-blue) 92%, black) 0%,
      var(--cal-blue) 56%,
      color-mix(in srgb, var(--cal-green) 34%, var(--cal-blue)) 100%) !important;
  border-bottom-color: color-mix(in srgb, var(--cal-border) 76%, white) !important;
  box-shadow: 0 10px 28px color-mix(in srgb, var(--cal-blue-dark) 10%, transparent);
  backdrop-filter: blur(10px);
}
@media (max-width: 760px) {
  .cal-auth-sheet {
    border-radius: 26px;
  }
  .cal-auth-head {
    padding: 16px 16px 14px;
  }
  .cal-auth-head h3 {
    font-size: clamp(24px, 9vw, 36px);
  }
  .cal-auth-head p {
    font-size: 13px;
    margin-top: 6px;
  }
  .cal-auth-head button {
    width: 40px;
    height: 40px;
    font-size: 28px;
  }
  .cal-auth-body {
    padding: 14px 16px max(20px, env(safe-area-inset-bottom)) !important;
  }
  .cal-auth-country,
  .cal-auth-body input:not([type="checkbox"]):not([type="radio"]),
  .cal-auth-body select,
  .cal-auth-body textarea {
    border-radius: 14px;
  }
  .cal-auth-actions {
    padding: 0 16px max(18px, env(safe-area-inset-bottom));
  }
}
html[data-store-theme="haus"] .cal-auth-backdrop {
  background:
    radial-gradient(circle at center, rgba(244, 197, 63, .12) 0%, rgba(244, 197, 63, 0) 28%),
    rgba(4, 3, 2, .88);
  backdrop-filter: blur(10px);
}
html[data-store-theme="haus"] .cal-auth-sheet {
  background:
    radial-gradient(circle at 50% 0%, rgba(244, 197, 63, .14) 0%, rgba(244, 197, 63, 0) 24%),
    linear-gradient(180deg, rgba(24, 17, 10, .985) 0%, rgba(9, 7, 5, .995) 100%);
  border-color: rgba(255, 216, 109, .16);
  box-shadow: 0 34px 74px rgba(0, 0, 0, .46);
  color: var(--haus-cream);
}
html[data-store-theme="haus"] .cal-auth-head {
  background:
    radial-gradient(circle at top right, rgba(244, 197, 63, .16) 0%, rgba(244, 197, 63, 0) 28%),
    linear-gradient(135deg, rgba(28, 19, 10, .99) 0%, rgba(60, 36, 17, .94) 54%, rgba(12, 9, 6, .99) 100%);
  border-bottom-color: rgba(255, 216, 109, .16);
}
html[data-store-theme="haus"] .cal-auth-head h3 {
  color: var(--haus-gold);
}
html[data-store-theme="haus"] .cal-auth-head p {
  color: rgba(246, 237, 214, .72);
}
html[data-store-theme="haus"] .cal-auth-head button {
  color: #FFF8E5;
}
html[data-store-theme="haus"] .cal-auth-body label {
  color: rgba(246, 237, 214, .82);
}
html[data-store-theme="haus"] .cal-auth-country,
html[data-store-theme="haus"] .cal-auth-body input:not([type="checkbox"]):not([type="radio"]),
html[data-store-theme="haus"] .cal-auth-body select,
html[data-store-theme="haus"] .cal-auth-body textarea,
html[data-store-theme="haus"] .cal-auth-agreement-box,
html[data-store-theme="haus"] .cal-auth-signup-progress span,
html[data-store-theme="haus"] .cal-auth-body .button.secondary,
html[data-store-theme="haus"] .cal-auth-body button.secondary {
  border-color: rgba(255, 216, 109, .14);
  background: rgba(19, 13, 8, .94);
  color: var(--haus-cream);
}
html[data-store-theme="haus"] .cal-auth-signup-progress span.is-active {
  background: rgba(244, 197, 63, .16);
  border-color: rgba(255, 216, 109, .24);
  color: var(--haus-gold-soft);
}
html[data-store-theme="wizardz"] .cal-auth-backdrop {
  background:
    radial-gradient(circle at center, rgba(177, 106, 255, .16) 0%, rgba(177, 106, 255, 0) 28%),
    rgba(3, 2, 6, .88);
}
html[data-store-theme="wizardz"] .cal-auth-sheet {
  background:
    radial-gradient(circle at 50% 0%, rgba(177, 106, 255, .18) 0%, rgba(177, 106, 255, 0) 24%),
    linear-gradient(180deg, rgba(20, 11, 28, .98) 0%, rgba(8, 5, 12, .995) 100%);
  border-color: var(--wizardz-line);
  box-shadow: 0 42px 86px rgba(0,0,0,.62);
  color: var(--wizardz-text);
}
html[data-store-theme="wizardz"] .cal-auth-head {
  background:
    radial-gradient(circle at top right, rgba(177, 106, 255, .18) 0%, rgba(177, 106, 255, 0) 28%),
    linear-gradient(135deg, rgba(36, 12, 54, .98) 0%, rgba(20, 7, 32, .97) 60%, rgba(11, 6, 17, .98) 100%);
  border-bottom-color: var(--wizardz-line);
}
html[data-store-theme="wizardz"] .cal-auth-head h3 {
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(#ffffff, rgba(255, 255, 255, 0.42));
  -webkit-background-clip: text;
  background-clip: text;
  color: #ffffff;
}
html[data-store-theme="wizardz"] .cal-auth-head p {
  color: #cbb3e5;
  font-family: 'Spline Sans Mono', 'Poppins', monospace;
}
html[data-store-theme="wizardz"] .cal-auth-head button {
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
}
html[data-store-theme="wizardz"] .cal-auth-body label {
  color: #d7bbea;
  font-family: 'Spline Sans Mono', 'Poppins', monospace;
}
html[data-store-theme="wizardz"] .cal-auth-country,
html[data-store-theme="wizardz"] .cal-auth-body input:not([type="checkbox"]):not([type="radio"]),
html[data-store-theme="wizardz"] .cal-auth-body select,
html[data-store-theme="wizardz"] .cal-auth-body textarea,
html[data-store-theme="wizardz"] .cal-auth-agreement-box {
  border-color: var(--wizardz-line);
  background: rgba(9, 6, 14, .92);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
html[data-store-theme="wizardz"] .cal-auth-country {
  color: #f7efff;
}
html[data-store-theme="wizardz"] .cal-auth-body input:not([type="checkbox"]):not([type="radio"])::placeholder,
html[data-store-theme="wizardz"] .cal-auth-body textarea::placeholder {
  color: #9e87ba;
}
html[data-store-theme="wizardz"] .cal-auth-body input:not([type="checkbox"]):not([type="radio"]):focus,
html[data-store-theme="wizardz"] .cal-auth-body select:focus,
html[data-store-theme="wizardz"] .cal-auth-body textarea:focus {
  border-color: var(--wizardz-line-strong);
  box-shadow: 0 0 0 3px rgba(177, 106, 255, .14);
}
html[data-store-theme="wizardz"] .cal-auth-body button {
  border-color: rgba(255,255,255,.18);
  background:
    radial-gradient(circle closest-corner at 50% 100%, #b16aff, #5f259f);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 18px 34px rgba(98, 35, 180, .32);
}
html[data-store-theme="wizardz"] .cal-auth-body button:hover,
html[data-store-theme="wizardz"] .cal-auth-body button:focus-visible {
  background:
    radial-gradient(circle closest-corner at 50% 100%, #c483ff, #6c2db3);
  border-color: rgba(255,255,255,.24);
}
html[data-store-theme="wizardz"] .cal-auth-body .button.secondary,
html[data-store-theme="wizardz"] .cal-auth-body button.secondary,
html[data-store-theme="wizardz"] .cal-auth-actions .button.secondary {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.14);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-auth-body .button.secondary:hover,
html[data-store-theme="wizardz"] .cal-auth-body button.secondary:hover,
html[data-store-theme="wizardz"] .cal-auth-actions .button.secondary:hover {
  background: rgba(255,255,255,.08);
}
html[data-store-theme="wizardz"] .cal-auth-body .link-like,
html[data-store-theme="wizardz"] .cal-auth-terms,
html[data-store-theme="wizardz"] .cal-auth-agreement-box,
html[data-store-theme="wizardz"] .cal-auth-agreement-box a {
  color: #cbb3e5;
}
html[data-store-theme="wizardz"] .cal-auth-signup-progress span {
  border-color: var(--wizardz-line);
  background: rgba(255,255,255,.04);
  color: var(--wizardz-muted);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-store-theme="wizardz"] .cal-auth-signup-progress span.is-active {
  border-color: rgba(255,255,255,.18);
  background:
    radial-gradient(circle closest-corner at 50% 100%, #b16aff, #5f259f);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 14px 26px rgba(98, 35, 180, .22);
}
html[data-store-theme="wizardz"] .cal-auth-signup-progress span:not(.is-active) {
  border-style: solid;
}
html[data-store-theme="wizardz"] .alert.error {
  background: rgba(244, 63, 94, .14);
  color: #ffc4cf;
  border-color: rgba(244, 63, 94, .24);
}
html[data-store-theme="wizardz"] .alert.success {
  background: rgba(34, 197, 94, .16);
  color: #baf5c8;
  border-color: rgba(34, 197, 94, .26);
}
html[data-store-theme="wizardz"] body.cal-auth-open.cal-auth-signup-fullscreen .cal-auth-sheet {
  background:
    radial-gradient(circle at 50% 0%, rgba(177, 106, 255, .18) 0%, rgba(177, 106, 255, 0) 24%),
    linear-gradient(180deg, rgba(20, 11, 28, .98) 0%, rgba(8, 5, 12, .995) 100%) !important;
}
html[data-store-theme="wizardz"] body.cal-auth-open.cal-auth-signup-fullscreen .cal-auth-head {
  background:
    radial-gradient(circle at top right, rgba(177, 106, 255, .18) 0%, rgba(177, 106, 255, 0) 28%),
    linear-gradient(135deg, rgba(36, 12, 54, .98) 0%, rgba(20, 7, 32, .97) 60%, rgba(11, 6, 17, .98) 100%) !important;
  border-bottom-color: var(--wizardz-line) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.24);
}

html[data-store-theme]:not([data-store-theme="ocean"]) {
  --cal-store-overlay: color-mix(in srgb, var(--cal-blue-dark) 64%, transparent);
  --cal-store-sheet-bg:
    radial-gradient(circle at top right, color-mix(in srgb, var(--cal-green) 14%, transparent) 0%, transparent 34%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 96%, var(--cal-page)) 0%,
      color-mix(in srgb, var(--cal-panel-end) 94%, var(--cal-page)) 100%);
  --cal-store-sheet-bg-alt:
    radial-gradient(circle at top left, color-mix(in srgb, var(--cal-blue) 16%, transparent) 0%, transparent 34%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 94%, var(--cal-page)) 0%,
      color-mix(in srgb, var(--cal-panel-end) 90%, var(--cal-page)) 100%);
  --cal-store-drawer-bg:
    radial-gradient(circle at top center, color-mix(in srgb, var(--cal-blue) 10%, transparent) 0%, transparent 30%),
    radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--cal-green) 8%, transparent) 0%, transparent 22%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 68%, #000000) 0%,
      color-mix(in srgb, var(--cal-blue-dark) 34%, #080606) 46%,
      #060505 100%);
  --cal-store-drawer-ink: #f8efe5;
  --cal-store-drawer-border: color-mix(in srgb, var(--cal-blue) 18%, rgba(255, 255, 255, .14));
  --cal-store-drawer-shadow: 24px 0 44px rgba(0, 0, 0, .34);
  --cal-store-sheet-border: color-mix(in srgb, var(--cal-border) 84%, var(--cal-panel-start));
  --cal-store-sheet-shadow: -24px 0 58px color-mix(in srgb, var(--cal-blue-dark) 20%, transparent);
  --cal-store-ink: var(--cal-text);
  --cal-store-muted: var(--cal-muted);
  --cal-store-border: color-mix(in srgb, var(--cal-border) 84%, var(--cal-panel-start));
  --cal-store-border-strong: color-mix(in srgb, var(--cal-border) 72%, var(--cal-blue));
  --cal-store-card-bg:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 97%, var(--cal-page)) 0%,
      color-mix(in srgb, var(--cal-panel-end) 94%, var(--cal-page)) 100%);
  --cal-store-card-bg-soft: color-mix(in srgb, var(--cal-panel-start) 88%, var(--cal-panel-end));
  --cal-store-card-bg-muted: color-mix(in srgb, var(--cal-panel-start) 78%, var(--cal-panel-end));
  --cal-store-pill-bg: color-mix(in srgb, var(--cal-blue) 12%, var(--cal-panel-start));
  --cal-store-pill-border: color-mix(in srgb, var(--cal-border) 72%, var(--cal-blue));
  --cal-store-pill-text: color-mix(in srgb, var(--cal-blue-dark) 82%, black);
  --cal-store-primary-bg: linear-gradient(180deg, var(--cal-blue) 0%, var(--cal-blue-dark) 100%);
  --cal-store-primary-border: color-mix(in srgb, var(--cal-blue-dark) 80%, black);
  --cal-store-primary-text: #ffffff;
  --cal-store-primary-shadow: 0 18px 34px color-mix(in srgb, var(--cal-blue-dark) 18%, transparent);
  --cal-store-secondary-bg:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 98%, white) 0%,
      color-mix(in srgb, var(--cal-panel-end) 94%, white) 100%);
  --cal-store-secondary-border: color-mix(in srgb, var(--cal-border) 82%, var(--cal-panel-start));
  --cal-store-secondary-text: var(--cal-text);
  --cal-store-field-bg: color-mix(in srgb, var(--cal-panel-start) 96%, var(--cal-panel-end));
  --cal-store-field-border: color-mix(in srgb, var(--cal-border) 82%, var(--cal-panel-start));
  --cal-store-field-text: var(--cal-text);
  --cal-store-field-placeholder: color-mix(in srgb, var(--cal-muted) 82%, var(--cal-panel-start));
  --cal-store-field-focus-border: color-mix(in srgb, var(--cal-green) 28%, var(--cal-blue));
  --cal-store-field-focus-ring: color-mix(in srgb, var(--cal-green) 12%, transparent);
  --cal-store-hero-bg:
    radial-gradient(circle at top right, color-mix(in srgb, var(--cal-green) 16%, transparent) 0%, transparent 32%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--cal-blue) 92%, black) 0%,
      var(--cal-blue) 56%,
      color-mix(in srgb, var(--cal-green) 34%, var(--cal-blue)) 100%);
  --cal-store-hero-head-bg:
    radial-gradient(circle at top left, color-mix(in srgb, var(--cal-panel-start) 16%, transparent) 0%, transparent 36%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--cal-blue) 92%, black) 0%,
      var(--cal-blue) 56%,
      color-mix(in srgb, var(--cal-green) 34%, var(--cal-blue)) 100%);
  --cal-store-hero-pill-bg: color-mix(in srgb, var(--cal-panel-start) 18%, transparent);
  --cal-store-hero-pill-border: color-mix(in srgb, var(--cal-panel-start) 28%, transparent);
  --cal-store-hero-pill-text: rgba(248, 251, 255, .92);
  --cal-store-hero-ink: #ffffff;
  --cal-store-hero-shadow: 0 24px 48px color-mix(in srgb, var(--cal-blue-dark) 18%, transparent);
  --cal-store-thread-bg:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 92%, var(--cal-blue-ink) 8%) 0%,
      color-mix(in srgb, var(--cal-panel-end) 90%, var(--cal-blue-dark) 10%) 100%);
  --cal-store-stream-bg:
    radial-gradient(circle at top left, color-mix(in srgb, var(--cal-blue) 12%, transparent) 0%, transparent 30%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 92%, var(--cal-blue-ink) 8%),
      color-mix(in srgb, var(--cal-panel-end) 88%, var(--cal-blue-dark) 12%));
  --cal-store-vip-bg:
    linear-gradient(180deg,
      color-mix(in srgb, var(--cal-panel-start) 86%, var(--cal-green) 14%),
      color-mix(in srgb, var(--cal-panel-end) 82%, var(--cal-green) 18%));
  --cal-store-vip-card-bg: color-mix(in srgb, var(--cal-panel-start) 88%, var(--cal-panel-end));
  --cal-store-system-bg:
    linear-gradient(180deg,
      color-mix(in srgb, #ffecc0 74%, var(--cal-panel-start)) 0%,
      color-mix(in srgb, #ffd98b 48%, var(--cal-panel-end)) 100%);
  --cal-store-system-border: color-mix(in srgb, #d49f42 42%, var(--cal-border));
  --cal-store-system-text: color-mix(in srgb, #5d471f 80%, var(--cal-text));
  --cal-store-track-bg: color-mix(in srgb, var(--cal-blue) 18%, var(--cal-panel-start));
  --cal-store-fill-bg: linear-gradient(90deg, var(--cal-blue) 0%, var(--cal-blue-dark) 100%);
  --cal-store-fill-warning-bg: linear-gradient(90deg, #e6a91c 0%, #cf8e00 100%);
  --cal-store-fill-danger-bg: linear-gradient(90deg, #d64d4d 0%, #b72b2b 100%);
}

/* Late storefront overrides for the category rail so theme duplicates do not reintroduce tiles. */
.cal-category-row {
  gap: 14px;
  padding: 14px 0 18px;
}
.cal-category-card {
  flex: 0 0 142px;
  min-width: 142px;
  padding: 6px 4px;
  border-radius: 18px;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.cal-category-img {
  width: 84px;
  min-width: 84px;
  height: 84px;
  min-height: 84px;
  background: transparent;
  box-shadow: none;
}
.cal-category-img img {
  width: 68%;
  height: 68%;
  max-width: 68%;
  max-height: 68%;
}
.cal-category-name {
  margin: 4px 0 0;
  font-size: 14px;
}
html[data-store-theme="haus"] .cal-category-card,
html[data-store-theme="haus"] .cal-category-card.is-view-all,
html[data-store-theme="wizardz"] .cal-category-card,
html[data-store-theme="wizardz"] .cal-category-card.is-view-all {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
html[data-store-theme="haus"] .cal-category-card::before,
html[data-store-theme="wizardz"] .cal-category-card::before {
  display: none;
}
html[data-store-theme="haus"] .cal-category-card {
  min-width: 142px;
  max-width: 142px;
  min-height: auto;
  padding: 6px 4px 8px;
  gap: 8px;
}
html[data-store-theme="haus"] .cal-category-img,
html[data-store-theme="wizardz"] .cal-category-img {
  background: transparent;
}
html[data-store-theme="haus"] .cal-category-name,
html[data-store-theme="wizardz"] .cal-category-name {
  font-size: 14px;
}
html[data-store-theme="wizardz"] .cal-category-card {
  min-width: 178px;
  max-width: 178px;
  padding: 6px 4px 8px;
}
html[data-store-theme="wizardz"] .cal-category-img img {
  max-width: 68%;
  max-height: 68%;
}
html[data-store-theme="wizardz"] .cal-category-name {
  margin-top: 6px;
}
@media (max-width: 760px) {
  .cal-category-card {
    flex: 0 0 104px;
    min-width: 104px;
    padding: 4px 3px 6px;
  }
  .cal-category-img {
    width: 58px;
    min-width: 58px;
    height: 58px;
    min-height: 58px;
  }
  .cal-category-img img {
    width: 66%;
    height: 66%;
    max-width: 66%;
    max-height: 66%;
  }
  .cal-category-name {
    font-size: 11px;
  }
  html[data-store-theme="wizardz"] .cal-category-card {
    min-width: 136px;
    max-width: 136px;
    padding: 4px 2px 6px;
    border-radius: 18px;
  }
  html[data-store-theme="wizardz"] .cal-category-name {
    font-size: 11px;
  }
}

/* Two Hommes live-site replica overrides */
body {
  font-family: 'Poppins', Helvetica, Arial, sans-serif;
  font-weight: 400;
  background: var(--cal-page);
  color: var(--cal-text);
  letter-spacing: 0;
  line-height: 1.75em;
}

input,
select,
textarea {
  font-family: 'Poppins', Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.75em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.entry-title,
.site-title {
  font-family: 'Playfair Display', Helvetica, Arial, sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--cal-text);
}

h1 {
  font-size: 3.125em;
  line-height: 1.1;
  margin: 1.3em 0 .4em;
}

h2 {
  font-size: 2.618em;
  line-height: 1.2;
  margin: 1em 0 .48em;
}

h3 {
  font-size: 1.931em;
  line-height: 1.3;
}

p {
  line-height: 1.75em;
}

a {
  color: #f1c6c0;
}

a:hover {
  color: #fff4ef;
}

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  font-family: 'Poppins', Helvetica, Arial, sans-serif;
  font-size: .9em;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.panel,
.cms-content {
  background: linear-gradient(180deg, rgba(17, 9, 9, .98) 0%, rgba(7, 5, 5, 1) 100%);
  border: 1px solid rgba(183, 34, 28, .18);
  box-shadow: 0 20px 44px rgba(0, 0, 0, .32);
}

.cms-content {
  color: rgba(244, 239, 231, .84);
}

.cms-content p,
.cms-content li {
  line-height: 1.75;
}

.banner-image {
  display: block;
  width: 100%;
  margin: 0 0 24px;
}

.cal-header {
  background:
    radial-gradient(circle at top center, color-mix(in srgb, var(--cal-blue) 18%, transparent) 0%, transparent 42%),
    linear-gradient(180deg, color-mix(in srgb, var(--cal-page) 92%, #040303 8%) 0%, color-mix(in srgb, var(--cal-page) 84%, #000 16%) 100%);
  color: #f4efe7;
  background-image: none;
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 20px 48px rgba(0, 0, 0, .3);
  backdrop-filter: saturate(118%) blur(12px);
  -webkit-backdrop-filter: saturate(118%) blur(12px);
}

.cal-header .container {
  padding-top: 9px;
  padding-bottom: 9px;
}

.cal-admin-bridge {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--cal-blue-dark) 82%, #090505 18%) 0%,
    color-mix(in srgb, var(--cal-blue) 74%, #140808 26%) 50%,
    color-mix(in srgb, var(--cal-blue-dark) 82%, #090505 18%) 100%);
  border-bottom-color: rgba(255,255,255,.08);
}

.cal-icon-btn {
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--cal-panel-start) 88%, #050404 12%) 0%,
    color-mix(in srgb, var(--cal-panel-end) 90%, #000 10%) 100%);
  color: #f4efe7;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 28px rgba(0, 0, 0, .22);
}

.cal-icon-btn img {
  filter: brightness(0) invert(1);
}

.cal-back-btn,
.cal-help-link,
.cal-search-wrap,
.cal-header a {
  color: #f4efe7;
}

.cal-back-btn,
.cal-search-wrap,
.cal-help-btn {
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--cal-panel-start) 88%, #050404 12%) 0%,
    color-mix(in srgb, var(--cal-panel-end) 90%, #000 10%) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 28px rgba(0, 0, 0, .22);
}

.cal-back-btn:hover,
.cal-back-btn:focus-visible,
.cal-search-wrap:hover,
.cal-search-wrap:focus-within,
.cal-help-btn:hover,
.cal-help-btn:focus-visible,
.cal-icon-btn:hover,
.cal-icon-btn:focus-visible {
  border-color: color-mix(in srgb, var(--cal-blue) 62%, rgba(255,255,255,.16));
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--cal-panel-start) 82%, var(--cal-blue-dark) 18%) 0%,
    color-mix(in srgb, var(--cal-panel-end) 84%, #000 16%) 100%);
}

.cal-search-wrap img,
.cal-help-link img {
  filter: brightness(0) invert(1);
}

.cal-cart-pill {
  border-color: rgba(255,255,255,.14);
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--cal-blue) 92%, black 8%) 0%,
    color-mix(in srgb, var(--cal-blue-dark) 90%, black 10%) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 14px 30px color-mix(in srgb, var(--cal-blue-dark) 18%, transparent);
}

.cal-cart-pill img {
  filter: brightness(0) invert(1);
}

.cal-cart-pill b {
  background: #f4efe7;
  border-color: rgba(183, 34, 28, .18);
  color: #7b1210;
}

.cal-header-main .cal-header-mode-switch .cal-delivery-bar-modes {
  padding: 3px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--cal-panel-start) 88%, #050404 12%) 0%,
    color-mix(in srgb, var(--cal-panel-end) 90%, #000 10%) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 28px rgba(0, 0, 0, .22);
}

.cal-header-main .cal-header-mode-switch .cal-delivery-mode {
  color: rgba(244, 239, 231, .76);
}

.cal-header-main .cal-header-mode-switch .cal-delivery-mode:hover,
.cal-header-main .cal-header-mode-switch .cal-delivery-mode:focus-visible {
  background: color-mix(in srgb, var(--cal-blue) 12%, rgba(255,255,255,.02));
  color: #f4efe7;
}

.cal-header-main .cal-header-mode-switch .cal-delivery-mode.is-active {
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--cal-blue) 92%, black 8%) 0%,
    color-mix(in srgb, var(--cal-blue-dark) 90%, black 10%) 100%);
  color: #fff6f2;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 24px color-mix(in srgb, var(--cal-blue-dark) 20%, transparent);
}

.cal-delivery-bar {
  background: linear-gradient(180deg, rgba(20, 9, 9, .98) 0%, rgba(8, 6, 6, .98) 100%);
  color: rgba(244, 239, 231, .76);
  border-top-color: rgba(183, 34, 28, .16);
}

.cal-delivery-bar strong {
  color: #f4efe7;
}

.cal-footer {
  background: #050505;
  color: #fff;
  border-top: 1px solid rgba(183, 34, 28, .18);
}

.cal-footer-grid h4,
.cal-footer-accordion summary {
  color: rgba(255,255,255,.8);
  font-family: 'Poppins', Helvetica, Arial, sans-serif;
  font-size: .72em;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.cal-footer-grid a,
.cal-footer-accordion details a {
  color: #fff;
  font-size: .94em;
  letter-spacing: .02em;
}

.cal-footer-grid a:hover,
.cal-footer-accordion details a:hover {
  color: #ffd4ce;
  text-decoration: none;
}

.cal-footer-accordion details {
  border-color: rgba(255,255,255,.12);
}

@media (max-width: 767px) {
  h1 {
    font-size: 3em;
    line-height: 1.1;
  }

  h2 {
    font-size: 2em;
    line-height: 1.3;
  }
}

@media (min-width: 767px) {
  h1 {
    font-size: calc(45px + 3 * ((100vw - 767px) / 433));
  }

  h2 {
    font-size: calc(30px + 12 * ((100vw - 767px) / 433));
  }
}

@media (min-width: 1200px) {
  h1 {
    font-size: 3.2em;
  }

  h2 {
    font-size: 2.8em;
  }
}

/* ---------- Admin Light Skin Final Override ---------- */
body.admin-page {
  --th-admin-surface-border: #ead7d1;
  --th-admin-surface-shadow: 0 18px 40px rgba(110, 35, 29, .08);
  --th-admin-surface-fill:
    radial-gradient(circle at top right, rgba(199, 62, 52, .08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fff8f7 100%);
  --th-admin-shell-fill:
    radial-gradient(circle at top right, rgba(223, 75, 66, .10), transparent 30%),
    linear-gradient(180deg, #fffaf8 0%, #fff3ef 100%);
  background:
    radial-gradient(circle at top right, rgba(199, 62, 52, .06), transparent 24%),
    linear-gradient(180deg, #fff8f6 0%, #f9efea 52%, #fffdfc 100%) !important;
}

body.admin-page,
body.admin-page a,
body.admin-page .subtle {
  color: #241311 !important;
}

body.admin-page h1,
body.admin-page h2,
body.admin-page h3,
body.admin-page h4,
body.admin-page strong,
body.admin-page th,
body.admin-page label {
  color: #31110d !important;
  text-shadow: none !important;
}

body.admin-page .admin-topbar,
body.admin-page .admin-topbar.is-pos-host {
  background:
    radial-gradient(circle at top right, rgba(223, 75, 66, .10), transparent 28%),
    linear-gradient(180deg, #fffaf8 0%, #fff4f1 100%) !important;
  border-bottom: 1px solid rgba(199, 62, 52, .18) !important;
  box-shadow: 0 12px 28px rgba(110, 35, 29, .08) !important;
}

body.admin-page .admin-brand,
body.admin-page .admin-brand-text,
body.admin-page .admin-topbar-user span,
body.admin-page .admin-topnav-context-label {
  color: #6f231d !important;
}

body.admin-page .admin-menu-toggle,
body.admin-page .admin-topnav-link,
body.admin-page .admin-topnav-more summary,
body.admin-page .admin-topnav-context strong,
body.admin-page .admin-topbar-user a,
body.admin-page .admin-leftnav-close,
body.admin-page .admin-workspace-link {
  background: linear-gradient(180deg, #ffffff 0%, #fff6f4 100%) !important;
  border-color: #e4c8c1 !important;
  color: #6f231d !important;
  box-shadow: none !important;
}

body.admin-page .admin-brand-logo-wrap {
  background: linear-gradient(180deg, #9f3428 0%, #69221c 100%) !important;
  border-color: #7c241d !important;
  color: #fff7f3 !important;
  box-shadow: 0 12px 28px rgba(122, 44, 37, .18) !important;
}

body.admin-page .admin-topnav-link.is-active,
body.admin-page .admin-topnav-link:hover,
body.admin-page .admin-topnav-more.is-active summary,
body.admin-page .admin-topnav-more[open] summary,
body.admin-page .admin-topnav-more summary:hover,
body.admin-page .admin-workspace-link:hover,
body.admin-page .admin-workspace-link.is-active {
  background: linear-gradient(180deg, #f7dbd4 0%, #f1cbc4 100%) !important;
  border-color: #d66f64 !important;
  color: #6f231d !important;
  box-shadow: 0 10px 22px rgba(122, 44, 37, .10) !important;
}

body.admin-page .admin-workspace-link-icon,
body.admin-page .admin-topnav-link-icon,
body.admin-page .admin-leftnav-link .admin-topnav-link-icon {
  color: #8a2a23 !important;
}

body.admin-page .admin-leftnav {
  background: transparent !important;
}

body.admin-page .admin-leftnav-inner {
  background:
    radial-gradient(circle at top left, rgba(208, 74, 60, .12), transparent 30%),
    linear-gradient(180deg, #fff8f5 0%, #f7ebe5 58%, #f1e3dc 100%) !important;
  border-color: rgba(193, 109, 97, .26) !important;
  box-shadow: 0 18px 40px rgba(80, 33, 27, .12) !important;
}

body.admin-page .admin-leftnav-group h3 {
  color: #6d241d !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

body.admin-page .admin-leftnav-link {
  background: rgba(255, 255, 255, .34) !important;
  color: #36110d !important;
  font-weight: 700 !important;
  border: 1px solid rgba(196, 109, 97, .10) !important;
  text-shadow: none !important;
}

body.admin-page .admin-leftnav-link .admin-topnav-link-icon,
body.admin-page .admin-leftnav-link svg {
  color: #8f281f !important;
  opacity: 1 !important;
}

body.admin-page .admin-leftnav-link > span:last-child {
  color: #36110d !important;
  opacity: 1 !important;
}

body.admin-page .admin-leftnav-link:hover,
body.admin-page .admin-leftnav-link.is-active {
  background: linear-gradient(180deg, #f7ddd6 0%, #f2c9c1 100%) !important;
  border-color: rgba(210, 104, 90, .28) !important;
  color: #4b1713 !important;
}

body.admin-page .admin-leftnav-link:hover .admin-topnav-link-icon,
body.admin-page .admin-leftnav-link.is-active .admin-topnav-link-icon,
body.admin-page .admin-leftnav-link:hover svg,
body.admin-page .admin-leftnav-link.is-active svg {
  color: #7e2e26 !important;
}

body.admin-page .dashboard-card-head h2,
body.admin-page .dashboard-side-head h2,
body.admin-page .admin-section-head h2,
body.admin-page .admin-panel-title h2,
body.admin-page .admin-action-card-head h2,
body.admin-page .admin-online-tracker h3,
body.admin-page .admin-mix-card h3,
body.admin-page .admin-feature-card b,
body.admin-page .admin-focus-row strong,
body.admin-page .admin-action-link strong,
body.admin-page .dashboard-priority-value,
body.admin-page .dashboard-resource-card strong,
body.admin-page .admin-kpi-item strong,
body.admin-page .admin-list-item strong,
body.admin-page .admin-driver-live-item strong,
body.admin-page .admin-week-day strong,
body.admin-page .admin-week-day b,
body.admin-page .admin-online-main strong {
  color: #34110d !important;
  opacity: 1 !important;
}

body.admin-page .admin-leftnav-inner,
body.admin-page .admin-topnav-more-menu,
body.admin-page .admin-spotlight-card,
body.admin-page .admin-shell,
body.admin-page .admin-command,
body.admin-page .panel,
body.admin-page .admin-workspace-nav,
body.admin-page .products-top-grid,
body.admin-page .products-command,
body.admin-page .products-overview-card,
body.admin-page .products-summary-card,
body.admin-page .products-panel,
body.admin-page .products-tools,
body.admin-page .products-bulk-bar,
body.admin-page .products-table-wrap,
body.admin-page .orders-filter-shell,
body.admin-page .orders-kpi,
body.admin-page .orders-stage-card,
body.admin-page .orders-table-shell,
body.admin-page .order-card-summary,
body.admin-page .order-card-detail,
body.admin-page .dashboard-ops-shell,
body.admin-page .dashboard-ops-stat,
body.admin-page .dashboard-hero-card,
body.admin-page .dashboard-side-card,
body.admin-page .dashboard-signal-card,
body.admin-page .dashboard-resource-panel,
body.admin-page .dashboard-palette-card,
body.admin-page .dashboard-launch-card,
body.admin-page .dashboard-shortcut-card {
  background: var(--th-admin-surface-fill) !important;
  border-color: var(--th-admin-surface-border) !important;
  box-shadow: var(--th-admin-surface-shadow) !important;
  color: #241311 !important;
}

body.admin-page .admin-command {
  background: var(--th-admin-shell-fill) !important;
}

body.admin-page .admin-command h1,
body.admin-page .admin-command h2,
body.admin-page .admin-command h3,
body.admin-page .orders-title-row h1,
body.admin-page .products-command-copy h1,
body.admin-page .products-head h2,
body.admin-page .dashboard-ops-head h1,
body.admin-page .dashboard-hero-card h2,
body.admin-page .dashboard-side-card h3,
body.admin-page .dashboard-resource-panel h3,
body.admin-page .dashboard-launch-card strong,
body.admin-page .dashboard-shortcut-card strong {
  color: #2b0d0a !important;
  opacity: 1 !important;
}

body.admin-page .admin-command p,
body.admin-page .orders-command-copy p,
body.admin-page .products-command-copy p,
body.admin-page .products-summary-card p,
body.admin-page .products-head p,
body.admin-page .dashboard-ops-head p,
body.admin-page .dashboard-ops-clock span,
body.admin-page .dashboard-ops-clock small,
body.admin-page .dashboard-hero-card p,
body.admin-page .dashboard-side-card p,
body.admin-page .dashboard-resource-panel p,
body.admin-page .dashboard-launch-card span,
body.admin-page .dashboard-shortcut-card span,
body.admin-page .order-meta,
body.admin-page .payment-subline,
body.admin-page .fulfill-type,
body.admin-page .products-name-meta,
body.admin-page .stat-label {
  color: #7d5a53 !important;
}

body.admin-page .admin-badge-pill,
body.admin-page .orders-eyebrow,
body.admin-page .orders-meta-chip,
body.admin-page .orders-table-note,
body.admin-page .order-day-badge,
body.admin-page .next-day-pill,
body.admin-page .products-hero-badge,
body.admin-page .products-id-chip,
body.admin-page .products-count-chip,
body.admin-page .products-filter-chip,
body.admin-page .products-import-pill,
body.admin-page .products-badge.badge-type,
body.admin-page .admin-trend-badge,
body.admin-page .dashboard-kicker,
body.admin-page .dashboard-chip,
body.admin-page .dashboard-palette-swatch {
  background: rgba(199, 62, 52, .08) !important;
  border-color: rgba(199, 62, 52, .16) !important;
  color: #8a2a23 !important;
}

body.admin-page .button,
body.admin-page button,
body.admin-page input[type="submit"],
body.admin-page input[type="button"],
body.admin-page input[type="reset"] {
  background: linear-gradient(180deg, #cf3b2d 0%, #8d1e15 100%) !important;
  border-color: transparent !important;
  color: #fff8f4 !important;
  box-shadow: none !important;
}

body.admin-page .button.secondary,
body.admin-page button.secondary,
body.admin-page .admin-command .button.secondary,
body.admin-page .admin-command button.secondary {
  background: linear-gradient(180deg, #fffaf8 0%, #f8ece7 100%) !important;
  border-color: #dfc0b8 !important;
  color: #622019 !important;
}

body.admin-page input[type="text"],
body.admin-page input[type="search"],
body.admin-page input[type="email"],
body.admin-page input[type="tel"],
body.admin-page input[type="number"],
body.admin-page input[type="date"],
body.admin-page input[type="time"],
body.admin-page input[type="password"],
body.admin-page select,
body.admin-page textarea {
  background: #ffffff !important;
  border-color: #e5cbc4 !important;
  color: #241311 !important;
}

body.admin-page thead th {
  background: #fff1ee !important;
  color: #8a2a23 !important;
}

body.admin-page th,
body.admin-page td {
  color: #241311 !important;
  border-bottom-color: #efe0db !important;
}

body.admin-page tr:hover td {
  background: #fff8f7 !important;
}

/* ---------- Admin Two Hommes Page Harmonizer ---------- */
body.admin-page.workforce-admin-page,
body.admin-page.drivers-admin-page,
body.admin-page.mailbox-admin-page,
body.admin-page.chat-admin-route,
body.admin-page.conversations-board-page,
body.admin-page.order-hub-admin-page,
body.admin-page.pos-tended-admin-page,
body.admin-page.brands-admin-page,
body.admin-page.brand-new-admin-page,
body.admin-page.articles-admin-page,
body.admin-page.food-slider-admin-page,
body.admin-page.users-admin-page,
body.admin-page.employees-admin-page {
  --th-admin-accent: #b43a2a;
  --th-admin-accent-deep: #7a2218;
  --th-admin-tint: rgba(180, 58, 42, .10);
  --th-admin-soft-card:
    radial-gradient(circle at top right, rgba(223, 75, 66, .08), transparent 32%),
    linear-gradient(180deg, #fffdfb 0%, #fff7f2 100%);
  --th-admin-warm-shell:
    radial-gradient(circle at top left, rgba(223, 75, 66, .18), transparent 32%),
    linear-gradient(135deg, #8e2c20 0%, #5e1912 100%);
}

body.admin-page.workforce-admin-page :is(.wf-card, .wf-panel, .wf-kpi, .wf-overview-card, .wf-overview-filter-card, .wf-timesheet-card, .wf-note-card, .wf-live-alert-card, .wf-conversation-shell, .wf-conversation-main, .wf-conversation-list, .wf-conversation-stage, .ws-roster, .ws-main, .ws-week-col),
body.admin-page.drivers-admin-page :is(.drivers-controls, .drivers-summary, .drivers-table-wrap, .drivers-create),
body.admin-page.mailbox-admin-page :is(.mail-app, .mail-list-panel, .mail-main-panel, .mail-message-shell, .mail-compose-shell, .mail-compose-main, .mail-compose-side, .mail-newsletter-dashboard-panel, .mail-newsletter-dark-card, .mail-newsletter-detail-card, .mail-newsletter-list-card, .mail-newsletter-form-card, .mail-newsletter-chart-card, .mail-newsletter-gallery-card, .mail-newsletter-image-card, .mail-newsletter-intel-card, .mail-newsletter-metric-card, .mail-newsletter-editor-rail-card, .mail-newsletter-preview-body, .mail-newsletter-campaign-hero, .mail-newsletter-campaign-main, .mail-newsletter-campaign-list),
body.admin-page.chat-admin-route :is(.chat-admin-shell, .chat-admin-left, .chat-admin-main, .chat-admin-context-card, .chat-admin-kpi, .chat-admin-compose, .chat-admin-promo-card, .chat-admin-promo-slot),
body.admin-page.conversations-board-page :is(.conv-head, .conv-toolbox, .conv-col, .conv-composer, .conv-order-card),
body.admin-page.pos-tended-admin-page :is(.tended-card, .tended-panel, .tended-modal-card, .tended-row),
body.admin-page.brands-admin-page :is(.brand-admin-command, .brand-admin-list, .brand-admin-card, .brand-admin-panel, .brand-admin-preview, .brand-admin-footer, .brand-admin-hero-card),
body.admin-page.brand-new-admin-page :is(.brand-new-card, .brand-new-panel, .brand-new-preview),
body.admin-page.articles-admin-page :is(.articles-hero, .articles-metric, .articles-toolbar, .articles-panel, .articles-preview-card, .articles-table-wrap),
body.admin-page.food-slider-admin-page :is(.food-slider-admin-hero, .food-slider-admin-upload, .food-slider-admin-card, .food-slider-admin-orderbar, .panel),
body.admin-page.users-admin-page :is(.users-shell, .users-toolbar, .users-stat-card, .user-card, .users-empty, .panel),
body.admin-page.employees-admin-page :is(.emp-tools, .emp-directory, .emp-section-shell, .emp-card, .emp-profile-card, .emp-shared-mailbox-card, .emp-workforce-detail, .emp-workforce-row),
body.admin-page.order-hub-admin-page :is(.hub-header, .hub-lane-summary, .hub-toolbar, .hub-card, .hub-col) {
  background: var(--th-admin-soft-card) !important;
  border-color: #e8cfc7 !important;
  box-shadow: 0 18px 34px rgba(110, 35, 29, .08) !important;
  color: #241311 !important;
}

body.admin-page.workforce-admin-page :is(.wf-hero, .wf-live-alert, .wf-modal-card, .wf-timesheet-summary),
body.admin-page.drivers-admin-page :is(.drivers-hero, .drivers-hero-card),
body.admin-page.mailbox-admin-page :is(.mail-newsletter-commandbar, .mail-newsletter-editor-topbar, .mail-newsletter-dashboard-metrics, .mail-newsletter-campaign-top),
body.admin-page.chat-admin-route :is(.chat-admin-main-head, .chat-admin-left-head, .chat-admin-promo-head),
body.admin-page.conversations-board-page .conv-head,
body.admin-page.brands-admin-page :is(.brand-admin-hero, .brand-admin-banner-preview),
body.admin-page.brand-new-admin-page .brand-new-hero,
body.admin-page.users-admin-page .users-hero,
body.admin-page.employees-admin-page .emp-hero,
body.admin-page.food-slider-admin-page .food-slider-admin-hero {
  background: var(--th-admin-warm-shell) !important;
  border-color: rgba(122, 34, 24, .34) !important;
  box-shadow: 0 22px 44px rgba(92, 24, 18, .18) !important;
  color: #fff8f4 !important;
}

body.admin-page.workforce-admin-page :is(.wf-hero, .wf-live-alert, .wf-modal-card, .wf-timesheet-summary) :is(h1, h2, h3, h4, strong, p, span),
body.admin-page.drivers-admin-page :is(.drivers-hero, .drivers-hero-card) :is(h1, h2, h3, h4, strong, p, span),
body.admin-page.mailbox-admin-page :is(.mail-newsletter-commandbar, .mail-newsletter-editor-topbar, .mail-newsletter-dashboard-metrics, .mail-newsletter-campaign-top) :is(h1, h2, h3, h4, strong, p, span, a),
body.admin-page.chat-admin-route :is(.chat-admin-main-head, .chat-admin-left-head, .chat-admin-promo-head) :is(h1, h2, h3, h4, strong, p, span),
body.admin-page.conversations-board-page .conv-head :is(h1, h2, h3, h4, strong, p, span),
body.admin-page.brands-admin-page :is(.brand-admin-hero, .brand-admin-banner-preview) :is(h1, h2, h3, h4, strong, p, span),
body.admin-page.brand-new-admin-page .brand-new-hero :is(h1, h2, h3, h4, strong, p, span),
body.admin-page.users-admin-page .users-hero :is(h1, h2, h3, h4, strong, p, span),
body.admin-page.employees-admin-page .emp-hero :is(h1, h2, h3, h4, strong, p, span),
body.admin-page.food-slider-admin-page .food-slider-admin-hero :is(h1, h2, h3, h4, strong, p, span) {
  color: #fff8f4 !important;
}

body.admin-page.workforce-admin-page :is(.wf-head, .ws-top, .wf-overview-card-head, .wf-timesheet-head, .wf-conversation-list-head, .wf-conversation-stage-head),
body.admin-page.drivers-admin-page :is(.drivers-create-head),
body.admin-page.mailbox-admin-page :is(.mail-list-head, .mail-message-head, .mail-compose-head, .mail-newsletter-card-head, .mail-newsletter-detail-actions),
body.admin-page.chat-admin-route :is(.chat-admin-thread, .chat-admin-quick, .chat-admin-link-tool, .chat-admin-route-link),
body.admin-page.conversations-board-page :is(.conv-tool, .conv-thread, .conv-search-wrap, .conv-msg, .conv-composer),
body.admin-page.pos-tended-admin-page :is(.tended-head, .tended-meta, .tended-note, .tended-modal-head),
body.admin-page.brands-admin-page :is(.brand-admin-media-tile, .brand-admin-stat-card, .brand-admin-panel),
body.admin-page.brand-new-admin-page :is(.brand-new-panel),
body.admin-page.articles-admin-page :is(.articles-metric, .articles-detail, .articles-toolbar-top),
body.admin-page.food-slider-admin-page :is(.food-slider-admin-upload, .food-slider-admin-card-head),
body.admin-page.users-admin-page :is(.users-filter-chip, .users-directory-note, .user-meta-block),
body.admin-page.employees-admin-page :is(.emp-card, .emp-directory-row, .emp-view-tab, .emp-role),
body.admin-page.order-hub-admin-page :is(.hub-pill, .hub-lane-pill, .hub-search, .hub-sort, .hub-scope) {
  border-color: #e4c5bc !important;
  background: linear-gradient(180deg, #fffaf8 0%, #f8ece7 100%) !important;
  color: #662119 !important;
  box-shadow: none !important;
}

body.admin-page.workforce-admin-page :is(.wf-badge, .wf-status-pill, .wf-eyebrow, .wf-quick-chip, .wf-tab, .ws-view-btn.is-on),
body.admin-page.drivers-admin-page :is(.drivers-create-badge),
body.admin-page.mailbox-admin-page :is(.mail-danger, .mail-info, .mail-newsletter-commandstat, .mail-newsletter-editor-tool, .mail-newsletter-editor-pane-tab, .mail-newsletter-filter, .mail-nav-link.is-active),
body.admin-page.chat-admin-route :is(.chat-admin-filter, .chat-admin-status, .chat-admin-toggle, .chat-admin-mobile-list-btn),
body.admin-page.conversations-board-page :is(.conv-pill, .conv-route-link, .conv-send),
body.admin-page.pos-tended-admin-page :is(.tended-chip, .tended-stat),
body.admin-page.brands-admin-page :is(.brand-admin-hero-pill, .brand-admin-mini-pill, .brand-admin-command-label, .brand-admin-command-meta),
body.admin-page.brand-new-admin-page :is(.brand-new-kicker),
body.admin-page.articles-admin-page :is(.articles-badge, .articles-chip),
body.admin-page.food-slider-admin-page :is(.food-slider-admin-badge, .food-slider-admin-rank),
body.admin-page.users-admin-page :is(.users-filter-chip.is-active),
body.admin-page.employees-admin-page :is(.emp-view-tab.is-active, .emp-kpi, .emp-callout),
body.admin-page.order-hub-admin-page :is(.hub-refresh-now, .hub-lane-pill, .hub-pill) {
  background: linear-gradient(180deg, #cf3b2d 0%, #8d1e15 100%) !important;
  border-color: #8d1e15 !important;
  color: #fff8f4 !important;
}

body.admin-page.workforce-admin-page :is(.wf-field input, .wf-field select, .wf-table th, .ws-day-cell, .ws-week-col, .wf-entry-table th),
body.admin-page.drivers-admin-page :is(.drivers-field input, .drivers-field select, .drivers-table-wrap thead th),
body.admin-page.mailbox-admin-page :is(.mail-input, .mail-compose input, .mail-compose textarea, .mail-newsletter-color-input, .mail-newsletter-search-input, .mail-newsletter-detail-table th),
body.admin-page.chat-admin-route :is(.chat-admin-compose textarea, .chat-admin-compose input, .chat-admin-thread, .chat-admin-msg),
body.admin-page.conversations-board-page :is(.conv-composer textarea, .conv-search-wrap input, .conv-order),
body.admin-page.pos-tended-admin-page :is(.tended-modal-items th, .tended-modal-items td),
body.admin-page.brands-admin-page :is(.brand-admin-field input, .brand-admin-field textarea, .brand-admin-field select),
body.admin-page.brand-new-admin-page :is(.brand-new-field input, .brand-new-field textarea, .brand-new-field select),
body.admin-page.articles-admin-page :is(.articles-field input, .articles-field textarea, .articles-field select, .articles-table th),
body.admin-page.food-slider-admin-page :is(.food-slider-admin-upload input),
body.admin-page.users-admin-page :is(.users-search-form input, .users-search-form select),
body.admin-page.employees-admin-page :is(.emp-search input, .emp-search select, .emp-directory-table th),
body.admin-page.order-hub-admin-page :is(.hub-board, .hub-card, .hub-col) {
  border-color: #e7d1cb !important;
}

body.admin-page.drivers-admin-page .status-chip--in_transit,
body.admin-page.workforce-admin-page .ws-day-cell.is-drop,
body.admin-page.chat-admin-route .chat-admin-thread-unread,
body.admin-page.conversations-board-page .conv-order-link,
body.admin-page.articles-admin-page .articles-badge.is-active,
body.admin-page.users-admin-page .user-chip.role-customer,
body.admin-page.employees-admin-page .emp-role {
  background: rgba(180, 58, 42, .10) !important;
  border-color: rgba(180, 58, 42, .18) !important;
  color: #8a2a23 !important;
}

body.admin-page.mailbox-admin-page .mail-header-tools .button,
body.admin-page.mailbox-admin-page .mail-header-tools button,
body.admin-page.chat-admin-route .chat-admin-main-actions .button,
body.admin-page.chat-admin-route .chat-admin-main-actions button,
body.admin-page.conversations-board-page .conv-head-actions .button,
body.admin-page.conversations-board-page .conv-head-actions button,
body.admin-page.brands-admin-page .brand-admin-hero-actions .button,
body.admin-page.brand-new-admin-page .brand-new-actions .button,
body.admin-page.users-admin-page .users-hero-actions .button,
body.admin-page.employees-admin-page .emp-hero-actions .button,
body.admin-page.drivers-admin-page .drivers-create-actions .button,
body.admin-page.workforce-admin-page .wf-hero-actions .button {
  box-shadow: none !important;
}
