@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Outfit:wght@200;300;400;500&display=swap');

/* === ROOT VARIABLES === */
:root {
  --pd-charcoal: #1a1a1a;
  --pd-smoke: #2a2a2a;
  --pd-stone: #8a8580;
  --pd-warm-grey: #b5b0aa;
  --pd-sand: #d4cfc8;
  --pd-cream: #f0ece6;
  --pd-ivory: #f8f6f2;
  --pd-white: #ffffff;
  --pd-serif: 'Cormorant Garamond', Georgia, serif;
  --pd-sans: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
}

/* === GLOBAL RESET === */
body {
  font-family: var(--pd-sans) !important;
  font-weight: 300;
  color: var(--pd-charcoal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* === PAGE BACKGROUND === */
.advanced_search_results-php,
.page-template-advanced_search_results-php {
  background: var(--pd-ivory) !important;
}

/* ================================================================
   SEARCH BAR / FILTERS
   ================================================================ */

/* Filter container */
.header_media,
.header_media.with_search_newtype {
  background: var(--pd-white) !important;
  border-bottom: 1px solid var(--pd-sand) !important;
  box-shadow: none !important;
  padding: 20px 0 !important;
}

/* Search form wrapper */
.elementor_search_builder_field_wrapper,
.adv_search_cont,
#adv_search_form {
  background: var(--pd-white) !important;
}

/* Filter dropdowns */
.filter_menu_trigger,
.btn.dropdown-toggle.filter_menu_trigger {
  font-family: var(--pd-sans) !important;
  font-weight: 300 !important;
  font-size: 13px !important;
  color: var(--pd-charcoal) !important;
  background: var(--pd-ivory) !important;
  border: 1px solid var(--pd-sand) !important;
  border-radius: 4px !important;
  padding: 10px 16px !important;
  transition: border-color 0.2s ease !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

.filter_menu_trigger:hover,
.filter_menu_trigger:focus {
  border-color: var(--pd-stone) !important;
  box-shadow: none !important;
}

/* Filter dropdown menu */
.dropdown-menu.filter_menu {
  font-family: var(--pd-sans) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  border: 1px solid var(--pd-sand) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
  padding: 8px 0 !important;
}

.dropdown-menu.filter_menu li,
.dropdown-menu.filter_menu li a {
  font-family: var(--pd-sans) !important;
  font-weight: 300 !important;
  font-size: 13px !important;
  color: var(--pd-charcoal) !important;
  padding: 8px 16px !important;
}

.dropdown-menu.filter_menu li a:hover,
.dropdown-menu.filter_menu li.selected a {
  background: var(--pd-ivory) !important;
  color: var(--pd-charcoal) !important;
}

/* Search button */
.advanced_search_submit_button,
.button_with_text_wprentals {
  font-family: var(--pd-sans) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  background: var(--pd-charcoal) !important;
  color: var(--pd-white) !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 12px 28px !important;
  transition: background 0.2s ease !important;
}

.advanced_search_submit_button:hover {
  background: var(--pd-smoke) !important;
}

/* Price slider */
.adv_search_slider .ui-slider {
  background: var(--pd-sand) !important;
  border: none !important;
  height: 3px !important;
  border-radius: 2px !important;
}

.adv_search_slider .ui-slider .ui-slider-range {
  background: var(--pd-charcoal) !important;
}

.adv_search_slider .ui-slider .ui-slider-handle {
  background: var(--pd-white) !important;
  border: 2px solid var(--pd-charcoal) !important;
  border-radius: 50% !important;
  width: 16px !important;
  height: 16px !important;
  top: -7px !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}

/* Filter labels */
.search_form_label,
.filter_label {
  font-family: var(--pd-sans) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--pd-stone) !important;
}

/* ================================================================
   PROPERTY CARDS
   ================================================================ */

/* Card container */
.property_listing {
  background: var(--pd-white) !important;
  border: 1px solid rgba(212,207,200,0.5) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transition: box-shadow 0.3s ease, transform 0.2s ease !important;
}

.property_listing:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
  transform: translateY(-2px) !important;
}

/* Card image */
.listing-unit-img-wrapper {
  border-radius: 6px 6px 0 0 !important;
  overflow: hidden !important;
}

