/* SHAHAZ.com — Canonical Global Marketplace Header (bar redesigned to the owner reference, 2026-09-27).
 * The single header of every landing / archive page and the homepage scroll header;
 * page-specific search scope is data-driven (template-parts/site/shahaz-global-header.php).
 */
/* ==========================================================================
   SHAHAZ.com — GLOBAL HEADER BAR (owner reference, 2026-09-27)
   Magenta bar (ZIP-303: + gold/black/cream halftone dots and gold ribbons, owner reference): white back arrow · white search pill [magenta mic ·
   input/rotator · magenta camera · magenta "Search" pill] · white hamburger.
   Behaviour (search scope, suggestions, voice, visual search, menu, homepage
   scroll show/hide) is unchanged; only the bar's look lives here.
   Heights stay 64px (58px ≤520px) so every page offset keeps working.
   ========================================================================== */
.shahaz-global-market-header{
  --gh-magenta:#d42a66; /* a11y ZIP-533: white "Search" text 4.9:1 (was #e0306f, 4.4:1) */
  --gh-h:64px;--gh-btn:42px;--gh-box:48px;--gh-tool:34px;--gh-inset:4px;
  position:fixed;top:0;left:0;right:0;width:100%;z-index:1200;min-height:var(--gh-h);
  /* ZIP-303: the same hot magenta, with the reference design on top — gold/cream ribbons + warm washes; dots in ::before/::after */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 64' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23ffe7a6' stop-opacity='0'/%3E%3Cstop offset='.3' stop-color='%23ffe08a'/%3E%3Cstop offset='.6' stop-color='%23e9b23c'/%3E%3Cstop offset='1' stop-color='%23fff6df' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' stroke='url(%23g)' stroke-linecap='round'%3E%3Cpath d='M-20 30C90 6 200-2 330-8' stroke-width='2.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M-20 40C100 14 210 6 360-2' stroke-width='1' opacity='.7' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M700 70C820 42 920 34 1020 38' stroke-width='2.6' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M740 72C850 52 930 48 1020 52' stroke-width='1' opacity='.7' vector-effect='non-scaling-stroke'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat,
    radial-gradient(38% 140% at 0% 0%,rgba(255,214,120,.22) 0%,rgba(255,214,120,0) 70%),
    radial-gradient(34% 140% at 100% 100%,rgba(255,246,223,.18) 0%,rgba(255,246,223,0) 70%),
    var(--gh-magenta);
  isolation:isolate;color:#fff;box-sizing:border-box;
  box-shadow:none;
  font-family:"Hind Siliguri","Noto Sans Bengali","Segoe UI",Roboto,Arial,sans-serif;
  -webkit-tap-highlight-color:transparent;
}
.shahaz-global-market-header *,.shahaz-global-market-header *::before,.shahaz-global-market-header *::after{box-sizing:border-box}
.shahaz-global-market-header a,.shahaz-global-market-header button,.shahaz-global-market-header input{-webkit-tap-highlight-color:transparent!important;outline:none!important}
.shahaz-global-market-header a:focus,.shahaz-global-market-header button:focus,.shahaz-global-market-header input:focus,
.shahaz-global-market-header a:active,.shahaz-global-market-header button:active{outline:none!important;box-shadow:none}
.shahaz-global-market-header a:focus-visible,.shahaz-global-market-header button:focus-visible{outline:2px solid #fff!important;outline-offset:2px}

/* Halftone dots: gold + black on the left, cream + gold on the right; under the bar's content. */
.shahaz-global-market-header::before,.shahaz-global-market-header::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none}
.shahaz-global-market-header::before{
  background:radial-gradient(circle,rgba(255,214,120,.55) 0 1.2px,transparent 1.7px) 0 0/9px 9px,radial-gradient(circle,rgba(20,8,14,.22) 0 1px,transparent 1.5px) 4.5px 4.5px/9px 9px;
  -webkit-mask-image:radial-gradient(34% 120% at 4% 20%,#000 0%,transparent 72%);mask-image:radial-gradient(34% 120% at 4% 20%,#000 0%,transparent 72%);
}
.shahaz-global-market-header::after{
  background:radial-gradient(circle,rgba(255,246,223,.55) 0 1.2px,transparent 1.7px) 0 0/9px 9px,radial-gradient(circle,rgba(255,214,120,.45) 0 1px,transparent 1.5px) 4.5px 4.5px/9px 9px;
  -webkit-mask-image:radial-gradient(30% 120% at 96% 70%,#000 0%,transparent 72%);mask-image:radial-gradient(30% 120% at 96% 70%,#000 0%,transparent 72%);
}
.shahaz-global-market-header__track{
  z-index:1;
  position:relative;display:flex;align-items:center;gap:6px;
  /* ZIP-323: full-width track — back/menu sit at the screen edges with the mobile 4px edge gap on every viewport. */
  width:100%;height:var(--gh-h);margin:0;padding:0 4px;
  background:none;border:0;border-radius:0;box-shadow:none;
}

/* Back arrow + hamburger: plain white icons on the magenta bar. */
.shahaz-global-market-header__back,.shahaz-global-market-header__action{
  position:relative;z-index:2;flex:0 0 var(--gh-btn);width:var(--gh-btn);height:var(--gh-btn);
  display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:50%;
  background:transparent;color:#fff!important;text-decoration:none!important;cursor:pointer;box-shadow:none;
  transition:transform .12s ease,background-color .15s ease;
}
.shahaz-global-market-header__back svg,.shahaz-global-market-header__action svg{width:70%;height:70%;display:block;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.shahaz-global-market-header__back:hover,.shahaz-global-market-header__action:hover,
.shahaz-global-market-header__back:focus,.shahaz-global-market-header__action:focus,
.shahaz-global-market-header__back:focus-visible,.shahaz-global-market-header__action:focus-visible,
.shahaz-global-market-header__back:active,.shahaz-global-market-header__action:active{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
/* Drawer/back interaction: tactile feedback without a blue browser-style
 * active/focus fill. The icon itself gently scales and gets a short white
 * pulse, while the button background remains transparent. */
.shahaz-global-market-header__action:active,.shahaz-global-market-header__back:active{transform:scale(.90);}
.shahaz-global-market-header__action::after,.shahaz-global-market-header__back::after{
  content:"";position:absolute;inset:3px;border-radius:50%;
  border:2px solid rgba(255,255,255,0);pointer-events:none;
}
.shahaz-global-market-header__action:active::after,.shahaz-global-market-header__back:active::after{
  animation:shz-global-header-tap .28s ease-out both;
}
@keyframes shz-global-header-tap{
  0%{transform:scale(.70);opacity:.85;border-color:rgba(255,255,255,.70)}
  100%{transform:scale(1.35);opacity:0;border-color:rgba(255,255,255,0)}
}

/* The white search pill holds the mic, field, camera and the Search pill. */
.shahaz-global-market-header__search-form{
  position:relative;z-index:3;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;
  /* ZIP-323: capped on wide screens and centred between the edge icons (auto margins). */
  max-width:1072px;height:var(--gh-box);margin:0 auto;padding:var(--gh-inset) var(--gh-inset) var(--gh-inset) 8px;
  border-radius:999px;background:#fff;overflow:visible;
}
.shahaz-global-market-header__search-box{
  position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;
  height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.shahaz-global-market-header__search-form.is-search-open .shahaz-global-market-header__search-box{z-index:143}
.shahaz-global-market-header__voice,.shahaz-global-market-header__visual-search{
  position:relative;z-index:3;flex:0 0 var(--gh-tool);width:var(--gh-tool);height:var(--gh-tool);
  display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:50%;
  background:transparent;color:var(--gh-magenta);cursor:pointer;box-shadow:none;
}
.shahaz-global-market-header__voice svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.shahaz-global-market-header__visual-search svg{width:88%;height:88%;display:block}
.shahaz-global-market-header__voice:active,.shahaz-global-market-header__visual-search:active{transform:scale(.92)}
.shahaz-global-market-header__voice[aria-pressed="true"]{background:rgba(224,48,111,.12)}
.shahaz-global-market-header__voice.is-unavailable{opacity:.5}
.shahaz-global-market-header__search-rotator{position:absolute;left:calc(var(--gh-tool) + 8px);right:calc(var(--gh-tool) + 8px);top:0;bottom:0;display:flex;align-items:center;overflow:hidden;pointer-events:none;z-index:1}
.shahaz-global-market-header__rotator-text{display:inline-block;font-size:14px;line-height:1.25;font-weight:500;color:#8a7d86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:shahaz-global-market-rotator .4s ease}
.shahaz-global-market-header__search-input{position:relative;z-index:2;flex:1 1 auto;min-width:0;width:100%;height:100%!important;margin:0!important;padding:0 2px!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#241a22!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;-webkit-appearance:none;appearance:none}
.shahaz-global-market-header__search-input::-webkit-search-cancel-button,.shahaz-global-market-header__search-input::-webkit-search-decoration{-webkit-appearance:none}
.shahaz-global-market-header__search-input:focus ~ .shahaz-global-market-header__search-rotator,
.shahaz-global-market-header__search-box.shahaz-has-value .shahaz-global-market-header__search-rotator{display:none}

/* "Search": magenta pill inset inside the white pill. */
.shahaz-global-market-header__search-submit{
  position:relative;z-index:4;flex:0 0 auto;height:100%;min-width:0;margin:0;padding:0 22px;
  display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:999px;background:var(--gh-magenta)!important;color:#fff!important;
  font-family:inherit;font-size:17px;font-weight:600;letter-spacing:.01em;line-height:1;cursor:pointer;
  box-shadow:none!important;transition:transform .12s ease,filter .15s ease;
}
.shahaz-global-market-header__search-submit:disabled{opacity:1!important;cursor:default!important;filter:none!important}
.shahaz-global-market-header__search-submit:active{transform:scale(.96);filter:brightness(.95)}

@media (max-width:520px){
  .shahaz-global-market-header{--gh-h:58px;--gh-btn:36px;--gh-box:42px;--gh-tool:30px;--gh-inset:3px}
  .shahaz-global-market-header__track{gap:4px}
  .shahaz-global-market-header__search-form{gap:4px;padding-left:6px}
  .shahaz-global-market-header__search-box{gap:4px}
  .shahaz-global-market-header__search-submit{padding:0 14px;font-size:14.5px}
  .shahaz-global-market-header__rotator-text,.shahaz-global-market-header__search-input{font-size:12.5px!important}
}
@media (max-width:360px){
  .shahaz-global-market-header{--gh-btn:32px;--gh-box:40px;--gh-tool:27px}
  .shahaz-global-market-header__search-submit{padding:0 11px;font-size:13.5px}
}

.shahaz-global-market-header__suggestions{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:142;max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid #f1c8dd;border-radius:14px;box-shadow:none;color:#24242a;text-align:left;-webkit-overflow-scrolling:touch}
.shahaz-global-market-header__suggestions[hidden]{display:none!important}
@keyframes shahaz-global-market-rotator{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media (max-width:520px){
  .shahaz-global-market-header__suggestions{top:calc(100% + 5px);max-height:64vh;border-radius:12px}
  }
/* ZIP-323: this block was never closed — every rule below it (visual-search sheet, voice waveform, home scroll
 * header, no-results popup …) only applied from 783px up, so on phones the visual-search sheet was unstyled. */
@media (min-width:783px){body.admin-bar .shahaz-global-market-header{top:32px}}
@media (max-width:782px){
  /* ZIP-436 — Mobile global menu must begin immediately after the visible
   * homepage header + announcement stack. JS supplies the exact viewport
   * coordinate at runtime; these are safe no-gap fallbacks for first paint. */
  body.admin-bar .shahaz-global-market-header{top:46px}
}

.shz-cosmetics-search-terms{display:flex;flex-direction:column;gap:4px;padding:8px}.shz-cosmetics-search-term{border:0;background:transparent;text-align:left;padding:6px 8px;cursor:pointer;font:inherit}.shz-cosmetics-search-term:hover{background:rgba(255,20,150,.08)}.shz-cosmetics-search-products{display:grid;gap:6px;padding:6px}.shz-cosmetics-search-product{display:flex;align-items:center;gap:8px;text-decoration:none}.shz-cosmetics-search-product img{width:42px;height:42px;object-fit:cover;border-radius:6px}.shz-cosmetics-search-product span{display:flex;flex-direction:column}.shz-cosmetics-search-product small{opacity:.75}

/* PHASE 132 — Homepage global header scroll contract.
 * It is hidden only before the announcement ticker has completely passed.
 * Once the ticker bottom reaches the viewport top, the global header becomes
 * fully visible and fixed; no opacity/color degradation is permitted. */
.shahaz-global-market-header--home-scroll{
  position:fixed!important;
  display:none!important;
  left:0!important;right:0!important;top:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-110%) scale(.985)!important;
  filter:none !important;
  color:#fff!important;
  transition:transform .6s cubic-bezier(.19,1,.22,1),opacity .5s ease,filter .5s ease,visibility 0s linear .6s!important;
}
.shahaz-global-market-header--home-scroll.is-visible{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0) scale(1)!important;
  filter:none !important;
  transition:transform .7s cubic-bezier(.19,1,.22,1),opacity .55s ease .05s,filter .55s ease .05s,visibility 0s!important;
}
@media (prefers-reduced-motion: reduce){
  .shahaz-global-market-header--home-scroll,
  .shahaz-global-market-header--home-scroll.is-visible{
    transform:none!important;
    filter:none!important;
    transition:opacity .25s ease,visibility 0s!important;
  }
}


/* ZIP-336 — document-flow compensation for the viewport-fixed global header. */
.shahaz-global-header-flow-spacer{display:block;width:100%;margin:0;padding:0;border:0;pointer-events:none;}

/* ZIP-525 — Keep native image inputs visually hidden but browser-activatable.
 * display:none/hidden can prevent the native camera chooser in some Android
 * WebViews and in-app browsers. The JS activates these inputs from a direct
 * user gesture via showPicker() when available, with click() fallback. */
.shahaz-global-market-header__visual-search-dialog .shahaz-visual-file-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
}
.shahaz-global-market-header__visual-search-modal{
  position:fixed;
  inset:0;
  z-index:2200;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:86px 24px 24px;
  background:rgba(0,0,0,.48); /* house rule: dimmed black 48 %, never blurred */
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.shahaz-global-market-header__visual-search-modal[hidden]{display:none!important}
.shahaz-global-market-header__visual-search-dialog{
  position:relative;
  width:min(400px,100%);
  max-height:calc(100vh - 110px);
  overflow:auto;
  box-sizing:border-box;
  padding:16px 14px 14px;
  /* ZIP-466 (owner): glossy pink like the AI popup — no white sheet; pink-gold frame + soft light halo, no shadow */
  border:1.5px solid transparent;
  border-radius:22px;
  /* glassy rose: a lighter rose sheen on top (never white), deeper rose below */
  background:linear-gradient(180deg,rgba(255,168,214,.55) 0,rgba(255,168,214,0) 64px) padding-box,
    linear-gradient(160deg,#f585c2 0%,#ea5ba9 48%,#d9449a 100%) padding-box,
    linear-gradient(135deg,#ff4fae,#e0157a 30%,#e8c46a 55%,#e0157a 80%,#ff4fae) border-box;
  outline:4px solid rgba(240,90,170,.28);
  box-shadow:none;
  -webkit-overflow-scrolling:touch;
}
/* ZIP-523 — Close control: a small luxury circle (20px, was 34px = ~41% smaller).
 * The × is an inline SVG whose two strokes cross exactly at the centre of its square
 * viewBox, and the circle centres it with flex, so it is mathematically centred on
 * every device (a text "×" glyph sits low/right because of its font metrics).
 * !important on the box model keeps the theme's global button padding/min-size from
 * turning the circle into an oval. The ::before is an invisible 44px tap target. */
.shahaz-global-market-header__visual-search-close{
  position:absolute;
  top:17px;
  right:17px;
  z-index:2;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  width:20px!important;
  height:20px!important;
  min-width:0!important;
  min-height:0!important;
  max-width:20px!important;
  max-height:20px!important;
  aspect-ratio:1/1;
  margin:0!important;
  padding:0!important;
  border:1px solid #ffc2e3!important;
  border-radius:50%!important;
  background:rgba(170,20,105,.25)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:0!important;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:transparent;
}
.shahaz-global-market-header__visual-search-close::before{
  content:"";
  position:absolute;
  top:-13px;
  right:-13px;
  bottom:-13px;
  left:-13px;
  border-radius:50%;
}
.shahaz-global-market-header__visual-search-close svg{
  display:block;
  width:11px;
  height:11px;
  margin:0;
  fill:none;
  stroke:currentColor;
  stroke-width:3.2;
  stroke-linecap:round;
  pointer-events:none;
}
.shahaz-global-market-header__visual-search-close:hover,
.shahaz-global-market-header__visual-search-close:focus,
.shahaz-global-market-header__visual-search-close:active{
  background:rgba(170,20,105,.4)!important;
  border-color:#ffd6ec!important;
  color:#fff!important;
  box-shadow:none!important;
}
.shahaz-global-market-header__visual-search-close:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}
.shahaz-global-market-header__visual-search-title{
  padding:0 40px 12px 2px;
  color:#fff;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
}
.shahaz-global-market-header__visual-search-preview{
  width:100%;
  aspect-ratio:4/3;
  margin:0 0 14px;
  overflow:hidden;
  border:1px solid #ffc2e3;
  border-radius:16px;
  background:rgba(170,20,105,.2);
}
.shahaz-global-market-header__visual-search-preview[hidden]{display:none!important}
.shahaz-global-market-header__visual-search-preview img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.shahaz-global-market-header__visual-search-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.shahaz-global-market-header__visual-search-actions{gap:8px}
/* ZIP-466 (owner): slim glass pills — round icon on the left, the label and its hint beside it */
.shahaz-global-market-header__visual-search-actions button{
  min-height:0;
  height:48px;
  margin:0;
  padding:0 10px 0 6px;
  border:1px solid #ffbfe0;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,150,205,.45),rgba(190,30,120,.28));
  color:#fff;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:8px;
  row-gap:1px;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
}
.shahaz-global-market-header__visual-search-actions button:hover,.shahaz-global-market-header__visual-search-actions button:active{border-color:#ffd6ec;background:linear-gradient(180deg,rgba(255,150,205,.6),rgba(190,30,120,.4))}
.shahaz-global-market-header__visual-search-actions button:disabled{opacity:.55;cursor:wait}
.shahaz-global-market-header__visual-search-actions span{grid-row:1 / 3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
  background:linear-gradient(180deg,#ffb3db,#ff7fc4);color:#8a0755;font-size:19px;line-height:1}
/* ZIP-523 — Gallery icon: real inline SVG (same round-cap stroke family as the header camera icon). */
.shahaz-global-market-header__visual-search-actions span svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.shahaz-global-market-header__visual-search-actions strong{align-self:end;font-size:13px;font-weight:800;line-height:1.1;color:#fff;white-space:nowrap}
.shahaz-global-market-header__visual-search-actions small{align-self:start;font-size:10.5px;line-height:1.1;color:#ffe0f0;white-space:nowrap}
.shahaz-global-market-header__visual-search-status{
  min-height:24px;
  padding:10px 4px 2px;
  color:#fff;
  font-size:11px;
  font-weight:700;
  text-align:center;
}

/* ZIP-526 — Live camera capture for visual search.
 * The camera action now uses getUserMedia when supported, with the existing
 * native camera-input fallback for unsupported/blocked browsers. */
.shahaz-visual-camera-video{
  display:block;
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
  background:#16000f;
}
.shahaz-visual-camera-capture{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:3;
  min-height:44px!important;
  padding:9px 22px!important;
  border:1px solid #ec1685!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#8a0755!important;
  font-size:13px!important;
  font-weight:850!important;
  box-shadow:none!important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.shahaz-global-market-header__visual-search-preview:has(.shahaz-visual-camera-video){
  position:relative;
}
/* ZIP-367: offer pop-ups and floating badges never sit on top of the photo dialog. */
html.shz-vs-open #shahaz-enterprise-popup-root,html.shz-vs-open .shahaz-ep{visibility:hidden!important}
.shahaz-visual-search-results{
  font-family:"Hind Siliguri",Poppins,system-ui,sans-serif;
  display:grid;
  gap:7px;
  margin-top:5px;
  padding-top:12px;
  border-top:1px solid #ffbfe0;
}
/* ZIP-367: matching in progress — a slim moving bar under the status line. */
[data-shahaz-visual-search-modal].is-searching [data-shahaz-visual-search-status]::after{
  content:"";display:block;width:42%;height:3px;margin:8px auto 0;border-radius:3px;
  background:linear-gradient(90deg,#fff,#f3c14d);animation:shzVsWork .9s ease-in-out infinite alternate;
}
@keyframes shzVsWork{from{transform:translateX(-45%)}to{transform:translateX(45%)}}
@media (prefers-reduced-motion:reduce){[data-shahaz-visual-search-modal].is-searching [data-shahaz-visual-search-status]::after{animation:none}}
/* ZIP-467 (owner): while the picture is being searched, a scanner sweeps across it — gold corner brackets, a glowing
 * pink-gold scan line moving left ↔ right with a soft trail and a faint grid — until the results arrive. The line
 * under the status text stays as it is. No shadow, no blur. */
.shahaz-global-market-header__visual-search-preview{position:relative}
.shahaz-vs-scan{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s ease}
[data-shahaz-visual-search-modal].is-searching .shahaz-vs-scan{opacity:1}
.shahaz-vs-scan__grid{position:absolute;inset:0;background:
  linear-gradient(rgba(255,214,236,.16) 1px,transparent 1px) 0 0/100% 22px,
  linear-gradient(90deg,rgba(255,214,236,.16) 1px,transparent 1px) 0 0/22px 100%}
.shahaz-vs-scan__corner{position:absolute;width:26px;height:26px;border:3px solid #f3c14d}
.shahaz-vs-scan__corner--tl{left:8px;top:8px;border-right:0;border-bottom:0;border-radius:8px 0 0 0}
.shahaz-vs-scan__corner--tr{right:8px;top:8px;border-left:0;border-bottom:0;border-radius:0 8px 0 0}
.shahaz-vs-scan__corner--bl{left:8px;bottom:8px;border-right:0;border-top:0;border-radius:0 0 0 8px}
.shahaz-vs-scan__corner--br{right:8px;bottom:8px;border-left:0;border-top:0;border-radius:0 0 8px 0}
[data-shahaz-visual-search-modal].is-searching .shahaz-vs-scan__corner{animation:shzVsCorner 1.4s ease-in-out infinite alternate}
.shahaz-vs-scan__beam{position:absolute;top:3%;bottom:3%;left:0;width:24%;
  background:linear-gradient(90deg,rgba(255,63,174,0) 0%,rgba(255,63,174,.18) 45%,rgba(255,120,200,.45) 85%,rgba(255,214,120,.6) 97%,rgba(255,214,120,0) 100%)}
/* the scan line itself: a bright gold-white core between two thin pink lines */
.shahaz-vs-scan__beam::after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:8px;border-radius:4px;
  background:linear-gradient(90deg,rgba(255,63,174,.9) 0 2px,#ffe39a 2px 3px,#fffbe8 3px 5px,#ffe39a 5px 6px,rgba(255,63,174,.9) 6px 8px);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent)}
[data-shahaz-visual-search-modal].is-searching .shahaz-vs-scan__beam{animation:shzVsSweep 3.6s ease-in-out infinite}
/* across and back again; the glowing trail always follows behind the line */
@keyframes shzVsSweep{0%{left:-2%;transform:scaleX(1)}49.9%{left:80%;transform:scaleX(1)}50%{left:80%;transform:scaleX(-1)}100%{left:-2%;transform:scaleX(-1)}}
@keyframes shzVsCorner{from{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){[data-shahaz-visual-search-modal].is-searching .shahaz-vs-scan__beam,[data-shahaz-visual-search-modal].is-searching .shahaz-vs-scan__corner{animation:none}}
.shahaz-visual-search-results__heading{color:#fff;font-size:12px;font-weight:850;padding:0 2px 3px}
a.shahaz-visual-search-result{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:7px;
  border:1px solid #f1e0e8;
  border-radius:13px;
  background:#fff;
  color:#292329;
  text-decoration:none;
}
a.shahaz-visual-search-result:hover{border-color:#ec1685;background:#fff7fb}
a.shahaz-visual-search-result img{width:52px;height:52px;border-radius:9px;object-fit:cover;background:#f8eaf0}
.shahaz-visual-search-result__copy{min-width:0;display:grid;gap:3px}
.shahaz-visual-search-result__copy strong{font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shahaz-visual-search-result__copy small{font-size:11px;font-weight:800;color:#e64d2f}
@media(max-width:520px){
  .shahaz-global-market-header__visual-search-modal{padding:72px 20px 14px}
  .shahaz-global-market-header__visual-search-dialog{max-height:calc(100vh - 86px);border-radius:22px;padding:16px 12px 12px}
}
/* ==========================================================================
 * ZIP-523 — SECOND-HEADER VOICE SEARCH (hardened rebuild; replaces ZIP-521)
 * Scope: every homepage header marked [data-shz-voice-scope] (the main
 * homepage header and the scroll/reveal header, ZIP 632). All voice UI lives
 * INSIDE the existing search field: the waveform is absolutely positioned over
 * the field's text area (measured by JS), so it never adds a row, never moves
 * the header, and never overlaps the mic / camera / search controls.
 * State hooks (set by JS): .shahaz-voice-active, .shahaz-voice-has-text and
 * [data-shz-voice-state] = starting | listening | speech-detected |
 * transcribing | stopping.
 * ========================================================================== */

/* ZIP-367: one-tap clear (×) in both search bars — only when the field has text, never while listening; while
 * listening the homepage product hints are hidden too (only the voice wave shows). */
[data-shz-voice-box] .shz-search-clear{
  flex:0 0 auto;display:none;place-items:center;width:22px;height:22px;margin:0!important;padding:0!important;
  border:0!important;border-radius:50%!important;background:#f3e4ec!important;color:#8a1d57!important;box-shadow:none!important;
  cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;
}
[data-shz-voice-box] .shz-search-clear svg{display:block;width:14px;height:14px}
[data-shz-voice-box].shahaz-has-value .shz-search-clear{display:grid}
[data-shz-voice-box].shahaz-voice-active .shz-search-clear,
[data-shz-voice-box].shahaz-voice-active .shahaz-home-header__ph3d{display:none}

/* Listening field: static glow only (no layout change, no per-frame repaint). */
[data-shz-voice-box]{
  transition:box-shadow .2s ease;
}
[data-shz-voice-box].shahaz-voice-active{
  box-shadow:
    0 0 0 1.5px rgba(249,0,127,.34);
}
[data-shz-voice-box].shahaz-voice-active [data-shz-voice-rotator]{
  display:none;
}
/* Before the first word arrives the waveform owns the text area; any earlier
 * text stays in the field, only hidden while listening. */
[data-shz-voice-box].shahaz-voice-active:not(.shahaz-voice-has-text) [data-shz-voice-input],
[data-shz-voice-box].shahaz-voice-active:not(.shahaz-voice-has-text) [data-shz-voice-input]::placeholder{
  color:transparent!important;
  -webkit-text-fill-color:transparent;
  caret-color:transparent;
}
/* Once words appear the waveform docks to the right of the text area; the
 * text keeps the rest (JS publishes the dock width as --shz-voice-dock). */
[data-shz-voice-box].shahaz-voice-has-text [data-shz-voice-input]{
  padding-right:calc(var(--shz-voice-dock,0px) + 8px)!important;
}

/* Active microphone: same size, NO circle. Filled capsule, magenta/gold glow
 * that follows the live level (--shz-voice-level, set by JS), slight pulse. */
[data-shz-voice-scope] [data-shahaz-global-voice].is-listening{
  color:#f50087;
  animation:shahaz-voice-icon-pulse 1.6s ease-in-out infinite;
}
[data-shz-voice-scope] [data-shahaz-global-voice].is-listening svg{
  filter:none;
  filter:none;
}
[data-shz-voice-scope] [data-shahaz-global-voice].is-listening svg rect{
  fill:currentColor;
  fill-opacity:.9;
}
@keyframes shahaz-voice-icon-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}

/* Live waveform: thin bars that scroll right-to-left; JS writes each bar's
 * scaleY (newest sample on the right). */
.shahaz-voice-wave{
  position:absolute;
  z-index:1;
  left:0;
  top:5px;
  width:0;
  height:calc(100% - 10px);
  display:none;
  align-items:center;
  justify-content:center;
  gap:2px;
  overflow:hidden;
  pointer-events:none;
  contain:layout paint style;
  transition:opacity .18s ease;
}
[data-shz-voice-box].shahaz-voice-active .shahaz-voice-wave{
  display:flex;
}
.shahaz-voice-wave i{
  display:block;
  flex:0 0 2px;
  width:2px;
  height:100%;
  border-radius:2px;
  background:linear-gradient(180deg,#ff3fa6 0%,#f9007f 55%,#d4af37 100%);
  transform:scaleY(.14);
  transform-origin:50% 50%;
  will-change:transform;
}
/* Recognizer not confirmed running yet / stopping: dimmed, nothing pretends to be live. */
[data-shz-voice-box][data-shz-voice-state="starting"] .shahaz-voice-wave{
  opacity:.35;
}
[data-shz-voice-box][data-shz-voice-state="stopping"] .shahaz-voice-wave{
  opacity:.3;
}

/* Temporary status toast for permission / no-speech / unsupported messages.
 * Absolutely positioned under the header: no layout shift, never persistent. */
.shahaz-voice-toast{
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  z-index:1600;
  transform:translateX(-50%);
  box-sizing:border-box;
  width:max-content;
  max-width:calc(100vw - 24px);
  padding:9px 15px;
  border:1px solid rgba(212,175,55,.70);
  border-radius:16px;
  background:linear-gradient(135deg,#3c0027,#63003f);
  color:#fff;
  font-size:12px;
  font-weight:650;
  line-height:1.4;
  text-align:center;
  box-shadow:none;
  pointer-events:none;
}
.shahaz-voice-toast[hidden]{
  display:none!important;
}
.shahaz-voice-toast.is-visible{
  animation:shahaz-voice-toast-in .22s ease-out;
}
@keyframes shahaz-voice-toast-in{
  from{opacity:0;transform:translate(-50%,-4px)}
  to{opacity:1;transform:translate(-50%,0)}
}
@media(max-width:360px){
  .shahaz-voice-toast{
    font-size:11.5px;
    padding:8px 12px;
  }
}
@media (prefers-reduced-motion: reduce){
  [data-shz-voice-scope] [data-shahaz-global-voice].is-listening{
    animation:none;
  }
  .shahaz-voice-toast.is-visible{
    animation:none;
  }
  .shahaz-voice-wave,
  [data-shz-voice-box]{
    transition:none;
  }
}

/* ZIP-132 — Back remains an icon-only control with subtle inward press.
 * No fill, halo, shadow, or browser-blue focus treatment. */
.shahaz-global-market-header__back,
.shahaz-global-market-header__back:hover,
.shahaz-global-market-header__back:focus,
.shahaz-global-market-header__back:focus-visible,
.shahaz-global-market-header__back:active{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  outline:none!important;
}
.shahaz-global-market-header__back:active{transform:scale(.88);}
.shahaz-global-market-header__back::after,
.shahaz-global-market-header__back:active::after{content:none!important;animation:none!important;}
@media(prefers-reduced-motion:reduce){
  .shahaz-global-market-header__back{transition:none!important;}
}

/* ZIP-324: desktop cart + live count (template-parts/site/shahaz-header-cart.php). Only ≥1024px, where the capsule
 * bottom nav (capsule-bottom-nav.css) is hidden — mobile/tablet keep their header exactly as before. White icon like
 * back/menu; white pill with a magenta number on the magenta bar. No fill, ring, outline or tap flash in any state. */
.shahaz-global-market-header__cart{display:none}
@media (min-width:1024px){
  .shahaz-global-market-header .shahaz-global-market-header__cart{
    position:relative;z-index:2;flex:0 0 var(--gh-btn);display:grid;place-items:center;width:var(--gh-btn);height:var(--gh-btn);
    margin:0;padding:0;border:0;border-radius:0;color:#fff!important;text-decoration:none!important;cursor:pointer;transition:transform .12s ease;
  }
  .shahaz-global-market-header .shahaz-global-market-header__cart,
  .shahaz-global-market-header .shahaz-global-market-header__cart:hover,
  .shahaz-global-market-header .shahaz-global-market-header__cart:focus,
  .shahaz-global-market-header .shahaz-global-market-header__cart:focus-visible,
  .shahaz-global-market-header .shahaz-global-market-header__cart:active{
    background:transparent!important;box-shadow:none!important;outline:none!important;-webkit-tap-highlight-color:transparent!important;
  }
  /* The extra icon on the right would pull the centred pill 24px left: keep it centred on the screen when there is
   * room (left = 4px pad + 42px back + 6px gap; 50% of the track minus half of 1072 and that offset), else it fills. */
  .shahaz-global-market-header__search-form{margin-left:max(0px,calc(50% - 584px))}
  .shahaz-global-market-header__cart svg{width:68%;height:68%;display:block;stroke-width:2.1}
  .shahaz-global-market-header .shahaz-global-market-header__cart:active{transform:scale(.9)}
  .shahaz-global-market-header__cart-badge{
    position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;
    border-radius:999px;background:#fff;color:#e0157a;font-size:10.5px;font-weight:800;line-height:1;letter-spacing:0;
    font-variant-numeric:tabular-nums;box-shadow:none;pointer-events:none;
  }
  .shahaz-global-market-header__cart-badge[hidden]{display:none}
}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  .shahaz-global-market-header .shahaz-global-market-header__cart{transition:none}
}
/* ZIP-594 (owner): the back arrow sits in the app's round glass ball (GlassCloseButton, shahaz_app widgets/glass_close.dart):
 * a clear light disc puffed in the middle, thin white rim, glossy top half; the arrow stays white. No shadow, no blur. */
.shahaz-global-market-header__back::before{content:"";position:absolute;inset:10%;z-index:0;border-radius:50%;
  border:1.2px solid rgba(255,255,255,.75);
  background:linear-gradient(180deg,rgba(255,255,255,.55) 0,rgba(255,255,255,.12) 46%,rgba(255,255,255,0) 47%) top/76% 52% no-repeat,
             radial-gradient(circle at 50% 42%,rgba(255,255,255,.30) 0,rgba(255,255,255,.18) 55%,rgba(255,255,255,.10) 100%)}
.shahaz-global-market-header__back svg{position:relative;z-index:1;width:58%;height:58%}
