/* ==========================================================================
   JetStream WooCommerce
   --------------------------------------------------------------------------
   Store/product UI layer. WooCommerce default CSS is disabled in functions.php.
   ========================================================================== */


/* ===== WOOCOMMERCE BASE ===== */

.woocommerce,
.woocommerce-page {
    color: var(--jsfs-text-soft);
    font-family: var(--jsfs-font-sans);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3 {
    font-family: var(--jsfs-font-display);
    color: var(--jsfs-text-main);
    text-transform: uppercase;
    letter-spacing: 0.015em;
}

.woocommerce a {
    color: var(--jsfs-gold);
    text-decoration: none;
}

.woocommerce a:hover {
    color: var(--jsfs-gold-bright);
}

.woocommerce ul.products li.product,
.woocommerce div.product,
.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
    color: var(--jsfs-text-soft);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
    color: var(--jsfs-text-main);
}


/* ===== BUTTONS ===== */

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
button.single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--jsfs-gold);
    color: #111;
    border: 1px solid transparent;
    font-family: var(--jsfs-font-sans);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button:hover,
button.single_add_to_cart_button:hover {
    background: var(--jsfs-gold-bright);
    color: #111;
}


/* ===== FORMS / MESSAGES ===== */

.woocommerce table.shop_table,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-soft);
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
    background: transparent;
    border: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-main);
    border-radius: 6px;
    padding: 0.75rem 0.9rem;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
    outline: none;
    border-color: rgba(255,255,255,0.9);
}


/* ===== HIDDEN WOO CLUTTER ===== */

.product_meta,
.woocommerce-product-gallery__trigger {
    display: none !important;
}


/* ==========================================================================
   SINGLE PRODUCT HERO
   ========================================================================== */

.woocommerce div.product {
    display: block;
    width: 100%;
}

.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary {
    float: none;
    width: 100%;
    max-width: none;
}

.jsfs-product-hero {
    padding: 8rem 0 3rem;
}

.jsfs-product-hero__inner {
    width: min(92%, 1280px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 3rem;
    align-items: center;
}

.jsfs-product-gallery {
    max-width: 100%;
}

.jsfs-product-gallery img {
    width: 100%;
    border-radius: 20px;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 0.4s ease;
}

.jsfs-product-gallery img:hover {
    transform: scale(1.05);
}


/* ===== PRODUCT PURCHASE CARD ===== */

.jsfs-product-summary {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--jsfs-line);
    border-radius: 14px;
    padding: 2rem;
    max-width: 420px;
}

.jsfs-product-summary .jsfs-heading {
    font-size: 1.6rem;
    line-height: 1.2;
}

.jsfs-product-price,
.woocommerce div.product .price,
.woocommerce div.product p.price {
    margin: 0;
    color: var(--jsfs-gold);
    font-size: 1.2rem;
    font-weight: 600;
}

.jsfs-text--lead {
    font-size: 0.9rem;
    color: var(--jsfs-text-muted);
}

.jsfs-text--lead ul {
    padding-left: 1rem;
    margin: 0.5rem 0 0;
}

.jsfs-text--lead li {
    margin-bottom: 0.35rem;
}

.woocommerce form.cart,
.woocommerce div.product form.cart,
.jsfs-product-cart form {
    margin: 0;
}

.woocommerce .quantity input {
    background: transparent;
    border: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-main);
    padding: 0.6rem;
    width: 60px;
}

.jsfs-product-cart {
    margin-top: 0.8rem;
}

.jsfs-product-cart .single_add_to_cart_button {
    width: fit-content;
    padding: 0.7rem 1.6rem;
    border-radius: 999px;
    background: var(--jsfs-gold);
    color: #000;
    font-weight: 600;
    letter-spacing: 0.05em;
}


/* ==========================================================================
   PRODUCT TABS
   ========================================================================== */

.jsfs-product-tabs-section {
    padding: 4rem 0;
    border-top: 1px solid var(--jsfs-line);
}

.jsfs-product-tabs-section__inner {
    width: min(92%, 900px);
    margin: 0 auto;
}

.woocommerce-tabs {
    margin-top: 0;
}

.woocommerce-tabs ul.tabs {
    display: flex;
    gap: 1.5rem;
    margin: 0 0 2rem;
    padding: 0;
    border-bottom: 1px solid var(--jsfs-line);
}

.woocommerce-tabs ul.tabs li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 0 0 0.9rem;
    color: var(--jsfs-text-muted);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
}

.woocommerce-tabs ul.tabs li.active a {
    color: var(--jsfs-gold);
}

.woocommerce-Tabs-panel {
    color: var(--jsfs-text-muted);
    font-size: 0.95rem;
    line-height: 1.7;
}

.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3 {
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    text-transform: uppercase;
    margin: 2rem 0 1rem;
}

.woocommerce-Tabs-panel p,
.woocommerce-Tabs-panel li {
    font-size: 0.95rem;
    line-height: 1.6;
}

.woocommerce-Tabs-panel ul {
    padding-left: 1.25rem;
}


/* ===== PRODUCT DESCRIPTION FEATURE GRID ===== */

.jsfs-product-features-grid {
    position: relative;
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.jsfs-product-features-grid > div {
    max-width: 520px;
}

.jsfs-product-features-grid h3 {
    margin-top: 1.8rem;
    margin-bottom: 0.6rem;
}

.jsfs-product-features-grid ul {
    margin-bottom: 1.2rem;
}

@media (min-width: 800px) {
    .jsfs-product-features-grid::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 1px;
        background: var(--jsfs-line);
        opacity: 0.3;
    }
}


/* ===== SECTION TITLE ICONS ===== */

.jsfs-section-title {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 1.8rem;
    margin-bottom: 0.6rem;
}

.jsfs-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    flex: 0 0 18px;
}

.jsfs-icon svg {
    width: 18px;
    height: 18px;
    color: var(--jsfs-gold);
    stroke: var(--jsfs-gold);
    stroke-width: 1.5;
    fill: none;
}


/* ===== AIRCRAFT PAGE CTA LINK ===== */

.jsfs-link {
    display: inline-block;
    padding: 10px 18px;
    border: 1px solid var(--jsfs-gold);
    border-radius: 6px;
    color: var(--jsfs-gold);
    background: transparent;
    text-decoration: none;
    letter-spacing: 0.03em;
    transition: all 0.2s ease;
}

.jsfs-link:hover {
    background: rgba(212,175,55,0.12);
    color: var(--jsfs-gold);
    transform: translateX(2px);
}


/* ==========================================================================
   RELATED PRODUCTS
   ========================================================================== */

.jsfs-product-related {
    padding: 4rem 0;
    border-top: 1px solid var(--jsfs-line);
}

.jsfs-product-related__inner {
    width: min(92%, 1100px);
    margin: 0 auto;
}

.jsfs-product-related .related.products {
    margin-top: 3rem;
}

.jsfs-product-related .related.products > h2 {
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
}

.jsfs-product-related ul.products,
.woocommerce .related.products ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    padding: 0;
    margin: 0;
}

.jsfs-product-related ul.products li.product,
.woocommerce .related.products li.product {
    list-style: none;
    margin: 0;
    width: auto;
}

.jsfs-product-related ul.products li.product img,
.woocommerce .related.products img {
    width: 100%;
    max-height: 220px;
    object-fit: cover;
    border-radius: 12px;
}

.jsfs-product-related .woocommerce-loop-product__title,
.woocommerce .related.products h2.woocommerce-loop-product__title {
    font-size: 0.95rem;
    margin-top: 0.75rem;
}

.jsfs-product-related .price,
.jsfs-product-related .price .amount,
.jsfs-product-related .woocommerce-Price-amount {
    display: inline-flex;
    align-items: center;
    margin-right: 0.6rem;
    color: var(--jsfs-blue) !important;
    font-size: 0.85rem;
    font-weight: 600;
}

.jsfs-product-related .add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.6rem;
    padding: 0.45rem 0.9rem;
    min-width: 110px;
    border: 1px solid var(--jsfs-gold);
    border-radius: 999px;
    font-size: 0.68rem;
    line-height: 1;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.jsfs-product-related .add_to_cart_button:hover {
    background: #f0c766 !important;
    color: #050505 !important;
    border-color: #141414 !important;
    transform: translateY(-2px);
    box-shadow:
        0 6px 14px rgba(0,0,0,0.4),
        0 0 10px rgba(240,199,102,0.45);
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 900px) {
    .jsfs-product-hero__inner,
    .jsfs-product-related ul.products,
    .woocommerce .related.products ul.products {
        grid-template-columns: 1fr;
    }

    .jsfs-product-summary {
        max-width: none;
    }
}

@media (max-width: 800px) {
    .jsfs-product-features-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ===== MAIN PRODUCT ADD TO CART ===== */

.single_add_to_cart_button {
    transition: all 0.2s ease;
    border: 1px solid var(--jsfs-gold);
}

.single_add_to_cart_button:hover {
    background: #f0c766 !important;
    color: #050505 !important;
    border-color: #141414 !important;
    transform: translateY(-2px);
    box-shadow:
        0 6px 14px rgba(0,0,0,0.4),
        0 0 10px rgba(240,199,102,0.45);
}

/* ==========================================================================
   CART PAGE
   ========================================================================== */

.woocommerce-cart .jsfs-page {
    background:
        radial-gradient(circle at 18% 18%, rgba(135,186,211,0.14), transparent 34%),
        radial-gradient(circle at 82% 8%, rgba(201,158,76,0.12), transparent 30%),
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

.woocommerce-cart .jsfs-page__inner {
    width: min(94%, 1280px);
    padding: 8rem 0 5rem;
}

.woocommerce-cart .jsfs-page__header {
    display: none;
}

.jsfs-cart-shell {
    width: 100%;
}

.jsfs-cart-hero {
    max-width: 720px;
    margin-bottom: 2.4rem;
}

.jsfs-cart-hero .jsfs-heading {
    font-size: clamp(2.2rem, 5vw, 4.6rem);
    max-width: 760px;
}

.jsfs-cart-hero__text,
.jsfs-empty-cart__text {
    max-width: 580px;
    margin: 1rem 0 0;
    color: var(--jsfs-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.jsfs-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 1.5rem;
    align-items: start;
}

.jsfs-cart-panel {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 20px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

.jsfs-cart-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(201,158,76,0.16), transparent 28%, transparent 72%, rgba(135,186,211,0.08));
    opacity: 0.45;
}

.jsfs-cart-panel > * {
    position: relative;
    z-index: 1;
}

.jsfs-cart-panel--items {
    padding: 0;
}

.jsfs-cart-panel--totals {
    position: sticky;
    top: 6.8rem;
    padding: 1.5rem;
}

.woocommerce .woocommerce-cart-form,
.woocommerce-cart-form {
    background: transparent;
    border: 0;
    margin: 0;
}

.woocommerce table.shop_table.jsfs-cart-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

.woocommerce table.shop_table.jsfs-cart-table thead {
    background: rgba(0,0,0,0.22);
}

.woocommerce table.shop_table.jsfs-cart-table th {
    padding: 1rem 0.9rem;
    border: 0;
    border-bottom: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.woocommerce table.shop_table.jsfs-cart-table td {
    padding: 1.15rem 0.9rem;
    border: 0;
    border-bottom: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-soft);
    vertical-align: middle;
}

.woocommerce table.shop_table.jsfs-cart-table tr.cart_item:last-of-type td {
    border-bottom-color: rgba(255,255,255,0.05);
}

.jsfs-cart-table .product-thumbnail {
    width: 116px;
}

.jsfs-cart-table .product-thumbnail img {
    width: 92px;
    height: 68px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 12px 30px rgba(0,0,0,0.32);
}

.jsfs-cart-table .product-name {
    min-width: 230px;
}

.jsfs-cart-table .product-name a {
    display: inline-block;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.jsfs-cart-product-label {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--jsfs-gold);
    font-family: var(--jsfs-font-mono);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.jsfs-cart-table .product-price,
.jsfs-cart-table .product-subtotal,
.jsfs-cart-table .product-price .amount,
.jsfs-cart-table .product-subtotal .amount {
    color: var(--jsfs-blue);
    font-weight: 700;
}


/* JetStream aircraft are sold as single-license line items here, so showing
   quantity/subtotal per card adds duplicate pricing noise. Keep the cart row
   focused on the selected aircraft and its price. */
.woocommerce table.shop_table.jsfs-cart-table td.product-quantity,
.woocommerce table.shop_table.jsfs-cart-table th.product-quantity,
.woocommerce table.shop_table.jsfs-cart-table td.product-subtotal,
.woocommerce table.shop_table.jsfs-cart-table th.product-subtotal {
    display: none !important;
}

.woocommerce a.remove.jsfs-cart-remove,
.woocommerce a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.13);
    background: rgba(0,0,0,0.28);
    color: var(--jsfs-text-muted) !important;
    font-size: 1.25rem;
    line-height: 1;
    transition: all 0.2s ease;
}

.woocommerce a.remove.jsfs-cart-remove:hover,
.woocommerce a.remove:hover {
    background: rgba(201,158,76,0.16);
    color: var(--jsfs-gold-bright) !important;
    border-color: rgba(201,158,76,0.45);
}

.woocommerce .quantity .qty,
.jsfs-cart-table .quantity .qty {
    width: 70px;
    min-height: 42px;
    border-radius: 999px;
    background: rgba(0,0,0,0.22);
    border: 1px solid rgba(255,255,255,0.13);
    color: var(--jsfs-text-main);
    text-align: center;
}

.jsfs-cart-actions-row td.actions {
    padding: 1.2rem !important;
    border-bottom: 0 !important;
}

.jsfs-cart-actions-row .actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
}

