/** Shopify CDN: Minification failed

Line 593:8 Expected identifier but found whitespace
Line 593:10 Unexpected "{"
Line 593:20 Expected ":"
Line 595:13 Expected identifier but found whitespace
Line 595:15 Unexpected "{"
Line 595:25 Expected ":"
Line 603:8 Expected identifier but found whitespace
Line 603:10 Unexpected "{"
Line 603:20 Expected ":"

**/
/* ==========================================================================
   TOPPED TOYS — custom.css
   Note: This file is processed by Shopify's Liquid engine, so
   {{ settings.* }} variables are valid inside this file.

   SECTIONS:
   1.  Global / Base
   2.  Announcement Bar
   3.  Header & Desktop Navigation
   4.  Mobile Navigation Drawer
   5.  Badges
   6.  Buttons & CTAs
   7.  Homepage — Image Banner
   8.  Featured Products
   9.  Image With Text (IWT)
   10. FAQ Accordion
   11. Misc Sections
   12. Blog
   13. Collection Page
   14. Product Page (PDP)
   15. Cart Drawer
   16. Widgets (Rebuy, Judge.me, etc) 
   17. Footer
   18. Responsive — Tablet (min-width: 768px)
   19. Responsive — Mobile (max-width: 900px)
   20. Responsive — Large Screens (min-width: 1706px)
   ========================================================================== */


/* ==========================================================================
   1. GLOBAL / BASE
   ========================================================================== */

/* --- Type Scale --- */
:root {
  --text-sm:   13px;  /* fine print, badges, labels    */
  --text-base: 16px;  /* body text                      */
  --text-md:   20px;  /* UI elements, buttons, prices   */
  --text-lg:   24px;  /* card titles, subheadings       */
  --text-xl:   32px;  /* section headings               */
  --text-2xl:  40px;  /* hero headings                  */
  --text-3xl:  48px;  /* PDP title                      */
}

html {
  padding: 0 !important;
}

h3, .h3,
h4, .h4, h5, .h5, h6, .h6, .subheading {
  letter-spacing: normal;
}

.h1 {
  font-weight: 700;
}

.page-width--wide {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px;
}

.read-more, .show-less {
  text-decoration: underline;
}

.crs_image {
  width: 100%;
}

.preheader {
  display: flex;
  align-items: left;
  justify-content: left;
  margin-bottom: 25px;
}

.section-heading {
  text-align: left;
}
.site-header {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}
.btn,
.banner-button,
.shop-all-btn {
  margin-top: 24px;
}

/* ==========================================================================
   2. ANNOUNCEMENT BAR
   ========================================================================== */

.announcement-slider__slide p {
  line-height: 1.3;
  margin: 0;
  font-size: var(--text-md);
  padding: 5px 0;
}


/* ==========================================================================
   3. HEADER & DESKTOP NAVIGATION
   ========================================================================== */

.multi-selectors__item button {
  color: #f7f7f7;
}

.header-item .toolbar__item {
  border-right: 1px solid #f7f7f7;
}

.header-item--icons {
  flex-wrap: wrap;
}

.site-navigation {
  display: flex;
  position: relative;
  height: 100%;
}

/* Mega menu column with no image */
.pos-rel {
  position: relative !important;
}
.pos-rel .no-col-image {
  min-width: 200px !important;
}
.pos-rel .no-col-image ul {
  width: 100%;
}

/* Text column layout */
.text-column-section .grid--flush-bottom {
  display: flex;
  justify-content: space-between;
}
.text-column-section .grid:after {
  content: none;
}

/* Dropdown mega menu */
.dropdown-container {
  min-width: 665px !important;
  padding: 0 !important;
  top: 100% !important;
  left: -15px !important;
}
.site-nav--has-dropdown:hover .dropdown-container {
  display: flex !important;
}
.is-focused a.site-nav__link-new,
.site-nav--has-dropdown:hover > a {
  background: transparent !important;
  color: #f7f7f7 !important;
}
.dropdown-container ul {
  width: 50%;
  padding: 15px 0 0 10px;
}
.dropdown-container .dropdown-image-container {
  width: 50%;
}

.text-center .site-navigation {
  height: 100%;
  display: flex;
}
.site-nav__item {
  display: flex;
  align-items: center;
}
.site-nav__dropdown a {
  font-weight: 600;
  font-size: var(--text-md);
}
.site-nav__dropdown a:hover {
  color: #d8232f;
}
.show_megamenu .text-center .site-navigation {
  position: relative;
}
.show_megamenu .site-nav__item {
  position: unset;
}


/* ==========================================================================
   4. MOBILE NAVIGATION DRAWER
   ========================================================================== */

/* Hamburger / close button container (hidden on desktop) */
.button-container {
  position: relative;
  display: none;
  align-items: center;
  width: 44px;
  justify-content: center;
}
.button-container .js-drawer-open-nav {
  display: inline-flex;
  padding: 0 !important;
  min-width: unset !important;
  min-height: unset !important;
}
.button-container .drawer__close-button {
  display: none !important;
  position: static !important;
  right: auto !important;
  height: auto !important;
  padding: 0 !important;
  min-width: unset !important;
  min-height: unset !important;
}
.button-container .drawer__close-button:hover,
.button-container .drawer__close-button:active {
  background: transparent !important;
}
/* Swap hamburger → X when drawer is open */
.button-container.is-open .js-drawer-open-nav {
  display: none !important;
}
.button-container.is-open .drawer__close-button {
  display: inline-flex !important;
  color: #f7f7f7;
}
.button-container .js-drawer-open-nav .icon,
.button-container .drawer__close-button .icon {
  width: 24px;
  height: 24px;
}

.drawer-pos-logo-center {
  width: 100% !important;
  left: 0 !important;
}
.mobile-nav__toggle button {
  color: #f7f7f7 !important;
}

/* Search bar inside drawer */
.menu-drawer__search {
  border-radius: 100px;
  width: 100%;
  padding: 20px;
  color: #f7f7f7;
  font-size: var(--text-base) !important;
  font-weight: 400;
}

.menu-shop-all {
  font-size: var(--text-md);
  font-weight: 700;
  line-height: 18px;
  text-decoration: underline;
}

/* Hide announcement bar when drawer is open */
.js-drawer-open .announcement-bar {
  display: none;
}
.js-drawer-open .header-sticky-wrapper {
  z-index: 10001 !important;
}

/* NavDrawer base */
#NavDrawer {
  background-color: var(--colorNav);
  top: 0 !important;
}
#NavDrawer .mobile-nav__link {
  color: #f7f7f7;
  background: transparent;
}
#NavDrawer .multi-selectors {
  justify-content: flex-start;
}
#NavDrawer .toolbar__item .faux-select,
.toolbar__item select {
  padding-left: 0;
}

