/* Kezra Menu — clean cards, configurable button styling */
.kezra-menu{width:100%;font-family:var(--e-global-typography-text-font-family,inherit);color:inherit}.kezra-menu *{box-sizing:border-box}
.kezra-menu-search-wrap{margin:0 0 20px;position:relative}.kezra-menu-search{display:block;width:100%;min-height:48px;margin:0;padding:12px 16px;border:1px solid var(--kwc-card-border,#e2e8f0);border-radius:13px;background:var(--kwc-card-bg,#fff);color:#1f2937;font:inherit;font-size:14px;box-shadow:0 3px 11px #0f172a08;transition:border-color .17s,box-shadow .17s}.kezra-menu-search:focus{outline:none;border-color:var(--kwc-accent,#2563eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--kwc-accent,#2563eb) 14%,transparent)}
.kezra-menu-categories{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}.kezra-menu-category{appearance:none;border:1px solid var(--kwc-card-border,#e2e8f0);border-radius:999px;margin:0;padding:9px 15px;background:var(--kwc-card-bg,#fff);color:#334155;font:inherit;font-size:13px;font-weight:650;line-height:1.3;cursor:pointer;box-shadow:none;transition:background .18s,color .18s,border-color .18s,translate .18s}.kezra-menu-category:hover{border-color:var(--kwc-accent,#2563eb);translate:0 -1px}.kezra-menu-category.is-active{background:var(--kwc-add-bg,#1f2937);border-color:var(--kwc-add-bg,#1f2937);color:var(--kwc-add-text,#fff)}
.kezra-menu-grid{display:grid;grid-template-columns:repeat(var(--kezra-menu-columns,3),minmax(0,1fr));gap:20px}.kezra-menu-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--kwc-card-border,#e2e8f0);border-radius:17px;background:var(--kwc-card-bg,#fff);color:#1f2937;box-shadow:0 3px 16px #101d3309,0 1px 3px #101d3308;transition:transform .22s,box-shadow .22s,border-color .22s}.kezra-menu-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #101d3315;border-color:color-mix(in srgb,var(--kwc-accent,#2563eb) 20%,var(--kwc-card-border,#e2e8f0))}
.kezra-menu-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#f1f5f9}.kezra-menu-image img{display:block;width:100%;height:100%;object-fit:cover;transition:scale .4s ease}.kezra-menu-card:hover .kezra-menu-image img{scale:1.035}.kezra-menu-image-placeholder{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:42px}.kezra-menu-sold-out{position:absolute;top:12px;left:12px;padding:7px 10px;border:1px solid #ffffff44;border-radius:8px;background:#182332;color:#fff;font-size:11px;font-weight:750;line-height:1.2;box-shadow:0 2px 8px #0002}.kezra-menu-badge{background:var(--kwc-accent,#2563eb)!important;color:#fff!important}
.kezra-menu-card-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:17px}.kezra-menu-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kezra-menu-product-name{margin:0!important;color:inherit!important;font-size:17px!important;line-height:1.35!important;font-weight:800!important;letter-spacing:-.015em;overflow-wrap:anywhere}.kezra-menu-price{flex-shrink:0;color:var(--kwc-accent,#2563eb);font-size:15px;font-weight:800;line-height:1.4;white-space:nowrap}.kezra-menu-description{margin:0!important;color:var(--kwc-muted,#64748b);font-size:13px;line-height:1.6;flex:1}
.kezra-menu .kezra-menu-add{display:block;width:100%;min-height:44px;margin:0;margin-top:auto;border:1px solid transparent!important;border-radius:var(--kwc-add-radius,12px)!important;padding:11px 15px;background:var(--kwc-add-bg,#1f2937)!important;color:var(--kwc-add-text,#fff)!important;font:inherit;font-size:13px;font-weight:750;line-height:1.4;cursor:pointer;box-shadow:0 4px 12px #11182716;transition:background .17s,transform .17s,box-shadow .17s}.kezra-menu .kezra-menu-add:hover{background:var(--kwc-add-hover,#111827)!important;transform:translateY(-1px);box-shadow:0 7px 15px #1118271f}.kezra-menu .kezra-menu-add:active{transform:scale(.99)}.kezra-menu .kezra-menu-add.is-unavailable,.kezra-menu .kezra-menu-add:disabled{background:#e9eef3!important;color:#64748b!important;box-shadow:none;cursor:not-allowed;transform:none}
.kezra-menu-empty,.kezra-menu-no-results{padding:24px;text-align:center;color:var(--kwc-muted,#64748b);font-size:14px}.kezra-menu [hidden]{display:none!important}
@media(max-width:900px){.kezra-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}}@media(max-width:540px){.kezra-menu-grid{gap:11px}.kezra-menu-card{border-radius:12px}.kezra-menu-card-body{gap:9px;padding:11px}.kezra-menu-product-name{font-size:14px!important}.kezra-menu-price{font-size:13px}.kezra-menu-description{font-size:12px}.kezra-menu .kezra-menu-add{padding:10px 8px;font-size:12px;min-height:42px}.kezra-menu-category{padding:8px 12px;font-size:12px}.kezra-menu-categories{gap:7px}.kezra-menu-sold-out{top:8px;left:8px;font-size:10px}}@media(max-width:360px){.kezra-menu-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.kezra-menu-card,.kezra-menu-category,.kezra-menu-add,.kezra-menu-image img{transition:none!important;transform:none!important}}

body.kezra-motion-disabled .kezra-menu :is(.kezra-menu-card,.kezra-menu-category,.kezra-menu-add,.kezra-menu-image img){animation:none!important;transition:none!important;transform:none!important;scale:1!important}

/* Match website/theme typography even when the theme applies a separate heading/button font. */
.kezra-menu :is(h3,button,input,select,textarea){font-family:inherit!important}

/* v1.5.1 — Premium menu discovery toolbar: sticky under a theme/Elementor header. */
.kezra-menu-toolbar-anchor{height:1px;margin:0;pointer-events:none}
.kezra-menu .kezra-menu-toolbar{
 --kezra-menu-sticky-top:0px;--kezra-menu-accent:var(--e-global-color-accent,var(--wp--preset--color--primary,var(--kwc-accent,#2563eb)));box-sizing:border-box;position:sticky;top:var(--kezra-menu-sticky-top);z-index:1200;
 isolation:isolate;min-width:0;margin:0 0 24px;padding:17px 19px 18px;
 border:1px solid color-mix(in srgb,var(--kwc-card-border,#e2e8f0) 88%,transparent);border-radius:21px;
 background:color-mix(in srgb,var(--kwc-card-bg,#fff) 95%,transparent);
 color:var(--kwc-drawer-text,#1e293b);box-shadow:0 7px 30px #0f172a0b,0 2px 8px #0f172a06;
 -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
 transition:padding .25s cubic-bezier(.2,.7,.2,1),border-radius .25s,background-color .25s,border-color .25s,box-shadow .3s;
}
.kezra-menu .kezra-menu-toolbar.is-stuck{
 padding:10px 15px 11px;border-radius:0 0 18px 18px;
 background:color-mix(in srgb,var(--kwc-card-bg,#fff) 96%,transparent);
 border-color:color-mix(in srgb,var(--kezra-menu-accent,var(--kwc-accent,#2563eb)) 15%,var(--kwc-card-border,#e2e8f0));
 box-shadow:0 14px 34px #0f172a20,0 2px 6px #0f172a07;
}
.kezra-menu-toolbar-top{display:grid;grid-template-columns:minmax(0,.75fr) minmax(220px,1.25fr);gap:18px;align-items:center;margin-bottom:15px;transition:gap .23s,margin .23s,grid-template-columns .23s}
.kezra-menu-toolbar-heading{display:flex;flex-direction:column;gap:3px;min-width:0;white-space:nowrap;overflow:hidden;transition:opacity .2s,max-width .25s}
.kezra-menu-toolbar-eyebrow{font-size:10px;letter-spacing:.14em;line-height:1.2;color:var(--kezra-menu-accent,var(--kwc-accent,#2563eb));font-weight:850;text-transform:uppercase}
.kezra-menu-toolbar-title{font-size:19px;line-height:1.22;font-weight:850;letter-spacing:-.035em;color:var(--kwc-drawer-text,#1e293b)}
.kezra-menu-toolbar.is-stuck .kezra-menu-toolbar-top{grid-template-columns:0 minmax(0,1fr);gap:0;margin-bottom:9px}
.kezra-menu-toolbar.is-stuck .kezra-menu-toolbar-heading{max-width:0;opacity:0}
.kezra-menu .kezra-menu-search-wrap{position:relative;margin:0;min-width:0}
.kezra-menu .kezra-menu-search{display:block;width:100%;height:49px;min-height:49px;margin:0!important;
 padding:12px 43px 12px 45px;border:1px solid var(--kwc-card-border,#d8e0e9);border-radius:14px;
 background:color-mix(in srgb,var(--kwc-section-bg,#f3f6fb) 58%,var(--kwc-card-bg,#fff));
 color:var(--kwc-drawer-text,#1e293b);font:inherit;font-size:13px;font-weight:550;letter-spacing:0;
 box-shadow:inset 0 1px 2px #0f172a04,0 2px 5px #0f172a04;outline:0;
 transition:height .22s,min-height .22s,background .2s,border-color .2s,box-shadow .2s;
}
.kezra-menu .kezra-menu-search::placeholder{color:var(--kwc-muted,#64748b);opacity:.9}
.kezra-menu .kezra-menu-search:focus{border-color:var(--kezra-menu-accent,var(--kwc-accent,#2563eb));background:var(--kwc-card-bg,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--kezra-menu-accent,var(--kwc-accent,#2563eb)) 12%,transparent),0 5px 18px #0f172a0b}
.kezra-menu-search-icon{position:absolute;left:15px;top:50%;width:19px;height:19px;color:var(--kwc-muted,#64748b);transform:translateY(-50%);pointer-events:none;transition:color .2s}
.kezra-menu-search-wrap:focus-within .kezra-menu-search-icon{color:var(--kezra-menu-accent,var(--kwc-accent,#2563eb))}
.kezra-menu .kezra-menu-search-clear{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:28px;min-height:28px;height:28px;margin:0;padding:0;border:0;border-radius:9px;background:var(--kwc-section-bg,#f3f6fb);color:var(--kwc-muted,#64748b);font-size:20px;font-family:inherit;line-height:1;display:grid;place-items:center;cursor:pointer}
.kezra-menu .kezra-menu-search-clear:hover{background:color-mix(in srgb,var(--kezra-menu-accent,var(--kwc-accent,#2563eb)) 9%,var(--kwc-section-bg,#f3f6fb));color:var(--kezra-menu-accent,var(--kwc-accent,#2563eb))}
.kezra-menu-toolbar.is-stuck .kezra-menu-search{height:42px;min-height:42px;padding-top:8px;padding-bottom:8px}
.kezra-menu-category-row{display:flex;align-items:center;gap:10px;min-width:0}
.kezra-menu-category-label{flex:none;font-size:11px;line-height:1.2;font-weight:750;letter-spacing:.02em;color:var(--kwc-muted,#64748b)}
.kezra-menu .kezra-menu-categories{display:flex;flex:1 1 auto;min-width:0;flex-wrap:nowrap;align-items:center;gap:8px;
 overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;
 scroll-snap-type:x proximity;min-height:39px;margin:0;padding:2px;}
.kezra-menu-categories::-webkit-scrollbar{display:none}
.kezra-menu .kezra-menu-category{display:inline-flex;flex:none;align-items:center;justify-content:center;min-height:35px;
 margin:0!important;padding:8px 15px;border:1px solid var(--kwc-card-border,#e2e8f0);border-radius:999px;
 background:var(--kwc-card-bg,#fff);color:var(--kwc-drawer-text,#334155);font:inherit!important;
 font-size:12px!important;font-weight:750!important;line-height:1.25!important;white-space:nowrap;cursor:pointer;scroll-snap-align:start;
 box-shadow:0 1px 4px #0f172a06;transform:translateY(0);transition:background .17s,color .17s,border-color .17s,box-shadow .2s,transform .2s;
}
.kezra-menu .kezra-menu-category:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--kezra-menu-accent,var(--kwc-accent,#2563eb)) 50%,var(--kwc-card-border,#e2e8f0));color:var(--kezra-menu-accent,var(--kwc-accent,#2563eb));box-shadow:0 4px 10px #0f172a0d}
.kezra-menu .kezra-menu-category.is-active{color:#fff!important;background:var(--kezra-menu-accent,var(--kwc-accent,#2563eb))!important;border-color:var(--kezra-menu-accent,var(--kwc-accent,#2563eb))!important;box-shadow:0 4px 12px color-mix(in srgb,var(--kezra-menu-accent,var(--kwc-accent,#2563eb)) 26%,transparent);animation:kezra-category-activate .24s cubic-bezier(.2,.9,.3,1.3)}
.kezra-menu .kezra-menu-category:focus-visible,.kezra-menu .kezra-menu-nav-arrow:focus-visible,.kezra-menu .kezra-menu-search-clear:focus-visible,.kezra-wcart-category-shortcut:focus-visible{outline:3px solid color-mix(in srgb,var(--kezra-menu-accent,var(--kwc-accent,#2563eb)) 58%,transparent);outline-offset:2px}
.kezra-menu .kezra-menu-nav-arrow{flex:none;display:grid;place-items:center;width:31px;height:31px;min-height:31px;margin:0!important;padding:0!important;border:1px solid var(--kwc-card-border,#e2e8f0);border-radius:9px;background:var(--kwc-card-bg,#fff);color:var(--kwc-muted,#64748b);cursor:pointer;box-shadow:0 2px 6px #0f172a08;transition:background .2s,color .2s}
.kezra-menu .kezra-menu-nav-arrow:hover{background:color-mix(in srgb,var(--kezra-menu-accent,var(--kwc-accent,#2563eb)) 9%,var(--kwc-card-bg,#fff));color:var(--kezra-menu-accent,var(--kwc-accent,#2563eb))}
.kezra-menu .kezra-menu-category-row.has-overflow .kezra-menu-nav-arrow[hidden]{display:grid!important;visibility:hidden;pointer-events:none;opacity:0}
.kezra-menu .kezra-menu-category-row:not(.has-overflow) .kezra-menu-nav-arrow{display:none!important}
.kezra-menu-results{position:absolute;right:18px;bottom:3px;font-size:10px;line-height:1.2;font-weight:600;color:var(--kwc-muted,#64748b);opacity:.7;pointer-events:none}
.kezra-menu-toolbar.is-stuck .kezra-menu-results{display:none}
.kezra-menu .kezra-menu-no-results{padding:38px 18px;border:1px dashed var(--kwc-card-border,#d8e0e9);border-radius:16px;background:var(--kwc-section-bg,#f3f6fb);font-weight:600}
@keyframes kezra-category-activate{from{transform:scale(.97)}to{transform:scale(1)}}
@media(max-width:680px){
 .kezra-menu .kezra-menu-toolbar{padding:14px 11px 17px;border-radius:16px;margin-bottom:18px}
 .kezra-menu .kezra-menu-toolbar.is-stuck{padding:8px 9px 11px;border-radius:0 0 14px 14px}
 .kezra-menu-toolbar-top{grid-template-columns:minmax(0,1fr);gap:9px;margin-bottom:10px}
 .kezra-menu-toolbar-heading{gap:2px}
 .kezra-menu-toolbar-title{font-size:16px}
 .kezra-menu-toolbar-eyebrow{font-size:9px}
 .kezra-menu-toolbar.is-stuck .kezra-menu-toolbar-top{grid-template-columns:minmax(0,1fr);margin-bottom:7px}
 .kezra-menu-toolbar.is-stuck .kezra-menu-toolbar-heading{display:none}
 .kezra-menu .kezra-menu-search{height:44px;min-height:44px;padding-left:40px;font-size:12px}
 .kezra-menu-search-icon{left:12px;width:17px;height:17px}
 .kezra-menu .kezra-menu-category{min-height:33px;padding:7px 12px;font-size:11px!important}
 .kezra-menu .kezra-menu-categories{min-height:36px;gap:7px;mask-image:linear-gradient(90deg,#000 0%,#000 94%,transparent 100%)}
 .kezra-menu-category-label,.kezra-menu .kezra-menu-nav-arrow{display:none!important}
 .kezra-menu-results{bottom:3px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.kezra-menu-toolbar,.kezra-menu-toolbar-top,.kezra-menu-toolbar-heading,.kezra-menu .kezra-menu-category,.kezra-menu .kezra-menu-search{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
body.kezra-motion-disabled .kezra-menu :is(.kezra-menu-toolbar,.kezra-menu-toolbar-top,.kezra-menu-toolbar-heading,.kezra-menu-category){transition:none!important;animation:none!important}

/* v1.5.2: touch-safe sticky navigation. Keep the theme's existing font and
   configured accent/surface colors; do not load or enforce another font. */
.kezra-menu .kezra-menu-toolbar{overflow-anchor:none}
.kezra-menu .kezra-menu-categories{
 scroll-snap-type:none;
 overscroll-behavior:auto;
 scroll-behavior:auto;
 touch-action:pan-x pan-y;
}
.kezra-menu .kezra-menu-category{
 scroll-snap-align:none;
 touch-action:pan-x pan-y;
}
@media (hover:none) and (pointer:coarse){
 .kezra-menu .kezra-menu-category:hover{transform:none;box-shadow:0 1px 4px #0f172a06}
}
@media (max-width:680px){
 /* The toolbar must keep exactly the same dimensions on both sides of the
    sticky threshold. Animating height/padding or switching a grid layout
    while page-scrolling caused browser scroll anchoring to jump or lock. */
 .kezra-menu .kezra-menu-toolbar,
 .kezra-menu .kezra-menu-toolbar.is-stuck{
  padding:10px 10px 13px;
  border-radius:14px;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transition:box-shadow .18s ease,background-color .18s ease,border-color .18s ease;
 }
 .kezra-menu .kezra-menu-toolbar-top,
 .kezra-menu .kezra-menu-toolbar.is-stuck .kezra-menu-toolbar-top{
  display:block;
  grid-template-columns:none;
  margin-bottom:9px;
  gap:0;
  transition:none;
 }
 .kezra-menu .kezra-menu-toolbar-heading,
 .kezra-menu .kezra-menu-toolbar.is-stuck .kezra-menu-toolbar-heading{display:none}
 .kezra-menu .kezra-menu-search,
 .kezra-menu .kezra-menu-toolbar.is-stuck .kezra-menu-search{
  height:44px;
  min-height:44px;
  padding-top:10px;
  padding-bottom:10px;
  transition:background-color .18s,border-color .18s,box-shadow .18s;
 }
 .kezra-menu .kezra-menu-categories{-webkit-overflow-scrolling:touch}
}

/* v1.5.3 — Only the category strip uses controlled touch dragging. Native
   vertical scrolling remains untouched; styles inherit theme fonts/colors. */
@media (pointer:coarse){
 .kezra-menu .kezra-menu-categories{
  touch-action:pan-y!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:auto;
  overflow-anchor:none;
 }
 .kezra-menu .kezra-menu-category{
  touch-action:pan-y!important;
  scroll-snap-align:none!important;
 }
}

/* v1.6: the All tab is a clearly ranked category-by-category menu. */
.kezra-menu-content{display:grid;gap:30px;min-width:0}
.kezra-menu-group,.kezra-menu-filtered-section{min-width:0;scroll-margin-top:160px}
.kezra-menu-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px;padding:0 0 10px;border-bottom:1px solid var(--kwc-card-border,#e2e8f0)}
.kezra-menu-group-heading h2{margin:0!important;font-family:inherit!important;color:var(--kwc-drawer-text,inherit)!important;font-size:clamp(20px,2vw,27px)!important;line-height:1.3!important;font-weight:800!important;letter-spacing:-.025em}
.kezra-menu-group-count{flex-shrink:0;font-size:12px;color:var(--kwc-muted,#64748b)}
.kezra-menu .kezra-menu-group[hidden],.kezra-menu .kezra-menu-filtered-section[hidden],.kezra-menu .kezra-menu-card[hidden]{display:none!important}
@media(max-width:540px){.kezra-menu-content{gap:23px}.kezra-menu-group-heading{margin-bottom:11px}.kezra-menu-group-heading h2{font-size:20px!important}.kezra-menu-group-count{font-size:11px}}

/* Avoid showing another branch's menu before the visitor selection is restored. */
/* Products always remain visible while branch selection loads. */

/* v1.8 — show options only on variation products; theme typography & colors inherited. */
.kezra-menu-options-indicator{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:5px 10px;border-radius:999px;font-family:inherit;font-size:11px;font-weight:700;line-height:1.4;color:var(--kwc-accent,currentColor);background:color-mix(in srgb,var(--kwc-accent,currentColor) 9%,transparent);margin:6px 0 4px;letter-spacing:.005em}
.kezra-menu-options-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:currentColor;opacity:.8}
.kezra-menu-add:has(.kezra-menu-add-chevron){display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
.kezra-menu-add-chevron{font-weight:800;font-size:15px;line-height:1;transition:transform .18s ease}
.kezra-menu-add:hover .kezra-menu-add-chevron{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.kezra-menu-add-chevron{transition:none!important}}