.jsfs-cart-coupon {
    display: grid;
    grid-template-columns: minmax(150px, 260px) auto;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.woocommerce .jsfs-cart-coupon input.input-text {
    width: 100%;
    min-height: 44px;
    border-radius: 999px;
    background: rgba(0,0,0,0.22);
}

.woocommerce .jsfs-cart-coupon .button,
.woocommerce .jsfs-cart-update {
    min-height: 44px;
    padding: 0.8rem 1.2rem;
    white-space: nowrap;
}

.woocommerce .jsfs-cart-update {
    justify-self: end;
    background: rgba(201,158,76,0.22);
    border-color: rgba(201,158,76,0.35);
}

.woocommerce .jsfs-cart-update:disabled,
.woocommerce .jsfs-cart-update[disabled] {
    opacity: 0.46;
    cursor: not-allowed;
}

.jsfs-cart-collaterals .cart_totals {
    width: 100%;
    float: none;
}

.jsfs-cart-collaterals .cart_totals h2 {
    margin: 0 0 1rem;
    font-size: 1.25rem;
}

.woocommerce .jsfs-cart-collaterals table.shop_table {
    margin: 0 0 1.25rem;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

.woocommerce .jsfs-cart-collaterals table.shop_table th,
.woocommerce .jsfs-cart-collaterals table.shop_table td {
    padding: 0.9rem 0;
    border: 0;
    border-bottom: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-soft);
}

.woocommerce .jsfs-cart-collaterals table.shop_table th {
    color: var(--jsfs-text-muted);
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.woocommerce .jsfs-cart-collaterals table.shop_table .order-total th,
.woocommerce .jsfs-cart-collaterals table.shop_table .order-total td,
.woocommerce .jsfs-cart-collaterals table.shop_table .order-total .amount {
    color: var(--jsfs-gold);
    font-size: 1.05rem;
}

.woocommerce .jsfs-cart-collaterals table.shop_table tbody,
.woocommerce .jsfs-cart-collaterals table.shop_table tr {
    display: block;
    width: 100%;
}

.woocommerce .jsfs-cart-collaterals table.shop_table tr {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: baseline;
    column-gap: 1.2rem;
    border-bottom: 1px solid var(--jsfs-line);
}

.woocommerce .jsfs-cart-collaterals table.shop_table th,
.woocommerce .jsfs-cart-collaterals table.shop_table td {
    display: block;
    border-bottom: 0;
}

.woocommerce .jsfs-cart-collaterals table.shop_table td {
    text-align: right;
}

.woocommerce .jsfs-cart-collaterals table.shop_table td .amount {
    white-space: nowrap;
}

.woocommerce .wc-proceed-to-checkout {
    padding: 0;
    margin: 1.2rem 0 0;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    min-height: 52px;
    padding: 1rem 1.25rem;
    font-size: 0.76rem;
    box-shadow: 0 0 24px rgba(201,158,76,0.16);
}

.woocommerce-shipping-destination,
.woocommerce-shipping-calculator {
    color: var(--jsfs-text-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.jsfs-cart-assurance {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.jsfs-cart-assurance > div {
    padding: 1.25rem;
    background: rgba(255,255,255,0.035);
    border: 1px solid var(--jsfs-line);
    border-radius: 16px;
}

.jsfs-cart-assurance span {
    display: inline-flex;
    margin-bottom: 0.75rem;
    color: var(--jsfs-gold);
    font-family: var(--jsfs-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.jsfs-cart-assurance strong {
    display: block;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.jsfs-cart-assurance p {
    margin: 0.55rem 0 0;
    color: var(--jsfs-text-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.woocommerce-cart .woocommerce-notices-wrapper {
    margin-bottom: 1.2rem;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    padding: 1rem 1.25rem;
    border-radius: 14px;
    background: rgba(255,255,255,0.045);
    border: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-soft);
}


/* ===== CART DESKTOP REFINEMENT =====
   Turns the default WooCommerce table into compact product cards so the
   cart does not overflow or feel like a spreadsheet. */

@media (min-width: 761px) {
    .woocommerce table.shop_table.jsfs-cart-table,
    .woocommerce table.shop_table.jsfs-cart-table tbody,
    .woocommerce table.shop_table.jsfs-cart-table tfoot {
        display: block;
    }

    .woocommerce table.shop_table.jsfs-cart-table thead {
        display: none;
    }

    .woocommerce table.shop_table.jsfs-cart-table tr.cart_item {
        display: grid;
        grid-template-columns: 38px 104px minmax(0, 1fr) auto;
        gap: 0.95rem;
        align-items: center;
        padding: 1.1rem 1.2rem;
        border-bottom: 1px solid var(--jsfs-line);
    }

    .woocommerce table.shop_table.jsfs-cart-table tr.cart_item td {
        display: block;
        padding: 0;
        border: 0;
    }

    .jsfs-cart-table .product-thumbnail {
        width: auto;
    }

    .jsfs-cart-table .product-thumbnail img {
        width: 104px;
        height: 72px;
    }

    .jsfs-cart-table .product-name {
        min-width: 0;
    }

    .jsfs-cart-table .product-name a {
        line-height: 1.25;
    }

    .woocommerce table.shop_table.jsfs-cart-table td.product-quantity,
    .woocommerce table.shop_table.jsfs-cart-table td.product-subtotal {
        display: none;
    }

    .woocommerce table.shop_table.jsfs-cart-table td.product-price {
        text-align: right;
        white-space: nowrap;
    }

    .woocommerce table.shop_table.jsfs-cart-table td.product-price::before {
        content: "Price";
        display: block;
        margin-bottom: 0.25rem;
        color: var(--jsfs-text-muted);
        font-family: var(--jsfs-font-mono);
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .woocommerce table.shop_table.jsfs-cart-table tr.jsfs-cart-actions-row,
    .woocommerce table.shop_table.jsfs-cart-table tr.jsfs-cart-actions-row td {
        display: block;
        width: 100%;
    }

    .woocommerce table.shop_table.jsfs-cart-table tr.jsfs-cart-actions-row td.actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
    }
}


.jsfs-cart-collaterals .cross-sells {
    display: none !important;
}

.jsfs-cart-panel--totals .jsfs-kicker {
    margin-bottom: 1rem;
}

.jsfs-cart-collaterals .cart_totals h2 {
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* ===== EMPTY CART ===== */

.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop {
    display: none;
}

.jsfs-empty-cart {
    min-height: 62vh;
    display: grid;
    place-items: center;
    padding: 8rem 1.5rem 5rem;
    background:
        radial-gradient(circle at 50% 20%, rgba(201,158,76,0.12), transparent 35%),
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

.jsfs-empty-cart__inner {
    width: min(100%, 720px);
    padding: 3rem;
    text-align: center;
    background: linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 24px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
}

.jsfs-empty-cart__text {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.6rem;
}

/* ===== CART RESPONSIVE ===== */

@media (max-width: 1050px) {
    .jsfs-cart-layout {
        grid-template-columns: 1fr;
    }

    .jsfs-cart-panel--totals {
        position: relative;
        top: auto;
    }
}

@media (max-width: 760px) {
    .woocommerce-cart .jsfs-page__inner {
        width: min(92%, 1280px);
        padding-top: 6.8rem;
    }

    .woocommerce table.shop_table_responsive.jsfs-cart-table thead {
        display: none;
    }

    .woocommerce table.shop_table_responsive.jsfs-cart-table tr.cart_item {
        display: grid;
        grid-template-columns: 64px 1fr;
        gap: 0.7rem 1rem;
        padding: 1rem;
        border-bottom: 1px solid var(--jsfs-line);
    }

    .woocommerce table.shop_table_responsive.jsfs-cart-table tr.cart_item td {
        display: block;
        padding: 0;
        border: 0;
        text-align: left !important;
    }

    .woocommerce table.shop_table_responsive.jsfs-cart-table tr.cart_item td::before {
        content: attr(data-title);
        display: block;
        margin-bottom: 0.25rem;
        color: var(--jsfs-text-muted);
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        float: none;
    }

    .woocommerce table.shop_table_responsive.jsfs-cart-table tr.cart_item .product-remove::before,
    .woocommerce table.shop_table_responsive.jsfs-cart-table tr.cart_item .product-thumbnail::before,
    .woocommerce table.shop_table_responsive.jsfs-cart-table tr.cart_item .product-name::before {
        display: none;
    }

    .jsfs-cart-table .product-remove {
        grid-column: 1 / -1;
        justify-self: end;
    }

    .jsfs-cart-table .product-thumbnail {
        grid-column: 1;
        grid-row: 2 / 6;
        width: auto;
    }

    .jsfs-cart-table .product-thumbnail img {
        width: 64px;
        height: 64px;
    }

    .jsfs-cart-table .product-name,
    .jsfs-cart-table .product-price,
    .jsfs-cart-table .product-quantity,
    .jsfs-cart-table .product-subtotal {
        grid-column: 2;
    }

    .jsfs-cart-actions-row .actions {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .jsfs-cart-coupon {
        grid-template-columns: 1fr;
        align-items: stretch;
        min-width: 0;
    }

    .woocommerce .jsfs-cart-coupon .button,
    .woocommerce .jsfs-cart-update {
        width: 100%;
    }

    .jsfs-cart-assurance {
        grid-template-columns: 1fr;
    }

    .jsfs-empty-cart__inner {
        padding: 2rem 1.25rem;
    }
}

/* ===== CART TOTALS ALIGNMENT TUNE ===== */
.woocommerce .jsfs-cart-collaterals table.shop_table,
.woocommerce .jsfs-cart-collaterals table.shop_table tbody {
    display: block;
    width: 100% !important;
}

.woocommerce .jsfs-cart-collaterals table.shop_table tr {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(92px, max-content);
}

.woocommerce .jsfs-cart-collaterals table.shop_table th {
    justify-self: start;
}

.woocommerce .jsfs-cart-collaterals table.shop_table td {
    justify-self: end;
    text-align: right !important;
}

.woocommerce .jsfs-cart-collaterals table.shop_table .order-total td,
.woocommerce .jsfs-cart-collaterals table.shop_table .cart-subtotal td {
    min-width: 92px;
}

/* ==========================================================================
   MY ACCOUNT LOGIN PAGE
   ========================================================================== */

body.woocommerce-account:not(.logged-in) {
    background: var(--jsfs-bg-bottom);
}

body.woocommerce-account:not(.logged-in) .jsfs-page {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 14, 1) 0%,
            rgba(3, 8, 14, 0.98) 25%,
            rgba(3, 8, 14, 0.78) 46%,
            rgba(3, 8, 14, 0.46) 68%,
            rgba(3, 8, 14, 0.28) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 8, 14, 0.08) 0%,
            rgba(3, 8, 14, 0.16) 45%,
            rgba(3, 8, 14, 0.94) 100%
        ),
        url("../images/hangar.jpg") center right / cover no-repeat,
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

body.woocommerce-account:not(.logged-in) .jsfs-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 68% 20%, rgba(135, 186, 211, 0.10), transparent 34%),
        radial-gradient(circle at 24% 78%, rgba(201, 158, 76, 0.08), transparent 30%),
        linear-gradient(180deg, transparent 0%, rgba(3, 8, 14, 0.78) 100%);
}

body.woocommerce-account:not(.logged-in) .jsfs-page__inner {
    position: relative;
    z-index: 1;
}

body.woocommerce-account:not(.logged-in) .jsfs-page__header {
    display: none;
}

.jsfs-account-login-shell {
    width: 100%;
}

.jsfs-account-login-hero {
    max-width: 760px;
    margin-bottom: 2.4rem;
}

.jsfs-account-login-hero .jsfs-heading {
    font-size: clamp(2.25rem, 5vw, 4.6rem);
    max-width: 820px;
}

.jsfs-account-login-hero__text {
    max-width: 610px;
    margin: 1rem 0 0;
    color: var(--jsfs-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.jsfs-account-login-grid {
    display: grid;
    grid-template-columns: minmax(0, 520px) minmax(0, 520px);
    gap: 1.5rem;
    align-items: start;
}

.jsfs-account-login-shell.login-only .jsfs-account-login-grid {
    grid-template-columns: minmax(0, 560px);
}

.jsfs-account-card {
    position: relative;
    overflow: hidden;
    padding: 1.55rem;
    background: linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 20px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

.jsfs-account-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(201,158,76,0.14), transparent 34%, rgba(135,186,211,0.08));
    opacity: 0.5;
}

.jsfs-account-card > * {
    position: relative;
    z-index: 1;
}

.jsfs-account-card__head {
    margin-bottom: 1.4rem;
}

.jsfs-account-card__head .jsfs-kicker {
    margin-bottom: 0.75rem;
}

.jsfs-account-card__head h2 {
    margin: 0;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: 1.45rem;
    line-height: 1.1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.jsfs-account-card__head p {
    margin: 0.75rem 0 0;
    color: var(--jsfs-text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.woocommerce .jsfs-account-form {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.woocommerce .jsfs-account-form .form-row {
    margin: 0 0 1rem;
    padding: 0;
}

.woocommerce .jsfs-account-form label {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--jsfs-text-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.woocommerce .jsfs-account-form input.input-text,
.woocommerce .jsfs-account-form input[type="text"],
.woocommerce .jsfs-account-form input[type="email"],
.woocommerce .jsfs-account-form input[type="password"] {
    width: 100%;
    min-height: 48px;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 999px;
    background: rgba(0,0,0,0.24);
    color: var(--jsfs-text-main);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.woocommerce .jsfs-account-form input.input-text:focus,
.woocommerce .jsfs-account-form input[type="text"]:focus,
.woocommerce .jsfs-account-form input[type="email"]:focus,
.woocommerce .jsfs-account-form input[type="password"]:focus {
    border-color: rgba(201,158,76,0.58);
    background: rgba(0,0,0,0.34);
    box-shadow: 0 0 0 4px rgba(201,158,76,0.08);
}

.jsfs-account-form__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.2rem;
}

.jsfs-account-form__actions--register {
    justify-content: flex-end;
}

.woocommerce .jsfs-account-remember {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: var(--jsfs-text-muted);
    font-size: 0.82rem;
    letter-spacing: 0;
    text-transform: none;
}

.woocommerce .jsfs-account-remember input {
    accent-color: var(--jsfs-gold);
}

.woocommerce .jsfs-account-form .button {
    min-height: 48px;
    padding: 0.9rem 1.45rem;
    white-space: nowrap;
}

.jsfs-account-lost-password {
    margin: 1rem 0 0;
}

.jsfs-account-lost-password a {
    color: var(--jsfs-blue);
    font-size: 0.85rem;
    text-decoration: none;
}

.jsfs-account-lost-password a:hover {
    color: var(--jsfs-gold-bright);
}

.jsfs-account-note {
    margin: 0 0 1rem;
    color: var(--jsfs-text-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.jsfs-account-login-assurance {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.jsfs-account-login-assurance > div {
    padding: 1.25rem;
    background: rgba(255,255,255,0.035);
    border: 1px solid var(--jsfs-line);
    border-radius: 16px;
    backdrop-filter: blur(10px);
}

.jsfs-account-login-assurance span {
    display: inline-flex;
    margin-bottom: 0.75rem;
    color: var(--jsfs-gold);
    font-family: var(--jsfs-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.jsfs-account-login-assurance strong {
    display: block;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.jsfs-account-login-assurance p {
    margin: 0.55rem 0 0;
    color: var(--jsfs-text-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
    max-width: 760px;
}

@media (max-width: 1050px) {
    .jsfs-account-login-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    body.woocommerce-account:not(.logged-in) .jsfs-page {
        background:
            linear-gradient(180deg, rgba(3,8,14,0.88), rgba(3,8,14,0.96)),
            url("../images/hangar.jpg") center top / cover no-repeat,
            linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
    }

    .jsfs-account-card {
        padding: 1.25rem;
    }

    .jsfs-account-form__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .woocommerce .jsfs-account-form .button {
        width: 100%;
    }

    .jsfs-account-login-assurance {
        grid-template-columns: 1fr;
    }
}

/* ===== LOGIN PAGE LAYOUT TUNE v7 ===== */
/* The Woo login template can be rendered from a normal WP page/UM redirect page,
   not only from WooCommerce's account endpoint. These rules key off the JetStream
   login shell itself so the page still formats correctly wherever the shortcode lives. */

.jsfs-page:has(.jsfs-account-login-shell) {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 14, 1) 0%,
            rgba(3, 8, 14, 0.98) 26%,
            rgba(3, 8, 14, 0.80) 48%,
            rgba(3, 8, 14, 0.48) 70%,
            rgba(3, 8, 14, 0.28) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 8, 14, 0.10) 0%,
            rgba(3, 8, 14, 0.18) 48%,
            rgba(3, 8, 14, 0.96) 100%
        ),
        url("../images/hangar.jpg") center right / cover no-repeat,
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

.jsfs-page:has(.jsfs-account-login-shell)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 18%, rgba(135, 186, 211, 0.10), transparent 34%),
        radial-gradient(circle at 22% 78%, rgba(201, 158, 76, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(3, 8, 14, 0.02) 0%, rgba(3, 8, 14, 0.74) 100%);
}

.jsfs-page:has(.jsfs-account-login-shell) .jsfs-page__inner,
.jsfs-page:has(.jsfs-account-login-shell) .jsfs-page__article,
.jsfs-page:has(.jsfs-account-login-shell) .jsfs-page__content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.jsfs-page:has(.jsfs-account-login-shell) .jsfs-page__header {
    display: none;
}

.jsfs-account-login-shell {
    width: min(86vw, 1180px);
    margin-inline: auto;
    padding: clamp(7rem, 9vw, 8.75rem) 0 4rem;
}

.jsfs-account-login-hero {
    max-width: 680px;
    margin-bottom: 2rem;
}

.jsfs-account-login-hero .jsfs-heading {
    font-size: clamp(2.45rem, 5.2vw, 4.25rem);
    max-width: 720px;
}

.jsfs-account-login-grid {
    grid-template-columns: minmax(0, 560px) minmax(280px, 1fr);
    max-width: 1120px;
}

.jsfs-account-login-shell.login-only .jsfs-account-login-grid {
    grid-template-columns: minmax(0, 560px) minmax(280px, 1fr);
}

.jsfs-account-login-shell.login-only .jsfs-account-login-grid::after {
    content: "Secure access to your aircraft downloads, order history, and JetStream FS support resources.";
    display: block;
    align-self: stretch;
    padding: 1.55rem;
    border: 1px solid var(--jsfs-line);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018));
    color: var(--jsfs-text-muted);
    font-size: 0.95rem;
    line-height: 1.65;
    box-shadow: 0 24px 80px rgba(0,0,0,0.26);
    backdrop-filter: blur(12px);
}

@media (max-width: 1050px) {
    .jsfs-account-login-grid,
    .jsfs-account-login-shell.login-only .jsfs-account-login-grid {
        grid-template-columns: 1fr;
    }

    .jsfs-account-login-shell.login-only .jsfs-account-login-grid::after {
        display: none;
    }
}

@media (max-width: 760px) {
    .jsfs-account-login-shell {
        width: min(92vw, 1180px);
        padding-top: 6.75rem;
    }
}

/* ========================================================================== 
   ULTIMATE MEMBER PAGES v8
   --------------------------------------------------------------------------
   Styles the UM pages configured in Ultimate Member settings without changing
   the UM page pointers or shortcodes.
   ========================================================================== */

body:has(.jsfs-page .um) {
    background: var(--jsfs-bg-bottom);
}

.jsfs-page:has(.um) {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 14, 1) 0%,
            rgba(3, 8, 14, 0.98) 25%,
            rgba(3, 8, 14, 0.82) 48%,
            rgba(3, 8, 14, 0.50) 72%,
            rgba(3, 8, 14, 0.30) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 8, 14, 0.08) 0%,
            rgba(3, 8, 14, 0.18) 48%,
            rgba(3, 8, 14, 0.96) 100%
        ),
        url("../images/hangar.jpg") center right / cover no-repeat,
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

.jsfs-page:has(.um)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 18%, rgba(135, 186, 211, 0.10), transparent 34%),
        radial-gradient(circle at 22% 78%, rgba(201, 158, 76, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(3, 8, 14, 0.02) 0%, rgba(3, 8, 14, 0.76) 100%);
}

.jsfs-page:has(.um) .jsfs-page__inner,
.jsfs-page:has(.um) .jsfs-page__article,
.jsfs-page:has(.um) .jsfs-page__content {
    position: relative;
    z-index: 1;
}

.jsfs-page:has(.um) .jsfs-page__inner {
    width: min(86vw, 1180px);
    margin-inline: auto;
    padding: clamp(7rem, 9vw, 8.75rem) 0 4rem;
}

.jsfs-page:has(.um) .jsfs-page__header {
    max-width: 760px;
    margin-bottom: 2rem;
}

.jsfs-page:has(.um) .jsfs-page__header::before {
    content: "JetStream Account";
    display: block;
    margin-bottom: 0.85rem;
    color: var(--jsfs-gold);
    font-family: var(--jsfs-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1;
    text-transform: uppercase;
}

.jsfs-page:has(.um) .jsfs-page__header .jsfs-heading {
    font-size: clamp(2.45rem, 5.2vw, 4.25rem);
    max-width: 780px;
}

.jsfs-page:has(.um) .jsfs-page__content {
    width: 100%;
}

/* Generic UM surface */
.jsfs-page .um {
    margin: 0 !important;
    color: var(--jsfs-text-soft) !important;
    font-family: var(--jsfs-font-sans) !important;
}

.jsfs-page .um:not(.um-directory):not(.um-profile):not(.um-account) {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
}

.jsfs-page .um-form,
.jsfs-page .um-account,
.jsfs-page .um-profile,
.jsfs-page .um-directory {
    position: relative;
    overflow: hidden;
    padding: 1.55rem;
    background: linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 20px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

.jsfs-page .um-form::before,
.jsfs-page .um-account::before,
.jsfs-page .um-profile::before,
.jsfs-page .um-directory::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(201,158,76,0.14), transparent 34%, rgba(135,186,211,0.08));
    opacity: 0.50;
}

.jsfs-page .um-form > *,
.jsfs-page .um-account > *,
.jsfs-page .um-profile > *,
.jsfs-page .um-directory > * {
    position: relative;
    z-index: 1;
}

/* Labels and text */
.jsfs-page .um .um-field-label,
.jsfs-page .um .um-field-label label,
.jsfs-page .um .um-row-heading,
.jsfs-page .um .um-account-heading,
.jsfs-page .um .um-profile-note,
.jsfs-page .um label {
    color: var(--jsfs-text-soft) !important;
    font-family: var(--jsfs-font-sans) !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.11em !important;
    text-transform: uppercase !important;
}

.jsfs-page .um .um-field-block,
.jsfs-page .um .um-field-area,
.jsfs-page .um .um-field-checkbox-option,
.jsfs-page .um .um-field-radio-option,
.jsfs-page .um .um-tip-text,
.jsfs-page .um .um-notice,
.jsfs-page .um p,
.jsfs-page .um span {
    color: var(--jsfs-text-muted);
}

.jsfs-page .um a {
    color: var(--jsfs-blue) !important;
    text-decoration: none !important;
}

.jsfs-page .um a:hover {
    color: var(--jsfs-gold-bright) !important;
}

/* Inputs */
.jsfs-page .um input[type="text"],
.jsfs-page .um input[type="email"],
.jsfs-page .um input[type="password"],
.jsfs-page .um input[type="tel"],
.jsfs-page .um input[type="url"],
.jsfs-page .um input[type="number"],
.jsfs-page .um textarea,
.jsfs-page .um select,
.jsfs-page .um .select2-selection {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0.85rem 1rem !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,0.24) !important;
    color: var(--jsfs-text-main) !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.jsfs-page .um textarea {
    min-height: 130px !important;
    border-radius: 18px !important;
    resize: vertical;
}

.jsfs-page .um input[type="text"]:focus,
.jsfs-page .um input[type="email"]:focus,
.jsfs-page .um input[type="password"]:focus,
.jsfs-page .um input[type="tel"]:focus,
.jsfs-page .um input[type="url"]:focus,
.jsfs-page .um input[type="number"]:focus,
.jsfs-page .um textarea:focus,
.jsfs-page .um select:focus,
.jsfs-page .um .select2-selection:focus {
    border-color: rgba(201,158,76,0.58) !important;
    background: rgba(0,0,0,0.34) !important;
    box-shadow: 0 0 0 4px rgba(201,158,76,0.08) !important;
}

.jsfs-page .um input::placeholder,
.jsfs-page .um textarea::placeholder {
    color: rgba(203, 218, 229, 0.46) !important;
}

.jsfs-page .um .um-field {
    padding: 0 0 1rem !important;
}

.jsfs-page .um .um-col-alt,
.jsfs-page .um .um-left,
.jsfs-page .um .um-right {
    margin: 0 !important;
}

/* Buttons */
.jsfs-page .um .um-button,
.jsfs-page .um input[type="submit"].um-button,
.jsfs-page .um a.um-button,
.jsfs-page .um .um-button.um-alt,
.jsfs-page .um a.um-button.um-alt {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0.9rem 1.45rem !important;
    border-radius: 999px !important;
    border: 1px solid transparent !important;
    background: var(--jsfs-gold) !important;
    color: #111 !important;
    font-family: var(--jsfs-font-sans) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: 0 0 24px rgba(201,158,76,0.16) !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.jsfs-page .um .um-button:hover,
.jsfs-page .um input[type="submit"].um-button:hover,
.jsfs-page .um a.um-button:hover {
    background: var(--jsfs-gold-bright) !important;
    color: #111 !important;
    transform: translateY(-1px);
}

.jsfs-page .um .um-button.um-alt,
.jsfs-page .um a.um-button.um-alt {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.14) !important;
    color: var(--jsfs-text-main) !important;
    box-shadow: none !important;
}

.jsfs-page .um .um-button.um-alt:hover,
.jsfs-page .um a.um-button.um-alt:hover {
    background: rgba(201,158,76,0.22) !important;
    border-color: rgba(201,158,76,0.35) !important;
    color: var(--jsfs-text-main) !important;
}

/* Checkboxes/radios and validation */
.jsfs-page .um input[type="checkbox"],
.jsfs-page .um input[type="radio"] {
    accent-color: var(--jsfs-gold);
}

.jsfs-page .um .um-field-error,
.jsfs-page .um .um-error-block,
.jsfs-page .um .um-error {
    border-radius: 12px !important;
    background: rgba(190, 55, 55, 0.14) !important;
    border: 1px solid rgba(255, 115, 115, 0.22) !important;
    color: #ffd4d4 !important;
}

.jsfs-page .um .um-message,
.jsfs-page .um .um-postmessage,
.jsfs-page .um .um-info {
    border-radius: 14px !important;
    background: rgba(135,186,211,0.10) !important;
    border: 1px solid rgba(135,186,211,0.20) !important;
    color: var(--jsfs-text-soft) !important;
}

/* Account page */
.jsfs-page .um-account {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
}

.jsfs-page .um-account-side,
.jsfs-page .um-account-main,
.jsfs-page .um-account-meta,
.jsfs-page .um-account-nav,
.jsfs-page .um-account-tab {
    background: transparent !important;
    border-color: var(--jsfs-line) !important;
    color: var(--jsfs-text-soft) !important;
}

.jsfs-page .um-account-side li,
.jsfs-page .um-account-side li a,
.jsfs-page .um-account-nav a {
    border-color: var(--jsfs-line) !important;
    color: var(--jsfs-text-muted) !important;
}

.jsfs-page .um-account-side li a.current,
.jsfs-page .um-account-side li a:hover,
.jsfs-page .um-account-nav a.current,
.jsfs-page .um-account-nav a:hover {
    background: rgba(201,158,76,0.12) !important;
    color: var(--jsfs-gold-bright) !important;
}

/* User profile page */
.jsfs-page .um-profile {
    width: min(100%, 960px) !important;
    max-width: 960px !important;
}

.jsfs-page .um-profile .um-header,
.jsfs-page .um-profile .um-profile-nav,
.jsfs-page .um-profile .um-profile-body,
.jsfs-page .um-profile .um-profile-headericon a {
    background: transparent !important;
    border-color: var(--jsfs-line) !important;
    color: var(--jsfs-text-soft) !important;
}

.jsfs-page .um-profile .um-name a,
.jsfs-page .um-profile .um-name,
.jsfs-page .um-profile .um-meta-text {
    color: var(--jsfs-text-main) !important;
}

.jsfs-page .um-profile img,
.jsfs-page .um-member-photo img,
.jsfs-page .um-avatar {
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,0.32) !important;
}

/* Members directory */
.jsfs-page .um-directory {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
}

.jsfs-page .um-directory .um-member,
.jsfs-page .um-directory .um-members-wrapper .um-member,
.jsfs-page .um-directory .um-member-card,
.jsfs-page .um-directory .um-search,
.jsfs-page .um-directory .um-directory-header {
    background: rgba(255,255,255,0.035) !important;
    border: 1px solid var(--jsfs-line) !important;
    border-radius: 16px !important;
    color: var(--jsfs-text-soft) !important;
    box-shadow: none !important;
}

.jsfs-page .um-directory .um-member-name a,
.jsfs-page .um-directory .um-member-name {
    color: var(--jsfs-text-main) !important;
    font-family: var(--jsfs-font-display) !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
}

.jsfs-page .um-directory .um-members-pagination-box,
.jsfs-page .um-directory .um-members-pagination-box a {
    color: var(--jsfs-text-muted) !important;
}

/* Logout/simple UM pages */
.jsfs-page:has(.um-logout) .um,
.jsfs-page:has(.um-password) .um,
.jsfs-page:has(.um-register) .um,
.jsfs-page:has(.um-login) .um {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
}

@media (max-width: 1050px) {
    .jsfs-page:has(.um) .jsfs-page__inner {
        width: min(92vw, 1180px);
    }

    .jsfs-page:has(.um) {
        background:
            linear-gradient(180deg, rgba(3,8,14,0.88), rgba(3,8,14,0.96)),
            url("../images/hangar.jpg") center top / cover no-repeat,
            linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
    }
}

@media (max-width: 760px) {
    .jsfs-page:has(.um) .jsfs-page__inner {
        padding-top: 6.75rem;
    }

    .jsfs-page .um-form,
    .jsfs-page .um-account,
    .jsfs-page .um-profile,
    .jsfs-page .um-directory {
        padding: 1.25rem;
        border-radius: 18px;
    }

    .jsfs-page .um .um-button,
    .jsfs-page .um input[type="submit"].um-button,
    .jsfs-page .um a.um-button {
        width: 100% !important;
    }
}


/* ========================================================================== 
   WOOCOMMERCE CUSTOMER ACCOUNT / OPERATIONS HANGAR v9
   --------------------------------------------------------------------------
   Styles the logged-in [woocommerce_my_account] dashboard, navigation, orders,
   downloads, addresses, account details, and license plugin tables.
   ========================================================================== */

body.woocommerce-account.logged-in {
    background: var(--jsfs-bg-bottom);
}

body.woocommerce-account.logged-in .jsfs-page {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 14, 1) 0%,
            rgba(3, 8, 14, 0.98) 28%,
            rgba(3, 8, 14, 0.84) 50%,
            rgba(3, 8, 14, 0.56) 74%,
            rgba(3, 8, 14, 0.34) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 8, 14, 0.08) 0%,
            rgba(3, 8, 14, 0.18) 48%,
            rgba(3, 8, 14, 0.96) 100%
        ),
        url("../images/hangar.jpg") center right / cover no-repeat,
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

body.woocommerce-account.logged-in .jsfs-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 76% 18%, rgba(135, 186, 211, 0.10), transparent 34%),
        radial-gradient(circle at 18% 72%, rgba(201, 158, 76, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(3, 8, 14, 0.02) 0%, rgba(3, 8, 14, 0.80) 100%);
}

body.woocommerce-account.logged-in .jsfs-page__inner,
body.woocommerce-account.logged-in .jsfs-page__article,
body.woocommerce-account.logged-in .jsfs-page__content {
    position: relative;
    z-index: 1;
}

body.woocommerce-account.logged-in .jsfs-page__inner {
    width: min(86vw, 1240px);
    margin-inline: auto;
    padding: clamp(7rem, 9vw, 8.75rem) 0 4rem;
}

body.woocommerce-account.logged-in .jsfs-page__header {
    max-width: 760px;
    margin: 0 0 2rem;
}

body.woocommerce-account.logged-in .jsfs-page__header::before {
    content: "Customer Operations";
    display: block;
    margin-bottom: 0.85rem;
    color: var(--jsfs-gold);
    font-family: var(--jsfs-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1;
    text-transform: uppercase;
}

body.woocommerce-account.logged-in .jsfs-page__header .jsfs-heading {
    font-size: clamp(2.45rem, 5.2vw, 4.25rem);
    max-width: 780px;
}

body.woocommerce-account.logged-in .entry-content,
body.woocommerce-account.logged-in .jsfs-page__content,
body.woocommerce-account.logged-in .woocommerce {
    color: var(--jsfs-text-soft);
}

body.woocommerce-account.logged-in .jsfs-page__content > p,
body.woocommerce-account.logged-in .jsfs-page__content > figure,
body.woocommerce-account.logged-in .jsfs-page__content > img {
    display: none;
}

body.woocommerce-account.logged-in .woocommerce {
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    gap: 1.4rem;
    align-items: start;
}

body.woocommerce-account.logged-in .woocommerce::before,
body.woocommerce-account.logged-in .woocommerce::after {
    display: none !important;
}



/* ===== MY ACCOUNT DOWNLOAD ACTION LINKS ===== */

.woocommerce-account .woocommerce-MyAccount-content table a.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table a.button,
.woocommerce-account .woocommerce-MyAccount-content .download-file a,
.woocommerce-account .woocommerce-MyAccount-content td.download-file a,
.woocommerce-account .woocommerce-MyAccount-content td.download a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0.42rem 0.95rem;
    border-radius: 999px;
    line-height: 1.1;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: none;
}

/* Optional: a little more breathing room in the download column */
.woocommerce-account .woocommerce-MyAccount-content td.download-file,
.woocommerce-account .woocommerce-MyAccount-content td.download {
    min-width: 220px;
}

/* Optional hover polish */
.woocommerce-account .woocommerce-MyAccount-content table a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content .download-file a:hover,
.woocommerce-account .woocommerce-MyAccount-content td.download-file a:hover,
.woocommerce-account .woocommerce-MyAccount-content td.download a:hover {
    transform: translateY(-1px);
}

/* ===== MY ACCOUNT DOWNLOAD ACTION LINKS ===== */

.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: auto;
    padding: 1.1rem;
    border: 1px solid var(--jsfs-line);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025));
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    padding: 0.75rem 0.95rem;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--jsfs-text-soft);
    font-family: var(--jsfs-font-display);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: all 0.22s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    color: #111;
    background: var(--jsfs-gold);
    border-color: rgba(201,158,76,0.65);
}

.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    min-height: 420px;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border: 1px solid var(--jsfs-line);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child::before {
    content: "Dispatch Desk";
    display: block;
    margin-bottom: 0.8rem;
    color: var(--jsfs-gold);
    font-family: var(--jsfs-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content p {
    max-width: 760px;
    color: var(--jsfs-text-muted);
    font-size: 0.95rem;
    line-height: 1.7;
}

.woocommerce-account .woocommerce-MyAccount-content strong,
.woocommerce-account .woocommerce-MyAccount-content mark {
    color: var(--jsfs-text-main);
    background: transparent;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-customer-details h2 {
    margin: 0 0 1rem;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content table,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    width: 100%;
    margin: 1.2rem 0;
    border: 1px solid var(--jsfs-line);
    border-radius: 16px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: rgba(0,0,0,0.18);
}

.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
    padding: 0.9rem 1rem;
    border: 0;
    border-bottom: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-soft);
    vertical-align: middle;
}

.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
    color: var(--jsfs-text-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content table tr:last-child td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child td {
    border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content table a:not(.button) {
    color: var(--jsfs-gold);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content form,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
    padding: 1.2rem;
    border: 1px solid var(--jsfs-line);
    border-radius: 18px;
    background: rgba(0,0,0,0.16);
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea {
    min-height: 44px;
    border-radius: 999px;
    background: rgba(0,0,0,0.24);
    border: 1px solid rgba(255,255,255,0.13);
    color: var(--jsfs-text-main);
    padding: 0.75rem 1rem;
}

.woocommerce-account .woocommerce-MyAccount-content textarea {
    border-radius: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
    margin-top: 1.5rem;
    padding: 1.25rem;
    border: 1px solid var(--jsfs-line);
    border-radius: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content legend {
    padding: 0 0.5rem;
    color: var(--jsfs-gold);
    font-family: var(--jsfs-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
    margin: 0 0 1rem;
    border-radius: 16px;
    background: rgba(0,0,0,0.22);
}

@media (max-width: 960px) {
    body.woocommerce-account.logged-in .woocommerce {
        grid-template-columns: 1fr;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    body.woocommerce-account.logged-in .jsfs-page__inner {
        width: min(92vw, 1240px);
        padding-top: 6.75rem;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr;
    }

    .woocommerce-account .woocommerce-MyAccount-content table,
    .woocommerce-account .woocommerce-MyAccount-content table.shop_table {
        display: block;
        overflow-x: auto;
    }
}

.jsfs-myaccount-dashboard .jsfs-kicker {
    margin-bottom: 0.7rem;
}

.jsfs-myaccount-dashboard > h2 {
    margin-bottom: 0.8rem;
}

.jsfs-myaccount-dashboard__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.6rem 0;
}

.jsfs-myaccount-dashboard__grid a {
    display: block;
    min-height: 150px;
    padding: 1.15rem;
    border: 1px solid var(--jsfs-line);
    border-radius: 18px;
    background: rgba(0,0,0,0.18);
    color: var(--jsfs-text-soft);
    transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.jsfs-myaccount-dashboard__grid a:hover {
    transform: translateY(-2px);
    border-color: rgba(201,158,76,0.45);
    background: rgba(201,158,76,0.08);
}

.jsfs-myaccount-dashboard__grid span {
    display: block;
    margin-bottom: 0.7rem;
    color: var(--jsfs-gold);
    font-family: var(--jsfs-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.jsfs-myaccount-dashboard__grid strong {
    display: block;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: 0.9rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.jsfs-myaccount-dashboard__grid em {
    display: block;
    margin-top: 0.55rem;
    color: var(--jsfs-text-muted);
    font-style: normal;
    font-size: 0.84rem;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .jsfs-myaccount-dashboard__grid {
        grid-template-columns: 1fr;
    }
}

/* ===== MY ACCOUNT NAVIGATION HIGHLIGHT TUNE ===== */
.woocommerce-account .woocommerce-MyAccount-navigation li a {
    position: relative;
    min-height: 50px;
    padding: 0.92rem 1.1rem;
    border-radius: 14px;
    line-height: 1.25;
    justify-content: flex-start;
    gap: 0.6rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    color: var(--jsfs-text-main);
    background:
        linear-gradient(90deg, rgba(201,158,76,0.20), rgba(201,158,76,0.08));
    border-color: rgba(201,158,76,0.36);
    box-shadow: inset 4px 0 0 var(--jsfs-gold), 0 12px 28px rgba(0,0,0,0.18);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-left: auto;
    border-radius: 50%;
    background: var(--jsfs-gold-bright);
    box-shadow: 0 0 16px rgba(201,158,76,0.55);
}


/* ===== CART PAGE CENTERING / WIDTH LOCK ===== */

.woocommerce-cart .jsfs-page__inner,
.woocommerce-cart .entry-content,
.woocommerce-cart .wp-block-post-content {
    width: min(90vw, 1280px);
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-cart .wp-block-post-content > .woocommerce {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-cart .jsfs-cart-shell {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-cart .jsfs-cart-layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
}

@media (max-width: 1050px) {
    .woocommerce-cart .jsfs-cart-layout {
        grid-template-columns: 1fr;
    }
}


/* ===== CART BACKGROUND RESTORE ===== */

body.woocommerce-cart .jsfs-page {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 14, 1) 0%,
            rgba(3, 8, 14, 0.98) 24%,
            rgba(3, 8, 14, 0.78) 45%,
            rgba(3, 8, 14, 0.42) 68%,
            rgba(3, 8, 14, 0.24) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 8, 14, 0.12) 0%,
            rgba(3, 8, 14, 0.10) 42%,
            rgba(3, 8, 14, 0.92) 100%
        ),
        url("../images/navcharts.jpg") center right / cover no-repeat,
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

body.woocommerce-cart .jsfs-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 22%, rgba(135, 186, 211, 0.10), transparent 34%),
        linear-gradient(180deg, transparent 0%, rgba(3, 8, 14, 0.72) 100%);
}

body.woocommerce-cart .jsfs-page__inner {
    position: relative;
    z-index: 1;
}

/* ==========================================================================
   CHECKOUT PAGE / FINAL CLEARANCE
   ========================================================================== */

body.woocommerce-checkout {
    background: var(--jsfs-bg-bottom);
}

/* Full checkout atmosphere */
body.woocommerce-checkout .jsfs-page {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 14, 1) 0%,
            rgba(3, 8, 14, 0.98) 24%,
            rgba(3, 8, 14, 0.78) 45%,
            rgba(3, 8, 14, 0.42) 68%,
            rgba(3, 8, 14, 0.24) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 8, 14, 0.12) 0%,
            rgba(3, 8, 14, 0.10) 42%,
            rgba(3, 8, 14, 0.92) 100%
        ),
        url("../images/navcharts.jpg") center right / cover no-repeat,
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

body.woocommerce-checkout .jsfs-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 22%, rgba(135, 186, 211, 0.10), transparent 34%),
        linear-gradient(180deg, transparent 0%, rgba(3, 8, 14, 0.74) 100%);
}

body.woocommerce-checkout .jsfs-page__inner,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-block-post-content {
    position: relative;
    z-index: 1;
    width: min(90vw, 1280px);
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

/* Hide default WP page title if it appears */
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .wp-block-post-title {
    display: none;
}



/* Main Woo checkout block */
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
    color: var(--jsfs-text-soft);
}

/* Left checkout form column */
body.woocommerce-checkout .wc-block-checkout__main {
    padding: 1.4rem;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

/* Right order summary */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
    padding: 1.4rem;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.085), rgba(255,255,255,0.03));
    border: 1px solid var(--jsfs-line);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.36);
    backdrop-filter: blur(14px);
}

/* Section headings */
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-checkout__form h2,
body.woocommerce-checkout .wc-block-components-checkout-step__title {
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Small labels and text */
body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value {
    color: var(--jsfs-text-soft);
}

/* Inputs */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-country-input input,
body.woocommerce-checkout .wc-block-components-state-input input {
    min-height: 48px;
    background: rgba(0,0,0,0.28) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    border-radius: 14px !important;
    color: var(--jsfs-text-main) !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox-control label {
    color: var(--jsfs-text-muted) !important;
}

/* Checkbox / radio polish */
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input,
body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"] {
    accent-color: var(--jsfs-gold);
}

/* Address / payment option cards */
body.woocommerce-checkout .wc-block-components-address-card,
body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-components-radio-control__option {
    background: rgba(0,0,0,0.20);
    border-color: var(--jsfs-line);
    border-radius: 16px;
}

/* Order summary product rows */
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-order-summary-item {
    border-color: var(--jsfs-line);
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-product-name {
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
body.woocommerce-checkout .wc-block-components-formatted-money-amount {
    color: var(--jsfs-gold);
    font-weight: 800;
}

/* Totals */
body.woocommerce-checkout .wc-block-components-totals-wrapper {
    border-color: var(--jsfs-line);
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: 1.2rem;
    font-weight: 800;
}

/* Buttons */
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout button,
body.woocommerce-checkout .button {
    border-radius: 999px;
}

body.woocommerce-checkout .wc-block-components-button:not(.is-link) {
    min-height: 52px;
    background: var(--jsfs-gold);
    color: #081018;
    font-family: var(--jsfs-font-display);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 0 24px rgba(201,158,76,0.18);
}

body.woocommerce-checkout .wc-block-components-button:not(.is-link):hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}


@media (max-width: 1050px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: block;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar {
        width: 100%;
        max-width: 100%;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar {
        margin-top: 1.5rem;
    }
}

@media (max-width: 760px) {
    body.woocommerce-checkout .jsfs-page__inner,
    body.woocommerce-checkout .entry-content,
    body.woocommerce-checkout .wp-block-post-content {
        width: min(92vw, 1280px);
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar {
        padding: 1rem;
        border-radius: 18px;
    }
}

/* ===== CHECKOUT TOP SPACING FIX ===== */

body.woocommerce-checkout .jsfs-page__inner,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-block-post-content {
    padding-top: clamp(7rem, 10vw, 9rem);
}

/* Logged-in admin bar compensation */
body.admin-bar.woocommerce-checkout .jsfs-page__inner,
body.admin-bar.woocommerce-checkout .entry-content,
body.admin-bar.woocommerce-checkout .wp-block-post-content {
    padding-top: clamp(8.5rem, 11vw, 10.5rem);
}

/* ===== CHECKOUT EXPRESS AREA BREATHING ROOM ===== */

body.woocommerce-checkout .wc-block-components-express-payment {
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}

body.woocommerce-checkout .wc-block-components-express-payment__event-buttons,
body.woocommerce-checkout .wc-block-components-express-payment__content {
    min-height: 92px;
    border-radius: 18px;
    background: rgba(0,0,0,0.18);
    border-color: var(--jsfs-line);
}

/* ==========================================================================
   GLOBAL PAGE TITLE CLEANUP
   ========================================================================== */

/* Hide default WP/Gutenberg page titles on Woo/UM operational pages */
.woocommerce-cart .entry-title,
.woocommerce-cart .wp-block-post-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout .wp-block-post-title,
.woocommerce-account .entry-title,
.woocommerce-account .wp-block-post-title,
.um-page .entry-title,
.um-page .wp-block-post-title,
body[class*="um-page"] .entry-title,
body[class*="um-page"] .wp-block-post-title {
    display: none !important;
}

/* ==========================================================================
   GLOBAL LINK STYLING
   ========================================================================== */

.jsfs-page a,
.entry-content a,
.wp-block-post-content a,
.woocommerce a,
.um a {
    color: var(--jsfs-gold);
    text-decoration: none;
    text-underline-offset: 0.22em;
    transition: color 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
}

.jsfs-page a:hover,
.entry-content a:hover,
.wp-block-post-content a:hover,
.woocommerce a:hover,
.um a:hover {
    color: var(--jsfs-gold-bright);
    text-decoration: none;
}

/* Body text links only, not buttons/nav/sidebar tabs */
.entry-content p a,
.wp-block-post-content p a,
.woocommerce-checkout p a,
.woocommerce-account p a,
.um-field a {
    border-bottom: 1px solid rgba(201, 158, 76, 0.42);
}

.entry-content p a:hover,
.wp-block-post-content p a:hover,
.woocommerce-checkout p a:hover,
.woocommerce-account p a:hover,
.um-field a:hover {
    border-bottom-color: rgba(201, 158, 76, 0.85);
}


/* Do not treat buttons/action chips as text links */
.woocommerce a.button,
.woocommerce .button,
.um .um-button,
.um a.um-button,
.jsfs-site-header a,
.jsfs-account-nav a,
.woocommerce-MyAccount-navigation a {
    border-bottom: 0 !important;
    text-decoration: none !important;
}

/* ===== CHECKOUT PAGE TITLE HIDE ===== */

body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .wp-block-post-title,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout .jsfs-page-title,
body.woocommerce-checkout .jsfs-page__title,
body.woocommerce-checkout header.entry-header {
    display: none !important;
}

/* ===== CHECKOUT THEME TITLE HIDE ===== */

body.woocommerce-checkout .jsfs-page__header {
    display: none !important;
}


body.woocommerce-cart .jsfs-page__header,
body.woocommerce-checkout .jsfs-page__header,
body.woocommerce-account .jsfs-page__header {
    display: none !important;
}


/* ===== CHECKOUT BRANDED HERO TITLE ===== */


body.woocommerce-checkout .jsfs-page__content::before {
    content: "Final Clearance";
    display: block;
    max-width: 760px;
    margin: 0 0 1.6rem;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}



/* ===== CHECKOUT COLUMN SPACING FIX ===== */

body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
    gap: 2rem;
    align-items: start;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 420px !important;
    margin-left: 0 !important;
}

@media (max-width: 1050px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: block !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        max-width: 100% !important;
        margin-top: 1.5rem !important;
    }
}


/* ==========================================================================
   CHECKOUT CLEANUP / FINAL CLEARANCE LAYOUT FIX
   ========================================================================== */

/* Keep checkout block itself as the grid controller only */
body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
    gap: clamp(1.8rem, 3vw, 2.6rem);
    align-items: start;
    padding: 0 !important;
    border-radius: 0;
}

/* Left checkout card */
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wc-block-checkout__main {
    width: 100% !important;
    max-width: 100% !important;
    padding: clamp(2rem, 2.8vw, 2.75rem) !important;
    box-sizing: border-box !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025)) !important;
    border: 1px solid var(--jsfs-line) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34) !important;
    backdrop-filter: blur(14px);
    overflow: hidden;
}

/* Right order summary card */
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar {
    width: 100% !important;
    max-width: 420px !important;
    margin-left: 0 !important;
    padding: clamp(1.4rem, 2vw, 1.8rem) !important;
    box-sizing: border-box !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.085), rgba(255,255,255,0.03)) !important;
    border: 1px solid var(--jsfs-line) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 80px rgba(0,0,0,0.36) !important;
    backdrop-filter: blur(14px);
}

/* Keep inner checkout fields inside the card */
body.woocommerce-checkout .wc-block-components-main *,
body.woocommerce-checkout .wc-block-checkout__main * {
    box-sizing: border-box;
}

/* Express checkout should sit inside the card, not touch the rim */
body.woocommerce-checkout .wc-block-components-express-payment {
    margin: 0 0 2rem !important;
    padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-express-payment__content,
body.woocommerce-checkout .wc-block-components-express-payment__event-buttons {
    width: 100%;
    min-height: 92px;
    border-radius: 18px;
    background: rgba(0,0,0,0.18);
    border-color: var(--jsfs-line);
}

/* Mobile/tablet */
@media (max-width: 1050px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: block !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        max-width: 100% !important;
        margin-top: 1.5rem !important;
    }
}

/* ==========================================================================
   ORDER RECEIVED / CLEARED FOR DEPARTURE
   ========================================================================== */

body.woocommerce-order-received .jsfs-page__content::before {
    content: "Cleared for Departure";
    display: block;
    max-width: 820px;
    margin: 0 0 1.2rem;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

/* Hide the checkout pseudo-title on order received */
body.woocommerce-order-received.woocommerce-checkout .jsfs-page__content::before {
    content: "Cleared for Departure";
}

/* Main thank-you content card */
body.woocommerce-order-received .woocommerce-order {
    width: min(100%, 920px);
    padding: clamp(1.5rem, 2.6vw, 2.4rem);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

/* Thank-you message */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    margin: 0 0 1.2rem;
    color: var(--jsfs-text-main);
    font-size: 1.05rem;
    font-weight: 700;
}

/* Order overview list */
body.woocommerce-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin: 1.2rem 0 1.8rem;
    padding: 0;
    list-style: none;
}

body.woocommerce-order-received .woocommerce-order-overview li {
    margin: 0;
    padding: 0.9rem 1rem;
    background: rgba(0,0,0,0.20);
    border: 1px solid var(--jsfs-line);
    border-radius: 14px;
    color: var(--jsfs-text-muted);
    font-size: 0.78rem;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

body.woocommerce-order-received .woocommerce-order-overview strong {
    display: block;
    margin-top: 0.35rem;
    color: var(--jsfs-text-main);
    font-size: 0.95rem;
    letter-spacing: 0;
    text-transform: none;
}

/* Order details tables */
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 1.8rem;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    margin: 0 0 1rem;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: 1.25rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

body.woocommerce-order-received table.shop_table {
    width: 100%;
    margin: 0;
    border: 1px solid var(--jsfs-line);
    border-radius: 16px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: rgba(0,0,0,0.18);
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
    padding: 0.9rem 1rem;
    border: 0;
    border-bottom: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-soft);
}

body.woocommerce-order-received table.shop_table th {
    color: var(--jsfs-text-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.woocommerce-order-received table.shop_table tr:last-child th,
body.woocommerce-order-received table.shop_table tr:last-child td {
    border-bottom: 0;
}

body.woocommerce-order-received table.shop_table a {
    color: var(--jsfs-gold);
    font-weight: 800;
    text-decoration: none;
}

/* Billing address */
body.woocommerce-order-received .woocommerce-customer-details address {
    padding: 1.2rem;
    border: 1px solid var(--jsfs-line);
    border-radius: 18px;
    background: rgba(0,0,0,0.16);
    color: var(--jsfs-text-soft);
    font-style: normal;
    line-height: 1.65;
}

/* Mobile */
@media (max-width: 760px) {
    body.woocommerce-order-received .woocommerce-order-overview {
        grid-template-columns: 1fr;
    }

    body.woocommerce-order-received .woocommerce-order {
        padding: 1.25rem;
    }
}

/* Align order-received totals labels closer to their values */
body.woocommerce-order-received table.shop_table tfoot th {
    text-align: right;
    padding-right: 1.2rem;
    width: 58%;
}

body.woocommerce-order-received table.shop_table tfoot td {
    text-align: left;
    width: 42%;
}

/* Keep the final total a bit stronger */
body.woocommerce-order-received table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child td {
    color: var(--jsfs-text-main);
    font-weight: 900;
}

/* ==========================================================================
   ORDER RECEIVED / LOGGED OUT ORDER ACCESS
   ========================================================================== */

/* When logged out, Woo shows a login form instead of the order details */
body.woocommerce-order-received:not(.logged-in) .woocommerce-order {
    width: min(100%, 720px);
    padding: clamp(1.5rem, 2.6vw, 2.4rem);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

/* Woo may output the login form directly inside page content instead */
body.woocommerce-order-received:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-order-received:not(.logged-in) form.login {
    width: min(100%, 620px);
    margin-top: 1.4rem;
    padding: clamp(1.4rem, 2.4vw, 2rem);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.34);
    backdrop-filter: blur(14px);
}

body.woocommerce-order-received:not(.logged-in) .woocommerce-info,
body.woocommerce-order-received:not(.logged-in) .woocommerce-message {
    width: min(100%, 720px);
    margin: 0 0 1rem;
    padding: 1rem 1.2rem;
    border-radius: 16px;
    background: rgba(0,0,0,0.24);
    border: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-soft);
}

/* Login labels */
body.woocommerce-order-received:not(.logged-in) form.login label,
body.woocommerce-order-received:not(.logged-in) form.woocommerce-form-login label {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--jsfs-text-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

/* Login inputs */
body.woocommerce-order-received:not(.logged-in) form.login input.input-text,
body.woocommerce-order-received:not(.logged-in) form.woocommerce-form-login input.input-text,
body.woocommerce-order-received:not(.logged-in) form.login input[type="text"],
body.woocommerce-order-received:not(.logged-in) form.login input[type="password"] {
    width: 100%;
    min-height: 48px;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 999px;
    background: rgba(0,0,0,0.24);
    color: var(--jsfs-text-main);
}

/* Remember me row */
body.woocommerce-order-received:not(.logged-in) form.login .form-row,
body.woocommerce-order-received:not(.logged-in) form.woocommerce-form-login .form-row {
    margin-bottom: 1rem;
}

body.woocommerce-order-received:not(.logged-in) form.login input[type="checkbox"] {
    accent-color: var(--jsfs-gold);
}

/* Login button */
body.woocommerce-order-received:not(.logged-in) form.login .button,
body.woocommerce-order-received:not(.logged-in) form.woocommerce-form-login .button {
    min-height: 44px;
    padding: 0.8rem 1.3rem;
}

/* Lost password link */
body.woocommerce-order-received:not(.logged-in) .lost_password a,
body.woocommerce-order-received:not(.logged-in) form.login a {
    color: var(--jsfs-gold);
    text-decoration: none;
}

body.woocommerce-order-received:not(.logged-in) .lost_password a:hover,
body.woocommerce-order-received:not(.logged-in) form.login a:hover {
    color: var(--jsfs-gold-bright);
}

/* ==========================================================================
   WOO STORE / PRODUCT ARCHIVE — THE SHOWROOM
   ========================================================================== */

body.post-type-archive-product,
body.woocommerce-shop {
    background: var(--jsfs-bg-bottom);
}

body.post-type-archive-product .jsfs-page,
body.woocommerce-shop .jsfs-page {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 14, 1) 0%,
            rgba(3, 8, 14, 0.98) 30%,
            rgba(3, 8, 14, 0.80) 56%,
            rgba(3, 8, 14, 0.52) 78%,
            rgba(3, 8, 14, 0.34) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 8, 14, 0.10) 0%,
            rgba(3, 8, 14, 0.20) 50%,
            rgba(3, 8, 14, 0.96) 100%
        ),
        url("../images/hangar.jpg") center right / cover no-repeat,
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

body.post-type-archive-product .jsfs-page::before,
body.woocommerce-shop .jsfs-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 76% 18%, rgba(135, 186, 211, 0.10), transparent 34%),
        radial-gradient(circle at 18% 72%, rgba(201, 158, 76, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(3, 8, 14, 0.02) 0%, rgba(3, 8, 14, 0.82) 100%);
}

body.post-type-archive-product .jsfs-page__inner,
body.woocommerce-shop .jsfs-page__inner,
body.post-type-archive-product .jsfs-page__content,
body.woocommerce-shop .jsfs-page__content {
    position: relative;
    z-index: 1;
}

body.post-type-archive-product .jsfs-page__inner,
body.woocommerce-shop .jsfs-page__inner {
    width: min(88vw, 1280px);
    margin-inline: auto;
    padding: clamp(7rem, 9vw, 8.75rem) 0 5rem;
}

/* Hide raw page/archive title */
body.post-type-archive-product .jsfs-page__header,
body.woocommerce-shop .jsfs-page__header,
body.post-type-archive-product .woocommerce-products-header,
body.woocommerce-shop .woocommerce-products-header {
    display: none !important;
}

/* Branded store title */
body.post-type-archive-product .jsfs-page__content::before,
body.woocommerce-shop .jsfs-page__content::before {
    content: "The Showroom";
    display: block;
    max-width: 760px;
    margin: 0 0 0.85rem;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

body.post-type-archive-product .jsfs-page__content::after,
body.woocommerce-shop .jsfs-page__content::after {
    content: "Browse the JetStream FS fleet, support tools, and companion products.";
    display: block;
    max-width: 620px;
    margin: 0 0 2.2rem;
    color: var(--jsfs-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

/* Result count and sorting */
body.post-type-archive-product .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count {
    margin: 0 0 1rem;
    color: var(--jsfs-text-muted);
    font-size: 0.86rem;
}

body.post-type-archive-product .woocommerce-ordering,
body.woocommerce-shop .woocommerce-ordering {
    margin: 0 0 1.5rem;
}

body.post-type-archive-product .woocommerce-ordering select,
body.woocommerce-shop .woocommerce-ordering select {
    min-height: 44px;
    padding: 0 1rem;
    border-radius: 999px;
    background: rgba(0,0,0,0.26);
    border: 1px solid rgba(255,255,255,0.13);
    color: var(--jsfs-text-main);
}

/* Product grid */
body.post-type-archive-product ul.products,
body.woocommerce-shop ul.products,
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
    margin: 0 !important;
    padding: 0 !important;
}

body.post-type-archive-product ul.products li.product,
body.woocommerce-shop ul.products li.product,
.woocommerce ul.products li.product {
    position: relative;
    overflow: hidden;
    width: auto !important;
    margin: 0 !important;
    padding: 1rem !important;
    list-style: none;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border: 1px solid var(--jsfs-line);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.28);
    backdrop-filter: blur(14px);
    transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

body.post-type-archive-product ul.products li.product:hover,
body.woocommerce-shop ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
    transform: translateY(-3px);
    border-color: rgba(201,158,76,0.42);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.095), rgba(255,255,255,0.035));
}

