/* =========================================================
   GLOBAL THEME TOKENS & BASE
   ========================================================= */
.footer { --footer-background-color: #444443; }
.footer .footer__block__title,
.footer .footer__block__title a { color: #bff47b !important; }

.header{
  --header-bg:#bff47b;
  --header-top-bg:#f1f2ec;
  --header-color:var(--bs-gray-800);
  --header-top-color:var(--bs-gray-800);
  background-color:var(--header-bg);
  max-width:100vw;
  position:sticky; top:0; width:100%;
  z-index:100;
  transition:background-color .25s ease, box-shadow .25s ease;
}

/* generic search input (mobile/offcanvas too) */
#search_widget form input{
  width:100%;
  padding:10px 20px 10px 40px;
  outline:none;
  background-color:#fff !important;
  border:none; border-radius:5px;
}

.header a:not(.dropdown-item):not(.btn):hover,
.header a:not(.dropdown-item):not(.btn):hover i { color:#949494; }

.footer .footer__block__content-list a:hover{ color:#bff47b !important; }
.footer .footer__block__content-contact a:hover{ color:#0b5ed7 !important; }

.footer .copyright,
.footer .copyright a,
.footer .h2,.footer .h2 a,
.footer .h3,.footer .h3 a,
.footer .h4,.footer .h4 a,
.footer h2, .footer h2 a,
.footer h3, .footer h3 a { color:#bff47b !important; }

.btn-primary{
  --bs-btn-color:#949492;
  --bs-btn-bg:#ffe9e9;
  --bs-btn-border-color:#fdd0d0;
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:#bff47b;
  --bs-btn-hover-border-color:#00ff0c;
  --bs-btn-focus-shadow:rgb(49,132,253);
  --bs-btn-active-color:#fff;
  --bs-btn-active-bg:#0a58ca;
  --bs-btn-active-border-color:#0a53be;
  --bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);
  --bs-btn-disabled-color:#fff;
  --bs-btn-disabled-bg:#d0defd;
  --bs-btn-disabled-border-color:#d0defd;
}

.badge{ background-color:#5da500; margin:.25rem; }

a{ color:#949492; text-decoration:underline; }
a:hover{ color:#0b5ed7; }

:root,[data-bs-theme=light]{
  --bs-blue:#0d6efd; --bs-indigo:#6610f2; --bs-purple:#6f42c1; --bs-pink:#d63384;
  --bs-red:#dc3545; --bs-orange:#fd7e14; --bs-yellow:#ffc107; --bs-green:#198754;
  --bs-teal:#20c997; --bs-cyan:#0dcaf0; --bs-black:#000; --bs-white:#fff;
  --bs-gray:#6c757d; --bs-gray-dark:#343a40; --bs-gray-100:#f8f9fa; --bs-gray-200:#e9ecef;
  --bs-gray-300:#dee2e6; --bs-gray-400:#ced4da; --bs-gray-500:#adb5bd; --bs-gray-600:#6c757d;
  --bs-gray-700:#495057; --bs-gray-800:#343a40; --bs-gray-900:#212529;
  --bs-primary:#bff47b; --bs-secondary:#6c757d; --bs-success:#198754; --bs-info:#0dcaf0;
  --bs-warning:#ffc107; --bs-danger:#dc3545; --bs-light:#f8f9fa; --bs-dark:#212529;
  --bs-primary-rgb:13,110,253; --bs-secondary-rgb:108,117,125; --bs-success-rgb:25,135,84;
  --bs-info-rgb:13,202,240; --bs-warning-rgb:255,193,7; --bs-danger-rgb:220,53,69;
  --bs-light-rgb:248,249,250; --bs-dark-rgb:33,37,41;
  --bs-primary-text-emphasis:#052c65; --bs-secondary-text-emphasis:#2b2f32;
  --bs-success-text-emphasis:#0a3622; --bs-info-text-emphasis:#055160;
  --bs-warning-text-emphasis:#664d03; --bs-danger-text-emphasis:#58151c;
  --bs-light-text-emphasis:#495057; --bs-dark-text-emphasis:#495057;
  --bs-primary-bg-subtle:#cfe2ff; --bs-secondary-bg-subtle:#e2e3e5; --bs-success-bg-subtle:#d1e7dd;
  --bs-info-bg-subtle:#cff4fc; --bs-warning-bg-subtle:#fff3cd; --bs-danger-bg-subtle:#f8d7da;
  --bs-light-bg-subtle:#fcfcfd; --bs-dark-bg-subtle:#ced4da;
  --bs-white-rgb:255,255,255; --bs-black-rgb:0,0,0;
  --bs-body-font-family:"Inter",sans-serif;
  --bs-body-font-size:1rem; --bs-body-font-weight:400; --bs-body-line-height:1.25;
  --bs-body-color:#212529; --bs-body-bg:#fff;
}

.arif-map-block{ padding-left:80px !important; padding-right:80px !important; box-sizing:border-box; }

/* =========================================================
   MEGA MENU (Desktop) — fixed gap/overlap
   ========================================================= */
@media (min-width: 992px){

  :root{
    /* tweak here only if header height changes */
    --submenu-top: 96px;
    --menu-height: 48px;
    --submenu-gap: 2px;

    --mm-dur:.42s;
    --mm-ease:cubic-bezier(.22,1.12,.24,1);
    --mm-stagger:.05s;

    --submenu-width:78vw;
    --submenu-max:1280px;
  }

  .header-bottom{ position:relative; z-index:3200; }
  .main-menu__tree{ position:relative; z-index:3200; overflow:visible !important; }
  .main-menu__tree > li{ position:relative; z-index:10; }

  .main-menu__tree > li > a,
  .main-menu__tree > li > span{
    display:inline-block; padding:8px 18px; margin:0 6px;
    font-size:15px; font-weight:600; color:#fff !important;
    background:#7bcf5c; border-radius:25px; text-decoration:none;
    box-shadow:0 2px 4px rgba(0,0,0,.10);
    transition:transform .18s ease, background .25s ease, box-shadow .25s ease;
  }
  .main-menu__tree > li > a:hover,
  .main-menu__tree > li:focus-within > a,
  .main-menu__tree > li:hover > span{
    transform:scale(1.02);
    background:#6bb84f;
    box-shadow:0 6px 18px rgba(123,207,92,.40);
  }
  .main-menu__tree > li.active > a{
    background:#5aa740; box-shadow:0 0 14px rgba(90,167,64,.75);
  }

  /* bridge so submenu doesn't collapse while moving cursor down */
  .main-menu__tree > li:hover::before,
  .main-menu__tree > li:focus-within::before{
    content:"";
    position:fixed; left:0; width:100vw;
    top: calc(var(--submenu-top) + var(--menu-height) - 8px);
    height: 8px;
    background: transparent;
    z-index: 3001;
    pointer-events: auto;
  }

  .main-menu__tree > li > .menu-container,
  .main-menu__tree > li > .js-sub-menu{
    position:fixed !important;
    top: calc(var(--submenu-top) + var(--menu-height) + var(--submenu-gap)) !important;
    left:50% !important; right:auto !important; margin:0 !important;

    width:var(--submenu-width) !important;
    max-width:var(--submenu-width) !important;

    transform:translate(-50%, 2px) scale(.985) !important;
    filter:blur(6px);
    opacity:0; visibility:hidden; pointer-events:none;

    transition:
      opacity   var(--mm-dur) var(--mm-ease),
      transform var(--mm-dur) var(--mm-ease),
      filter    var(--mm-dur) var(--mm-ease),
      visibility 0s linear var(--mm-dur);

    /* frosted glass */
    background:rgba(247,255,241,.75) !important;
    backdrop-filter: blur(12px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
    border:1px solid rgba(255,255,255,.3);
    border-radius:12px;
    box-shadow:0 18px 48px rgba(0,0,0,.20);
    padding:28px 60px;
    z-index:3002;
  }

  .main-menu__tree > li:hover > .menu-container,
  .main-menu__tree > li:focus-within > .menu-container,
  .main-menu__tree > li > .menu-container:hover,
  .main-menu__tree > li:hover > .js-sub-menu,
  .main-menu__tree > li:focus-within > .js-sub-menu,
  .main-menu__tree > li > .js-sub-menu:hover{
    opacity:1; visibility:visible; pointer-events:auto;
    transform:translate(-50%, 0) scale(1) !important;
    filter:blur(0);
    transition:
      opacity   var(--mm-dur) var(--mm-ease),
      transform var(--mm-dur) var(--mm-ease),
      filter    var(--mm-dur) var(--mm-ease),
      visibility 0s linear 0s;
  }

  .main-menu__tree > li:hover,
  .main-menu__tree > li:focus-within{ z-index:3010; }

  .main-menu__tree > li:hover > .menu-container,
  .main-menu__tree > li:hover > .js-sub-menu{
    animation:mmPop var(--mm-dur) var(--mm-ease);
  }
  @keyframes mmPop{
    from{ opacity:0; transform:translate(-50%, 10px) scale(.98); filter:blur(8px); }
    to  { opacity:1; transform:translate(-50%,  0 ) scale(1);    filter:blur(0);  }
  }

  .main-menu__tree > li > .menu-container > ul,
  .main-menu__tree > li > .js-sub-menu > ul{
    margin:0 auto; padding:0; list-style:none;
    max-width:var(--submenu-max);
    display:grid !important;
    grid-template-columns:repeat(auto-fit, minmax(160px,1fr));
    gap:32px;
  }

  .main-menu__tree > li > .menu-container > ul > li,
  .main-menu__tree > li > .js-sub-menu > ul > li{
    opacity:0; transform:translateY(10px);
    transition:opacity .34s var(--mm-ease), transform .34s var(--mm-ease);
  }
  .main-menu__tree > li:hover  > .menu-container > ul > li,
  .main-menu__tree > li:focus-within > .menu-container > ul > li,
  .main-menu__tree > li > .menu-container:hover > ul > li,
  .main-menu__tree > li:hover  > .js-sub-menu > ul > li,
  .main-menu__tree > li:focus-within > .js-sub-menu > ul > li,
  .main-menu__tree > li > .js-sub-menu:hover > ul > li{
    opacity:1; transform:translateY(0);
  }
}

/* =========================================================
   LOGO — lively glow (desktop in top bar) + safe sizes
   ========================================================= */
@media (min-width: 678px){
  nav.header-top .header-top__logo img{
    max-height:60px; height:auto; width:auto; display:block; object-fit:contain;
    transition: transform .35s ease, filter .35s ease;
  }
  nav.header-top .header-top__logo{ margin-right:12px; }
}

@media (min-width: 992px){
  nav.header-top .header-top__logo{
    --med-green:#16a34a; --med-green-2:#22c55e; --halo-strength:.28;
    position:relative; z-index:1;
    animation: logo-float 6s ease-in-out infinite;
  }
  nav.header-top .header-top__logo img{
    position:relative; z-index:2;
    filter:
      drop-shadow(0 2px 6px rgba(0,0,0,.14))
      drop-shadow(0 0 10px color-mix(in srgb, var(--med-green) 30%, transparent));
  }
  nav.header-top .header-top__logo:hover img{
    transform: translateY(-2px) scale(1.02);
    filter:
      drop-shadow(0 6px 14px rgba(0,0,0,.16))
      drop-shadow(0 0 14px color-mix(in srgb, var(--med-green) 42%, transparent));
  }
  nav.header-top .header-top__logo::before{
    content:""; position:absolute; z-index:1; inset:-10px -16px;
    border-radius:9999px;
    background:
      radial-gradient(35% 45% at 30% 30%,
        color-mix(in srgb, var(--med-green-2) calc(var(--halo-strength)*100%), transparent) 0%,
        color-mix(in srgb, var(--med-green)   calc(var(--halo-strength)*75%),  transparent) 50%,
        transparent 75%);
    filter: blur(14px); opacity:.85; pointer-events:none;
    animation: logo-breathe 3.8s ease-in-out infinite;
  }
}

/* shadow for bottom-header mobile logo */
.header-bottom .navbar-brand img.logo{
  filter: drop-shadow(2px 6px 12px rgba(14,58,0,.28)) !important;
  -webkit-filter: drop-shadow(2px 6px 12px rgba(14,58,0,.28)) !important;
}

@media (prefers-reduced-motion:reduce){
  nav.header-top .header-top__logo,
  nav.header-top .header-top__logo::before{ animation:none !important; }
}

@keyframes logo-breathe{
  0%{transform:scale(.98);opacity:.70;}
  50%{transform:scale(1.05);opacity:.95;}
  100%{transform:scale(.98);opacity:.70;}
}
@keyframes logo-float{
  0%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
  100%{transform:translateY(0);}
}

/* =========================================================
   SEARCH (center pill on desktop/tablet) — alignment FIX
   ========================================================= */

/* Push the middle column (search) to the RIGHT in the flex row */
.header-top__center{
  margin-left: auto !important;              /* <— the important part */
  /* (no margin-right:auto here; that would center it) */
}

@media (min-width: 992px){
  .header-top__center #search_widget,
  .header-top__center #search_widget .search-widget{
    position:relative; overflow:visible !important; z-index:9999; width:100%;
  }
}

/* Consolidated icon + input paddings so caret starts nearer the icon */
@media (min-width: 678px){
  /* input look */
  .header-top__center #search_widget.search-widgets form input[type="search"],
  .header-top__center #search_widget.search-widgets form input[type="text"]{
    height: clamp(36px, 3.2vw, 42px) !important;
    line-height: clamp(36px, 3.2vw, 42px) !important;
    width: clamp(360px, 50vw, 650px) !important;
    padding: 0 16px 0 30px !important;       /* caret closer than before */
    background:#bbf07921 !important;
    border:2px solid #16a34a !important;
    border-radius:20px !important;
    font-size: clamp(13px, 1.1vw, 17px) !important;
    color:#212529 !important; outline:none !important;
    transition: box-shadow .3s ease, border-color .3s ease, background-color .25s ease;
  }
  .header-top__center #search_widget.search-widgets form input[type="search"]:focus,
  .header-top__center #search_widget.search-widgets form input[type="text"]:focus{
    border-color:#16a34a !important;
    box-shadow:0 0 6px 2px rgba(22,163,74,.45) !important;
    background:#fff !important;
  }

  /* icon placement */
  .header-top__center #search_widget .material-icons,
  .header-top__center #search_widget i.search,
  .header-top__center #search_widget i.material-icons.search{
    position:absolute; left:12px; top:50%; transform:translateY(-50%);
    font-size:18px; line-height:1;
    color:#16a34a; pointer-events:none; margin:0 !important;
  }

  /* dropdown */
  .search-widgets_dropdown,
  .js-search-dropdown,
  #search_widget .dropdown-menu{
    position:absolute !important;
    top: calc(100% + 8px) !important;
    left:0 !important; right:0 !important; width:100% !important;
    z-index:100000 !important;
    background:#fff; border:1px solid rgba(0,0,0,.08);
    border-radius:14px; box-shadow:0 12px 28px rgba(0,0,0,.14); overflow:hidden;
  }
}

/* =========================================================
   LOGO SIZE CAPS (bottom header)
   ========================================================= */
@media (min-width: 678px){
  .header-bottom .navbar-brand img.logo{ max-height:60px !important; height:auto !important; width:auto !important; object-fit:contain; display:block; }
  .header.js-sticky-header.is-sticky .navbar-brand img.logo{ max-height:52px !important; }
}
@media (max-width: 678px){
  .header-bottom .navbar-brand img.logo{ max-height:45px !important; }
}

/* ===============================
   IDENTICAL SIGN-IN & CART PILLS
   =============================== */
@media (min-width: 678px){
  :root{
    --pill-h: 42px;
    --pill-w: 140px;
    --pill-px: 18px;
    --pill-gap: 8px;
    --pill-bg: #16a34a;
    --pill-bg-hover: #128a3e;
  }

  /* Sign in (anchor is the pill) */
  #_desktop_user_info .header-block > a{
    display:inline-flex !important;
    align-items:center; justify-content:center; gap:var(--pill-gap);
    width:var(--pill-w) !important; height:var(--pill-h) !important;
    padding:0 var(--pill-px) !important;
    border-radius:9999px !important; background:var(--pill-bg) !important;
    color:#fff !important; font-weight:700; font-size:14px !important;
    line-height:1 !important; text-decoration:none !important;
    border:2px solid transparent; box-shadow:0 6px 16px rgba(22,163,74,.25);
    transition:background-color .2s ease, box-shadow .2s ease, transform .15s ease;
  }
  #_desktop_user_info .header-block > a:hover{
    background:var(--pill-bg-hover) !important;
    box-shadow:0 10px 22px rgba(22,163,74,.35); transform:translateY(-1px);
  }
  #_desktop_user_info .header-block .header-block__icon{
    font-size:16px; line-height:1; margin:0; color:#fff !important;
  }

  /* Cart (the .header-block itself is the pill) */
  #_desktop_cart .header-block{ margin:0 !important; padding:0 !important; }
  #_desktop_cart .header-block{
    display:inline-flex !important;
    align-items:center; justify-content:center; gap:var(--pill-gap);
    width:var(--pill-w) !important; height:var(--pill-h) !important;
    padding:0 var(--pill-px) !important;
    border-radius:9999px !important; background:var(--pill-bg) !important;
    color:#fff !important; border:2px solid transparent;
    box-shadow:0 6px 16px rgba(22,163,74,.25);
    transition:background-color .2s ease, box-shadow .2s ease, transform .15s ease;
  }
  #_desktop_cart .header-block__action-btn{
    display:inline-flex !important; align-items:center; justify-content:center;
    gap:var(--pill-gap); height:100% !important; padding:0 !important;
    color:#fff !important; text-decoration:none !important; line-height:1 !important;
  }
  #_desktop_cart .header-block:hover{
    background:var(--pill-bg-hover) !important;
    box-shadow:0 10px 22px rgba(22,163,74,.35); transform:translateY(-1px);
  }
  #_desktop_cart .header-block__icon{
    font-size:16px; line-height:1; margin:0; color:#fff !important;
  }
  #_desktop_cart .header-block__badge{
    background:#fff !important; color:var(--pill-bg) !important;
    font-size:12px; font-weight:700; border-radius:9999px;
    min-width:18px; height:18px; line-height:18px; text-align:center; padding:0 4px;
  }
}

