/* ============================================================
   PSF Airport SEO Landing Page Refinement
   Keeps SEO copy intact while improving desktop/laptop layout.
   ============================================================ */

.airport-market-hero{
    padding-top:34px;
}

.airport-market-hero .marketplace-hero-copy{
    max-width:860px;
    margin-bottom:22px;
}

.airport-market-hero .marketplace-hero-copy .eyebrow{
    margin-bottom:10px;
}

.airport-market-hero .marketplace-hero-copy h1{
    max-width:980px;
    margin:0 0 16px;
    font-size:clamp(48px,5.5vw,74px);
    line-height:.98;
    letter-spacing:-.045em;
}

.airport-market-hero .marketplace-hero-copy p{
    max-width:840px;
    margin:0;
    font-size:18px;
    line-height:1.58;
}

/* Search card */
.airport-market-search-card{
    padding:24px 20px 18px;
}

.airport-market-search-card .marketplace-search-grid{
    display:grid;
    grid-template-columns:
        minmax(190px,1.2fr)
        minmax(150px,.9fr)
        minmax(150px,.9fr)
        minmax(150px,.9fr)
        minmax(105px,.6fr)
        minmax(190px,1.05fr);
    gap:14px;
    align-items:end;
}

.airport-market-search-card label{
    display:block;
    min-height:22px;
    margin-bottom:7px;
    font-size:14px;
    font-weight:700;
}

.airport-static-value{
    min-height:50px;
    display:flex;
    align-items:center;
    padding:0 14px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#f8fafc;
    color:#172033;
    font-size:16px;
    line-height:1.3;
}

.airport-market-search-card input{
    min-height:50px;
}

.airport-search-action{
    min-width:0;
}

.airport-search-action-label{
    user-select:none;
}

.airport-search-button{
    width:100%;
    min-height:50px;
    padding:0 16px;
    white-space:nowrap;
    border-radius:10px;
    font-size:15px;
}

.airport-search-note{
    margin:12px 0 0;
}

/* Keep the search row useful on medium laptops. */
@media(max-width:1180px){
    .airport-market-search-card .marketplace-search-grid{
        grid-template-columns:
            minmax(185px,1.1fr)
            repeat(3,minmax(145px,.9fr))
            minmax(100px,.55fr);
    }

    .airport-search-action{
        grid-column:1 / -1;
        display:flex;
        justify-content:flex-end;
    }

    .airport-search-action-label{
        display:none;
    }

    .airport-search-button{
        width:auto;
        min-width:230px;
    }
}

/* Tablet */
@media(max-width:820px){
    .airport-market-hero{
        padding-top:24px;
    }

    .airport-market-hero .marketplace-hero-copy h1{
        font-size:clamp(42px,9vw,60px);
        line-height:1;
    }

    .airport-market-search-card .marketplace-search-grid{
        grid-template-columns:1fr 1fr;
    }

    .airport-search-action{
        grid-column:1 / -1;
    }

    .airport-search-button{
        width:100%;
    }
}

/* Phone */
@media(max-width:560px){
    .airport-market-hero .marketplace-hero-copy h1{
        font-size:40px;
        line-height:1.02;
    }

    .airport-market-hero .marketplace-hero-copy p{
        font-size:16px;
        line-height:1.55;
    }

    .airport-market-search-card{
        padding:18px 14px 16px;
    }

    .airport-market-search-card .marketplace-search-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .airport-search-action{
        grid-column:auto;
        display:block;
    }

    .airport-search-button{
        width:100%;
        min-width:0;
    }
}


/* ============================================================
   Airport Search Layout Hotfix
   Prevents the action button from overflowing on laptop widths.
   ============================================================ */

.airport-market-search-card .marketplace-search-grid > *{
    min-width:0;
}

.airport-market-search-card input,
.airport-static-value,
.airport-search-button{
    box-sizing:border-box;
    width:100%;
}

@media(min-width:1401px){
    .airport-market-search-card .marketplace-search-grid{
        grid-template-columns:
            minmax(185px,1.25fr)
            minmax(145px,.95fr)
            minmax(145px,.95fr)
            minmax(145px,.95fr)
            minmax(90px,.55fr)
            minmax(190px,1.15fr);
    }

    .airport-search-button{
        font-size:14px;
        padding-left:12px;
        padding-right:12px;
    }
}

/* Most laptops and smaller desktops: keep fields on one row,
   then place the CTA cleanly underneath on the right. */
@media(min-width:821px) and (max-width:1400px){
    .airport-market-search-card .marketplace-search-grid{
        grid-template-columns:
            minmax(180px,1.15fr)
            repeat(3,minmax(145px,.95fr))
            minmax(90px,.55fr);
    }

    .airport-search-action{
        grid-column:1 / -1;
        display:flex;
        justify-content:flex-end;
        margin-top:2px;
    }

    .airport-search-action-label{
        display:none;
    }

    .airport-search-button{
        width:auto;
        min-width:220px;
        max-width:280px;
    }
}


/* ============================================================
   Airport SEO / indexing polish
   ============================================================ */

.airport-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin:4px 0 14px;
    font-size:13px;
    line-height:1.4;
    color:#64748b;
}

.airport-breadcrumbs a{
    font-weight:700;
    text-decoration:none;
}

.airport-breadcrumbs a:hover{
    text-decoration:underline;
}

.airport-breadcrumbs [aria-current="page"]{
    color:#475569;
}

.airport-market-count{
    margin:12px 0 0 !important;
    font-size:14px !important;
    font-weight:700;
    color:#475569;
}

.airport-how-it-works{
    margin-top:28px;
    padding-top:6px;
}

.airport-how-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-top:14px;
}

.airport-how-grid > div{
    min-width:0;
    padding:18px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#f8fafc;
}

.airport-how-grid > div > strong{
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    margin-bottom:10px;
    border-radius:999px;
    background:#172033;
    color:#fff;
    font-size:14px;
}

.airport-how-grid h3{
    margin:0 0 8px;
    font-size:17px;
}

.airport-how-grid p{
    margin:0;
    font-size:14px;
    line-height:1.55;
}

@media(max-width:820px){
    .airport-how-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){
    .airport-breadcrumbs{
        margin-bottom:10px;
        font-size:12px;
    }
}
