/**
Theme Name: Astra Child
Author: BigMike
Author URI: http://bigmike.marlincrawler.com
Description: I am _the_ BigMike... Allow no substitutes 
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Custom CSS also found here:
 * https://www.marlincrawler.com/xn/wp-admin/customize.php?autofocus%5Bsection%5D=custom_css
 *   and admin CSS under White Lable CMS:
 * https://www.marlincrawler.com/xn/wp-admin/options-general.php?page=wlcms-plugin.php 
 * */

html {
  scroll-padding-top: 120px;
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: 50px;
  }
  .woocommerce .woocommerce-tabs .panel {
    padding: 8px !important;
  }
  .woocommerce .woocommerce-tabs .panel ul, .woocommerce .woocommerce-tabs .panel ol {
    padding-left: 30px;
  }
}

/* Improve printability - 3/20/26 BigMike */
@media print {
  section.elementor-element-5d8d7c61 {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 999;
  }
  div.elementor-element-f25b0f2 { display: none !important; } /* Hide entire main navigation menu */
  div.elementor-element-74a2d1e { display: none !important; } /* Header Right Column (with search field, just hide it all) */ 
  div#content {
    margin-top: 40px !important;
    padding-top: 0 !important;
  }
}

#stickyheaders {
  transition: all .4s ease !important;
}

/* Contract top banner height on desktop */
section.elementor-top-section div.elementor-element-5d8d7c61 { height: 90px; }
@media (max-width: 768px) {
  section.elementor-top-section div.elementor-element-5d8d7c61 { height: unset; }
}