/* =========================
   GAP / HOVER-BRIDGE PATCH
   (end)
   ========================= */
@media (min-width: 992px){
  :root{
    --submenu-top: 92px;
    --menu-height: 28px;
    --bridge-extra: 35px;
  }
  .main-menu__tree > li > .menu-container,
  .main-menu__tree > li > .js-sub-menu{
    top: calc(var(--submenu-top) + var(--menu-height)) !important;
    transform: translate(-50%, 0) scale(1) !important;
    filter: none !important; opacity: 0; visibility: hidden; pointer-events: none;
  }
  .main-menu__tree > li:hover > .menu-container,
  .main-menu__tree > li:focus-within > .menu-container,
  .main-menu__tree > li:hover > .js-sub-menu,
  .main-menu__tree > li:focus-within > .js-sub-menu{
    opacity: 1; visibility: visible; pointer-events: auto;
  }
  .main-menu__tree > li:hover::before,
  .main-menu__tree > li:focus-within::before{
    content:""; position: fixed; left: 0; width: 100vw;
    top: calc(var(--submenu-top) + var(--menu-height) - 1px);
    height: var(--bridge-extra);
    background: transparent; z-index: 3005; pointer-events: auto;
  }
}
/* =========================
   HEADER SEARCH POSITION FIX
   ========================= */

