/*
** Bootstrap over-rides
*/

/*START: SPF add*/

/*START: Home Page*/

/* Top-level navigation links */
#navbar #categories > li > a {
    font-size: 14px !important;
}

/* Dropdown subcategory links */
#navbar #categories .dropdown-menu > li > a.subcat {
    font-size: 12px !important;
}

/* --- START: Recent Purchase Popup Styles --- */
.purchase-popup {
    position: fixed;
    /* Changed bottom to top */
    top: 20px;
    left: 20px;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    width: 280px;
    font-size: 0.9em;
    overflow: hidden;
    opacity: 0;
    /* Changed transform Y value */
    transform: translateY(-20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

/* Style for when the popup becomes visible */
.purchase-popup.visible {
    opacity: 1;
    transform: translateY(0); /* Animate to original position */
}

.popup-content {
    padding: 12px 15px;
    position: relative; /* Needed for absolute positioning of close button */
}

.popup-close {
    position: absolute;
    top: 5px;
    right: 8px;
    font-size: 1.4em;
    color: #aaa;
    cursor: pointer;
    line-height: 1;
}
.popup-close:hover {
    color: #333;
}

#popup-message strong {
    font-weight: bold;
    color: #333;
}
#popup-message .product-name {
    color: #0056b3; /* Optional: Link-like color for product */
}
#popup-message .time-ago {
    display: block;
    font-size: 0.85em;
    color: #777;
    margin-top: 4px;
}

/* Progress bar at the bottom */
.popup-progress {
    height: 4px;
    background-color: #5cb85c; /* Green color, adjust as needed */
    width: 100%;
    animation: progressBarShrink 5s linear forwards; /* Matches JS hide delay */
}

@keyframes progressBarShrink {
    from { width: 100%; }
    to { width: 0%; }
}

/* Optional: Media query for smaller screens */
@media (max-width: 767px) {
    .purchase-popup {
        /* Remove styles that made it full-width */
        right: auto; 
        width: auto; 

        /* Set a max-width so it doesn't get too wide */
        max-width: 280px; 

        /* Explicitly set position in corner */
        /* (Assuming you want top-left as discussed) */
        top: 10px; 
        left: 10px;
        bottom: auto; 
    }
}
/* --- END: Recent Purchase Popup Styles --- */

@media (min-width: 768px) {
  .col-sm-9 {
    width: 76%;
  }
}

@media (min-width: 768px) {
  .col-sm-3 {
    width: 24%;
  }
}

/*END: Home Page*/

/* Cart & Checkout - START */

.discount-details {
    color: #5ab164;
    /*background-image: url(/assets/images/icons/rarrow.png);*/
    background-repeat: no-repeat;
    /*padding: 1px 7px; */
}

.promotion_name {
    color: #256911;
}

span#radio_ship_label0 {
    color: #02991d;
    font-weight: 700;
}

#divPaymentMethods>div h4 {
    padding: 35px 1px 2px 2px;
    background: #f7f7f7;
    background-image: url(/assets/images/cards2.png);
    background-repeat: no-repeat;
}

/* Cart & Checkout - END */

/*Manufacturer Page - START */

.manf-logo {
    margin: 0px 0px 10px 0px;
}

@media (max-width: 768px) {

    #manufacturerIndex .manufacturer-index {
        width: 100%;
        list-style: none;
        float: left;
        padding: 0px 10px 50px 10px;
    }
}

@media(min-width: 768px) {

    #manufacturerIndex .manufacturer-index {
        width: 100%;
        list-style: none;
        float: left;
        padding: 0px 100px 50px 100px;
    }
}

#manufacturerIndex .mfg-name {
    text-align: center;
    float: left;
    width: 25%;
    margin-bottom: 0px;
    border-bottom: 1px solid #ececec;
    padding: 10px 10px 10px 10px;
    border: 1px solid #ededed;
    height: 125px;
}

/*Manufacturer Page - END */

/*Product Page - START */

.availabilityInfo2 {
   font-size: 12px;
}

.product-reviews {
    margin: 0 0 1px;
}

/* --- START: Enhanced Product Action Box --- */
.product-action-box {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background-color: #ffffff;
    padding: 20px;
    max-width: 400px;
    margin-bottom: 2px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

/* Modernize the Pricing Text */
.product-action-box .price-container {
    display: flex;
  /*  flex-direction: column;*/
 /*   gap: 5px;*/
 /*   margin-bottom: 15px;*/
  /*  margin-top: 15px;*/
}

.product-action-box .yourprice {
    font-size: 2.4em !important;
    font-weight: 700;
    color: #333 !important;
    line-height: 1;
}

.product-action-box .retailprice {
    font-size: 0.9em;
    color: #777;
}

.product-action-box .retailprice span {
    text-decoration: line-through;
    margin-left: 5px;
}

.product-action-box .savings {
    font-size: 0.95em;
    color: #018601 !important;
    font-weight: 600;
}

/* Clean up the Stock Alerts (Overrides the heavy grey background) */
.product-action-box .availabilityInfo {
    background-color: #f8f8f8 !important;
    border: 1px solid #ddd;
    color: #333 !important;
    border-radius: 4px;
    padding: 1px 16px !important;
    font-size: 12px;
    margin-bottom: 5px !important;
}

/* --- END: Enhanced Product Action Box --- */

.bv-content-secondary-ratings-value {

    background-color: #5ab164 !important;
}

.price-drop-notify {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 0.9em;
}
.price-drop-notify a {
    text-decoration: none;
    color: #337ab7; /* Standard link blue */
}
.price-drop-notify a:hover {
    text-decoration: underline;
}
.price-drop-notify i {
    margin-right: 3px;
}



.review-longDesc {
    margin-bottom: 10px;
    font-weight: bold;
}

.review-shortDesc {
    font-weight: bold;
    margin-bottom: 10px;
    display: none;
}

.product-item .reviews {
   display: none;
}

.extra_field {
margin-bottom: 0px;
}

.extrafieldsBlock {
    margin: 0px 0 0;
}

#large {
  max-width: 400px !important;
}

.availability-header {
   font-weight: 700;
}

.price-container {
    display: flex;
    align-items: center;
    gap: 15px;
}

/*Product Page - END */

.form-group-email {
    display: none;
}

.form-group-location {
    display: none;
}

.form-group-title {
    display: none;
}


.availabilityInfo {
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 0px 12px;
    background-color: #7c7d7a;
   /* border: 1px solid #8ac38b; */
    border-radius: 4px;
    color: white;
    font-weight: 500;
    text-align: left;
    max-width: 375px;
    transition: opacity 0.3s 
ease-in-out;
}

.pricingBlock .retailprice {
  /*display: none;*/
}

.pricingBlock .yourprice, .pricingBlock .saleprice {
    font-size: 36px;
    color: #353434;
}

.page_headers {
    margin: 0px 0px 15px 15px;
}

.addl-images {
    margin: 10px 0 10px 0;
}

.qty-input {

    margin: 2px 10px;
}

.make_an_offer {
   display: inline;
}

.btn.btn-addcart {
   /*  font-size: 13px; */
   /* vertical-align: middle;*/
   /* text-transform: none;*/
    padding: 8px 12px 7px 10px;
  /*  font-weight: normal;*/
/*margin: 10px 10px 10px 10px;*/
}

.qtybox-addcart {
    display: inline;
}

.special-action {
   margin: 0px 0px 0px 0px;
   display: none;
}

.productFeaturesBlock ul li {
    margin: 0 0 1px;
}

.product-gtin {
    display: inline-block;
    margin: 0px 0px 10px 0px;
}

.product-mfg {
    display: inline-block;
}

.product-id {
    margin: 0 0 0 0px;
    display: inline-block;
}

.MFGLogo {
    font-size: 14px;
    display: flex;
    align-items: center;
}

.addl-images ul.slides li a {
background-color: #FFFFFF;
}

.btn-inverse-makeoffer {
color: #000000;
}

.promoBullet {
    list-style-type: square;
}

.header-top {
    font-family: roboto,sans-serif;
    font-size: 10px;
    color: #575757;
}

.header-top-right {
    position: absolute;
    top: 0;
}

.custom-promotion {
    display: grid;
}

.promo-item {
    padding-right: 10px;
    padding-left: 10px;
}

.catHeaderLinks {
 width: 100%;
 text-align: center;
}

.tabs {
    list-style: none;
    display: flex;
}

.inactivetabs {
    display: inline-block;
    padding: 5px 15px;
    margin: 0px 8px 8px 0px;
    border: solid 1px;
    font-size: 16px;
    color: #cc252b;
    transition: all 0.4s ease-in-out;
    background: #fff;
}

.subcategories > ul > li span.category-img {
    border: 1px solid #ededed;
    background: #fff;
}

.limited-availability {
    font-size: 12px;
    color: #008018;
}

.tc-pagebuilder .center {
    text-align: center;
}

.sidebar-widget .product-item .img {
    min-height: 0;
    padding-top: 40%;
}

.breadcrumb {
margin: 10px 0;
}


.product-item, .product-listing-price {
    text-align: center;
}

