@import url('https://fonts.googleapis.com/css2?family=Mona+Sans:ital,wght@0,200..900;1,200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');
@import url("https://use.typekit.net/cle0iha.css");

/* =================================================================
   B & L MARINE — style.css
   Region order (read top→bottom):
   1. common            2. desktop nav        3. mega menu
   4. footer            5. home page          6. home responsive
   New custom classes are prefixed  bl-  .
   ================================================================= */

/* ============================== */
/* 1. common css starts here      */
/* ============================== */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 400;
    color: #191919;
    background: #fff;
    -webkit-font-smoothing: antialiased;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color .25s ease, opacity .25s ease;
}

a:hover {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

p {
    margin: 0;
}

button {
    font-family: inherit;
    cursor: pointer;
}

/* --- typography --- */
.bl-eyebrow {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0;
}

.bl-h1 {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 64px;
    line-height: 72px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0;
}

.bl-h2 {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0;
}
.field-error {
    color: red;
    font-size: 14px;
    margin-top: 5px;
    text-align: left;
}
.error_field {
    border: 1px solid red !important;
}
.iti{
    /* border: none; */
    width: 100%;
}
.bl-h5 {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0;
}

.bl-para {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    margin: 0;
}

.bl-blue {
    color: #1f1955;
}

.bl-blue2 {
    color: #254177;
}

.bl-white {
    color: #fff;
}

.bl-dark {
    color: #191919;
}

/* --- buttons --- */
.bl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 28px;
    border-radius: 24px;
    border: 1px solid transparent;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 900;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

.bl-btn-primary {
    background: #1f1955;
    color: #fff;
    border-color: #1f1955;
}

.bl-btn-primary:hover {
    background: #fff;
    color: #1f1955;
    border-color: #1f1955;
}

.bl-btn-white {
    background: #fff;
    color: #191919;
    border-color: #fff;
}

.bl-btn-white:hover {
    background: transparent;
    color: #fff;
    border-color: #fff;
}

/* --- section shell / spacing --- */
.bl-section {
    padding: 100px 0;
}

.bl-shell {
    width: 100%;
    max-width: 1760px;
    margin: 0 auto;
    padding: 0 40px;
}

.bl-shell-wide {
    max-width: 1840px;
}

/* gradient scrim reused on overlay cards */
.bl-grad {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 55%;
    background: linear-gradient(to bottom, rgba(31, 25, 85, 0) 0%, #1f1955 100%);
    opacity: 0.85;
    pointer-events: none;
}

/* ============================== */
/* 2. desktop nav css starts here */
/* ============================== */
.bl-nav {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 120;
    height: 150px;
    background: #fff;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
}

.bl-nav-inner {
    position: sticky;
    height: 100%;
    max-width: 90%;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
}

.bl-nav-links {
    display: flex;
    align-items: center;
    gap: 32px;
}

.bl-nav-link {
    position: relative;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #1f1955;
    background: none;
    border: none;
    padding: 38px 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bl-nav-link:hover {
    color: #254177;
}

.bl-nav-link i {
    font-size: 12px;
}

.bl-nav-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 245px;
}

.bl-nav-logo img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.bl-nav-right {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: auto;
}

.bl-nav-phone {
    text-align: right;
    line-height: 1;
}

.bl-nav-phone small {
    display: block;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #254177;
}

.bl-nav-phone a {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    text-transform: uppercase;
    color: #1f1955;
}

.bl-nav-search,
.bl-nav-burger {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1f1955;
    font-size: 20px;
    background: none;
    border: none;
}

.bl-nav-search:hover,
.bl-nav-burger:hover {
    color: #254177;
}

.bl-nav-burger {
    display: none;
}

/* ---- inventory search (desktop floating + mobile) ---- */
.bl-nav-searchWrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.navSearchInput {
    display: none;
    position: fixed;
    top: 100px;
    right: 40px;
    z-index: 130;
    width: 340px;
    max-width: calc(100vw - 40px);
    padding: 11px 16px;
    font-family: 'Mona Sans', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
    color: #191919;
    background: #fff;
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    outline: none;
}

.navSearchInput:focus {
    border-color: #254177;
}

/* shared suggestions card */
.tt-suggestion {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 131;
}

.tt-suggestion.hidden {
    display: none;
}

/* desktop: anchor under the floating search box, match its width */
.searchWrapper .tt-suggestion {
    position: fixed;
    top: 152px;
    right: 40px;
    width: 340px;
    max-width: calc(100vw - 40px);
    max-height: min(70vh, 520px);
}

/* mobile: full-width panel below the drawer search input */
.mobileSearchWrapper .tt-suggestion {
    position: relative;
    width: 100%;
    margin-top: 10px;
    max-height: calc(100vh - 260px);
}

/* suggestion rows */
.tt-suggestion .focus-element {
    display: block;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f0;
}

.tt-suggestion .focus-element:last-child {
    border-bottom: none;
}

.tt-suggestion .inventorySearchResult {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    transition: background-color 0.15s ease;
}

.tt-suggestion .focus-element:hover .inventorySearchResult {
    background-color: #f5f6fa;
}

.tt-suggestion .imgContainer {
    flex: 0 0 72px;
    width: 72px;
    height: 54px;
    border-radius: 6px;
    overflow: hidden;
    background: #f2f2f2;
}

.tt-suggestion .imgContainer img {
    width: 72px;
    height: 54px;
    object-fit: cover;
    display: block;
}

.tt-suggestion .conetntSectionContainer {
    flex: 1 1 auto;
    min-width: 0;
}

.tt-suggestion .invTitle {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    color: #191919;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tt-suggestion .invPrice {
    font-size: 13px;
    line-height: 17px;
    color: #1f1955;
}

.tt-suggestion .invMiles,
.tt-suggestion .invStock {
    display: inline-block;
    font-size: 12px;
    line-height: 16px;
    color: #6b6b6b;
    margin-top: 2px;
}

.tt-suggestion .invMiles {
    margin-right: 8px;
}

/* ============================== */
/* 3. mega menu css starts here   */
/* ============================== */
/* inventory full-width panel */
.bl-megaMenu {
    position: fixed;
    left: 0;
    top: 150px;
    width: 100%;
    background: #fff;
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.12);
    border-top: 1px solid #e6e6e6;
    z-index: 110;
    display: none;
}

.bl-megaMenu-inner {
    max-width: 90%;
    margin: 0 auto;
    padding: 1px 40px 48px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

/* active-tab accent bar (connects to the Inventory nav item) */
.bl-megaMenu-tab {
    position: absolute;
    top: 0;
    left: 40px;
    width: 90px;
    height: 4px;
    /* background: #254177; */
}

.bl-megaMenu-close {
    position: absolute;
    top: 16px;
    right: 40px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #7b7b7b;
    background: none;
    border: none;
}

.bl-megaMenu-close:hover {
    color: #1f1955;
}

/* left links column */
.bl-megaCol {
    flex: none;
    width: 240px;
    padding-top: 0;
}

.bl-megaCol a {
    display: block;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #1f1955;
    padding: 8px 0;
}

.bl-megaCol a:hover {
    color: #254177;
}

.bl-megaCol hr {
    border: 0;
    border-top: 1px solid #d9d9d9;
    margin: 12px 0;
    width: 100%;
}

/* image cards row */
.bl-megaCards {
    flex: 1;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.bl-megaCard {
    flex: 1;
    position: relative;
    display: block;
    height: 420px;
    overflow: hidden;
    background: #1f1955;
}

.bl-megaCard img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-megaCard::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60%;
    background: linear-gradient(to bottom, rgba(31, 25, 85, 0), #1f1955);
    opacity: .85;
}

.bl-megaCard:hover img {
    transform: scale(1.04);
}

.bl-megaCard span {
    position: absolute;
    left: 40px;
    right: 24px;
    bottom: 40px;
    z-index: 1;
    color: #fff;
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    text-transform: uppercase;
}

/* small dropdown menus (service / company) */
.bl-dropdown {
    position: fixed;
    top: 110px;
    background: #fff;
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.12);
    border-top: 1px solid #e6e6e6;
    min-width: 260px;
    padding: 16px 0;
    z-index: 125;
    display: none;
}

.bl-dropdown a {
    display: block;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    padding: 8px 40px;
}

.bl-dropdown a:hover {
    color: #1f1955;
    background: #fafafa;
}

/* ---- mobile off-canvas menu (shown ≤991, see responsive) ---- */
.bl-noscroll {
    overflow: hidden;
}

.bl-mobileMenu {
    position: fixed;
    top: 0;
    right: 0;
    width: 360px;
    max-width: 88vw;
    height: 100%;
    background: #fff;
    z-index: 200;
    display: none;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .3s ease;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15);
}

.bl-mobileMenu.is-open {
    transform: translateX(0);
}

.bl-mobileMenu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(25, 25, 25, 0.5);
    z-index: 190;
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.bl-mobileMenu-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.bl-mobileMenu-head {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px;
    padding: 0 24px;
    border-bottom: 1px solid #e6e6e6;
}

.bl-mobileMenu-logo {
    height: 64px;
}

.bl-mobileMenu-logo img {
    height: 100%;
    width: auto;
}

.bl-mobileMenu-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #1f1955;
    line-height: 1;
}

