.search-bar{display:grid;grid-template-columns:1.08fr 1.38fr 1.16fr 1fr 96px;align-items:stretch;border:4px solid #febb02;border-radius:12px;overflow:visible;box-shadow:0 8px 20px rgba(0,0,0,.15);background:#febb02;gap:5px;}
.field-shell{position:relative;}
.field-shell.invalid .search-field{box-shadow:0 0 0 2px #d93025 inset;}
.search-field{width:100%;height:56px;padding:0 16px;border-radius:8px;background:#ffffff;display:flex;align-items:center;gap:12px;text-align:left;}
.search-field.static{cursor:pointer;}
.field-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#6b6b6b;flex:0 0 22px;}
.field-text{font-size:15px;color:#1a1a1a;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-btn{height:56px;border-radius:8px;background:#006ce4;color:#ffffff;font-size:18px;font-weight:500;display:flex;align-items:center;justify-content:center;}
.popup{position:absolute;top:calc(100% + 12px);left:0;display:none;background:#ffffff;border:1px solid #dfdfdf;border-radius:14px;box-shadow:0 18px 32px rgba(0,0,0,.16);z-index:30;}
.popup.open{display:block;}
.category-popup{width:420px;padding:18px;}
.destination-popup{width:540px;padding:18px;}
.date-popup{width:650px;padding:16px;}
.guest-popup{width:360px;padding:18px;}
.category-options{display:flex;flex-wrap:wrap;gap:10px;}
.category-option{min-height:44px;padding:0 16px;border:1px solid #e7e7e7;border-radius:999px;background:#ffffff;text-align:left;font-size:14px;color:#1a1a1a;font-weight:700;}
.category-option.active{border-color:#006ce4;background:#eef5ff;color:#006ce4;}
.destination-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.destination-col{border:1px solid #ededed;border-radius:12px;padding:12px;min-height:260px;max-height:340px;overflow:auto;}
.destination-head{font-size:14px;font-weight:700;color:#1a1a1a;margin-bottom:10px;}
.destination-list{display:flex;flex-direction:column;gap:8px;}
.city-option{width:100%;padding:11px 12px;border:1px solid #e7e7e7;border-radius:10px;background:#ffffff;text-align:left;font-size:14px;color:#1a1a1a;}
.city-option.active{border-color:#006ce4;background:#eef5ff;color:#006ce4;font-weight:700;}
.district-option{width:100%;padding:11px 12px;border:1px solid #e7e7e7;border-radius:10px;background:#ffffff;text-align:left;font-size:14px;color:#1a1a1a;}
.district-option.active{border-color:#006ce4;background:#eef5ff;color:#006ce4;font-weight:700;}
.popup-empty-text{font-size:14px;color:#666666;padding:12px 4px;line-height:1.5;}
.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.calendar-nav{display:flex;align-items:center;gap:8px;}
.calendar-nav-btn{width:40px;height:40px;border-radius:999px;background:#f3f4f6;color:#1a1a1a;display:flex;align-items:center;justify-content:center;}
.calendar-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.calendar-month{background:#ffffff;border-radius:12px;}
.calendar-month-title{font-size:16px;font-weight:600;color:#1a1a1a;text-align:center;margin-bottom:14px;}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;}
.calendar-weekday{height:30px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#666666;}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);}
.calendar-empty{height:44px;}
.calendar-day{height:44px;border-radius:8px;background:#ffffff;color:#1a1a1a;font-size:15px;font-weight:400;display:flex;align-items:center;justify-content:center;}
.calendar-day.end-preview{background:#dbeafe;color:#006ce4;border:1px solid #006ce4;}
.calendar-day.today{font-weight:800;color:#006ce4;}
.calendar-day.in-range{background:#eef1f5;border-radius:0;color:#1a1a1a;font-weight:700;}
.calendar-day.start{background:#006ce4;color:#ffffff;border-radius:8px 0 0 8px;}
.calendar-day.end{background:#006ce4;color:#ffffff;border-radius:0 8px 8px 0;}
.calendar-day.disabled{color:#c7c7c7;cursor:not-allowed;}
.guest-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;}
.guest-label{font-size:18px;font-weight:600;color:#1a1a1a;}
.counter{width:128px;height:44px;padding:0 14px;border:1px solid #a9a9a9;border-radius:6px;display:flex;align-items:center;justify-content:space-between;}
.counter-btn{width:24px;height:24px;color:#4285f4;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;}
.counter-btn.disabled{opacity:.35;pointer-events:none;}
.counter-value{font-size:22px;font-weight:500;color:#1a1a1a;min-width:22px;text-align:center;}
.child-ages-section{display:none;padding:2px 0 12px 0;}
.child-ages-section.open{display:block;}
.child-ages-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.child-age-field{position:relative;}
.child-age-select{width:100%;height:40px;padding:0 36px 0 12px;border:1px solid #ff4d4f;border-radius:6px;background:#ffffff;color:#1a1a1a;font-size:14px;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:none;}
.child-age-field::after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;background-repeat:no-repeat;background-position:center;background-size:16px 16px;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");}
.child-age-select.filled{border-color:#003b95;}
.child-age-note{margin-top:10px;font-size:13px;line-height:1.55;color:#4b4b4b;}
@media (max-width:1100px){.search-bar{grid-template-columns:1fr;padding:5px;gap:10px;}}
@media (max-width:1100px){.popup{position:static;width:100%;margin-top:0;border-radius:0;border-left:none;border-right:none;border-bottom:none;box-shadow:none;}}
@media (max-width:1100px){.calendar-wrap{grid-template-columns:1fr;}}
@media (max-width:768px){.destination-columns{grid-template-columns:1fr;}}
@media (max-width:480px){.child-ages-grid{grid-template-columns:1fr 1fr;}}
.popup-subtitle{margin:-4px 0 14px 0;font-size:13px;line-height:1.5;color:#667085;}
.district-group{display:flex;flex-direction:column;gap:8px;padding-bottom:14px;}
.district-group+.district-group{margin-top:14px;padding-top:14px;border-top:1px solid #ededed;}
.district-group-title{font-size:13px;font-weight:700;color:#344054;}