.product-item .price {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

 
.product-item, .product-listing-item-price {
color: #FAFDFF;
}

/* SPF 8.7.23 Edit */
.product-item, .product-listing-availability {
    font-size: 12px;
    color: #008018;
    font-weight: bold;
/* color: #b60123; */
}


.address-type {
    font-size: 11px;
    font-weight: 700;
    color: #b60123;
}

.minOrderQtyStyle {
    font-size: 11px;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 0px 12px;
    background-color: #cde0c4;
    border: 1px solid #cde0c4;
    border-radius: 4px;
    color: #356635;
    font-weight: 500;
    text-align: center;
    max-width: 375px;
    transition: opacity 0.3s 
ease-in-out;
}



.QTY_page_heading, .QTY_page_headers {
    /* font-family: 'Open Sans', sans-serif; */
    margin: 0 0 30px;
    line-height: 1.3;
    font-weight: 700;
    text-transform: none;
    border-bottom: 0px solid #e5e5e5;
    position: relative;
    color: #000000;
    font-size: 18px;
}

/*.col-sm-12 {
vertical-align: top;
}*/

/*Sales tag overlay*/

.sale-badge {
  position: absolute;
  top: 10px;       /* adjust as needed */
  right: 10px;     /* adjust as needed */
  width: 60px;     /* scale appropriately */
  height: auto;
  z-index: 10;
}

.btn-default-mod {
    border-color: #5268BA;
    background-color: #2A82AD;
    color: #FAFDFF;
}
.btn-inverse-mod {
    color: #000000;
    background-color: #FFBC19;
    border-color: #2A82AD;
} 
.product-reviews {
    text-align: left;
    margin: 0px 0px 0px 55px;
}
div.qaLink {
    text-align: left;
    display: inline;
}

.product_availability {
    /*font-size: 18px; */
     color: #018601; 
}

.price {
    color: ##4d4f55;
}

.r-tabs .r-tabs-nav .r-tabs-anchor {
    background-color: #f2f2f2;
    color: #000000;
}

.savings {
color: #529b01;
/*display: none;*/
}

.btn-makeoffer {
    font-size: 13px;
    vertical-align: middle;
    text-transform: none;
    padding: 8px 12px 8px 10px;
    font-weight: normal;
    border-color: #3c763d;
    background-color: #3c763d;
    color: #ffffff;
   border-width: 1px;
}

.MakeOfferOr {
    font-size: 16px;
    vertical-align: middle;
    font-weight: normal;
    color: #000;
}

.MakeOfferMod {
   color: #000;
   margin-bottom: 20px;
   text-align: left;
}

.MakeOfferproduct-info {
   color: #256911;
   margin-bottom: 20px;
   text-align: left;
   font-size: 18px;
}

.MakeOfferproduct-infoPrice {
   color: #0d0d0d;
   text-align: left;
   font-size: 18px;
   margin-bottom: 20px;
}

.MakeOfferNote {
   text-align: left;
   font-size: 14px;
   margin-left: 20px;
   margin-right: 20px;
}

/* --- START: Enhanced Quantity Discount Table --- */

.quantityBlock .quantity-table {
    margin-top: 2px;
}

/* Remove Bootstrap's default mobile border from the table wrapper */
.quantityBlock .table-responsive {
    border: none !important;
    margin-bottom: 0 !important;
}


#enhanced-qty-table {
    border-collapse: collapse;
    width: 100%;
    margin-top: 10px;
    border: 1px solid #e0e0e0;
    max-width: 400px;
    font-size: 12px;
}

#enhanced-qty-table th {
    background-color: #f8f8f8;
    color: #333;
    text-align: center;
    font-weight: 600;
    padding: 10px;
    border-bottom: 2px solid #ddd;
}

#enhanced-qty-table td {
    background-color: #ffffff;
    text-align: center;
    vertical-align: middle;
    padding: 5px 5px;
    border-bottom: 1px solid #eee;
    transition: background-color 0.2s ease;
    cursor: pointer; 
}

#enhanced-qty-table tbody tr:hover td {
    background-color: #f4f6f8; 
}

#enhanced-qty-table .qty-price {
    font-weight: 700;
    font-size: 1.1em;
    color: #333;
}

#enhanced-qty-table .qty-savings {
    color: #018601; 
    font-weight: 600;
}

#enhanced-qty-table .save-percent {
    display: inline-block;
    background-color: #e8f3e8; 
    color: #018601; 
    padding: 3px 8px;
    border-radius: 12px; 
    font-size: 0.85em;
    margin-left: 6px;
    border: 1px solid rgba(1, 134, 1, 0.3); 
}
/* --- END: Enhanced Quantity Discount Table --- */


/*END: SPF Add*/


body {
	display: flex;
	height: 100%;
	flex-direction: column;
	min-height: 100vh;
}
.page-content {
	flex: 1 0 auto;
}
footer {
	flex-shrink: 0;
}


body {
	/* font-family: 'Raleway', sans-serif; */
        font-family: 'karla', sans-serif;
        color: #0D0D0D;
	line-height: 1.5;
	font-size: 14px;
        vertical-align: text-bottom;       
}

h1 {
	font-size: 24px;
}

.titles {
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0;
}
#skip a	
{	
position:absolute;	
left:-10000px;	
top:auto;	
width:1px;	
height:1px;	
overflow:hidden;	
}	
 	
#skip a:focus	
{	
position:static;	
width:auto;	
height:auto;	
}
.page_heading {
    color: #717171;
}
.page_heading:after {
    border-bottom: 1px solid #717171;
}

.subcategories {
    border-bottom: 1px solid #ececec;
    padding: 0 0 30px;
}

.subcategories > ul > li > a {
    color: #000;
    text-decoration: none;
    display: block;
    -webkit-transition: all .25s ease-out;
    transition: all .25s ease-out;
   font-weight: 800;
}
.subcategories > ul > li > a:hover {
    /* opacity: 0.8; */
    color: #9c3637;
    text-decoration: none;
    display: block;
font-weight: 800;
}

.subcategories > ul > li span.name {
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0px 0px 10px 0px;
    border: 1px solid #ededed;
    background: #ededed;
}

@media (min-width: 1200px) {
    .container {
        width: 1200px;
    }
}
.form-control {
    color: #000;
   /* font-family: 'Raleway', sans-serif; */
    font-family: 'karla', sans-serif;
    font-size: 13px;
    height: 36px;
    padding: 7px 12px;
}
.form-control.search-text {
     border:1px solid #ececec;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.btn {
    font-size: 13px;
    padding: 8px 12px;
    font-weight: 600; 
    text-transform: uppercase; 

}
.btn-default {
    border-color: #717171;
    background-color: #F1F1F1;
    color: #717171;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:hover:focus,
.btn-default.focus {
    border-color: #717171;
    background-color: #F1F1F1;
    color: #717171;
	opacity: 0.8;
}
.btn-primary,
.btn-inverse {
    color: #FDFCFF;
    background-color: #256911;
    border-color: #85888C;
}
.btn-primary:hover,
.btn-primary:focus, 
.btn-primary:active:focus,
.btn-inverse,
.btn-inverse:focus, 
.btn-inverse:active:focus {
	color: #FDFCFF;
    background-color: #256911;
    border-color: #256911;
    opacity: 0.8;
}
.navbar.navbar-inverse {
    margin-bottom: 0;
    border: none;
    background-color: #1A0101;
}
.navbar-inverse .navbar-nav > li > a {
    color: #F1F1F1;
	font-weight: 600;
	letter-spacing: 0.025em;
    text-transform: uppercase;
    font-size: 15px;
    line-height: 18px;
    min-height: 50px;
}
.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
    color: #eee;
    background-color: rgba(255,255,255,0.2);
}
.dropdown-menu > li > a {
    font-size: 12px;
    padding: 6px 20px;
    text-transform: uppercase;
}
.navbar-nav > li.dropdown > a:after {
    content: "\f107";
    font-family: "fontello";
    font-size: 18px;
    line-height: 1;
    margin-left: 5px;
}
@media (max-width: 1023px) {
  .navbar-header {
      float: none;
  }
  .navbar-left,.navbar-right {
      float: none !important;
  }
  .navbar-toggle {
      display: block;
  }
  .navbar-collapse.collapse {
      display: none!important;
  }
  .navbar-nav {
      float: none!important;
  }
  .navbar-nav>li {
      float: none;
  }
  .collapse.in{
      display:block !important;
  }
  .navbar-nav .open .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }
    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
        color: #9d9d9d;
    }
    .navbar-nav .open .dropdown-menu > li > a {
        line-height: 20px;
    }
    .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header {
        padding: 5px 15px 5px 25px;
    }
}
/*
** Template code
*/
.logo {
    height: 60px;
    position: relative;
    overflow: hidden;
}
.logo img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}
.logo a:hover img {
    opacity: 0.6;
}
.top-nav {
}
.top-nav ul {
    /* sized so the top band lands near the 42px UpStart uses; the links here
       are smaller, so the padding does the rest rather than the text */
    padding: 14px 0;
    margin: 0;
    list-style: none;
    font-size: 12px;
    display: ruby-text;
    line-height: 1;
    /* font-family: 'Raleway', sans-serif; */
    font-family: 'karla', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
}
.top-nav ul li {
    float: left;
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #ececec;
}
.top-nav .useraccount ul {
    float: right;
}
.top-nav ul li:last-child {
    border: none;
    margin: 0;
    padding: 0;
}
.top-nav ul li a {
    color: #666;
}