/* Product images */
body.post-type-archive-product ul.products li.product img,
body.woocommerce-shop ul.products li.product img,
.woocommerce ul.products li.product img {
    width: 100%;
    aspect-ratio: 16 / 10;
    height: auto;
    margin: 0 0 1rem !important;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: 0 18px 46px rgba(0,0,0,0.34);
}

/* Product titles */
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 0.75rem;
    padding: 0;
    color: var(--jsfs-text-main);
    font-family: var(--jsfs-font-display);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Price */
body.post-type-archive-product ul.products li.product .price,
body.woocommerce-shop ul.products li.product .price,
.woocommerce ul.products li.product .price {
    display: block;
    margin: 0 0 0.85rem;
    color: var(--jsfs-gold);
    font-size: 0.95rem;
    font-weight: 800;
}

body.post-type-archive-product ul.products li.product .price .amount,
body.woocommerce-shop ul.products li.product .price .amount,
.woocommerce ul.products li.product .price .amount {
    color: var(--jsfs-gold);
}

/* Add to cart buttons */
body.post-type-archive-product ul.products li.product .button,
body.woocommerce-shop ul.products li.product .button,
.woocommerce ul.products li.product .button {
    min-height: 42px;
    padding: 0.75rem 1.05rem;
    border-radius: 999px;
    background: var(--jsfs-gold);
    color: #081018;
    font-family: var(--jsfs-font-display);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    box-shadow: 0 0 20px rgba(201,158,76,0.14);
}