.listing-unit-img-wrapper img {
  transition: transform 0.5s ease !important;
}

.property_listing:hover .listing-unit-img-wrapper img {
  transform: scale(1.03) !important;
}

/* Card carousel arrows */
.property_unit_carousel .carousel-control-prev,
.property_unit_carousel .carousel-control-next {
  background: rgba(255,255,255,0.85) !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}

.property_listing:hover .carousel-control-prev,
.property_listing:hover .carousel-control-next {
  opacity: 1 !important;
}

/* Property title */
.listing_title_unit h4,
.listing_title_unit h4 a,
.listing_name h4,
.listing_name h4 a {
  font-family: var(--pd-serif) !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  color: var(--pd-charcoal) !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.listing_title_unit h4 a:hover,
.listing_name h4 a:hover {
  color: var(--pd-stone) !important;
}

/* Price */
.listing_unit_price_wrapper,
.price_unit {
  font-family: var(--pd-sans) !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  color: var(--pd-charcoal) !important;
  letter-spacing: 0.02em !important;
}

/* Property details (beds, baths, sqm) */
.property_listing_details,
.property-unit-information-wrapper {
  font-family: var(--pd-sans) !important;
  font-weight: 300 !important;
  font-size: 12px !important;
  color: var(--pd-stone) !important;
  border-top: 1px solid var(--pd-sand) !important;
  padding: 12px 16px !important;
}

.property_listing_details .inforoom_unit_type {
  color: var(--pd-stone) !important;
}

/* Property info area (inner padding) */
.property_listing .property_unit_data,
.property_listing .listing_title_unit,
.property_listing .listing_name {
  padding: 16px 16px 8px !important;
}

/* Location/area badge */
.property_location_image,
.property_listing .action_tag_wrapper .property_status {
  font-family: var(--pd-sans) !important;
  font-weight: 400 !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: rgba(26,26,26,0.75) !important;
  color: var(--pd-white) !important;
  border-radius: 3px !important;
  padding: 4px 10px !important;
  backdrop-filter: blur(4px) !important;
}

/* Status tags (Beachfront, Families, etc.) */
.action_tag_wrapper .property_status {
  font-family: var(--pd-sans) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  background: rgba(255,255,255,0.88) !important;
  color: var(--pd-charcoal) !important;
  border-radius: 3px !important;
  padding: 3px 8px !important;
  backdrop-filter: blur(4px) !important;
}

/* ================================================================
   RESULTS LAYOUT
   ================================================================ */

/* Grid wrapper */
.listing_wrapper {
  padding: 12px !important;
}

/* Results counter and sorting */
.listing_actions {
  font-family: var(--pd-sans) !important;
  padding: 16px 12px !important;
  border-bottom: 1px solid var(--pd-sand) !important;
  margin-bottom: 16px !important;
}

.listing_actions .dropdown .filter_menu_trigger {
  font-size: 12px !important;
  padding: 6px 12px !important;
}

/* Grid/List view toggle */
.listing_filter_views {
  opacity: 0.6 !important;
  transition: opacity 0.2s ease !important;
}

.listing_filter_views:hover { opacity: 1 !important; }
.listing_filter_views.active_filter { opacity: 1 !important; }

/* ================================================================
   MAP
   ================================================================ */

/* Map container */
.gm-style {
  font-family: var(--pd-sans) !important;
}

/* Map info window */
.gm-style-iw {
  font-family: var(--pd-sans) !important;
  border-radius: 6px !important;
}

/* ================================================================
   BREADCRUMB
   ================================================================ */
.breadcrumb_wrapper,
.breadcrumb_wrapper a {
  font-family: var(--pd-sans) !important;
  font-size: 11px !important;
  color: var(--pd-warm-grey) !important;
  letter-spacing: 0.05em !important;
}

.breadcrumb_wrapper a:hover {
  color: var(--pd-charcoal) !important;
}

/* ================================================================
   PAGINATION
   ================================================================ */
.pagination_numb .pagination li a,
.pagination_numb .pagination li span {
  font-family: var(--pd-sans) !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  border: 1px solid var(--pd-sand) !important;
  color: var(--pd-stone) !important;
  border-radius: 4px !important;
  padding: 8px 14px !important;
  transition: all 0.2s ease !important;
  background: var(--pd-white) !important;
}

.pagination_numb .pagination li.active a,
.pagination_numb .pagination li.active span,
.pagination_numb .pagination li a:hover {
  background: var(--pd-charcoal) !important;
  color: var(--pd-white) !important;
  border-color: var(--pd-charcoal) !important;
}

/* ================================================================
   PERFORMANCE: REDUCE VISUAL WEIGHT
   ================================================================ */

/* Remove unnecessary shadows and decorations */
.property_listing,
.half_map_results_wrapper,
.header_media {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

/* Optimize image rendering */
.listing-unit-img-wrapper img {
  image-rendering: auto;
  will-change: transform;
}

/* Reduce layout thrash */
.property_listing {
  contain: layout style;
}

/* ================================================================
   RESPONSIVE REFINEMENTS
   ================================================================ */
@media (max-width: 768px) {
  .filter_menu_trigger,
  .btn.dropdown-toggle.filter_menu_trigger {
    font-size: 12px !important;
    padding: 8px 12px !important;
  }
  
  .listing_wrapper {
    padding: 8px !important;
  }
  
  .listing_title_unit h4,
  .listing_title_unit h4 a,
  .listing_name h4,
  .listing_name h4 a {
    font-size: 16px !important;
  }
}

/* === CLAUDE SEARCH FORM REDESIGN (2026-03-05) === */
/* ============================================================
   PURO DREAMS — Search Form Override
   Archivo: /wp-content/themes/flavor/style.css
   (o añadir al bloque CSS del mu-plugin puro-readmore-inline.php)
   
   Cubre: campos, selects, datepickers, slider de precio, botón
   Versión: 2026-03-05
   ============================================================ */


/* ─── WRAPPER ─────────────────────────────────────────────── */
.wprentals_search_wrap,
.search_properties_wrap,
#searchform_properties,
.vc_wprentals_search,
.wprentals-search-form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}


/* ─── TODOS LOS CAMPOS (input + select) ───────────────────── */
.wprentals_search_wrap input[type="text"],
.wprentals_search_wrap input[type="number"],
.wprentals_search_wrap input[type="date"],
.wprentals_search_wrap input[type="search"],
.wprentals_search_wrap select,
.search_properties_wrap input[type="text"],
.search_properties_wrap input[type="number"],
.search_properties_wrap input[type="date"],
.search_properties_wrap input[type="search"],
.search_properties_wrap select,
#searchform_properties input[type="text"],
#searchform_properties input[type="number"],
#searchform_properties input[type="date"],
#searchform_properties select,
.wprentals-search-form input,
.wprentals-search-form select {
  background:    #f8f6f2 !important;   /* --ivory */
  border:        1px solid #d4cfc8 !important;  /* --sand */
  border-radius: 0 !important;
  color:         #1a1a1a !important;   /* --charcoal */
  font-family:   'Outfit', 'Helvetica Neue', sans-serif !important;
  font-weight:   300 !important;
  font-size:     13px !important;
  letter-spacing: 0.03em !important;
  padding:       14px 18px !important;
  height:        auto !important;
  line-height:   1.4 !important;
  outline:       none !important;
  box-shadow:    none !important;
  transition:    border-color 0.25s ease !important;
  -webkit-appearance: none !important;
  appearance:    none !important;
}

/* Focus state */
.wprentals_search_wrap input:focus,
.wprentals_search_wrap select:focus,
.search_properties_wrap input:focus,
.search_properties_wrap select:focus,
#searchform_properties input:focus,
#searchform_properties select:focus {
  border-color: #1a1a1a !important;
  background:   #ffffff !important;
  box-shadow:   none !important;
  outline:      none !important;
}

