:root{
  --mp-searchbar-accent:#6e0b14;
  --mp-searchbar-accent-strong:#5a0008;
  --mp-searchbar-accent-strong-rgb:90,0,8;
  --mp-searchbar-accent-highlight:#8f0f16;
  --mp-searchbar-accent-highlight-rgb:143,15,22;
  --mp-searchbar-gold-glow-rgb:196,154,88;
  --mp-searchbar-accent-soft:#f8ecee;
  --mp-searchbar-accent-soft-2:#fff2f3;
  --mp-searchbar-accent-soft-3:#fff8f8;
  --mp-searchbar-accent-panel:#fffdfc;
  --mp-searchbar-accent-border-soft:#d7c8cc;

  --mp-searchbar-white:#fff;
  --mp-searchbar-white-soft:rgba(255,255,255,.62);
  --mp-searchbar-white-stroke:rgba(255,255,255,.50);
  --mp-searchbar-panel-bg:rgba(255,255,255,.98);
  --mp-searchbar-panel-border:rgba(var(--mp-searchbar-accent-strong-rgb), .24);
  --mp-searchbar-panel-shadow-1:rgba(17,24,39,.16);
  --mp-searchbar-panel-shadow-2:rgba(17,24,39,.10);

  --mp-searchbar-text:var(--mp-ink, #1f2937);
  --mp-searchbar-text-rgb:31,41,55;
  --mp-searchbar-text-muted:#6b7280;
  --mp-searchbar-text-muted-rgb:107,114,128;
  --mp-searchbar-muted-text:#8a827d;
  --mp-searchbar-muted-bg:#f5f2ef;
  --mp-searchbar-muted-border:#ddd6d1;
  --mp-searchbar-disabled-bg:#d9d6d2;

  --mp-searchbar-field-primary-bg:rgba(var(--mp-searchbar-accent-strong-rgb), .05);
  --mp-searchbar-field-primary-border:rgba(var(--mp-searchbar-accent-strong-rgb), .08);
  --mp-searchbar-soft:var(--mp-soft, rgba(17,24,39,.04));
  --mp-searchbar-close-bg:rgba(17,24,39,.06);
  --mp-searchbar-card-border:rgba(17,24,39,.08);
  --mp-searchbar-card-border-strong:rgba(17,24,39,.10);
  --mp-searchbar-hover-border:rgba(var(--mp-searchbar-accent-strong-rgb), .22);
  --mp-searchbar-selected-ring:rgba(var(--mp-searchbar-accent-strong-rgb), .10);
  --mp-searchbar-divider:rgba(17,24,39,.08);

  --mp-searchbar-success:#617a4b;
  --mp-searchbar-success-rgb:97,122,75;
  --mp-searchbar-success-soft:#edf4e8;
  --mp-searchbar-success-border:#9db58a;
  --mp-searchbar-success-text:#3f5732;

  --mp-searchbar-shadow-button:0 10px 18px rgba(var(--mp-searchbar-accent-strong-rgb), .18);
  --mp-searchbar-shadow-button-strong:0 10px 22px rgba(var(--mp-searchbar-accent-strong-rgb), .18);
  --mp-searchbar-shadow-card-hover:0 14px 24px rgba(17,24,39,.07);
  --mp-searchbar-shadow-card-selected:0 14px 24px rgba(17,24,39,.08);
  --mp-searchbar-shadow-panel:
    0 24px 64px var(--mp-searchbar-panel-shadow-1),
    0 8px 24px var(--mp-searchbar-panel-shadow-2);

  --mp-searchbar-radius-shell:22px;
  --mp-searchbar-radius-field:16px;
  --mp-searchbar-radius-panel-lg:30px;
  --mp-searchbar-radius-panel-md:28px;
  --mp-searchbar-radius-panel-sm:24px;
  --mp-searchbar-radius-pill:999px;
  --mp-searchbar-radius-card:20px;
  --mp-searchbar-radius-chip:14px;
  --mp-searchbar-radius-soft:18px;

  --mp-searchbar-transition-fast:.16s ease;
  --mp-searchbar-transition-ui:.2s ease;
  --mp-searchbar-transition-button:.22s ease;
  --mp-searchbar-ready-flash-duration:4.2s;
}

/* =========================================================
   SEARCHBAR
   ========================================================= */

.mp-searchbar{
  position:relative;
  margin-bottom:24px;
  padding:14px;
  border:1px solid var(--mp-line, rgba(17,24,39,.10));
  border-radius:var(--mp-searchbar-radius-shell);
  background:var(--mp-searchbar-white);
  box-shadow:var(--mp-shadow-soft, 0 10px 25px var(--mp-searchbar-panel-shadow-2));
}

.mp-searchbar--search{
  position:sticky;
  top:calc(var(--mp-topbar-height) + 14px);
  z-index:20;
  transition:transform var(--mp-searchbar-transition-ui), box-shadow var(--mp-searchbar-transition-ui);
}

.mp-searchbar--search.is-compact{
  box-shadow:0 16px 34px rgba(17,24,39,.10);
}

.mp-searchbar__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr auto;
  gap:12px;
  align-items:stretch;
}