body.post-type-archive-product ul.products li.product .button:hover,
body.woocommerce-shop ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:hover {
    background: var(--jsfs-gold-bright);
    color: #081018;
    transform: translateY(-1px);
}

/* Sale/protected badges */
body.post-type-archive-product span.onsale,
body.woocommerce-shop span.onsale,
.woocommerce span.onsale {
    top: 1rem;
    left: 1rem;
    right: auto;
    min-height: auto;
    min-width: auto;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: rgba(201,158,76,0.95);
    color: #081018;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

/* Pagination */
body.post-type-archive-product nav.woocommerce-pagination,
body.woocommerce-shop nav.woocommerce-pagination {
    margin-top: 2rem;
}

body.post-type-archive-product nav.woocommerce-pagination ul,
body.woocommerce-shop nav.woocommerce-pagination ul {
    border: 0;
}

body.post-type-archive-product nav.woocommerce-pagination ul li,
body.woocommerce-shop nav.woocommerce-pagination ul li {
    border: 0;
    margin: 0 0.25rem;
}

body.post-type-archive-product nav.woocommerce-pagination ul li a,
body.post-type-archive-product nav.woocommerce-pagination ul li span,
body.woocommerce-shop nav.woocommerce-pagination ul li a,
body.woocommerce-shop nav.woocommerce-pagination ul li span {
    min-width: 42px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255,255,255,0.055);
    border: 1px solid var(--jsfs-line);
    color: var(--jsfs-text-soft);
}