/* Desktop & tablet: keep search centered but flexible */
@media (min-width: 768px) {
  .header-top__center {
    flex: 1 1 auto !important;   /* grow/shrink between left & right cols */
    display: flex !important;
    justify-content: center !important; /* center search bar */
  }

  .header-top__center #search_widget {
    max-width: 600px;            /* don’t let it grow too wide */
    width: 100%;                 /* responsive */
  }
}

/* Mobile: search takes full width under logo (no overlap) */
@media (max-width: 767.98px) {
  .header-top__center {
    order: 3;                    /* push search below logo & buttons */
    width: 100% !important;
    margin-top: 8px;             /* small breathing space */
    display: block !important;
  }

  .header-top__center #search_widget {
    width: 100% !important;
  }

  .header-top__center #search_widget form input[type="search"],
  .header-top__center #search_widget form input[type="text"] {
    width: 100% !important;
    max-width: none !important;
  }
}
/* ----------------------------------------------
   HEADER / GLOBAL BASICS (keep your existing styles)
   ---------------------------------------------- */
.header {
  background-color: var(--header-bg, #bff47b);
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 100;
}

/* Generic search input base (kept from your styles) */
#search_widget form input {
  width: 100%;
  padding: 10px 20px 10px 40px;
  outline: none;
  background-color: #fff !important;
  border: none;
  border-radius: 5px;
}

