.tour-booking-wrapper { display: grid; grid-auto-flow: row; gap: 26px; }

.input-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
}



.date-selector,
.traveler-selector { position: relative; }

.date-input-display,
.traveler-input-display {
  width: 100%;
  height: 52px;
  padding: 0 16px;
  border: 1px solid #ddd;
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
  transition: .2s ease;
  background: #fff;
  box-sizing: border-box;
}



.date-input-display:hover,
.traveler-input-display:hover { border-color: #000; }
.traveler-summary-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; flex-grow: 1; }

.date-dropdown,
.traveler-dropdown {
  display: none;
  position: absolute;
  left: 0;
  width: 100%;
  background: #fff;
  border: 1px solid #e5e5e5;
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  border-radius: 14px;
  padding: 25px;
  z-index: 999999;
  top: calc(100% + 4px);
  max-height: none;
  overflow: hidden;
  transition: height 0.25s;
  box-sizing: border-box;
}

.calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f9f9f9;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 600;
  box-shadow: none;
  margin-bottom: 15px;
  border: 1px solid #eee;
}
.calendar-header .month-name { font-size: 15px; color: #000; }
.calendar-header button { background: #fff; border-radius: 50%; border: 1px solid #ddd; width: 32px; height: 32px; display: flex; justify-content: center; align-items: center; cursor: pointer; transition: 0.2s; padding: 0; }
.calendar-header button:hover { background: #f0f0f0; border-color: #ccc; }
.calendar-header button svg { width: 14px; height: 14px; stroke: #333; }

.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.calendar-weekday { font-size: 11px; text-align: center; font-weight: 600; color: #888; text-transform: uppercase; margin-bottom: 5px; }
.calendar-day { padding: 6px; text-align: center; border-radius: 6px; cursor: pointer; transition: .2s; font-size: 14px; font-weight: 500; }
.calendar-day.today { background: #FFF4E0; color: #E67E22; font-weight: 600; }
.calendar-day.selected { background: #FF7F50; color: #fff; }
.calendar-day:hover { background: #f5f5f5; }
.calendar-day.disabled { color: #ddd; cursor: not-allowed; background: transparent; font-weight: 400; }
.calendar-day.empty { background: transparent; cursor: default; }
.calendar-done { margin-top: 15px; }

.t-row { display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid #f5f5f5; }
.t-label { display: flex; flex-direction: column; }
.t-name { font-size: 15px; font-weight: 600; color: #000; }
.t-price { font-size: 13px; color: #666; font-weight: 400; }

.counter-box { display: flex; align-items: center; background: #f9f9f9; padding: 5px; border-radius: 40px; gap: 8px; border: 1px solid #eee; }
.c-btn { width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 1px solid #ddd; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: .2s; padding: 0; }
.c-btn:hover { background: #f0f0f0; border-color: #ccc; }
.c-btn svg { width: 14px !important; height: 14px !important; stroke: #333; display: block; }
.counter-box input { width: 60px; border: none !important; background: transparent; text-align: center; font-weight: 600; font-size: 16px; color: #111; pointer-events: none; }

.pricing-container { margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; animation: fadeIn 0.3s ease-in-out; }
.price-breakdown { margin-bottom: 12px; display: flex; flex-direction: column; gap: 8px; }
.breakdown-row { display: flex; justify-content: space-between; font-size: 14px; color: #555; padding: 0 4px; }
.vat-summary { display: flex; flex-direction: column; gap: 8px; border-top: 1px dashed #ddd; padding-top: 12px; margin-bottom: 12px; }
.vat-row { display: flex; justify-content: space-between; font-size: 14px; color: #666; padding: 0 4px; }
.price-display { display: flex; justify-content: space-between; font-size: 18px; font-weight: 700; color: #000; padding-top: 12px; border-top: 1px solid #eee; }