.mp-searchbar__field{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:72px;
  padding:14px 16px;
  border:0;
  border-radius:var(--mp-searchbar-radius-field);
  background:var(--mp-searchbar-soft);
  text-align:left;
  cursor:pointer;
}

.mp-searchbar__field--primary{
  background:var(--mp-searchbar-field-primary-bg);
  border:1px solid var(--mp-searchbar-field-primary-border);
}

.mp-searchbar__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  flex:0 0 auto;
  color:var(--mp-burgundy, var(--mp-searchbar-accent-strong));
  font-size:14px;
  line-height:1;
}

.mp-searchbar__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  min-width:0;
  flex:1 1 auto;
}

.mp-searchbar__label{
  display:block;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  color:var(--mp-searchbar-text-muted);
}

.mp-searchbar__value{
  display:block;
  min-width:0;
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  color:var(--mp-searchbar-text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.mp-searchbar__button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  border:0;
  border-radius:var(--mp-searchbar-radius-field);
  background:var(--mp-burgundy, var(--mp-searchbar-accent-strong));
  color:var(--mp-searchbar-white);
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  box-shadow:var(--mp-searchbar-shadow-button);
  transition:
    transform .18s ease,
    box-shadow var(--mp-searchbar-transition-button),
    filter var(--mp-searchbar-transition-button),
    background .35s ease,
    color var(--mp-searchbar-transition-button);
}

.mp-searchbar-popover-backdrop{
  position:fixed;
  inset:0;
  z-index:39;
  background:rgba(25,16,18,.10);
}

/* =========================================================
   POPOVERS BASE
   ========================================================= */

.mp-occasion-popover[hidden],
.mp-date-popover[hidden],
.mp-location-popover[hidden],
.mp-searchbar-popover-backdrop[hidden]{
  display:none;
}

.mp-occasion-popover,
.mp-date-popover,
.mp-location-popover{
  position:absolute;
  z-index:40;
}

.mp-occasion-popover,
.mp-date-popover{
  width:0;
  height:0;
}

.mp-occasion-popover__panel,
.mp-date-popover__panel,
.mp-location-popover__panel{
  background:var(--mp-searchbar-panel-bg);
  border:1px solid var(--mp-searchbar-panel-border);
  box-shadow:var(--mp-searchbar-shadow-panel);
  backdrop-filter:blur(12px);
}

.mp-occasion-popover__panel{
  width:min(980px, 94vw);
  padding:24px;
  border-radius:var(--mp-searchbar-radius-panel-lg);
}

.mp-date-popover__panel{
  width:min(760px, 92vw);
  padding:20px;
  border-radius:var(--mp-searchbar-radius-panel-md);
}

.mp-location-popover__panel{
  width:min(720px, 94vw);
  padding:24px 24px 22px;
  border-radius:var(--mp-searchbar-radius-panel-lg);
  background:var(--mp-searchbar-accent-panel);
}

.mp-occasion-popover__header,
.mp-date-popover__header,
.mp-location-popover__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}

.mp-location-popover__header{
  padding-bottom:16px;
  border-bottom:1px solid var(--mp-searchbar-field-primary-border);
}

.mp-occasion-popover__title,
.mp-date-popover__title,
.mp-location-popover__title{
  margin:0 0 6px;
  color:var(--mp-searchbar-text);
  line-height:1.2;
  font-weight:800;
}

.mp-occasion-popover__title,
.mp-location-popover__title{
  font-size:1.18rem;
}

.mp-date-popover__title{
  font-size:24px;
}

.mp-occasion-popover__help,
.mp-date-popover__help,
.mp-location-popover__help{
  margin:0;
  color:var(--mp-searchbar-text-muted);
  line-height:1.55;
}

.mp-occasion-popover__close,
.mp-date-popover__close,
.mp-location-popover__close{
  width:40px;
  height:40px;
  border:none;
  border-radius:var(--mp-searchbar-radius-pill);
  background:var(--mp-searchbar-close-bg);
  color:var(--mp-searchbar-text);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}

.mp-occasion-popover__section + .mp-occasion-popover__section,
.mp-location-popover__section + .mp-location-popover__section{
  margin-top:22px;
}

.mp-occasion-popover__section-title,
.mp-location-popover__section-title{
  margin:0 0 12px;
  color:var(--mp-searchbar-text-muted);
  font-size:.80rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* =========================================================
   OCCASION
   ========================================================= */

.mp-occasion-popover__help{
  font-size:.94rem;
  max-width:62ch;
}

.mp-occasion-popover__section--featured{
  padding:16px;
  border:1px solid var(--mp-searchbar-field-primary-border);
  border-radius:24px;
  background:linear-gradient(180deg, #fff9f9 0%, #fffdfd 100%);
}

.mp-occasion-popover__featured-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}

.mp-occasion-popover__evergreen-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:12px;
}

.mp-occasion-card{
  border:1px solid var(--mp-searchbar-card-border);
  border-radius:var(--mp-searchbar-radius-card);
  background:var(--mp-searchbar-white);
  color:var(--mp-searchbar-text);
  text-align:center;
  cursor:pointer;
  transition:all var(--mp-searchbar-transition-fast);
}

.mp-occasion-card:hover{
  border-color:var(--mp-searchbar-hover-border);
  box-shadow:var(--mp-searchbar-shadow-card-hover);
  transform:translateY(-1px);
}

