/* Theme values are supplied by EspaGlobal/Layouts/paritials/_design_variables.php */
.espa-search-tabs {
  --search-tab-accent: var(--espa-search-accent, var(--espa-primary, #ED1C24));
  --search-tab-ink: var(--espa-search-text, var(--espa-heading, #102A43));
  --search-tab-border: var(--espa-border, #d9e3e8);
  --search-tab-surface: var(--espa-surface, #fff);
  --search-tab-on-accent: var(--espa-button-text, #fff);
  position: relative; isolation: isolate; z-index: 8; width: 100%; min-width: 0; }
.espa-search-tabs__nav { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin: -16px 0 12px; position: relative; z-index: 3; }
.espa-search-tabs__tab { appearance: none; border: 1px solid var(--search-tab-border); border-radius: 999px; background: var(--search-tab-surface); color: var(--search-tab-ink); font-weight: 650; font-size: 13px; padding: 10px 17px; min-height: 42px; display:inline-flex; align-items:center; gap:8px; box-shadow: 0 5px 16px rgba(11,34,50,.12); cursor: pointer; transition: background .18s, color .18s, border-color .18s; }
.espa-search-tabs__tab:hover, .espa-search-tabs__tab:focus-visible { border-color: var(--search-tab-accent); outline-color: var(--search-tab-accent); }
.espa-search-tabs__tab.is-active { color: var(--search-tab-on-accent); background: var(--search-tab-accent); border-color: var(--search-tab-accent); box-shadow: 0 8px 22px color-mix(in srgb, var(--search-tab-accent) 30%, transparent); }
.espa-search-tabs__tab iconify-icon { font-size: 17px; }
.espa-search-tabs__pane[hidden] { display: none !important; }
.espa-search-tabs--multi .espa-tour-search__badge { display: none !important; }
.espa-villa-search-empty { background:var(--espa-surface,#fff); border:1px solid var(--espa-border,#e6edf0); border-radius:16px; min-height:85px; padding:24px; color:var(--espa-text,#475d69); display:flex; align-items:center; justify-content:center; gap:12px; font-size:14px; }
.espa-villa-search-empty iconify-icon, .espa-villa-search-empty i { font-size:23px; color:var(--search-tab-accent); }
@media(max-width:767.98px) {
  .espa-search-tabs__nav { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; padding:3px 2px 8px; margin:0 0 9px; scrollbar-width:thin; }
  .espa-search-tabs__tab { flex-shrink:0; padding:8px 12px; font-size:12px; min-height:38px; }
}

/* Prevent theme-specific button font/color rules from hiding configured icons. */
.espa-search-tabs__tab iconify-icon { display:inline-flex; width:18px; height:18px; flex:0 0 18px; color:inherit; vertical-align:middle; }


/* Unified search bar – tabs sit directly on the card, same for every product. */
.espa-search-tabs--multi { --search-card-bg: rgba(244,250,253,.88); }
.espa-search-tabs--multi .espa-search-tabs__nav {
  gap:8px; margin: -18px 0 -19px; padding:0 12px;
  position:relative; z-index:12; overflow:visible;
}
.espa-search-tabs--multi .espa-search-tabs__tab { min-height:43px; padding:9px 16px; border:3px solid rgba(255,255,255,.82); }
.espa-search-tabs--multi .espa-search-tabs__pane { position:relative; z-index:2; min-width:0; }
.espa-search-tabs--multi .espa-search-tabs__pane > .espa-tour-search {
  position:relative; inset:auto; left:auto; bottom:auto; transform:none;
  width:100%; max-width:none; margin:0;
}
.espa-search-tabs--multi .espa-tour-search__form,
.espa-search-tabs--multi .espa-hotel-search__form {
  background:var(--search-card-bg); border:1px solid rgba(255,255,255,.8);
  border-radius:22px; box-shadow:0 18px 44px rgba(15,23,42,.12);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  padding:39px 20px 19px;
}
.espa-search-tabs--multi .espa-hotel-search { max-width:none; width:100%; z-index:10; }
.espa-search-tabs--multi .espa-hotel-search__form {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1.05fr) minmax(170px,.78fr) minmax(125px,.43fr);
  gap:12px; align-items:end;
}
.espa-search-tabs--multi .espa-hotel-search__field { padding:0; border:0; }
.espa-search-tabs--multi .espa-hotel-search__field > label {
  margin:0 0 8px; font-size:12px; line-height:1.2; letter-spacing:0;
  font-weight:700; color:var(--search-tab-ink);
}
.espa-search-tabs--multi .espa-hotel-search__input-wrap,
.espa-search-tabs--multi .espa-hotel-search__date-controls,
.espa-search-tabs--multi .espa-hotel-search__guests-button {
  min-height:54px; height:54px; border:1px solid var(--hotel-border);
  border-radius:var(--espa-input-radius,12px); background:rgba(255,255,255,.96);
  padding:0 12px; box-shadow:0 4px 12px rgba(15,23,42,.03);
}
.espa-search-tabs--multi .espa-hotel-search__date-controls { gap:4px; }
.espa-search-tabs--multi .espa-hotel-search__date-button { gap:5px; }
.espa-search-tabs--multi .espa-hotel-search__date-button strong { font-size:12px; }
.espa-search-tabs--multi .espa-hotel-search__input-wrap input { font-size:14px; }
.espa-search-tabs--multi .espa-hotel-search__submit-wrap { padding:0; }
.espa-search-tabs--multi .espa-hotel-search__submit { min-height:54px; height:54px; border-radius:12px; }
.espa-search-tabs--multi .espa-hotel-search__input-wrap:focus-within,
.espa-search-tabs--multi .espa-hotel-search__date-controls:focus-within,
.espa-search-tabs--multi .espa-hotel-search__guests-button:focus-visible {
  border-color:var(--search-tab-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--search-tab-accent) 12%, transparent);
}
@media (max-width:991.98px) {
 .espa-search-tabs--multi .espa-hotel-search__form { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
 .espa-search-tabs--multi .espa-search-tabs__nav {
   justify-content:center; flex-wrap:nowrap; overflow-x:auto; max-width:100%;
   margin:-12px 0 -15px; padding:0 2px; scrollbar-width:none;
 }
 .espa-search-tabs--multi .espa-search-tabs__tab { min-height:39px; padding:7px 10px; font-size:11px; flex-shrink:0; }
 .espa-search-tabs--multi .espa-tour-search__form,
 .espa-search-tabs--multi .espa-hotel-search__form { padding:33px 12px 14px; border-radius:17px; }
 .espa-search-tabs--multi .espa-hotel-search__form { grid-template-columns:1fr; gap:10px; }
 .espa-search-tabs--multi .espa-hotel-search__field { border:0; padding:0; }
 .espa-search-tabs--multi .espa-hotel-search__submit { min-height:50px; height:50px; }
}
