/* ==========================================================================
   TRIPLOOM V15.4.20 · CANONICAL SEARCH SYSTEM
   One visual owner for all user-facing search clusters.
   Reference: single rounded outer shell, search icon on the left, frameless
   text input inside. This deliberately outranks Form Control v15186 so its
   .tl-form-control-v15186 class cannot draw a second inner frame.
   ========================================================================== */
:root{
  --tls-bg:#FFFFFF;
  --tls-border:#C6E5E3;
  --tls-border-hover:#A7DCD8;
  --tls-border-focus:#43C8BE;
  --tls-ink:#476171;
  --tls-muted:#8EA1AB;
  --tls-icon:#7E98A5;
  --tls-radius:14px;
  --tls-height:44px;
  --tls-shadow:0 4px 12px rgba(25,52,70,.035),inset 0 1px 0 rgba(255,255,255,.95);
  --tls-focus:0 0 0 3px rgba(67,200,190,.10),0 7px 18px rgba(25,52,70,.05);
}

/* Search shell families currently used across TRIPLOOM. */
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search){
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  min-height:var(--tls-height)!important;
  height:var(--tls-height)!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid var(--tls-border)!important;
  border-radius:var(--tls-radius)!important;
  outline:0!important;
  background:var(--tls-bg)!important;
  background-image:none!important;
  box-shadow:var(--tls-shadow)!important;
  filter:none!important;
  overflow:hidden!important;
  transition:border-color .16s ease,box-shadow .16s ease!important;
}
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search):hover{
  border-color:var(--tls-border-hover)!important;
}
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search):focus-within{
  border-color:var(--tls-border-focus)!important;
  background:#fff!important;
  box-shadow:var(--tls-focus)!important;
}

/* Remove decorative shells/pseudo layers from older search implementations. */
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search)::before,
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search)::after{
  content:none!important;
  display:none!important;
}

/* Icon: flat, no separate circle or framed tile. */
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-icon-v15146,.search-box>svg,.journey-place-search-v142748>svg,.places-wow-search-v15117>svg,.modal-search>svg,.big-search>svg){
  box-sizing:border-box!important;
  position:static!important;
  flex:0 0 18px!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0 10px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--tls-icon)!important;
  opacity:1!important;
  transform:none!important;
}
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-icon-v15146,.search-box>svg,.journey-place-search-v142748>svg,.places-wow-search-v15117>svg,.modal-search>svg,.big-search>svg) svg{
  width:15px!important;height:15px!important;stroke:currentColor!important;fill:none!important;
}

/* Critical fix: inner text control is ALWAYS frameless, even after v15186 JS
   adds .tl-form-control-v15186. 14 fake IDs outrank its 12-ID selector. */
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search)
> input:not([type="hidden"]),
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search)
> .triploom-search-input-v15146{
  box-sizing:border-box!important;
  position:static!important;
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  height:42px!important;
  max-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  border-color:transparent!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  color:var(--tls-ink)!important;
  -webkit-text-fill-color:var(--tls-ink)!important;
  font:700 13px/42px Nunito,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;
  transform:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search)
> input:not([type="hidden"]):focus,
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search)
> .triploom-search-input-v15146:focus{
  border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;
}
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search)
> input:not([type="hidden"])::placeholder,
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
:is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search)
> .triploom-search-input-v15146::placeholder{
  color:var(--tls-muted)!important;-webkit-text-fill-color:var(--tls-muted)!important;opacity:1!important;
}

/* Search clear button stays discreet inside the same shell. */
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
.triploom-search-v15146>.triploom-search-clear-v15146{
  flex:0 0 28px!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;margin:0 0 0 6px!important;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#879AA5!important;box-shadow:none!important;
}

/* Search page keeps its submit action but shares the same outer search shell. */
html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
.big-search>.big-search-submit-v142775{
  flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin:0 0 0 8px!important;padding:0!important;border-radius:11px!important;
}

/* Booking filter: search and selects use matching geometry. */
html body[data-page="trip"] .trip-booking-filter-form-v15411{
  display:grid!important;grid-template-columns:minmax(320px,1.45fr) repeat(4,minmax(165px,1fr))!important;gap:10px!important;align-items:center!important;width:100%!important;min-width:0!important;margin:0!important;padding:8px!important;border:1px solid rgba(67,200,190,.10)!important;border-radius:18px!important;background:rgba(244,252,251,.72)!important;box-shadow:0 10px 26px rgba(25,52,70,.045),inset 0 1px 0 rgba(255,255,255,.82)!important;box-sizing:border-box!important;
}
html body[data-page="trip"] .trip-booking-filter-form-v15411>input[type="hidden"]{display:none!important;}
html body[data-page="trip"] .trip-booking-filter-form-v15411>.triploom-search-v15146{width:100%!important;min-width:0!important;max-width:none!important;}
html body[data-page="trip"] .trip-booking-filter-form-v15411>:is(select.trip-booking-native-filter-v15416,.tl-form-select-host-v15186,.triploom-select-v1565){width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;height:44px!important;min-height:44px!important;box-sizing:border-box!important;}
html body[data-page="trip"] .trip-booking-filter-form-v15411>:is(.tl-form-select-host-v15186,.triploom-select-v1565)>:is(.tl-form-select-trigger-v15186,.triploom-select-trigger-v1565),
html body[data-page="trip"] .trip-booking-filter-form-v15411>select.trip-booking-native-filter-v15416{
  width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:0 34px 0 14px!important;border:1px solid var(--tls-border)!important;border-radius:var(--tls-radius)!important;background:#fff!important;box-shadow:var(--tls-shadow)!important;color:#355163!important;font:800 13px/44px Nunito,system-ui,sans-serif!important;box-sizing:border-box!important;
}

@media(max-width:1180px){
  html body[data-page="trip"] .trip-booking-filter-form-v15411{grid-template-columns:minmax(240px,1.3fr) repeat(2,minmax(150px,1fr))!important;}
  html body[data-page="trip"] .trip-booking-filter-form-v15411>.triploom-search-v15146{grid-column:1/-1!important;}
}
@media(max-width:768px){
  html body[data-page="trip"] .trip-booking-filter-form-v15411{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  html body[data-page="trip"] .trip-booking-filter-form-v15411>.triploom-search-v15146{grid-column:1/-1!important;}
}
@media(max-width:520px){
  html body[data-page="trip"] .trip-booking-filter-form-v15411{grid-template-columns:1fr!important;padding:7px!important;}
  html body:not(#tls01):not(#tls02):not(#tls03):not(#tls04):not(#tls05):not(#tls06):not(#tls07):not(#tls08):not(#tls09):not(#tls10):not(#tls11):not(#tls12):not(#tls13):not(#tls14)
  :is(.triploom-search-v15146,.search-box,.journey-place-search-v142748,.places-wow-search-v15117,.modal-search,.big-search){height:42px!important;min-height:42px!important;border-radius:13px!important;}
}