/* ----------------------------------------------
   FIX 1: allow the top row to wrap when space is tight
   ---------------------------------------------- */
.header-top-desktop {
  display: flex !important;
  flex-wrap: wrap !important;             /* ← so columns can move onto a new line */
  align-items: center !important;
}

/* Don’t let side columns stretch weirdly */
.header-top__left,
.header-top__right {
  flex: 0 0 auto;                          /* left & right keep their natural width */
}

/* Center column stays flexible */
.header-top__center {
  flex: 1 1 auto;                          /* can grow/shrink between left & right */
  display: flex;
  justify-content: center;                 /* center the search inside this column */
  min-width: 280px;                        /* never collapse too small */
}

/* ----------------------------------------------
   FIX 2: search size rules per breakpoint
   ---------------------------------------------- */

/* ≥1200px – roomy desktops: wide centered bar */
@media (min-width: 1200px) {
  .header-top__center #search_widget {
    width: 100%;
    max-width: 720px;                      /* hard ceiling so it won’t touch buttons */
  }
}

/* 992–1199px – laptops: narrower bar so it never hits Sign in/Cart */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .header-top__center #search_widget {
    width: 100%;
    max-width: 560px;                      /* tuned for your screenshot at ~965px */
  }
}

/* ≤991px – tablets & phones: put search on its own row, full width */
@media (max-width: 991.98px) {
  .header-top__center {
    order: 3;                              /* move under logo & buttons */
    width: 100% !important;
    margin-top: 8px;                       /* breathing room */
  }
  .header-top__center #search_widget {
    width: 100% !important;
    max-width: none !important;
  }
  .header-top__center #search_widget form input[type="search"],
  .header-top__center #search_widget form input[type="text"] {
    width: 100% !important;
  }
}

