/* MyGB site search: header box, suggestion list, results page.
   Loaded by mu-plugins/mygb-search.php. Selectors repeat the element and
   [name] on purpose: the Elementor kit styles every button and input at
   (0,2,1) to (0,3,1) (post-14.css), and Hello Elementor's reset colours
   buttons #c36 on hover. */

.mygb-srch{
  --srch-ink:#1a1a1a;
  --srch-muted:#6b7280;
  --srch-line:#e5e7eb;
  --srch-line-2:#d1d5db;
  --srch-brand:#f06828;
  --srch-brand-d:#cc551d;
  --srch-tint:#fff6f1;
  --srch-navy:#1e3a8a;
  position:relative;
  display:flex;
  align-items:center;
  flex:0 0 auto;
  align-self:center;
  font-family:"Poppins","Helvetica Neue",Arial,sans-serif;
  box-sizing:border-box;
}
.mygb-srch *,.mygb-srch *::before,.mygb-srch *::after{ box-sizing:border-box; }

/* Header toggle (tablet and desktop) */
.mygb-srch button.mygb-srch__toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; padding:0; margin:0;
  background:#fff; color:var(--srch-ink);
  border:1px solid var(--srch-line); border-radius:8px;
  cursor:pointer; line-height:1; box-shadow:none;
  transition:color .15s ease, border-color .15s ease, background-color .15s ease;
}
.mygb-srch button.mygb-srch__toggle:hover,
.mygb-srch button.mygb-srch__toggle:focus-visible,
.mygb-srch.is-open button.mygb-srch__toggle{
  background:var(--srch-tint); color:var(--srch-brand-d); border-color:var(--srch-brand);
}
.mygb-srch button.mygb-srch__toggle:focus{ outline:none; }
.mygb-srch button.mygb-srch__toggle:focus-visible{ outline:2px solid var(--srch-brand); outline-offset:2px; }

/* Header panel: a popover under the toggle */
.mygb-srch--header .mygb-srch__panel{
  position:absolute; top:calc(100% + 12px); right:0; z-index:10010;
  width:min(400px, calc(100vw - 32px));
  background:#fff; border:1px solid var(--srch-line); border-radius:10px;
  box-shadow:0 12px 32px rgba(15,23,42,.14);
  padding:10px;
  display:none;
}
.mygb-srch--header.is-open .mygb-srch__panel{ display:block; }