.green { color: #28a745; }
.orange { color: #FF9900; }

/* Main MC Themes Tables */
:root { --top-main-header-height: 90px; } /* Sticky header height, modified in scripts.js */
table.mcor { border-collapse: collapse; border: 1px solid #999 ! important; width: 99%; }
table.mcor th { border: 1px solid #999 ! important; color: white; font-weight: bold; background-color: #af1d22; position: sticky; top: var(--top-main-header-height); z-index: 2; }
@media (max-width: 768px) {
  table.mcor th { top: 33px !important; } 
}
table.mcor tr:nth-child(odd) { background-color: #eee; }
table.mcor td { border: 1px solid #999 ! important; }

fieldset.collapsible legend { color: #54595F; } /* Legend Toggle header color */

.ast-single-post .entry-content h4 a { text-decoration: none; }

/* MC Blockquotes */
div.mc-blockquote {
  background-color: #F5F5F5;
  margin-bottom: 1.75em;
  transition: background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s);
}
div.mc-blockquote blockquote {
  border-left-width: 4px;
  border-color: #AF1D22;
  padding: 1em .25em 1em 0;
  border-inline-start-width: 7px;
  border-style: solid;
  padding-inline-start: 20px;
  color: #3f444b;
  font-size: 100%;
  font-style: normal;
  margin: 0;
  outline: 0;
  transition: .3s;
}
div.mc-blockquote blockquote p {
  font-size: 20px;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 0;
  color: #3f444b;
}
div.mc-blockquote blockquote p i {
  color: #008000;
}

/* Highlight parent & ancestor menu items of currently viewed Category menu */
li.menu-item-3347 li.current-menu-parent, li.menu-item-3347 li.current-menu-ancestor { background-color: #eee; }
li.menu-item-3347 li.current-menu-parent > a, li.menu-item-3347 li.current-menu-ancestor > a { font-weight: bold; }


/* ************************************************************************** */
/*                       Header (need to organize)                            */
/* ************************************************************************** */
/* Divisions to group "Company" menu */
.menu-item-160638, .menu-item-157024, .menu-item-145456 {
  margin-top: 8px;
  padding-top: 8px;
  position: relative;
}
.menu-item-160638::before, .menu-item-157024::before, .menu-item-145456::before {
  content: '';
  position: absolute;
  top: 0;
  left: 14px;
  right: 14px;
  border-top: 1px solid rgba(0,0,0,0.08);
}



/* ************************************************************************** */
/*                            Poduct Catalog                                  */
/* ************************************************************************** */

span.post-id-copy-highlight { background-color: #fae69e }

/* ************************************************************************** */
/*                              Poduct Page                                   */
/* ************************************************************************** */

/* Display special msg on a per-product basis as configured in functions.php `product_finance_note` shortcode */
div.below-price-msg {
  width: 100%;
  margin: 10px 0 15px;
  padding: 10px 12px;
  background: #e6f7ea;
  border-left: 4px solid #2e7d32;
  font-size: 14px;
}
/* p.price { width: 555px; } */

/* Force-hide duplicate 'Out Of Stock' sign-up form on Variable Product pages 1/11/26 */ 
div.detail-stock section.cwginstock-subscribe-form, div.detail-stock section.cwginstock-outofstock { display: none ! important; }

/* "New Product" header link for Sales Employees - BigMike 8/21/25 */
div#employee-new-product {
  position: absolute;
  top: 50px;
  left: 25px;
}
div#employee-new-product a { font-size: .7em; }

/* Related Products section */
#product-related-products button.adfy-wl-add-to-wishlist, #product-related-products a.woosq-btn { display: none; }
#product-related-products h2.woocommerce-loop-product__title { font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif !important; }

/* Display YouTube videos on Product Page - ChatGPT 10/20/24 -- still need to clean up/organize code */
.product-video-thumbnail {
  position: relative;
  display: inline-block;
  margin: 0 15px 20px 0;
  cursor: pointer;
  width: calc(20% - 15px); /* 5 per row on desktop */
}
.product-video-thumbnail img {
  width: 100%; /* Make the image fill the thumbnail container */
  height: auto;
  display: block;
}
/* Overlay play icon */
.product-video-thumbnail::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  background-image: url('/wp-content/uploads/2024/10/youtube-play-button80.png');
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%);
  opacity: 0.9;
  pointer-events: none;
}
.product-youtube-videos {
  margin: 20px 0 0 12px;
}
/* Responsive adjustments */
@media (max-width: 1200px) {
  .product-video-thumbnail {
    width: calc(25% - 15px); /* 4 per row on slightly smaller screens */
  }
}
@media (max-width: 900px) {
  .product-video-thumbnail {
    width: calc(33.33% - 15px); /* 3 per row on tablet */
  }
}
@media (max-width: 600px) {
  .product-video-thumbnail {
    width: calc(45% - 15px); /* 2 per row on mobile */
  }
}
@media (max-width: 400px) {
  .product-video-thumbnail {
    width: calc(45% - 15px); /* Still 2 per row even on small mobile devices */
  }
}

/* Product Review Tab */
#reviews #review_form span#reply-title { font-size: 1.2rem }
#reviews #review_form #commentform label { font-size: 1.1em }


/* Migrating everything over from Customizer - 8/30/24 */

a.hdsb-stickybanner-btn { display: none }
.addonify-wishlist-modal-is-open { overflow: visible ! important; }
.adfy-error-modal { display: none ! important; }

/* Show full width on all Astra themed pages */
div.ast-container, div.ast-container-fluid { max-width: 100%; padding: 0 }
/* Pad all page titles */
main#main article header.entry-header { margin-left: 10px }

/* ************************************************************************** */
/*                           Admin Menu Bar                                   */
/* ************************************************************************** */
#wp-admin-bar-elementor_edit_page .ab-item::before { display: none }

/* ************************************************************************** */
/*                                 Header                                     */
/* ************************************************************************** */
ul#wp-admin-bar-root-default li#wp-admin-bar-view_orders { background: darkgreen }
ul#wp-admin-bar-root-default li#wp-admin-bar-edit { background: dimgray }
.elementor-location-header span.account { font-size: 14px; color: #69727D }
.elementor-location-header a, .elementor-location-header span.account a, .elementor-location-header span.account a { color: #69727D }

/* Header Log In pop-out Form - Updated */
#login-container {
  position: fixed;
  top: 80px;
  right: 40px;
  width: 300px;
  padding: 20px;
  border: 1px solid #ccc;
  background-color: #f9f9f9;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  display: none;
  z-index: 1000;
}
#login-container form {
  display: flex;
  flex-direction: column;
}
#login-container .password-wrapper {
  position: relative; /* Allow absolute positioning of the eye icon */
  display: flex;
  align-items: center;
  width: 100%; /* Make it take full width */
}
#login-container input[type="text"],
#login-container input[type="password"] {
  margin-bottom: 10px;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
  width: 100%;
  box-sizing: border-box;
}
#login-container .remember-me, #mobile-login-container .remember-me {
  margin: 0 0 6px 0;
  display: flex;
  align-items: center;
}
#login-container .remember-me input[type="checkbox"], #mobile-login-container .remember-me input[type="checkbox"]{
  margin-right: 5px;
}
#login-container input[type="submit"], #mobile-login-prompt input[type="submit"]  {
  color: white;
  background-color: #4CAF50;
  padding: 10px;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  width: 100%;
}
#login-container input[type="submit"]:hover, #mobile-login-prompt input[type="submit"]:hover {
  background-color: #45a049;
}
#login-container small {
  display: block;
  margin-top: 10px;
  text-align: center;
}
#desktop-login-prompt {
  width: 100px;
  font-size: .8em;
  position: absolute;
  top: 32px;
  left: 30px;
  z-index: 1001;
  display: none;
  cursor: pointer;
  transform: translateX(-62%);
  padding: 4px;
  background-color: #f8f8f8;
  border-radius: 5px;
  border: 1px solid #ccc;
  text-align: center;
  white-space: normal;
}
#desktop-login-prompt::before {
    z-index: 10;
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-62%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #ccc transparent;
}
/* Flyout Log-in Box, Mobile - 10/25/24 */
#mobile-login-prompt {
    z-index: 10;
    width: 130px;
    transition: width 0.3s ease;
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-62%);
    padding: 4px;
    background-color: #f8f8f8;
    border-radius: 5px;
    border: 1px solid #ccc;
    text-align: center;
    white-space: normal;
}
#mobile-login-prompt::before {
    z-index: 10;
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-62%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #ccc transparent;
}
#mobile-login-prompt.expanded {
    width: 230px;
}
#mobile-login-container {
    margin-top: 10px;
    display: none;
    width: 100%;
    padding: 4px 8px;
    box-sizing: border-box;
}
#mobile-login-container input[type="text"], #mobile-login-container input[type="password"] {
    width: 100%;
}