/* Placeholder */
.wprentals_search_wrap input::placeholder,
.search_properties_wrap input::placeholder,
#searchform_properties input::placeholder {
  color:       #b5b0aa !important;  /* --warm-grey */
  font-weight: 300 !important;
  font-size:   13px !important;
}


/* ─── SELECTS — flecha custom ─────────────────────────────── */
.wprentals_search_wrap select,
.search_properties_wrap select,
#searchform_properties select {
  background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8580' stroke-width='1.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:   no-repeat !important;
  background-position: right 16px center !important;
  background-size:     12px 7px !important;
  padding-right:       42px !important;
  cursor:              pointer !important;
}


/* ─── LABELS encima de los campos ─────────────────────────── */
.wprentals_search_wrap label,
.search_properties_wrap label,
#searchform_properties label {
  font-family:   'Outfit', 'Helvetica Neue', sans-serif !important;
  font-weight:   300 !important;
  font-size:     9px !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color:         #8a8580 !important;   /* --stone */
  margin-bottom: 6px !important;
  display:       block !important;
}


/* ─── PRICE RANGE LABEL ───────────────────────────────────── */
.wprentals_search_wrap .price_range_label,
.search_properties_wrap .price_range_label,
#searchform_properties .price_range_label,
.wprentals_search_wrap #price_range_label,
.search_properties_wrap #price_range_label,
#searchform_properties #price_range_label,
.price_range_wrap > span,
.price_range_wrap > label,
.price_range_wrap > p {
  font-family:   'Outfit', 'Helvetica Neue', sans-serif !important;
  font-weight:   300 !important;
  font-size:     10px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color:         #8a8580 !important;
  margin-bottom: 10px !important;
}