/* Remove hover backgrounds — only chevron turns red */
#NavDrawer .mobile-nav__link:hover,
#NavDrawer .mobile-nav__link:active,
#NavDrawer .mobile-nav__toggle button:hover,
#NavDrawer .mobile-nav__toggle button:active {
  background-color: transparent !important;
}
#NavDrawer .mobile-nav__toggle button:hover .icon {
  color: #d8232f;
}

/* Footer area and social icons inside drawer */
#NavDrawer .mobile-nav__footer {
  background-color: var(--colorNav);
  border-top: none;
}
#NavDrawer .mobile-nav__social {
  display: none;
}

/* Sublist / nested nav items */
.mobile-nav__has-sublist,
.mobile-nav__sublist {
  margin: 8px 0 8px 16px;
}
.mobile-nav__has-sublist img {
  max-width: 56px;
  width: 100%;
  border-radius: 4px;
}

/* Search bar styling inside NavDrawer */
#NavDrawer .search-bar {
  display: block !important;
  position: relative !important;
  margin: 12px 20px 24px !important;
  width: calc(100% - 40px) !important;
  box-sizing: border-box !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #f7f7f7 !important;
}
#NavDrawer .input-group-field {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  padding: 15px 44px 15px 24px !important;
  border-radius: 100px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #f7f7f7 !important;
  font-size: var(--text-base) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
/* Kill WebKit search input native decorations */
#NavDrawer .input-group-field::-webkit-search-decoration,
#NavDrawer .input-group-field::-webkit-search-cancel-button,
#NavDrawer .input-group-field::-webkit-search-results-button,
#NavDrawer .input-group-field::-webkit-search-results-decoration {
  display: none !important;
  -webkit-appearance: none !important;
}
#NavDrawer .input-group-btn {
  position: absolute !important;
  top: 50% !important;
  right: 14px !important;
  transform: translateY(-50%) !important;
  height: auto !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
#NavDrawer #search-bar-icon {
  position: static !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  padding: 0 !important;
  min-width: unset !important;
  min-height: unset !important;
  width: 20px !important;
  height: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
#NavDrawer #search-bar-icon svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: #f7f7f7 !important;
}
#NavDrawer #search-bar-icon::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
}
#NavDrawer .drawer__close {
  display: none !important;
}


/* ==========================================================================
   5. BADGES
   (Used on product cards, PDP, and menu items)
   ========================================================================== */

.badge {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: var(--text-sm);
  font-weight: 700;
  color: #f7f7f7;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
}
.trending-badge {
  background: #222222;
}
.best-seller-badge {
  background: #1779F7;
}
.menu-badge {
  position: relative;
  font-size: var(--text-sm);
  line-height: 11px;
  padding: 6px;
  border-radius: 4px;
  color: #f7f7f7;
}
/* Badge override on sticky PDP header */
.product-single__sticky .badge {
  left: 20px;
  top: 24px;
  font-size: var(--text-md);
  padding: 5px 15px;
  right: unset;
}

.product-block--price {
  padding-top: 3px !important;
}
/* Stat size cards */
.stat-cards {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin: 16px 0;
}

.stat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #222222;
  padding: 10px 12px;
  text-align: center;
  background: #f7f7f7;
}

.stat-card__value {
  font-size: 24px;
  font-weight: 700;
  color: #222222;
  line-height: 1;
  margin-bottom: 4px;
}

.stat-card__label {
  font-size: 12px;
  font-weight: 600;
  color: #222222;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.stat-cards-header {
  display: flex;
  gap: 4px;
  margin-top: 8px;
}

.stat-unit-toggle {
  padding: 4px 12px;
  border: 1px solid #222222;
  background: transparent;
  color: #222222;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: 0.05em;
}

.stat-unit-toggle.active {
  background: #222222;
  color: #F0F0F0;
}

@media (max-width: 767px) {
  .stat-cards {
    flex-direction: row;
    width: 100%;
  }

  .stat-card {
    padding: 8px 6px;
  }

  .stat-card__value {
    font-size: 20px;
  }

  .stat-card__label {
    font-size: 12px;
  }

  .stat-cards-header {
    width: 100%;
    max-width: none;
  }
}

@media (min-width: 768px) {
  .stat-cards {
    flex-direction: row;
    max-width: 400px;
  }

  .stat-card {
    flex: 1;
  }
}

/* Quick-View Stat Card Overrides */
/* Stat cards - quickview overrides */
.modal--quick-shop .stat-cards { margin: 8px 0; gap: 5px; max-width: 340px; align-items: stretch; }
.modal--quick-shop .stat-card { padding: 8px 10px; min-height: unset; }
.modal--quick-shop .stat-card__value { font-size: 18px; margin-bottom: 2px; line-height: 1.1; }
.modal--quick-shop .stat-card__label { font-size: 13px; line-height: 1.2; }
.modal--quick-shop .stat-cards-header { margin-top: 4px; }
.modal--quick-shop .stat-unit-toggle { padding: 4px 12px; font-size: 13px; }

.quick-product__btn {
  text-transform: uppercase;
}
/* ==========================================================================
   6. BUTTONS & CTAs
   ========================================================================== */

/* Container layout */
.btn-container {
  text-align: center;
  margin-top: 40px;
}
.shop-btn-container {
  text-align: center;
  margin-top: 40px;
}

/* Full-width utility */
.full-width-btn {
  width: 100%;
}

/* Large buttons — unified 24px / 14px 60px */
.btn-container .btn,
.shop-btn-container .btn {
  font-size: var(--text-lg);
  padding: 14px 60px !important;
}

/* Primary cart button — theme .btn handles display/cursor/border-radius/etc.
   Only keeping what's unique: colors and width */
.btn-cart {
  margin: 0 !important;
  width: 100%;
  color: {{ settings.color_button_text | default: "#f7f7f7" }};
  color: var(--colorBtnPrimaryText);
  background: {{ settings.color_button | default: "#1c1d1d" }};
  background: var(--colorBtnPrimary);
}

/* Alternate cart button — dark background only */
.btn-cart-alt {
  margin: 0 !important;
  width: 100%;
  color: {{ settings.color_button_text | default: "#f7f7f7" }};
  color: var(--colorBtnPrimaryText);
  background: #222222 !important;
}

/* Add to Cart button */
button.add-to-cart {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 10px 20px;
  font-size: var(--text-base);
  line-height: 1.5;
  box-sizing: border-box;
}
button.add-to-cart span[data-add-to-cart-text] {
  display: flex;
  align-items: center;
  justify-content: center;
}
button.add-to-cart span.atc-money {
  margin-left: 5px;
  font-weight: bold;
}