/* Reduce side-to-side padding of top menu */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu a { padding: 13px 15px !important }

/* Keep Menu on top when open */
ul#menu-1-f25b0f2, ul#menu-1-f25b0f2 li, ul#menu-1-f25b0f2 li a { z-index: 10; }

/* Remove menu arrow icon that began appearing after updating Astra theme */
.elementor-nav-menu .ast-header-navigation-arrow, .elementor-nav-menu li a .ast-icon { display: block }

/* Highlight Search Results */
span.aws_result_content strong, mark.hilite { background-color: #fae69e }

/* Menu Cart: Color text */
.elementor-widget-woocommerce-menu-cart .woocommerce-Price-amount { color: #69727D; font-weight: normal }

/* Mobile Header Tweaks */
@media (max-width: 768px) {
  /* Alter Main Menu drop-down placement on mobile */
  .elementor-location-header nav.elementor-nav-menu--dropdown { top: 22px !important; }
  /* Move admin User & Load view to top-right */ 
  ul#wp-admin-bar-top-secondary { position: absolute !important; top: 5px; right: 10px; }
  ul#wp-admin-bar-top-secondary a.ab-item, ul#wp-admin-bar-top-secondary div.ab-sub-wrapper { display: none !important; } 
  ul#wp-admin-bar-top-secondary a, ul#wp-admin-bar-top-secondary span span { font-size: .8em; }
  ul#wp-admin-bar-top-secondary span span span { font-size: 1em; }
}

/* Double-hide "Call Us" and "Search" main menu items incase they get cached visible on Desktop view */ 
body.ast-desktop ul#menu-1-f25b0f2 li.menu-item-157487, body.ast-desktop ul#menu-1-f25b0f2 li.menu-item-151030 { display: none; }

/* Hide menu items other than 'Products' on Mobile Search popup */
#search-products-menu li.menu-item-144169, #search-products-menu li.menu-item-3345, #search-products-menu li.menu-item-136144, #search-products-menu li.menu-item-136715, #search-products-menu li.menu-item-151030 { display: none }
/* Enlarge Products menu text */
#search-products-menu li.menu-item-3347 a { font-size: 1.2em }

/* ************************************************************************** */
/*                               Front Page                                   */
/* ************************************************************************** */
/* All Main Titles */
.mcor-main-title h2:not(.woocommerce-loop-product__title) {
  font-family: "Inter", Sans-serif;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  margin: 20px 0;
}
body.home #ymm_content div.block-content { text-align: center; }
#mcor-main-title-product-range h2 { font-size: 32px !important; margin: 0.75em 0 0 0 !important; letter-spacing: 2.4px; }

/* Front Background Vid */
body.elementor-page-998 .elementor iframe.elementor-background-video-embed { max-width: 100% }

/* Text styling for the three images on the front page */
div.front-three-boxes h2.elementor-heading-title a { color: white; text-decoration: none }

/* Force coloring on front page 3x3 grid linke */
section.front-grid h2.elementor-heading-title a { color: #1E293B }

/* Current Hot Products (WordPress Popular Posts) */
#current-hot-products {
  max-width: 100%;
  margin: 0 auto;
}
#current-hot-products ul.wpp-list {
  display: grid; /* Use grid for layout */
  grid-template-columns: repeat(5, 1fr); /* 5 columns on desktop */
  gap: 20px; /* Gap between items */
  padding: 0;
  margin: 0 auto 1.5em; /* Center align and add bottom margin */
  list-style: none; /* Remove default list styling */
}
#current-hot-products li {
  text-align: center; /* Center-align content */
}
#current-hot-products li a, #current-hot-products li .wpp-thumbnail {
  display: block;
  text-decoration: none; /* Remove underlines */
}
#current-hot-products li .wpp-post-title {
  font-size: 1em;
  color: #1e293b;
  margin-top: 10px; /* Add some spacing between image and title */
}
#current-hot-products li img {
  max-width: 100%;
  height: auto; /* Ensure the image maintains its aspect ratio */
}
.wpp-meta.post-stats {
  display: block; /* Ensure the views span takes a new line */
  font-size: 0.9em; /* Adjust font size for better readability */
  color: #666; /* Lighter color for meta information */
  margin-top: 5px; /* Add some spacing above the meta info */
}
/* Mobile Responsiveness */
@media (max-width: 768px) {
  #current-hot-products ul.wpp-list {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on mobile */
  }
}