body.post-type-archive-product nav.woocommerce-pagination ul li span.current,
body.woocommerce-shop nav.woocommerce-pagination ul li span.current {
    background: var(--jsfs-gold);
    color: #081018;
}

/* Responsive */
@media (max-width: 1050px) {
    body.post-type-archive-product ul.products,
    body.woocommerce-shop ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    body.post-type-archive-product .jsfs-page__inner,
    body.woocommerce-shop .jsfs-page__inner {
        width: min(92vw, 1280px);
        padding-top: 6.8rem;
    }

    body.post-type-archive-product ul.products,
    body.woocommerce-shop ul.products,
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   STORE PAGE - HIDE DEFAULT WORDPRESS SIDEBAR/WIDGETS
   ========================================================================== */

body.woocommerce-shop .widget-area,
body.woocommerce-shop aside,
body.post-type-archive-product .widget-area,
body.post-type-archive-product aside {
    display: none !important;
}

/* ==========================================================================
   WC_STORE PAGE - HIDE DEFAULT WORDPRESS SIDEBAR/WIDGETS
   ========================================================================== */

body.page-id-1933 .widget-area,
body.page-id-1933 aside {
    display: none !important;
}

body.page-id-1933 ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================================
   WC_STORE PAGE - HIDE DEFAULT WORDPRESS BLOCK WIDGETS
   ========================================================================== */

body.page-id-1933 .wp-block-search,
body.page-id-1933 .wp-block-page-list,
body.page-id-1933 .wp-block-archives,
body.page-id-1933 .wp-block-categories,
body.page-id-1933 .widget_search,
body.page-id-1933 .widget_pages,
body.page-id-1933 .widget_archive,
body.page-id-1933 .widget_categories {
    display: none !important;
}

body.page-id-1933 h2:has(+ .wp-block-page-list),
body.page-id-1933 h2:has(+ .wp-block-archives),
body.page-id-1933 h2:has(+ .wp-block-categories),
body.page-id-1933 h3:has(+ .wp-block-page-list),
body.page-id-1933 h3:has(+ .wp-block-archives),
body.page-id-1933 h3:has(+ .wp-block-categories) {
    display: none !important;
}

/* ==========================================================================
   WC_STORE FINAL SHOWROOM GRID CLEANUP
   ========================================================================== */

/* Lock the real store content, not every Woo wrapper */
body.page-id-1933 .jsfs-page__inner,
body.woocommerce-shop .jsfs-page__inner,
body.post-type-archive-product .jsfs-page__inner {
    width: min(88vw, 1240px) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Product grid */
body.page-id-1933 ul.products,
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2rem !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Product card */
body.page-id-1933 ul.products li.product,
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    padding: 1.15rem 1.15rem 1.25rem !important;
    display: flex !important;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,0.22);
}