.site-header {
    /* matches UpStart, which renders 15px here */
    padding: 15px 0;
}

.searchBox {
    padding: 10px 0;
}
.search-form {
    position: relative;
}
.search-form .search-text {
    padding: 9px 62px 9px 12px;
    height: 40px;
}
.search-form .search-submit {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 100%;
    text-align: center;
    font-size: 16px;
}


.minicart {
    min-width: 165px;
    height: 60px;
    float: right;
    padding: 15px 0 15px 10px;
    border-left: 1px solid #ececec;
}
.minicart-inner {
    display: block;
    color: #000;
    text-transform: uppercase;
    cursor: pointer;
}
.minicart-inner:hover {
    color: #000;
    opacity: 0.8;
}
.minicart .cart-icon {
    display: block;
    width: auto;
    height: 30px;
    line-height: 30px;
    font-size: 30px;
    float: left;
    margin-right: 5px;
}
.minicart .cart-details {
    display: block;
    float: left;
}

span.cart-title {
    font-size: 12px;
    line-height: 15px;
    display: block;
	font-weight: bold;
}
span.cart-count {
    color: #666;
    font-size: 10px;
    display: block;
    line-height: 15px;
	font-weight: 500;
}
.site-footer {
    background-color: #0D0D0D;
    padding: 55px 0 0;
    color: #fff;
    /* font-family: 'Raleway', sans-serif; */
    font-family: 'karla', sans-serif;
}

ul.extrapages li {
    line-height: 1;
    margin: 0 0 15px;
}
ul.extrapages li a {
    color: #F1F1F1;
    font-size: 16px;
}
.footer-social {
    border-top: 1px solid #2d2d2d;
    border-bottom: 1px solid #2d2d2d;
}
.social-icons,
.global-footer {
    padding-top: 15px;
    padding-bottom: 15px;
}
.copyright {
    padding-top: 25px;
    padding-bottom: 25px;
    text-align: center;
    color: #F1F1F1;
    font-size: 14px;
    font-weight: 500;
}

.mailist-box {
    width: 320px;
    float: right;
    margin-bottom: 10px;
}
.mailist-box h2.mailinglist-title {
    margin: 0 0 15px;
    /*font-family: 'Montserrat', sans-serif;*/
    /* font-family: 'Raleway', sans-serif; */
    font-family: 'karla', sans-serif;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 500;
}
.mailinglist-input.form-control {
    background-color: transparent;
    border-color: #2d2d2d;
    max-width: 230px;
    color: #fff;
    float: left;
}
.mailinglist-submit {
    background-color: transparent;
    color: #fff !important;
    border-color: #fff !important;
    float: right;
    width: 78px;
}
.btn-default.mailinglist-submit:hover, 
.btn-default.mailinglist-submit:focus {
    opacity: 0.6;
}
.mailinglist-response {
    display: none;
}
.maillist-options {
    margin: 15px 0 0;
}
.subscribe {
    float: left;
    margin-right: 20px;
    line-height: 13px;
}
.subscribe input[type="radio"] {
    margin: 0;
    vertical-align: middle;
}
.subscribe label {
    margin: 0;
    font-size: 12px;
    line-height: 13px;
    font-weight: 300;
    margin-left: 3px;
    color: #ccc;
    cursor: pointer;
}

.footer-social ul {
    margin: 0;
}
ul.payment-icons {
    text-align: center;
}
ul.payment-icons li {
    font-size: 34px;
    line-height: 36px;
    vertical-align: middle;
}

ul.payment-icons li.payment-icons-label,
ul.social-icons li.social-icons-label {
    font-size: 18px;
    vertical-align: middle;
    /*font-family: 'Montserrat', sans-serif;*/
    /* font-family: 'Raleway', sans-serif; */
    font-family: 'karla', sans-serif;
    text-transform: uppercase;
    margin-right: 20px;
}

.social-icons {
}
.social-icons li a {
    color: #0f0f0f;
    background-color: #fff;
    width: 32px;
    height: 32px;
    line-height: 32px;
    border-radius: 100%;
    display: block;
    text-align: center;
    font-size: 18px;
}
.social-icons li a:hover {
    opacity: 0.6;
}


/*.product-item .reviews-stars:before {
    font-family: "fontello";
    content: "\e803 \e803 \e803 \e803 \e803";
    color: #b8b8b8;
}
.product-item .reviews-stars {
    color: #000;
}*/

.reviews-stars:before {
    font-family: "fontello";
    content: "\e803 \e803 \e803 \e803 \e803";
    color: #b8b8b8;
}
.rating:hover .rating-star:hover,
.rating:hover .rating-star:hover ~ .rating-star,
.rating-input:checked ~ .rating-star,
.reviews-stars {
    color: #E6E665;
}

.product-item .name a {
    color: #000;
}
.product-item del.regular-price {
    text-decoration: line-through;
}
.sale-price {
    color: #d92121;
}
.product-item .on-sale-badge {
	background-color: #d92121;
}
del.original-price {
    font-weight: 500;
}
span.freeshipping {
    color: #00a888;
}
.product-item .status span:before {
   /* content: "-"; */
    display: none;
}
.product-item .status {
    font-size: 12px;
}
.product-item .img {
    position: relative;
    background-color: #fff;
}
.product-item .img a {
    display: block;
}
.product-item .img img {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
	max-height: 100%;
	max-width: 100%;
}
.product-item .action .btn {
    min-width: 150px;
}
.head-mobile-nav > a {
    color: #000;
    font-size: 24px;
    line-height: 1;
}

/*
** Homepage
*/
.products-section {
    background-color: #fbfbfb;
    padding: 30px 0;
}
.products-section h2 {
    margin: 0;
    font-size: 24px;
}
.products-section h2 {
    font-size: 24px;
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
    padding-bottom: 10px;
    margin: 0 0 25px;
    border-bottom: 1px solid #ececec;
    position: relative;
}
.products-section h2:after {
    content: "";
    width: 60px;
    height: 1px;
    background-color: #000;
    display: block;
    position: absolute;
    bottom: -1px;
    z-index: 10;
}
.home-page-content {
	padding-top: 0;
}
/*.home-page-content .category-footer {
    padding: 40px 0 60px;
}*/
.home-page-content .category-footer h3 {
    font-size: 20px;
    line-height: 1;
    margin: 0 0 20px;
    font-weight: bold;
}
.home-page-content .category-footer p {
    margin: 0 0 30px;
    text-align: justify;
}
.home-page-content .category-footer a:hover img {
    opacity: 0.7;
}
.home-page-content .category-header img {
    margin: 0 auto;
}
.extrapages-shower a {
    display: block;
    background-color: #2d2d2d;
    color: #fff;
    padding: 10px 18px;
    text-decoration: none !important;
}
.extrapages-shower a:after {
    content: "\f106";
    font-family: "fontello";
    float: right;
}
.extrapages-shower a.collapsed:after {
    content: "\f107";
}
@media(max-width: 1023px) {
    .navbar-inverse .navbar-nav > li > a {
        font-size: 14px;
        min-height: 0;
    }
    .navbar-nav > li.dropdown > a:after {
        float: right;
    }
    .mailist-box {
        float: none;
        padding: 30px 0;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
    .footer-social {
        text-align: center;
    }
}
@media(max-width: 767px) {
    .logo {
        text-align: center;
        height: auto;
    }
    .logo img {
        position: static;
    }
    .searchBox {
        padding: 20px 0 0;
    }
    .search-form-col {
        clear: both;
    }
    .flex-direction-nav a:before {
        font-size: 24px;
    }
    .flex-direction-nav a {
        width: 24px;
        height: 24px;
        line-height: 24px;
        margin: -12px 0 0;
    }
    .mailinglist-input.form-control {
        max-width: 200px;
    }
    .social-icons li a {
        width: 24px;
        height: 24px;
        line-height: 24px;
        font-size: 12px;
    }
    .footer-social ul li {
        padding: 0 4px;
    }
    .extrapages {
        display: none;
    }
    .home-page-content .category-header {
        padding: 15px 0;
    }
    .extrapages-shower a {
        display: block;
    }
    ul.extrapages {
        margin: 0;
        padding: 15px 0;
    }
    ul.extrapages li a {
        font-size: 14px;
    }
}
@media(max-width: 567px) {
    .product-items.product-items-1 .product-item,
    .product-items.product-items-2 .product-item,
    .product-items.product-items-3 .product-item,
    .product-items.product-items-4 .product-item,
    .product-items.product-items-5 .product-item,
    .product-items.product-items-6 .product-item {
        max-width: 270px;
    }
}

.menu-open {
    overflow: hidden;
}
.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: none;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    outline: 0;
    background-color: rgba(0,0,0,0.5);
}
.menu-open .mobile-menu {
    overflow-x: hidden;
    overflow-y: auto;
}
.mobile-menu-inner {
    background-color: #fff;
    padding: 30px 20px;
    width: 250px;
    margin-left: auto;
    margin-right: 0;
    min-height: 100vh;
    position: relative;

    -webkit-transition: -webkit-transform .3s ease-out;
    -o-transition: -o-transform .3s ease-out;
    transition: transform .3s ease-out;
    -webkit-transform: translate(250px,0);
    -ms-transform: translate(250px,0);
    -o-transform: translate(250px,0);
    transform: translate(250px,0);
}
.menu-open .mobile-menu-inner {
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    -o-transform: translate(0,0);
    transform: translate(0,0);
}

