/* ==========================================================
   Mexora Offers — final mobile filter cleanup
   ========================================================== */
.mx-offers-v2 .offers-filter-bar{
  background:#0c1419!important;
  border-color:#26343c!important;
}
.mx-offers-v2 .offers-filter-bar .mx-select-trigger{
  background:#0f1a20!important;
  border-color:#2b3a42!important;
  color:#eef2f3!important;
}
.mx-offers-v2 .offers-filter-bar .mx-select-trigger:focus-visible,
.mx-offers-v2 .offers-filter-bar .mx-select.open .mx-select-trigger{
  border-color:#8a4256!important;
  box-shadow:0 0 0 3px rgba(231,109,141,.10)!important;
}
.mx-offers-v2 .offers-filter-bar .mx-select-menu{
  background:#0b151a!important;
  border-color:#33434b!important;
}
.mx-offers-v2 .offers-filter-bar .mx-select-option{
  border:0!important;
  border-bottom:0!important;
  background:transparent!important;
  color:#dce3e6!important;
}
.mx-offers-v2 .offers-filter-bar .mx-select-option + .mx-select-option{
  border-top:1px solid rgba(255,255,255,.035)!important;
}
.mx-offers-v2 .offers-filter-bar .mx-select-option.is-selected{
  background:#291923!important;
  color:#ff8ca7!important;
}
.mx-offers-v2 .offers-filter-bar .mx-select-option:hover{
  background:#111f25!important;
}
.mx-offers-v2 .offers-filter-bar select.mx-select-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.mx-offers-v2 .service-picker-option,
.mx-offers-v2 .location-picker-menu,
.mx-offers-v2 .service-picker-menu{
  background:#0b151a!important;
  color:#dce3e6!important;
  border-color:#33434b!important;
}
.mx-offers-v2 .service-picker-option{
  border-bottom:0!important;
}
.mx-offers-v2 .listing-head.offer-head{
  border-bottom-color:#202c32!important;
}

@media(max-width:760px){
  .mx-offers-v2 .offers-filter-bar{
    border-radius:14px;
    padding:12px;
  }

  /* Enough height to actually expose the 13 high-level groups.
     It remains scrollable on shorter phones. */
  .mx-offers-v2 .mx-select.mobile-open .mx-select-menu{
    max-height:min(72vh,650px)!important;
  }

  .mx-offers-v2 .mx-select-option{
    min-height:43px!important;
    padding:.64rem .72rem!important;
    font-size:14px!important;
  }
}


/* ==========================================================
   Consolidated mobile polish — Offers
   ========================================================== */
