/* Layout overrides loaded after the original styles. */
.bsa-menu-toggle { display:none; }
.allcontent { width:949px !important; max-width:calc(100% - 32px) !important; min-width:0 !important; margin:0 auto !important; }
.allcontent *, .allcontent *::before, .allcontent *::after { box-sizing:border-box; }
.allcontent img { max-width:100%; height:auto; }
.allcontent iframe { max-width:100%; }
.clr { clear:both; }
#bsa-menu { width:100% !important; height:auto !important; }
#bsa-menu #cssmenu > ul > li { margin:0 !important; }
#bsa-menu #cssmenu > ul > li > a { display:block; }
.bsa-slides { position:relative !important; width:100% !important; height:auto !important; aspect-ratio:396/274; background:#eee !important; overflow:hidden; }
#sliderFrame { max-width:100%; }
#slider.bsa-slides > a { display:none; position:absolute; inset:0; }
#slider.bsa-slides > a.is-current { display:block; }
#slider.bsa-slides img { display:block !important; position:static !important; width:100% !important; height:100% !important; object-fit:cover; }
.bsa-slider-controls { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:8px 0; }
.bsa-slider-controls button { border:0; border-radius:4px; background:#555; color:#fff; min-width:44px; min-height:44px; cursor:pointer; font-size:20px; }
.bsa-slider-count { font-size:13px; color:#555; }
@media (max-width:980px) {
    body { margin:0 !important; padding:0 0 20px !important; font:16px/1.6 Arial,sans-serif; }
    #ctl00_bg_holder { width:100% !important; min-width:0 !important; }
    .allcontent { max-width:calc(100% - 24px) !important; padding:0 !important; }
    .allcontent > .clearfix { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; height:auto !important; }
    .logo { float:none !important; display:block; max-width:65%; height:auto !important; margin:0 !important; }
    .logo img { display:block; max-height:100px; object-fit:contain; }
    .social-networks { float:none !important; width:auto !important; margin:0 !important; }
    #social-list { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
    #social-list li { float:none !important; }
    #bsa-menu { margin:0 0 18px !important; padding:0 !important; }
    #bsa-menu > br, #bsa-menu > .clr { display:none; }
    .bsa-menu-toggle { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; padding:10px 16px; border:1px solid #b62b21; border-radius:5px; background:#626262; color:white; font:700 16px Arial,sans-serif; cursor:pointer; }
    #bsa-menu #cssmenu { margin-top:6px; }
    .bsa-js #bsa-menu #cssmenu { display:none; }
    .bsa-js #bsa-menu.is-open #cssmenu { display:block; }
    #bsa-menu #cssmenu > ul { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); padding:6px !important; width:100% !important; }
    #bsa-menu #cssmenu > ul::before, #bsa-menu #cssmenu > ul::after { display:none !important; }
    #bsa-menu #cssmenu > ul > li { float:none !important; width:auto !important; }
    #bsa-menu #cssmenu > ul > li > a, #bsa-menu #cssmenu > ul > li > a > span { font-size:14px !important; }
    #bsa-menu #cssmenu > ul > li > a { padding:15px 8px !important; min-height:46px; }
    .left-content, #sidebar { float:none !important; width:100% !important; min-width:0 !important; height:auto !important; margin:0 0 22px !important; }
    .left-content > br { display:none; }
    .page-title { width:100% !important; height:auto !important; min-height:0 !important; padding:12px 14px !important; margin:16px 0 0 !important; }
    .page-title h1 { margin:0 !important; padding:0 !important; font-size:clamp(21px,4.7vw,28px) !important; line-height:1.3 !important; height:auto !important; }
    .bsa-left-grey, .bsa-list-item, .bsa-content-text, .resizeable-image { width:100% !important; min-width:0 !important; height:auto !important; }
    .bsa-left-grey { padding:16px !important; background:#f3f3f3 !important; }
    .bsa-list-item, .bsa-content-text, .resizeable-image { padding:0 !important; margin:0 !important; }
    .bsa-content-text, .bsa-left-grey { font-size:16px !important; line-height:1.65 !important; overflow-wrap:anywhere; }
    .bsa-content-text h2, .bsa-left-grey h2 { display:block; font-size:19px !important; line-height:1.4 !important; }
    .bsa-content-text h3 { font-size:18px; line-height:1.4; }
    .bsa-content-text p { margin:12px 0; }
    .bsa-content-text ol, .bsa-content-text ul { padding-left:24px; }
    .resizeable-image img, .bsa-content-text > img { display:block; margin:0 auto 14px; height:auto !important; }
    .resizeable-image iframe { display:block; width:100% !important; height:250px; border:0; }
    #news-flash-div, #news-flash, .ShowBox, #slide_container, #showcase-content, #sliderFrame { float:none !important; width:100% !important; min-width:0 !important; height:auto !important; margin:0 !important; padding:0 !important; }
    #slidercontrol { display:none; }
    .ShowImg { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; float:none !important; width:100% !important; margin:16px 0 !important; height:auto !important; }
    .ShowImg img { width:100% !important; height:auto !important; margin:0 !important; }
    .weathercast, #ctl00_PageContent_weatherDiv { width:100% !important; height:auto !important; margin:14px 0 !important; }
    .weathercast table { width:100%; table-layout:fixed; }
    .weathercast td { padding:3px; }
    .weathercast img { width:100%; height:auto; }
    #sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    #sidebar > div { float:none !important; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; }
    #sidebar > div:last-child { grid-column:1/-1; }
    #sidebar img { display:block; margin:auto; }
    #sidebar table { width:100%; table-layout:fixed; }
    #sidebar td { text-align:center; padding:6px; }
    #bsa-dealer-select, #bsa-wheel-select, #helper-flash { width:100% !important; height:auto !important; }
    #bsa-contact-form { width:100% !important; max-width:100% !important; margin-top:18px; }
    #bsa-contact-form .contact-row { display:block !important; }
    #bsa-contact-form label { display:block !important; margin-bottom:5px; }
    #bsa-contact-form input.form, #bsa-contact-form textarea { font:16px/1.4 Arial,sans-serif !important; min-height:46px; padding:10px !important; border:1px solid #bbb; border-radius:4px; width:100% !important; }
    #bsa-contact-submit { min-height:46px; width:100%; font-size:16px !important; }
    #bsa-recaptcha { max-width:100%; }
    .footer-main, #fatfooter, .fatfooter-header, .fatfooter-bg, .fatfooter-content { width:100% !important; min-width:0 !important; height:auto !important; }
    .footer-main img { display:block; width:100% !important; height:auto !important; }
    #fatfooter { margin-top:18px; }
    .fatfooter-header > ul { display:flex; flex-wrap:wrap; gap:4px 14px; padding:12px !important; margin:0 !important; list-style:none; }
    .fatfooter-header li { float:none !important; width:auto !important; height:auto !important; }
    .fatfooter-header a { display:block; padding:10px 0; font-size:13px !important; }
    .fatfooter-content > ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:16px !important; margin:0 !important; list-style:none; }
    .fatfooter-content > ul > li { float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
    .fatfooter-content ul ul { padding:0 !important; margin:0 !important; list-style:none; }
    .fatfooter-content ul ul li { float:none !important; width:auto !important; }
    .fatfooter-content a { display:inline-block; padding:5px 0; overflow-wrap:anywhere; font-size:14px !important; }
    #fatfooter center { padding:16px 8px; font-size:12px; line-height:1.6; }
}
@media(max-width:380px) {
    .allcontent { max-width:calc(100% - 16px) !important; }
    .bsa-left-grey { padding:12px !important; }
    .fatfooter-content > ul { grid-template-columns:1fr; }
    .social-networks { max-width:30%; }
}
.bsa-menu-toggle:focus-visible, #cssmenu a:focus-visible, .bsa-slider-controls button:focus-visible {
    outline:3px solid #e32118;
    outline-offset:3px;
}

/* Version 2: isolated header, action buttons and footer avoid legacy artwork. */
.allcontent > .bsa-header-row {
    display:flex !important; align-items:center; justify-content:space-between;
    gap:20px; width:100%; padding:18px 0; height:auto !important;
}
.bsa-header-row::after { display:none !important; }
.bsa-header-row .logo { display:block; flex:0 1 60%; min-width:0; float:none !important; }
.bsa-header-row .logo img { display:block; max-width:100% !important; height:auto !important; }
.bsa-header-phone { display:flex; flex-direction:column; flex:0 0 auto; text-align:right; text-decoration:none !important; color:#fff; padding:10px 14px; background:#b62b21; border-radius:6px; white-space:nowrap; line-height:1.4; }
.bsa-header-phone strong { font-size:24px; }
.bsa-phone-label { font-size:13px; }
#sidebar .bsa-quick-link {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    width:100%; min-width:0; min-height:58px; padding:12px 14px;
    margin:0 0 12px; color:#333; background:#f3f3f3;
    border-left:4px solid #b62b21; border-radius:5px; text-decoration:none;
}
#sidebar .bsa-quick-link strong { font:700 16px/1.4 Arial,sans-serif; }
#sidebar .bsa-quick-link > span { flex:0 0 auto; font-size:22px; }
#sidebar .bsa-quick-link:hover { background:#fff; }
.bsa-footer { clear:both; width:100%; margin-top:24px; background:#303030; color:#eee; border-top:4px solid #b62b21; border-radius:5px; overflow-wrap:anywhere; }
.bsa-footer-nav { display:flex; flex-wrap:wrap; gap:4px 24px; padding:14px 22px; border-bottom:1px solid #555; }
.bsa-footer a { color:#eee; text-decoration:none; }
.bsa-footer a:hover { text-decoration:underline; }
.bsa-footer-nav a { padding:8px 0; font:700 14px/1.4 Arial,sans-serif; }
.bsa-footer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:24px 22px; }
.bsa-footer-grid section { min-width:0; }
.bsa-footer-grid h2 { display:block; margin:0 0 10px; color:white; font:700 17px/1.4 Arial,sans-serif; }
.bsa-footer-grid a { display:block; padding:5px 0; font:14px/1.5 Arial,sans-serif; }
.bsa-footer-grid p { margin:12px 0; font:14px/1.6 Arial,sans-serif; color:#eee; }
.bsa-footer-copy { padding:16px; border-top:1px solid #555; text-align:center; font:12px/1.7 Arial,sans-serif; }
@media(max-width:980px) {
    .allcontent > .bsa-header-row { flex-wrap:wrap; gap:12px; }
    .bsa-header-phone strong { font-size:20px; }
    .bsa-header-row .logo { max-width:60% !important; }
    #sidebar { position:static !important; inset:auto !important; min-height:0 !important; }
    #sidebar .bsa-quick-link { margin:0; }
    #sidebar .bsa-quick-link strong { font-size:14px; }
    #sidebar > .choosetire, #sidebar #helper-flash { min-height:0 !important; padding:0 !important; margin:0 !important; }
    #sidebar #helper-flash img { width:auto !important; max-width:100% !important; height:auto !important; position:static !important; }
    #sidebar #helper-flash table, #sidebar #helper-flash td { max-width:100% !important; }
    .left-content, .bsa-left-grey, .bsa-content-text, .resizeable-image { max-width:100% !important; float:none !important; position:static !important; inset:auto !important; }
    .left-content { min-height:0 !important; }
    .bsa-left-grey { margin-left:0 !important; margin-right:0 !important; }
    .page-title { max-width:100% !important; letter-spacing:normal !important; }
    #bsa-contact-form, #bsa-contact-form .contact-row, #bsa-contact-form input, #bsa-contact-form textarea, #bsa-contact-status { min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; float:none !important; }
    #bsa-contact-form textarea { resize:vertical; }
    #bsa-contact-form .contact-row label { width:auto !important; }
    .resizeable-image iframe { width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
    .bsa-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; padding:20px 16px; }
    .bsa-footer-nav { padding:12px 16px; gap:4px 18px; }
}
@media(max-width:600px) {
    .allcontent > .bsa-header-row { flex-direction:column; align-items:flex-start; }
    .bsa-header-row .logo { width:100% !important; max-width:320px !important; flex:auto; }
    .bsa-header-phone { align-self:flex-end; text-align:right; padding:8px 12px; }
    #sidebar { grid-template-columns:minmax(0,1fr) !important; gap:10px; }
    #sidebar .bsa-quick-link strong { font-size:16px; }
    .bsa-footer-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
}

/* V3: title bars must include their padding in the total height. */
.allcontent .page-title {
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    height:auto !important;
    min-height:36px !important;
    padding:8px 12px !important;
    box-sizing:border-box !important;
    background:linear-gradient(#c63124,#b62b21) !important;
    color:#fff !important;
    letter-spacing:normal !important;
}
.allcontent .page-title h1 {
    display:block !important;
    float:none !important;
    position:static !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-size:17px !important;
    line-height:1.25 !important;
    color:#fff !important;
}
@media(max-width:980px) {
    .bsa-header-row .bsa-header-phone { display:none !important; }
    .allcontent > .bsa-header-row { padding:12px 0 !important; gap:0 !important; }
    .bsa-header-row .logo { flex:auto; width:100% !important; max-width:320px !important; }
    #bsa-menu { margin-bottom:12px !important; }
    .allcontent .page-title {
        margin-top:10px !important;
        padding:8px 14px !important;
        min-height:40px !important;
    }
    .allcontent .left-content > .page-title:first-of-type { margin-top:0 !important; }
    .allcontent .page-title h1 {
        font-size:clamp(20px,4.7vw,26px) !important;
        line-height:1.2 !important;
        transform:translateY(-1px);
    }
}