/* Product link body */
body.page-id-1933 ul.products li.product > a:first-of-type,
body.woocommerce-shop ul.products li.product > a:first-of-type,
body.post-type-archive-product ul.products li.product > a:first-of-type {
    display: block;
    text-decoration: none;
}

/* Framed thumbnails */
body.page-id-1933 ul.products li.product img,
body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img {
    display: block;
    width: 88% !important;
    max-width: 88% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    margin: 0 auto 1rem !important;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}

/* Placeholder image special handling */
body.page-id-1933 ul.products li.product img[src*="placeholder"],
body.woocommerce-shop ul.products li.product img[src*="placeholder"],
body.post-type-archive-product ul.products li.product img[src*="placeholder"] {
    object-fit: contain;
    padding: 2rem;
    background: rgba(255,255,255,0.92);
}

/* Text alignment follows thumbnail frame */
body.page-id-1933 ul.products li.product .woocommerce-loop-product__title,
body.page-id-1933 ul.products li.product .price,
body.page-id-1933 ul.products li.product .button,
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product .price,
body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .price,
body.post-type-archive-product ul.products li.product .button {
    margin-left: 6% !important;
    margin-right: 6% !important;
}

/* Product titles */
body.page-id-1933 ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
    margin-top: 0 !important;
    margin-bottom: 0.65rem !important;
    padding: 0 !important;
    font-size: 0.92rem;
    line-height: 1.28;
    letter-spacing: 0.035em;
}

