
.ah-enclave, .ah-enclave * { box-sizing: border-box; }

.ah-enclave {
  max-width: 1100px;
  margin: 0 auto 4rem auto;
  padding: 3rem 1.5rem;
  background: #F8F5F2;
  border-radius: 1.5rem;
  font-size: 0.95rem;
  color: #555;
}
.ah-enclave-inner { max-width: 1000px; margin: 0 auto; }
.ah-enclave-title { font-size: 2.1rem; text-align: center; margin-bottom: 0.5rem; color:#222; }
.ah-enclave-tagline { text-align: center; font-size: 0.98rem; margin-bottom: 1.4rem; color: #555; }

.ah-enclave-start-btn {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; padding: 0.6rem 1.8rem; font-size: 0.95rem;
  border: none; cursor: pointer; background: #C9A46D; color: #fff; text-decoration: none;
  transition: background 0.2s ease, transform 0.1s ease; margin-bottom: 1.7rem;
}
.ah-enclave-start-btn:hover { background: #b69057; transform: translateY(-1px); }

.ah-enclave-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr); gap: 1.75rem; }
.ah-enclave-main { display: flex; flex-direction: column; gap: 1.75rem; }

.ah-enclave-step {
  background: #ffffff; border-radius: 1.25rem;
  padding: 1.6rem 1.7rem 1.8rem; box-shadow: 0 12px 26px rgba(0,0,0,0.06);
}

.ah-step-head { display:flex; align-items:center; justify-content:space-between; gap:0.75rem; margin-bottom:0.75rem; }
.ah-enclave-step h2 { font-size: 1.25rem; margin: 0; color:#222; }
.ah-step-badge {
  font-size: 0.78rem; padding: 0.25rem 0.55rem; border-radius: 999px;
  border: 1px solid #e1d4c4; background:#fefbf7; color:#6b5b48; white-space:nowrap;
}

.ah-enclave-field-group { margin-bottom: 0.9rem; min-width: 0; }
.ah-enclave-label { display:block; font-size:0.86rem; font-weight:600; margin-bottom:0.25rem; color:#444; }

.ah-enclave-input, .ah-enclave-step select, .ah-enclave-step textarea {
  width:100%;
  display:block;
  border-radius:0.65rem; border:1px solid #ddd0c0;
  padding:0.55rem 0.65rem; font-size:0.92rem; font-family:inherit;
  outline:none; background:#fdfaf6;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.ah-enclave-input--nights { max-width: 180px; }
.ah-enclave-step textarea { resize: vertical; }
.ah-enclave-input:focus, .ah-enclave-step select:focus, .ah-enclave-step textarea:focus {
  border-color:#C9A46D; box-shadow:0 0 0 1px rgba(201,164,109,0.35); background:#fff;
}

/* Flatpickr “Airbnb-like” */
.flatpickr-calendar {
  border-radius: 1rem !important;
  border: 1px solid #e1d4c4 !important;
  box-shadow: 0 12px 26px rgba(0,0,0,0.10) !important;
}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange {
  background: #C9A46D !important;
  border-color: #C9A46D !important;
}
.flatpickr-day.inRange {
  background: rgba(201,164,109,0.22) !important;
  border-color: transparent !important;
}

/* Grids para evitar encimados */
.ah-enclave-two { display:grid; gap: 0.95rem; align-items: start; }
.ah-enclave-two--dates { grid-template-columns: minmax(0, 1fr) 200px; }
.ah-enclave-two--guests { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ah-enclave-chips { display:flex; flex-wrap:wrap; gap:0.45rem; }
.ah-chip {
  display:inline-flex; align-items:center; border-radius:999px; border:1px solid #d9c9b7;
  padding:0.2rem 0.65rem; cursor:pointer; font-size:0.84rem; background:#fbf6ef;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.ah-chip input { display:none; }
.ah-chip span { white-space:nowrap; }
.ah-chip-selected { background:#C9A46D; color:#fff; border-color:#C9A46D; box-shadow:0 0 0 1px rgba(201,164,109,0.35); }

.ah-enclave-help { font-size:0.82rem; color:#777; margin-top:0.25rem; }
.ah-enclave-warning { font-size:0.84rem; color:#b33a2b; margin-top:0.35rem; }

.ah-enclave-actions { display:flex; gap:0.6rem; flex-wrap:wrap; margin-top:0.2rem; }
.ah-actions-2 { margin-top:0.6rem; }

.ah-enclave-secondary-btn, .ah-enclave-ghost-btn {
  border-radius:999px; padding:0.55rem 0.95rem; font-size:0.9rem; cursor:pointer;
  transition: transform .1s ease, background .2s ease, border-color .2s ease;
}
.ah-enclave-secondary-btn { border: none; background:#C9A46D; color:#fff; }
.ah-enclave-secondary-btn:hover { background:#b69057; transform: translateY(-1px); }
.ah-enclave-ghost-btn { border:1px solid #d9c9b7; background:#fff; color:#444; }
.ah-enclave-ghost-btn:hover { background:#fbf6ef; transform: translateY(-1px); }

/* Properties */
.ah-enclave-properties-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap:1rem; margin-top:0.7rem; }
.ah-prop-item { position: relative; }

.ah-enclave-property-input{
  position:absolute;
  opacity:0;
  width:1px; height:1px;
  pointer-events:none;
}

.ah-enclave-property-card {
  display:flex; flex-direction:column; border-radius:1.1rem;
  border:1px solid #e1d4c4; background:#fefbf7;
  cursor:pointer; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
  position:relative; outline:none; overflow:hidden;
}
.ah-enclave-property-body { padding: 0.9rem 1rem; }

.ah-prop-img{
  width:100%;
  height: 140px;
  object-fit: cover;
  display:block;
}

.ah-enclave-property-card::before {
  content:""; position:absolute; top:0.8rem; right:0.8rem;
  width:16px; height:16px; border-radius:50%; border:2px solid #C9A46D; background:#fff;
  box-sizing:border-box; z-index:2;
}

.ah-enclave-property-input:checked + .ah-enclave-property-card {
  border-color:#C9A46D;
  background:#f9efe1;
  box-shadow:0 8px 20px rgba(0,0,0,0.05);
}
.ah-enclave-property-input:checked + .ah-enclave-property-card::before { background:#C9A46D; }

.ah-enclave-property-input:focus + .ah-enclave-property-card,
.ah-enclave-property-card:focus {
  box-shadow: 0 0 0 2px rgba(201,164,109,0.35), 0 12px 26px rgba(0,0,0,0.06);
}

.ah-card-top { display:flex; align-items:center; justify-content:space-between; gap:0.6rem; }
.ah-pill {
  font-size:0.76rem; padding:0.18rem 0.5rem; border-radius:999px;
  border:1px solid #e1d4c4; background:#fff; color:#6b5b48; white-space:nowrap;
}
.ah-enclave-property-body h3 { font-size:0.98rem; margin:0 0 0.2rem; color:#222; }
.ah-enclave-property-meta { font-size:0.8rem; color:#777; margin:0 0 0.35rem; }
.ah-enclave-property-text { font-size:0.86rem; color:#555; margin:0; }

/* Sidebar */
.ah-enclave-sidebar { display:flex; flex-direction:column; gap:1.3rem; }
.ah-enclave-summary {
  background:#ffffff; border-radius:1.25rem; padding:1.5rem 1.4rem 1.7rem;
  box-shadow:0 12px 26px rgba(0,0,0,0.06);
  position: sticky; top: 1rem;
}
.ah-enclave-summary h2 { font-size:1.2rem; margin:0 0 0.7rem; color:#222; }
.ah-enclave-summary-block { margin-bottom:0.9rem; }
.ah-enclave-summary-block h3 { font-size:0.98rem; margin:0 0 0.35rem; color:#222; }
.ah-enclave-summary-block p { font-size:0.86rem; margin:0 0 0.25rem; }
.ah-enclave-summary-note { font-size:0.8rem; color:#777; display:block; }
.ah-enclave-summary-small { font-size:0.78rem; color:#777; margin-top:0.35rem; }
.ah-enclave-total { font-size:1.05rem; font-weight:700; color:#b27f3a; }

.ah-fit { margin-left:0.35rem; font-weight:600; }
.ah-fit.ok { color:#2e7d32; }
.ah-fit.bad { color:#b33a2b; }

.ah-enclave-whatsapp-btn {
  display:inline-flex; align-items:center; justify-content:center;
  flex:1; text-align:center;
  border-radius:999px; padding:0.62rem 1rem; font-size:0.95rem;
  border:none; cursor:pointer; background:#25D366; color:#fff; text-decoration:none;
  transition: background .2s ease, transform .1s ease;
}
.ah-enclave-whatsapp-btn:hover { background:#1fb158; transform: translateY(-1px); }

@media (max-width: 960px) {
  .ah-enclave-layout { grid-template-columns: minmax(0, 1fr); }
  .ah-enclave-sidebar { order: -1; }
  .ah-enclave-summary { position: static; top:auto; }
}
@media (max-width: 768px) {
  .ah-enclave { padding: 2.25rem 1.25rem; border-radius: 1.1rem; }
  .ah-enclave-title { font-size: 1.8rem; }
  .ah-enclave-two--dates { grid-template-columns: minmax(0, 1fr); }
  .ah-enclave-input--nights { max-width: none; }
  .ah-prop-img { height: 160px; }
}