.mobile-menu-close a {
    color: #000;
    display: inline-block;
    line-height: 1;
    font-size: 24px;
    text-decoration: none;
}
.mobile-menu-close a:after {
    content: '\e805';
    font-family: "fontello";
}
.mobile-menu-widget {
    margin: 30px 0;
}
.mobile-menu-widget h3 {
    margin: 0;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: bold;
    padding-bottom: 10px;
    margin-bottom: 10px;
    line-height: 1;
    border-bottom: 1px solid #ececec;
}
.mobile-menu-widget ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.mobile-menu-widget ul li {
    margin: 0 0 0;
}
.mobile-menu-widget ul li a {
    padding: 0;
    line-height: 40px;
    font-size: 13px;
    background-color: transparent !important;
    display: block;
    color: #000;
    text-decoration: none !important;
}
.mobile-menu-widget ul li a:hover {
    color: #333;
}
.mobile-menu-widget ul ul {
    display: none !important;
}
.mobile-menu-widget ul li a:after {
    display: none;
}

.mailinglist-response {
    margin: 10px 0;
    padding: 10px 20px;
    font-size: 12px;
    background-color: #2d2d2d;
    color: #ccc;
}
.mailinglist-error span {
    color: #8a6d3b;
}
.mailinglist-subscribed span,
.mailinglist-unsubscribed span {
    color: #3c763d;
}
.mailinglist-response,
.mailinglist-response div {
}

.floating-cart {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 999;
    background-color: #101010;
    color: #fff;
    border-radius: 20px 0 0 20px;
    padding: 15px;
    text-align: center;
    width: 90px;
    display: none;
}
.floating-cart a,
.floating-cart a:hover {
    color: #ececec;
    text-decoration: none;
}
.floating-cart a:hover {
	opacity: 0.6;
}
.floating-cart span.cart-icon {
    display: block;
    font-size: 30px;
    line-height: 1;
}
.floating-cart span.cart-details {
    font-size: 12px;
    text-transform: none;
    display: block;
    margin: 5px 0 0;
}

.paging {
    float: right;
}
.paging strong, 
.paging a {}
.paging strong,
.paging a:hover {
    color: #fff;
    background-color: #0f0f0f;
    text-decoration: none;
}

.home-page .product-carousel .product-items .product-item {
    margin-bottom: 0;
}

.home-page .product-carousel.flexslider {
    margin-bottom: 60px;
}

.home-page .flex-direction-nav a {
    margin: -50px 0 0;
}

.home-page .product-item .img {
	height:180px;
}

.home-page .product-item .img img {
	position:absolute;
}

/* ============================================================
   Product card, sale price: grey the struck-through original so the
   current price is the one that reads as active. Covers both class
   names in use across the card templates, and the strike line itself.
   ============================================================ */
.product-item del.regular-price,
.product-item del.regular-price *,
.product-item del.regular-price-mfg,
.product-item del.regular-price-mfg * {
    color: #9ca3af !important;
    text-decoration-color: #9ca3af !important;
}

/* ============================================================
   Pricing on product cards: the current price reads dark and
   bold; a struck original sits small and grey above it, and
   sale items add a green savings line. The SALE badge keeps
   its own colour and position.
   ============================================================ */