/* Price */
body.page-id-1933 ul.products li.product .price,
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price {
    margin-top: 0 !important;
    margin-bottom: 0.9rem !important;
    font-size: 0.92rem;
}

/* Button */
body.page-id-1933 ul.products li.product .button,
body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button {
    align-self: flex-start;
    min-height: 40px;
    padding: 0.8rem 1.1rem;
    font-size: 0.68rem;
    letter-spacing: 0.09em;
}

/* Hover */
body.page-id-1933 ul.products li.product:hover,
body.woocommerce-shop ul.products li.product:hover,
body.post-type-archive-product ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: rgba(201,158,76,0.30) !important;
    box-shadow: 0 24px 56px rgba(0,0,0,0.28);
}

/* Responsive */
@media (max-width: 1050px) {
    body.page-id-1933 ul.products,
    body.woocommerce-shop ul.products,
    body.post-type-archive-product ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    body.page-id-1933 .jsfs-page__inner,
    body.woocommerce-shop .jsfs-page__inner,
    body.post-type-archive-product .jsfs-page__inner {
        width: min(92vw, 1240px) !important;
    }

    body.page-id-1933 ul.products,
    body.woocommerce-shop ul.products,
    body.post-type-archive-product ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   WC_STORE HARD CENTERING FIX
   ========================================================================== */

/* Woo shop can bypass the normal page wrapper, so center the actual Woo output */
body.woocommerce-shop .woocommerce,
body.post-type-archive-product .woocommerce,
body.page-id-1933 .woocommerce,
body.woocommerce-shop .jsfs-page__content,
body.post-type-archive-product .jsfs-page__content,
body.page-id-1933 .jsfs-page__content {
    width: min(88vw, 1240px) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Center the actual product list and prevent edge hugging */
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.page-id-1933 ul.products {
    width: 100% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(1rem, 2vw, 1.6rem) !important;
    padding-right: clamp(1rem, 2vw, 1.6rem) !important;
    box-sizing: border-box !important;
}

/* Keep cards from visually touching the grid edge */
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.page-id-1933 ul.products li.product {
    box-sizing: border-box !important;
}

/* Make thumbnails slightly smaller and visually framed */
body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img,
body.page-id-1933 ul.products li.product img {
    width: 82% !important;
    max-width: 82% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ==========================================================================
   WC_STORE FOOTER SEPARATION HARD FIX
   ========================================================================== */

/* Give the whole store page real breathing room before the footer */
body.page-id-1933 .jsfs-page,
body.woocommerce-shop .jsfs-page,
body.post-type-archive-product .jsfs-page {
    padding-bottom: clamp(7rem, 10vw, 10rem) !important;
}

/* Make sure the product grid contributes to page height normally */
body.page-id-1933 ul.products,
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products {
    margin-bottom: clamp(5rem, 8vw, 8rem) !important;
}

/* Add a visual divider/air gap before footer showcase */
body.page-id-1933 .jsfs-footer-showcase,
body.woocommerce-shop .jsfs-footer-showcase,
body.post-type-archive-product .jsfs-footer-showcase {
    margin-top: clamp(3rem, 5vw, 5rem) !important;
}

/* ==========================================================================
   WC_STORE CATEGORY NAVIGATION
   ========================================================================== */

body.woocommerce-shop .jsfs-store-cats,
body.post-type-archive-product .jsfs-store-cats,
body.tax-product_cat .jsfs-store-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0 0 2rem;
}

body.woocommerce-shop .jsfs-store-cat,
body.post-type-archive-product .jsfs-store-cat,
body.tax-product_cat .jsfs-store-cat {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.75rem 1.05rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(0,0,0,0.22);
    color: var(--jsfs-text-soft);
    font-family: var(--jsfs-font-display);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    text-decoration: none;
}

body.woocommerce-shop .jsfs-store-cat:hover,
body.post-type-archive-product .jsfs-store-cat:hover,
body.tax-product_cat .jsfs-store-cat:hover,
body.woocommerce-shop .jsfs-store-cat.is-active,
body.post-type-archive-product .jsfs-store-cat.is-active,
body.tax-product_cat .jsfs-store-cat.is-active {
    background: var(--jsfs-gold);
    border-color: rgba(201,158,76,0.65);
    color: #081018;
}


/* ==========================================================================
   WC_STORE CATEGORY NAVIGATION
   ========================================================================== */

body.woocommerce-shop .jsfs-store-cats,
body.post-type-archive-product .jsfs-store-cats,
body.tax-product_cat .jsfs-store-cats,
body.page-id-1933 .jsfs-store-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    width: min(88vw, 1240px);
    max-width: 1240px;
    margin: 0 auto 2rem;
}

body.woocommerce-shop .jsfs-store-cat,
body.post-type-archive-product .jsfs-store-cat,
body.tax-product_cat .jsfs-store-cat,
body.page-id-1933 .jsfs-store-cat {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.75rem 1.05rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(0,0,0,0.22);
    color: var(--jsfs-text-soft);
    font-family: var(--jsfs-font-display);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    text-decoration: none;
}

body.woocommerce-shop .jsfs-store-cat:hover,
body.post-type-archive-product .jsfs-store-cat:hover,
body.tax-product_cat .jsfs-store-cat:hover,
body.page-id-1933 .jsfs-store-cat:hover,
body.woocommerce-shop .jsfs-store-cat.is-active,
body.post-type-archive-product .jsfs-store-cat.is-active,
body.tax-product_cat .jsfs-store-cat.is-active,
body.page-id-1933 .jsfs-store-cat.is-active {
    background: var(--jsfs-gold);
    border-color: rgba(201,158,76,0.65);
    color: #081018;
}

/* ==========================================================================
   WC_STORE CATEGORY NAVIGATION
   ========================================================================== */

body.woocommerce-shop .jsfs-store-cats,
body.post-type-archive-product .jsfs-store-cats,
body.tax-product_cat .jsfs-store-cats,
body.page-id-1933 .jsfs-store-cats {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.75rem;
    width: min(88vw, 1240px);
    max-width: 1240px;
    margin: 0 auto 2rem !important;
    position: relative;
    z-index: 3;
}

body.woocommerce-shop .jsfs-store-cat,
body.post-type-archive-product .jsfs-store-cat,
body.tax-product_cat .jsfs-store-cat,
body.page-id-1933 .jsfs-store-cat {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.75rem 1.05rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(0,0,0,0.28);
    color: var(--jsfs-text-soft);
    font-family: var(--jsfs-font-display);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    text-decoration: none;
}

body.woocommerce-shop .jsfs-store-cat:hover,
body.post-type-archive-product .jsfs-store-cat:hover,
body.tax-product_cat .jsfs-store-cat:hover,
body.page-id-1933 .jsfs-store-cat:hover,
body.woocommerce-shop .jsfs-store-cat.is-active,
body.post-type-archive-product .jsfs-store-cat.is-active,
body.tax-product_cat .jsfs-store-cat.is-active,
body.page-id-1933 .jsfs-store-cat.is-active {
    background: var(--jsfs-gold);
    border-color: rgba(201,158,76,0.65);
    color: #081018;
}


/* ==========================================================================
   WC STORE / CATEGORY ARCHIVE FINAL CLEANUP
   ========================================================================== */

body.woocommerce-shop .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
.jsfs-woo-shop-page .woocommerce-products-header,
.jsfs-woo-shop-page .page-title,
.jsfs-woo-shop-page .entry-title,
.jsfs-woo-shop-page .wp-block-post-title {
    display: none !important;
}

/* Use our template hero only */
.jsfs-store-hero {
    width: min(88vw, 1240px);
    max-width: 1240px;
    margin: 0 auto 2rem;
}

.jsfs-store-title {
    margin: 0 0 1rem;
    font-size: clamp(2.2rem, 4vw, 3.2rem);
}

/* Apply same page atmosphere to category archives */
body.tax-product_cat .jsfs-page,
.jsfs-woo-shop-page {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background:
        linear-gradient(
            90deg,
            rgba(3, 8, 14, 1) 0%,
            rgba(3, 8, 14, 0.98) 30%,
            rgba(3, 8, 14, 0.80) 56%,
            rgba(3, 8, 14, 0.52) 78%,
            rgba(3, 8, 14, 0.34) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 8, 14, 0.10) 0%,
            rgba(3, 8, 14, 0.20) 50%,
            rgba(3, 8, 14, 0.96) 100%
        ),
        url("../images/hangar.jpg") center right / cover no-repeat,
        linear-gradient(180deg, var(--jsfs-bg-top), var(--jsfs-bg-bottom));
}

