/* =========================================================
   OVERRIDE COMPLETO - Chile Psicólogos (Planyo)
   - Resultados FULL WIDTH
   - Pasos compactos
   - Formularios PLANOS y MODERNOS
   - Buscador: FIX ETIQUETAS FIJAS (Siempre visibles)
   - CALENDARIO: Compacto, Elegante y Legible
   ========================================================= */

/* =========================================================
   A) BASE / FONDO GENERAL
   ========================================================= */
.planyo,
.planyo #search_results,
.planyo #search_results_table,
.planyo #search_results_table tbody,
.planyo #search_results_table tr,
.planyo #search_results_table td {
  background: #ffffff !important;
}

/* =========================================================
   B) RESULTADOS (FULL WIDTH + TARJETAS)
   ========================================================= */
#search_results {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 20px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#resources {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}

#search_results table {
  width: 100% !important;
}

.planyo .resource_info {
  max-width: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 12px 0 !important;
  padding: 14px !important;
  background: #ffffff !important;
  border: 1px solid #e6e6ea !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 18px rgba(16, 24, 40, 0.10) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.planyo .resource_info:hover {
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.14) !important;
}

.planyo .image_square_container {
  width: 18% !important;
  margin-right: 3% !important;
}

.planyo .image_square {
  width: 100% !important;
  max-width: 110px !important;
  border-radius: 12px !important;
  display: block !important;
}

.planyo .resource_main {
  width: 52% !important;
  height: auto !important;
  padding-right: 2% !important;
}

.planyo .resource_main_long {
  width: 70% !important;
  height: auto !important;
  padding-right: 2% !important;
}

