/* Quinta Lina Booking — qlb.css */
#qlb-booking-wrap {
  max-width: 640px;
  margin: 0 auto;
  font-family: 'Jost', 'Segoe UI', sans-serif;
}
.qlb-step-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #1a1208;
  margin-bottom: 1.5rem;
}
.qlb-form-row { margin-bottom: 1rem; }
.qlb-form-row.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.qlb-field label {
  display: block;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #a08c74;
  margin-bottom: .4rem;
}
.qlb-field input,
.qlb-field select,
.qlb-field textarea {
  width: 100%;
  border: 1.5px solid #e5ddd4;
  border-radius: 8px;
  padding: .65rem .9rem;
  font-family: inherit;
  font-size: .95rem;
  color: #1a1208;
  background: #faf7f3;
  outline: none;
  box-sizing: border-box;
  transition: border-color .2s;
}
.qlb-field input:focus,
.qlb-field select:focus,
.qlb-field textarea:focus {
  border-color: #b86d44;
  background: #fff;
}
.qlb-btn {
  display: inline-flex;
  align-items: center;
  padding: .75rem 2rem;
  border-radius: 8px;
  font-family: inherit;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .06em;
  cursor: pointer;
  border: none;
  transition: all .2s;
}
.qlb-btn-primary { background: #b86d44; color: #fff; }
.qlb-btn-primary:hover { background: #a05c36; }
.qlb-btn-secondary { background: #f0ebe4; color: #3a2e26; }
.qlb-btn-secondary:hover { background: #e5ddd4; }

/* Summary box */
.qlb-summary {
  background: #f5f0eb;
  border-radius: 10px;
  padding: 1.1rem 1.3rem;
  margin-bottom: 1.4rem;
  font-size: .9rem;
}
.qlb-summary-row { display: flex; justify-content: space-between; margin-bottom: .4rem; }
.qlb-summary-row:last-child { margin-bottom: 0; font-weight: 700; font-size: 1rem; border-top: 1px solid #e5ddd4; padding-top: .4rem; margin-top: .4rem; }

/* Availability result */
#qlb-availability-result {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 8px;
}
.qlb-avail-ok { background: #d8f3dc; color: #2d6a4f; }
.qlb-avail-no { background: #ffe0d6; color: #b5451b; }

/* Success */
.qlb-success { text-align: center; padding: 3rem 1rem; }
.qlb-success-icon {
  width: 64px; height: 64px;
  background: #2d6a4f; color: #fff;
  border-radius: 50%;
  font-size: 2rem;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.2rem;
}
.qlb-success h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.8rem; font-weight: 400; color: #1a1208; }
.qlb-success p { color: #6b5740; }

/* Error */
.qlb-error {
  background: #ffe0d6; color: #b5451b;
  padding: .8rem 1rem; border-radius: 8px;
  margin-top: 1rem; font-size: .9rem;
}

/* Spinner */
.qlb-spinner {
  width: 36px; height: 36px;
  border: 3px solid #f0ebe4;
  border-top-color: #b86d44;
  border-radius: 50%;
  animation: qlb-spin .8s linear infinite;
  margin: 0 auto;
}
@keyframes qlb-spin { to { transform: rotate(360deg); } }

@media(max-width: 600px) {
  .qlb-form-row.two-col { grid-template-columns: 1fr; }
}

/* Flatpickr overrides */
.flatpickr-calendar { font-family: 'Jost', sans-serif; border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,.12); }
.flatpickr-day.selected,
.flatpickr-day.selected:hover { background: #b86d44; border-color: #b86d44; }
.flatpickr-day.inRange { background: #f5ede2; border-color: #f5ede2; }
.flatpickr-day.startRange,
.flatpickr-day.endRange { background: #b86d44; border-color: #b86d44; }
.flatpickr-day.qlb-blocked,
.flatpickr-day.flatpickr-disabled { color: #ccc !important; text-decoration: line-through; background: #fafafa !important; }
.flatpickr-months .flatpickr-month { background: #3a2e26; color: #f5ede2; }
.flatpickr-current-month .flatpickr-monthDropdown-months { color: #f5ede2; }
.flatpickr-weekdays { background: #3a2e26; }
span.flatpickr-weekday { color: #d4956a; background: #3a2e26; }

/* Input עם אייקון לוח שנה */
.qlb-field.date-field { position: relative; }
.qlb-field.date-field input { padding-left: 2.5rem; cursor: pointer; }
.qlb-field.date-field::before {
  content: '📅';
  position: absolute;
  left: .7rem;
  top: 2.3rem;
  font-size: .9rem;
  pointer-events: none;
}

/* ============================================================
   HOMEPAGE STRIP
   ============================================================ */
.qlb-strip-wrap {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(58,46,38,.12);
  min-height: 72px;
}
.qlb-strip-field {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: .7rem 1.4rem;
  border-right: 1px solid #f0ebe4;
  position: relative;
}
.qlb-strip-field label {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .13em;
  color: #b86d44;
  margin-bottom: .2rem;
  text-transform: uppercase;
}
.qlb-strip-field input,
.qlb-strip-field select {
  border: none;
  background: transparent;
  font-family: 'Jost', sans-serif;
  font-size: .95rem;
  color: #1a1208;
  outline: none;
  cursor: pointer;
  padding: 0;
  width: 100%;
}
.qlb-strip-field select { appearance: none; }
.qlb-strip-guests { flex: 0 0 110px; }
.qlb-strip-btn {
  flex: 0 0 130px;
  background: #b86d44;
  color: #fff;
  border: none;
  font-family: 'Jost', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  cursor: pointer;
  transition: background .2s;
}
.qlb-strip-btn:hover { background: #a05c36; }

@media(max-width: 768px) {
  .qlb-strip-wrap { flex-direction: column; border-radius: 10px; }
  .qlb-strip-field { border-right: none; border-bottom: 1px solid #f0ebe4; }
  .qlb-strip-btn { flex: none; padding: 1rem; }
}

/* ============================================================
   SIDEBAR WIDGET
   ============================================================ */
.qlb-sidebar-widget { padding: .2rem 0; }
.qlb-sb-field {
  margin-bottom: .8rem;
}
.qlb-sb-field label {
  display: block;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .13em;
  color: #b86d44;
  margin-bottom: .3rem;
  text-transform: uppercase;
}
.qlb-sb-field input,
.qlb-sb-field select {
  width: 100%;
  border: 1.5px solid #e5ddd4;
  border-radius: 8px;
  padding: .55rem .85rem;
  font-family: 'Jost', sans-serif;
  font-size: .92rem;
  color: #1a1208;
  background: #faf7f3;
  outline: none;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color .2s;
}
.qlb-sb-field input:focus,
.qlb-sb-field select:focus { border-color: #b86d44; background: #fff; }
.qlb-sb-price-preview {
  background: #f5f0eb;
  border-radius: 8px;
  padding: .6rem .9rem;
  margin-bottom: .6rem;
  font-size: .9rem;
}
