/* Sakit mobile accessibility position 1.0.0 — Bestvision toolbar only. */
@media (max-width: 991px) {
  /* Keep the trigger away from the logo and the chat buttons on the right. */
  body #bs-menu {
    top: auto !important;
    right: auto !important;
    left: calc(12px + env(safe-area-inset-left, 0px)) !important;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    width: 48px !important;
    height: 48px !important;
  }
  body #bs-menu .bs-menu-toggle {
    position: static !important;
  }
  body #bs-menu .bs-menu-toggle > a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #dce4d7;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(20, 35, 15, .15);
  }
  body #bs-menu .bs-menu-toggle > a .fa {
    font-size: 28px;
  }
  body #bs-menu .bs-menu-toggle > a:focus-visible {
    outline: 3px solid #426e0a;
    outline-offset: 3px;
  }
  /* Native Bestvision click/keyboard handlers still control .bs-menu-open. */
  body #bs-menu .bs-menu-overlay {
    display: none !important;
    position: absolute;
    top: auto;
    bottom: 60px;
    left: 0;
    right: auto;
    box-sizing: border-box;
    width: min(280px, calc(100vw - 32px));
    max-height: calc(100vh - 110px - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 110px - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(20, 35, 15, .2);
  }
  body #bs-menu.bs-menu-open .bs-menu-overlay {
    display: block !important;
  }
}