.planyo .resource_right_container {
  width: 25% !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.planyo .resource_price,
.planyo .price {
  width: 100% !important;
  text-align: center !important;
  display: block !important;
  margin-bottom: 8px !important;
}

@media (max-width: 767px) {
  #search_results { padding: 0 !important; }
  .planyo .resource_info { padding: 12px !important; }
  .planyo .image_square_container,
  .planyo .resource_main,
  .planyo .resource_main_long,
  .planyo .resource_right_container {
    float: none !important; width: 100% !important; margin: 0 !important; padding: 10px 0 !important;
  }
  .planyo .image_square { max-width: 96px !important; margin: 0 auto 10px auto !important; }
}

/* =========================================================
   C) PASOS DE RESERVA
   ========================================================= */
.planyo .reservation_steps {
  display: flex !important; align-items: center !important; justify-content: flex-end !important;
  gap: 8px !important; flex-wrap: wrap !important; margin: 10px 0 14px !important; padding: 0 !important;
}
.planyo .reservation_step .reservation_step_name,
.planyo .reservation_step_current .reservation_step_name { display: none !important; }
.planyo span.reservation_step, .planyo span.reservation_step_current {
  display: inline-flex !important; align-items: center !important; padding: 4px !important;
  border-radius: 999px !important; background: transparent !important; border: none !important; margin: 0 !important;
}
.planyo .reservation_step .reservation_step_img,
.planyo .reservation_step_current .reservation_step_img {
  width: 32px !important; height: 32px !important; border-radius: 999px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
.planyo .reservation_step .reservation_step_img { background-color: #e5e7eb !important; }
.planyo .reservation_step .reservation_step_img_text strong { color: #4b5563 !important; }
.planyo .reservation_step_current .reservation_step_img { background-color: #111827 !important; }
.planyo .reservation_step_current .reservation_step_img_text strong { color: #ffffff !important; }
.planyo .reservation_step_img_text { font-size: 14px !important; line-height: 1 !important; }

/* =========================================================
   D) FORMULARIOS
   ========================================================= */
.planyo #reserve_form ul, .planyo #product_form ul, .planyo #checkout_code ul, .planyo .planyoform ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.planyo #reserve_form li, .planyo #product_form li, .planyo #checkout_code li, .planyo .planyoform li { list-style: none !important; }
.planyo { font-family: 'Lato', 'Open Sans', system-ui, sans-serif !important; color: #111827 !important; }
.planyo label { font-weight: 700 !important; font-size: 13px !important; color: #111827 !important; display: inline-block !important; margin-bottom: 4px !important; }
.planyo #reservation_code, .planyo #checkout_code { max-width: 1120px !important; margin: 0 auto !important; }
.planyo #reserve_form, .planyo #product_form, .planyo #resource_details, .planyoform { border: none !important; box-shadow: none !important; padding: 0 !important; background: transparent !important; overflow: visible !important; }
.planyo fieldset { border: none !important; padding: 0 !important; margin: 0 !important; }
.planyo legend { font-weight: 600 !important; font-size: 15px !important; color: #374151 !important; padding: 0 !important; margin-bottom: 10px !important; }

/* Inputs Modernos con Fuente Lato */
.planyo input[type="text"], .planyo input[type="email"], .planyo input[type="tel"], .planyo select {
  width: 100% !important; box-sizing: border-box !important; background: #ffffff !important; border: 1px solid #e6e6ea !important;
  border-radius: 12px !important; padding: 11px 12px !important; font-size: 14px !important; outline: none !important; font-family: 'Lato', 'Open Sans', sans-serif !important;
}
.planyo input[type="submit"], .planyo .button {
  background: #111827 !important; color: #ffffff !important; border-radius: 12px !important; padding: 11px 14px !important;
  font-weight: 700 !important; border: none !important; cursor: pointer !important; font-family: 'Lato', 'Open Sans', sans-serif !important;
}

/* =========================================================
   E) BUSCADOR (WIDGET) - FIX DEFINITIVO ETIQUETAS
   ========================================================= */
/* FIX CRÍTICO ELEMENTOR: Evita que el contenedor corte el calendario */
#planyo_search_widget, 
#box_search_form, 
.planyo_search_widget_container,
.elementor-widget-container,
.elementor-column-wrap, 
.elementor-widget-shortcode {
    overflow: visible !important;
    position: static !important;
}

/* Estructura del Buscador */
#planyo_search_widget #box_search_form ul, #planyo_search_widget #box_search_form li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#planyo_search_widget #box_search_form { display: flex !important; flex-wrap: nowrap !important; align-items: flex-end !important; gap: 16px !important; width: 100% !important; }
#planyo_search_widget #box_search_form > fieldset { flex: 1 1 auto !important; min-width: 0 !important; }
#planyo_search_widget #box_search_form > fieldset > ul { display: flex !important; flex-wrap: nowrap !important; align-items: flex-end !important; gap: 16px !important; width: 100% !important; }
#planyo_search_widget #box_search_form > fieldset > ul > li.fld_single { display: flex !important; flex-direction: column !important; flex: 1 1 0 !important; min-width: 220px !important; background: transparent !important; }

/* --- ETIQUETAS: FORZAR VISIBILIDAD SIEMPRE --- */
/* Esto anula el script de Planyo que oculta la etiqueta */
#planyo_search_widget label,
#box_search_form label,
.planyo .float-label-parent label,
div.float-label-parent label {
    display: block !important;       /* Fuerza que ocupe espacio */
    visibility: visible !important;  /* Fuerza que sea visible */
    opacity: 1 !important;           /* Fuerza opacidad total */
    position: static !important;     /* Evita posiciones raras */
    height: auto !important;         /* Recupera la altura */
    width: 100% !important;
    margin-bottom: 6px !important;   /* Espacio entre etiqueta e input */
    
    /* Estilo igual al resto de la web */
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #111827 !important;
    text-align: left !important;
    transform: none !important;      /* Elimina animaciones de float */
    z-index: 10 !important;
}

/* LIMPIEZA: Ocultar el placeholder para que no se duplique con la etiqueta */
#planyo_search_widget input::placeholder,
#box_start_date::placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

/* INPUTS */
#planyo_search_widget #box_search_form input[type="text"], 
#planyo_search_widget #box_search_form select { 
    height: 46px !important; 
    border-radius: 14px !important; 
    border: 1px solid #e6e6ea !important; 
    background: #ffffff !important; 
    box-shadow: 0 1px 0 rgba(16,24,40,0.04) !important; 
    margin-top: 0 !important; /* Eliminar margen negativo si existía */
}

#planyo_search_widget #box_search_form input[type="text"]:focus, 
#planyo_search_widget #box_search_form select:focus { 
    border-color: #111827 !important; 
    box-shadow: 0 0 0 4px rgba(17,24,39,0.10) !important; 
}

/* BOTÓN */
#planyo_search_widget #box_search_form #res_form_buttons { display: flex !important; align-items: flex-end !important; margin: 0 !important; padding: 0 !important; flex: 0 0 auto !important; }
#planyo_search_widget #box_search_form #res_form_buttons > label { display: none !important; } /* Ocultar la etiqueta vacía del botón */
#planyo_search_widget #box_search_form #res_form_buttons input[type="submit"], 
#planyo_search_widget #box_search_form #res_form_buttons .button { 
    height: 46px !important; 
    line-height: 46px !important; 
    padding: 0 18px !important; 
    border-radius: 14px !important; 
    white-space: nowrap !important; 
    margin: 0 !important; 
}
#planyo_search_widget #box_search_form a.poweredby { display: none !important; }

/* RESPONSIVE */
@media (max-width: 980px) {
  #planyo_search_widget #box_search_form, #planyo_search_widget #box_search_form > fieldset > ul { flex-wrap: wrap !important; }
}
@media (max-width: 600px) {
  #planyo_search_widget #box_search_form, #planyo_search_widget #box_search_form > fieldset > ul { flex-direction: column !important; align-items: stretch !important; }
  #planyo_search_widget #box_search_form #res_form_buttons, #planyo_search_widget #box_search_form #res_form_buttons input[type="submit"] { width: 100% !important; }
}

/* =========================================================
   G) FIX CALENDARIO DEFINITIVO (#box_start_datecal)
   - Compacto y Elegante
   ========================================================= */

/* 1. Contenedor Principal */
#box_start_datecal,                
#planyo_search_widget .picker_dropdown,
div.calpicker,
.ui-datepicker,
#ui-datepicker-div {
  font-family: 'Lato', 'Open Sans', system-ui, sans-serif !important;
  background-color: #ffffff !important;
  background: #ffffff !important;
  opacity: 1 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
  padding: 8px !important; /* Más compacto */
  z-index: 2147483647 !important;
  width: auto !important;
  position: absolute !important;
}

/* 2. TABLA INTERNA */
.calpicker, 
#ui-datepicker-div table,
#box_start_datecal table,
.picker_dropdown table {
  font-family: 'Lato', 'Open Sans', sans-serif !important;
  background-color: #ffffff !important;
  width: 100% !important;
  border-collapse: separate !important;
  margin: 0 !important;
  border-spacing: 2px !important; /* Espacio limpio entre celdas */
}

/* 3. CABECERAS */
.calpicker caption,
#box_start_datecal caption,
.ui-datepicker-header {
  font-family: 'Lato', 'Open Sans', sans-serif !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-weight: 800 !important;
  padding: 4px 0 8px 0 !important; /* Menos aire arriba */
  border-bottom: 1px solid #f3f4f6 !important;
  font-size: 14px !important;
  text-transform: capitalize !important;
}

.calpicker th, 
#box_start_datecal th {
  font-family: 'Lato', 'Open Sans', sans-serif !important;
  color: #6b7280 !important;
  font-weight: 700 !important;
  font-size: 11px !important; /* Letra más pequeña para Lun/Mar... */
  padding: 4px 0 !important;
  text-transform: uppercase !important;
  border: none !important;
}

/* 4. CELDAS (DÍAS) - DISEÑO COMPACTO (30px) */
.calpicker td,
#ui-datepicker-div td,
#box_start_datecal td {
  background-color: #ffffff !important;
  border: none !important;
  padding: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
  width: 30px !important;  /* Reducido para compactar */
  height: 30px !important; /* Reducido para compactar */
  line-height: 30px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
}

/* --- ESTADOS DE DISPONIBILIDAD --- */
/* a) Disponible (Verde) */
.calpicker td.morning_av,
#box_start_datecal td.morning_av,
.calpicker td.morning_av:hover {
  background-color: #d1fae5 !important;
  background-image: none !important;
  color: #065f46 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* b) Ocupado (Rojo) */
.calpicker td.reserved,
.calpicker td.reserved_nox,
#box_start_datecal td.reserved,
#box_start_datecal td.morning_occ {
  background-color: #fef2f2 !important;
  background-image: none !important;
  color: #ef4444 !important;
  text-decoration: line-through !important;
  opacity: 0.6 !important;
}

/* c) Seleccionado (Azul) */
.calpicker .active_day,
.calpicker .active_day:hover,
#box_start_datecal .active_day,
.ui-datepicker-current-day a,
.ui-state-active {
  background-color: #3D83A8 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 4px rgba(61, 131, 168, 0.25) !important;
}

/* d) Hover Genérico */
.calpicker td:hover:not(.reserved):not(.active_day),
#box_start_datecal td:hover:not(.reserved):not(.active_day) {
  background-color: #f3f4f6 !important;
  color: #111827 !important;
  border-radius: 6px !important;
  cursor: pointer !important;
}

/* 5. Flechas */
.calpicker a.earlier,
.calpicker a.later,
#box_start_datecal a.earlier,
#box_start_datecal a.later {
    color: #3D83A8 !important;
    font-weight: 800 !important;
    background: transparent !important;
    font-size: 18px !important;
    text-decoration: none !important;
    line-height: 1 !important;
    padding: 0 5px !important;
}

/* 6. Input con Icono */
#box_start_date, #box_search_form input[name="start_date"] {
    cursor: pointer !important;
    background-image: url('https://s3.amazonaws.com/planyo-extras/web/calendar-icon.png') !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 16px !important;
    position: relative; 
    z-index: 5;
}
/* =========================================================
   FIX BARRA IZQUIERDA (SEARCH_BOX / SEARCH_FORM)
   Quitar puntos/viñetas delante de cada campo (•)
   ========================================================= */

/* 1) Si son viñetas reales del UL */
.planyo #search_box ul,
.planyo #search_form ul,
.planyo #search_box li,
.planyo #search_form li,
#search_box ul,
#search_form ul,
#search_box li,
#search_form li{
  list-style: none !important;
  list-style-type: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* 2) Si el punto lo dibuja un pseudo-elemento */
.planyo #search_box li::before,
.planyo #search_form li::before,
#search_box li::before,
#search_form li::before,
.planyo #search_box li::marker,
.planyo #search_form li::marker,
#search_box li::marker,
#search_form li::marker{
  content: none !important;
  display: none !important;
}

/* 3) Si el punto es un background en el LI (menos común) */
.planyo #search_box li,
.planyo #search_form li,
#search_box li,
#search_form li{
  background-image: none !important;
}

.planyo .poweredby,.poweredby {display:none;}