/* ----------------------------------------------
   FIX 3: search icon vertical alignment and left padding
   ---------------------------------------------- */
#search_widget form {
  position: relative;
}
#search_widget form i {
  position: absolute;
  left: 14px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;                     /* perfectly centers against the text line */
  font-size: 20px;
  color: #16a34a;
  pointer-events: none;
}
#search_widget form input[type="search"],
#search_widget form input[type="text"] {
  padding-left: 40px !important;           /* leave room for the icon */
}

/* ----------------------------------------------
   FIX 4: make Sign in & Cart pills identical
   ---------------------------------------------- */
@media (min-width: 678px) {
  :root {
    --pill-h: 42px;
    --pill-w: 140px;
    --pill-px: 18px;
    --pill-gap: 8px;
    --pill-bg: #16a34a;
    --pill-bg-hover: #128a3e;
  }

  /* Sign in (anchor is the pill) */
  #_desktop_user_info .header-block > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--pill-gap);
    width: var(--pill-w) !important;
    height: var(--pill-h) !important;
    padding: 0 var(--pill-px) !important;
    border-radius: 9999px !important;
    background: var(--pill-bg) !important;
    color: #fff !important;
    font-weight: 700;
    font-size: 14px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    border: 2px solid transparent;
    box-shadow: 0 6px 16px rgba(22,163,74,.25);
    transition: background-color .2s ease, box-shadow .2s ease, transform .15s ease;
  }
  #_desktop_user_info .header-block > a:hover {
    background: var(--pill-bg-hover) !important;
    box-shadow: 0 10px 22px rgba(22,163,74,.35);
    transform: translateY(-1px);
  }
  #_desktop_user_info .header-block .header-block__icon {
    font-size: 16px;
    color: #fff !important;
    line-height: 1;
  }

  /* Cart (outer block becomes the pill) */
  #_desktop_cart .header-block {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--pill-gap);
    width: var(--pill-w) !important;
    height: var(--pill-h) !important;
    padding: 0 var(--pill-px) !important;
    border-radius: 9999px !important;
    background: var(--pill-bg) !important;
    color: #fff !important;
    border: 2px solid transparent;
    box-shadow: 0 6px 16px rgba(22,163,74,.25);
    transition: background-color .2s ease, box-shadow .2s ease, transform .15s ease;
  }
  #_desktop_cart .header-block:hover {
    background: var(--pill-bg-hover) !important;
    box-shadow: 0 10px 22px rgba(22,163,74,.35);
    transform: translateY(-1px);
  }

  /* Inner clickable area—no extra padding to avoid “fatter” cart */
  #_desktop_cart .header-block__action-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--pill-gap);
    height: 100% !important;
    padding: 0 !important;
    color: #fff !important;
    text-decoration: none !important;
    line-height: 1 !important;
  }
  #_desktop_cart .header-block__icon {
    font-size: 16px;
    color: #fff !important;
    line-height: 1;
  }

  /* Compact badge that doesn’t change pill size */
  #_desktop_cart .header-block__badge {
    background: #fff !important;
    color: var(--pill-bg) !important;
    font-size: 12px;
    font-weight: 700;
    border-radius: 9999px;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    padding: 0 4px;
  }
}