.mp-occasion-card.is-selected{
  border-color:var(--mp-searchbar-accent-strong);
  background:linear-gradient(180deg, var(--mp-searchbar-accent-soft-3) 0%, var(--mp-searchbar-accent-soft-2) 100%);
  box-shadow:0 0 0 3px var(--mp-searchbar-selected-ring), var(--mp-searchbar-shadow-card-selected);
  transform:translateY(-1px);
}

.mp-occasion-card.is-selected .mp-occasion-card__label{
  color:var(--mp-searchbar-accent-strong);
}

.mp-occasion-card.is-selected .mp-occasion-card__icon{
  color:#7a1220;
}

.mp-occasion-card--featured,
.mp-occasion-card--evergreen{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.mp-occasion-card--featured{
  gap:9px;
  min-height:136px;
  padding:16px 12px 14px;
  border-width:1.2px;
}

.mp-occasion-card--evergreen{
  gap:10px;
  min-height:112px;
  padding:14px 10px;
}

.mp-occasion-card__icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  color:var(--mp-searchbar-accent-strong);
}

.mp-occasion-card__icon--featured{
  width:68px;
  height:68px;
  padding:11px;
  border-radius:20px;
  background:var(--mp-searchbar-white-soft);
  box-shadow:inset 0 0 0 1px var(--mp-searchbar-white-stroke);
}

.mp-occasion-svg{
  display:block;
  width:100%;
  height:100%;
  stroke-width:2;
}

.mp-occasion-card__label{
  display:block;
  font-size:.92rem;
  font-weight:800;
  line-height:1.25;
}

.mp-occasion-card__date{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:var(--mp-searchbar-radius-pill);
  background:rgba(var(--mp-searchbar-accent-strong-rgb), .07);
  color:#7a1220;
  font-size:.78rem;
  font-weight:700;
}