body.tax-product_cat .jsfs-page__inner,
.jsfs-woo-shop-page .jsfs-page__inner {
    width: min(88vw, 1240px);
    max-width: 1240px;
    margin-inline: auto;
    padding: clamp(7rem, 9vw, 8.75rem) 0 clamp(7rem, 10vw, 10rem);
}

/* Prevent old pseudo-title from doubling with template title */
.jsfs-woo-shop-page .jsfs-page__content::before,
.jsfs-woo-shop-page .jsfs-page__content::after {
    display: none !important;
    content: none !important;
}

/* Product grid on shop and category pages */
.jsfs-woo-shop-page ul.products,
body.tax-product_cat ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2rem !important;
    width: 100% !important;
    margin: 0 auto clamp(5rem, 8vw, 8rem) !important;
    padding: 0 clamp(1rem, 2vw, 1.6rem) !important;
    box-sizing: border-box !important;
}

.jsfs-woo-shop-page ul.products li.product,
body.tax-product_cat ul.products li.product {
    width: auto !important;
    margin: 0 !important;
}

/* Keep category pages from using Woo default left-heavy archive layout */
.jsfs-woo-shop-page .woocommerce,
body.tax-product_cat .woocommerce {
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
}

@media (max-width: 1050px) {
    .jsfs-woo-shop-page ul.products,
    body.tax-product_cat ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .jsfs-woo-shop-page ul.products,
    body.tax-product_cat ul.products {
        grid-template-columns: 1fr !important;
    }
}