/* One form, shared by the theme, shortcode and block. Keep it self-contained:
   no remote font, icon or image requests.

   Layers inside the form (its own stacking context): the scrim (fixed, the
   whole screen, dimmed) at 1, the bar at 2, the panel at 3. The panel is a
   dropdown under the bar at every width - the page stays where it is,
   dimmed, underneath.

   Before the script runs (the theme may hold it back until the first tap),
   :focus-within opens the panel with the featured products the server put
   in it, so the first tap is answered by CSS alone. Once the script boots it
   adds .fzq--js and drives .fzq--open and the `hidden` attributes itself.

   The markup hides the panel, scrim, Clear and Close with `hidden` and an
   inline display:none, so the page is right with no stylesheet at all; the
   script clears both to show them, and the no-script rules below use
   !important, the one thing that outranks an inline style. The closed box keeps
   1.0.2's geometry (46 px: a 44 px field inside a 1 px border, full width),
   so nothing moves when this file arrives. */
.fzq{--fzq-accent:var(--et-accent,#1c1d1b);--fzq-field:var(--et-cream,#fff);--fzq-line:var(--et-border-2,#c9c9c5);position:relative;z-index:30;width:100%;max-width:100%;min-width:0;font:inherit;color:inherit}
.fzq *{box-sizing:border-box}
.fzq__row{position:relative;z-index:2;display:flex;align-items:center;gap:6px;width:100%;min-width:0}
.fzq__bar{position:relative;display:flex;flex:1 1 auto;align-items:center;min-width:0;min-height:46px;width:100%;border:1px solid var(--fzq-line);border-radius:6px;background:var(--fzq-field);color:#1c1d1b;overflow:hidden}
.fzq__field{display:block;flex:1 1 auto;min-width:0;width:100%;height:44px;margin:0;padding:0 12px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:inherit;font:inherit;font-size:16px!important;-webkit-appearance:none;appearance:none}
.fzq__field::placeholder{color:#6b6b6b;opacity:1}
.fzq__field::-webkit-search-cancel-button,.fzq__field::-webkit-search-decoration{display:none;-webkit-appearance:none}
.fzq__bar:focus-within{outline:2px solid var(--fzq-accent);outline-offset:1px}
.fzq__clear,.fzq__submit,.fzq__close{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.fzq__submit{align-self:stretch;height:auto;min-width:50px;background:var(--fzq-accent);color:#fff}
.fzq__submit svg{stroke:currentColor}
.fzq__clear[hidden]{display:none}
/* The theme paints every <button> white-on-red with !important; these two are plain. */
.fzq .fzq__clear{color:#4a4b47!important;background:transparent!important}
.fzq__close{display:none;min-width:0;padding:0 10px;border-radius:6px;background:#fff!important;color:#1c1d1b!important;font-size:15px;font-weight:600;white-space:nowrap;text-transform:none;letter-spacing:normal}
.fzq__submit:hover{filter:brightness(.92)}
.fzq__clear:hover{opacity:.7}
.fzq.is-loading .fzq__bar::after{content:"";position:absolute;left:0;bottom:0;width:30%;height:2px;background:var(--fzq-accent);animation:fzq-load .9s ease-in-out infinite}
@keyframes fzq-load{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}

.fzq__scrim{position:fixed;inset:0;z-index:1;display:none;background:rgba(17,17,17,.45);cursor:pointer;-webkit-tap-highlight-color:transparent}
.fzq__scrim--clear{background:transparent}
.fzq__panel{position:absolute;z-index:3;top:calc(100% + 6px);left:0;right:0;display:none;max-height:var(--fzq-max,min(70vh,620px));overflow:hidden;border:1px solid #d7d7d2;border-radius:8px;background:#fff;color:#1c1d1b;box-shadow:0 14px 40px rgba(0,0,0,.22);text-align:left}
.fzq--js .fzq__panel[hidden],.fzq__details[hidden]{display:none}
.fzq--open .fzq__panel{display:flex}
.fzq--open .fzq__scrim{display:block}
.fzq--open.fzq--compact .fzq__close{display:inline-flex}
/* No script yet: the first tap opens the server-rendered featured panel. */
.fzq:not(.fzq--js):focus-within .fzq__panel:not(.fzq__panel--empty),.fzq:not(.fzq--js) .fzq__panel:not(.fzq__panel--empty):hover{display:flex!important}
.fzq:not(.fzq--js):focus-within .fzq__scrim{display:block!important}
header:has(.fzq:not(.fzq--js):focus-within){z-index:99990!important}
@media (max-width:699px){.fzq:not(.fzq--js):focus-within .fzq__close{display:inline-flex!important}.fzq:not(.fzq--js) .fzq__panel{max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px)}}
.fzq-lift{z-index:99990!important}

.fzq__list{flex:1 1 100%;min-width:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:5px}
.fzq__heading{padding:9px 10px 5px;color:#5e5f5b;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fzq__item,.fzq__more{display:flex;align-items:center;gap:10px;min-height:52px;padding:7px 10px;border-radius:5px;color:inherit;text-decoration:none;cursor:pointer}
.fzq__item:hover,.fzq__item:focus,.fzq__item.is-active,.fzq__more:hover,.fzq__more:focus,.fzq__more.is-active{outline:0;background:#f0f2ef;color:inherit}
.fzq__thumb{flex:0 0 48px;width:48px;height:48px;object-fit:contain;border-radius:4px;background:#f4f4f1}
.fzq__body{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:3px}
.fzq__title{font-size:.92rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.fzq__title mark{background:none;color:inherit;font-weight:800;text-decoration:underline;text-decoration-color:var(--fzq-accent);text-underline-offset:2px}
.fzq__meta{display:flex;flex-wrap:wrap;align-items:center;gap:3px 10px;color:#5e5f5b;font-size:.78rem}
.fzq__price{color:#1c1d1b;font-weight:700}
.fzq__price ins{text-decoration:none}
.fzq__stock--outofstock{color:#9d2727}
.fzq__stock--instock{color:#2f6b45}
.fzq__sku,.fzq__count{color:#5e5f5b;font-size:.76rem;overflow-wrap:anywhere}
.fzq__desc{color:#5e5f5b;font-size:.8rem;line-height:1.35}
.fzq__note{margin:4px 4px 2px;padding:9px 10px;border-radius:5px;background:#fff6e5;color:#5c4100;font-size:.85rem;line-height:1.35}
.fzq__empty{padding:12px;color:#5e5f5b;font-size:.86rem}
.fzq__empty p{margin:0 0 8px}
.fzq__more{position:sticky;bottom:-5px;justify-content:center;margin-top:2px;border-top:1px solid #e4e4df;background:#fff;color:#24626b;font-weight:700}
.fzq.is-provisional .fzq__list{opacity:.92}
.fzq__details{flex:0 0 38%;min-width:220px;max-width:340px;padding:18px;border-left:1px solid #e4e4df;background:#fafaf8;overflow:auto}
.fzq__details img{display:block;max-width:100%;max-height:190px;margin:0 auto 14px;object-fit:contain}
.fzq__details-title{margin:0 0 10px;font-size:1rem;line-height:1.35}
.fzq__details-text{color:#5e5f5b;font-size:.84rem;line-height:1.5}
.fzq__cta{display:inline-flex;margin-top:10px;padding:9px 14px;border-radius:4px;background:#1c1d1b;color:#fff;text-decoration:none;font-weight:700}
.fzq__recent-clear{margin:4px 10px 8px;padding:4px 0;border:0;background:none;color:#5e5f5b;font:inherit;font-size:.78rem;text-decoration:underline;cursor:pointer}
.fzq__status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:899px){.fzq__details{display:none!important}}
@media (max-width:699px){.fzq__panel{top:calc(100% + 4px)}.fzq__item{min-height:54px}}
@media (prefers-reduced-motion:reduce){.fzq *{scroll-behavior:auto!important;transition:none!important}.fzq.is-loading .fzq__bar::after{animation:none;width:100%;opacity:.5}}
