.elementor-241 .elementor-element.elementor-element-b74dda5{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-1531018{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-Wprentals_Advanced_Search .advanced_search_shortcode .shortcode_title_adv{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-241 .elementor-element.elementor-element-e493efc .advanced_search_shortcode .shortcode_title_adv{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-241 .elementor-element.elementor-element-e493efc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-241 .elementor-element.elementor-element-41514c2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-3884957{--display:flex;}.elementor-widget-Wprentals_Recent_Items_v3 .category_name .listing_title_unit{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-Wprentals_Recent_Items_v3 .category_tagline  ,.elementor-widget-Wprentals_Recent_Items_v3 .category_tagline a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-Wprentals_Recent_Items_v3 .price_unit ,.elementor-widget-Wprentals_Recent_Items_v3 .pernight{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-241 .elementor-element.elementor-element-31dde19 .category_tagline.map_icon:after,.elementor-241 .elementor-element.elementor-element-31dde19 .category_tagline.actions_icon:after,.custom_listing_data i{font-size:16px;}.elementor-241 .elementor-element.elementor-element-f932afe{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-6fb8dd7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-0f8c6f7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-9fe3e30{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-db1795b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-0a7f4f8{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-241 .elementor-element.elementor-element-31dde19 .category_tagline.map_icon:after,.elementor-241 .elementor-element.elementor-element-31dde19 .category_tagline.actions_icon:after,.custom_listing_data i{font-size:16px;}}@media(max-width:767px){.elementor-241 .elementor-element.elementor-element-31dde19 .category_tagline.map_icon:after,.elementor-241 .elementor-element.elementor-element-31dde19 .category_tagline.actions_icon:after,.custom_listing_data i{font-size:16px;}}/* Start custom CSS for Wprentals_Advanced_Search, class: .elementor-element-e493efc *//* ============================================================
   SERVICEDAPARTMENT.DE – HERO + PREMIUM SUCHLEISTE (FINAL SVG)
============================================================ */

/* =============================
   HERO
============================= */
.hero-area {
  position: relative;
  padding-bottom: 180px !important;
  z-index: 1;
}

.hero-area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    1100px 650px at 50% 0%,
    #ffffff 0%,
    #edf2ff 45%,
    #e5ebf8 100%
  );
  z-index: -1;
}



/* =============================
   SEARCH CONTAINER (HINTERGRUND WIE HEADER)
============================= */
/* =============================
   SEARCH CONTAINER (HINTERGRUND WIE HEADER + POSITION FIX)
============================= */
.advanced_search_shortcode{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  /* WICHTIG: zieht die Suchleiste wieder in den Hero rein */
  margin: -120px auto 0 !important;

  display: flex !important;
  justify-content: center !important;
  width: 100% !important;

  z-index: 3 !important;
  position: relative !important;
  padding: 0 !important;
}

/* identischer Verlauf wie dein Header (.hero-wp::before) */
.advanced_search_shortcode::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(
    1100px 650px at 50% 0%,
    #ffffff 0%,
    #edf2ff 45%,
    #e5ebf8 100%
  ) !important;
  z-index: -1 !important;
  pointer-events: none !important;
}


/* Extended Options aus */
.adv_extended_options_text,
.adv_extended_options_text_wrapper,
.adv-extended-options {
  display: none !important;
}

/* =============================
   SEARCH BAR
============================= */
.advanced_search_shortcode .adv-search-3 {
  width: min(1100px, 92vw) !important;
  background: #ffffff !important;
  border-radius: 50px !important;
  box-shadow: 0 18px 60px rgba(0,53,128,0.08) !important;
  overflow: visible !important;
}

/* Flex */
.adv-search-3 form,
.adv-search-3 .row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

/* =============================
   FIELDS (inkl. guest_no_drop)
============================= */
.map_icon,
.calendar_icon,
.adv_guest_no,
.guest_no_drop {
  flex: 1 1 0 !important;
  display: flex !important;
  align-items: center !important;
  height: 56px !important;
  padding: 0 22px !important;
  border-right: 1px solid #e5e7eb !important;
  position: relative !important;
}

/* letzter Input-Bereich vor Button ohne rechte Linie */
.adv_guest_no,
.guest_no_drop {
  border-right: none !important;
}

/* Inputs */
.map_icon input,
.calendar_icon input,
.adv_guest_no input,
.guest_no_drop input {
  border: none !important;
  background: transparent !important;
  width: 100% !important;
  height: 56px !important;
  padding-left: 48px !important;
  font-size: 15px !important;
  color: #111 !important;
}

.map_icon input::placeholder,
.calendar_icon input::placeholder,
.adv_guest_no input::placeholder,
.guest_no_drop input::placeholder {
  color: #9ca3af !important;
}

/* =============================
   REMOVE WP RENTALS ICONS (nur echte Elemente, NICHT unsere ::before)
============================= */
.map_icon i,
.calendar_icon i,
.adv_guest_no i,
.guest_no_drop i,
.map_icon svg,
.calendar_icon svg,
.adv_guest_no svg,
.guest_no_drop svg,
.map_icon::after,
.calendar_icon::after,
.adv_guest_no::after,
.guest_no_drop::after {
  display: none !important;
  content: none !important;
}

/* =============================
   CUSTOM SVG ICONS (BRAND BLUE) – vertikal zentriert
============================= */
.map_icon::before,
.calendar_icon::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

/* Location */
.map_icon::before {
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23003580'>\
<path d='M12 2C8.1 2 5 5.1 5 9c0 5.3 7 13 7 13s7-7.7 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/>\
</svg>");
}

/* Calendar */
.calendar_icon::before {
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23003580'>\
<path d='M7 2v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm12 18H5V9h14v11z'/>\
</svg>");
}

/* =============================
   GUEST FIELD: WP Rentals "form-control" Box entfernen + eigenes Person-Icon
============================= */

/* WP Rentals "Gäste-Anzeige" optisch wie die anderen Felder (kein extra Kasten) */
.wpestate_guest_no_control_wrapper,
.wpestate_guest_no_control_info {
  width: 100% !important;
}

.wpestate_guest_no_control_info {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  height: 56px !important;
  line-height: 56px !important;
  padding-left: 48px !important; /* Platz fürs Icon */
  display: flex !important;
  align-items: center !important;
}

/* Feld 4 Text sauber mittig + kein Umbruch */
.wpestate_guest_no_control_info{
  display: flex !important;
  align-items: center !important;
  height: 56px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.wpestate_guest_no_control_info .sa-guest-text{
  display: inline-block !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}


/* Lila Icon, das WP Rentals als background/mask irgendwo reinsetzt: entfernen */
.guest_no_drop {
  background: transparent !important;
  background-image: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Unser Booking-Style Person Icon (blau) – sauber zentriert */
.guest_no_drop {
  position: relative !important;
}

.guest_no_drop::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23003580'>\
<path d='M12 12c2.76 0 5-2.24 5-5S14.76 2 12 2 7 4.24 7 7s2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v3h20v-3c0-3.33-6.67-5-10-5z'/>\
</svg>") !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* =============================
   GUEST POPUP
============================= */
.adv_guest_no .guest_list,
.guest_no_drop .guest_list {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  z-index: 9999 !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.15) !important;
}

/* Remove infants */
.guest_list .infants {
  display: none !important;
}

/* =============================
   SEARCH BUTTON – kleiner + perfekt zentriert (FARBE BLEIBT)
============================= */

/* Button-Wrapper: darf KEINE feste Spaltenbreite behalten (Bootstrap), sonst bleibt rechts „weiß“ */
.adv-search-3 .adv_search_submit_button{
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;     /* <- wichtig gegen Bootstrap col-XX */
  min-width: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;

  /* rechts KEIN Extra-Platz mehr */
  padding: 2px 6px 2px 10px !important;  /* top right bottom left */
  margin: 0 !important;
}

/* Button: Größe bleibt, aber rechts „pillen“-Form wie Booking und bündig zum Rand */
.advanced_search_submit_button{
  height: 52px !important;
  min-height: 52px !important;
  line-height: 52px !important;

  padding: 0 22px !important;
  min-width: 140px !important;
  width: auto !important;

  background: #febb02 !important;
  color: #111 !important;
  border: none !important;

  border-radius: 999px !important; /* <- sorgt für Booking-Endform */
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-shadow: 0 6px 18px rgba(0,0,0,0.15) !important;
}

.advanced_search_shortcode .adv-search-3{ padding-right: 0 !important; }



/* =============================
   SA Dropdown: Angesagte Reiseziele (unser Dropdown)
============================= */
.map_icon{ position: relative !important; }

.sa-location-dropdown{
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 0 !important;

  width: 360px !important;
  max-width: calc(100vw - 24px) !important;

  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.15) !important;

  padding: 12px !important;
  z-index: 10060 !important;
}

.sa-location-title{
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #111 !important;
  margin: 2px 0 10px !important;
}

.sa-location-item{
  display: block !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  user-select: none !important;
}

.sa-location-item:hover{
  background: #f5f7fb !important;
}


/* =============================
   MOBILE
============================= */
@media (max-width: 768px) {
  .adv-search-3 form {
    flex-direction: column !important;
  }

  .map_icon,
  .calendar_icon,
  .adv_guest_no,
  .guest_no_drop {
    border-right: none !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding: 0 16px !important;
  }

  .adv-search-3 .adv_search_submit_button {
    width: 100% !important;
    padding: 10px 0 0 0 !important;
  }

  .advanced_search_submit_button {
    width: 100% !important;
    min-width: 0 !important;
  }

  .sa-location-dropdown {
    width: 100%;
  }
}

/* =============================
   WP RENTALS AUTOCOMPLETE (wpestate) – Booking Style + klickbar
============================= */
.wpestate-autocomplete-results{
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 0 !important;

  width: 360px !important;
  max-width: calc(100vw - 24px) !important;

  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.15) !important;

  padding: 10px !important;
  z-index: 99999 !important;
  overflow: hidden !important;
}

.wpestate-autocomplete-results .wpestate-autocomplete-item{
  display: block !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  user-select: none !important;
}

.wpestate-autocomplete-results .wpestate-autocomplete-item:hover{
  background: #f5f7fb !important;
}

.wpestate-autocomplete-results,
.wpestate-autocomplete-results *{
  pointer-events: auto !important;
}

/* =========================================
   WP Rentals Autocomplete (Popup) – Icon/Abstand fix
========================================= */
.wpestate-autocomplete-results{
  z-index: 10050 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.15) !important;
}

/* sorgt dafür, dass das Pin-Icon NICHT auf dem Text liegt */
.wpestate-autocomplete-results .wpestate-autocomplete-item{
  position: relative !important;
  padding: 11px 12px 11px 56px !important; /* mehr Platz links */
  background-position: 18px center !important;
  background-repeat: no-repeat !important;
  background-size: 16px 16px !important;
}

/* falls WP das Icon als <i> / svg einfügt: sauber links zentrieren */
.wpestate-autocomplete-results .wpestate-autocomplete-item i,
.wpestate-autocomplete-results .wpestate-autocomplete-item svg{
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

@media (min-width: 769px){
  .calendar_icon{
    flex: 1.2 1 0 !important;   /* minimal breiter als andere Felder */
    min-width: 200px !important;
  }
  .calendar_icon input{
    padding-right: 14px !important;
  }
}

@media (min-width: 769px){
  /* Feld 1 (Location) minimal mehr Platz, damit "Frankfurt" nicht abgeschnitten wird */
  .map_icon{
    flex: 1.35 1 0 !important;
    min-width: 240px !important;
    padding: 0 18px !important; /* vorher 22px */
  }
  .map_icon input{
    padding-right: 10px !important;
  }
}

/* optional: bisschen mehr Textfläche */
.map_icon{
  padding: 0 18px !important; /* vorher 22px */
}

.map_icon input{
  padding-right: 10px !important;
}


/* DIE LEERE/UNNÖTIGE SPALTE aus WP Rentals killen (typisch: col-md-3 ohne unsere Klassen) */
.advanced_search_shortcode .adv-search-3 .row > div.col-md-3:not(.calendar_icon):not(.guest_no_drop):not(.adv_guest_no):not(.adv_search_submit_button){
  display: none !important;
}


/* =========================================
   CLEAN FIX: Button bündig rechts + kein Weiß
   (ohne Popups abzuschneiden)
/* =========================================
   FIX: Button-Bereich füllt rechts komplett (ohne last-of-type)
========================================= */
@media (min-width: 769px){

  /* Wichtig: Popups dürfen nicht abgeschnitten werden */
  .advanced_search_shortcode .adv-search-3{
    overflow: visible !important;
  }

  /* Bootstrap-Padding der letzten Spalte entfernen (verursacht den weißen Rand) */
  .advanced_search_shortcode .adv-search-3 .row > div.col-md-3:last-of-type{
    padding-right: 0 !important;
    margin-right: 0 !important;
  }

  .advanced_search_shortcode .adv-search-3 .adv_search_submit_button{
    margin-left: auto !important;
    height: 56px !important;
    padding: 0 !important;

    /* Gelben Bereich minimal weiter nach rechts ziehen */
    margin-right: -22px !important; /* wenn noch 1px weiß: -22px testen */

    display: flex !important;
    align-items: stretch !important;

    background: #febb02 !important;          /* deckt Restfläche */
    border-radius: 0 50px 50px 0 !important; /* gleiche Rundung wie Leiste */
  }

  /* Button wieder GELB machen + rechts bündig rund */
  .advanced_search_shortcode .adv-search-3 .advanced_search_submit_button{
    width: 100% !important;
    font-weight:800 !important;
    height: 56px !important;
    line-height: 56px !important;

    background: #febb02 !important;
    border-radius: 0 50px 50px 0 !important;

    margin: 0 !important;
  }
}



/* =========================================
   CLEAN FIX: "Wohin?" vertikal sauber zentrieren
========================================= */
.map_icon input{
  line-height: 56px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}



/* =========================================
   CLEAN FIX: "Wohin?" vertikal sauber zentrieren
========================================= */
.map_icon input{
  line-height: 56px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* =========================================
   MINI FIX 1: Feld 1 ("Wohin?") vertikal sauber mittig
   (nur Location Input)
========================================= */
.advanced_search_shortcode .map_icon input{
  height: 56px !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

 /* =========================================
   TEXTFARBE: alles schwarz (inkl. Gäste-Feld)
========================================= */
.advanced_search_shortcode .adv-search-3 input,
.advanced_search_shortcode .adv-search-3 input.form-control,
.advanced_search_shortcode .adv-search-3 .wpestate_guest_no_control_info,
.advanced_search_shortcode .adv-search-3 .wpestate_guest_no_control_info *{
  color: #111 !important;
  opacity: 1 !important; /* falls WP Rentals den Text "ausgraut" */
}

/* Placeholder etwas dunkler (optional) */
.advanced_search_shortcode .adv-search-3 input::placeholder{
  color: #111 !important; /* dunkler als vorher */
}

/* =========================================
   FIX: Suchleiste bleibt IMMER gleich breit
   (Gäste-Text darf Breite nicht verändern)
========================================= */
@media (min-width: 769px){

  /* Wichtig bei Flex: Inhalte dürfen nicht die Breite "erzwingen" */
  .advanced_search_shortcode .adv-search-3 .row > [class*="col-"],
  .map_icon, .calendar_icon, .guest_no_drop, .adv_guest_no,
  .wpestate_guest_no_control_info{
    min-width: 0 !important;
  }

  /* Gäste-Text: niemals Breite sprengen -> lieber ... */
  .wpestate_guest_no_control_info{
    overflow: hidden !important;
  }
  .wpestate_guest_no_control_info .sa-guest-text{
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100% !important;
  }

  @media (min-width: 769px){

  /* Button etwas schmaler machen */
  .advanced_search_shortcode .adv-search-3 .adv_search_submit_button{
    flex: 0 0 210px !important;   /* vorher 230px */
    width: 210px !important;
  }

  /* Gäste-Feld muss IMMER Platz bekommen */
  .advanced_search_shortcode .adv-search-3 .guest_no_drop,
  .advanced_search_shortcode .adv-search-3 .adv_guest_no{
    flex: 1.2 1 0 !important;
    min-width: 260px !important;  /* sorgt dafür, dass es nicht vom Button überdeckt wird */
  }

  /* Gäste-Text wenn zu lang -> ... statt unter Button zu laufen */
  .wpestate_guest_no_control_info{
    overflow: hidden !important;
  }
  .wpestate_guest_no_control_info .sa-guest-text{
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100% !important;
  }
}/* End custom CSS */