/* Heading link button */
.hero__link .btn {
  color: #f7f7f7;
}

/* Shop All button — red variant, kept smaller intentionally */
.shop-all-btn {
  padding: 18px 60px;
  background: #d8232f;
  color: #f7f7f7;
}
.shop-all-btn:hover {
  position: relative;
  overflow: hidden;
  transition: background 0.2s ease 0s;
}
/* Space above buttons so they breathe from the content above */
.feature-row__text .btn,
.banner-button-container,
.shop-btn-container,
.btn-container {
  margin-top: 28px;
}
/* Global button style — uppercase, lighter weight */
.btn {
  text-transform: uppercase !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}

.btn--small {
  border: 2px solid #202020 !important;
  padding: 10px 24px !important;
  font-size: var(--text-base) !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}

/* ==========================================================================
   7. HOMEPAGE HERO - IMAGE BANNER
   ========================================================================== */
/* Slideshow — bottom gradient overlay */
.hero .slideshow__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to top in oklch,
    oklch(0% 0 0 / 0.82) 0%,
    oklch(0% 0 0 / 0.58) 20%,
    oklch(0% 0 0 / 0.24) 40%,
    oklch(0% 0 0 / 0.06) 55%,
    transparent 70%
  );
}
.hero .hero__title,
.hero .hero__subtitle,
.hero .hero__top-subtitle {
  text-shadow: 0 1px 12px rgba(0,0,0,0.5);
}

.hero .hero__text-wrap {
  position: relative;
  z-index: 2;
}
.image-banner-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

/* Width splits for different banner layouts */
.image-text-half .banner-media-container,
.image-text-half .banner-text-container {
  flex-basis: 50%;
}
.image-text-one-sixth .banner-media-container {
  flex-basis: 60%;
}
.image-text-one-sixth .banner-text-container {
  flex-basis: 40%;
}
.image-text-one-third .banner-media-container {
  flex-basis: 33.33%;
}
.image-text-one-third .banner-text-container {
  flex-basis: 33.33%;
}
.image-text-one-fourth .banner-media-container {
  flex-basis: 25%;
}
.image-text-one-fourth .banner-text-container {
  flex-basis: 75%;
}

.image-banner-rating {
  margin-bottom: 24px;
}
.rating_text {
  font-weight: 700;
  font-size: var(--text-sm);
  line-height: 23px;
  margin-left: 7px;
}

.text-first {
  flex-direction: row-reverse;
}
.banner-text {
  text-align: center;
}
.banner-text .banner-heading {
  font-weight: 600;
  line-height: 43.2px;
  margin-bottom: 40px;
  text-transform: uppercase;
  font-size: var(--text-xl);
}
.banner-button-container,
.break--text {
  position: relative;
  margin: 30px 0;
}
.banner-button {
  font-size: var(--text-lg) !important;
  padding: 12.5px 67px !important;
}
.banner-media img {
  width: 100%;
}
.banner-break-text {
  font-size: var(--text-md);
}
.text-one {
  border-right: 1px solid #1c1d1d;
  padding-right: 5px;
}


/* Homepage slideshow hero — scoped to index template so collection header
   (same .hero__title class) keeps its own theme-editor size.
   Desktop: theme editor title_size controls it (currently 70px).
   Mobile: overridden below to stay big and bold. */


/* ==========================================================================
   8. FEATURED PRODUCTS
   ========================================================================== */

.image-below {
  display: flex !important;
  flex-direction: column-reverse;
}
.image-container {
  position: relative;
  margin: 0 auto;
}
.image-below .image-container {
  width: 100%;
}
.image-container .image-wrap {
  background: transparent;
}

.product_count {
  margin: 5px 0 10px;
  font-size: var(--text-base);
  color: #454545;
}

.featured-product-new-container {
  display: grid;
  gap: 18px;
}
.featured-products-new {
  position: relative;
  width: 100%;
}
.featured-products-new .product__title {
  font-weight: 700;
}
.featured-products-new .content-container {
  text-align: center;
  margin-top: 24px;
}

.new_product__image {
  width: 100%;
  margin: 0 auto;
  object-fit: cover;
}

/* Image size variants */
.prd-image_small  { max-width: 480px; }
.prd-image_medium { max-width: 620px; }
.prd-image_large  { max-width: 740px; }

.featured-products-new .grid-image-small  { max-height: 365px; }
.featured-products-new .grid-image-medium { max-height: 458px; }
.featured-products-new .grid-image-large  { max-height: 550px; }

.product__title,
.price-container {
  margin: 8px 0;
}

.fpn-heading {
  margin-bottom: 40px;
}
.fpn-heading h2 {
  font-size: var(--text-2xl);
  font-weight: 600;
}
.fpn-main {
  padding: 110px 0 80px;
}

/* Grid column counts */
.prd-count_1 { grid-template-columns: 1fr; }
.prd-count_2 { grid-template-columns: 1fr 1fr; }
.prd-count_3 { grid-template-columns: 1fr 1fr 1fr; }
.more-products { grid-template-columns: repeat(4, 1fr); }

.text-and-image_container {
  padding: 90px 0;
}

.option_available {
  text-transform: uppercase;
  font-size: var(--text-sm);
}

.tagline-main {
  text-transform: uppercase;
  font-size: var(--text-md);
  font-weight: 700;
  border-bottom: 2px solid #d8232f;
  width: fit-content;
  margin: 10px auto 0 !important;
  letter-spacing: normal;
  cursor: pointer;
}

.ch_product_count {
  font-size: 18px;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.45);
}

/* Checkmark list (feature richtext section) */
.feature-richtext-check ul {
  list-style: none;
}
.feature-richtext-check li:before {
  content: "\f00c";
  font-family: FontAwesome;
  padding-right: 14px;
  color: #d8232f;
}
.feature-row__item ul {
  margin: 0;
  font-weight: 700;
}
.feature-row-wrapper {
  padding: 0 48px;
}

/* Collection item titles (used in subcollection grids) */
.collection-item__title,
.collection-item__title span,
[data-type_product_capitalize="true"] .collection-item__title span {
  font-size: 20px;
  font-weight: 600;
  margin-top: 12px !important;
  letter-spacing: normal !important;
}

/* Product link underline */
.product_link {
  text-transform: uppercase;
  border-bottom: 2px solid #d8232f;
  font-weight: 700;
}

.heading-mobile {
  display: none;
}

/* Carousel arrows */
.slick-dots {
  bottom: -50px !important;
}
.slick-dots li button:before {
  font-size: var(--text-sm) !important;
}
.slick-prev:before {
  content: '\f053' !important;
  color: #222;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: var(--text-xl) !important;
  opacity: 1 !important;
}
.slick-next:before {
  content: '\f054' !important;
  color: #222;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: var(--text-xl) !important;
  opacity: 1 !important;
}
.slick-prev {
  left: -65px !important;
  width: 33px;
  height: 33px;
}
.slick-next {
  right: -65px !important;
  width: 33px;
  height: 33px;
}