/* ----------------------------------------------
   OPTIONAL: if your header container adds side padding,
   you can loosen search width a bit by subtracting it:
   (uncomment if needed; adjust 48px to your container padding)
   ---------------------------------------------- */
/*
@media (min-width: 992px) and (max-width: 1199.98px) {
  .header-top__center #search_widget {
    max-width: calc(560px + 48px);
  }
}
*/
/* =========================================================
   TABLET MODE (768–1199px)
   Move Sign in / Cart VISUALLY to header-bottom (CSS-only)
   ========================================================= */
@media (min-width: 768px) and (max-width: 1199.98px){

  /* 1) Hide the desktop versions that sit in the top header */
  #_desktop_user_info,
  #_desktop_cart{
    display: none !important;
  }

  /* 2) Show the mobile placeholders that are inside header-bottom */
  #_mobile_user_info,
  #_mobile_cart{
    display: flex !important;          /* override .d-md-none */
    align-items: center;
  }

  /* 3) Push the pair to the RIGHT end of the header-bottom row */
  /* The first one takes the auto margin; the second sits next to it */
  #_mobile_user_info{ margin-left: auto !important; }
  #_mobile_cart{ margin-left: 8px; }

  /* 4) Make them smaller pills on tablets (matching your green style) */
  :root{
    --tab-pill-h: 36px;
    --tab-pill-px: 14px;
    --tab-pill-gap: 8px;
    --tab-pill-bg: #16a34a;
    --tab-pill-bg-hover: #128a3e;
  }

  /* The visible “blocks” on tablet */
  #_mobile_user_info .header-block > a,
  #_mobile_cart .header-block{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--tab-pill-gap);
    height: var(--tab-pill-h);
    padding: 0 var(--tab-pill-px);
    border-radius: 9999px;
    background: var(--tab-pill-bg);
    color: #fff !important;
    text-decoration: none !important;
    border: 2px solid transparent;
    box-shadow: 0 6px 16px rgba(22,163,74,.25);
    transition: background-color .2s ease, box-shadow .2s ease, transform .15s ease;
    line-height: 1;
  }

  /* Inner clickable area for the cart (remove extra padding) */
  #_mobile_cart .header-block__action-btn{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--tab-pill-gap);
    height: 100%;
    padding: 0 !important;
    color: #fff !important;
    text-decoration: none !important;
    line-height: 1;
  }

  /* Icons + badge */
  #_mobile_user_info .header-block__icon,
  #_mobile_cart      .header-block__icon{
    font-size: 16px;
    color: #fff !important;
    line-height: 1;
    margin: 0;
  }
  #_mobile_cart .header-block__badge{
    background: #fff !important;
    color: var(--tab-pill-bg) !important;
    font-size: 12px;
    font-weight: 700;
    border-radius: 9999px;
    min-width: 18px; height: 18px; line-height: 18px;
    text-align: center; padding: 0 4px;
  }

  /* Hover polish */
  #_mobile_user_info .header-block > a:hover,
  #_mobile_cart .header-block:hover{
    background: var(--tab-pill-bg-hover);
    box-shadow: 0 10px 22px rgba(22,163,74,.35);
    transform: translateY(-1px);
  }
}

/* =========================================================
   DESKTOP (≥1200px) – keep your desktop pills as-is
   (No change needed; rule below is only a safety reset.)
   ========================================================= */
@media (min-width: 1200px){
  #_mobile_user_info,
  #_mobile_cart{ display: none !important; }   /* use desktop ones */
}

/* =========================================================
   MOBILE (<768px) – your theme already shows these
   We keep defaults; just ensure they’re on.
   ========================================================= */
@media (max-width: 767.98px){
  #_mobile_user_info,
  #_mobile_cart{ display: flex !important; }
}
/* =========================
   A) Tablet: pill style for Sign in & Cart in header-bottom
   (when you show #_mobile_user_info / #_mobile_cart between 768–1199px)
   ========================= */
@media (min-width: 768px) and (max-width: 1199.98px) {

  /* make the containers visible & aligned (in case theme classes hide them) */
  #_mobile_user_info,
  #_mobile_cart {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
  }

  /* Sign in – keep the pill look */
  #_mobile_user_info .header-block > a,
  #_mobile_user_info .header-block .header-block__action-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 14px !important;
    border-radius: 9999px;
    background: #16a34a;
    color: #fff !important;
    text-decoration: none !important;
    border: 2px solid transparent;
    box-shadow: 0 6px 16px rgba(22,163,74,.25);
  }

  /* Cart – same pill */
  #_mobile_cart .header-block {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 14px !important;
    border-radius: 9999px;
    background: #16a34a;
    color: #fff !important;
    border: 2px solid transparent;
    box-shadow: 0 6px 16px rgba(22,163,74,.25);
  }
  #_mobile_cart .header-block__action-btn,
  #_mobile_cart .header-block__icon { color: #fff !important; }
  #_mobile_cart .header-block__badge{
    background:#fff !important; color:#16a34a !important;
    font-weight:700; border-radius:9999px; min-width:18px; height:18px; line-height:18px; padding:0 4px;
  }
}
/* =========================
   B) When right column is absent: align search with logo
   (<=1199px the top row has only logo + search)
   ========================= */