/* Form */
.mygb-srch .mygb-srch__form{
  position:relative; display:flex; align-items:center; width:100%; margin:0;
}
.mygb-srch .mygb-srch__form input.mygb-srch__input[name="s"]{
  width:100%; height:42px; margin:0;
  padding:0 46px 0 14px;
  font:500 15px/1.2 "Poppins","Helvetica Neue",Arial,sans-serif;
  color:var(--srch-ink); background:#fff;
  border:1px solid var(--srch-line-2); border-radius:8px;
  box-shadow:none; outline:none;
  -webkit-appearance:none; appearance:none;
}
.mygb-srch .mygb-srch__form input.mygb-srch__input[name="s"]::placeholder{ color:var(--srch-muted); opacity:1; }
.mygb-srch .mygb-srch__form input.mygb-srch__input[name="s"]:focus{
  border-color:var(--srch-brand); box-shadow:0 0 0 3px rgba(240,104,40,.18);
}
.mygb-srch .mygb-srch__form input.mygb-srch__input[name="s"]::-webkit-search-cancel-button{ display:none; }
.mygb-srch .mygb-srch__form button.mygb-srch__submit{
  position:absolute; right:4px; top:50%; transform:translateY(-50%);
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; padding:0; margin:0;
  background:var(--srch-brand); color:#fff;
  border:0; border-radius:6px; cursor:pointer; line-height:1; box-shadow:none;
}
.mygb-srch .mygb-srch__form button.mygb-srch__submit:hover,
.mygb-srch .mygb-srch__form button.mygb-srch__submit:focus{ background:var(--srch-brand-d); color:#fff; }
.mygb-srch .mygb-srch__form button.mygb-srch__submit:focus-visible{ outline:2px solid var(--srch-navy); outline-offset:2px; }

/* Suggestions */
.mygb-srch .mygb-srch__list{
  list-style:none; margin:8px 0 0; padding:4px 0 0;
  border-top:1px solid var(--srch-line);
  max-height:min(60vh, 420px); overflow-y:auto;
}
.mygb-srch .mygb-srch__list[hidden]{ display:none; }
.mygb-srch .mygb-srch__list li{ margin:0; padding:0; }
.mygb-srch .mygb-srch__opt{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:9px 10px; border-radius:6px;
  color:var(--srch-ink); text-decoration:none;
  font-size:14px; line-height:1.3; font-weight:500;
}
.mygb-srch .mygb-srch__opt:hover,
.mygb-srch .mygb-srch__opt.is-active{ background:var(--srch-tint); color:var(--srch-ink); text-decoration:none; }
.mygb-srch .mygb-srch__opt-title{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mygb-srch .mygb-srch__opt-label{
  flex:0 0 auto; font-size:11px; font-weight:600; letter-spacing:.03em; text-transform:uppercase;
  color:var(--srch-brand-d); background:var(--srch-tint); border:1px solid #fbd3bd;
  padding:2px 7px; border-radius:99px;
}
.mygb-srch .mygb-srch__opt--all{ color:var(--srch-brand-d); font-weight:600; }
.mygb-srch .mygb-srch__empty{ padding:9px 10px; color:var(--srch-muted); font-size:14px; }

/* Phones: no toggle, the box sits inline on the header's second line,
   beside the delivery ZIP chip (the ZIP chip keeps its place; order:1 puts
   the box after it). */
@media (max-width:767px){
  .mygb-srch--header{ order:1; flex:1 1 140px; min-width:0; margin-left:auto; }
  .mygb-srch--header button.mygb-srch__toggle{ display:none; }
  .mygb-srch--header .mygb-srch__panel{
    position:static; display:block; width:100%;
    padding:0; border:0; box-shadow:none; background:transparent;
  }
  .mygb-srch--header .mygb-srch__form input.mygb-srch__input[name="s"]{
    height:36px; font-size:16px; padding:0 40px 0 12px; /* 16px: no iOS zoom on focus */
  }
  .mygb-srch--header .mygb-srch__form button.mygb-srch__submit{ width:30px; height:30px; right:3px; }
  .mygb-srch--header .mygb-srch__list{
    position:absolute; top:calc(100% + 8px); right:0; z-index:10010;
    width:calc(100vw - 32px); margin:0; padding:6px;
    background:#fff; border:1px solid var(--srch-line); border-radius:10px;
    box-shadow:0 12px 32px rgba(15,23,42,.14);
  }
}

/* ------------------------------------------------------------------ */
/* Results page (search.php in the child theme)                        */
/* ------------------------------------------------------------------ */
.mygb-sr__hero{ padding:1.5rem 0 1.25rem; border-bottom:1px solid #e5e7eb; margin-bottom:1.5rem; }
.mygb-sr__hero h1{ font-size:clamp(1.7rem,3.4vw,2.4rem); margin:.5rem 0 1rem; line-height:1.15; overflow-wrap:anywhere; }
.mygb-srch--page{ max-width:640px; }
.mygb-srch--page .mygb-srch__form input.mygb-srch__input[name="s"]{ height:48px; font-size:16px; padding-right:52px; }
.mygb-srch--page .mygb-srch__form button.mygb-srch__submit{ width:40px; height:40px; }
.mygb-srch--page .mygb-srch__list{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:50; margin:0; padding:6px;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px; box-shadow:0 12px 32px rgba(15,23,42,.14);
}
.mygb-sr__count{ margin:.75rem 0 0; color:#6b7280; font-size:.95rem; }
.mygb-sr .mygb-sr__heading{ font-size:1.25rem; margin:2rem 0 .75rem; }
.mygb-sr__group:first-of-type .mygb-sr__heading{ margin-top:.5rem; }
.mygb-sr__list{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.mygb-sr__item{ margin:0; }
.mygb-sr .mygb-sr__link{
  display:block; padding:.85rem 1rem; border:1px solid #e5e7eb; border-radius:10px;
  background:#fff; color:#1a1a1a; text-decoration:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.mygb-sr .mygb-sr__link:hover{ border-color:#f06828; box-shadow:0 4px 16px rgba(240,104,40,.10); text-decoration:none; color:#1a1a1a; }
.mygb-sr__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.mygb-sr__title{ font-weight:600; font-size:1.02rem; line-height:1.35; color:#1a1a1a; }
.mygb-sr .mygb-sr__link:hover .mygb-sr__title{ color:#cc551d; }
.mygb-sr__label{
  flex:0 0 auto; font-size:.7rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:#cc551d; background:#fff6f1; border:1px solid #fbd3bd; padding:.15rem .55rem; border-radius:99px; white-space:nowrap;
}
.mygb-sr__excerpt{ display:block; margin-top:.3rem; color:#4b5563; font-size:.92rem; line-height:1.5; }
.mygb-sr__url{ display:block; margin-top:.3rem; color:#6b7280; font-size:.8rem; overflow-wrap:anywhere; }
.mygb-sr__tip{ margin-top:2rem; color:#4b5563; }
.mygb-sr__empty h2{ margin-top:.5rem; }
.mygb-sr__quick{ display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; padding:0; margin:1rem 0 0; }
.mygb-sr__quick a{ display:inline-block; padding:.45rem .9rem; border:1px solid #e5e7eb; border-radius:99px; }
.mygb-sr__pages{ margin-top:2rem; }
@media (max-width:640px){
  .mygb-sr__top{ flex-direction:column; gap:.35rem; }
}

/* The ElementsKit off-canvas menu lives inside the nav container, and the header
   box sits after it in the same stacking layer, so it painted on top of the open
   menu. Hide it while the menu is open. */
body:has(.elementskit-menu-offcanvas-elements.active) .mygb-srch--header{ visibility:hidden; }