/* Daily Featured Prods */
.daily-featured-products {
  margin: 20px 0;
}
.daily-featured-products ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1200px;
}
.daily-featured-products li {
  padding: 15px;
  text-align: center;
  margin-bottom: 0 !important;
}
.daily-featured-products img {
  max-width: 100%;
  height: auto;
}
.daily-featured-products a {
  font-size: 1rem;
  margin-bottom: 10px;
  color: #333;
}
@media (max-width: 768px) {
  .daily-featured-products ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
}

/* Today's Featured Tag Cloud */
.word-cloud {
  margin-bottom: 40px;
  overflow: hidden; /* Prevent overflow */
  max-width: 100%; /* Ensure the cloud doesn't exceed the screen width */
  padding: 0 10px; /* Add padding for better spacing on small screens */
}
.word-cloud .inner {
  display: flex;
  flex-wrap: wrap; /* Allow wrapping */
  justify-content: center;
  gap: 10px; /* Space between tags */
  line-height: 1.4;
  width: 100%;
  max-width: 100%; /* Prevent overflowing horizontally */
  padding: 0 10px; /* Add padding for better spacing on small screens */
}
.word-cloud .inner a {
  text-decoration: none;
  color: #333;
  transition: color 0.3s ease;
}
.word-cloud .inner a:hover {
  color: #af1d22;
}


/* .word-cloud { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 10px 0 40px 0 }
.word-cloud a { text-decoration: none }
.word-cloud a:hover { text-decoration: underline }
*/

/* Instagram Feed */
div.spotlight-instagram-app div.FeedLayout__col-footer { margin-top: 10px !important }

/* Product Tabs */
.woocommerce-js div.product .woocommerce-tabs ul.tabs li { margin: 0 }

/* Lower 'Add To Cart' popup: Space away from Live Chat icon */
div.ast-sticky-add-to-cart-action-wrap { margin-right: 150px }

/* Lower 'Add To Cart' popup: Express Checkout & Add to wishlist buttons */
div.ast-sticky-add-to-cart-action-wrap button.checkout-button, div.ast-sticky-add-to-cart-action-wrap button.adfy-wishlist-btn { margin-left: 20px; padding: 11px 25px }

/* 'To The Top' icon: Space away from Live Chat icon */
div#ast-scroll-top { right: 100px; bottom: 20px }

/* ************************************************************************** */
/*                             Catalog View                                   */
/* ************************************************************************** */
/* Filter Everything Pro has some issue, the overlay and spinner both won't disappear even though filter works so just kill it */
div.wpc-filters-overlay, div.wpc-spinner { display: none !important }
/* Table bordering */
div.elementor-location-archive table, div.elementor-location-archive table th, div.elementor-location-archive table td { border: 0 }
/* Filter Everything filter */
/* div.wpc-filters-widget-wrapper div.wpc-filters-section { float: left; padding-right: 20px } */
div.wpc-filters-widget-wrapper { min-width: 200px }
/* Not sure what this is? Some spacing above the products archive - 6/26/24 */
div.elementor-widget-wc-archive-products div.ast-shop-toolbar-container { margin: 0 }
/* Hide Product Count on Category Images */
.woocommerce-js ul.products li.product h2.woocommerce-loop-category__title mark.count, .woocommerce-page ul.products li.product h2.woocommerce-loop-category__title mark.count { display: none }
ul.products span.onsale { z-index: 2; }

div.lmp_products_loading { padding-top: 60px }

/* Smaller button font for mobile users */
@media (max-width: 768px) {
	ul.products li.ast-grid-common-col a.add_to_cart_button, ul.products li.ast-grid-common-col span.addonify-wishlist-btn-label { font-size: .9em }
}

/* Place buttons on same line */
ul.products li.ast-grid-common-col a.button { float: left; padding-right: 23px; padding-left: 23px }
ul.products li.ast-grid-common-col button.adfy-wishlist-btn { padding-right: 23px; padding-left: 23px }

/* WPC Buy now button */
a.wpcbn-btn-archive, #woosq-popup button.wpcbn-btn-single { margin-left: 12px !important }

/* Admin links on Catalog pages */
ul.products div.catalog-admin-links { text-align: left; font-size: .8em }

/* ************************************************************************** */
/*                              Poduct Page                                   */
/* ************************************************************************** */
#product-related-products .upsells h2 { margin-bottom: 1em !important; }

/* Table bordering */
div.product div#tab-description table, div.product div#tab-description table th, div.product div#tab-description table td { border: 0 }

