/* ========================================================================== 
   JETSTREAM FS — AIRCRAFT SHOWROOM / BEAVER BUILDER SYSTEM
   Reusable classes for aircraft pages edited with Beaver Builder.
   Apply these classes in: Row/Module Settings -> Advanced -> CSS Class.
   ========================================================================== */

body.page-template-page-aircraft-builder,
body.jsfs-aircraft-page {
    background:
        linear-gradient(90deg, rgba(3,8,14,1) 0%, rgba(3,8,14,.96) 38%, rgba(3,8,14,.78) 72%, rgba(3,8,14,.52) 100%),
        linear-gradient(180deg, rgba(3,8,14,.12) 0%, rgba(3,8,14,.82) 64%, rgba(3,8,14,1) 100%),
        url("../images/hangar.jpg") center top / cover fixed no-repeat,
        #03080e;
    color: var(--jsfs-text, #eef5fb);
}

.jsfs-aircraft-builder {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 8%, rgba(201,158,76,.15), transparent 34%),
        radial-gradient(circle at 84% 20%, rgba(45,130,190,.12), transparent 36%);
}

.jsfs-aircraft-builder::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .14;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 82%);
    z-index: 0;
}

.jsfs-aircraft-builder > * {
    position: relative;
    z-index: 1;
}

/* Global Beaver row rhythm */
.jsfs-aircraft-builder .fl-row-content {
    width: min(88vw, 1240px);
    max-width: 1240px;
}

.jsfs-bb-aircraft-section .fl-row-content-wrap,
.jsfs-bb-aircraft-panel .fl-row-content-wrap,
.jsfs-bb-overview-card .fl-row-content-wrap,
.jsfs-bb-feature-band .fl-row-content-wrap,
.jsfs-bb-gallery-resources .fl-row-content-wrap,
.jsfs-bb-final-cta .fl-row-content-wrap {
    padding: clamp(2.3rem, 4vw, 4rem) 0;
}

/* Typography helpers */
.jsfs-bb-kicker,
.jsfs-bb-kicker .fl-heading,
.jsfs-bb-kicker .fl-heading-text,
.jsfs-bb-kicker p {
    margin: 0 0 .9rem !important;
    color: var(--jsfs-gold, #c99e4c) !important;
    font-family: var(--jsfs-font-display, Sora, sans-serif) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.jsfs-bb-title .fl-heading,
.jsfs-bb-title .fl-heading-text,
.jsfs-bb-title h1,
.jsfs-bb-title h2 {
    margin: 0 !important;
    color: #f4f7fb !important;
    font-family: var(--jsfs-font-display, Sora, sans-serif) !important;
    font-weight: 900 !important;
    line-height: .98 !important;
    letter-spacing: .02em !important;
}

.jsfs-bb-title h1,
.jsfs-bb-title .fl-heading-text {
    font-size: clamp(3rem, 7vw, 6.8rem) !important;
}

.jsfs-bb-section-title h2,
.jsfs-bb-section-title .fl-heading-text {
    font-size: clamp(1.75rem, 3vw, 3rem) !important;
    line-height: 1.08 !important;
}

.jsfs-bb-copy,
.jsfs-bb-copy p,
.jsfs-aircraft-builder .fl-rich-text p,
.jsfs-aircraft-builder .fl-module-rich-text p {
    color: rgba(223,233,242,.78);
    font-size: clamp(.98rem, 1.12vw, 1.08rem);
    line-height: 1.78;
}

/* Hero row: set the aircraft image as Beaver row background image */
.jsfs-bb-aircraft-hero .fl-row-content-wrap {
    position: relative;
    min-height: clamp(620px, 74vh, 840px);
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background-color: #050b10;
}

.jsfs-bb-aircraft-hero .fl-row-content-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(3,8,14,.98) 0%, rgba(3,8,14,.76) 34%, rgba(3,8,14,.26) 66%, rgba(3,8,14,.50) 100%),
        linear-gradient(180deg, rgba(3,8,14,.05) 0%, rgba(3,8,14,.12) 48%, rgba(3,8,14,.96) 100%);
    z-index: 1;
}

.jsfs-bb-aircraft-hero .fl-row-content {
    position: relative;
    z-index: 2;
}

.jsfs-bb-hero-copy {
    max-width: 560px;
}

.jsfs-bb-hero-subtitle p,
.jsfs-bb-hero-subtitle {
    max-width: 520px;
    color: rgba(239,246,252,.84) !important;
    font-size: clamp(1.05rem, 1.45vw, 1.32rem) !important;
    line-height: 1.58 !important;
}

.jsfs-bb-button-row .fl-button-wrap {
    display: inline-flex;
    margin-right: .8rem;
    margin-top: .8rem;
}