/* Collection image heights */
.collection-image-medium img { height: 259px !important; }
.collection-image-small img  { max-height: 203px; }
.collection-image-large img  { max-height: 303px; }

/* Single-column review block */
.single-col-review {
  display: flex;
  align-items: center;
  text-align: center;
  flex-direction: column;
  justify-content: center;
}
.review-col-container {
  background: #f7f7f7;
  padding: 57px 20px;
}
.review-col-star,
.review-col-content {
  flex: 0 0 50%;
}
.col-main-review {
  margin-top: 32px;
  margin-bottom: 24px;
}
.rev-date,
.rev-verified {
  color: #515151;
}
.rev-name {
  font-weight: 900;
}


/* ==========================================================================
   9. IMAGE WITH TEXT (IWT)
   ========================================================================== */

.iwt-container {
  padding-bottom: 72px;
}
.iwt-main-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: 0 !important;
}
.image-right {
  flex-direction: row-reverse;
}
.iwt-content-container .h1 {
  font-size: var(--text-2xl);
  font-weight: 500;
}
.iwt-content-container .feature-richtext {
  font-size: var(--text-lg);
  font-weight: 400;
}
.iwt-content-container {
  max-width: 32%;
  width: 100%;
  position: absolute;
  left: 94px;
}
.iwt-content-container .btn {
  font-size: var(--text-lg) !important;
  padding: 11px;
}
.mobile-image {
  display: none;
}
.feature-row__text .btn {
  margin-top: 24px;
}

/* ==========================================================================
   10. FAQ ACCORDION
   ========================================================================== */

.faq-align_row {
  display: flex;
  justify-content: space-between;
}
.faq-align_row .faq-content {
  flex-basis: 70%;
}
.faq-align_row .heading-container {
  flex-basis: 25%;
}

.icon-minus,
.is-open .icon-plus {
  display: none;
}
.icon-plus,
.is-open .icon-minus {
  display: block;
}
.icon-right {
  position: relative;
  width: 100%;
  padding-left: 0;
}
.faq-heading {
  padding: 11px 0;
  font-size: var(--text-xl);
  font-weight: 600;
  text-align: left;
}
.icon-right .icon {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.faq-div {
  position: relative;
}
.qa-container:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.25);
}
.collapsible-trigger span,
.collapsible-content__inner p {
  font-size: var(--text-lg);
}


/* ==========================================================================
   11. MISC SECTIONS
   (Lightbox, background overrides, etc.)
   ========================================================================== */

/* Collection page background (section-specific IDs) */
#shopify-section-template--16937092645113__collection-header,
#shopify-section-template--16937092645113__main-collection {
  background: #f0f0f0;
}

/* Text-with-icons block titles */
.text-with-icons__block-title h6 {
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.text-with-icons__block-text:empty,
.text-with-icons__block-text p:empty {
  display: none;
}
/* Blog Posts */
.blog-posts-section {
  padding: 48px 0;
}
/* ==========================================================================
   12. BLOG — Training Centre, Size Guides, Features
   ========================================================================== */
.section-header--has-description {
  margin-bottom: 0;
}

.blog-posts-description {
  padding: 12px 0 24px;
  font-size: var(--text-md);
}


/* ==========================================================================
   13. COLLECTION PAGE
   ========================================================================== */

/* Hide color swatches on collection grid cards */
.grid-product .grid-product__colors {
  display: none;
}

/* Product card title */
.grid-product__title {
  font-size: 20px !important;
  font-weight: 600;
  margin-top: 12px; /* space between image and title */
  letter-spacing: normal !important;
}

/* Product card price */
.grid-product__price {
  text-transform: capitalize;
  font-size: var(--text-base);
  font-weight: 400;
}

/* Star rating block */
.collection-rating {
  margin-top: 15px;
  text-align: center;
}

/* Left-align grid so partial last row doesn't center */
.grid__item--content .grid--uniform {
  justify-content: flex-start !important;
}
.grid--uniform .grid__item:last-child:nth-child(odd) {
  margin-left: 0;
  margin-right: auto;
}
/* Collection hero — bottom gradient overlay */
.template-collection .collection-hero__content::before {
  display: none !important;
}
.template-collection .collection-hero .section-header__shadow::before {
  display: none !important;
}
.template-collection .collection-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to top in oklch,
    oklch(0% 0 0 / 0.82) 0%,
    oklch(0% 0 0 / 0.58) 20%,
    oklch(0% 0 0 / 0.24) 40%,
    oklch(0% 0 0 / 0.06) 55%,
    transparent 70%
  );
}
.template-collection .collection-hero {
  position: relative !important;
}
.template-collection .collection-hero__content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  z-index: 2 !important;
}
/* View All button — consistent placement below grid for any row count */
.featured-collection__view-all {
  text-align: center;
  margin-top: 8px;
  margin-bottom: 8px;
}



/* ==========================================================================
   14. PRODUCT PAGE (PDP)
   ========================================================================== */

/* --- Title & Price --- */
.product-single__title {
  font-size: var(--text-2xl);
  font-weight: 700;
  margin-bottom: 0;
}
.product-block--header {
  margin-bottom: 10px;
}
.product-block--price {
  margin-bottom: 13px !important;
}
.product__price {
  font-size: var(--text-lg);
  font-weight: 400;
  line-height: 25px;
}

/* --- Layout --- */
.page-content--product {
  max-width: 1500px;
  margin: 0 auto;
  padding: 55px 40px 0;
}
.prd-quality-list {
  display: flex;
  padding: 20px 0;
  flex-wrap: wrap;
  max-width: 75%;
  position: relative;
}
.prd-quality-list:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.1);
  bottom: 0;
}
.prd-quality {
  margin: 0 15px 15px 0;
  text-transform: uppercase;
  font-size: var(--text-base);
  font-weight: 700;
}
.product-block__text {
  text-align: left;
  font-size: var(--text-md);
  font-weight: 500;
  padding: 6px 0;
}
.product-single__meta,
.product-block,
.product-form__inner {
  text-align: left;
}
.variant-wrapper {
  padding: 6px 0;
}

/* --- Image Gallery --- */
.product__thumb-arrow {
  display: none;
}
.product-slideshow .slick-arrow {
  z-index: 2;
}
.product-slideshow .slick-arrow:before {
  font-size: var(--text-md) !important;
  padding: 9px 14px;
  background: #f7f7f7;
  border-radius: 50%;
}
.product-slideshow .slick-prev {
  left: 12px !important;
}
.product-slideshow .slick-next {
  right: 15px !important;
}