@media (min-width: 768px) and (max-width: 1199.98px) {
  /* push search to the left so its left edge lines up with the logo block */
  .header-top__center{
    justify-content: flex-start !important;   /* not centered */
  }
  .header-top__center #search_widget{
    margin-left: 12px;                        /* small gap after the logo */
    max-width: 560px;                         /* keep it from touching the pills below */
    width: 100%;
  }
}

/* Small refinement: if nothing sits above the search (wide desktop too),
   keep the search vertically aligned with the logo */
@media (min-width: 1200px){
  .header-top-desktop{ align-items: center !important; } /* vertical baseline */
}
/* =========================
   PATCH: Search + Sign-in fixes
   ========================= */

/* 1) Make the search bar align with the logo (no gap above) */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .header-top__center {
    justify-content: flex-start !important;
    align-items: center !important;
    margin-top: 0 !important;     /* remove extra gap */
  }
  .header-top__center #search_widget {
    margin-left: 12px;            /* small gap from logo */
    max-width: 560px;
    width: 100%;
  }
}

/* 2) Ensure Sign in is a proper clickable pill */
#_mobile_user_info .header-block > a,
#_desktop_user_info .header-block > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 38px;
  padding: 0 14px !important;
  border-radius: 9999px;
  background: #16a34a !important;
  color: #fff !important;
  text-decoration: none !important;  /* <-- clickable link */
  font-weight: 600;
  border: 2px solid transparent;
  box-shadow: 0 6px 16px rgba(22,163,74,.25);
  cursor: pointer;
}
#_mobile_user_info .header-block > a:hover,
#_desktop_user_info .header-block > a:hover {
  background: #128a3e !important;
}
/* ============================
   HEADER LAYOUT SAFETY
   ============================ */

/* The top row can wrap when space is tight */
.header-top-desktop{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important; /* vertical align logo/search */
}

/* Left and right columns should not stretch */
.header-top__left,
.header-top__right{ flex:0 0 auto; }

/* Middle column is flexible (holds search) */
.header-top__center{
  flex:1 1 auto;
  display:flex;
  min-width:280px; /* never collapse too small */
}

/* Search icon vertical alignment + input padding */
#search_widget form{ position:relative; }
#search_widget form i{
  position:absolute; left:14px; top:0; bottom:0;
  display:flex; align-items:center;
  font-size:20px; color:#16a34a; pointer-events:none;
}
#search_widget form input[type="search"],
#search_widget form input[type="text"]{
  padding-left:40px !important;
}

/* ============================
   DESKTOP (≥1200px)
   Keep your desktop pills; center search
   ============================ */
@media (min-width:1200px){
  .header-top__center{ justify-content:center !important; }

  /* Ensure the desktop Sign in button is a proper clickable pill */
  #_desktop_user_info .header-block > a{
    display:inline-flex !important;
    align-items:center; justify-content:center; gap:8px;
    height:42px; padding:0 18px !important; width:auto;
    border-radius:9999px; background:#16a34a !important;
    color:#fff !important; text-decoration:none !important; font-weight:700;
    border:2px solid transparent; box-shadow:0 6px 16px rgba(22,163,74,.25);
  }
  #_desktop_user_info .header-block > a:hover{ background:#128a3e !important; }

  /* Desktop Cart pill (match Sign in) */
  #_desktop_cart .header-block{
    display:inline-flex !important;
    align-items:center; justify-content:center; gap:8px;
    height:42px; padding:0 18px !important;
    border-radius:9999px; background:#16a34a !important; color:#fff !important;
    border:2px solid transparent; box-shadow:0 6px 16px rgba(22,163,74,.25);
  }
  #_desktop_cart .header-block__action-btn{
    display:inline-flex !important; align-items:center; gap:8px;
    height:100%; padding:0 !important; color:#fff !important; text-decoration:none !important;
  }
  #_desktop_cart .header-block__badge{
    background:#fff !important; color:#16a34a !important;
    font-size:12px; font-weight:700; border-radius:9999px;
    min-width:18px; height:18px; line-height:18px; padding:0 4px; text-align:center;
  }
}

/* ============================
   TABLET (768–1199px)
   Move pills to header-bottom; align search with logo
   ============================ */
