/* ===== EstelaBooking · Buscador ===== */

.whb-search{
  display:flex;
  gap:14px;
  align-items:flex-end;
  flex-wrap:wrap;
  padding:16px;
  border-radius:16px;
  background:#fff;
  border:1px solid #e7e7e7;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.whb-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:180px;
}

.whb-field label{
  font-size:12px;
  font-weight:700;
  color:#333;
}

.whb-field input{
  height:42px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid #dcdcdc;
  background:#fff;
  font-size:14px;
}

.whb-field input:focus{
  outline:none;
  border-color:#111;
  box-shadow:0 0 0 3px rgba(0,0,0,.1);
}

.whb-btn{
  height:42px;
  padding:0 22px;
  border-radius:12px;
  border:none;
  background:#111;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:.15s ease;
}

.whb-btn:hover{
  transform:translateY(-1px);
  opacity:.92;
}

@media (max-width: 640px){
  .whb-search{ padding:14px; }
  .whb-field{ min-width:100%; }
  .whb-btn{ width:100%; }
}

/* --- WHB Frontend UI --- */

.whb-search-wrap{max-width:980px;margin:0 auto;}

.whb-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  align-items:end;
}

.whb-grid--form{
  grid-template-columns:repeat(3,1fr);
}

.whb-field input,
.whb-field textarea,
.whb-field select{
  width:100%;
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:10px;
}

.whb-field--btn{
  display:flex;
}

.whb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  cursor:pointer;
  text-decoration:none;
}

.whb-btn--ghost{
  background:transparent;
  color:#111;
}

.whb-alert{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #e6e6e6;
  border-radius:12px;
  background:#fafafa;
}

.whb-alert--error{
  border-color:#f2b8b8;
  background:#fff3f3;
}

.whb-alert--success{
  border-color:#bfe6c8;
  background:#f3fff6;
}

/* ===================================================
   RESULTADOS — FORZAMOS 2 COLUMNAS EN DESKTOP
=================================================== */

.whb-results-list{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}

/* En móvil 1 columna */
@media (max-width: 820px){
  .whb-results-list{
    grid-template-columns:1fr;
  }
}

/* ===== Cards ===== */

.whb-card-room{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}

.whb-card-room__title{
  font-weight:800;
  font-size:18px;
  line-height:1.2;
  margin:0;
}

.whb-card-room__thumb img{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:12px;
  display:block;
}

.whb-card-room__desc{
  color:rgba(0,0,0,.75);
  line-height:1.35;
}

.whb-card-room__meta{
  padding:10px 12px;
  border-radius:12px;
  background:rgba(0,0,0,.04);
  margin:0;
}

.whb-card-room__actions{
  margin-top:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-start;
}

.whb-card-room__actions .whb-btn{
  flex:1 1 140px;
  text-align:center;
}

/* ===== Modal ===== */

body.whb-modal-open{overflow:hidden;}

.whb-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:99999;
}

.whb-modal.is-open{display:block;}

.whb-modal__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}

.whb-modal__box{
  position:relative;
  max-width:720px;
  margin:6vh auto;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.25);
}

.whb-modal__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #eee;
}

.whb-modal__close{
  border:0;
  /*background:transparent;*/
  font-size:24px;
  cursor:pointer;
}

.whb-modal__body{
  padding:14px 16px;
}

/* ===== Ajustes wpautop ===== */

.whb-booking-form br{ display:none; }
.whb-booking-form p{ margin:0; }
.whb-modal__body br{ display:none; }
.whb-modal__body p{ margin:0; }

.whb-booking-form .whb-alert{
  margin-bottom:12px;
}