
/* Searchbar component styles */
.lm-searchbar {
  display: flex;
  gap: 12px;
  align-items: center;
  background: rgba(255,255,255);
  padding: 17px;
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
  height: 80px;
}
.lm-searchbar-placeholder {
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 9;
  transform: translateY(-50%);
}
.lm-dates label { display: inline-flex; flex-direction: column; font-size: 12px; }
.lm-dates input[type="date"] { padding: 6px; border-radius: 6px; border: 1px solid #ddd; }
.lm-date-btns { display:inline-flex; border-radius: 6px; overflow: hidden; background: inherit; border: 1px solid #e6e6e6; }
.lm-date-btn { padding: 14px 14px; background: transparent; border: none; color: #222; cursor: pointer;  width: 220px; height: 60px; display:flex; flex-direction:column; align-items:flex-start; justify-content: center; gap:4px; }
.lm-date-btn:first-child { border-top-left-radius: 6px; border-bottom-left-radius: 6px; }
.lm-date-btn:last-child { border-top-right-radius: 6px; border-bottom-right-radius: 6px; }
.lm-date-btn + .lm-date-btn { border-left: 1px solid #e6e6e6; }
.lm-guests { position: relative; width: 220px; }
.lm-guests > button, #lm-guests-btn { background: inherit; border: 1px solid #e6e6e6; color: #222; padding: 14px 14px; border-radius:6px; cursor:pointer; display:flex; flex-direction:column; width: 220px; height: 60px; align-items:flex-start; justify-content: center; gap:4px; }
.lm-guests > button:hover, #lm-guests-btn:hover { filter: brightness(0.98); }
.lm-guests-panel { position: absolute; top: calc(100% + 8px); left: 0; background: #fff; padding: 10px; border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,0.08); display: none; }
.lm-guests-panel[aria-hidden="false"] { display: block; }
.lm-guest-row { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:8px; color: #000;}
.lm-guest-controls { display:flex; align-items:center; gap:8px; }
.lm-guest-count { min-width: 28px; text-align:center; display:inline-block; }
.lm-guest-increment, .lm-guest-decrement { padding:6px 8px; border-radius:6px; border:1px solid #e6e6e6; background:inherit; cursor:pointer; }
.lm-guest-decrement.disabled, .lm-guest-decrement:disabled { opacity:0.35; cursor: default; }
.lm-guests-panel button#lm-guests-done {
  margin-top: 8px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #91a9b9;
  border: none;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  width: 100%;
  height: 40px;
  font-size: 15px;
  padding: 0 14px;
}
.lm-guests-panel button#lm-guests-done:hover { filter: brightness(0.98); }
.lm-search-btn button { display: flex; justify-content: center; align-items: center; background: #91a9b9; border:none; border-radius: 999px; color: #fff; cursor: pointer; width: 190px; height: 45px; font-size: 15px;}

/* Icon in search button */
.lm-search-btn .lm-search-icon { display:inline-flex; margin-right:8px; vertical-align:middle; }
.lm-search-btn .lm-search-text { vertical-align:middle; }

/* Date button label + value styling (label above, value below) */
.lm-date-label { font-size: 15px; color: #666; line-height:1; }
.lm-date-value { font-size: 17px; color: #666; line-height:1; }
.lm-date-value:empty { display:none; }

/* Calendar popup styles */
.lm-calendar { position: absolute; top: calc(100% + 8px); background:#fff; padding:18px; border-radius:12px; box-shadow:0 14px 40px rgba(0,0,0,0.16); display:none; z-index:2000; width:100%; max-width:655px; box-sizing: border-box; }
.lm-calendar[aria-hidden="false"] { display:block; }
.lm-cal-header { display:flex; align-items:center; gap:8px; justify-content:space-between; margin-bottom:8px; }
.lm-cal-header button { padding: 6px 8px; background: #adc5d6; border: none; color: #fff; border-radius: 6px; cursor: pointer; }
.lm-cal-header button:hover { filter: brightness(0.95); }
.lm-cal-title { font-weight:600; color: rgb(75, 75, 75);}
.lm-cal-title { display:flex; gap:12px; align-items:center; justify-content:center; width:100%; }
.lm-cal-month-name { display:inline-block; width:240px; text-align:center; }
.lm-cal-month-name.left { margin-right:18px; }
.lm-cal-month-name.right { margin-left:18px; }
.lm-cal-weekdays, .lm-cal-grid { display:grid; grid-template-columns:repeat(7, 1fr); gap:0; }
.lm-cal-panels { display:flex; gap:18px; }
.lm-cal-month { min-width:300px; }
.lm-cal-subtitle { display:none; text-align:center; font-weight:600; margin-bottom:6px; }
.lm-cal-weekdays div { text-align:center; font-size:11px; color:#666; }
.lm-cal-cell { border:none; background:transparent; padding:8px; border-radius:0; cursor:pointer; }
.lm-cal-cell.disabled {
  color: #9aa1a6;
  cursor: default;
  /* Visually strike-through dates that are before today (disabled by JS)
     Keep color muted but readable for accessibility */
  text-decoration: line-through;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-decoration-skip-ink: none;
}
.lm-cal-cell.selected { background: rgba(108, 139, 161, 0.55); }
.lm-cal-cell.inrange { background: rgba(173,197,214,0.35); border-radius:0; }
.lm-cal-cell.inrange-hover { background: rgba(173,197,214,0.55); /* lighter than inrange */ border-radius:0; }
.lm-cal-cell.inrange-dim { opacity: 0.35; }
.lm-cal-cell.checkin { border-top-left-radius:6px; border-bottom-left-radius:6px; }
.lm-cal-cell.checkout { border-top-right-radius:6px; border-bottom-right-radius:6px; }
.lm-cal-cell.selected.checkin,
.lm-cal-cell.selected.checkout {
  background: rgba(120,150,170,0.95); /* slightly darker than inrange */
  color: #000; /* keep text black */
}
.lm-cal-cell.hover-start,
.lm-cal-cell.hover-end {
  background: rgba(110,140,160,0.95) !important;
  color: #000 !important;
}
.lm-cal-cell.hover-start {
  border-top-left-radius: 6px !important;
  border-bottom-left-radius: 6px !important;
}
.lm-cal-cell.hover-end {
  border-top-right-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
}


.lm-cal-cell.empty { background:transparent; }

/* Responsive: show a single month under 640px */
@media (max-width: 640px) {
  .lm-calendar { width: calc(100% - 32px); left: 50%; transform: translateX(-50%); padding:12px; max-width:100%; }
  .lm-cal-panels { gap:12px; flex-direction:column; }
  .lm-cal-month { min-width: auto; width:100%; }
  /* hide the second month panel */
  .lm-cal-panels .lm-cal-month:nth-child(2) { display:none; }
  /* header adjustments: hide right month name, make left full width */
  .lm-cal-month-name.right { display:none; }
  .lm-cal-month-name.left { width:100%; }
  .lm-cal-title { justify-content:center; }
}

@media (max-width: 950px) {
  .lm-searchbar-placeholder {
    transform: translateY(-30%);
  }
  .lm-searchbar {
    flex-direction: column;
    align-items: stretch;
    height: auto;
  }
  .lm-date-btns, .lm-guests > button, #lm-guests-btn, .lm-search-btn button {
    width: 310px;
  }

.lm-calendar {
    top: 38%;
    left: 50%;
    transform: translateX(-50%);
  }
}