@media(max-width:760px){
  .mx-offers-v2 .listing-head.offer-head{
    min-height:0!important;
    padding:30px 0 24px!important;
  }
  .mx-offers-v2 .listing-head.offer-head .container{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  .mx-offers-v2 .listing-head.offer-head h1{
    margin:8px 0 10px!important;
  }
  .mx-offers-v2 .listing-head.offer-head p{
    margin:0!important;
    max-width:100%!important;
    line-height:1.45!important;
  }
  .mx-offers-v2 .offers-toolbar-section{
    padding-top:14px!important;
    padding-bottom:8px!important;
  }
  .mx-offers-v2 .offers-filter-bar{
    margin-top:0!important;
  }
  .mx-offers-v2 .offers-results-head{
    margin-top:14px!important;
  }
}

/* ==========================================================
   Mexora Offers — dark hero search + 4-up filter row
   ========================================================== */

/* Hero: copy on the left, dark search bar on the right */
.mx-offers-v2 .offer-head .offer-head-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.mx-offers-v2 .offer-head .offer-head-copy{min-width:0}
.mx-offers-v2 .offer-hero-search{flex:0 0 auto;width:min(420px,42vw);margin:0}

/* Dark pill search field built from Mexora tokens */
.mx-offers-v2 .offer-hero-search-field{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:6px 6px 6px 16px;
  border:1px solid #26343c;
  border-radius:999px;
  background:#0b1419;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.mx-offers-v2 .offer-hero-search-field:focus-within{
  border-color:#8a4256;
  box-shadow:0 0 0 3px rgba(231,109,141,.12);
}
.mx-offers-v2 .offer-hero-search-icon{
  width:17px;height:17px;flex:0 0 auto;
  fill:none;stroke:#7d8b93;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.mx-offers-v2 .offer-hero-search-field:focus-within .offer-hero-search-icon{stroke:#c99161}
.mx-offers-v2 .offer-hero-search input[type=search]{
  flex:1 1 auto;min-width:0;
  border:0;background:transparent;outline:none;
  color:#eef2f3;font-size:14.5px;
  padding:9px 0;
  -webkit-appearance:none;appearance:none;
}
.mx-offers-v2 .offer-hero-search input[type=search]::placeholder{color:#7d8b93}
.mx-offers-v2 .offer-hero-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.mx-offers-v2 .offer-hero-search-btn{
  flex:0 0 auto;
  border:0;border-radius:999px;cursor:pointer;
  padding:10px 20px;
  font-size:14px;font-weight:600;
  color:#1a0f14;
  background:linear-gradient(135deg,#d85e7b,#c99161);
  transition:filter .18s ease,transform .18s ease;
}
.mx-offers-v2 .offer-hero-search-btn:hover{filter:brightness(1.07)}
.mx-offers-v2 .offer-hero-search-btn:active{transform:translateY(1px)}
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* Four filters on a single row on desktop */
.mx-offers-v2 .offers-filter-bar{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

/* Localities with no offers stay visible but are not selectable */
.mx-offers-v2 .offers-filter-bar option[disabled]{
  color:#5d6b73;
  font-style:italic;
}

@media(max-width:1100px){
  .mx-offers-v2 .offer-head .offer-head-inner{
    flex-direction:column;
    align-items:stretch;
    gap:20px;
  }
  .mx-offers-v2 .offer-hero-search{width:100%}
}
@media(max-width:900px){
  .mx-offers-v2 .offers-filter-bar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .mx-offers-v2 .offers-filter-bar{
    grid-template-columns:1fr;
  }
  .mx-offers-v2 .offer-hero-search-btn{padding:10px 16px}
}


/* ==========================================================
   FIX - hero layout was collapsing (2026-09-26)
   The inline search svg had no intrinsic size, so it expanded to the
   container width and squared off (~1140x1140), pushing the input ~1200px
   down and making the whole hero look broken.
   ========================================================== */

/* 1. Pin the icon to a fixed box - never let it size from the container. */
.mx-offers-v2 .offer-head .offer-hero-search-field > svg.offer-hero-search-icon,
.mx-offers-v2 .offer-hero-search-icon{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  max-width:17px!important;
  min-height:17px!important;
  max-height:17px!important;
  flex:0 0 17px!important;
  display:block!important;
}

/* 2. Force the two-column hero row (copy left, search right). */
.mx-offers-v2 .offer-head > .container.offer-head-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:40px!important;
  /* the theme pads .container 50px on top of the section own 50px */
  padding-top:0!important;
  padding-bottom:0!important;
}
.mx-offers-v2 .offer-head .offer-head-copy{
  flex:1 1 auto!important;
  min-width:0!important;
}
.mx-offers-v2 .offer-head .offer-hero-search{
  flex:0 0 auto!important;
  width:min(420px,42%)!important;
  margin:0!important;
  display:block!important;
}
.mx-offers-v2 .offer-head .offer-hero-search-field{
  display:flex!important;
  align-items:center!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
}

/* 3. Keep any inline svg from stretching. */
.mx-offers-v2 .offer-head svg{max-width:100%}

@media(max-width:1100px){
  .mx-offers-v2 .offer-head > .container.offer-head-inner{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:18px!important;
  }
  .mx-offers-v2 .offer-head .offer-hero-search{width:100%!important}
}