.bl-mobileMenu-body {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}

.bl-mAccordion {
    border-bottom: 1px solid #e6e6e6;
}

.bl-mAccordion-head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: none;
    border: none;
    padding: 16px 24px;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #1f1955;
    text-align: left;
}

.bl-mAccordion-head i {
    font-size: 12px;
    transition: transform .25s ease;
}

.bl-mAccordion.is-open .bl-mAccordion-head i {
    transform: rotate(180deg);
}

.bl-mAccordion-panel {
    display: none;
    padding: 0 24px 16px;
}

.bl-mAccordion-panel a {
    display: block;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    padding: 8px 0 8px 16px;
}

.bl-mAccordion-panel a:hover {
    color: #254177;
}

.bl-mobileMenu-link {
    display: block;
    border-bottom: 1px solid #e6e6e6;
    padding: 16px 24px;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #1f1955;
}

.bl-mobileMenu-link:hover {
    color: #254177;
}

.bl-mobileMenu-foot {
    flex: none;
    padding: 24px;
    border-top: 1px solid #e6e6e6;
}

.bl-mobileMenu-phone {
    display: block;
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    text-transform: uppercase;
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-mobileMenu-search {
    display: flex;
    border: 1px solid #d9d9d9;
    border-radius: 2px;
    overflow: hidden;
}

.bl-mobileMenu-search input {
    flex: 1;
    min-width: 0;
    height: 48px;
    border: none;
    padding: 0 16px;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    color: #191919;
}

.bl-mobileMenu-search input:focus {
    outline: none;
}

.bl-mobileMenu-search button {
    flex: none;
    width: 48px;
    height: 48px;
    background: #1f1955;
    color: #fff;
    border: none;
}

/* ============================== */
/* 4. FOOTER css starts here      */
/* ============================== */
.bl-footer {
    background: #fff;
}

.footerSiteMapWrapper {
    max-width: 200px;
    margin: 0 auto;
}

.calFooterBottom {
    background-color: #fff;
    border-top: 1px solid #D9D9D9;
    padding: 17px 0;
}

.calFooterBottom p {
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    color: rgba(17, 17, 17, 0.6);
    margin: 0;
}

.calFooterBottom a {
    color: #1F1955;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    opacity: 0.6;
}

.calFooterBottom a:hover {
    color: #1F1955;
}

.bl-footer-top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}

.bl-footer-cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    padding: 64px 40px 64px 80px;
}

.bl-footer-brandcol {
    text-align: center;
}

.bl-footer-brandcol img {
    width: 180px;
    margin: 0 auto 28px;
}

.bl-footer-addr {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    margin-bottom: 20px;
}

.bl-footer-phone {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1955;
}

.bl-footer-coltitle {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-footer-cols ul li {
    margin-bottom: 12px;
}

.bl-footer-cols ul li a {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-footer-cols ul li a:hover {
    color: #1f1955;
}

.bl-footer-news {
    background: #1f1955;
    color: #fff;
    padding: 56px 64px;
    text-align: center;
}

.bl-footer-news h3 {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    text-transform: uppercase;
    margin: 0 0 16px;
}

.bl-footer-news p {
    font-size: 16px;
    line-height: 24px;
    margin: 0 auto 24px;
    max-width: 360px;
}

.bl-footer-form {
    position: relative;
    max-width: 360px;
    margin: 0 auto 28px;
}

.bl-footer-form input {
    width: 100%;
    height: 48px;
    border: 1px solid #e6e6e6;
    background: #fff;
    border-radius: 0;
    padding: 0 48px 0 16px;
    font-size: 16px;
    color: #191919;
}

.bl-footer-form input::placeholder {
    color: rgba(0, 0, 0, 0.6);
}

.bl-footer-form button {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #1f1955;
    font-size: 18px;
}

.bl-footer-social {
    display: flex;
    gap: 16px;
    justify-content: center;
}

.bl-footer-social a {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
}

.bl-footer-social a:hover {
    background: #fff;
    color: #1f1955;
}

.bl-footer-bottom {
    text-align: center;
    padding: 24px 16px;
    font-size: 16px;
    line-height: 24px;
    color: #1f1955;
    opacity: 0.6;
}

/* ============================== */
/* 5. home page css starts here   */
/* ============================== */

/* ---- hero ---- */
.bl-hero {
    position: relative;
    height: 800px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.bl-hero video,
.bl-hero img.bl-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.bl-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #191919;
    opacity: 0.4;
    z-index: 1;
}

.bl-hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    padding: 0 24px;
}

.bl-hero-content .bl-eyebrow {
    margin-bottom: 16px;
}

.bl-hero-content .bl-h1 {
    max-width: 1200px;
    margin: 0 auto;
}

.bl-hero-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-top: 52px;
}

/* ---- brand strip ---- */
.bl-brands {
    padding: 48px 0;
}

.bl-brands-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.bl-brand-logo {
    flex:0 1 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, .3);
    padding: 15px;
    border-radius: 5px;
    height: 80px;
}

.bl-brand-logo img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.bl-brand-logo:hover img {
    filter: grayscale(0);
    opacity: 1;
}

/* ---- feature cards (new / pre-owned) ---- */
.bl-feature-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.bl-feature-card {
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    padding-top: 122.22%;
    /* 880 / 720 */
}

.bl-feature-card>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-feature-card:hover>img {
    transform: scale(1.04);
}

.bl-feature-card .bl-grad {
    height: 50%;
}

.bl-feature-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 64px;
    z-index: 2;
    text-align: center;
    color: #fff;
    padding: 0 24px;
}

.bl-feature-body .bl-h2 {
    margin-bottom: 28px;
}

/* ---- new arrivals ---- */
.bl-arrivals-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 44px;
}

.bl-arrivals-head .bl-h2 {
    color: #1f1955;
}

.bl-listing-card {
    display: block;
    background: #fff;
}

.bl-listing-img {
    position: relative;
    padding-top: 70%;
    /* 292.25 / 417.5 */
    overflow: hidden;
    background: #c4c4c4;
}

.bl-listing-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bl-listing-body {
    border: 1px solid #d9d9d9;
    border-top: none;
    padding: 16px 20px 18px;
}

.bl-listing-title {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #191919;
    margin-bottom: 8px;
}

.bl-listing-price {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 25px;
    color: #191919;
}

.bl-listing-price .sep {
    width: 1px;
    height: 15px;
    background: #808080;
}

.bl-listing-price .mo {
    color: rgba(0, 0, 0, 0.6);
}

.bl-listing-specs {
    display: flex;
    border-top: 1px solid #d9d9d9;
    margin-top: 14px;
    padding-top: 14px;
}

.bl-listing-specs .spec {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    padding-right: 18px;
    margin-right: 18px;
    border-right: 1px solid #808080;
}

.bl-listing-specs .spec:last-child {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
}

.bl-listing-specs .spec i {
    color: #1f1955;
    font-size: 15px;
}

/* ---- categories ---- */
.bl-cats-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.bl-cat-card {
    position: relative;
    display: block;
    overflow: hidden;
    padding-top: 125.98%;
    /* 800 / 635 */
}

.bl-cat-card>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-cat-card:hover>img {
    transform: scale(1.04);
}

.bl-cat-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 56px;
    z-index: 2;
    text-align: center;
    color: #fff;
    padding: 0 58px;
}

.bl-cat-body .bl-h2 {
    margin-bottom: 16px;
}

.bl-cat-body p {
    color: #fff;
}

/* ---- quick links bar ---- */
.bl-quick {
    padding: 80px 0;
}

.bl-quick-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
}

.bl-quick-item {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 40px;
    border-right: 1px solid #d9d9d9;
}

.bl-quick-row .bl-quick-item:first-child {
    padding-left: 0;
}

.bl-quick-row .bl-quick-item:last-child {
    border-right: none;
    padding-right: 0;
}

.bl-quick-icon {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #1f1955;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.bl-quick-title {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1955;
    margin-bottom: 4px;
}

