:root{
  --fsl-primary:#ff7a00;
  --fsl-field-bg:#fff;
  --fsl-border:#d6d6e0;
  --fsl-action:#3662e3;
  --fsl-radius:28px;
  --fsl-shadow:rgba(0,0,0,0.12);
  --fsl-font: "Inter", "Helvetica Neue", Arial, sans-serif;
}

.fsl-form-el{font-family:var(--fsl-font);max-width:1180px;margin:0 auto;color:#111827;padding:10px}

/* Tabs */
.fsl-tabs-row{margin-bottom:12px}
.fsl-tab{background:transparent;box-shadow: none !important;border:0;padding:10px 12px;font-weight:600;color:#374151;cursor:pointer;border-bottom:3px solid transparent}
.fsl-tab.active{color:#1e3a8a;border-bottom-color:#1e3a8a}
.fsl-trav-class {
    margin: 15px 0;
}
.fsl-tab:hover {
    background: transparent;
    box-shadow: none !important;
    color: #1e3a8a;
}
.fsl-tab.active:hover
{
	background:transparent !important;
}
/* main layout */
.fsl-main-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.fsl-pill{display:flex;align-items:center;gap:12px;background:var(--fsl-field-bg);border:1px solid var(--fsl-border);border-radius:4px;padding:12px 10px;height:56px;box-shadow:0 1px 0 rgba(0,0,0,0.02)}
.fsl-pill-large{min-width:180px;display:flex;align-items:center}
.fsl-from-to-group{display:flex;gap:12px;align-items:center;position:relative;flex:1}
.fsl-from-pill,.fsl-to-pill{flex:1}
.fsl-dates-pill,.fsl-travpill{flex:0 0 260px}
button.fsl-trav-btn, button.fsl-date-btn {
    font-size: 14px;
    text-align: left;
    font-weight: 400;
}
/* pill internals */
.fsl-pill-icon{flex:0 0 20px;display:flex;align-items:center;justify-content:center}
.fsl-pill-icon i{font-size:14px;color:#9e9e9e}
.fsl-pill-text{flex:1;display:flex;flex-direction:column}
.fsl-pill-label{font-size:11px;color:#6b7280;margin-bottom:4px}
.fsl-pill-value{font-size:15px;color:#111827;display:flex;align-items:center}
.fsl-pill-input{border:0;background:transparent;outline:none;width:100%;font-size:15px;padding:0;margin:0}

/* swap */
.fsl-swap-wrap.fsl-swap-desktop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:40}
.fsl-swap{width:42px;height:42px;border-radius:50%;border:1px solid var(--fsl-border);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.fsl-swap i{font-size:16px}

/* travellers dropdown */
.fsl-trav-dropdown{position:absolute;right:0;top:68px;background:#fff;z-index:9999;width:340px;border:1px solid #e6e6e6;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.12);padding:14px}
.fsl-trav-inner{display:flex;flex-direction:column;gap:0px}
.fsl-trav-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(0,0,0,0.04)}
.fsl-trav-row:last-child{border-bottom:none}
.fsl-trav-left{display:flex;flex-direction:column}
.fsl-trav-title{font-weight:600; font-size14px;}
.fsl-age-desc{font-size:12px;color:#6b7280}
.fsl-trav-right{display:flex;align-items:center;gap:12px}
.fsl-plus,.fsl-minus{width:34px;height:34px;border:1px solid #e6e6e6;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff; color:#000}
.fsl-count{width:28px;text-align:center;font-weight:600}

/* contact row */
.fsl-contact-wrapper{display:flex;align-items:center;gap:12px;margin-top:10px}
.fsl-contact-row{display:flex;gap:12px;flex:1;min-width:0}
.fsl-field{flex:1;min-width:0}
.fsl-input{width:100%;padding:12px;border-radius:8px;border:1px solid var(--fsl-border);background:var(--fsl-field-bg);font-size:14px;height:40px !important}
.fsl-submit{background:var(--fsl-action);color:#fff;border-radius:6px;padding:12px 26px !important;height:40px;border:0;font-weight:600;cursor:pointer; font-size:15px;}

/* stay */
.fsl-stay-range{display:flex;gap:12px;align-items:center}

/* autocomplete */
.fsl-autolist{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:99999;border-radius:8px;max-height:260px;overflow:auto;background:#fff;border:1px solid #ddd;box-shadow:0 8px 24px rgba(0,0,0,0.08)}
.fsl-autoline{padding:10px;cursor:pointer;border-bottom:1px solid #f5f5f7}
.fsl-autoline:hover{background:#f6f6f7}

/* responsive tablet */
@media (min-width:700px) and (max-width:1024px){
  .fsl-main-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .fsl-from-to-group{grid-column:span 2;display:grid;grid-template-columns:1fr 48px 1fr;gap:12px}
  .fsl-dates-pill,.fsl-travpill{width:100%}
  .fsl-contact-wrapper{flex-direction:column;align-items:stretch}
  .fsl-contact-row {width: 100%;}
}

/* mobile */
@media (max-width:699px){
  .fsl-main-row{flex-wrap:wrap}
  .fsl-from-to-group{width:100%;gap: 6px !important;display:flex;flex-direction:column}
  .fsl-dates-pill,.fsl-travpill{width:100%}
  .fsl-swap-wrap{right:12px;top:20px}
  .fsl-submit{width:100%}
  .fsl-swap {
    position: absolute !important;
    left: 0;
    top: 0;
        transform: translate(-15px, -120px) !important;
        width: 32px !important;
        height: 32px !important;
        rotate: 90deg;
        padding: 1px !important;
}
.fsl-pill{width:100% !important;  padding: 3px !important;}
.fsl-pill-large {
    width: 100%;
}
.fsl-swap i {
    font-size: 12px !important;
}
.fsl-contact-wrapper{
    flex-direction: column!important;
}
}

/* --- Expedia-style swap circle --- */
.fsl-swap {
    position: absolute !important;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 42px;
    height: 42px;
    border-radius: 50%!important;
    background: #fff;
    border: 1px solid #dcdcdc;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    color:#000;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    transition: all .15s ease;
    padding: 10px !important;
}

.fsl-swap:hover {
    background: #f5f5f5;
}

/* Make sure parent row allows overlapping */
.fsl-row-top {
    position: relative;
}

.fsl-pill-value button {
    padding: 0 !important;
    background: transparent;
    color: #000 !important;
}