/* Valores del precio en el label (0€ to 25.000€) */
.wprentals_search_wrap .price_range_label strong,
.search_properties_wrap .price_range_label strong,
#price_range_label strong,
.price_range_wrap strong {
  font-weight:  400 !important;
  color:        #1a1a1a !important;
  font-size:    11px !important;
}


/* ─── RANGE SLIDER ────────────────────────────────────────── */
/* Track */
.wprentals_search_wrap .ui-slider,
.search_properties_wrap .ui-slider,
#searchform_properties .ui-slider,
.ui-slider-horizontal {
  background:    #d4cfc8 !important;  /* --sand */
  border:        none !important;
  border-radius: 0 !important;
  height:        1px !important;
  margin:        18px 0 !important;
  box-shadow:    none !important;
}

/* Range (parte activa del track) */
.wprentals_search_wrap .ui-slider-range,
.search_properties_wrap .ui-slider-range,
.ui-slider-range {
  background:    #1a1a1a !important;
  border-radius: 0 !important;
  height:        1px !important;
  top:           0 !important;
}

/* Handle */
.wprentals_search_wrap .ui-slider-handle,
.search_properties_wrap .ui-slider-handle,
.ui-slider-horizontal .ui-slider-handle {
  background:    #1a1a1a !important;
  border:        none !important;
  border-radius: 50% !important;
  width:         14px !important;
  height:        14px !important;
  top:           -7px !important;
  cursor:        ew-resize !important;
  box-shadow:    none !important;
  outline:       none !important;
  transition:    transform 0.15s ease !important;
}

.wprentals_search_wrap .ui-slider-handle:hover,
.ui-slider-horizontal .ui-slider-handle:hover,
.ui-slider-horizontal .ui-slider-handle:focus {
  background:    #2a2a2a !important;
  transform:     scale(1.15) !important;
  outline:       none !important;
  box-shadow:    none !important;
}


/* ─── BOTÓN SEARCH ────────────────────────────────────────── */
.wprentals_search_wrap input[type="submit"],
.wprentals_search_wrap button[type="submit"],
.wprentals_search_wrap .search_submit,
.wprentals_search_wrap .btn-search,
.search_properties_wrap input[type="submit"],
.search_properties_wrap button[type="submit"],
.search_properties_wrap .search_submit,
#searchform_properties input[type="submit"],
#searchform_properties button[type="submit"],
#searchform_properties .search_submit,
.wprentals-search-form input[type="submit"],
.wprentals-search-form button[type="submit"] {
  background:     #1a1a1a !important;
  color:          #ffffff !important;
  border:         1px solid #1a1a1a !important;
  border-radius:  0 !important;
  font-family:    'Outfit', 'Helvetica Neue', sans-serif !important;
  font-weight:    400 !important;
  font-size:      11px !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  padding:        18px 48px !important;
  width:          100% !important;
  cursor:         pointer !important;
  transition:     background 0.3s ease, color 0.3s ease !important;
  box-shadow:     none !important;
  outline:        none !important;
  -webkit-appearance: none !important;
  appearance:     none !important;

  /* Kill cualquier override de link-color azul */
  text-decoration: none !important;
}