.jsfs-bb-aircraft-hero .fl-button,
.jsfs-aircraft-builder .fl-button {
    min-height: 48px;
    padding: .92rem 1.25rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(201,158,76,.62) !important;
    background: transparent !important;
    color: var(--jsfs-gold, #c99e4c) !important;
    font-family: var(--jsfs-font-display, Sora, sans-serif) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

.jsfs-bb-aircraft-hero .fl-button:hover,
.jsfs-aircraft-builder .fl-button:hover {
    background: rgba(201,158,76,.14) !important;
    transform: translateY(-1px);
}

.jsfs-bb-button-primary .fl-button,
.jsfs-bb-aircraft-hero .jsfs-bb-button-primary .fl-button {
    background: var(--jsfs-gold, #c99e4c) !important;
    color: #071017 !important;
    border-color: var(--jsfs-gold, #c99e4c) !important;
    box-shadow: 0 16px 38px rgba(201,158,76,.16) !important;
}

/* Spec strip */
.jsfs-bb-spec-strip .fl-row-content-wrap {
    margin-top: clamp(-4.8rem, -5vw, -3rem);
    padding: 0 0 clamp(2.5rem, 4vw, 4rem);
}

.jsfs-bb-spec-strip .fl-row-content {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 22px;
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(16px);
    box-shadow: 0 24px 60px rgba(0,0,0,.22);
}

.jsfs-bb-spec-item .fl-module-content {
    min-height: 92px;
    margin: 0 !important;
    padding: 1.1rem 1.25rem;
    background: rgba(2,8,13,.70);
}

.jsfs-bb-spec-item strong {
    display: block;
    color: #f4f7fb;
    font-family: var(--jsfs-font-display, Sora, sans-serif);
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.jsfs-bb-spec-item span,
.jsfs-bb-spec-item p {
    display: block;
    margin: .28rem 0 0 !important;
    color: rgba(222,233,242,.64);
    font-size: .78rem !important;
    line-height: 1.35 !important;
}

/* Glass panels */
.jsfs-bb-glass-card .fl-col-content,
.jsfs-bb-panel-card .fl-module-content,
.jsfs-bb-overview-card .fl-row-content,
.jsfs-bb-feature-band .fl-row-content,
.jsfs-bb-gallery-resources .fl-row-content,
.jsfs-bb-final-cta .fl-row-content {
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(9,18,27,.84), rgba(5,12,19,.66)),
        rgba(4,10,16,.74);
    box-shadow: 0 24px 70px rgba(0,0,0,.25);
    backdrop-filter: blur(14px);
}

.jsfs-bb-overview-card .fl-row-content,
.jsfs-bb-feature-band .fl-row-content,
.jsfs-bb-gallery-resources .fl-row-content,
.jsfs-bb-final-cta .fl-row-content {
    padding: clamp(1.25rem, 2.2vw, 2rem);
}

/* Media cards */
.jsfs-bb-media-card img,
.jsfs-bb-gallery-resources img,
.jsfs-aircraft-builder .fl-photo img {
    width: 100%;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 18px 46px rgba(0,0,0,.28);
}

.jsfs-bb-media-card .fl-photo-caption,
.jsfs-bb-gallery-resources .fl-photo-caption {
    margin-top: .65rem;
    color: rgba(221,232,241,.62);
    font-size: .78rem;
    text-align: center;
}

/* Features */
.jsfs-bb-feature-list ul,
.jsfs-bb-feature-list .fl-rich-text ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.jsfs-bb-feature-list li {
    position: relative;
    margin: 0 0 .65rem;
    padding-left: 1.45rem;
    color: rgba(228,238,246,.80);
    font-size: .96rem;
    line-height: 1.5;
}

.jsfs-bb-feature-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--jsfs-gold, #c99e4c);
    font-weight: 900;
}

.jsfs-bb-small-card .fl-module-content {
    margin: 0 !important;
    padding: clamp(1.15rem, 2vw, 1.6rem);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 20px;
    background: rgba(0,0,0,.22);
}

.jsfs-bb-small-card h3,
.jsfs-bb-small-card .fl-heading-text {
    color: #f4f7fb !important;
    font-family: var(--jsfs-font-display, Sora, sans-serif) !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
}

/* Gallery + resources */
.jsfs-bb-gallery-resources .fl-row-content {
    display: block;
}

.jsfs-bb-resource-list .fl-rich-text a,
.jsfs-bb-resource-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .92rem 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: rgba(236,244,250,.82);
    text-decoration: none;
}

.jsfs-bb-resource-list a::after {
    content: "→";
    color: var(--jsfs-gold, #c99e4c);
}

/* Final CTA */
.jsfs-bb-final-cta .fl-row-content {
    background:
        linear-gradient(90deg, rgba(201,158,76,.14), rgba(7,15,22,.88)),
        rgba(4,10,16,.82);
}

/* Responsive */
@media (max-width: 980px) {
    .jsfs-bb-aircraft-hero .fl-row-content-wrap {
        min-height: 620px;
    }

    .jsfs-bb-spec-strip .fl-row-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .jsfs-aircraft-builder .fl-row-content {
        width: min(92vw, 1240px);
    }

    .jsfs-bb-title h1,
    .jsfs-bb-title .fl-heading-text {
        font-size: clamp(2.45rem, 13vw, 4rem) !important;
    }

    .jsfs-bb-spec-strip .fl-row-content {
        grid-template-columns: 1fr;
    }

    .jsfs-bb-aircraft-hero .fl-row-content-wrap::before {
        background:
            linear-gradient(90deg, rgba(3,8,14,.94), rgba(3,8,14,.66)),
            linear-gradient(180deg, rgba(3,8,14,.14), rgba(3,8,14,.98));
    }
}