/* --- Add to Cart / Payment Buttons --- */
.payment-buttons .add-to-cart {
  min-height: 44px !important;
  max-height: 64px !important;
  padding: 24px !important;
}
.payment-buttons .add-to-cart span {
  text-transform: uppercase !important;
  font-size: var(--text-md) !important;
  line-height: 24px !important;
}
.shopify-cleanslate .h7OYsWHrW5495r9beh2n,
.shopify-payment-button__button {
  border-radius: 4px;
}
.shopify-payment-button__more-options {
  display: none !important;
}
.shopify-payment-button .shopify-cleanslate .jjzYeefyWpPZLH9pIgyw {
  max-height: 100% !important;
  padding: 24px 12px !important;
}
.shopify-payment-button .shopify-cleanslate .kqsiVA9Jf8LJAbxw8Bau {
  font-size: var(--text-md) !important;
  line-height: 24px !important;
}
.shopify-payment-button {
  margin-top: 15px !important;
}

/* --- Sticky ATC Bar (mobile, fixed to bottom) --- */
.sticky_atc .atc-money {
  display: none;
}
.sticky_atc .btn {
  width: fit-content !important;
  font-size: var(--text-sm) !important;
  text-transform: uppercase;
}
.sticky_atc-container {
  display: none;
  align-items: center;
  background: #f7f7f7;
  justify-content: space-between;
  padding: 8px 10px;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 9;
  filter: drop-shadow(2px 4px 8px black);
}
.sticky_atc-container .product-info {
  display: flex;
}
.prd-main-info {
  padding-left: 10px;
}
.prd-title {
  font-size: var(--text-md);
}
.prd-price-variant {
  font-size: var(--text-sm);
}

/* --- Collection Return Button --- */
.return-link {
  font-size: var(--text-md) !important;
  padding: 12px 30px !important;
  width: auto !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* --- Tabs / Accordions --- */
.product-block--tab button {
  display: flex;
  justify-content: space-between;
}
.product-block--tab .collapsible-trigger-btn--borders {
  border: none;
  text-transform: capitalize;
  font-size: var(--text-md);
  font-weight: 700;
  letter-spacing: normal;
}
.product-block--tab .collapsible-trigger-btn--borders svg {
  color: #d8232f;
}



/* ==========================================================================
   15. CART DRAWER
   ========================================================================== */

div#CartDrawer,
#CartDrawer {
  top: 0 !important;
}
#CartDrawerForm {
  background: #f0f0f0;
  color: #222;
}
#CartDrawerForm .cart__item-name {
  color: #222;
}
.drawer input {
  border-color: #1c1d1d !important;
}
.product-name-price,
.drawer .cart__item-sub-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.cart__item-price-col {
  margin-bottom: 8px;
}
.drawer .cart__checkout {
  font-size: var(--text-base);
}
#CartDrawerForm .drawer__footer {
  background: #f7f7f7;
}
.cart-drawer-count {
  color: rgba(0, 0, 0, 0.5);
  font-size: var(--text-md);
}
.drawer .cart__remove a {
  text-decoration: underline;
  font-weight: 500;
  color: #1c1d1d;
}
#CartDrawerForm .drawer__fixed-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* Checkout button */
.drawer__footer .cart__checkout {
  text-transform: uppercase;
  background: #222222;
  padding: 17px;
  position: relative;
}
.drawer__footer .lock-icon {
  position: absolute;
  left: 40px;
  top: 50%;
  transform: translateY(-50%);
}

/* Empty cart state */
.drawer-empty-text {
  text-align: center;
}
.empty-text {
  font-size: var(--text-lg);
}
.drawer__cart-empty {
  flex: 1;
}
.drawer__cart-empty .drawer__scrollable {
  padding-top: 66px;
}
.drawer__scrollable {
  height: 100%;
  position: relative;
}
.drawer-empty-buttons {
  position: absolute;
  bottom: 20px;
  max-width: 390px;
  width: 100%;
}

/* Drawer scrollable buttons / selectors */
.drawer__scrollable .btn {
  font-size: var(--text-md);
  margin: 20px 0;
}
.drawer__scrollable .multi-selectors__item {
  margin-right: 0;
  margin-left: 0;
}

/* Remove link */
#CartDrawer .cart__remove .text-link,
.cart__page .remove-span {
  display: none;
}
.remove-span {
  cursor: pointer;
  text-decoration: underline;
}

/* "Draty" collection items in empty cart */
.collection-draty {
  display: flex;
  align-items: center;
  color: #454545;
  border: 1px solid #a9a9a9;
  padding: 10px;
  margin-bottom: 12px;
}
.draty-col-image {
  border-radius: 5px;
}
.draty-col-title {
  margin-left: 16px;
  font-size: 20px;
  font-weight: 600;
  color: #454545;
}


/* ==========================================================================
   16. WIDGETS (Rebuy, Judge.Me, etc.) 
   ========================================================================== */

