
/* UMIMODAL SEARCH V1 — text + voice, mobile-first */
:root{--umi-search-header:calc(var(--header-h,60px) + env(safe-area-inset-top))}
.umi-search-layer{
  position:fixed;left:0;right:0;top:var(--umi-search-header);bottom:0;z-index:5190;
  background:#fcf8f2;color:#211914;opacity:0;pointer-events:none;transform:translateY(8px);
  transition:opacity .18s ease,transform .18s ease;font-family:var(--font-brand,"Cormorant Garamond",Georgia,serif)
}
.umi-search-layer.is-open{opacity:1;pointer-events:auto;transform:none}
.umi-search-shell{height:100%;max-width:760px;margin:auto;display:flex;flex-direction:column;overflow:hidden;background:#fcf8f2}
.umi-search-top{padding:11px 12px 9px;border-bottom:1px solid rgba(69,51,39,.10);background:rgba(252,248,242,.98)}
.umi-search-box{display:grid;grid-template-columns:34px minmax(0,1fr) 36px 32px;gap:3px;align-items:center;height:46px;border:1px solid rgba(79,58,44,.20);border-radius:999px;background:#fffdf9;padding:0 7px 0 8px;box-shadow:0 5px 18px rgba(55,38,27,.05)}
.umi-search-glass{display:grid;place-items:center;color:#5b4a3e}.umi-search-glass svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.umi-search-input{width:100%;border:0;outline:0;background:transparent;color:#211914;font:600 15px/1.1 Arial,sans-serif;padding:0;min-width:0}
.umi-search-input::placeholder{color:#9b8d83;font-weight:400}
.umi-search-mic,.umi-search-close{appearance:none;border:0;background:transparent;color:#5d4b3e;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;padding:0}
.umi-search-mic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.umi-search-close{font:300 25px/1 Arial,sans-serif;color:#6c5e54}
.umi-search-mic.is-listening{background:#9b765f;color:#fff;animation:umiMicPulse 1s ease-in-out infinite}
@keyframes umiMicPulse{50%{box-shadow:0 0 0 7px rgba(155,118,95,.12)}}
.umi-search-status{min-height:16px;margin:6px 9px 0;font:500 9.5px/1.3 Arial,sans-serif;color:#897a70}
.umi-search-status strong{color:#725440}
.umi-search-chips{display:flex;gap:6px;overflow:auto;padding:0 12px 10px;scrollbar-width:none;background:#fcf8f2}.umi-search-chips::-webkit-scrollbar{display:none}
.umi-search-chip{flex:none;border:1px solid rgba(111,84,65,.22);background:#fffaf5;color:#5d4b3e;border-radius:999px;padding:7px 11px;font:600 10px/1 Arial,sans-serif;white-space:nowrap}
.umi-search-chip:active{background:#efe1d6}
.umi-search-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:3px 12px 28px}
.umi-search-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:7px 1px 10px}
.umi-search-heading h2{margin:0;font-size:21px;line-height:1;font-weight:600}.umi-search-heading span{font:500 9px/1 Arial,sans-serif;color:#8b7d73}
.umi-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.umi-search-card{position:relative;aspect-ratio:3/4;border-radius:9px;overflow:hidden;background:#d7c8bc;color:#fff;box-shadow:0 5px 14px rgba(45,30,20,.08)}
.umi-search-card>a{position:absolute;inset:0;text-decoration:none;color:inherit;display:block}
.umi-search-card img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.umi-search-card>a:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(22,15,11,.67))}
.umi-search-card-copy{position:absolute;z-index:2;left:8px;right:40px;bottom:8px;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.38)}
.umi-search-card-name{display:block;font-size:12.5px;line-height:1.03;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.umi-search-card-price{display:block;margin-top:4px;font:600 8.5px/1 Arial,sans-serif;letter-spacing:.03em;color:rgba(255,255,255,.92)}
.umi-search-plus{position:absolute;z-index:4;right:8px;bottom:7px;width:27px;height:27px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:rgba(40,27,20,.34);color:#fff;padding:0;display:grid;place-items:center;backdrop-filter:blur(3px)}
.umi-search-plus:before,.umi-search-plus:after{content:"";position:absolute;width:9px;height:1px;background:currentColor}.umi-search-plus:after{transform:rotate(90deg)}
.umi-search-empty{padding:28px 15px 34px;text-align:center;border:1px solid rgba(96,72,55,.12);border-radius:15px;background:#fffaf5;color:#73665d}
.umi-search-empty b{display:block;color:#40332b;font-size:17px;margin-bottom:6px}.umi-search-empty span{font:500 10px/1.45 Arial,sans-serif}
.umi-search-toast{position:fixed;left:50%;top:calc(var(--umi-search-header) + 10px);z-index:5210;transform:translate(-50%,-10px);opacity:0;pointer-events:none;width:min(330px,calc(100vw - 28px));padding:10px 12px;border-radius:13px;background:#fffdf9;border:1px solid rgba(70,52,40,.12);box-shadow:0 13px 36px rgba(39,27,19,.16);font:600 10px/1.3 Arial,sans-serif;color:#392d25;transition:.2s ease}.umi-search-toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){.umi-search-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:350px){.umi-search-box{grid-template-columns:30px minmax(0,1fr) 34px 30px;height:43px}.umi-search-input{font-size:13px}.umi-search-grid{gap:6px}.umi-search-card-name{font-size:11.5px}}

.umi-search-empty-full{
  grid-column:1/-1;
  margin-top:4px;
  padding:34px 20px 28px;
}
.umi-search-empty-full b{
  max-width:330px;
  margin:0 auto 9px;
  font-size:16px;
  line-height:1.35;
  font-weight:600;
}
.umi-search-empty-full span{
  display:block;
  max-width:320px;
  margin:0 auto;
  font-size:11px;
  line-height:1.5;
}
.umi-search-collection-btn{
  width:min(250px,100%);
  min-height:42px;
  margin:18px auto 0;
  border-radius:999px;
  background:#9b765f;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  font:600 12px/1 Arial,sans-serif;
  box-shadow:0 6px 16px rgba(82,56,40,.10);
}
.umi-search-collection-btn span{display:inline;margin:0;font-size:15px;line-height:1}

/* ===== UMIMODAL MOBILE VIEWPORT GUARD V1 =====
   Keep iPhone/iOS forms at the intended mobile scale.
   Prevent Safari focus auto-zoom without disabling user pinch zoom. */
@media (max-width: 820px){
  html{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
  body{
    width:100%;
    max-width:100vw;
    overflow-x:hidden;
    overscroll-behavior-x:none;
  }

  /* iOS Safari auto-zooms focused fields below 16px. Keep every customer form >=16px. */
  html body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
  html body textarea,
  html body select,
  html body [contenteditable="true"]{
    font-size:16px !important;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  form,fieldset,label,.umi-member-field,.umi-flow-field,.umi-search-box{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }

  /* Shared overlays must stay inside the actual phone viewport. */
  .umi-member-layer,
  .umi-member-flow-layer,
  .umi-search-layer{
    max-width:100vw;
    overflow-x:hidden;
  }
  .umi-member-modal,
  .umi-member-modal.perks-open,
  .umi-flow-shell,
  .umi-search-shell{
    max-width:100vw !important;
  }

  /* Remove the delayed/double-tap feel while keeping native scrolling and pinch zoom available. */
  a,button,[role="button"],input,select,textarea{
    touch-action:manipulation;
  }
}