.bl-quick-sub {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

/* ---- promo slider ---- */

.promoWrapper {
    position: relative;
    padding-top: 37%;
    min-height: 450px;
}

.promoWrapper .promoMedia {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.promoSlider {
    position: relative;
}

.promoSlider .owl-dots {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
}

.promoSlider .owl-dots span {
    width: 40px !important;
    height: 3px !important;
    background: #FFFFFF66 !important;
}

.promoSlider .owl-dot.active span {
    background: #FFFFFF !important;
}

.promoSlider .owl-prev {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.promoSlider .owl-next {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.promoItem {
    position: relative;
}

.promoContent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    max-width: 960px;
    padding: 0 15px;
}

.promoBtnWrap {
    margin-top: 80px;
    text-align: center;
}

/* ---- welcome ---- */
.bl-welcome-row {
    display: grid;
    grid-template-columns: 720px 1fr;
    gap: 120px;
    align-items: center;
}

.bl-welcome-img {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
    border-radius: 4px;
}

.bl-welcome-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bl-welcome-text {
    max-width: 560px;
}

.bl-welcome-text .bl-h2 {
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-welcome-text .bl-h5 {
    color: #254177;
    margin-bottom: 16px;
}

.bl-welcome-text .bl-para {
    margin-bottom: 32px;
}

/* ============================== */
/* 7. SERVICE PAGE — CSS          */
/* ============================== */

/* blue-2 button variant (service hero) */
.btn-card {
    background-image: url('https://cdn.mdsbrand.com/mean-bl-marine/assets/images/home/btn-img.webp');
    background-size: cover;
    background-position: center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    text-align: center;
    padding: 0 15px;
    
}
.btn-card-text {
    color: var(--white, #FFF) !important;
    text-align: center !important;
    font-family: "Mona Sans" !important;
    font-size: 40px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 40px !important;
    text-transform: uppercase !important;
}
.bl-btn-blue2 {
    background: #254177;
    color: #fff;
    border-color: #254177;
}

.bl-btn-blue2:hover {
    background: #fff;
    color: #254177;
    border-color: #254177;
}

/* ---- service hero ---- */
.bl-svc-hero {
    position: relative;
    height: 600px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.bl-svc-hero img.bl-svc-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.bl-svc-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #191919;
    opacity: 0.6;
    z-index: 1;
}

.bl-svc-hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    padding: 0 24px;
    max-width: 1040px;
}

.bl-svc-hero-eyebrow {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    margin: 0 0 16px;
}

.bl-svc-hero-content .bl-h1 {
    margin-bottom: 40px;
}

/* ---- intro (text left, image right) ---- */
.bl-svc-intro-row {
    display: grid;
    grid-template-columns: 1fr 720px;
    gap: 100px;
    align-items: center;
}

.bl-svc-intro-text {
    max-width: 600px;
}

.bl-svc-intro-text .bl-h2 {
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-svc-intro-text .bl-eyebrow {
    color: #254177;
    margin-bottom: 16px;
}

.bl-svc-intro-text .bl-para {
    margin-bottom: 32px;
}

.bl-svc-square {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
    border-radius: 4px;
}

.bl-svc-square img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* full variant: keeps the image's own ratio so nothing gets cropped */
.bl-svc-square.bl-svc-square-full {
    padding-top: 0;
}

.bl-svc-square.bl-svc-square-full img {
    position: static;
    height: auto;
    object-fit: contain;
}

/* ---- yamaha authorized banner ---- */
.bl-svc-yamaha {
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    padding: 56px 0;
    background: #fff;
}

.bl-svc-yamaha-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.bl-svc-yamaha-text {
    max-width: 540px;
}

.bl-svc-yamaha-text .bl-svc-mini-title {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1955;
    margin-bottom: 8px;
}

.bl-svc-yamaha-text p {
    font-size: 16px;
    line-height: 24px;
    color: #595959;
}

.bl-svc-yamaha-logos {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 48px;
    flex-wrap: wrap;
}

.bl-svc-yamaha-logo-item img {
    display: block;
    width: auto;
}

.bl-svc-yamaha-logo-item img[src*="yamaha"] {
    height: 35px;
}

.bl-svc-yamaha-logo-item img[src*="Ilmor"] {
    height: 22px;
}

.bl-svc-yamaha-logo-item img[src*="mercury"] {
    height: 38px;
}
.right-logo-sec {
    width: 60%;
}
.left-text-sec {
    width: 40%;
}
/* ---- core services ---- */
.bl-svc-core {
    background: #fafafa;
}

.bl-svc-core-head {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 56px;
}

.bl-svc-core-head .bl-h2 {
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-svc-core-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px 40px;
}

.bl-svc-card .bl-svc-card-img {
    position: relative;
    padding-top: 60%;
    /* 240 / 400 */
    overflow: hidden;
    border-radius: 4px;
    background: #e6e6e6;
}

.bl-svc-card .bl-svc-card-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-svc-card:hover .bl-svc-card-img img {
    transform: scale(1.04);
}
.bl-svc-mini-title {
    color: #1F1955;
    font-family: 'clarendon-text-pro', serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; 
    letter-spacing: 1.92px;
    text-transform: uppercase;
}
.bl-svc-card h3 {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 32px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1955;
    margin: 24px 0 8px;
}

.bl-svc-card p {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-svc-core-btn {
    text-align: center;
    margin-top: 56px;
}

/* ---- why choose (blue-2 band) ---- */
.bl-svc-why {
    background: #254177;
    color: #fff;
}

.bl-svc-why-head {
    text-align: center;
    margin-bottom: 56px;
}

.bl-svc-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
}

.bl-svc-why-item .bl-svc-icon {
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-bottom: 24px;
    color: #fff;
}

.bl-svc-why-item .bl-svc-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.bl-svc-why-item h3 {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 32px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 8px;
}

.bl-svc-why-item p {
    font-size: 16px;
    line-height: 24px;
    color: #fff;
}

/* ---- request service / contact ---- */
.bl-svc-contact-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 120px;
    max-width: 1120px;
    margin: 0 auto;
    align-items: start;
}

.bl-svc-contact-info h2 {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    text-transform: uppercase;
    color: #042c65;
    margin: 0 0 16px;
}

.bl-svc-contact-info .bl-svc-contact-sub {
    font-size: 16px;
    line-height: 24px;
    color: #333;
    margin-bottom: 40px;
}

.bl-svc-contact-line {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.bl-svc-contact-line .bl-svc-ci {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: #254177;
}

.bl-svc-contact-line .bl-svc-ci svg {
    width: 100%;
    height: 100%;
    display: block;
}

.bl-svc-contact-line .bl-svc-phone {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #254177;
}

.bl-svc-contact-line p {
    font-size: 16px;
    line-height: 24px;
    color: #333;
}

/* form */
.bl-svc-form .bl-svc-field {
    position: relative;
    margin-bottom: 16px;
}

.bl-svc-form input,
.bl-svc-form textarea {
    width: 100%;
    height: 48px;
    border: 1px solid #d9d9d9;
    background: #fff;
    border-radius: 0;
    padding: 0 16px;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-svc-form textarea {
    height: 96px;
    padding: 12px 16px;
    resize: vertical;
}

.bl-svc-form input::placeholder,
.bl-svc-form textarea::placeholder {
    color: rgba(34, 34, 34, 0.6);
}

.bl-svc-form input:focus,
.bl-svc-form textarea:focus {
    outline: none;
    border-color: #254177;
}

.bl-svc-form .bl-svc-field .bl-svc-field-icon {
    position: absolute;
    right: 16px;
    top: 14px;
    width: 18px;
    height: 18px;
    color: #254177;
    pointer-events: none;
}

.bl-svc-form .bl-svc-field .bl-svc-field-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.bl-svc-form .bl-btn {
    margin-top: 8px;
}

/* ---- service faq ---- */
.bl-svc-faq-head {
    text-align: center;
    margin-bottom: 48px;
}

.bl-svc-faq-head .bl-h2 {
    color: #1f1955;
}

.bl-svc-faq-list {
    max-width: 1050px;
    margin: 0 auto;
}

.bl-svc-faq-item {
    border-bottom: 1px solid #d9d9d9;
}

.bl-svc-faq-item:first-child {
    border-top: 1px solid #d9d9d9;
}

.bl-svc-faq-q {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 24px 0;
    font-family: 'Mona Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-svc-faq-q .bl-svc-faq-mark {
    color: #254177;
    margin-right: 6px;
}

.bl-svc-faq-q .bl-svc-faq-chev {
    flex: 0 0 auto;
    color: #254177;
    transition: transform .3s ease;
}

.bl-svc-faq-item.is-open .bl-svc-faq-chev {
    transform: rotate(180deg);
}

.bl-svc-faq-a {
    display: none;
    padding: 0 0 24px;
    max-width: 96%;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-svc-faq-a .bl-svc-faq-mark {
    color: #254177;
}

.bl-svc-faq-item.is-open .bl-svc-faq-a {
    display: block;
}

/* ============================== */
/* 8. BRAND PAGE — CSS            */
/* ============================== */

/* ---- brand hero banner ---- */
.bl-by-hero {
    width: 100%;
    height: 680px;
    overflow: hidden;
}

.bl-by-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---- alternating intro rows ---- */
.bl-by-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.bl-by-row+.bl-by-row {
    margin-top: 100px;
}

.bl-by-text .bl-h2 {
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-by-text .bl-eyebrow {
    color: #254177;
    margin-bottom: 16px;
}

.bl-by-text .bl-para {
    margin-bottom: 32px;
}

.bl-by-logo{
    max-width: 400px;
    margin: 0 auto;
}

.bl-by-logo img {
    width: auto;
    max-width: 400px;
    max-height: 96px;
}

.bl-by-media {
    position: relative;
    padding-top: 54.17%;
    /* 520 / 960 */
    overflow: hidden;
    border-radius: 4px;
}

.bl-by-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-by-media:hover img {
    transform: scale(1.04);
}

.bl-by-media-tall {
    padding-top: 65%;
    /* 520 / 800 */
}

/* ---- blue service/parts card ---- */
.bl-by-service-card {
    background: #254177;
    color: #fff;
    padding: 72px 64px;
    border-radius: 4px;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bl-by-service-card .bl-h2 {
    color: #fff;
    margin-bottom: 16px;
    max-width: 520px;
}

.bl-by-service-card p {
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    margin-bottom: 32px;
    max-width: 520px;
}

/* ---- available inventory ---- */
.bl-by-inventory {
    border-top: 1px solid #d9d9d9;
}

.bl-by-inv-head {
    text-align: center;
    margin-bottom: 48px;
}

.bl-by-inv-head .bl-h2 {
    color: #1f1955;
    margin-bottom: 24px;
}

.bl-by-inv-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px 24px;
}

.bl-by-inv-btn {
    text-align: center;
    margin-top: 56px;
}

/* ============================== */
/* 9. SEASONAL SERVICE — CSS      */
/* ============================== */

/* ---- centered intro under the hero banner ---- */
.bl-ss-intro {
    max-width: 1140px;
    margin: 0 auto;
    text-align: center;
}

.bl-ss-intro .bl-h1 {
    color: #1f1955;
    margin-bottom: 24px;
}

.bl-ss-intro .bl-para {
    margin-bottom: 40px;
}

/* ---- alternating image / text rows ---- */
.bl-ss-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.bl-ss-row+.bl-ss-row {
    margin-top: 100px;
}

.bl-ss-text .bl-h2 {
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-ss-text .bl-para+.bl-para {
    margin-top: 16px;
}

.bl-ss-text .bl-btn {
    margin-top: 32px;
}

/* image goes first in the DOM on reversed rows */
.bl-ss-row-rev .bl-ss-media {
    order: -1;
}

/* ---- quickdrain highlight card ---- */
.bl-ss-card {
    background: #fafafa;
    border: 1px solid #e6e6e6;
    padding: 28px 32px;
    margin-top: 28px;
}

.bl-ss-card-title {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #254177;
    margin-bottom: 12px;
}

.bl-ss-card p {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-ss-card p+p {
    margin-top: 16px;
}

.bl-ss-warn {
    color: #910000;
    text-transform: uppercase;
}

/* ============================== */
/* 10. PARTS PAGE — CSS           */
/* ============================== */

/* ---- intro: big title (left) + copy & cta (right) ---- */
.bl-parts-intro {
    display: grid;
    grid-template-columns: 460px 1fr;
    gap: 100px;
    align-items: start;
}

.bl-parts-title {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 48px;
    line-height: 64px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1955;
    margin: 0;
}

.bl-parts-intro-text .bl-eyebrow {
    color: #254177;
    margin-bottom: 16px;
}

.bl-parts-intro-text .bl-para {
    margin-bottom: 32px;
}

/* ---- brand logo cards ---- */
.logo-container {
    max-width: 80%;
    width: 100%;
    margin: 0 auto;
}
.bl-parts-brands {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.parts-card {
    width: 50%;
}
.parts-card-subtitle {
    color: #254177 !important;
    font-family: "Mona Sans" !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    text-transform: uppercase !important;
}
.bl-parts-brand-card {
    width: calc(100% / 4 - 30px);
    height: 160px;
    background: #fafafa;
    border: 1px solid #e6e6e6;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 32px;
}

.bl-parts-brand-card img {
    width: 100%;
    max-width: 240px;
    max-height: 62px;
    object-fit: contain;
}

/* ============================== */
/* 11. ABOUT PAGE — CSS           */
/* ============================== */

/* ---- breadcrumb + centered intro ---- */
.bl-about-breadcrumb {
    font-size: 14px;
    line-height: 20px;
    color: rgba(34, 34, 34, 0.6);
    margin-bottom: 32px;
}

.bl-about-intro {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.bl-about-intro .bl-h1 {
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-about-intro .bl-eyebrow {
    color: #254177;
    margin-bottom: 16px;
}

.bl-about-intro .bl-para {
    margin-bottom: 32px;
}

/* ---- centered section heads (journey / philosophy) ---- */
.bl-about-section-head {
    text-align: center;
    max-width: 1140px;
    margin: 0 auto 56px;
}

.bl-about-section-head .bl-para {
    margin-top: 16px;
}

.bl-about-subtitle {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #254177;
    margin-top: 16px;
}

/* timeline heading — highlighted year */
.bl-about-year {
    color: #254177;
}

/* ============================== */
/* 12. FINANCING PAGE — CSS       */
/* ============================== */

/* ---- intro right column (reuses .bl-parts-intro grid) ---- */
.bl-fin-intro-text .bl-eyebrow {
    color: #1f1955;
    margin-bottom: 8px;
}

.bl-fin-subhead {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #254177;
    margin-bottom: 16px;
}

.bl-fin-intro-text .bl-para {
    margin-bottom: 32px;
}

/* ---- why finance features ---- */
.bl-fin-why-head {
    text-align: center;
    margin-bottom: 48px;
}

.bl-fin-why-head .bl-h2 {
    color: #1f1955;
}

.bl-fin-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px 40px;
    max-width: 1480px;
    margin: 0 auto;
}

.bl-fin-feature {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.bl-fin-feature-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #254177;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.bl-fin-feature-icon svg {
    width: 20px;
    height: 20px;
    display: block;
}

.bl-fin-feature h3 {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1955;
    margin: 6px 0 12px;
}

.bl-fin-feature p {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-fin-why-btn {
    text-align: center;
    margin-top: 56px;
}

/* ---- stat + payment calculator band ---- */
.bl-fin-calc-band {
    position: relative;
    overflow: hidden;
    color: #fff;
}

.bl-fin-calc-band>img.bl-fin-calc-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.bl-fin-calc-band::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #254177;
    opacity: 0.8;
    z-index: 1;
}

.bl-fin-calc-band .bl-shell {
    position: relative;
    z-index: 2;
    max-width: 1460px;
}

.bl-fin-calc-row {
    display: grid;
    grid-template-columns: 1fr 520px;
    gap: 80px;
    align-items: center;
}

.bl-fin-stat {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 48px;
    line-height: 64px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    max-width: 480px;
    margin: 0;
}

.bl-fin-calc-card {
    background: #fff;
    border: 1px solid #d9d9d9;
    padding: 46px 40px;
}

.bl-fin-calc-card h2 {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    text-transform: uppercase;
    color: #1f1955;
    text-align: center;
    margin: 0 0 32px;
}

.bl-fin-field {
    margin-bottom: 24px;
}

.bl-fin-calc-card input {
    width: 100%;
    height: 48px;
    background: #fafafa;
    border: 1px solid #d9d9d9;
    border-radius: 2px;
    padding: 0 16px;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-fin-calc-card input::placeholder {
    color: rgba(25, 25, 25, 0.6);
}

.bl-fin-calc-card input:focus {
    outline: none;
    border-color: #254177;
}

.bl-fin-calc-actions {
    text-align: center;
}

.bl-fin-result {
    display: none;
    margin-top: 20px;
    text-align: center;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-fin-result.is-visible {
    display: block;
}

.bl-fin-result strong {
    display: block;
    font-weight: 900;
    font-size: 28px;
    line-height: 32px;
    color: #1f1955;
    margin-top: 4px;
}

/* ============================== */
/* 13. CONTACT PAGE — CSS         */
/* ============================== */

/* ---- intro (text left) + form card (right) ---- */
.bl-ct-row {
    display: grid;
    grid-template-columns: 1fr 600px;
    gap: 100px;
    align-items: center;
}

.bl-ct-intro{
    max-width: 600px;
    margin: 0 auto;
}

.bl-ct-intro .bl-parts-title {
    margin-bottom: 24px;
}

.bl-ct-intro .bl-para {
    max-width: 600px;
}

.bl-ct-form-card {
    background: #fafafa;
    padding: 64px;
    margin-top: -100px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.bl-ct-form-card h2 {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    text-transform: uppercase;
    color: #1f1955;
    text-align: center;
    margin: 0 0 40px;
}

.bl-ct-field {
    margin-bottom: 12px;
}

.bl-ct-form input,
.bl-ct-form textarea {
    width: 100%;
    height: 48px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 2px;
    padding: 0 16px;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-ct-form textarea {
    height: 120px;
    padding: 12px 16px;
    resize: vertical;
}

.bl-ct-form input::placeholder,
.bl-ct-form textarea::placeholder {
    color: rgba(25, 25, 25, 0.6);
}

.bl-ct-form input:focus,
.bl-ct-form textarea:focus {
    outline: none;
    border-color: #254177;
}

.bl-ct-form-actions {
    text-align: center;
    margin-top: 16px;
}

/* ---- map + location (full-bleed map left) ---- */
.bl-ct-map-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.bl-ct-map {
    position: relative;
    min-height: 520px;
    background: #c4c4c4;
    line-height: 0;
}

.bl-ct-map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.bl-ct-loc {
    padding: 0 40px 0 120px;
}

.bl-ct-loc h2 {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    text-transform: uppercase;
    color: #1f1955;
    margin: 0 0 28px;
}

/* ============================== */
/* 14. SELL / TRADE PAGE — CSS    */
/* ============================== */

/* ---- hero banner ---- */
.bl-st-hero {
    width: 100%;
    height: 600px;
    overflow: hidden;
}

.bl-st-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---- intro: title (left) + paragraph (right) + centered cta ---- */
.bl-st-intro-row {
    display: grid;
    grid-template-columns: 520px 1fr;
    gap: 80px;
    align-items: start;
}

.bl-st-intro-row .bl-para {
    max-width: 800px;
}

.bl-st-intro-btn {
    text-align: center;
    margin-top: 56px;
}

/* ---- benefits band (#fafafa) ---- */
.bl-st-benefits {
    background: #fafafa;
    padding: 92px 0;
}

.bl-st-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px 72px;
}

.bl-st-benefit {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 24px;
    align-items: start;
}

.bl-st-benefit-icon {
    width: 48px;
    height: 48px;
    border-radius: 24px;
    background: #254177;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bl-st-benefit-icon svg {
    width: 24px;
    height: 24px;
    display: block;
}

.bl-st-benefit h3 {
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-st-benefit p {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

/* ---- full-bleed photo band ---- */
.bl-st-photo {
    width: 100%;
    height: 520px;
    overflow: hidden;
}

.bl-st-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---- our process (image band + blue-2 overlay) ---- */
.bl-st-process {
    position: relative;
    overflow: hidden;
}

.bl-st-process .bl-st-process-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.bl-st-process::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #254177;
    opacity: 0.8;
    z-index: 1;
}

.bl-st-process .bl-shell {
    position: relative;
    z-index: 2;
}

.bl-st-process-head {
    text-align: center;
    margin-bottom: 48px;
}

.bl-st-process-head .bl-h2 {
    color: #fff;
}

.bl-st-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.bl-st-step {
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 40px;
    min-height: 320px;
}

.bl-st-step-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #254177;
    color: #fff;
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 28px;
    box-shadow: 0 4px 3px rgba(0, 0, 0, .1), 0 2px 2px rgba(0, 0, 0, .1);
    margin-bottom: 24px;
}

.bl-st-step h3 {
    color: #1f1955;
    margin-bottom: 8px;
}

.bl-st-step p {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-st-process-foot {
    text-align: center;
    margin-top: 40px;
}

.bl-st-process-foot p {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    margin-bottom: 32px;
}

/* white outline button (process cta) */
.bl-btn-outline-white {
    background: transparent;
    color: #fff;
    border-color: #fff;
}

.bl-btn-outline-white:hover {
    background: #fff;
    color: #254177;
    border-color: #fff;
}

/* ============================== */
/* 15. PRO SHOP PAGE — CSS        */
/* ============================== */

/* ---- hero banner ---- */
.bl-ps-hero {
    width: 100%;
    height: 600px;
    overflow: hidden;
}

.bl-ps-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---- intro: title (left) + paragraph (right) + centered cta ---- */
.bl-ps-intro-row {
    display: grid;
    grid-template-columns: 520px 1fr;
    gap: 80px;
    align-items: start;
}

.bl-ps-intro-row .bl-para {
    max-width: 800px;
}

.bl-ps-intro-btn {
    text-align: center;
    margin-top: 56px;
}

/* ---- brand strip (logos between rules) ---- */
.bl-ps-brands {
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
    padding: 42px 0;
}

.bl-ps-brands-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.bl-ps-brand {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
}

.bl-ps-brand img {
    width: auto;
    height: auto;
    min-width: 150px;
    max-height: 52px;
    object-fit: contain;
}

/* ---- what's in store (card grid) ---- */
.bl-ps-store-head {
    text-align: center;
    margin-bottom: 56px;
}

.bl-ps-store-head .bl-h2 {
    color: #1f1955;
}

.bl-ps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px 40px;
}

.bl-ps-card-img {
    position: relative;
    padding-top: 60%;
    /* 288 / 480 */
    overflow: hidden;
    border-radius: 4px;
    background: #e6e6e6;
}

.bl-ps-card-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-ps-card:hover .bl-ps-card-img img {
    transform: scale(1.04);
}

.bl-ps-card h3 {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 30px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1955;
    margin: 24px 0 12px;
}

.bl-ps-card-eyebrow {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #254177;
    margin: 0 0 8px;
}

.bl-ps-card-desc {
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

/* ---- visit the pro shop (info + map) ---- */
.bl-ps-visit-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.bl-ps-visit-info{
    max-width: 600px;
    padding: 0 15px;
    margin: 0 auto;
}

.bl-ps-visit-info .bl-h2 {
    color: #1f1955;
    margin-bottom: 28px;
}

.bl-ps-map {
    position: relative;
    min-height: 520px;
    background: #c4c4c4;
    line-height: 0;
}

.bl-ps-map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* ============================== */
/* BRAND MASTERCRAFT — CSS        */
/* ============================== */

/* ---- intro heading (Clarendon 48) ---- */
.bl-bm-h1 {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 48px;
    line-height: 64px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1955;
    margin: 0 0 16px;
}

.bl-bm-intro .bl-by-text .bl-eyebrow {
    margin-bottom: 24px;
}

.bl-bm-intro-p {
    margin-bottom: 16px;
}

.bl-bm-intro-p.is-last {
    margin-bottom: 32px;
}

/* ---- most popular boats ---- */
.bl-bm-pop-head {
    text-align: center;
    margin-bottom: 48px;
}

.bl-bm-pop-head .bl-h2 {
    color: #1f1955;
}

.bl-bm-pop-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
}

.bl-bm-pop-img {
    position: relative;
    padding-top: 64.7%;
    /* 440 / 680 */
    overflow: hidden;
    border-radius: 4px;
    margin-bottom: 24px;
}

.bl-bm-pop-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-bm-pop-card:hover .bl-bm-pop-img img {
    transform: scale(1.04);
}

.bl-bm-pop-title {
    color: #1f1955;
    margin-bottom: 8px;
}

.bl-bm-pop-card .bl-para {
    margin-bottom: 24px;
}

.bl-bm-pop-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.bl-bm-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 80px;
    height: 48px;
    padding: 0 16px;
    background: #fff;
    border: 1px solid #d9d9d9;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #254177;
    transition: background-color .25s ease, color .25s ease;
}

.bl-bm-pill:hover {
    background: #254177;
    color: #fff;
}

.bl-bm-pop-cta {
    text-align: center;
    margin-top: 56px;
}

/* ---- industry-leading features (gray band) ---- */
.bl-bm-features {
    background: #fafafa;
}

.bl-bm-feat-head {
    text-align: center;
    max-width: 960px;
    margin: 0 auto 48px;
}

.bl-bm-feat-head .bl-h2 {
    color: #1f1955;
    margin-bottom: 24px;
}

.bl-bm-feat-head .bl-para {
    color: #191919;
}

.bl-bm-feat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.bl-bm-feat-card {
    background: #fff;
    border: 1px solid #e6e6e6;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
    padding: 48px 40px;
    min-height: 320px;
}

.bl-bm-feat-title {
    color: #1f1955;
    margin-bottom: 24px;
}

.bl-bm-feat-card .bl-para {
    color: #191919;
}

.bl-bm-feat-cta {
    text-align: center;
    margin-top: 48px;
}

/* ============================== */
/* CREW PAGE — CSS                */
/* ============================== */

/* ---- centered intro (title + copy + cta) ---- */
.bl-crew-intro {
    max-width: 1080px;
    margin: 0 auto 64px;
    text-align: center;
}

.bl-crew-intro .bl-h1 {
    color: #1f1955;
    margin-bottom: 24px;
}

.bl-crew-intro .bl-para {
    color: #191919;
    margin-bottom: 32px;
}

/* ---- crew member grid ---- */
.bl-crew-grid {
    display: grid;
    grid-template-columns: repeat(4, 280px);
    justify-content: center;
    column-gap: 40px;
    row-gap: 40px;
}

.bl-crew-card {
    width: 280px;
    text-align: center;
}

.bl-crew-photo {
    width: 280px;
    height: 320px;
    overflow: hidden;
    background: #d9d9d9;
    margin-bottom: 8px;
}

.bl-crew-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bl-crew-name {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #1f1955;
    margin-bottom: 4px;
}

.bl-crew-pos {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #254177;
    margin: 0;
}

.bl-crew-cta {
    text-align: center;
    margin-top: 64px;
}

/* ---- crew section label / divider ---- */
.bl-crew-section-header {
    width: 100%;
    margin: 56px 0 32px;
    text-align: center;
}

.bl-crew-section-title {
    display: inline-block;
    font-family: 'Mona Sans', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f1955;
    background: #f0f4ff;
    border-left: 5px solid #1f1955;
    padding: 10px 24px 10px 16px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 16px;
}

.bl-crew-section-line {
    height: 2px;
    background: linear-gradient(to right, transparent 0%, #1f1955 30%, #e0e4f5 70%, transparent 100%);
    border-radius: 2px;
    max-width: 600px;
    margin: 0 auto;
}

/* ---- crew member popup (bio modal) ---- */
.bl-crew-card {
    cursor: pointer;
    outline: none;
}

.bl-crew-card:focus-visible .bl-crew-photo {
    outline: 3px solid #1f1955;
    outline-offset: 3px;
}

.bl-crew-card .bl-crew-photo img {
    transition: transform .35s ease;
}

.bl-crew-card:hover .bl-crew-photo img {
    transform: scale(1.05);
}

.bl-crew-bio-data {
    display: none;
}

.bl-crew-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.bl-crew-modal.is-open {
    display: flex;
}

.bl-crew-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
}

.bl-crew-modal-dialog {
    position: relative;
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 940px;
    max-height: 90vh;
    padding: 48px;
    display: grid;
    grid-template-columns: 300px 1fr;
    column-gap: 40px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
    overflow: hidden;
}

.bl-crew-modal-close {
    position: absolute;
    top: 16px;
    right: 20px;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    color: #254177;
    font-size: 28px;
    line-height: 1;
    border-radius: 50%;
    transition: background .25s ease, color .25s ease;
}

.bl-crew-modal-close:hover {
    background: #f0f4ff;
    color: #1f1955;
}

.bl-crew-modal-photo {
    width: 300px;
    height: 380px;
    overflow: hidden;
    background: #d9d9d9;
    border-radius: 8px;
}

.bl-crew-modal-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bl-crew-modal-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding-right: 4px;
}

.bl-crew-modal-name {
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 48px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1f1955;
    margin: 0 0 8px;
}

.bl-crew-modal-pos {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 26px;
    color: #254177;
    margin: 0 0 24px;
}

.bl-crew-modal-bio {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #191919;
    white-space: pre-line;
    overflow-y: auto;
    max-height: 300px;
    padding-right: 20px;
    margin: 0;
}

.bl-crew-modal-bio::-webkit-scrollbar {
    width: 4px;
}

.bl-crew-modal-bio::-webkit-scrollbar-track {
    background: #e0e4f5;
    border-radius: 2px;
}

.bl-crew-modal-bio::-webkit-scrollbar-thumb {
    background: #1f1955;
    border-radius: 2px;
}

body.bl-crew-modal-open {
    overflow: hidden;
}

@media (max-width: 860px) {
    .bl-crew-modal-dialog {
        grid-template-columns: 1fr;
        row-gap: 24px;
        padding: 48px 24px 24px;
        overflow-y: auto;
    }

    .bl-crew-modal-photo {
        width: 100%;
        max-width: 280px;
        height: 320px;
        margin: 0 auto;
    }

    .bl-crew-modal-name {
        font-size: 28px;
        line-height: 36px;
    }

    .bl-crew-modal-bio {
        max-height: none;
        overflow-y: visible;
        padding-right: 0;
    }
}

/* ============================== */
/* TEAM BIO PAGE — CSS            */
/* ============================== */

/* ---- 3-column hero (photo / bio / form) ---- */
.bl-bio-hero {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    min-height: 680px;
}

.bl-bio-breadcrumb {
    position: absolute;
    top: 10px;
    left: 60px;
    z-index: 2;
    font-family: 'Mona Sans', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #d9d9d9;
}

.bl-bio-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.bl-bio-photo {
    position: relative;
    overflow: hidden;
    background: #d9d9d9;
}

.bl-bio-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bl-bio-info {
    background: #1f1955;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px 80px;
}

.bl-bio-info .bl-h2 {
    color: #fff;
    margin-bottom: 24px;
}

.bl-bio-title {
    color: #9dbde3;
    margin-bottom: 24px;
}

.bl-bio-info .bl-para {
    color: #fff;
}

/* ---- contact form column ---- */
.bl-bio-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px 140px;
    border-bottom: 1px solid #d9d9d9;
}

.bl-bio-phone {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 900;
    font-size: 40px;
    line-height: 40px;
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-bio-msg {
    color: #254177;
    margin-bottom: 24px;
}

.bl-bio-field {
    margin-bottom: 16px;
}

.bl-bio-form input,
.bl-bio-form textarea {
    width: 100%;
    height: 48px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 2px;
    padding: 0 16px;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
}

.bl-bio-form textarea {
    height: 96px;
    padding: 12px 16px;
    resize: vertical;
}

.bl-bio-form input::placeholder,
.bl-bio-form textarea::placeholder {
    color: rgba(34, 34, 34, 0.6);
}

.bl-bio-form input:focus,
.bl-bio-form textarea:focus {
    outline: none;
    border-color: #254177;
}

.bl-bio-form-actions {
    margin-top: 8px;
}

/* ---- my listings ---- */
.bl-bio-listings-head {
    text-align: center;
    margin-bottom: 48px;
}

.bl-bio-listings-head .bl-h2 {
    color: #1f1955;
}

/* ============================== */
/* BLOG / NEWS PAGE — CSS         */
/* ============================== */

.bl-blog-breadcrumb {
    font-size: 14px;
    line-height: 20px;
    color: rgba(34, 34, 34, 0.6);
    margin-bottom: 24px;
}

.bl-blog-title {
    color: #1f1955;
    text-align: center;
    margin-bottom: 40px;
}

/* ---- category filter tabs ---- */
.bl-blog-tabs {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 48px;
}

.bl-blog-tab {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #191919;
    text-decoration: none;
    padding-bottom: 8px;
    border-bottom: 2px solid transparent;
}

.bl-blog-tab.is-active,
.bl-blog-tab:hover {
    color: #254177;
    border-bottom-color: #254177;
}

/* ---- article card grid ---- */
.bl-blog-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
    row-gap: 48px;
}

.bl-blog-card {
    display: block;
    text-decoration: none;
}

.bl-blog-card-img {
    position: relative;
    padding-top: 53.38%;
    /* 363 / 680 */
    overflow: hidden;
    background: #c4c4c4;
    margin-bottom: 16px;
}

.bl-blog-card-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-blog-card:hover .bl-blog-card-img img {
    transform: scale(1.04);
}

.bl-blog-cat {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #254177;
    margin-bottom: 16px;
}

.bl-blog-card-title {
    color: #1f1955;
    margin-bottom: 16px;
}

.bl-blog-excerpt {
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    margin: 0;
}

/* ============================== */
/* BLOG DETAILS (POST) PAGE — CSS */
/* ============================== */

.bl-post-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 120px;
    max-width: 1480px;
    margin: 0 auto;
    align-items: start;
}

/* ---- main article column ---- */
.bl-post-hero {
    position: relative;
    padding-top: 50%;
    /* 500 / 1000 */
    overflow: hidden;
    background: #c4c4c4;
    margin-bottom: 40px;
}

.bl-post-hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bl-post-title {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 800;
    font-size: 48px;
    line-height: 48px;
    color: #1f1955;
    margin: 0 0 40px;
}

.bl-post-meta {
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: rgba(34, 34, 34, 0.6);
    margin-bottom: 16px;
}

.bl-post-body p {
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    margin-bottom: 16px;
}

.bl-post-body p:last-child {
    margin-bottom: 0;
}

/* ---- similar posts sidebar ---- */
.bl-post-similar-title {
    color: #1f1955;
    margin-bottom: 40px;
}

.bl-post-similar-card {
    display: block;
    text-decoration: none;
    margin-bottom: 40px;
}

.bl-post-similar-card:last-child {
    margin-bottom: 0;
}

.bl-post-similar-img {
    position: relative;
    padding-top: 55.56%;
    /* 200 / 360 */
    overflow: hidden;
    background: #c4c4c4;
    margin-bottom: 8px;
}

.bl-post-similar-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.bl-post-similar-card:hover .bl-post-similar-img img {
    transform: scale(1.04);
}

/* ============================== */
/* FAQ PAGE — CSS                 */
/* ============================== */

.bl-faq-title {
    color: #191919;
    text-align: center;
    margin-bottom: 56px;
}

.bl-faq {
    max-width: 1108px;
    margin: 0 auto;
}

/* ---- category accordion ---- */
.bl-faq-cat {
    border-bottom: 1px solid #d9d9d9;
}

.bl-faq-cat-head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: none;
    border: none;
    padding: 36px 0;
    font-family: 'clarendon-text-pro', serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 32px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #191919;
    text-align: left;
}

/* pure-css plus (closed) → minus (open) */
.bl-faq-cat-icon {
    position: relative;
    flex: none;
    width: 16px;
    height: 16px;
}

.bl-faq-cat-icon::before,
.bl-faq-cat-icon::after {
    content: '';
    position: absolute;
    background: #191919;
}

.bl-faq-cat-icon::before {
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    transform: translateY(-50%);
}

.bl-faq-cat-icon::after {
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    transition: opacity .2s ease;
}

.bl-faq-cat.is-open .bl-faq-cat-icon::after {
    opacity: 0;
}

/* ---- q&a panel ---- */
.bl-faq-cat-panel {
    display: none;
    padding: 0 30px 24px;
}

.bl-faq-qa {
    padding: 24px 0;
    border-top: 1px solid #d9d9d9;
}

.bl-faq-qa:first-child {
    border-top: none;
    padding-top: 0;
}

.bl-faq-qa:last-child {
    padding-bottom: 0;
}

.bl-faq-q {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    margin-bottom: 16px;
}

.bl-faq-a {
    font-family: 'Mona Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    margin: 0;
}

.bl-faq-mark {
    color: #1f1955;
}

/* =================================================================
   RESPONSIVE — merged, grouped per page, desktop-first (largest → smallest)
   Order: Global · Home · Service · Brand · Parts · About · Financing ·
          Contact · Sell/Trade · Pro Shop · Brand MasterCraft · Crew ·
          Team Bio · Blog · Blog Details · FAQ
   ================================================================= */

/* 404 page start here */

.commonSection {
    margin-bottom: 80px;
}

.commonSectionInnerWrap {
    display: flex;
    gap: 120px;
    max-width: calc(100% - 15%);
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

.commonSectionTextWrapper {
    width: 50%;
    max-width: 600px;
}

.commonSectionImageWrapper {
    width: 50%;
}

.commonSectionImageWrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.commonSectionHeading {
    color: #1F1955;
    text-align: center;
    font-family: 'Mona Sans', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 40px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.commonPara {
    color: #1E1E1E;
    text-align: center;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 24px;
    margin-bottom: 40px;
    margin-top: 40px;
}

.commonSectionLinkWrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.featured-btn {
    color: #FFF;
    text-align: center;
    font-family: 'Mona Sans', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    text-transform: uppercase;
    background: #222;
    display: inline-block;
}

.thank-you-content-box {
    width: 50%;
}

.thank-you-inner-box {
    max-width: 480px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
}

/* ---- Global / shared (typography, nav, mega menu, mobile menu, footer) ---- */
@media (max-width: 1440px) {
    .commonSectionHeading {
        font-size: 29px;
        letter-spacing: 0.5px;
    }

    .commonPara {
        margin-bottom: 30px;
        margin-top: 30px;
    }

    .bl-nav-inner {
        max-width: unset;
    }

    .bl-megaMenu-inner {
        max-width: unset;
    }
}

@media (max-width: 1200px) {
    .bl-parts-brand-card {
        width: calc(100% / 3 - 30px);
    }
    .bl-h1 {
        font-size: 48px;
        line-height: 56px;
    }


    .bl-section {
        padding: 80px 0;
    }

    .bl-nav-links {
        gap: 22px;
    }

    .bl-nav-link {
        font-size: 14px;
    }

    .bl-megaMenu-inner {
        gap: 32px;
    }

    .bl-megaCard {
        height: 360px;
    }

    .bl-megaCard span {
        left: 24px;
        right: 16px;
        bottom: 28px;
    }

    .bl-footer-cols {
        grid-template-columns: 1fr 1fr;
        padding: 48px 40px;
    }

    .commonSectionInnerWrap {
        max-width: 100%;
        padding-left: 40px;
        padding-right: 40px;
    }

    .commonSectionInnerWrap {
        gap: 40px;
    }
}

@media (max-width: 991px) {
    .bl-parts-brands {
        gap: 20px;
    }
    .logo-container {
        max-width: 100%;
        padding: 0 25px;
    }
    .bl-parts-brand-card {
        width: calc(100% / 3 - 14px);
    }
    .bl-footer-cols {
        order: 2;
    }

    .bl-svc-intro-text {
        margin: 0 auto;
        text-align: center;
    }

    .bl-footer-news {
        order: 1;
    }

    .bl-h1 {
        font-size: 40px;
        line-height: 48px;
        letter-spacing: 0.06em;
    }

    .bl-h2 {
        font-size: 32px;
        line-height: 34px;
    }

    .bl-eyebrow,
    .bl-h5 {
        font-size: 20px;
    }

    .bl-section {
        padding: 64px 0;
    }

    .bl-nav-links {
        display: none;
    }

    .bl-nav-burger {
        display: inline-flex;
    }

    .bl-mobileMenu {
        display: flex;
    }

    .bl-mobileMenu-overlay {
        display: block;
    }

    .bl-megaMenu-inner {
        flex-direction: column;
        gap: 24px;
        padding-top: 56px;
    }

    .bl-megaCol {
        width: 100%;
        padding-top: 0;
    }

    .bl-megaCards {
        width: 100%;
        flex-wrap: wrap;
    }

    .bl-megaCard {
        flex: 1 1 calc(50% - 4px);
        height: 320px;
    }

    .bl-footer-top {
        grid-template-columns: 1fr;
    }

    .thank-you-content-box {
        width: 100%;
    }

    .firstSectionTopMargin {
        margin-top: 40px;
    }

    .commonSectionInnerWrap {
        gap: 40px;
        flex-flow: column-reverse;
    }

    .commonSectionTextWrapper {
        width: 100%;
        max-width: 600px;
        padding-left: 25px;
        padding-right: 25px;
    }

    .commonSectionImageWrapper {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .bl-nav-inner {
        padding: 0 20px;
    }

    .bl-nav-phone small {
        display: none;
    }

    .bl-nav-phone a {
        font-size: 18px;
    }

    .bl-shell {
        padding: 0 20px;
    }
}

@media (max-width: 576px) {
    .footerSiteMapWrapper {
        text-align: center;
    }

    .bl-nav-right {
        gap: 8px;
    }

    .bl-nav-phone a {
        font-size: 14px;
    }

    .bl-h1 {
        font-size: 32px;
        line-height: 38px;
    }

    .bl-h2 {
        font-size: 26px;
        line-height: 30px;
    }

    .bl-section {
        padding: 48px 0;
    }

    .bl-megaCard {
        flex: 1 1 100%;
        height: 280px;
    }

    .bl-footer-cols {
        grid-template-columns: 1fr;
    }

    .bl-footer-news {
        padding: 40px 24px;
    }

    .commonSectionInnerWrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .commonSectionLinkWrap {
        flex-direction: column-reverse;
    }
}

/* ---- Home page ---- */
@media (max-width: 1500px) {
    .bl-welcome-row {
        grid-template-columns: 560px 1fr;
        gap: 72px;
    }
}

@media (max-width: 1200px) {
    .bl-welcome-row {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }

    .bl-promo-slide {
        padding: 0 64px;
    }
}

@media (max-width: 991px) {
    .bl-nav-logo {
        left: 15px;
        top: 0;
        transform: translate(0, 0);
        max-width: 130px;
    }

    .bl-hero {
        height: 600px;
    }

    .bl-feature-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .bl-feature-card {
        padding-top: 70%;
    }

    .bl-feature-body {
        bottom: 40px;
    }

    .bl-cats-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .bl-cat-card {
        padding-top: 60%;
    }

    .bl-cat-body {
        bottom: 40px;
    }

    .bl-quick-row {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .bl-quick-item {
        border-right: none;
        border-bottom: 1px solid #d9d9d9;
        padding: 0 0 32px;
    }

    .bl-quick-row .bl-quick-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .bl-welcome-row {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .bl-welcome-img {
        max-width: 560px;
    }

    .bl-promo {
        min-height: 600px;
    }
}

@media (max-width: 768px) {
    .bl-arrivals-head {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px;
    }

    .bl-hero-actions {
        flex-direction: column;
        align-items: center;
    }

    .bl-brands-row {
        gap: 15px;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .bl-hero {
        height: 520px;
    }

    .bl-promo-slide {
        padding: 0 48px;
    }

    .bl-promo-slider .owl-nav button.owl-prev {
        left: 8px;
    }

    .bl-promo-slider .owl-nav button.owl-next {
        right: 8px;
    }
}

/* ---- Service page ---- */
@media (max-width: 1200px) {
    .bl-svc-intro-row {
        grid-template-columns: 1fr 520px;
        gap: 64px;
    }

    .bl-svc-contact-row {
        gap: 64px;
    }
}

@media (max-width: 991px) {
    .bl-svc-hero {
        height: 520px;
    }

    .bl-svc-intro-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-svc-intro-img {
        max-width: 560px;
        margin: 0 auto;
    }

    .bl-svc-card {
        text-align: center;
    }

    .bl-svc-why-item {
        text-align: center;
    }

    .bl-svc-core-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px 32px;
    }

    .bl-svc-why-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-svc-yamaha-row {
        gap: 32px;
        text-align: center;
        justify-content: center;
    }

    .bl-svc-yamaha-logos {
        justify-content: center;
        gap: 32px;
    }

    .bl-svc-contact-row {
        grid-template-columns: 1fr;
        gap: 56px;
    }
}

@media (max-width: 576px) {
    .bl-svc-core-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-svc-contact-info h2 {
        font-size: 32px;
    }
}

/* ---- Brand page (Yamaha / MasterCraft shared rows) ---- */
@media (max-width: 1200px) {
    .bl-by-hero {
        height: 520px;
    }

    .bl-by-inv-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .bl-by-row {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .bl-by-row.bl-by-row-rev .bl-by-text {
        order: 2;
    }

    .bl-by-logo {
        text-align: center;
    }

    .bl-by-logo img {
        margin: 0 auto;
    }

    .bl-by-service-card {
        min-height: 0;
        padding: 48px 40px;
    }

    .bl-by-inv-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .bl-by-hero {
        height: 400px;
    }
}

@media (max-width: 576px) {
    .bl-by-inv-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

/* ---- Parts page ---- */
@media (max-width: 991px) {
    .bl-parts-intro {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (max-width: 576px) {
    .bl-parts-brand-card {
        width: calc(100% / 2 - 14px);
    }
    .bl-parts-title {
        font-size: 32px;
        line-height: 40px;
    }
}

/* ---- About / story-section rows (.bl-ss-*) ---- */
@media (max-width: 991px) {
    .bl-ss-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-ss-row-rev .bl-ss-media {
        order: 0;
    }

    .bl-ss-media {
        max-width: 600px;
    }
}

/* ---- Financing page ---- */
@media (max-width: 991px) {
    .bl-fin-features {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-fin-calc-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-fin-stat {
        font-size: 40px;
        line-height: 52px;
    }
}

/* ---- Contact page ---- */
@media (max-width: 991px) {
    .bl-ct-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-ct-form-card {
        padding: 40px;
        margin-top: 0;
    }

    .bl-ct-map-row {
        grid-template-columns: 1fr;
    }

    .bl-ct-map {
        min-height: 400px;
    }

    .bl-ct-loc {
        padding: 40px;
    }
}

/* ---- Sell / Trade page ---- */
@media (max-width: 1200px) {
    .bl-st-hero {
        height: 520px;
    }

    .bl-st-benefits-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 48px;
    }

    .bl-st-process-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

@media (max-width: 991px) {
    .bl-st-hero {
        height: 440px;
    }

    .bl-st-intro-row {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .bl-st-benefits {
        padding: 64px 0;
    }

    .bl-st-benefits-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-st-photo {
        height: 360px;
    }

    .bl-st-process-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .bl-st-step {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .bl-st-hero {
        height: 360px;
    }

    .bl-st-photo {
        height: 280px;
    }
}

/* ---- Pro Shop page ---- */
@media (max-width: 1200px) {
    .bl-ps-hero {
        height: 520px;
    }

    .bl-ps-brands-row {
        gap: 32px;
        justify-content: center;
    }
}

@media (max-width: 991px) {
    .bl-ps-hero {
        height: 440px;
    }

    .bl-ps-intro-row {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .bl-ps-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px 32px;
    }

    .bl-ps-visit-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bl-ps-map {
        min-height: 400px;
    }
}

@media (max-width: 768px) {
    .bl-ps-hero {
        height: 400px;
    }

    .bl-ps-brands-row {
        gap: 24px 32px;
    }
}

@media (max-width: 576px) {
    .bl-ps-hero {
        height: 360px;
    }

    .bl-ps-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* ---- Brand MasterCraft page ---- */
@media (max-width: 1200px) {
    .bl-bm-h1 {
        font-size: 40px;
        line-height: 52px;
    }

    .bl-bm-pop-grid {
        gap: 40px;
    }

    .bl-bm-feat-grid {
        gap: 24px;
    }

    .bl-bm-feat-card {
        padding: 40px 32px;
    }
}

@media (max-width: 991px) {
    .bl-bm-h1 {
        font-size: 32px;
        line-height: 42px;
        letter-spacing: 0.06em;
    }

    .bl-bm-pop-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .bl-bm-feat-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .bl-bm-feat-card {
        min-height: 0;
    }
}

@media (max-width: 576px) {
    .bl-bm-h1 {
        font-size: 28px;
        line-height: 36px;
    }

    .bl-bm-feat-grid {
        grid-template-columns: 1fr;
    }

    .bl-bm-feat-card {
        padding: 32px 24px;
    }
}

/* ---- Crew page ---- */
@media (max-width: 1200px) {
    .bl-crew-grid {
        grid-template-columns: repeat(3, 280px);
    }
}

@media (max-width: 991px) {
    .bl-crew-grid {
        grid-template-columns: repeat(2, 280px);
    }
}

@media (max-width: 576px) {
    .bl-crew-grid {
        grid-template-columns: 1fr;
    }

    .bl-crew-card,
    .bl-crew-photo {
        width: 100%;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ---- Team Bio page ---- */
@media (max-width: 1200px) {
    .bl-bio-form {
        padding: 64px 64px;
    }

    .bl-bio-info {
        padding: 64px 56px;
    }
}

@media (max-width: 991px) {
    .bl-bio-hero {
        grid-template-columns: 1fr;
    }

    .bl-bio-photo {
        min-height: 420px;
    }

    .bl-bio-info,
    .bl-bio-form {
        padding: 48px 40px;
    }

    .bl-bio-form {
        border-bottom: none;
    }
}

@media (max-width: 576px) {
    .bl-bio-phone {
        font-size: 32px;
    }
}

/* ---- Blog / News page ---- */
@media (max-width: 991px) {
    .bl-blog-grid {
        grid-template-columns: 1fr;
        row-gap: 40px;
        max-width: 680px;
    }

    .bl-blog-tabs {
        flex-wrap: wrap;
        gap: 16px 24px;
    }
}

@media (max-width: 576px) {
    .bl-blog-tabs {
        gap: 12px 16px;
    }
}

/* ---- Blog Details (post) page ---- */
@media (max-width: 1200px) {
    .bl-svc-mini-title, .bl-svc-card h3, .bl-svc-why-item h3, .bl-ps-card h3, .bl-faq-cat-head { 
        font-size: 24px;
        line-height: 28px;
    }
    .bl-post-layout {
        gap: 64px;
    }
}

@media (max-width: 991px) {
    .bl-post-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .bl-post-title {
        font-size: 36px;
        line-height: 40px;
    }

    .bl-post-similar {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    .bl-post-similar-card {
        margin-bottom: 0;
    }
}

@media (max-width: 576px) {
     .bl-svc-mini-title, .bl-svc-card h3, .bl-svc-why-item h3, .bl-ps-card h3, .bl-faq-cat-head { 
        font-size: 26px;
        line-height: 28px;
    }
    .bl-post-title {
        font-size: 28px;
        line-height: 34px;
    }

    .bl-post-similar {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

/* ---- FAQ page ---- */
@media (max-width: 991px) {
    .bl-nav {
        height: 95px;
    }
    .left-text-sec, .right-logo-sec {
        width: 100%;
    }
    .bl-faq-cat-head {
        font-size: 20px;
        padding: 28px 0;
    }

    .bl-faq-cat-panel {
        padding: 0 16px 24px;
    }
}

@media (max-width: 576px) {
    .bl-faq-cat-head {
        font-size: 18px;
    }

    .bl-faq-cat-panel {
        padding: 0 0 24px;
    }
}

@media (max-width: 450px) {
    .bl-parts-brand-card {
        height: 126px;
    }
}

/* Form submission alerts (e.g. blocked spam, validation errors, success): fixed bar at the bottom of the screen.
   Scoped to #notify_message so other .alert boxes on the site are not affected. */
#notify_message.alert {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 999;
    text-align: center;
    padding: 20px;
    margin-bottom: 0;
    border: 0;
    border-radius: 0;
    font-size: 18px;
    font-weight: 600;
}

#notify_message.alert-success {
    color: #fff;
    background-color: green;
}

#notify_message.alert-danger {
    color: #fff;
    background-color: red;
}