/* HOVER & FOCUS — solo oscurece, nunca azul, nunca blanco */
.wprentals_search_wrap input[type="submit"]:hover,
.wprentals_search_wrap input[type="submit"]:focus,
.wprentals_search_wrap button[type="submit"]:hover,
.wprentals_search_wrap button[type="submit"]:focus,
.wprentals_search_wrap .search_submit:hover,
.wprentals_search_wrap .search_submit:focus,
.search_properties_wrap input[type="submit"]:hover,
.search_properties_wrap input[type="submit"]:focus,
.search_properties_wrap button[type="submit"]:hover,
.search_properties_wrap button[type="submit"]:focus,
.search_properties_wrap .search_submit:hover,
.search_properties_wrap .search_submit:focus,
#searchform_properties input[type="submit"]:hover,
#searchform_properties input[type="submit"]:focus,
#searchform_properties button[type="submit"]:hover,
#searchform_properties button[type="submit"]:focus,
#searchform_properties .search_submit:hover,
#searchform_properties .search_submit:focus,
.wprentals-search-form input[type="submit"]:hover,
.wprentals-search-form button[type="submit"]:hover {
  background:  #2a2a2a !important;  /* --smoke, ligeramente más claro */
  color:       #ffffff !important;  /* blanco siempre */
  border-color: #2a2a2a !important;
  outline:     none !important;
  box-shadow:  none !important;
}

/* ACTIVE (click) */
.wprentals_search_wrap input[type="submit"]:active,
.wprentals_search_wrap button[type="submit"]:active,
.search_properties_wrap input[type="submit"]:active,
.search_properties_wrap button[type="submit"]:active,
#searchform_properties input[type="submit"]:active,
#searchform_properties button[type="submit"]:active {
  background:  #0a0a0a !important;  /* --black */
  color:       #ffffff !important;
  outline:     none !important;
}


/* ─── CONTENEDOR DEL FORMULARIO — fondo limpio ────────────── */
.wprentals_search_wrap > div,
.search_properties_wrap > div,
.search_container,
.search_box_wrap {
  background:    transparent !important;
  border:        none !important;
  box-shadow:    none !important;
}

/* ─── DATEPICKER UI ───────────────────────────────────────── */
.ui-datepicker {
  background:    #f8f6f2 !important;
  border:        1px solid #d4cfc8 !important;
  border-radius: 0 !important;
  box-shadow:    0 8px 32px rgba(26,26,26,0.08) !important;
  font-family:   'Outfit', 'Helvetica Neue', sans-serif !important;
  font-weight:   300 !important;
  font-size:     13px !important;
  padding:       12px !important;
}

.ui-datepicker .ui-datepicker-header {
  background:    #1a1a1a !important;
  border:        none !important;
  border-radius: 0 !important;
  color:         #ffffff !important;
  font-weight:   300 !important;
  letter-spacing: 0.1em !important;
  padding:       8px 0 !important;
}

.ui-datepicker .ui-datepicker-title {
  color:         #ffffff !important;
  font-size:     12px !important;
  letter-spacing: 0.12em !important;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  background:    transparent !important;
  border:        none !important;
  cursor:        pointer !important;
  top:           6px !important;
}

.ui-datepicker th {
  color:         #8a8580 !important;
  font-weight:   400 !important;
  font-size:     10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding:       6px 4px !important;
}

.ui-datepicker td a,
.ui-datepicker td span {
  background:    transparent !important;
  color:         #1a1a1a !important;
  border:        none !important;
  text-align:    center !important;
  padding:       4px !important;
  font-weight:   300 !important;
}

.ui-datepicker td a:hover {
  background:    #f0ece6 !important;
  color:         #1a1a1a !important;
}

.ui-datepicker td.ui-datepicker-today a {
  background:    #d4cfc8 !important;
  color:         #1a1a1a !important;
}

.ui-datepicker td.ui-state-active a,
.ui-datepicker td a.ui-state-active {
  background:    #1a1a1a !important;
  color:         #ffffff !important;
}

/* ─── FIN ─────────────────────────────────────────────────── */
