.mtsw-widget{max-width:1100px;margin:24px auto;background:#fff;border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.12);overflow:hidden;font-family:inherit}.mtsw-tabs{display:flex;gap:0;overflow-x:auto;background:#f5f7fa;border-bottom:1px solid #e6e8ec}.mtsw-tab{appearance:none;border:0;background:transparent;padding:16px 20px;font-weight:700;cursor:pointer;white-space:nowrap;color:#263238}.mtsw-tab.active{background:#32a8dd;color:#fff}.mtsw-form{padding:24px}.mtsw-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-items:end}.mtsw-field{display:flex;flex-direction:column;gap:7px;grid-column:span 1}.mtsw-field span{font-size:13px;font-weight:700;color:#37474f}.mtsw-field input,.mtsw-field select{width:100%;min-height:48px;border:1px solid #d8dde3;border-radius:10px;padding:10px 12px;font-size:15px;background:#fff}.mtsw-destination-field{grid-column:span 2}.mtsw-search-btn{min-height:48px;border:0;border-radius:10px;background:#32a8dd;color:#fff;font-size:16px;font-weight:800;cursor:pointer;padding:0 22px}.mtsw-search-btn:hover{filter:brightness(.95)}.mtsw-helper{margin:14px 0 0;color:#607d8b;font-size:14px}.mtsw-widget[data-mode="hotels"] .mtsw-from-field,.mtsw-widget[data-mode="holidays"] .mtsw-from-field,.mtsw-widget[data-mode="insurance"] .mtsw-from-field,.mtsw-widget[data-mode="activities"] .mtsw-from-field{display:none}.mtsw-widget[data-mode="parking"] .mtsw-destination-field span{font-size:0}.mtsw-widget[data-mode="parking"] .mtsw-destination-field span:after{content:'Airport';font-size:13px}.mtsw-widget[data-mode="cars"] .mtsw-from-field span{font-size:0}.mtsw-widget[data-mode="cars"] .mtsw-from-field span:after{content:'Pick-up location';font-size:13px}.mtsw-widget[data-mode="cars"] .mtsw-destination-field span{font-size:0}.mtsw-widget[data-mode="cars"] .mtsw-destination-field span:after{content:'Drop-off location';font-size:13px}@media(max-width:900px){.mtsw-grid{grid-template-columns:1fr 1fr}.mtsw-field,.mtsw-destination-field{grid-column:span 1}.mtsw-search-btn{grid-column:span 2}}@media(max-width:560px){.mtsw-grid{grid-template-columns:1fr}.mtsw-search-btn{grid-column:span 1}.mtsw-form{padding:18px}.mtsw-tab{padding:14px 16px}}


/* v1.4 mobile tab fix: show every tab instead of cutting off */
@media(max-width:700px){
  .mtsw-widget{
    max-width:calc(100% - 24px);
    margin:16px auto;
    border-radius:16px;
  }
  .mtsw-tabs{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    overflow:visible !important;
    border-bottom:1px solid #e6e8ec;
  }
  .mtsw-tab{
    width:100%;
    min-width:0;
    padding:12px 6px;
    font-size:14px;
    line-height:1.15;
    text-align:center;
    white-space:normal;
    border-right:1px solid #e6e8ec;
    border-bottom:1px solid #e6e8ec;
  }
  .mtsw-tab:nth-child(3n){
    border-right:0;
  }
  .mtsw-tab.active{
    box-shadow:none;
  }
}

@media(max-width:420px){
  .mtsw-tabs{
    grid-template-columns:repeat(2,1fr);
  }
  .mtsw-tab{
    font-size:13px;
    padding:11px 4px;
  }
  .mtsw-tab:nth-child(3n){
    border-right:1px solid #e6e8ec;
  }
  .mtsw-tab:nth-child(2n){
    border-right:0;
  }
}

/* v1.5: keep desktop widget a constant height when switching tabs */
@media (min-width: 901px){
  .mtsw-widget{
    min-height: 335px;
  }
  .mtsw-form{
    min-height: 235px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }
}

/* v1.5: keep tablet/mobile stable but allow natural height */
@media (max-width: 900px){
  .mtsw-widget{
    min-height: 0;
  }
  .mtsw-form{
    min-height: 0;
  }
}