/* Sale Price */
p.price ins span.woocommerce-Price-amount, span.price ins span.woocommerce-Price-amount { color: #77a464 }
/* Wrap 'Buy it with...' & cart buttons */
div.woocommerce-variation-add-to-cart { flex-wrap: wrap !important; }
div.woobt-wrap { flex-basis: 100%; clear: both }
/* Add to cart Buttons */
div.elementor-add-to-cart div.quantity, div.elementor-add-to-cart button.button { max-height: 72px; }
body.single-product div.elementor-add-to-cart form.cart { flex-wrap: wrap ! important }
body.single-product div.elementor-add-to-cart form.cart button { padding: 10px 20px }
/* Prevent 'Need help? Click to send...' from being partially hidden by Social Icons on Mobile */
@media (max-width: 768px) {
  div.elementor-element-00643f1 { margin-bottom: 10px !important }
}
/* Back In Stock Notifier */
misato
.elementor-element-9de6a3b .detail-stock .cwginstock-subscribe-form { display: none !important; }
.cwginstock-subscribe-form .panel-primary { border: unset !important; }
.cwginstock-subscribe-form .panel { box-shadow: unset !important; -webkit-box-shadow: unset !important; }
.cwginstock-subscribe-form .cwginstock-panel-body { padding-bottom: 0px !important; }
.cwginstock-subscribe-form .panel-primary .panel-heading { margin: 0 30px; background-color: #7A7A7A !important; border-color: #7A7A7A !important; }
.cwginstock-subscribe-form .panel-primary .panel-heading h4 { font-size: 1.3rem; line-height: 1.2em; font-weight: 600 }
.cwginstock-panel-body input[type="text"], .cwginstock-panel-body input[type="email"] { margin-bottom: 10px }
.cwginstock-panel-body .form-group { margin-bottom: 5px }

.product .elementor-image-carousel-wrapper .elementor-swiper-button svg path { fill: lightgray ! important }

/* Buy now button */
.button.mci-buy-now-button.disabled, .button.mci-buy-now-button.disabled:hover {
  border-color: #af1d22 ! important;
  background-color: #af1d22 ! important;
} 

/* Hide title for Custom Tabs */
h2.yikes-custom-woo-tab-title { display: none }

/* Related Products - General Styling */
div#product-related-products ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)); /* 5 columns on desktop */
  gap: 20px; /* Adds spacing between items */
  list-style: none;
  padding: 0;
  margin: 0;
}
div#product-related-products li {
  text-align: center;
  margin-bottom: 20px; /* Add margin for spacing */
}
/* Responsive Styles */
@media (max-width: 768px) { /* Tablet and Mobile */
  div#product-related-products ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2 columns on mobile */
  }
}
div#product-related-products .astra-shop-thumbnail-wrap {
  margin-bottom: 0;
}
div#product-related-products li a img {
  padding: 0 10px;
  width: 100%;
  height: auto; /* Ensure images scale properly */
}
div#product-related-products a.ast-loop-product__link h2 {
  font-weight: 400 !important;
}
/* Hide "Add to Cart" buttons */
.elementor-widget-woocommerce-product-upsell a.button {
  display: none;
}
/* Recently Viewed Products Container */
#recently-viewed-products {
  display: flex;
  flex-direction: column; /* Stacks header and product list */
  max-width: min(100%, var(--width));
  margin: 0 auto; /* Center the container */
}
/* Recently Viewed Products List */
.recently-viewed-loop .wpp-list {
  display: grid; /* Use grid layout */
  grid-template-columns: repeat(5, 1fr); /* 5 columns on desktop */
  gap: 20px; /* Adds spacing between items */
  padding: 0;
  margin: 0 auto; /* Center the list within the container */
  list-style: none; /* Remove default list styling */
}
/* Recently Viewed Product Items */
.recently-viewed-item {
  text-align: center; /* Center content */
  margin-bottom: 20px; /* Consistent spacing */
}
/* Product Links */
.recently-viewed-item a {
  display: block;
  color: #1e293b; /* Ensure consistent color for all links */
  text-decoration: none; /* Ensure text is not underlined */
  margin-top: 10px; /* Space between image and title */
}
/* Product Images */
.recently-viewed-item a img {
  width: 100%; /* Take full width of the container */
  height: auto; /* Maintain aspect ratio */
  max-width: 212px; /* Prevent image from growing too large */
  padding: 0 10px;
  display: block; /* Ensure images are block elements */
  margin: 0 auto; /* Center the image */
}
/* Responsive Styles */
@media (max-width: 768px) {
  .recently-viewed-loop .wpp-list {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on mobile */
  }
  .recently-viewed-item a img {
    max-width: 100%; /* Ensure full width on smaller screens */
  }
}



