.traveler-editor { min-width: 0; color: #234b5c; font-size: 14px; }
.traveler-counts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.traveler-editor label { display: grid; gap: 5px; min-width: 0; font-size: 12px; color: #5d7784; }
.traveler-editor :is(input,select) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #d5e3e9; border-radius: 9px; background: #fff; color: #234b5c; font: inherit; font-size: 15px; }
.traveler-editor :is(input,select):focus-visible { outline: 2px solid #1c78b3; outline-offset: 2px; }
.traveler-total { display: block; margin-top: 10px; color: #52766b; font-size: 12px; }
.traveler-ages { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.traveler-ages > :is(p,small) { grid-column: 1/-1; margin: 0; font-size: 11px; font-weight: 400; line-height: 1.5; color: #738a92; }
.traveler-warning { margin: 10px 0; color: #906329; font-size: 12px; line-height: 1.5; }
.catalog-toolbar .traveler-filter { display: none; grid-column: 1/-1; padding: 14px; border: 1px solid #dce9ed; border-radius: 12px; background: #f7fbfd; }
.catalog-toolbar.is-accommodation .traveler-filter { display: block; }
.traveler-filter .traveler-ages { grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); }
#cartDialog .trip-config-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
#cartDialog .trip-config-fields label:last-child { grid-column: auto; }
#tripTravelers { margin-top: 14px; }
#cartDialog .activity-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
#cartDialog .activity-travelers { grid-column: 1/-1; }
#cartDialog .picker-filters { grid-template-columns: 1fr; }
#cartDialog .traveler-editor label { font-size: 12px; }
.activity-price-breakdown { margin-top: 8px; font-size: 11px; line-height: 1.6; color: #6f8790; }
.booking-fields #detailTravelers { grid-column: 1/-1; padding: 16px; }
.booking-fields #detailTravelers label { padding: 0; border: 0; min-height: 0; }
.booking-fields #detailTravelers :is(input,select) { padding: 10px; border: 1px solid #d5e3e9; font-size: 16px; }
#detailRateSummary { font-size: 12px; line-height: 1.6; color: #63818e; margin: 10px 0 16px; }
@media(max-width:600px) { .traveler-editor :is(input,select),#cartDialog .traveler-editor :is(input,select) { font-size: 16px; } #cartDialog .activity-fields label:first-child { grid-column: auto; } }

.search-person-field { display: grid; gap: 6px; min-width: 0; color: #527287; font-size: 12px; }
.catalog-rate-summary { display: block; margin: 10px 0; color: #527287; font-size: 12px; line-height: 1.6; }
#childPricingFields { padding: 16px; border: 1px solid #d5e3e9; border-radius: 12px; }
.traveler-counts select {
  appearance: none; -webkit-appearance: none; padding-right: 34px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235d7784' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-position: right 11px center; background-size: 18px; background-repeat: no-repeat;
}
.booking-fields #detailTravelers .traveler-counts select { padding-right: 34px; }
.traveler-counts select:disabled { background-color: #f5f8f9; color: #84979f; cursor: default; }
