/* Blue Line Gala theme overrides
   Add this after the existing "Basic Gray v.2" theme stylesheet. */

:root {
    --gala-navy: #031c33;
    --gala-blue: #092f52;
    --gala-blue-hover: #12466f;
    --gala-grey: #e8edf1;
    --gala-grey-light: #f5f7f9;
    --gala-border: #c7d1da;
    --gala-white: #ffffff;
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: var(--gala-navy);
    background-color: var(--gala-white);
}

/* Left navigation: allow labels to wrap without escaping their boxes. */
#nav {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid var(--gala-border);
    background-color: var(--gala-grey-light);
    border-radius: 4px;
    overflow: hidden;
}

#nav ul,
#nav li {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
}

#nav li {
    height: auto !important;
    min-height: 42px;
    border-bottom: 1px solid var(--gala-border);
    list-style: none;
}

#nav .last {
    border-bottom: 0;
}

#nav a {
    box-sizing: border-box;
    display: flex;
    align-items: center;User Moore boulder Helvetica type font
    width: 100%;
    min-width: 0;
    min-height: 42px;
    height: auto !important;
    padding: 10px 12px;
    color: var(--gala-navy);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    text-decoration: none;
}

#nav a:hover,
#nav a:focus {
    color: var(--gala-white);
    background-color: var(--gala-blue);
    text-decoration: none;
}

.listHeader {
    color: var(--gala-white);
    background: var(--gala-navy);
    filter: none;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    text-align: center;
}

/* Center only the BlueLine Gala header; menu items remain left-aligned. */
#nav .listHeader,
#nav .listHeader a {
    justify-content: center;
    text-align: center;
}

#nav li:not(.listHeader) a {
    justify-content: flex-start;
    text-align: left;
}

/* Content and product styling */
.productLarge,
#productGrid img,
.cartThumb,
.upsell img {
    border-color: var(--gala-border);
}

.productOutOfStockBanner {
    color: var(--gala-white);
    background-color: rgba(11, 45, 77, 0.92);
}

.subscriptionPrice,
.cartProduct {
    color: var(--gala-navy);
}

#productGrid a {
    color: var(--gala-navy);
}

.productOutOfStock {
    border-color: var(--gala-border);
}

/* Cart, checkout, and forms */
.promoField,
.search,
.checkout,
.checkoutShort,
.checkoutShortest,
.checkoutBottom,
.checkoutTop,
.checkoutTopShort,
.signinField,
.signinTop,
.productQty,
.qtyField,
.checkoutInput {
    color: var(--gala-navy);
    background-color: var(--gala-white);
    border-color: var(--gala-border);
}

.viewCart,
.summaryCart,
.payPlan,
.paymentInfo,
.shippingInfo,
.billingInfo,
.shippingTable,
.billingTable,
.paymentMethodTable,
.signinTable {
    outline-color: var(--gala-border);
}

.promoCode th,
.viewCart td,
.viewCartShort td,
.payPlan td,
.summaryCart td,
.shippingInfo td,
.billingInfo td,
.paymentInfo td {
    border-color: var(--gala-border);
}

.viewCart th,
.viewCartShort th,
.payPlan th,
.summaryCart th,
.shippingInfo th,
.billingInfo th,
.billingTable th,
.shippingTable th,
.paymentInfo th,
.signinTable th,
.paymentMethodTable th {
    color: var(--gala-navy);
    background: var(--gala-grey);
    filter: none;
}

.subtotal {
    color: var(--gala-navy);
    background-color: var(--gala-grey);
}

.financeCharge,
.removeItem,
#footer {
    color: #5f6f7d;
}

/* Upsells */
.upsell {
    background-color: var(--gala-grey-light);
    border-color: var(--gala-border);
}

.upsellPrice,
.cartDiscount,
.errorMessage {
    color: var(--gala-blue);
}

/* Typography */
h1,
h2,
h3,
#upsellContainer h2 {
    color: var(--gala-navy);
}

h2,
h3,
#footer {
    border-color: var(--gala-border);
}

/* Links and buttons */
a,
a:hover {
    color: var(--gala-blue);
}

.newsButton,
.formButton,
.cartButton,
.codeButton,
.continueButton,
.searchButton,
.upsellButton {
    color: var(--gala-white);
    background: var(--gala-blue);
    border-color: var(--gala-navy);
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
    filter: none;
}

.searchButton:hover,
.cartButton:hover,
.codeButton:hover,
.continueButton:hover,
.upsellButton:hover {
    color: var(--gala-white);
    background: var(--gala-blue-hover);
    filter: none;
}

.buttonRight a:hover,
.buttonLeft a:hover {
    color: var(--gala-white);
}

/* Visible keyboard focus for navigation and controls. */
#nav a:focus-visible,
.cartButton:focus-visible,
.codeButton:focus-visible,
.continueButton:focus-visible,
.searchButton:focus-visible,
.upsellButton:focus-visible {
    outline: 3px solid var(--gala-white);
    outline-offset: -4px;
}