/* Product & Cart page views for "Customers who bought ... also purchased" shortcode */
h4.mci-rp-g-h4 {
  margin-bottom: 40px;
}
.mci-rp-g {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5 columns on desktop */
  gap: 20px; /* Adds spacing between items */
}
.mci-pr {
  text-align: center;
}
.mci-pr img {
  max-width: 100%;
  height: auto; /* Ensure images scale properly */
}
.mci-pr a {
  display: block;
  text-decoration: none !important;
  text-align: center;
  margin-top: 10px;
  color: #1e293b;
}
.mci-pr .btn {
  display: inline-block;
  color: #fff;
  background-color: #af1d22;
  padding: 10px 18px;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.mci-pr .btn:hover {
  background-color: #9d1a1e;
}
.mci-pr form {
  margin-top: 10px;
}
/* Responsive Styles */
@media (max-width: 768px) {
  .mci-rp-g {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on mobile */
  }
}


/* ************************************************************************** */
/*                               Cart Page                                    */
/* ************************************************************************** */
body.woocommerce-cart form.woocommerce-cart-form dl.variation { font-size: .8em !important; }
body.woocommerce-cart form.woocommerce-cart-form dl.variation dt { color: #666 !important; font-weight: bold; }
body.woocommerce-cart form.woocommerce-cart-form dl.variation dd { color: #666 !important; }

/* Remove "View cart" button from the notification banner that is shown after adding an Upsell item to the cart */
body.woocommerce-cart .woocommerce-notices-wrapper a.button { display: none }
/* Make "Cart totals" area full-width */
div.cart-collaterals div.cart_totals { width: 100% ! important }
/* Make buttons slightly smaller */
div.wc-proceed-to-checkout a.checkout-button { padding: 8px ! important }
td.actions button.woosl-btn-all, td.actions button.wpcss-btn { max-width: 48% ! important } 
/* Hide buit-in Cross Sell table since we are using our own furthure down the page */
div.cart-collaterals div.cross-sells { display: none }
/* Remove Wishlist Buttons from Companion Parts Upsell */
#companion-parts button.adfy-wishlist-btn { display: none }
/* Hide Website Feedback and Product Request links on Cart page to not distract during checkout process */ 
.elementor-element-8572585, #product-request-link { display: none }

/* Smalltxt to left of Shipping Quotes */
tr.mci-shipping-row td {
  border-top: 0 !important;
}
tr.mci-shipping-row td::before {
  display: none !important;
}
@media (max-width: 768px) {
  .swiper-slide img { height: 100% ! important; }
}

/* Highlight any Free or Flat Rate shipping methods */
.free-shipping-highlight {
  background-color: #e8f9e8;
  border-radius: 4px;
  padding: 2px 6px;
  transition: background-color 0.3s ease;
}
.free-shipping-highlight:hover {
  background-color: #d9f5d9;
}


.mci-promo-message{
  margin: 0 0 1em;
  padding: 1em 1.5em;
  border-left: 4px solid #46b450; /* WP green */
  background: #ecf9f1;
  color: #1a5632;
  border-radius: 3px;
}

#wc-ppcp-cart-button-container .paypal-button-container { max-width: 100% ! important; } /* Cart PayPal button width, Not working... 12/15/24 */ 
/* Theming for Free Shipping */
tr.woocommerce-shipping-totals label[for="shipping_method_0_free_shipping1"] {
  font-weight: bold;
  background-color: #45a049;
  padding: 4px 6px;
  color: #f8f8f8;
  letter-spacing: 1px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
tr.woocommerce-shipping-totals label[for="shipping_method_0_free_shipping1"]:hover {
  background-color: #3c8d40;
  color: #fff;
}
/* Breadcrumb (site-wide) */
nav.woocommerce-breadcrumb a { text-decoration: none ! important }
/* Style links for WPClever cart addons */  
.woosl-btn, .woosl-btn-all, .wpcss-btn {
  display: inline-block;
  background: none ! important;
  border: none ! important;
  color: #959595 ! important;
  padding: 0 8px 0 0 ! important;
  font-size: 0.9rem ! important;
  font-weight: normal;
  text-decoration: underline;
  cursor: pointer;
  margin-top: 5px;
}
.woosl-btn:hover, .woosl-btn-all:hover, .wpcss-btn:hover {
  color: #2b2b2b ! important;
  text-decoration: none;
  background: none ! important;
}
/* Adjust existing button styling to avoid conflicts */
form.woocommerce-cart-form button {
  padding: 12px 18px;
  white-space: nowrap;
}
.woosl-btn { cursor: pointer; }
/* Ensure global button styling don't override our changes */
button {
  border: none;
  background: none;
  font-family: inherit;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1em;
}
div.e-con-inner { padding-top: 0 ! important }

/* Downsize button & qty field in Cart Side slide-out */
div.elementor-menu-cart__wrapper button.woosl-btn-cart { padding: 10px 25px; margin-bottom: 6px; }
div.elementor-menu-cart__wrapper div.quantity input { padding: .5em; }

/* Make all Cart Page Buttons smaller */
form.woocommerce-cart-form button, form.woocommerce-cart-form button.button, form.woocommerce-cart-form a.woosl_add_to_cart_button { padding: 12px 18px; white-space: nowrap }

form.woocommerce-cart-form div.coupon button.button { background-color: #999; }

/* Cart: Hide Amazon Pay button */
p.wc-apa-button-separator, div#pay_with_amazon { display: none }

/* Spacing around (X) remove cart icon */
table.woocommerce-cart-form__contents td.product-remove a.remove { margin-right: 5px; }

/* Hide OUT OF STOCK overlay */
span.ast-shop-product-out-of-stock { display: none; }

/* Coupon Error Notice theming */
div.coupon p#coupon-error-notice {
  margin: 0px 15px;
  background-color: #FFFE99;
  padding: 4px 8px;
}

/* ************************************************************************** */
/*                            Checkout Page                                   */
/* ************************************************************************** */
wc-order-attribution-inputs, body.woocommerce-checkout div.ast-footer-copyright, body.woocommerce-checkout div.ast-site-title-wrap {
  display: none ! important;
}

/* Hide "Have an Amazon account?" message at top of Checkout page */
article#post-11 div.wc-amazon-checkout-message, article#post-11 div.wc-amazon-payments-advanced-info, body.woocommerce-checkout div.wc-amazon-payments-advanced-populated { display: none ! important; }

/* CheckoutWC */
footer#cfw-footer { border-top: none ! important; }

/* Hide Header, Footer, Scroll To Top arrow */
body.page-id-11 .elementor-location-header, body.page-id-11 .elementor-location-footer, body.page-id-11 #ast-scroll-top { display: none !important }

/* Provide checkout page padding */
article#post-11 { padding: 1rem; margin-bottom: 0px }
article#post-11 h3#ship-to-different-address { margin-top: 10px }

/* Remove padding from main form */
article#post-11 form.woocommerce-checkout { padding: 0 !important }

/*
article#post-11 header.entry-header { display: none }
*/

form.woocommerce-checkout { padding: 0 20px }
div#customer_details div.ast-checkout-form-heading h3 { font-size: 2rem }

/* Upper Checkout Area */
div.checkout-upper { margin-left: -20px; margin-right: -20px; min-height: 75vh; background: url("/wp-content/uploads/2024/02/checkout-header-1.jpg") no-repeat; background-size: cover; display: flex; align-content: center; align-items: center }
div.checkout-upper div.checkout-upper-left { width: 99%; padding-left: 20px }
div.checkout-upper h2.checkout-upper-header { color: #FFFFFF; font-family: "Inter", Sans-serif; font-size: 52px; font-weight: 600; text-transform: uppercase; letter-spacing: 5.4px; text-rendering: optimizeLegibility }

/* Lower Checkout Area */
div.checkout-lower { width: 80%; margin-top: 100px; height: 500px; background: url("/wp-content/uploads/2024/02/checkout-footer-1.jpg") no-repeat; background-size: 100%; display: flex; align-content: center; align-items: center; text-align: center }
div.checkout-lower div.checkout-lower-inner { width: 100% }
div.checkout-lower h2.checkout-lower-header { color: #FFFFFF; font-family: "Inter", Sans-serif; font-size: 52px; font-weight: 600; text-transform: uppercase; letter-spacing: 5.4px }

/* Preserve img thumbnail aspect ratio */
.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image .ast-product-thumbnail img { height: unset }

/* Format text in Shipping Quote box */
body.page-id-11 tr.woocommerce-shipping-totals td { text-align: left !important }

/* ************************************************************************** */
/*                             Wish List Page                                 */
/* ************************************************************************** */
/* Hide 'Downloads' menu item */
.elementor-758 li.woocommerce-MyAccount-navigation-link--downloads { display: none }

/* ************************************************************************** */
/*                               My Account                                   */
/* ************************************************************************** */
form.woocommerce-form-login { width: 100% }
div#customer_login input#username, div#customer_login input#password { width: 100% }
nav.woocommerce-MyAccount-navigation { float: left; margin-right: 10px }
div#account-order-tracking input#orderid, div#account-order-tracking input#order_email { width: 80% }

/* ************************************************************************** */
/*                          Newsletter User Page                              */
/* ************************************************************************** */
article#post-148399 { margin: 40px }
div.tnp-lists { margin: 30px }
div.tnp-lists span.tnp-list-label { font-size: 1.4em }

/* ************************************************************************** */
/*                                  Footer                                    */
/* ************************************************************************** */
div.footer-small-text p { text-rendering: optimizeLegibility }
div#product-request-link h6 a { color: #1e293b }
.site-footer {
  color: #777;
  padding: 40px 20px 20px;
  font-size: 14px;
}
.site-footer .motto { padding-left: 6px; }
.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 30px;
  max-width: 1200px;
  margin: auto;
}
.footer-col h4 {
  margin-bottom: 12px;
  font-size: 16px;
  color: #555;
}
.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-col ul li {
  margin-bottom: 8px;
}
.footer-col ul li a {
  color: #777;
  text-decoration: none;
}
.site-footer a.address {
  text-decoration: none;
  color: #777;
}
.footer-logo {
  max-width: 180px;
  margin-bottom: 10px;
}
.footer-social li {
  display: inline-block;
  margin-right: 10px;
}
#footer-socials .facebook {
    float: left;
    width: 32px;
    height: 32px;
    background: url(/wp-content/uploads/2025/09/sprite-socials002.png) -0px -0px;
}
#footer-socials .google {
    float: left;
    width: 32px;
    height: 32px;
    background: url(/wp-content/uploads/2025/09/sprite-socials002.png) -32px -0px;
}
#footer-socials .instagram {
    float: left;
    width: 32px;
    height: 32px;
    background: url(/wp-content/uploads/2025/09/sprite-socials002.png) -64px -0px;
}
#footer-socials .tiktok {
    float: left;
    width: 32px;
    height: 32px;
    background: url(/wp-content/uploads/2025/09/sprite-socials002.png) -96px -0px;
}
#footer-socials .yelp {
    float: left;
    width: 32px;
    height: 32px;
    background: url(/wp-content/uploads/2025/09/sprite-socials002.png) -128px -0px;
}
#footer-socials .youtube {
    float: left;
    width: 32px;
    height: 32px;
    background: url(/wp-content/uploads/2025/09/sprite-socials002.png) -160px -0px;
}
#footer-socials .xx {
    float: left;
    width: 32px;
    height: 32px;
    background: url(/wp-content/uploads/2025/09/sprite-socials002.png) -192px -0px;
}
.footer-newsletter h4 { margin: 15px 0 10px 0; }
.footer-newsletter input[type="email"] {
  padding: 6px;
  width: 70%;
  border: none;
  margin-bottom: 8px;
}
.footer-newsletter .tnp-submit {
  background: #af1d22;
  color: white;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  opacity: 0.6;
}
.footer-bottom {
  margin-top: 10px;
  padding-top: 15px;
  text-align: center;
  font-size: 13px;
  color: #999;
}
.footer-bottom p { text-align: center; }