.review-slider-container {
  padding: 80px 0;
}
.slider-header-content {
  text-align: center;
}
.slider-header-content .section-heading {
  font-size: var(--text-2xl);
  font-weight: 600;
}
.slider-header-content .section-subheading {
  text-transform: capitalize;
  font-size: var(--text-lg);
  font-weight: 600;
  margin-top: 16px;
  letter-spacing: normal;
}
.review-slider-container .slick-list {
  margin: 0 -15px;
}
.review-slide-content {
  padding: 27px;
}
.review-slides {
  background: #f7f7f7;
  margin: 0 11px;
}
.main-review p {
  font-size: var(--text-md);
  font-weight: 500;
  line-height: 26px;
}
.reviewer_name {
  margin-bottom: 0;
  font-weight: 700;
}
.verified-badge {
  font-weight: normal;
}
/* --- PDP bundle widget --- */
.template-product .rebuy-widget .rebuy-bundle .rebuy-bundle__images {
  justify-content: space-around;
  width: 100%;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-bundle__actions {
  order: 3;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-bundle__items {
  order: 2;
  width: 100%;
  display: flex;
  justify-content: space-around;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-bundle__items .rebuy-product-block {
  width: 300px;
  padding: 9px 0 0;
  line-height: 1.1;
  text-align: center;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-bundle__image-divider {
  display: none;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-bundle__actions .rebuy-bundle__actions-price,
.template-product .rebuy-widget .rebuy-bundle .rebuy-bundle__actions .rebuy-bundle__actions-buttons {
  margin-left: auto;
  margin-right: auto;
}
.template-product .rebuy-widget .rebuy-widget-container .rebuy-widget-content .primary-title {
  text-align: center;
  font-size: var(--text-md);
}
.template-product .rebuy-checkbox {
  position: relative !important;
  padding: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #333;
  background-color: transparent;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-product-info {
  flex-wrap: wrap !important;
  justify-content: center !important;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-product-checkbox {
  width: 100%;
  margin-bottom: 12px !important;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-product-checkbox .rebuy-checkbox-label {
  margin: 0 auto;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-product-title {
  width: 100%;
  text-decoration: none !important;
  margin: 7px auto !important;
  order: 3;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-checkbox {
  appearance: none;
  accent-color: #414042;
}
.template-product .rebuy-checkbox:checked:before {
  content: "";
  border-radius: 50%;
  border: 1.5px solid #1c1d1d;
  padding: 12px;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-product-label {
  order: 2;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-product-review,
#CartDrawer .rebuy-widget-container .rebuy-widget-content .rebuy-product-info .rebuy-product-review {
  order: 1;
  margin-top: 0;
  width: 100%;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-product-price {
  order: 4;
}
.template-product .rebuy-widget .rebuy-bundle .rebuy-product-review .rebuy-review-count-number {
  font-size: var(--text-base);
  color: #333333;
}
.template-product .rebuy-widget.widget-type-dynamic-bundle .rebuy-bundle .rebuy-product-block .rebuy-product-options {
  margin: 0;
}
.template-product .rebuy-widget.widget-type-dynamic-bundle .rebuy-bundle .rebuy-product-block .rebuy-product-options .rebuy-select {
  padding-left: 10px;
}
.placeholder {
  width: 33.33%;
}

/* --- Cart drawer Rebuy widget --- */
#CartDrawer .rebuy-widget-container .rebuy-widget-content .rebuy-product-title {
  color: #1c1d1d;
  order: 2;
  margin-top: 0;
}
#CartDrawer .rebuy-widget-container .rebuy-widget-content .primary-title {
  font-size: var(--text-sm);
  max-width: 500px;
  background: #f7f7f7;
  margin: 0 -30px;
  padding: 20px;
  text-transform: uppercase;
}
#CartDrawer .rebuy-widget-container .rebuy-widget-content .rebuy-product-info {
  display: flex;
  flex-direction: column;
}
#CartDrawer .rebuy-widget-container .rebuy-widget-content .rebuy-product-info .rebuy-product-price {
  order: 3;
}
#CartDrawer .rebuy-widget-container .rebuy-widget-content .rebuy-product-media img {
  margin: 0;
  max-width: 100px;
}
#CartDrawer .rebuy-widget-container .rebuy-widget-content .rebuy-product-actions .rebuy-button {
  background: transparent;
  padding: 10px;
  width: fit-content;
  color: #1c1d1d;
  margin-left: auto;
  font-size: var(--text-sm);
  text-transform: uppercase;
}

/* --- Fix for broken +/- delete icons after interaction --- */
.svg-inline--fa[data-prefix="far"] g.missing {
  display: none !important;
}
.svg-inline--fa[data-prefix="far"] {
  background-image: var(--original-icon) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 1em !important;
  height: 1em !important;
}
.fa-minus[data-prefix="far"] {
  --original-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='currentColor' d='M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E");
}
.fa-plus[data-prefix="far"] {
  --original-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='currentColor' d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z'/%3E%3C/svg%3E");
}
.fa-trash[data-prefix="far"] {
  --original-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='currentColor' d='M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z'/%3E%3C/svg%3E");
}
/* --- Collection grid — Judge.me review badge --- */
.collection-rating .jdgm-prev-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.collection-rating .jdgm-prev-badge__text {
  font-size: var(--text-sm) !important; /* 13px — matches fine print/price scale */
  letter-spacing: normal !important;
  text-transform: lowercase;
  white-space: nowrap;
}
/* Hide review count text everywhere except PDP + quickview */
.jdgm-prev-badge__text {
  display: none;
}
.template-product .jdgm-prev-badge__text {
  display: inline;
}
.modal--quick-shop .jdgm-prev-badge__text {
  display: inline;
}
/* Hide in recommendations — prevents text wrapping in grid cards */
.product-recommendations .jdgm-prev-badge__text {
  display: none;
}

/* Add padding between stars and text */
.jdgm-prev-badge__stars {
  margin-right: 6px !important;
}

/* ==========================================================================
   17. FOOTER
   ========================================================================== */

/* --- Footer Newsletter Bar --- */
/* --- Layout --- */
.footer-newsletter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 28px 40px;
  background: #d8232f;
  margin-top: -30px; /* pull bar up into the footer top gap */
  margin-bottom: 48px;
}
.footer-newsletter-bar__text {
  flex: 1;
  color: #f7f7f7 !important;
}
.footer-newsletter-bar__form {
  flex-shrink: 0;
}
.footer-newsletter-bar__form form {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-wrap: wrap;
}

/* --- Title ---
   Two-class selector beats the generic .site-footer h2 rule on specificity. */
.footer-newsletter-bar .footer-newsletter-bar__title {
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1.1 !important;
  margin: 0 0 8px !important;
}

/* --- Subtitle ---
   Font-size matches .site-footer p (clamp); colour overrides it to white. */
.footer-newsletter-bar .footer-newsletter-bar__subtitle p {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1rem, 1.1vw, 1.125rem) !important;
  color: #f7f7f7 !important;
  line-height: 1.4;
  margin: 0;
}

/* --- Input --- */
.footer-newsletter-bar__input {
  padding: 0 16px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  min-width: 260px;
  height: 44px;
  border: none;
  background-color: #f7f7f7 !important;
  color: #202020 !important;
  box-sizing: border-box;
}

/* --- Submit button --- */
.footer-newsletter-bar__btn {
  padding: 0 20px;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: #202020;
  color: #f7f7f7;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  height: 44px;
  box-sizing: border-box;
}

/* --- Success message --- */
.footer-newsletter-bar__success {
  color: #fff !important;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  margin: 0;
}

/* --- Layout & Structure --- */
.footer__title {
  font-size: var(--text-md);
  font-weight: 700;
  letter-spacing: normal;
}
.footer__social {
  text-align: center;
  padding-bottom: 40px;
}
.footer__newsletter-btn {
  background: #393939;
  margin-top: 10px;
  padding: 13px 0;
  width: 100%;
}
.footer-bottom-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 40px;
}
.locale-selectors__container {
  display: none;
}
.bottom-right-content .multi-selectors__item button {
  border: 1px solid #f7f7f7;
  padding: 12px 46px 12px 36px;
}
.bottom-right-content .multi-selectors {
  justify-content: right;
}
.bottom-right-content .faux-select .icon {
  right: 25px;
}
.footer__newsletter .footer__newsletter-input {
  background: #f7f7f7;
}
.site-footer .grid__item {
  text-align: left;
}
.footer__social-desktop {
  display: block;
}
.footer__social-mobile {
  display: none;
}
.site-footer__linklist li {
  font-size: var(--text-lg);
}

/* --- Headings --- */
.site-footer .footer__title,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer strong,
.site-footer b {
  color: #f7f7f7 !important;
  font-size: clamp(0.9375rem, 1.2vw, 1.125rem) !important;
  font-weight: 800 !important;
  letter-spacing: normal !important;
  text-transform: uppercase !important;
  display: block;
  margin-top: 1.25rem !important;
  margin-bottom: 0.75rem !important;
}
.site-footer .footer__title:first-child,
.site-footer h2:first-child,
.site-footer h3:first-child,
.site-footer h4:first-child {
  margin-top: 0 !important;
}

/* --- Body Text --- */
.site-footer p,
.site-footer .rte,
.site-footer .footer__item {
  color: #b3b3b3 !important;
  font-size: clamp(1rem, 1.1vw, 1.125rem) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* --- Links --- */
.site-footer a,
.site-footer__linklist a,
.site-footer .rte a {
  font-size: clamp(1rem, 1.1vw, 1.125rem) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255, 255, 255, 0.35) !important;
  text-underline-offset: 4px;
  transition: text-decoration-color 0.2s ease, color 0.2s ease !important;
}
.site-footer a:hover,
.site-footer__linklist a:hover,
.site-footer .rte a:hover {
  color: #d8232f !important;
  text-decoration-color: #d8232f !important;
}

/* --- List Spacing --- */
.site-footer__linklist li {
  margin-bottom: 0.75rem !important;
  font-size: clamp(1rem, 1.2vw, 1.25rem) !important;
}

/* ==========================================================================
   18. RESPONSIVE — TABLET (min-width: 901px)
   ========================================================================== */

@media screen and (min-width: 901px) {
  /* Rebuy bundle image sizing on tablet+ */
  .template-product .rebuy-widget .rebuy-bundle .rebuy-bundle__images .rebuy-bundle__image {
    width: 300px;
    padding: 9px 0 0;
    line-height: 1.1;
    text-align: center;
  }
  .placeholder {
    width: 300px;
  }
}


/* ==========================================================================
   19. RESPONSIVE — MOBILE (max-width: 900px)
   ========================================================================== */

@media screen and (max-width: 900px) {

  /* --- Mobile type scale ---
     These override the :root values so every var(--text-*) element
     scales down automatically. Per-element overrides below still win.
     Desktop → Mobile:
       --text-md:   20px → 18px
       --text-lg:   24px → 20px
       --text-xl:   32px → 26px
       --text-2xl:  40px → 32px                                       */
  :root {
    --text-md:  18px;
    --text-lg:  20px;
    --text-xl:  26px;
    --text-2xl: 32px;
  }

  /* Homepage hero on mobile — theme halves desktop (70px → 35px), override to keep it big */
  .template-index .hero__title {
    font-size: var(--text-3xl) !important; /* 48px — bold and impactful on mobile */
  }

  /* --- Global --- */
  .page-width--wide {
    padding: 0 16px;
  }
  .button-container {
    display: flex;
  }

  /* --- Announcement Bar --- */
  .announcement-bar,
  .feature-row-wrapper {
    padding: 0 !important;
  }
  .announcement-slider__slide p {
    padding: 3px 0;
  }

  /* --- Header --- */
  .site-header .page-width--wide {
    padding: 0 20px;
  }
  .header-item--icons .multi-selectors,
  .js-search-header,
  .header-item--navigation {
    display: none;
  }

  /* --- Image Banner --- */
  .image-banner-rating {
    margin-bottom: 10px;
  }
  .banner-text {
    padding: 16px;
  }
  .banner-text .banner-heading {
    font-size: var(--text-2xl) !important; /* 32px mobile — bigger than before */
    line-height: 1.15;
    margin-bottom: 10px;
  }
  .banner-button-container {
    margin: 13px 0;
  }
  .banner-button {
    width: 100%;
    font-size: var(--text-lg);
  }
  .break--text {
    margin: 20px 0;
  }
  .banner-media-container,
  .banner-text-container {
    flex-basis: 100% !important;
  }
 /* Keep banner and section buttons accessible on mobile */
  .banner-button,
  .btn-container .btn,
  .shop-btn-container .btn,
  .feature-row__text .btn,
  .iwt-content-container .btn, .hero__link .btn {
    font-size: var(--text-base) !important; /* 16px — readable without being huge */
    padding: 14px 40px !important;          /* ~44px+ touch target height */
  }

  /* Standard buttons — slightly more padding than theme default */
  .btn-cart,
  .btn-cart-alt,
  .shop-all-btn {
    padding: 14px 30px !important;
  }

.shop-btn-container .btn,
.feature-row__text .btn {
  max-width: 280px;
  width: 100%;
  margin: 24px auto 0;
  display: block;
}
  /* --- Featured Products / Homepage Sections --- */
  .prd-count_2 {
    grid-template-columns: 1fr !important;
  }
  .featured-product-new-container {
    grid-template-columns: repeat(2, 1fr);
  }
  .text-and-image_container {
    padding: 36px 0;
  }
  .featured-products-new .product__title {
    margin: 10px 0;
  }
  .feature-row__item {
    text-align: left !important;
  }
  .fpn-main {
    padding: 20px 0;
  }
  .fpn-heading h2,
  .feature-row__item .h1 {
    font-size: var(--text-xl) !important;
  }
  .shop-btn-container {
    margin-top: 10px;
  }
  .shop-btn-container a {
    padding: 14px 0;
  }
  .shop-btn-container a,
  .btn-container a,
  .feature-row__item .btn,
  .product__price,
  .iwt-content-container .btn {
    width: 100%;
    font-size: var(--text-md) !important;
  }
  .ch_product_count,
  .feature-row__item .rte p,
  .product-block__text {
    font-size: 18px;
  }
  .text-with-icons__block-title h3,
  .iwt-content-container .feature-richtext {
    font-size: var(--text-sm);
  }
   .text-with-icons__blocks.has-3-per-row {
    flex-wrap: nowrap;
    gap: 8px;
  }
  
  .heading-mobile {
    display: block;
    font-size: var(--text-xl);
  }
  .tagline-main {
    font-size: var(--text-sm);
  }

  /* Borders: only on specific homepage featured-product sections, NOT on collection grid */
  #shopify-section-template--16871116570873__04fe7765-93c2-4446-a2ba-5ea4965bba56 .featured-products-new,
  .section-template--16871116570873__featured-collections .collection-item,
  #shopify-section-template--16871116898553__5d32eb82-69bf-419f-b9b8-9da9f6d5c82d .featured-products-new,
  #shopify-section-template--16871116898553__869eb756-18df-40c8-83cf-2fd91492a970 .collection-item {
    border: 1px solid #a9a9a9;
  }

  /* Review slider */
  .review-slider-container .slick-slide {
    margin: 0 11px;
  }
  .review-col-container {
    padding: 20px;
  }
  .col-main-review {
    margin-top: 10px;
    margin-bottom: 14px;
    font-size: var(--text-sm);
  }
  .rev-name,
  .rev-date,
  .rev-verified {
    font-size: var(--text-sm);
  }

  /* --- Image With Text (IWT) --- */
  .iwt-main-content .image-container {
    flex-basis: 25%;
  }
  .iwt-content-container {
    max-width: 65%;
    text-align: left !important;
    position: relative;
    left: 10px;
    padding: 32px 0;
  }
  .iwt-content-container .h1 {
    font-size: var(--text-lg);
  }
  .mobile-image,
  .sticky_atc {
    display: block;
  }
  .product-section,
  .iwt-container {
    padding-bottom: 0 !important;
  }

  /* --- Collection Page --- */
  .collection-item__title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: normal !important;
  }
  /* Title size on mobile collection grid */
  .variant__label,
  .collection-grid__wrapper .grid-product__title {
    font-size: 20px;
  }

.collection-grid__wrapper .grid-product__price {
  font-size: 16px;
}
.feature-richtext-check ul {
  font-size: var(--text-sm);
}
  .grid-product {
    margin-bottom: 24px;
  }
  .collection-item .collection-image-medium img {
    height: 156px !important;
  }
  .collection-image img {
    max-height: 100% !important;
    height: 100% !important;
  }
  /* Stars smaller on mobile */
.collection-rating .spr-icon,
.collection-rating .icon,
.collection-rating svg {
  width: 14px !important;
  height: 14px !important;
  font-size: 14px !important;
}

  /* --- FAQ --- */
  .faq-align_row {
    flex-direction: column;
  }
  .faq-heading {
    font-size: var(--text-lg); /* 20px — smaller than PDP title (26px) on mobile */
  }
  .collapsible-trigger span,
  .collapsible-content__inner p,
  .iwt-content-container .btn {
    font-size: var(--text-md); /* 18px with mobile root */
  }

  /* --- Product Page (PDP) --- */
  .product-single__title {
    font-size: var(--text-xl);
    margin: 10px 0;
  }
  .page-content--product {
    max-width: 100%;
    padding: 15px 16px;
    padding-right: 0;
  }
  .prd-quality-list {
    max-width: 100%;
    padding: 16px 0;
  }
  .prd-quality,
  .cbb-product-page .text-with-icons__block-title h3 {
    font-size: var(--text-sm);
  }
  .add-to-cart {
    font-size: var(--text-lg) !important;
  }
  .payment-buttons .add-to-cart {
    padding: 17px !important;
  }
  .payment-buttons .add-to-cart span {
    text-transform: uppercase !important;
    font-size: var(--text-md) !important;
    line-height: 19.82px !important;
  }
  .shopify-payment-button .shopify-cleanslate .jjzYeefyWpPZLH9pIgyw {
    max-height: 100% !important;
    padding: 15px 12px !important;
  }
  .shopify-payment-button .shopify-cleanslate .kqsiVA9Jf8LJAbxw8Bau {
    font-size: var(--text-md) !important;
    line-height: 19.82px !important;
  }
  .product-slideshow .slick-list {
    padding: 0 10% 0 0 !important;
  }
  .product-image-main {
    margin-right: 8px;
  }
  .product-details {
    padding-right: 17px;
  }
  .product-single__sticky .badge {
    font-size: var(--text-sm);
    padding: 8px;
    line-height: 11px;
    left: 8px;
    top: 8px;
  }
  .feature-row__text .btn {
    padding-right: 0;
    padding-left: 0;
  }

  /* --- Collection Return Button (mobile) --- */
  .return-link {
    font-size: var(--text-base) !important;
    padding: 10px 20px !important;
    width: auto !important;
  }

  /* --- Footer Newsletter Bar (mobile) --- */
  .footer-newsletter-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 20px 28px 28px;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 32px;
  }
  .footer-newsletter-bar__text,
  .footer-newsletter-bar__form {
    width: 100%;
  }
  .footer-newsletter-bar__form form {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
  }
  .footer-newsletter-bar__input {
    flex: 1;
    min-width: 0;
    font-size: 0.8rem;
    height: 40px;
  }
  .footer-newsletter-bar__btn {
    flex-shrink: 0;
    font-size: 0.7rem;
    padding: 0 14px;
    height: 40px;
  }

  /* Fix: hide empty mobile social icons container */
  .footer__social-mobile:not(:has(li)) {
    padding: 0 !important;
    display: none !important;
  }

  /* --- Footer (mobile) --- */
.footer__social-mobile {
  display: block;
  padding: 40px 0;
}
.footer__social-desktop {
  display: none;
}
.site-footer .grid {
  display: grid;
}
.footer__item--footer2 {
  grid-row-start: 1;
}
.footer-bottom-content {
  display: block;
  padding-bottom: 30px !important;
}
.bottom-left-content p {
  text-align: left;
}
.bottom-right-content .multi-selectors {
  justify-content: center;
}
.icon--payment svg {
  width: 46px;
  height: 26px;
}
.bottom-right-content .payment-icons {
  text-align: right;
  margin-bottom: 0;
}
.footer__title,
#shopify-section-template--16871116570873__f456a459-6ec2-410f-83fb-cb50622781fd .feature-row__item {
  text-align: left !important;
}

/* --- Lightbox --- */
.lightbox-content tbody tr td {
  width: 100px !important;
  font-size: 10px;
  padding: 0;
}
.lightbox-content {
  width: fit-content !important;
}
.cross-lightbox {
  font-size: var(--text-md) !important;
}

/* Blog Posts */
.blog-posts-section {
  padding: 36px 0;
}
}

/* ==========================================================================
   20. RESPONSIVE — LARGE SCREENS (min-width: 1706px)
   ========================================================================== */

@media screen and (min-width: 1706px) {
  .page-width {
    max-width: 1500px;
  }
  .text-column-section .grid--flush-bottom > .grid__item {
    flex-basis: 23%;
  }
  .banner-text .banner-heading {
    max-width: 60%;
    width: 100%;
    margin: 0 auto;
  }
  .feature-row--50 .feature-row__text {
    max-width: 100%;
  }
  .feature-row--50 .feature-row__text .h1 {
    max-width: 400px;
  }
  .feature-row--50 .feature-row__text .rte {
    max-width: 450px;
  }
}