@media (min-width:768px) and (max-width:1199.98px){

  /* Search sits beside the logo (left-aligned) */
  .header-top__center{
    justify-content:flex-start !important;
    align-items:center !important;
    margin-top:0 !important;
  }
  .header-top__center #search_widget{
    margin-left:12px;                /* small gap after the logo */
    width:100%; max-width:560px;     /* prevent crashing into the pills below */
  }

  /* Hide desktop pills in the top bar */
  #_desktop_user_info, #_desktop_cart{ display:none !important; }

  /* Show the mobile placeholders that live in header-bottom */
  #_mobile_user_info, #_mobile_cart{
    display:flex !important;
    align-items:center !important;
  }

  /* Push the pair to the right end of header-bottom */
  #_mobile_user_info{ margin-left:auto !important; }
  #_mobile_cart{ margin-left:8px !important; }

  /* Tablet pill sizing */
  #_mobile_user_info .header-block > a,
  #_mobile_cart .header-block{
    display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
    height:36px; padding:0 14px !important;
    border-radius:9999px; background:#16a34a !important; color:#fff !important;
    text-decoration:none !important; border:2px solid transparent;
    box-shadow:0 6px 16px rgba(22,163,74,.25); line-height:1;
  }
  #_mobile_cart .header-block__action-btn{
    display:inline-flex !important; align-items:center; gap:8px;
    height:100%; padding:0 !important; color:#fff !important; text-decoration:none !important;
  }
  #_mobile_user_info .header-block > a:hover,
  #_mobile_cart .header-block:hover{ background:#128a3e !important; }

  /* Badge on tablet */
  #_mobile_cart .header-block__badge{
    background:#fff !important; color:#16a34a !important;
    font-size:12px; font-weight:700; border-radius:9999px;
    min-width:18px; height:18px; line-height:18px; padding:0 4px; text-align:center;
  }
}

/* ============================
   MOBILE (<768px)
   Stack neatly; ensure pills are visible & clickable
   ============================ */
@media (max-width:767.98px){

  /* Search row below logo with a small gap */
  .header-top__center{
    order:3; width:100% !important; margin-top:8px; display:block !important;
  }
  .header-top__center #search_widget{ width:100% !important; }

  /* Make sure mobile pills show and keep pill look */
  #_mobile_user_info, #_mobile_cart{ display:flex !important; align-items:center; }
  #_mobile_user_info .header-block > a,
  #_mobile_cart .header-block{
    display:inline-flex !important; align-items:center; gap:8px;
    height:36px; padding:0 14px !important;
    border-radius:9999px; background:#16a34a !important; color:#fff !important;
    text-decoration:none !important; border:2px solid transparent;
  }
  #_mobile_cart .header-block__action-btn{ padding:0 !important; color:#fff !important; }
  #_mobile_cart .header-block__badge{
    background:#fff !important; color:#16a34a !important;
    font-size:12px; font-weight:700; border-radius:9999px;
    min-width:18px; height:18px; line-height:18px; padding:0 4px; text-align:center;
  }
}
/* =========================
   TABLET (768–1199.98px)
   Align search with logo + make Sign in clickable
   ========================= */
@media (min-width:768px) and (max-width:1199.98px){

  /* 1) Replace the Bootstrap column widths: logo + search share the same row */
  .header-top-desktop{
    display:flex !important;
    align-items:center !important;            /* vertical baseline for logo + search */
    flex-wrap:nowrap !important;
  }
  /* left (logo) = natural width */
  .header-top-desktop > .header-top__left{
    flex:0 0 auto !important;
    width:auto !important;
  }
  /* center (search) = take the rest; start right after logo */
  .header-top-desktop > .header-top__center{
    flex:1 1 auto !important;
    width:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    margin-left:12px !important;              /* small gap after the logo */
    margin-top:0 !important;
  }
  /* right column is empty on tablet—remove it so center can shift left */
  .header-top-desktop > .header-top__right{
    display:none !important;
  }

  /* 2) Size the search on tablet */
  .header-top__center #search_widget{
    width:100% !important;
    max-width:600px !important;               /* adjust if you want a different width */
    position:relative !important;
    z-index:1 !important;                     /* SEARCH stays below the pills */
  }

  /* 3) Ensure the header-bottom (with Sign in / Cart) sits above the search */
  .header-bottom,
  .header-bottom .container-md,
  .header-bottom .row{
    position:relative !important;
    z-index:3 !important;                     /* PILLS above => clickable */
  }

  /* 4) Safety: the anchors must receive pointer events */
  #_mobile_user_info .header-block > a,
  #_mobile_cart .header-block__action-btn{
    display:inline-flex !important;
    pointer-events:auto !important;
  }
}
/* Mobile: hide the empty white top bar */
@media (max-width: 767.98px){
  /* The strip itself */
  nav.header-top,
  #header .header-top { 
    display: none !important;
  }

  /* If your theme shows a banner area above, hide it too */
  .header__banner,
  #header .header__banner {
    display: none !important;
  }

  /* Make sure the sticky header sits flush at the top */
  #header.header,
  #header.header.js-sticky-header {
    top: 0 !important;
  }
}
#search_widget form i
 {
    position: absolute;
    left: 1px;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    font-size: 35px;
    color: #16a34a;
    pointer-events: none;}
    
@media (min-width: 678px) {
    .header-top__center #search_widget .material-icons, .header-top__center #search_widget i.search, .header-top__center #search_widget i.material-icons.search
 {
        position: absolute;
        left: 1px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 25px;
        line-height: 1;
        color: #16a34a;
        pointer-events: none;
        margin: 0 !important;
    }
}