.mp-occasion-card--theme-rose{
  background:linear-gradient(180deg, #fff4f6 0%, #ffeef1 100%);
  border-color:rgba(172,63,102,.20);
}

.mp-occasion-card--theme-navy{
  background:linear-gradient(180deg, #f4f7ff 0%, #eef3ff 100%);
  border-color:rgba(64,92,160,.18);
}

.mp-occasion-card--theme-orange{
  background:linear-gradient(180deg, #fff5ea 0%, #ffefdf 100%);
  border-color:rgba(204,124,35,.22);
}

.mp-occasion-card--theme-gold{
  background:linear-gradient(180deg, #fff8eb 0%, #fff1d8 100%);
  border-color:rgba(184,139,47,.22);
}

.mp-occasion-card--featured.mp-occasion-card--theme-rose.is-selected{ background:linear-gradient(180deg, #ffeef2 0%, #ffe6eb 100%); }
.mp-occasion-card--featured.mp-occasion-card--theme-navy.is-selected{ background:linear-gradient(180deg, #edf3ff 0%, #e6eeff 100%); }
.mp-occasion-card--featured.mp-occasion-card--theme-orange.is-selected{ background:linear-gradient(180deg, #fff0df 0%, #ffe8d2 100%); }
.mp-occasion-card--featured.mp-occasion-card--theme-gold.is-selected{ background:linear-gradient(180deg, #fff4df 0%, #ffedd0 100%); }

/* =========================================================
   DATE
   ========================================================= */

.mp-date-popover__help{
  font-size:14px;
  line-height:1.6;
}

.mp-date-popover__context{
  margin:0 0 14px;
  padding:13px 15px;
  border:1px solid rgba(var(--mp-searchbar-accent-strong-rgb), .12);
  border-radius:16px;
  background:linear-gradient(180deg, var(--mp-searchbar-accent-soft-3) 0%, #fff2f4 100%);
  box-shadow:0 8px 18px rgba(17,24,39,.04);
}

.mp-date-popover__context-text{
  margin:0;
  color:#7a1220;
  font-size:.90rem;
  line-height:1.55;
  font-weight:600;
}

.mp-date-popover__context-text strong{
  color:var(--mp-searchbar-accent-strong);
  font-weight:800;
}

.mp-date-popover__legend{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 12px;
}

.mp-date-popover__legend-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--mp-searchbar-text-muted);
  font-size:.84rem;
  font-weight:600;
}

.mp-date-popover__legend-dot{
  display:inline-block;
  width:14px;
  height:14px;
  border-radius:var(--mp-searchbar-radius-pill);
}

.mp-date-popover__legend-dot--suggested{
  background:rgba(var(--mp-searchbar-accent-strong-rgb), .06);
  box-shadow:inset 0 0 0 2px rgba(var(--mp-searchbar-accent-strong-rgb), .18);
}

.mp-date-popover__months{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.mp-date-month{
  padding:18px;
  border:1px solid var(--mp-line, rgba(17,24,39,.10));
  border-radius:var(--mp-searchbar-radius-soft);
  background:var(--mp-searchbar-white);
}

.mp-date-month__title{
  margin:0 0 12px;
  color:var(--mp-ink, #1f2937);
  font-size:16px;
}

.mp-date-month__weekdays,
.mp-date-month__grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:8px;
}

.mp-date-month__weekdays{
  margin-bottom:10px;
  color:var(--mp-muted, #6b7280);
  font-size:12px;
  font-weight:700;
  text-align:center;
}

.mp-date-day{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1 / 1;
  border:1px solid transparent;
  border-radius:var(--mp-searchbar-radius-pill);
  background:var(--mp-searchbar-white);
  color:var(--mp-ink, #1f2937);
  cursor:pointer;
}

.mp-date-day__number{
  font-size:14px;
  font-weight:700;
}

.mp-date-day.is-important{ border-color:var(--mp-searchbar-hover-border); }
.mp-date-day.is-offset{ visibility:hidden; }

.mp-date-day.is-blocked{
  background:#f3f4f6;
  color:#9ca3af;
  cursor:not-allowed;
}

.mp-date-day.is-suggested{
  background:rgba(var(--mp-searchbar-accent-strong-rgb), .05);
  box-shadow:inset 0 0 0 2px rgba(var(--mp-searchbar-accent-strong-rgb), .16);
}

.mp-date-day.is-suggested:not(.is-selected):not(.is-blocked):hover{
  background:rgba(var(--mp-searchbar-accent-strong-rgb), .08);
}

.mp-date-day.is-selected{
  position:relative;
  z-index:1;
  background:var(--mp-burgundy, var(--mp-searchbar-accent-strong));
  color:var(--mp-searchbar-white);
}

.mp-date-day.is-selected.is-suggested{
  background:var(--mp-searchbar-accent-highlight);
  box-shadow:inset 0 0 0 2px var(--mp-searchbar-accent-strong), 0 8px 16px rgba(17,24,39,.08);
}

.mp-date-day.is-in-range{
  border-radius:14px;
  background:rgba(var(--mp-searchbar-accent-strong-rgb), .08);
  color:var(--mp-ink, #1f2937);
}

/* =========================================================
   LOCATION
   ========================================================= */

.mp-location-popover__help{
  max-width:52ch;
  font-size:.93rem;
}

.mp-location-mode-picker--horizontal,
.mp-location-communes-list,
.mp-location-popover__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.mp-location-mode-picker--horizontal{
  align-items:center;
  gap:12px;
}

.mp-location-mode-toggle,
.mp-location-commune-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:var(--mp-searchbar-radius-pill);
  font-size:14px;
  font-weight:600;
  cursor:pointer;
}

.mp-location-mode-toggle,
.mp-location-mode-toggle.is-active,
.mp-location-commune-toggle,
.mp-location-commune-toggle.is-active{
  border:1px solid var(--mp-searchbar-success-border);
  background:var(--mp-searchbar-success-soft);
  color:var(--mp-searchbar-success-text);
}

.mp-location-mode-toggle{
  justify-content:center;
  min-height:46px;
  padding:0 16px;
  transition:border-color var(--mp-searchbar-transition-ui), background var(--mp-searchbar-transition-ui), color var(--mp-searchbar-transition-ui), box-shadow var(--mp-searchbar-transition-ui);
}

.mp-location-commune-toggle{
  min-height:42px;
  padding:0 14px;
  transition:border-color var(--mp-searchbar-transition-ui), background var(--mp-searchbar-transition-ui), color var(--mp-searchbar-transition-ui), box-shadow var(--mp-searchbar-transition-ui);
}

.mp-location-mode-toggle.is-inactive,
.mp-location-commune-toggle.is-blocked{
  border-color:var(--mp-searchbar-muted-border);
  background:var(--mp-searchbar-muted-bg);
  color:var(--mp-searchbar-muted-text);
}

.mp-location-mode-toggle.is-active,
.mp-location-commune-toggle.is-active{
  box-shadow:0 0 0 2px rgba(79,138,63,.08);
}

.mp-location-mode__icon{
  display:inline-flex;
  width:18px;
  height:18px;
  flex:0 0 18px;
}

.mp-location-mode__icon svg{
  display:block;
  width:100%;
  height:100%;
}

.mp-location-mode__label,
.mp-location-mode-toggle__end,
.mp-location-commune-toggle__label,
.mp-location-commune-toggle__icon{
  line-height:1;
}

.mp-location-zone-grid,
.mp-location-popover__zones{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

.mp-location-zone{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:106px;
  padding:16px 14px;
  border:1px solid var(--mp-searchbar-card-border-strong);
  border-radius:var(--mp-searchbar-radius-card);
  background:var(--mp-searchbar-white);
  color:var(--mp-searchbar-text);
  text-align:center;
  cursor:pointer;
  transition:all var(--mp-searchbar-transition-fast);
}

.mp-location-zone:hover{
  border-color:var(--mp-searchbar-success-border);
  box-shadow:0 12px 22px rgba(17,24,39,.06);
  transform:translateY(-1px);
}

.mp-location-zone.is-active{
  border-color:var(--mp-searchbar-success-border);
  background:var(--mp-searchbar-success-soft);
  color:var(--mp-searchbar-success-text);
  box-shadow:0 0 0 3px rgba(var(--mp-searchbar-success-rgb), .08);
}

.mp-location-zone__icon{
  font-size:1.35rem;
  line-height:1;
}

.mp-location-zone__label{
  font-size:.90rem;
  font-weight:800;
  line-height:1.25;
}

.mp-location-popover__empty{
  margin:0;
  color:var(--mp-searchbar-text-muted);
  line-height:1.5;
}

.mp-location-popover__notice{
  padding:10px 12px;
  border:1px solid rgba(var(--mp-searchbar-success-rgb), .22);
  border-radius:12px;
  background:rgba(237,244,232,.92);
  color:var(--mp-searchbar-success-text);
  font-size:.88rem;
  font-weight:600;
}

.mp-location-popover__notice--top{
  margin:0 0 16px;
}

.mp-location-popover__notice--communes{
  margin:0 0 10px;
}

/* =========================================================
   FOOTERS / CONTINUAR
   ========================================================= */

.mp-date-popover__footer,
.mp-location-popover__footer{
  display:flex;
  justify-content:flex-end;
  border-top:1px solid var(--mp-searchbar-divider);
}

.mp-date-popover__footer{
  margin-top:18px;
  padding-top:14px;
}

.mp-location-popover__footer{
  margin-top:20px;
  padding-top:16px;
}

.mp-date-popover__continue,
.mp-location-popover__continue{
  min-width:148px;
  min-height:44px;
  padding:0 18px;
  border:0;
  border-radius:var(--mp-searchbar-radius-chip);
  background:var(--mp-searchbar-disabled-bg);
  color:var(--mp-searchbar-muted-text);
  font-size:14px;
  font-weight:800;
  cursor:not-allowed;
  transition:background var(--mp-searchbar-transition-ui), color var(--mp-searchbar-transition-ui), box-shadow var(--mp-searchbar-transition-ui);
}

.mp-date-popover__continue.is-active,
.mp-location-popover__continue.is-active{
  background:var(--mp-burgundy, var(--mp-searchbar-accent-strong));
  color:var(--mp-searchbar-white);
  cursor:pointer;
  box-shadow:var(--mp-searchbar-shadow-button);
}

.mp-date-popover__continue:disabled,
.mp-location-popover__continue:disabled{
  opacity:1;
}

/* =========================================================
   READY FLASH / GLOW BOTON BUSCAR
   ========================================================= */

.mp-searchbar__button.is-ready-flash{
  animation:mpSearchbarReadyFlash var(--mp-searchbar-ready-flash-duration) ease-out;
}

@keyframes mpSearchbarReadyFlash{
  0%{
    transform:translateY(0) scale(1);
    background:var(--mp-burgundy, var(--mp-searchbar-accent-strong));
    color:var(--mp-searchbar-white);
    box-shadow:var(--mp-searchbar-shadow-button);
    filter:brightness(1);
  }

  10%{
    transform:translateY(-1px) scale(1.009);
    background:#6a0f1a;
    color:var(--mp-searchbar-white);
    box-shadow:
      0 15px 28px rgba(var(--mp-searchbar-accent-strong-rgb), .24),
      0 0 0 8px rgba(var(--mp-searchbar-accent-highlight-rgb), .13),
      0 0 20px rgba(var(--mp-searchbar-accent-highlight-rgb), .18),
      0 0 42px rgba(var(--mp-searchbar-gold-glow-rgb), .26);
    filter:brightness(1.05);
  }

  20%{
    transform:translateY(0) scale(1);
    background:#62101a;
    color:var(--mp-searchbar-white);
    box-shadow:
      0 12px 22px rgba(var(--mp-searchbar-accent-strong-rgb), .20),
      0 0 0 4px rgba(var(--mp-searchbar-accent-highlight-rgb), .07),
      0 0 14px rgba(var(--mp-searchbar-accent-highlight-rgb), .12),
      0 0 24px rgba(var(--mp-searchbar-gold-glow-rgb), .13);
    filter:brightness(1.02);
  }

  38%{
    transform:translateY(-1px) scale(1.01);
    background:#741522;
    color:var(--mp-searchbar-white);
    box-shadow:
      0 17px 31px rgba(var(--mp-searchbar-accent-strong-rgb), .25),
      0 0 0 8px rgba(var(--mp-searchbar-accent-highlight-rgb), .13),
      0 0 22px rgba(var(--mp-searchbar-accent-highlight-rgb), .19),
      0 0 40px rgba(var(--mp-searchbar-gold-glow-rgb), .24);
    filter:brightness(1.06);
  }

  50%{
    transform:translateY(0) scale(1);
    background:#67111c;
    color:var(--mp-searchbar-white);
    box-shadow:
      0 12px 22px rgba(var(--mp-searchbar-accent-strong-rgb), .21),
      0 0 0 4px rgba(var(--mp-searchbar-accent-highlight-rgb), .07),
      0 0 14px rgba(var(--mp-searchbar-accent-highlight-rgb), .12),
      0 0 24px rgba(var(--mp-searchbar-gold-glow-rgb), .13);
    filter:brightness(1.02);
  }

  68%{
    transform:translateY(-1px) scale(1.011);
    background:#7b1927;
    color:var(--mp-searchbar-white);
    box-shadow:
      0 18px 34px rgba(var(--mp-searchbar-accent-strong-rgb), .26),
      0 0 0 8px rgba(var(--mp-searchbar-accent-highlight-rgb), .13),
      0 0 24px rgba(var(--mp-searchbar-accent-highlight-rgb), .20),
      0 0 42px rgba(var(--mp-searchbar-gold-glow-rgb), .26);
    filter:brightness(1.07);
  }

  82%{
    transform:translateY(0) scale(1);
    background:#62101a;
    color:var(--mp-searchbar-white);
    box-shadow:
      0 12px 22px rgba(var(--mp-searchbar-accent-strong-rgb), .20),
      0 0 0 3px rgba(var(--mp-searchbar-accent-highlight-rgb), .06),
      0 0 12px rgba(var(--mp-searchbar-accent-highlight-rgb), .10),
      0 0 20px rgba(var(--mp-searchbar-gold-glow-rgb), .10);
    filter:brightness(1.01);
  }

  88%{
    transform:translateY(0) scale(1);
    background:#5f0e17;
    color:var(--mp-searchbar-white);
    box-shadow:
      0 11px 20px rgba(var(--mp-searchbar-accent-strong-rgb), .19),
      0 0 0 2px rgba(var(--mp-searchbar-accent-highlight-rgb), .04),
      0 0 10px rgba(var(--mp-searchbar-accent-highlight-rgb), .07),
      0 0 14px rgba(var(--mp-searchbar-gold-glow-rgb), .07);
    filter:brightness(1.008);
  }

  93%{
    transform:translateY(0) scale(1);
    background:#5c0b12;
    color:var(--mp-searchbar-white);
    box-shadow:
      0 10px 19px rgba(var(--mp-searchbar-accent-strong-rgb), .185),
      0 0 0 1px rgba(var(--mp-searchbar-accent-highlight-rgb), .03),
      0 0 7px rgba(var(--mp-searchbar-accent-highlight-rgb), .055),
      0 0 10px rgba(var(--mp-searchbar-gold-glow-rgb), .05);
    filter:brightness(1.004);
  }

  97%,
  100%{
    transform:translateY(0) scale(1);
    background:var(--mp-burgundy, var(--mp-searchbar-accent-strong));
    color:var(--mp-searchbar-white);
    box-shadow:var(--mp-searchbar-shadow-button);
    filter:brightness(1);
  }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px){
  .mp-searchbar__grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .mp-occasion-popover__evergreen-grid{ grid-template-columns:repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 1080px){
  .mp-location-popover__zones{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px){
  .mp-searchbar__grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .mp-searchbar__button{ min-height:60px; }
  .mp-location-zone-grid,
  .mp-occasion-popover__featured-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .mp-occasion-popover__evergreen-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 860px){
  .mp-date-popover{ width:100%; }
  .mp-date-popover__months{ grid-template-columns:1fr; }
}

@media (max-width: 760px){
  .mp-occasion-popover__panel{
    width:min(100vw - 24px, 100vw);
    padding:18px;
    border-radius:var(--mp-searchbar-radius-panel-sm);
  }

  .mp-occasion-popover__featured-grid{ grid-template-columns:1fr; }
  .mp-occasion-popover__evergreen-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px){
  .mp-searchbar{
    padding:10px;
    border-radius:18px;
  }

  .mp-searchbar__grid{ grid-template-columns:1fr; }

  .mp-searchbar__field,
  .mp-searchbar__button{ min-height:56px; }

  .mp-location-popover__panel,
  .mp-date-popover__panel,
  .mp-occasion-popover__panel{
    width:min(96vw, 96vw);
  }

  .mp-location-zone-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 640px){
  .mp-location-popover{
    left:0 !important;
    right:0;
  }

  .mp-location-popover__panel{
    width:min(100vw - 24px, 100vw);
    padding:18px;
    border-radius:22px;
  }

  .mp-location-popover__zones{ grid-template-columns:1fr; }
}




/* =========================================================
   O12.2 — Searchbar / Location Popover / Emergency Expansion
   Patch visual compatible con contrato O12.1
   ========================================================= */

/* ---------- Popover base ---------- */

.mp-location-popover {
  position: absolute;
  z-index: 60;
  min-width: 720px;
  max-width: 820px;
  width: min(820px, calc(100vw - 32px));
}

.mp-location-popover[hidden] {
  display: none !important;
}

.mp-location-popover__panel {
  background: #ffffff;
  border: 1px solid rgba(122, 95, 74, 0.14);
  border-radius: 24px;
  box-shadow:
    0 22px 60px rgba(47, 36, 28, 0.18),
    0 6px 20px rgba(47, 36, 28, 0.08);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  overflow: hidden;
}

.mp-searchbar-popover-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(28, 20, 15, 0.18);
  backdrop-filter: blur(2px);
}

/* ---------- Header ---------- */

.mp-location-popover__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 4px;
}

.mp-location-popover__title {
  margin: 0;
  font-size: 1.32rem;
  line-height: 1.2;
  font-weight: 700;
  color: #2f241c;
}

.mp-location-popover__help {
  margin: 8px 0 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #6b5b50;
  max-width: 60ch;
}

.mp-location-popover__close {
  border: 0;
  background: #f6f1ec;
  color: #6b4e3d;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 1.3rem;
  line-height: 1;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.mp-location-popover__close:hover {
  background: #efe5dc;
  color: #4d3527;
  transform: scale(1.03);
}

.mp-location-popover__current {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.mp-location-popover__current-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f7efe8;
  color: #6f4630;
  font-size: 0.86rem;
  font-weight: 600;
  border: 1px solid rgba(111, 70, 48, 0.12);
}

/* ---------- Sections ---------- */

.mp-location-popover__section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mp-location-popover__section + .mp-location-popover__section {
  padding-top: 4px;
  border-top: 1px solid rgba(122, 95, 74, 0.10);
}

.mp-location-popover__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.mp-location-popover__section-title {
  margin: 0;
  font-size: 0.96rem;
  font-weight: 700;
  color: #2f241c;
}

.mp-location-popover__section-meta {
  font-size: 0.82rem;
  color: #8b7666;
}

/* ---------- Notices ---------- */

.mp-location-popover__notice {
  margin: 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: #fff7e8;
  color: #8a5b11;
  border: 1px solid rgba(196, 142, 36, 0.18);
  font-size: 0.88rem;
  line-height: 1.35;
}

.mp-location-popover__notice--top {
  margin-bottom: 2px;
}

.mp-location-popover__notice--communes {
  margin-bottom: 4px;
}

/* ---------- Generic chips rows ---------- */

.mp-location-popover__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/*.mp-location-popover__chips--selected {
  gap: 8px;
}*/

/* ---------- Modes ---------- */

.mp-location-mode-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.mp-location-mode-picker--horizontal {
  flex-direction: row;
}

.mp-location-mode-toggle {
  appearance: none;
  border: 1px solid rgba(122, 95, 74, 0.16);
  background: #fcfaf8;
  color: #4b3a2d;
  border-radius: 18px;
  min-height: 52px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.mp-location-mode-toggle:hover {
  background: #f7efe8;
  border-color: rgba(122, 95, 74, 0.28);
  transform: translateY(-1px);
}

.mp-location-mode-toggle.is-inactive {
  opacity: 0.92;
}

.mp-location-mode-toggle__end {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  font-size: 0.92rem;
  line-height: 1;
}

.mp-location-mode__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mp-location-mode__label {
  white-space: nowrap;
}

/* ---------- Zones ---------- */

.mp-location-popover__zones {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.mp-location-zone {
  appearance: none;
  border: 1px solid rgba(122, 95, 74, 0.14);
  background: #fff;
  border-radius: 18px;
  min-height: 72px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease,
    background 0.18s ease;
}

.mp-location-zone:hover {
  background: #fcfaf8;
  border-color: rgba(111, 70, 48, 0.24);
  box-shadow: 0 8px 18px rgba(47, 36, 28, 0.06);
  transform: translateY(-1px);
}

.mp-location-zone.is-active {
  background: #f8efe8;
  border-color: rgba(111, 70, 48, 0.34);
  box-shadow: 0 10px 24px rgba(111, 70, 48, 0.10);
}

.mp-location-zone__icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #f4ece6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.mp-location-zone__label {
  font-size: 0.92rem;
  line-height: 1.3;
  font-weight: 600;
  color: #2f241c;
}

/* ---------- Nearby commune toggles ---------- */

.mp-location-commune-toggle {
  appearance: none;
  border: 1px solid rgba(122, 95, 74, 0.13);
  background: #fff;
  color: #3f3127;
  border-radius: 16px;
  min-height: 46px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font: inherit;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.mp-location-commune-toggle:hover {
  background: #fcfaf8;
  border-color: rgba(111, 70, 48, 0.22);
  transform: translateY(-1px);
}

.mp-location-commune-toggle.is-active {
  background: #6f4630;
  border-color: #6f4630;
  color: #fffaf7;
}

.mp-location-commune-toggle__label {
  font-size: 0.9rem;
  font-weight: 600;
}

.mp-location-commune-toggle__count {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f3ede8;
  color: #7a6556;
  font-size: 0.76rem;
  font-weight: 700;
}

.mp-location-commune-toggle.is-active .mp-location-commune-toggle__count {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.mp-location-commune-toggle__icon {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f3ede8;
  color: #7a6556;
  font-size: 0.88rem;
  line-height: 1;
}

.mp-location-commune-toggle.is-active .mp-location-commune-toggle__icon {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}


/* ---------- Footer ---------- */

.mp-location-popover__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 6px;
  border-top: 1px solid rgba(122, 95, 74, 0.10);
}

.mp-location-popover__clear,
.mp-location-popover__continue {
  appearance: none;
  border: 0;
  border-radius: 16px;
  min-height: 46px;
  padding: 0 18px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition:
    background 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease,
    opacity 0.18s ease,
    box-shadow 0.18s ease;
}

.mp-location-popover__clear {
  background: #f3ede8;
  color: #6b4e3d;
}

.mp-location-popover__clear:hover {
  background: #ede3da;
}

.mp-location-popover__continue {
  background: #d8c6b8;
  color: #fff;
  opacity: 0.7;
  cursor: not-allowed;
}

.mp-location-popover__continue.is-active,
.mp-location-popover__continue:not(:disabled) {
  background: #6f4630;
  color: #fff9f6;
  opacity: 1;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(111, 70, 48, 0.18);
}

.mp-location-popover__continue.is-active:hover,
.mp-location-popover__continue:not(:disabled):hover {
  transform: translateY(-1px);
}

/* ---------- Search emergency expansion ---------- */

.search-emergency-expansion {
  margin-top: 28px;
  padding: 22px;
  border-radius: 24px;
  background: linear-gradient(180deg, #fff9f4 0%, #fff 100%);
  border: 1px solid rgba(122, 95, 74, 0.12);
  box-shadow: 0 14px 34px rgba(47, 36, 28, 0.06);
}

.search-emergency-expansion__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.search-emergency-expansion__title {
  margin: 0 0 6px;
  font-size: 1.1rem;
  line-height: 1.25;
  font-weight: 700;
  color: #2f241c;
}

.search-emergency-expansion__text {
  margin: 0;
  color: #6f5e52;
  line-height: 1.5;
}

.search-emergency-expansion__meta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f6ece3;
  color: #7a5037;
  font-size: 0.84rem;
  font-weight: 700;
}

.search-related-bakeries--emergency {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(122, 95, 74, 0.10);
}

/* ---------- Responsive ---------- */

@media (max-width: 980px) {
  .mp-location-popover {
    min-width: 0;
    width: min(100vw - 24px, 760px);
  }

  .mp-location-popover__zones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .mp-location-popover {
    position: fixed;
    left: 12px !important;
    right: 12px;
    top: auto !important;
    bottom: 12px;
    width: auto;
    max-width: none;
  }

  .mp-location-popover__panel {
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    border-radius: 22px;
    padding: 18px;
    gap: 18px;
  }

  .mp-location-popover__zones {
    grid-template-columns: 1fr;
  }

  .mp-location-popover__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .mp-location-popover__clear,
  .mp-location-popover__continue {
    width: 100%;
  }

  .search-emergency-expansion {
    padding: 18px;
    border-radius: 20px;
  }

  .search-emergency-expansion__header {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ===== Ajustes finos O12.2-B ===== */

/* 1) Volver a burdeos */
/*.mp-location-mode-toggle.is-active {
  border: 1px solid rgba(163, 13, 24, 0.5);
  background: rgba(163, 13, 24, 0.10);
  color: #8f0b14;
  box-shadow: none;
}*/

.mp-location-zone.is-active {
  background: #f9ecee;
  border-color: rgba(163, 13, 24, 0.28);
  box-shadow: 0 10px 24px rgba(163, 13, 24, 0.10);
}

.mp-location-popover__continue.is-active,
.mp-location-popover__continue:not(:disabled) {
  background: #a30d18;
  color: #fff8f7;
  box-shadow: 0 12px 24px rgba(163, 13, 24, 0.18);
}

/* 2) Zonas en una línea hasta 5 */
.mp-location-popover__zones {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.mp-location-zone {
  min-height: 82px;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  gap: 10px;
  padding: 14px 10px;
}

.mp-location-zone__icon {
  margin: 0 auto;
}

.mp-location-zone__label {
  text-align: center;
  font-size: 0.9rem;
}

/* 3) Si no caben, bajan solas a segunda línea */
@media (max-width: 1180px) {
  .mp-location-popover__zones {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .mp-location-popover__zones {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .mp-location-popover__zones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 4) Comunas visibles y más claras */
.mp-location-popover__section-head {
  margin-bottom: 2px;
}

.mp-location-commune-toggle {
  border-radius: 999px;
  min-height: 40px;
  padding: 0 12px;
}

.mp-location-commune-toggle.is-active {
  background: #a30d18;
  border-color: #a30d18;
  color: #fff8f7;
}

.mp-location-commune-toggle__count {
  background: #f3e6e8;
  color: #8c0f18;
}

.mp-location-commune-toggle.is-active .mp-location-commune-toggle__count {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.mp-location-commune-toggle__icon {
  background: #f3e6e8;
  color: #8c0f18;
}

.mp-location-commune-toggle.is-active .mp-location-commune-toggle__icon {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* Comunas — ajuste visual final */

.mp-location-commune-toggle {
  border: 2px solid #d8d2cd;
  background: #f3f1ef;
  color: #5f5751;
  transition: none;
  transform: none;
  box-shadow: none;
}

.mp-location-commune-toggle:hover {
  border-color: #d8d2cd;
  background: #f3f1ef;
  color: #5f5751;
  transform: none;
  box-shadow: none;
}

.mp-location-commune-toggle.is-active {
  border: 1px solid rgba(163, 13, 24, 0.5);
  background: rgba(163, 13, 24, 0.10);
  color: #8f0b14;
  box-shadow: none;
}

.mp-location-commune-toggle__icon {
  background: rgba(0, 0, 0, 0.06);
  color: #7a736d;
}

.mp-location-commune-toggle.is-active .mp-location-commune-toggle__icon {
  background: rgba(163, 13, 24, 0.14);
  color: #8f0b14;
}

.mp-location-commune-toggle__count {
  background: rgba(0, 0, 0, 0.06);
  color: #7a736d;
}

.mp-location-commune-toggle.is-active .mp-location-commune-toggle__count {
  background: rgba(163, 13, 24, 0.14);
  color: #8f0b14;
}