.tsb-wrap{width:100%;background:#fff;border-radius:16px;padding:24px 28px;box-shadow:0 4px 30px rgba(0,0,0,.10);position:relative;z-index:9999;}
.tsb-form{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.tsb-field{display:flex;flex-direction:column;gap:8px;position:relative;flex:1;min-width:160px;}
.tsb-field--date{flex:1.6;min-width:220px;}
.tsb-field--travellers{flex:1.2;min-width:180px;position:relative;z-index:9999;}
.tsb-label{font-size:13px;font-weight:600;color:#505050;letter-spacing:.2px;white-space:nowrap;}
.tsb-select-wrap{position:relative;}
.tsb-select{width:100%;height:52px;padding:0 40px 0 16px;border:1.5px solid #E8E8E8;border-radius:10px;background:#FAFAFA;font-size:15px;color:#1e1e1e;font-family:inherit;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;transition:border-color .2s;}
.tsb-select:focus{border-color:#20C210;background:#fff;}
.tsb-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center;}
.tsb-select-arrow svg{width:12px;height:8px;}
.tsb-date-single,.tsb-date-range{display:flex;align-items:center;gap:8px;}
.tsb-date-input-wrap{position:relative;flex:1;}
.tsb-date-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center;}
.tsb-date-icon svg{width:18px;height:18px;}
.tsb-input{width:100%;height:52px;padding:0 14px 0 44px;border:1.5px solid #E8E8E8;border-radius:10px;background:#FAFAFA;font-size:15px;color:#1e1e1e;font-family:inherit;outline:none;cursor:pointer;box-sizing:border-box;transition:border-color .2s;}
.tsb-input:focus{border-color:#20C210;background:#fff;}
.tsb-date-sep{color:#888;font-size:16px;flex-shrink:0;}
.tsb-travellers-trigger{height:52px;padding:0 14px;border:1.5px solid #E8E8E8;border-radius:10px;background:#FAFAFA;display:flex;align-items:center;gap:10px;cursor:pointer;transition:border-color .2s;user-select:none;}
.tsb-travellers-trigger:focus,.tsb-travellers-trigger.is-open{border-color:#20C210;background:#fff;outline:none;}
.tsb-travellers-icon{color:#888;display:flex;align-items:center;flex-shrink:0;}
.tsb-travellers-icon svg{width:18px;height:18px;}
.tsb-travellers-text{flex:1;font-size:15px;color:#1e1e1e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tsb-travellers-panel{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:#fff;border:1.5px solid #E8E8E8;border-radius:14px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:9999;max-height:230px;overflow-y:auto;}
.tsb-travellers-panel.is-open{display:block;}
.tsb-pax-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #F0F0F0;}
.tsb-pax-info{display:flex;flex-direction:column;gap:2px;}
.tsb-pax-label{font-size:15px;font-weight:600;color:#1e1e1e;}
.tsb-pax-desc{font-size:12px;color:#888;}
.tsb-qty-wrap{display:flex;align-items:center;gap:14px;}
.tsb-qty-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid #20C210;background:#fff;color:#20C210;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;padding:0;font-family:inherit;}
.tsb-qty-btn:hover{background:#20C210;color:#fff;}
.tsb-qty-btn:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed;}
.tsb-qty-btn:disabled:hover{background:#fff;color:#ccc;}
.tsb-qty-val{font-size:16px;font-weight:600;color:#1e1e1e;min-width:20px;text-align:center;}
.tsb-children-ages{display:flex;flex-direction:column;gap:0;}
.tsb-age-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #F0F0F0;}
.tsb-age-label{font-size:14px;color:#505050;font-weight:500;}
.tsb-age-note{font-size:11px;color:#20C210;font-weight:600;margin-top:2px;display:none;}
.tsb-age-note.is-visible{display:block;}
.tsb-age-select-wrap{position:relative;}
.tsb-age-select{height:38px;padding:0 30px 0 12px;border:1.5px solid #E8E8E8;border-radius:8px;background:#FAFAFA;font-size:14px;color:#1e1e1e;font-family:inherit;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;min-width:130px;}
.tsb-age-select:focus{border-color:#20C210;}
.tsb-age-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;}
.tsb-age-arrow svg{width:10px;height:7px;}
.tsb-done-btn{width:100%;margin-top:16px;padding:12px;background:#20C210;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;}
.tsb-done-btn:hover{background:#18a00e;}
.tsb-search-btn{height:52px;padding:0 28px;background:#20C210;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:background .2s,transform .1s;flex-shrink:0;align-self:flex-end;}
.tsb-search-btn svg{width:18px;height:18px;}
.tsb-search-btn:hover{background:#18a00e;transform:translateY(-1px);}

/* Flatpickr overrides */
.flatpickr-calendar{border-radius:14px!important;box-shadow:0 8px 32px rgba(0,0,0,.12)!important;border:1.5px solid #E8E8E8!important;font-family:inherit!important;}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#20C210!important;border-color:#20C210!important;}
.flatpickr-day.inRange{background:rgba(32,194,16,.15)!important;border-color:transparent!important;box-shadow:none!important;}
.flatpickr-day:hover{background:rgba(32,194,16,.12)!important;border-color:#20C210!important;}

/* Scrollbar */
.tsb-travellers-panel::-webkit-scrollbar{width:4px;}
.tsb-travellers-panel::-webkit-scrollbar-track{background:transparent;}
.tsb-travellers-panel::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px;}
.tsb-travellers-panel::-webkit-scrollbar-thumb:hover{background:#20C210;}

/* Responsive */
@media(max-width:768px){
    .tsb-wrap{padding:20px 16px;}
    .tsb-form{flex-direction:column;gap:12px;}
    .tsb-field,.tsb-field--date,.tsb-field--travellers{width:100%;flex:none;min-width:0;}
    .tsb-search-btn{width:100%;justify-content:center;}
    .tsb-travellers-panel{left:0;right:0;min-width:0;}
}

/* ════════════════════════════════════════════════════════════
   TABS — Tour / Hotel / Car / Transport
════════════════════════════════════════════════════════════ */
.tsb-tabs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.tsb-tab{display:flex;align-items:center;gap:8px;height:42px;padding:0 20px;border-radius:30px;border:1.5px solid #E8E8E8;background:#fff;color:#505050;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;}
.tsb-tab-icon{width:16px;height:16px;flex-shrink:0;}
.tsb-tab:hover{border-color:#20C210;color:#20C210;}
.tsb-tab.active{background:#20C210;border-color:#20C210;color:#fff;}

/* ════════════════════════════════════════════════════════════
   PANELS — only the active tab's fields are shown.
   (.tsb-panel must come after .tsb-form in source order so the
   "display:none" default below wins on the inactive panels;
   .tsb-panel.active always wins thanks to higher specificity.)
════════════════════════════════════════════════════════════ */
.tsb-panel{display:none;}
.tsb-panel.active{display:flex;}
.tsb-panel--placeholder{align-items:center;justify-content:center;min-height:90px;width:100%;}
.tsb-placeholder-text{color:#888;font-size:15px;margin:0;}

@media(max-width:768px){
    .tsb-tabs{gap:8px;}
    .tsb-tab{height:38px;padding:0 14px;font-size:13px;}
}