/* ************************************************************************** */
/*                                  Other                                     */
/* ************************************************************************** */
.notice-success {
    background-color: #d4edda;
    color: #155724;
    padding: 10px;
    border-left: 5px solid #28a745;
}
.notice-warning {
    background-color: #fff3cd;
    color: #856404;
    padding: 10px;
    border-left: 5px solid #ffc107;
}
.notice-error {
    background-color: #f8d7da;
    color: #721c24;
    padding: 10px;
    border-left: 5px solid #dc3545;
}
form.elementor-form div.elementor-message-success {
  background-color: #F4FFA2 !important;
  padding: 16px 20px !important;
}

/* DIFFTOBER FLYING BATS! */
body.flying-bats {
    position: relative;
    overflow-x: hidden;
}
.bat {
    font-size: 2em;
    color: #000;
    position: fixed;
    top: 0;
    left: 0;
    will-change: transform;
    animation: fly-around 10s linear infinite;
    -webkit-animation: fly-around 10s linear infinite ease-in-out;
    transform: translate(var(--random-x), var(--random-y)) translateZ(0);
    -webkit-transform: translate(var(--random-x), var(--random-y)) translateZ(0);
    z-index: 9999;
}
/* October Flying Emojis! Updated to clickable emojis 9/28/25 */
body.flying-emojis {
  position: relative;
  overflow-x: hidden;
}
.emoji-link {
  font-size: 1.5em;
  color: #000;
  position: fixed;
  top: 0;
  left: 0;
  will-change: transform;
  animation: fly-around 13s linear infinite;                                    /* Higher number slows animation */
  -webkit-animation: fly-around 13s linear infinite ease-in-out;                /* Higher number slows animation */
  transform: translate(var(--random-x), var(--random-y)) translateZ(0);
  -webkit-transform: translate(var(--random-x), var(--random-y)) translateZ(0);
  z-index: 9999;
  text-decoration: none;                                                        /* prevent underlines */
  cursor: pointer;                                                              /* makes it obvious it’s clickable */
  transition: transform 0.2s ease, filter 0.2s ease;
}
.emoji-link:hover {
  transform: scale(1.3);                                                        /* scale up */
  filter: drop-shadow(0 0 10px #ff9900);                                        /* glowing highlight */
}
@keyframes fly-around {
  0%   { transform: translate(0, 0) scale(1); }
  25%  { transform: translate(var(--x1), var(--y1)) scale(1); }
  50%  { transform: translate(var(--x2), var(--y2)) scale(1); }
  75%  { transform: translate(var(--x3), var(--y3)) scale(1); }
  100% { transform: translate(0, 0) scale(1); }
}