/* Component repairs for the audited Newstore pages. */
html:root { --sakit-green: #4f8009; }
.sakit-skip-link { position: fixed; top: -200px; left: 12px; z-index: 1000001; padding: 12px 18px; background: #fff; color: #174000; border: 2px solid #426e0a; border-radius: 6px; font: 700 16px/1.5 Arial,sans-serif; }
.sakit-skip-link:focus { top: 8px; left: 12px; outline: 3px solid #174000; }
.sakit-font-status { margin: 0; padding: 10px 15px; font: 14px/1.5 Arial,sans-serif; }
body #bs-menu .bestvision-tools .bs-menu-link { min-height: 44px; box-sizing: border-box; }
body #bs-menu .bs-menu-overlay .bs-menu-items .bs-menu-item a.bs-menu-link { color: #376b14 !important; background-color: #fff !important; font-size: 16px; border-inline-start: 4px solid transparent; }
body #bs-menu .bs-menu-overlay .bs-menu-items .bs-menu-item a.bs-menu-link.active { color: #264508 !important; background-color: #e8f3df !important; border-inline-start-color: #376b14; font-weight: 700; }
html body #bs-menu :is(.bs-menu-overlay,.bs-menu-inner,.bs-menu-title,.bs-menu-items,.bs-menu-item,#sakit-font-status) { color: #202824 !important; background-color: #fff !important; }
body #bs-menu .bs-menu-overlay { max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px); overflow-y: auto; }
body #bs-menu:not(.bs-menu-open) .bs-menu-overlay { visibility: hidden; pointer-events: none; }
body #bs-menu.bs-menu-open .bs-menu-overlay { visibility: visible; pointer-events: auto; }
body #bs-menu .bs-menu-toggle > a:focus-visible,
body #bs-menu .bestvision-tools a:focus-visible,
#menu-list .toggle-child:focus-visible,
#whatsappchatsystem:focus-visible,
#content button:focus-visible,#content a:focus-visible,#content input:focus-visible,
#content select:focus-visible,#content textarea:focus-visible { outline: 3px solid #174000; outline-offset: 3px; }
#content .table-responsive:focus-visible { outline: 3px solid #174000; outline-offset: 2px; }
body #bs-menu .bestvision-tools [aria-disabled="true"] { text-decoration: none; }
body .sh26-action .btn { background: #4f8009 !important; border-color: #3c6207 !important; color: #fff !important; }
body .sh26-trust small,body .product-model,body .sakit-parts-finder__intro,
body .sakit-oem-visible,body #content [itemprop="model"],body #content [itemprop="brand"],
body #content .help-block { color: #586258 !important; }
body .breadcrumb a,body .breadcrumb a span,body #content .list-group-item,
body #content a:where(:not([class*="btn"]):not(.label)),
body #content .agree,body #content .agree b { color: #376b14 !important; }
body #content p > a,body #content .agree { text-decoration: underline; text-underline-offset: 2px; }
body #content .btn-primary { background: #176da8 !important; border-color: #12537f !important; color: #fff !important; }
body .footer-ribbon { background: #416e09 !important; }
body .footer-ribbon > span { color: #fff !important; }
body .sticker-ns.bestseller,body .sticker-ns.popular { background: #e9f3df !important; color: #264508 !important; }
body .sticker-ns.bestseller span,body .sticker-ns.popular span { color: #264508 !important; }
body .sticker-ns.special { background: #9e1343 !important; color: #fff !important; }
body #content .text-danger { color: #b42318; }
body a.list-group-item,body .sakit-oem-toggle,body .rating a,body .qap-ask { color: #376b14 !important; }
body .custom-block-product .text p { color: #586258 !important; }
body .btn-more { background: #176da8 !important; color: #fff !important; }
body #button-filter { background: #176da8 !important; border-color: #12537f !important; color: #fff !important; }
body .btn-cheaper { background: #376b14 !important; color: #fff !important; }
body .qty-not-in-stock { color: #982a15 !important; }
body #button-cart { background: #b33434 !important; border-color: #922727 !important; color: #fff !important; }
body #button-nwa-duplicate { background: #b33434 !important; border-color: #922727 !important; color: #fff !important; }
body span[itemprop="sku"] { color: #00517b !important; }
body .extra-info-title { color: #4d4d4d !important; }
body font[color="#ff0000"],body font[color="#FF0000"] { color: #b42318 !important; }
/* Override fixed header colours only in the user's dark contrast modes.
   The repeated header class keeps these rules stronger than theme ID rules. */
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #top.sakit-utility,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #top.sakit-utility *,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .sakit-header.sakit-header,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .sakit-header.sakit-header *,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .sakit-header.sakit-header :is(#logo,#search,#cart,#menu,#phone,#additional-menu,#horizontal-menu,#wishlist-total),
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .sakit-header.sakit-header :is(#logo,#search,#cart,#menu,#phone,#additional-menu,#horizontal-menu,#wishlist-total) * {
  background-color: #000 !important; color: #fff !important; border-color: #fff !important; text-shadow: none !important;
}
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .sakit-header.sakit-header #search input::placeholder { color: #fff !important; opacity: 1; }
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #content a,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #content a span,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #content .agree,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #content .agree b,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .breadcrumb a,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .breadcrumb a span,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .sh26-action .btn,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #content .btn-primary,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #content :is(.sakit-oem-visible,[itemprop="model"],[itemprop="brand"],.help-block,.product-model),
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) :is(.sh26-trust small,.sakit-parts-finder__intro,.footer-ribbon > span) { color: #fff !important; background-color: #000 !important; }
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) a { text-decoration: underline !important; }
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) :focus-visible { outline-color: #ffeb3b !important; }
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .stickers-ns .sticker-ns,
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) .stickers-ns .sticker-ns * { background-color: #000 !important; color: #fff !important; }
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) :is(a.list-group-item,.sakit-oem-toggle,.rating a,.qap-ask,.custom-block-product .text p,.btn-more,.btn-cheaper,.qty-not-in-stock,#button-cart,font[color="#ff0000"],font[color="#FF0000"]) { color: #fff !important; background-color: #000 !important; }
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) :is(#button-nwa-duplicate,span[itemprop="sku"],.extra-info-title) { color: #fff !important; background-color: #000 !important; }
html body:is(.bestvision-high-contrast,.bestvision-negative-contrast) #button-filter { color: #fff !important; background-color: #000 !important; }
/* A filter on body makes fixed toolbars relative to the whole document. */
body.bestvision-grayscale { filter: none !important; -webkit-filter: none !important; }
body.bestvision-grayscale :is([role="main"],main,header.sakit-header,#top.sakit-utility,footer) { filter: grayscale(1); }
/* Text enlargement must allow controls and navigation to grow/reflow. */
/* Theme transition:all would otherwise animate restored base sizes during measurement. */
body[data-sakit-text-scale]:not([data-sakit-text-scale="100"]) * {
  transition-property: background-color,color,border-color,box-shadow,opacity,transform,left,right,top,bottom !important;
}
/* The hero uses a fixed pixel line-height, which must grow with its text. */
body[data-sakit-text-scale]:not([data-sakit-text-scale="100"]) .sh26-hero p {
  line-height: 1.45 !important;
}
body.sakit-text-enlarged .title-module,
body.sakit-text-enlarged .title-module > span {
  max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.3 !important;
}
body[data-sakit-text-scale]:not([data-sakit-text-scale="100"]) .form-control,
body[data-sakit-text-scale]:not([data-sakit-text-scale="100"]) select,
body[data-sakit-text-scale]:not([data-sakit-text-scale="100"]) .sakit-header #search .input-lg { height: auto !important; min-height: 44px; line-height: 1.4; }
body.sakit-text-enlarged .sakit-header .sakit-main { grid-template-columns: 150px minmax(0,1fr); }
body.sakit-text-enlarged .sakit-header .sakit-actions { grid-column: 1 / -1; justify-self: end; flex-wrap: wrap; }
body.sakit-text-enlarged .sakit-header .sakit-cart { width: auto; min-width: 150px; max-width: 100%; }
body.sakit-text-enlarged .sakit-header .sakit-nav-inner { flex-wrap: wrap; }
body.sakit-text-enlarged .sakit-header .sakit-menu { flex-basis: 100%; }
body.sakit-text-enlarged .sakit-header .sakit-phone { margin-inline-start: auto; max-width: 100%; }
body.sakit-text-enlarged .sakit-header .sakit-menu > .container > .row { flex-wrap: wrap; }
body.sakit-text-enlarged .sakit-header .sakit-menu > .container > .row > .col-md-3,
body.sakit-text-enlarged .sakit-header .sakit-menu > .container > .row > .col-md-9 { flex-basis: 100%; width: 100%; }
body.sakit-text-enlarged .sakit-header #menu > .btn-menu { white-space: normal; height: auto; }
body.sakit-text-enlarged :is(.sh26-fields,.sakit-parts-finder__fields) { grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)) !important; }
body.sakit-text-enlarged #content :is(h1,h2,h3,p,label,a),body.sakit-text-enlarged .sh26-hero :is(h1,p,label) { overflow-wrap: anywhere; }
body.sakit-text-enlarged :is(h1,h2,h3,p,label,a) { overflow-wrap: anywhere; }
body.sakit-text-enlarged .btn { white-space: normal; line-height: 1.4; }
body.sakit-text-enlarged .quantity-product { width: 5em; max-width: 100%; }
body.sakit-text-enlarged .sh26-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
body.sakit-text-enlarged .sh26-tabs button { min-width: 0; width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
body.sakit-text-enlarged .footer-ribbon { position: relative; margin: 0 0 20px; max-width: 100%; }
body.sakit-text-enlarged .footer-ribbon::before { display: none; }
body.sakit-text-enlarged .product-thumb .caption { height: auto !important; }
@media (max-width:991px) {
  body.sakit-text-enlarged .sakit-header .sakit-main { grid-template-columns: minmax(0,1fr); }
  body.sakit-text-enlarged .sakit-header #logo { grid-column: 1; grid-row: 1; }
  body.sakit-text-enlarged .sakit-header .sakit-actions { grid-column: 1; grid-row: 2; justify-self: stretch; justify-content: space-between; }
  body.sakit-text-enlarged .sakit-header .sakit-search { grid-column: 1; grid-row: 3; }
  body.sakit-text-enlarged .form-horizontal .form-group { margin-left: 0; margin-right: 0; }
}