#home .products-section .price {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    line-height: 1.25; height: auto; min-height: 60px;
}
#home .products-section .price del.regular-price { font-size: 12px; font-weight: 500; order: -1; }
#home .products-section .price > span.regular-price { color: #1f2933; font-size: 20px; font-weight: 800; }
#home .products-section .price .sale-price { color: #d92121; font-size: 20px; font-weight: 800; }
.sidebar-widget .product-item .price {
    display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; height: auto;
}
.sidebar-widget .product-item .price del.regular-price { font-size: 11px; font-weight: 500; order: -1; }
.sidebar-widget .product-item .price > span.regular-price { color: #1f2933; font-size: 15px; font-weight: 800; }
.sidebar-widget .product-item .price .sale-price { color: #d92121; font-size: 15px; font-weight: 800; }
.save-line {
    display: block;
    font-size: 11.5px;
    font-weight: 700;
    color: #02991d;
    margin-top: 2px;
}

/* Product card grids (category, brand and related items): the same
   pricing treatment as the carousel and sidebar. */
.product-items .product-item .price {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    line-height: 1.25; height: auto; min-height: 60px;
}
.product-items .product-item .price del.regular-price { font-size: 12px; font-weight: 500; order: -1; }
.product-items .product-item .price > span.regular-price { color: #1f2933; font-size: 20px; font-weight: 800; }
.product-items .product-item .price .sale-price { color: #d92121; font-size: 20px; font-weight: 800; }

/* ============================================================
   Product page "report a problem" panel. The small bug walks
   gently beside the link to catch the eye; it holds still for
   anyone who prefers reduced motion.
   ============================================================ */
.report-issue { margin: 18px 0 6px; padding-top: 14px; border-top: 1px solid #ececec; }
.report-issue-link { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: #717171; text-decoration: none; }
.report-issue-link:hover, .report-issue-link:focus { color: #d92121; text-decoration: underline; }
.report-issue-bug { display: inline-block; color: #d92121; font-size: 15px; animation: reportBugWalk 2.6s ease-in-out infinite; transform-origin: 50% 60%; }
@keyframes reportBugWalk {
    0%   { transform: translateX(0) rotate(0deg); }
    12%  { transform: translateX(2px) rotate(-8deg); }
    24%  { transform: translateX(4px) rotate(6deg); }
    36%  { transform: translateX(6px) rotate(-6deg); }
    48%  { transform: translateX(4px) rotate(8deg); }
    60%  { transform: translateX(2px) rotate(-5deg); }
    72%  { transform: translateX(0) rotate(4deg); }
    100% { transform: translateX(0) rotate(0deg); }
}
@media (prefers-reduced-motion: reduce) {
    .report-issue-bug { animation: none; }
}
.report-issue-panel { margin-top: 12px; padding: 16px; background: #f7f7f7; border: 1px solid #e3e3e3; border-radius: 6px; max-width: 620px; }
.report-issue-intro { font-size: 13px; color: #555; margin: 0 0 12px; }
.report-issue-options { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 12px; }
.report-issue-options label { font-size: 13px; font-weight: 500; margin: 0; cursor: pointer; }
.report-issue-options input { margin-right: 5px; }
.report-issue-label { display: block; font-size: 12.5px; font-weight: 600; margin: 6px 0 3px; }
.report-issue-panel textarea,
.report-issue-panel input[type="text"],
.report-issue-panel input[type="email"] { width: 100%; font-size: 13px; padding: 7px 9px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; background: #fff; }
.report-issue-row { display: flex; flex-wrap: wrap; gap: 12px; }
.report-issue-row > div { flex: 1 1 200px; min-width: 0; }
.report-issue-captcha { align-items: flex-end; }
.report-issue-captcha-img { flex: 0 0 auto; }
.report-issue-captcha-img img { border: 1px solid #ddd; border-radius: 4px; background: #fff; }
.report-issue-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 14px; }
.report-issue-attach { font-size: 12px; color: #717171; text-decoration: underline; }
.report-issue-hint { font-size: 12.5px; color: #d92121; margin-top: 8px; min-height: 1em; }
.report-issue-thanks { font-size: 14px; font-weight: 600; color: #256911; margin: 0; }

/* ============================================================
   Part number and UPC copy controls in the buy box.
   ============================================================ */
.copy-chip { display: inline-flex; align-items: center; gap: 6px; position: relative; padding: 1px 6px; margin: 0 0 0 -7px; font: inherit; color: inherit; background: transparent; border: 1px solid transparent; border-radius: 4px; cursor: pointer; }
.copy-chip:hover, .copy-chip:focus { background: #fff5f5; border-color: #f0d0d0; outline: none; }
.copy-chip-icon { font-size: 11px; color: #b9b9b9; }
.copy-chip:hover .copy-chip-icon, .copy-chip:focus .copy-chip-icon { color: #d92121; }
.copy-chip.is-copied { background: #eaf6ea; border-color: #b9dfb9; }
.copy-chip.is-copied .copy-chip-icon { color: #256911; }
.copy-chip-tip { position: absolute; bottom: calc(100% + 5px); left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 10.5px; font-weight: 700; line-height: 1; letter-spacing: .02em; text-transform: uppercase; color: #fff; background: #333; padding: 4px 7px; border-radius: 3px; opacity: 0; visibility: hidden; transition: opacity .15s ease; pointer-events: none; }
.copy-chip:hover .copy-chip-tip, .copy-chip:focus .copy-chip-tip, .copy-chip.is-copied .copy-chip-tip { opacity: 1; visibility: visible; }
.copy-chip.is-copied .copy-chip-tip { background: #256911; }

/* ============================================================
   Features tab: read the specifications as a two-column table.
   The markup is a plain list, so the columns are made here.
   ============================================================ */
.productFeaturesBlock ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #e3e3e3;
    border-radius: 6px;
    overflow: hidden;
}
.productFeaturesBlock ul li {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 18px;
    margin: 0;
    padding: 9px 14px;
    border-bottom: 1px solid #ececec;
    font-size: 13.5px;
    line-height: 1.5;
}
.productFeaturesBlock ul li:nth-child(odd) { background: #f7f7f7; }
.productFeaturesBlock ul li:last-child { border-bottom: none; }
.productFeaturesBlock .feat-title {
    flex: 0 0 40%;
    max-width: 40%;
    font-weight: 600;
    color: #333;
}
.productFeaturesBlock .feat-name { flex: 1 1 45%; color: #555; }
@media (max-width: 600px) {
    .productFeaturesBlock .feat-title,
    .productFeaturesBlock .feat-name { flex: 1 1 100%; max-width: 100%; }
    .productFeaturesBlock .feat-name { color: #444; }
}

/* ============================================================
   Details tab: same table treatment, so both tabs match.
   ============================================================ */
#tab-6 .info > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #e3e3e3;
    border-radius: 6px;
    overflow: hidden;
}
#tab-6 .info > ul > li,
#tab-6 .extrafieldsBlock > li {
    margin: 0;
    padding: 9px 14px;
    border-bottom: 1px solid #ececec;
    font-size: 13.5px;
    line-height: 1.5;
    color: #555;
}
/* The optional fields sit in their own wrapper inside the list, so the
   label column is matched at any depth and the banding carries on from
   the fixed rows above rather than restarting. */
#tab-6 .info > ul > li:nth-child(odd),
#tab-6 .extrafieldsBlock > li:nth-child(even) { background: #f7f7f7; }
#tab-6 .info > ul > li:last-child,
#tab-6 .extrafieldsBlock > li:last-child { border-bottom: none; }
#tab-6 .info > ul li b,
#tab-6 .info > ul li strong { display: inline-block; min-width: 38%; font-weight: 600; color: #333; }

/* ============================================================
   Description tab: a comfortable reading width and rhythm, so
   long paragraphs are easier on the eye.
   ============================================================ */
#tab-1 .item[itemprop="description"] {
    max-width: 68ch;
    font-size: 14.5px;
    line-height: 1.65;
    color: #3a3a3a;
}
#tab-1 .item[itemprop="description"] p { margin: 0 0 14px; }
#tab-1 .item[itemprop="description"] p:last-child { margin-bottom: 0; }
#tab-1 .item[itemprop="description"] ul,
#tab-1 .item[itemprop="description"] ol { margin: 0 0 16px; padding-left: 22px; }
#tab-1 .item[itemprop="description"] li { margin: 0 0 7px; line-height: 1.55; }
#tab-1 .item[itemprop="description"] li::marker { color: #d92121; }
#tab-1 .item[itemprop="description"] strong,
#tab-1 .item[itemprop="description"] b { color: #2b2b2b; }

/* The tick box sits beside the word field; only one is ever shown. */
.report-issue-captcha .report-issue-robot { flex: 0 0 auto; margin-top: 6px; }

/* Said of the one item, not of the shop, and set apart so it reads as
   good news rather than as a warning beside the stock line. */
.ships-free {
    display: inline-flex;
    align-items: center;
    gap: 0;
    margin: 6px 0 0;
    padding: 4px 11px;
    background: #2C5D8A;
    border: 0;
    border-radius: 20px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}
.ships-free i { font-size: 13px; }
/* spacing is set on each part now, not once around them all */
.ships-free > i { margin-right: 6px; }
.ships-free-sm {
    /* a line of its own, centred under the stock count, so every card in a
       row keeps the same shape whether or not it carries the note */
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    margin: 6px auto 0;
    padding: 3px 9px;
    font-size: 12px;
    font-weight: 600;
}

/* beside the ship date, not stacked above it */
/* the note leads the line now, so the space that held it off the date
   holds the date off it instead */
#shippingEst .ships-free { margin: 0 8px 0 0; vertical-align: middle; }

/* the celebration mark is a character, so it needs no icon font */
.ships-free-mark { font-size: 14px; line-height: 1; margin-right: 5px; }
/* the mark that explains the wait, shown after the note */
.ships-free .ships-free-why { color: inherit; text-decoration: none; cursor: pointer; margin-left: 6px; }
.ships-free .ships-free-why i { font-size: 12px; }


/* The platform's own sheet pins every span inside a card's status line to sit
   inline, and it says so more particularly than the rule above, so the note
   stayed on the count's line. This says it more particularly still. */
.product-item .status .ships-free-sm {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    margin: 6px auto 0;
}

/* The suggestion list the search plugin builds places itself against whatever
   it sits inside. Left to itself the advanced search form counts for nothing
   in that reckoning, so the list measured itself against the page and landed
   under the header's box instead of under the box being typed in. Making the
   form count fixes where the list appears. */
.as-bigsearch { position: relative; }

/* A finger is blunter than a pointer. The mark that explains free carriage
   keeps its drawn size, but takes taps from a comfortably larger area around
   it, so it can be hit without magnifying the page. The area is empty, so
   nothing about the layout moves. */
.ships-free-why { position: relative; }
.ships-free-why::after {
    content: "";
    position: absolute;
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -18px;
}

/* Where the clock says Alaska or Hawaii the free-carriage note is taken away,
   including any drawn later, such as the basket's own. */
.outside-free-carriage .ships-free,
.outside-free-carriage .cart-ships-free { display: none !important; }

/* A card for something sold out should not also promise free carriage; the two
   sat side by side and contradicted each other. The shop marks a sold-out card
   with a count of nothing, and the note beside it is taken away. A card whose
   count is anything else, or is not a number at all, keeps its note - we do not
   withdraw an offer on a reading we cannot make sense of. Done here rather than
   in script so a card drawn later is covered too. */
.availability[data-stock="0"] ~ .ships-free-sm { display: none !important; }

/* The count of what is left, set off from the promise beside it by a rule
   rather than by another colour, so the note still reads as one thing. */
.ships-free-few {
    margin-left: 7px;
    padding-left: 8px;
    border-left: 1px solid rgba(255, 255, 255, 0.45);
    /* amber against the blue, chosen to stay comfortably legible on it rather
       than only to stand apart: it reads at better than four and a half to one */
    color: #FFE082;
}

/* Cart: the coupon box links to the store's coupons page */
#viewcart .coupons-area .coupons-page-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 44px;
    font-size: 14px;
    font-weight: 700;
    color: #2C5D8A;
}
#viewcart .coupons-area .coupons-page-link:hover,
#viewcart .coupons-area .coupons-page-link:focus {
    text-decoration: underline;
}

/* ============================================================
   Cart: coupon and shipping boxes. Both open by default; each
   header carries an icon; fields are full height beside their
   buttons; an applied coupon is marked with a check; shipping
   rates read as a list.
   ============================================================ */
#viewcart .cart-detail-item { padding: 16px 0; }
#viewcart .cart-detail-item h4 { display: flex; align-items: center; gap: 8px; min-height: 28px; margin: 0; font-size: 16px; font-weight: 700; color: #2D2D2D; }
#viewcart .cart-detail-item h4 .fa-solid { font-size: 16px; color: #2C5D8A; }
#viewcart .cart-detail-item h4.module-expand:after { margin-left: auto; }
#viewcart #apply-coupon,
#viewcart #ShipQuote-module,
#viewcart #shipQuoteInt { display: block; padding-top: 10px; }
#viewcart .coupon-msg,
#viewcart .cdi-msg { margin: 0 0 10px; font-size: 13px; line-height: 1.45; color: #5d5d5d; }
#viewcart .apply-cupon,
#viewcart .zip-code { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
#viewcart .apply-cupon:before, #viewcart .apply-cupon:after,
#viewcart .zip-code:before, #viewcart .zip-code:after { display: none; }
#viewcart .apply-cupon > input[type="text"],
#viewcart .zip-code > input[type="text"] { flex: 1 1 100px; width: auto; min-width: 0; height: 44px; margin: 0; padding: 0 12px; float: none; font-size: 15px; color: #2D2D2D; border: 1px solid #cfd6db; border-radius: 6px; box-shadow: none; }
#viewcart .apply-cupon > input[type="text"]:focus,
#viewcart .zip-code > input[type="text"]:focus { border-color: #2C5D8A; outline: 2px solid rgba(44, 93, 138, .3); outline-offset: 0; }
#viewcart .apply-cupon > button,
#viewcart .zip-code > button { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 88px; height: 44px; margin: 0; padding: 0 14px; float: none; font-size: 15px; font-weight: 700; line-height: 1; text-transform: none; border-radius: 6px; }
#viewcart .apply-cupon > .coupon-apply { color: #111111; background: #FFBC19; border: 1px solid #4E4E4E; }
#viewcart .apply-cupon > .coupon-apply:hover,
#viewcart .apply-cupon > .coupon-apply:focus { opacity: .8; }
#viewcart .zip-code > .ship-calc { color: #fff; background: #2C5D8A; border: 1px solid #2C5D8A; }
#viewcart .zip-code > .ship-calc:hover,
#viewcart .zip-code > .ship-calc:focus { opacity: .8; }
#viewcart .displayPromotions { padding: 10px 0 0; }
#viewcart .infopromotion { margin: 0 0 8px; padding: 10px 12px; background: #EFF7EC; border: 1px solid #CFE3C7; border-radius: 8px; }
#viewcart .promotion-head { margin: 0; }
#viewcart .promotion_name { font-size: 14px; font-weight: 700; }
#viewcart .promotion_name .fa-circle-check { margin-right: 2px; color: #256911; }
#viewcart .infopromotion .promotion_name { padding-right: 0; }
#viewcart .infopromotion .remove-promo { position: static; display: inline-flex; align-items: center; gap: 4px; min-height: 32px; margin-top: 4px; font-size: 13px; }
#viewcart .infopromotion p { margin: 6px 0 0; font-size: 13px; line-height: 1.4; color: #5d5d5d; }
#viewcart .discount-details { color: #256911; }
#viewcart .shipquote-result-location,
#viewcart .shipquoteint-result-location { margin: 12px 0 4px; font-size: 13px; color: #5d5d5d; }
#viewcart .ship-rates { margin: 0; padding: 0; list-style: none; }
#viewcart .ship-rates li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; font-size: 14px; line-height: 1.35; color: #2D2D2D; border-bottom: 1px solid #ECEFF1; }
#viewcart .ship-rate-price { font-weight: 700; white-space: nowrap; }
#viewcart .ship-rates-note { margin: 6px 0 10px; font-size: 12px; color: #5d5d5d; }
#viewcart .clearValues { height: 36px; padding: 0 14px; font-size: 13px; text-transform: none; border-radius: 6px; }

/* ============================================================
   Cart: savings strip above the items. One line with the applied
   coupon or the best saving; "See all coupons" opens a row per
   coupon with its code, end date and an Apply button.
   ============================================================ */
#viewcart .cart-savings { min-height: 58px; margin: 0 0 16px; padding: 10px 14px; background: #EEF3F8; border: 1px solid #CBD9E4; border-radius: 10px; }
#viewcart .cart-savings-body { display: flex; align-items: flex-start; gap: 12px; }
#viewcart .cart-savings-body > .fa-ticket { flex: 0 0 auto; margin-top: 9px; font-size: 20px; color: #2C5D8A; }
#viewcart .cart-savings-main { display: flex; flex-wrap: wrap; align-items: center; column-gap: 16px; flex: 1 1 auto; min-width: 0; }
#viewcart .cart-savings-line { margin: 0; font-size: 15px; line-height: 1.45; color: #2D2D2D; }
#viewcart .cart-savings-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 38px; }
#viewcart .cart-savings-link { display: inline-flex; align-items: center; gap: 4px; min-height: 36px; font-size: 14px; font-weight: 700; color: #2C5D8A; }
#viewcart .cart-savings-link:hover,
#viewcart .cart-savings-link:focus { text-decoration: underline; }
#viewcart .cart-savings-code { display: inline-block; padding: 2px 7px; font-family: Consolas, "Courier New", monospace; font-size: 14px; font-weight: 700; letter-spacing: .04em; color: #2C5D8A; background: #fff; border: 2px dashed #2C5D8A; border-radius: 6px; white-space: nowrap; }
#viewcart .cart-savings-apply { min-width: 88px; min-height: 44px; padding: 0 18px; font-size: 15px; font-weight: 700; color: #111111; background: #FFBC19; border: 1px solid #4E4E4E; border-radius: 6px; cursor: pointer; }
#viewcart .cart-savings-apply:hover,
#viewcart .cart-savings-apply:focus { opacity: .8; }
#viewcart .cart-savings-apply[aria-busy="true"] { cursor: progress; opacity: .75; }
#viewcart .cart-savings-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; font-size: 13px; font-weight: 700; line-height: 1.3; color: #5d5d5d; background: #f2f2f2; border-radius: 20px; white-space: nowrap; }
#viewcart .cart-savings-badge.is-soon { color: #92400E; background: #FEF3C7; }
#viewcart .cart-savings-badge.is-very-soon { color: #A8360F; background: #FFF1EC; }
#viewcart .cart-savings-bar { flex: 1 1 200px; max-width: 360px; height: 8px; overflow: hidden; background: #DCE3ED; border-radius: 4px; }
#viewcart .cart-savings-bar span { display: block; height: 100%; background: #2C5D8A; }
#viewcart .cart-savings-row.is-soon .cart-savings-bar { background: #FDE7B0; }
#viewcart .cart-savings-row.is-soon .cart-savings-bar span { background-color: #D97706; background-image: linear-gradient(135deg, rgba(255, 255, 255, .3) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .3) 50%, rgba(255, 255, 255, .3) 75%, transparent 75%, transparent); background-size: 16px 16px; animation: cart-savings-stripes 1s linear infinite; }
#viewcart .cart-savings-row.is-very-soon .cart-savings-bar { background: #FBD9D2; }
#viewcart .cart-savings-row.is-very-soon .cart-savings-bar span { background-color: #A8360F; background-image: linear-gradient(135deg, rgba(255, 255, 255, .3) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .3) 50%, rgba(255, 255, 255, .3) 75%, transparent 75%, transparent); background-size: 16px 16px; animation: cart-savings-stripes 1s linear infinite; }
@keyframes cart-savings-stripes { from { background-position: 0 0; } to { background-position: 16px 0; } }
@media (prefers-reduced-motion: reduce) { #viewcart .cart-savings-bar span { animation: none; } }
#viewcart .cart-savings-all[open] { flex-basis: 100%; }
#viewcart .cart-savings-all > summary { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; font-size: 14px; font-weight: 700; color: #2C5D8A; list-style: none; cursor: pointer; }
#viewcart .cart-savings-all > summary::-webkit-details-marker { display: none; }
#viewcart .cart-savings-all > summary .fa-chevron-down { font-size: 12px; transition: transform .15s ease; }
#viewcart .cart-savings-all[open] > summary .fa-chevron-down { transform: rotate(180deg); }
#viewcart .cart-savings-rows { margin: 4px 0 2px; padding: 0; list-style: none; border-top: 1px solid #CBD9E4; }
#viewcart .cart-savings-row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #E3E8EE; }
#viewcart .cart-savings-row-main { flex: 1 1 auto; min-width: 0; }
#viewcart .cart-savings-row-extra { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 6px; }
#viewcart .cart-savings-row-action { display: flex; flex: 0 0 auto; justify-content: flex-end; min-width: 96px; }
#viewcart .cart-savings-note { margin: 6px 0 0; font-size: 14px; font-weight: 600; line-height: 1.45; color: #2D2D2D; }
#viewcart .cart-savings-terms { font-size: 14px; font-weight: 400; line-height: 1.3; color: #2C5D8A; text-decoration: underline; }
#viewcart .cart-savings-terms .fa-circle-info { margin-left: 5px; }
#viewcart .cart-savings-terms:hover,
#viewcart .cart-savings-terms:focus { text-decoration: none; }
#viewcart .cart-savings-applied { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; font-size: 14px; font-weight: 700; color: #256911; }
@media (max-width: 600px) {
    #viewcart .cart-savings-row { flex-wrap: wrap; }
    #viewcart .cart-savings-row-action { flex-basis: 100%; min-width: 0; }
}

/* Cart: a coupon on the cart that is not taking effect yet */
#viewcart .cart-savings-head.is-pending .cart-savings-line strong { color: #92400E; }
#viewcart .cart-savings-waiting { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; font-size: 14px; font-weight: 700; color: #92400E; white-space: nowrap; }
#viewcart .infopromotion.is-pending { background: #FFFBEB; border-color: #F3D08A; }
#viewcart .infopromotion.is-pending .promotion_name .fa-solid { color: #92400E; }
#viewcart .infopromotion .promo-pending-note { margin: 6px 0 0; font-size: 13px; font-weight: 700; line-height: 1.4; color: #92400E; }

/* Cart: a new coupon code replaces the one on the cart */
#viewcart .cart-savings-replace-note { margin: 6px 0 0; font-size: 12px; line-height: 1.4; color: #5d5d5d; }

/* Product page: the questions shoppers ask, folded, at the foot of the buy box */
#listing .pdp-faq { margin: 4px 0 0; padding: 12px 2px 0; border-top: 1px solid #e3e3e3; }
#listing .pdp-faq-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 4px; }
#listing .pdp-faq-title { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: #2D2D2D; }
#listing .pdp-faq-title .fa-solid { font-size: 14px; color: #2C5D8A; }
#listing .pdp-faq-all { flex: 0 0 auto; font-size: 13px; font-weight: 600; color: #2C5D8A; text-decoration: none; white-space: nowrap; }
#listing .pdp-faq-all:hover,
#listing .pdp-faq-all:focus { text-decoration: underline; }
#listing .pdp-faq-all .icon-right { font-size: 11px; }
#listing .pdp-faq-item { border-top: 1px solid #ededed; }
#listing .pdp-faq-item:first-of-type { border-top: 0; }
#listing .pdp-faq-item > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0 8px; font-size: 15px; font-weight: 600; line-height: 1.4; color: #1a202c; cursor: pointer; list-style: none; }
#listing .pdp-faq-item > summary::-webkit-details-marker { display: none; }
#listing .pdp-faq-item > summary:after { content: "+"; flex: 0 0 auto; width: 18px; height: 18px; font-size: 19px; font-weight: 700; line-height: 17px; text-align: center; color: #2C5D8A; transition: transform .15s ease; }
#listing .pdp-faq-item[open] > summary:after { transform: rotate(45deg); }
#listing .pdp-faq-item > summary:hover { color: #2C5D8A; }
#listing .pdp-faq-answer { max-width: 62ch; margin: 0 0 12px; padding: 10px 12px; background: #f7f9fb; border-radius: 6px; font-size: 15.5px; line-height: 1.75; color: #1f2933; }
#listing .pdp-faq-answer a { font-weight: 600; color: #2C5D8A; text-decoration: underline; }
#listing .pdp-faq-answer a:hover,
#listing .pdp-faq-answer a:focus { text-decoration: none; }
@media (prefers-reduced-motion: reduce) { #listing .pdp-faq-item > summary:after { transition: none; } }

/* Product page: the brand logo in place of the "more from" wording */
/* Brand and category links under the reviews: two buttons rather than one cramped line */
#listing .mfg-category-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; padding: 14px 10px; margin: 0 0 15px; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
#listing .mfg-quick-link { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 7px 18px; font-size: 14px; font-weight: 600; line-height: 1.3; color: #2A82AD; background: #fff; border: 1px solid #d5d5d5; border-radius: 22px; text-decoration: none; transition: border-color .15s ease, background .15s ease; }
#listing .mfg-quick-link:hover,
#listing .mfg-quick-link:focus { color: #2A82AD; background: #f6f9fb; border-color: #2A82AD; text-decoration: none; }
#listing .mfg-quick-link .fa-solid { font-size: 13px; color: #2A82AD; }
#listing .mfg-quick-logo { max-width: 92px; max-height: 20px; width: auto; height: auto; object-fit: contain; }
@media (max-width: 480px) { #listing .mfg-quick-link { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { #listing .mfg-quick-link { transition: none; } }
#listing .mfg-quick-name { white-space: nowrap; }

/* FAQs and Terms pages: the same card look as the product page questions */
#feedPage0 .feeds_index { margin: 0 0 20px; padding: 14px 16px; background: #f7f7f7; border: 1px solid #d5d5d5; border-radius: 10px; }
#feedPage0 .feeds_pages { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0; padding: 0; list-style: none; }
#feedPage0 .feeds_pages li { margin: 0; padding: 0; list-style: none; }
#feedPage0 .feeds_pages a { display: inline-block; padding: 6px 12px; font-size: 13.5px; font-weight: 600; line-height: 1.35; color: #2C5D8A; background: #fff; border: 1px solid #d5d5d5; border-radius: 16px; text-decoration: none; }
#feedPage0 .feeds_pages a:hover,
#feedPage0 .feeds_pages a:focus { color: #fff; background: #2C5D8A; border-color: #2C5D8A; }
#feedPage0 .feedInfo { margin: 0 0 14px; padding: 16px 18px; background: #fff; border: 1px solid #d5d5d5; border-radius: 10px; }
#feedPage0 .feedInfo .page_header { margin: 0 0 8px; padding: 0; border: 0; }
#feedPage0 .feedInfo .page_header .page_heading { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.35; color: #2D2D2D; }
/* the posted date says nothing useful on a question */
#feedPage0 .feedInfo .page_header .button { display: none; }
#feedPage0 .feedShortDescription { font-size: 14.5px; line-height: 1.6; color: #5d5d5d; }
#feedPage0 .feedShortDescription a { color: #2C5D8A; text-decoration: underline; }
#feedPage0 .feedShortDescription a:hover,
#feedPage0 .feedShortDescription a:focus { text-decoration: none; }
#feedPage0 .paging { margin-top: 18px; }
@media (max-width: 600px) {
    #feedPage0 .feedInfo { padding: 14px; }
    #feedPage0 .feeds_index { padding: 12px; }
}

/* FAQs page: search, groups and folding questions */
#feedPage0 .faq-tools:not([hidden]), #extrapage .faq-find:not([hidden]) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 16px; }
#feedPage0 .faq-search, #extrapage .faq-search { position: relative; flex: 1 1 260px; margin: 0; }
#feedPage0 .faq-search .fa-magnifying-glass, #extrapage .faq-search .fa-magnifying-glass { position: absolute; top: 50%; left: 14px; margin-top: -8px; font-size: 15px; color: #5d5d5d; }
#feedPage0 .faq-search input, #extrapage .faq-search input { width: 100%; height: 44px; padding: 0 14px 0 38px; font-size: 15px; color: #2D2D2D; background: #fff; border: 1px solid #d5d5d5; border-radius: 22px; box-shadow: none; }
#feedPage0 .faq-search input:focus, #extrapage .faq-search input:focus { border-color: #2C5D8A; outline: 2px solid rgba(44, 93, 138, .25); outline-offset: 0; }
#feedPage0 .faq-groups, #extrapage .faq-groups { display: flex; flex-wrap: wrap; gap: 8px; }
#feedPage0 .faq-chip, #extrapage .faq-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 14px; font-size: 13.5px; font-weight: 600; color: #2C5D8A; background: #fff; border: 1px solid #d5d5d5; border-radius: 19px; cursor: pointer; }
#feedPage0 .faq-chip:hover, #extrapage .faq-chip:hover { background: #f7f7f7; border-color: #2C5D8A; }
#feedPage0 .faq-chip.is-on, #extrapage .faq-chip.is-on { color: #fff; background: #2C5D8A; border-color: #2C5D8A; }
#feedPage0 .faq-card, #extrapage .faq-card { margin: 0 0 10px; padding: 0; }
#feedPage0 .faq-card .faq-q, #extrapage .faq-card .faq-q { display: flex; align-items: center; gap: 10px; width: 100%; padding: 14px 16px; font-size: 15px; font-weight: 700; line-height: 1.4; text-align: left; color: #2D2D2D; background: none; border: 0; cursor: pointer; }
#feedPage0 .faq-card .faq-q-icon, #extrapage .faq-card .faq-q-icon { flex: 0 0 auto; width: 18px; font-size: 15px; color: #2C5D8A; }
#feedPage0 .faq-card .faq-q-text, #extrapage .faq-card .faq-q-text { flex: 1 1 auto; }
#feedPage0 .faq-card .faq-q-mark, #extrapage .faq-card .faq-q-mark { flex: 0 0 auto; width: 18px; font-size: 19px; font-weight: 700; line-height: 17px; text-align: center; color: #2C5D8A; transition: transform .15s ease; }
#feedPage0 .faq-card .faq-q[aria-expanded="true"] .faq-q-mark, #extrapage .faq-card .faq-q[aria-expanded="true"] .faq-q-mark { transform: rotate(45deg); }
#feedPage0 .faq-card .feedShortDescription, #extrapage .faq-card .feedShortDescription { padding: 0 16px 14px 44px; }
#feedPage0 .faq-none, #extrapage .faq-none { margin: 10px 0 0; font-size: 14.5px; color: #5d5d5d; }
@media (max-width: 600px) {
    #feedPage0 .faq-card .faq-q, #extrapage .faq-card .faq-q { padding: 12px 14px; font-size: 14.5px; }
    #feedPage0 .faq-card .feedShortDescription, #extrapage .faq-card .feedShortDescription { padding: 0 14px 12px 14px; }
}

/* The FAQs page built from one block of page content: the question heading carries
   the control, so the card holds the padding and the heading keeps its anchor. */
#extrapage .faq-card { margin: 0 0 14px; padding: 16px 18px; background: #fff; border: 1px solid #d5d5d5; border-radius: 10px; }
#extrapage .faq-card .faq-q-head { margin: 0; padding: 0; font-size: inherit; line-height: inherit; }
#extrapage .faq-card .faq-q { padding: 0; }
#extrapage .faq-card .faq-q-text a { color: inherit; text-decoration: none !important; }
#extrapage .faq-card .faq-q-text span { text-decoration: none !important; }
#extrapage .faq-answer { padding: 10px 0 0 28px; font-size: 14.5px; line-height: 1.6; color: #5d5d5d; }
#extrapage .faq-answer a { color: #2C5D8A; text-decoration: underline; }
#extrapage .faq-answer a:hover,
#extrapage .faq-answer a:focus { text-decoration: none; }
#extrapage .faq-answer > p:first-child { margin-top: 0; }
#extrapage .faq-find { margin-top: 6px; }
@media (max-width: 600px) {
    #extrapage .faq-card { padding: 14px; }
    #extrapage .faq-answer { padding-left: 0; }
}

/* After Hours About page: a split hero, cards with a colored edge, the story as steps
   along a line, and one quote on black. Colors are the store's own, the black of
   the navigation bar fading into a lighter black, with the button green and the
   sale red as the two accents. Deliberately its own layout. */
.ah-ab { font-size: 17px; line-height: 1.7; color: #2D2D2D; }
.ah-ab * { box-sizing: border-box; }
.ah-ab p { margin: 0 0 16px; }
.ah-ab a { color: #256911; }
.ah-ab .ah-ic { width: 21px; height: 21px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

/* split hero */
.ah-ab .ah-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 28px; background: linear-gradient(135deg, #1A0101 0%, #3D3D3D 100%); color: #fff; border-radius: 14px; padding: 34px 32px; margin: 0 0 34px; }
.ah-ab .ah-hero h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-size: 38px; line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; color: #fff; }
.ah-ab .ah-hero h2 .ah-ic { width: 32px; height: 32px; color: #FFBC19; }
.ah-ab .ah-hero p { margin: 0; font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.9); }
.ah-ab .ah-figs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-content: start; }
.ah-ab .ah-fig { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); border-radius: 10px; padding: 12px 14px; }
.ah-ab .ah-fig strong { display: block; font-size: 23px; line-height: 1.15; font-weight: 800; color: #fff; }
.ah-ab .ah-fig span { display: block; font-size: 12.5px; line-height: 1.35; color: rgba(255,255,255,.8); }
.ah-ab .ah-fig a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.ah-ab .ah-fig a:hover { color: #FFBC19; }

.ah-ab h2 { display: flex; align-items: center; gap: 10px; margin: 44px 0 6px; font-size: 25px; line-height: 1.25; font-weight: 800; color: #1D1D1D; }
.ah-ab h2 .ah-ic { width: 26px; height: 26px; color: #fff; background: #256911; border-radius: 50%; padding: 5px; box-sizing: content-box; }
.ah-ab .ah-sub { margin: 0 0 20px; font-size: 16px; color: #5D5D5D; }

/* trust and why: cards with a colored edge */
.ah-ab .ah-years { display: inline; }
.ah-ab .ah-pay-line { grid-column: 1 / -1; }
.ah-ab .ah-pay { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 12px 0 0; padding: 12px 14px; background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; }
.ah-ab .ah-pay img { max-height: 24px; width: auto; height: auto; }

/* aisles */
.ah-ab .ah-aisles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; align-items: stretch; }
/* every card the same height, with the icons on one line and room for a name that
   runs to two, so a longer aisle name cannot push its own card out of step */
.ah-ab .ah-aisles li { display: flex; }
.ah-ab .ah-aisles a span { display: flex; align-items: center; justify-content: center; min-height: 2.6em; }
.ah-ab .ah-aisles a { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 12px; background: #f7f7f7; border: 1px solid #e0e0e0; border-radius: 10px; font-size: 14.5px; font-weight: 700; line-height: 1.3; color: #1D1D1D; text-align: center; text-decoration: none; }
.ah-ab .ah-aisles a .ah-ic { width: 26px; height: 26px; color: #256911; }
.ah-ab .ah-aisles a:hover { background: #fff; border-color: #256911; color: #256911; }

/* the three steps, along a line */
.ah-ab .ah-steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; counter-reset: ahstep; margin: 10px 0 0; padding: 0; list-style: none; }
.ah-ab .ah-steps:before { content: ""; position: absolute; left: 18px; right: 18px; top: 18px; height: 2px; background: #e0e0e0; }
.ah-ab .ah-steps li { position: relative; padding-top: 52px; }
.ah-ab .ah-steps li:before { counter-increment: ahstep; content: counter(ahstep); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; background: #256911; color: #fff; font-size: 17px; font-weight: 800; line-height: 38px; text-align: center; }
.ah-ab .ah-steps strong { display: block; font-size: 16.5px; color: #1D1D1D; margin: 0 0 4px; }
.ah-ab .ah-steps span { font-size: 15px; line-height: 1.6; color: #4A4A4A; }

/* the years, read down the page with a line running through them */
.ah-ab .ah-road { position: relative; margin: 12px 0 0; padding: 0 0 0 4px; list-style: none; }
.ah-ab .ah-road:before { content: ""; position: absolute; left: 22px; top: 10px; bottom: 10px; width: 2px; background: #e0e0e0; }
.ah-ab .ah-road li { position: relative; display: grid; grid-template-columns: 58px 104px 1fr; align-items: start; gap: 14px; padding: 0 0 22px; }
.ah-ab .ah-road li:last-child { padding-bottom: 0; }
.ah-ab .ah-road-mark { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #256911; color: #fff; }
.ah-ab .ah-road-mark svg { width: 19px; height: 19px; }
.ah-ab .ah-road-when { padding-top: 5px; }
.ah-ab .ah-road-when strong { display: block; font-size: 20px; font-weight: 800; color: #1A0101; line-height: 1.1; }
.ah-ab .ah-road-when { font-size: 11.5px; letter-spacing: 1.6px; text-transform: uppercase; color: #7A7A7A; }
.ah-ab .ah-road-what { padding-top: 7px; font-size: 15.5px; line-height: 1.65; color: #4A4A4A; }
@media (max-width: 560px) {
    .ah-ab .ah-road li { grid-template-columns: 58px 1fr; }
    .ah-ab .ah-road-when { grid-column: 2; padding-top: 6px; }
    .ah-ab .ah-road-what { grid-column: 2; padding-top: 2px; }
}

/* story */
.ah-ab .ah-story { background: #f7f7f7; border-radius: 12px; padding: 22px 24px; }
.ah-ab .ah-story p:last-child { margin: 0; }
.ah-ab .ah-brands { display: grid; grid-template-columns: repeat(6, 1fr); justify-items: center; align-items: center; gap: 22px 12px; margin: 16px 0 6px; padding: 4px 0; }
.ah-ab .ah-brands a { display: flex; align-items: center; justify-content: center; width: 100%; height: 46px; opacity: .9; }
.ah-ab .ah-brands a:hover, .ah-ab .ah-brands a:focus { opacity: 1; }
/* contain rather than a fixed height: a logo is shrunk to fit the cell but never
   stretched past the pixels the file actually has, which is what made them soft */
.ah-ab .ah-brands img { max-width: 100%; max-height: 30px; width: auto; height: auto; }
@media (max-width: 760px) { .ah-ab .ah-brands { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 460px) { .ah-ab .ah-brands { grid-template-columns: repeat(3, 1fr); } }
.ah-ab .ah-dl { display: inline-flex; align-items: center; gap: 9px; margin-top: 4px; padding: 11px 20px; background: #d92121; color: #fff; border-radius: 9px; font-size: 16px; font-weight: 700; text-decoration: none; }
.ah-ab .ah-dl:hover, .ah-ab .ah-dl:focus { background: #1A0101; color: #fff; text-decoration: none; }
.ah-ab .ah-dl svg { width: 19px; height: 19px; }

/* one wide night quote */
.ah-ab .ah-quote { position: relative; background: #1A0101; color: #fff; border-radius: 12px; padding: 26px 28px; min-height: 140px; transition: opacity .4s ease; }
.ah-ab .ah-quote.is-fading { opacity: 0; }
.ah-ab .ah-quote p { margin: 0 0 12px; font-size: 19px; line-height: 1.6; max-width: 62ch; color: #fff; }
.ah-ab .ah-stars { color: #FFBC19; font-size: 15px; letter-spacing: 2px; }
.ah-ab .ah-who { font-size: 14px; color: rgba(255,255,255,.75); }
.ah-ab .ah-dots { display: flex; gap: 7px; margin: 14px 0 0; }
.ah-ab .ah-dots i { width: 8px; height: 8px; border-radius: 50%; background: #e0e0e0; display: block; }
.ah-ab .ah-dots i.on { background: #256911; }

/* answers */

/* contact, links, family */
.ah-ab .ah-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 30px; border: 1px solid #e0e0e0; border-radius: 12px; padding: 22px 24px; }
.ah-ab .ah-contact p { margin: 0; font-size: 16px; }
.ah-ab .ah-contact strong { display: flex; align-items: center; gap: 8px; margin: 0 0 2px; color: #1D1D1D; }
.ah-ab .ah-contact .ah-ic { color: #256911; }
.ah-ab .ah-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.ah-ab .ah-links a { display: inline-block; padding: 9px 16px; border: 1px solid #e0e0e0; border-radius: 22px; font-size: 15px; font-weight: 600; text-decoration: none; }
.ah-ab .ah-links a:hover { border-color: #256911; }
.ah-ab .ah-fam { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 16px 0 0; }
.ah-ab .ah-fam a { display: flex; align-items: center; gap: 10px; border: 1px solid #e0e0e0; border-radius: 8px; padding: 12px 14px; font-size: 15px; font-weight: 600; color: #1D1D1D; text-decoration: none; }
.ah-ab .ah-fam a:hover { border-color: #256911; }
.ah-ab .ah-fam img { width: 22px; height: 22px; flex: 0 0 auto; }

@media (max-width: 900px) {
    .ah-ab .ah-hero { grid-template-columns: minmax(0, 1fr); padding: 26px 22px; }
    .ah-ab .ah-contact { grid-template-columns: minmax(0, 1fr); }
    .ah-ab .ah-aisles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ah-ab .ah-steps { grid-template-columns: minmax(0, 1fr); }
    .ah-ab .ah-steps:before { display: none; }
    .ah-ab .ah-steps li { padding: 0 0 0 52px; min-height: 42px; }
}
@media (max-width: 600px) {
    .ah-ab { font-size: 16.5px; }
    .ah-ab .ah-hero h2 { font-size: 28px; }
    .ah-ab .ah-hero p { font-size: 16.5px; }
    .ah-ab h2 { font-size: 22px; margin-top: 36px; }
    .ah-ab .ah-quote p { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .ah-ab .ah-quote { transition: none; } }
/* Product page: the plain wording a reader without scripts gets. */
.pdp-plain { color: #111; font-weight: 600; }
