/** Shopify CDN: Minification failed

Line 120:156 Expected ":"

**/
/* ***** BFCM ***** */
.bfcm { background: linear-gradient(135deg, #cc692a 0%, #000 50%, #000 100%); border-radius: 5px; padding: 0.5em 1.5em 1em 1.5em; font-size: 0.9em; color: #fff; text-shadow: 0 2px 4px rgba(0,0,0,0.5); margin-bottom: 1.5em; }
.bfcm img { text-align: center; margin: 0 auto; padding-bottom: 10px; }
.bfcm[data-bfcm-open] { cursor: pointer; }
.bfcm-details { background: #ffb228; color: #000; border-radius: 3px; padding: 1.2em 1.5em; text-shadow: none; margin-bottom: 0; }
.bfcm-details span { font-weight: bold; text-shadow: none; }
.bfcm-terms a { display: block; color: #ffb228; text-decoration: underline; text-transform: lowercase; text-align: right; margin-top: 1em; }
.bfcm-terms a:hover { text-decoration: none; }

.bfcm-grid { font-size: small; font-weight: bold; color: #ffb228; background: #000; padding: 5px 10px; margin-top: 5px; border-radius: 5px; }
.bfcm-grid span { font-size: 0.7em; text-transform: uppercase; display: block; }

.bfcm-cart { background: #000; border-radius: 5px; padding: 1em; margin-bottom: 10px; }
.bfcm-cart img { text-align: center; margin: 0 auto; }

.bfcm-cart-item { margin-bottom: 5px; font-size: 0.9em; }

.product-block:has(.bf-pricing-tag) { margin-bottom: 10px; }

.bf-pricing-tag { display: block; width: 100%; box-sizing: border-box; padding: 0.6em 1.0em; background: linear-gradient(135deg, #cc692a 0%, #000 50%, #000 100%) !important; color: #fff !important; font-weight: bold; font-size: 0.9em; border-radius: 6px; cursor: pointer; text-align: left; position: relative; z-index: 2; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.bf-pricing-tag .bfcm-sub { color: #9aa0a6; }
.bf-pricing-tag:focus { outline: 2px solid #ffb228; outline-offset: 2px; }
/* On product pages, keep banner compact */
.template-product .bf-pricing-tag { display: inline-block; width: auto; }

/* BFCM Modal */
.bfcm-modal[hidden] { display: none !important; }
.bfcm-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.bfcm-modal__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); z-index: 0; }
.bfcm-modal__dialog { position: relative; width: min(720px, 92vw); max-height: 90vh; overflow: auto; background: linear-gradient(135deg, #cc692a 0%, #000 25%, #000 100%); color: #fff; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.8), 0 0 0 3px #ffb228; padding: 40px 36px 36px; z-index: 1; }
.bfcm-modal__title { margin: 0 0 24px; font-size: 1.75rem; color: #ffb228; letter-spacing: 0.05em; font-weight: 700; text-transform: uppercase; text-shadow: 0 2px 6px rgba(0,0,0,0.6); }
.bfcm-modal__close { position: absolute; top: 12px; right: 16px; border: 0; background: transparent; font-size: 32px; line-height: 1; cursor: pointer; color: #ffb228; padding: 6px; transition: all 0.2s ease; opacity: 0.9; }
.bfcm-modal__close:hover { color: #fff; opacity: 1; transform: scale(1.1); }
.bfcm-modal__content p { margin: 0 0 0.8em; color: #fff; font-size: 1.05em; line-height: 1.6; }
.bfcm-modal__content ul, .bfcm-modal__content ol { margin: 0 0 1em; padding-left: 1.5em; }
.bfcm-modal__content li { color: #fff; margin-bottom: 0.7em; line-height: 1.6; font-size: 1.05em; }
.bfcm-modal__content a { color: #ffb228; text-decoration: underline; transition: color 0.2s ease; }
.bfcm-modal__content a:hover { color: #fff; }
.bfcm-modal-open { overflow: hidden; }

/* Spacing for banner in grid cards */
.grid-product__meta .bf-pricing-tag { margin-top: 6px; }

/* ***** MISC ***** */
	/* Page Layout */
		/* Adjust width to 1,600px for desktop */
		

		
		/* CFG - Mobile Header Icon Order Swap */
		@media only screen and (max-width: 768px) { .site-nav__icons { display: flex; } /* Account icon (if present) - keep first */ .site-nav__icons .site-nav__link:first-child { order: 1; } /* Search icon - keep second */ .site-nav__icons .site-nav__link:nth-child(2) { order: 2; } /* Menu icon (hamburger) - move to last */ .site-nav__icons button.js-drawer-open-nav { order: 4; } /* Cart icon - move to third */ .site-nav__icons a#dyn-cart { order: 3; } }

		/* Make the mini header be full screen */
		.toolbar__content { width: 100%; }
		
		/* CFG - Desktop Header Icon Order (reset to normal) */
		@media only screen and (min-width: 769px) { .site-nav__icons .site-nav__link, .site-nav__icons button { order: unset; } }
		
		/* CFG - Override breakpoints for hamburger menu to appear at 1504px and under */
		@media only screen and (max-width: 1504px) { /* Hide desktop navigation, show hamburger menu */ .header-item--navigation { display: none !important; } .site-nav.medium-up--hide { display: block !important; } /* Show the hamburger menu button in header-icons */ .site-nav__icons .js-drawer-open-nav { display: block !important; } /* Also hide the center navigation that appears below the header */ .text-center .site-nav { display: none !important; } /* Ensure icons stay in horizontal row */ .site-nav__icons { display: flex !important; flex-direction: row !important; align-items: center !important; } }
		
		@media only screen and (min-width: 1505px) { /* Show desktop navigation, hide hamburger menu */ .header-item--navigation { display: block !important; } .site-nav.medium-up--hide { display: none !important; } /* Hide the hamburger menu button in header-icons */ .site-nav__icons .js-drawer-open-nav { display: none !important; } /* Also show the center navigation that appears below the header */ .text-center .site-nav { display: block !important; } /* Ensure desktop navigation is properly vertically centered */ .header-item--navigation { display: flex !important; align-items: center !important; } }
		
		/* CFG - Change mobile menu overlay to black with 100% opacity */
		.js-drawer-open .main-content:after {
			background-color: rgba(0, 0, 0, 1) !important;
		}
		
		html { scroll-behavior: smooth; }
		.background-media-text {max-width: 1600px; } /* Homepage feature was going full-screen */
		.product__thumb-arrow { background: #fff; } /* Thumnail scroll for products was getting part of the background */

	/* Main Menu */
		.header-layout { margin: auto; max-width: 90%; }
		
		/* CFG - Fix navigation centering for left-center layout */
		@media only screen and (min-width: 1505px) { .header-layout--left-center .header-item--navigation { flex: 1 1 auto; justify-content: center; display: flex; align-items: center; } .header-layout--left-center .header-item--icons { flex: 0 0 auto; max-width: 200px; justify-content: flex-end; } }

	/* Search */
		.predictive__screen { width: 100% }

	/* Hover Links & Buttons */
		footer a:hover, .toolbar__menu a:hover, a:hover.site-nav__dropdown-link { text-decoration: underline; }
		.pagination a:hover { font-weight: bold; }

		.errors ul { list-style: none; margin: 0; } /* Fix error validation styling */

	/* CFG - Desktop Dropdown Menu Improvements */
	
		ul.site-nav__dropdown.text-left { border-radius: 0 0 4px 4px; box-shadow: 0 8px 25px rgba(0,0,0,0.15); border: 1px solid rgba(0,0,0,0.1); border-top: none; }
		ul.site-nav__dropdown.text-left .site-nav__dropdown-link { padding-left: 30px; padding-right: 40px; }
		.site-nav__dropdown.megamenu { border-bottom: 2px solid #000; }
		.site-nav__deep-dropdown { border-radius: 4px; box-shadow: 0 8px 25px rgba(0,0,0,0.15); border: 1px solid rgba(0,0,0,0.1); }
		
		/* CFG - Fix logo overlap when megamenu is open */
		.header-item--logo { position: relative; z-index: 10; }
		.site-header { position: relative; z-index: 9; }

	/* Change product price sizes/formatting on collection */
      /* Product Page product-single__meta */
        .product-single__meta .product__price { font-size: 1.5em; font-weight: 600; } /* Main price with no savings */
        .product-single__meta .product__price--compare { font-weight: 400; font-size: 1.3em; padding-right: 0; color: #7d7d7d; } /* Strikethrough price */
        .product-single__meta .product__price-savings { font-size: 0.9em; padding: 2px 11px; background: #337137; color: #fff; border-radius: 2px; text-transform: uppercase; vertical-align: text-bottom; font-weight: 600; } /* Savings % Off */
        .product-single__meta .product__price.on-sale { padding-right: 0; margin-right: 0; }
      
      /* Collection Page collection-grid__wrapper */
        .grid-product__price { font-size: 1.1em; } /* Price div */
           @media only screen and (max-width: 768px) { .grid-product__price { font-size: 0.8em; } }
        .grid-product__price .money { font-weight: 600; }
        .grid-product__price--original .money { font-weight: 400; }
        .grid-product__price--original { font-size: 0.9em; color: #7d7d7d; font-weight: 400; } /* Strikethrough price */
            @media only screen and (max-width: 768px) { .grid-product__price--original { font-size: 0.8em; } }
        .grid-product__price--savings { font-size: 0.9em; padding: 2px 11px; background: #337137; color: #fff; margin-left: 0; border-radius: 2px; text-transform: uppercase; vertical-align: text-bottom; font-weight: 600; } /* Savings % Off */
            @media only screen and (max-width: 768px) { .grid-product__price--savings { display: table-cell; font-size: 0.7em; } }
        .grid-product__tag { border-radius: 3px; margin: 5px 5px 0 0; border-left: 3px solid #ffb228; font-weight: 600; text-transform: uppercase; uppercase; font-size: 0.7em; }

      /* Both */
		.product-block--price { margin-bottom: 10px; }

	/* Product Title Grid */
		.grid-product__title { font-weight: 600; font-size: 1.1em; }
          @media only screen and (max-width: 768px) { .grid-product__title { font-size: 1em; letter-spacing: normal; } }
		@media only screen and (max-width: 768px) { .grid-product__title { line-height: normal; } }

	/* Messages (backorder, special notes, partial backorder) in cart and product page */
		.messages-wrapper { display: flex; align-items: stretch; font-size: 0.8em; background: #efefd2; border: 1px solid #0000000d; border-left: 4px solid #0000001f; border-radius: 4px; margin-bottom: 1rem; }
        .product-block:has(.messages-wrapper) { margin-bottom: 0; }
		.messages-wrapper .messages-icon { padding: 24px; display: flex; align-items: center; }
		.messages-wrapper .messages-message { padding: 1em 2em; width: 100%; }
		.messages-wrapper.cart_special-notes, .messages-wrapper.product-page_special-notes {background: #e8e8e8; }
		.messages-wrapper.cart_special-notes .messages-message, .messages-wrapper.product-page_special-notes .messages-message {background: #f7f7f7; }
		.messages-message span { display: block; font-weight: bold; text-transform: uppercase; }
		.messages-message { background: #ffffeb; padding: 0.75em 1em; }
		.messages-message p { margin: 0; }
		.messages-message a { text-decoration: underline; }
		.messages-message a:hover { text-decoration: none; }
		.messages-wrapper ul, .messages-wrapper ol { margin: 5px 0 0 15px; }
        .messages-message .messages-backorder-notes { background: #fffffc; border: 1px solid #0000001a; text-transform: none; border-radius: 4px; padding: 0.5em 1em; text-align: center; margin-top: 5px; font-weight: normal; border-top: 2px solid #0000001f; border-bottom: 2px solid #00000005; }

	/* Block - Large Image with Text, used on homepage and product page. Makes the text box a little larger */
		@media only screen and (min-width: 768px) { .background-media-text__text { min-width: 460px; } } /* Homepage block with about/VSP getting wider */

/* ***** HOMEPAGE ***** */

	/* Restyling Sale Banner */
	[id$="__16325169245b9a3a2c"] .promo-grid__container--tint:before { background: rgba(255, 178, 40) !important; } /* Remove opacity */
	[id$="__16325169245b9a3a2c"] .btn--tint-border { color: #ffb228; background: #000; } /* Button restyle */
	[id$="__16325169245b9a3a2c"] .promo-grid__container { border-radius: 3px; } /* Button restyle */
	[id$="__16325169245b9a3a2c"] h2 { display: inline; vertical-align: middle; } /* Move heading into same line */ 
	[id$="__b3cc9b7c-c0bd-468d-abac-29fcd497f34d"] .background-media-text__text { border-radius: 5px 5px 0 0; text-align: left; } /* Slogan white box */
	[id$="__1632516669665323a1"] img { border-radius: 5px; } /* carbon fiber fact */

	/* Review section */
	.jdgm-carousel__more-reviews-button-container { margin-bottom: 24px; }
	.jdgm-carousel__rev-sum-info { font-size: 13px !important; }
	.jdgm-carousel__rev-sum-kwd { border-radius: 4px; font-family: unset !important; font-weight: 400 !important; font-size: 12px !important; text-transform: uppercase !important; }
	.jdgm-carousel__rev-sum-header { text-align: center; margin-bottom: 20px; }
	.jdgm-carousel__rev-sum-info, .jdgm-carousel__rev-sum-kwds { justify-content: center; }
	span.jdgm-carousel-number-of-reviews.jdgm-carousel-number-of-reviews--verified { margin-top: 10px;}
	.jdgm-carousel__rev-sum-kwd.positive-sentiment { background: linear-gradient(133.26deg, #000000 25.76%, #4d4d4d 93.18%) !important; color: #f5f5f5; border-radius: 4px !important; }
	.jdgm-carousel__kwd-icon-color-positive>svg { fill: #ffb228 !important; }
	a.jdgm-carousel__rev-sum-read-more { display: block; margin-bottom: 15px; }
	.jdgm-carousel__more-reviews-button { border-radius: 4px !important; }

	/* CFG - Shop by Category Section */
	.cfg-shop-by-category { padding: 60px 0; }
		.cfg-shop-by-category__container { }
		/* Use .page-width class for consistent styling */

	/* CFG - Homepage Hero Section Styles */

.cfg-homepage-hero { position: relative; width: 100%; height: var(--cfg-hero-height, 600px); overflow: hidden; margin-top: var(--cfg-hero-margin-top, 0); margin-bottom: var(--cfg-hero-margin-bottom, 0); }

/* CFG - Homepage Hero: Gradient Overlay */
.cfg-homepage-hero__gradient-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; background: linear-gradient(var(--gradient-direction-desktop, to right), var(--gradient-color-desktop) 0%, var(--gradient-color-desktop) calc(var(--gradient-start-desktop, 0%) - 10%), var(--gradient-color-desktop) calc(var(--gradient-start-desktop, 0%) - 10%), transparent calc(var(--gradient-start-desktop, 0%) + 10%), transparent 100%); opacity: var(--gradient-opacity-desktop, 0.5); }

.cfg-homepage-hero[data-full-width="true"] .cfg-homepage-hero__background { width: 100vw; margin-left: calc(-50vw + 50%); }

.cfg-homepage-hero__background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }

.cfg-homepage-hero__image-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.cfg-homepage-hero__image { width: 100%; height: 100%; object-fit: cover; }

.cfg-homepage-hero__image-wrapper--mobile { display: none; }

.cfg-homepage-hero__content { position: relative; z-index: 2; width: 100%; height: var(--cfg-hero-height, 600px); max-width: 1600px; margin: 0 auto; padding: 40px; box-sizing: border-box; }

.cfg-homepage-hero__text-container { position: relative; width: 100%; height: 100%; }

.cfg-homepage-hero__text-wrapper { position: absolute; width: calc(100% - 80px); max-width: 600px; box-sizing: border-box; }

/* Desktop Positioning Classes */
.cfg-homepage-hero__text-wrapper--desktop-top-left { top: 0; left: 0; text-align: left; }
.cfg-homepage-hero__text-wrapper--desktop-top-center { top: 0; left: 50%; transform: translateX(-50%); text-align: center; }
.cfg-homepage-hero__text-wrapper--desktop-top-right { top: 0; right: 0; text-align: right; }
.cfg-homepage-hero__text-wrapper--desktop-center-left { top: 50%; left: 0; transform: translateY(-50%); text-align: left; }
.cfg-homepage-hero__text-wrapper--desktop-center { top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; }
.cfg-homepage-hero__text-wrapper--desktop-center-right { top: 50%; right: 0; transform: translateY(-50%); text-align: right; }
.cfg-homepage-hero__text-wrapper--desktop-bottom-left { bottom: 20px; left: 0; text-align: left; }
.cfg-homepage-hero__text-wrapper--desktop-bottom-center { bottom: 20px; left: 50%; transform: translateX(-50%); text-align: center; }
.cfg-homepage-hero__text-wrapper--desktop-bottom-right { bottom: 20px; right: 0; text-align: right; }

/* Mobile Positioning Classes */
@media only screen and (max-width: 768px) {
	.cfg-homepage-hero__image-wrapper--desktop { display: none; }
	.cfg-homepage-hero__image-wrapper--mobile { display: block; }
	.cfg-homepage-hero__content { padding: 20px; }
	
	.cfg-homepage-hero__text-wrapper { top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; transform: none !important; }
	
	.cfg-homepage-hero__text-wrapper--mobile-top-left { top: 0 !important; left: 0 !important; text-align: left !important; }
	.cfg-homepage-hero__text-wrapper--mobile-top-center { top: 0 !important; left: 50% !important; transform: translateX(-50%) !important; text-align: center !important; }
	.cfg-homepage-hero__text-wrapper--mobile-top-right { top: 0 !important; right: 0 !important; text-align: right !important; }
	.cfg-homepage-hero__text-wrapper--mobile-center-left { top: 50% !important; left: 0 !important; transform: translateY(-50%) !important; text-align: left !important; }
	.cfg-homepage-hero__text-wrapper--mobile-center { top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; text-align: center !important; }
	.cfg-homepage-hero__text-wrapper--mobile-center-right { top: 50% !important; right: 0 !important; transform: translateY(-50%) !important; text-align: right !important; }
	.cfg-homepage-hero__text-wrapper--mobile-bottom-left { bottom: 20px !important; left: 0 !important; text-align: left !important; }
	.cfg-homepage-hero__text-wrapper--mobile-bottom-center { bottom: 20px !important; left: 50% !important; transform: translateX(-50%) !important; text-align: center !important; }
	.cfg-homepage-hero__text-wrapper--mobile-bottom-right { bottom: 20px !important; right: 0 !important; text-align: right !important; }
	
	/* Mobile background image sizing fix */
	.cfg-homepage-hero__image { object-fit: cover; object-position: center; }
	
	/* CFG - Homepage Hero: Mobile Gradient Overlay */
	.cfg-homepage-hero__gradient-overlay { background: linear-gradient(var(--gradient-direction-mobile, to right), var(--gradient-color-mobile) 0%, var(--gradient-color-mobile) calc(var(--gradient-start-mobile, 0%) - 10%), var(--gradient-color-mobile) calc(var(--gradient-start-mobile, 0%) - 10%), transparent calc(var(--gradient-start-mobile, 0%) + 10%), transparent 100%); opacity: var(--gradient-opacity-mobile, 0.5); }
}

/* Override theme margins for hero section */
.shopify-section.index-section:has(.cfg-homepage-hero) { margin: 0 !important; }

/* Component Styles - Using block-specific custom properties */
.cfg-homepage-hero__tag { display: inline-block; margin: 0 0 var(--cfg-tag-margin, 15px) 0; padding: var(--cfg-tag-padding-vertical, 8px) var(--cfg-tag-padding-horizontal, 16px); background-color: var(--cfg-tag-bg, #ffb228); color: var(--cfg-tag-color, #000000); font-weight: 600; text-transform: var(--cfg-tag-uppercase, uppercase); letter-spacing: 0.5px; font-size: var(--cfg-tag-desktop-size, 14px); border-radius: var(--cfg-tag-radius, 20px); line-height: var(--cfg-tag-line-height, 1.2); text-shadow: 0 0 10px var(--cfg-tag-glow, transparent), 0 0 20px var(--cfg-tag-glow, transparent), 0 0 30px var(--cfg-tag-glow, transparent); }

.cfg-homepage-hero__subheading { margin: 0 0 var(--cfg-subheading-margin, 15px) 0; font-weight: 600; text-transform: var(--cfg-subheading-uppercase, uppercase); letter-spacing: 0.5px; font-size: var(--cfg-subheading-desktop-size, 18px); color: var(--cfg-subheading-color, #333333); line-height: var(--cfg-subheading-line-height, 1.2); text-shadow: 0 0 10px var(--cfg-subheading-glow, transparent), 0 0 20px var(--cfg-subheading-glow, transparent), 0 0 30px var(--cfg-subheading-glow, transparent); }

.cfg-homepage-hero__heading { margin: 0 0 var(--cfg-heading-margin, 20px) 0; font-weight: 700; text-transform: var(--cfg-heading-uppercase, none); letter-spacing: 0.5px; font-size: var(--cfg-heading-desktop-size, 48px); color: var(--cfg-heading-color, #000000); line-height: var(--cfg-heading-line-height, 1.2); text-shadow: 0 0 15px var(--cfg-heading-glow, transparent), 0 0 25px var(--cfg-heading-glow, transparent), 0 0 35px var(--cfg-heading-glow, transparent); }

.cfg-homepage-hero__text { margin: 0 0 var(--cfg-text-margin, 30px) 0; font-weight: 400; text-transform: var(--cfg-text-uppercase, none); letter-spacing: 0.5px; font-size: var(--cfg-text-desktop-size, 16px); color: var(--cfg-text-color, #666666); line-height: var(--cfg-text-line-height, 1.6); text-shadow: 0 0 8px var(--cfg-text-glow, transparent), 0 0 16px var(--cfg-text-glow, transparent), 0 0 24px var(--cfg-text-glow, transparent); }

.cfg-homepage-hero-button { display: inline-block; padding: var(--cfg-button-padding-vertical, 16px) var(--cfg-button-padding-horizontal, 30px); text-decoration: none; font-weight: var(--cfg-button-font-weight, 600); text-transform: uppercase; letter-spacing: 0.5px; background-color: var(--cfg-button-bg, #000000); color: var(--cfg-button-color, #ffffff); border: none; border-radius: var(--cfg-button-radius, 4px); font-size: var(--cfg-button-desktop-size, 16px); line-height: 1.2; cursor: pointer; transition: none; }

.cfg-homepage-hero-button:hover, .cfg-homepage-hero-button:active, .cfg-homepage-hero-button:focus, .cfg-homepage-hero-button:visited { background-color: var(--cfg-button-bg, #000000); color: var(--cfg-button-color, #ffffff); text-decoration: none; transform: none; box-shadow: none; text-shadow: none; letter-spacing: 0.5px; font-weight: var(--cfg-button-font-weight, 600); font-size: var(--cfg-button-desktop-size, 16px); line-height: 1.2; border-radius: var(--cfg-button-radius, 4px); text-transform: uppercase; padding: var(--cfg-button-padding-vertical, 16px) var(--cfg-button-padding-horizontal, 30px); }

/* Mobile Typography Adjustments */
@media only screen and (max-width: 768px) {
	.cfg-homepage-hero__tag { font-size: var(--cfg-tag-mobile-size, 12px); }
	.cfg-homepage-hero__subheading { font-size: var(--cfg-subheading-mobile-size, 16px); }
	.cfg-homepage-hero__heading { font-size: var(--cfg-heading-mobile-size, 32px); }
	.cfg-homepage-hero__text { font-size: var(--cfg-text-mobile-size, 14px); }
	.cfg-homepage-hero-button { font-size: var(--cfg-button-mobile-size, 14px); }
}
		.cfg-shop-by-category__container.page-width { }
		.cfg-shop-by-category__title { text-align: center; font-size: 2.5em; font-weight: 700; margin-bottom: 40px; color: #000; }
		.cfg-shop-by-category__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
		.cfg-shop-by-category__card { position: relative; overflow: hidden; background: #fff; transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; height: var(--desktop-height, 300px); display: block; text-decoration: none; }
		.cfg-shop-by-category__card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.15); }
		.cfg-shop-by-category__image-wrapper { position: relative; width: 100%; height: 100%; }
		.cfg-shop-by-category__image { width: 100%; height: 100%; object-fit: cover; object-position: center; }

		.cfg-shop-by-category__content { position: absolute; left: 0; width: 100%; padding: 20px; z-index: 2; }
		.cfg-shop-by-category__card-title { color: #fff; font-size: var(--cfg-title-size-desktop, 28px); font-weight: 700; margin: 0 0 8px 0; text-shadow: 0 2px 4px rgba(0,0,0,0.3); }
		
		/* CFG - Shop by Category: Gradient Overlay */
		.cfg-shop-by-category__gradient-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; background: linear-gradient(var(--gradient-direction-desktop, to bottom), var(--gradient-color-desktop) 0%, var(--gradient-color-desktop) calc(var(--gradient-start-desktop, 50%) - 10%), var(--gradient-color-desktop) calc(var(--gradient-start-desktop, 50%) - 10%), transparent calc(var(--gradient-start-desktop, 50%) + 10%), transparent 100%); opacity: var(--gradient-opacity-desktop, 0.6); }
		
		/* CFG - Shop by Category: Desktop text position helpers */
		.pos-top-desktop { top: 20px; bottom: auto; transform: none; }
		.pos-center-desktop { top: 50%; bottom: auto; transform: translateY(-50%); }
		.pos-bottom-desktop { bottom: 0; top: auto; transform: none; }
		


		/* CFG - Shop by Category Mobile Responsive */
		@media only screen and (max-width: 768px) {
			.cfg-shop-by-category { padding: 40px 0; }
			.cfg-shop-by-category__container { padding: 0 20px; }
			.cfg-shop-by-category__title { font-size: 2em; margin-bottom: 30px; }
			.cfg-shop-by-category__grid { gap: 15px; grid-template-columns: repeat(2, 1fr) !important; }
			.cfg-shop-by-category__grid[data-mobile-columns="1"] { grid-template-columns: 1fr !important; }
			.cfg-shop-by-category__grid[data-mobile-columns="2"] { grid-template-columns: repeat(2, 1fr) !important; }
			.cfg-shop-by-category__grid[data-mobile-columns="3"] { grid-template-columns: repeat(3, 1fr) !important; }
			.cfg-shop-by-category__card { height: var(--mobile-height, 200px) !important; }
			.cfg-shop-by-category__content { padding: 15px; }
			.cfg-shop-by-category__card-title { font-size: var(--cfg-title-size-mobile, 22px); margin-bottom: 6px; }
			
			/* CFG - Shop by Category: Mobile Gradient Overlay */
			.cfg-shop-by-category__gradient-overlay { background: linear-gradient(var(--gradient-direction-mobile, to bottom), var(--gradient-color-mobile) 0%, var(--gradient-color-mobile) calc(var(--gradient-start-mobile, 50%) - 10%), var(--gradient-color-mobile) calc(var(--gradient-start-mobile, 50%) - 10%), transparent calc(var(--gradient-start-mobile, 50%) + 10%), transparent 100%); opacity: var(--gradient-opacity-mobile, 0.6); }
			
			/* CFG - Shop by Category: Mobile text position helpers */
			.pos-top-mobile { top: 20px !important; bottom: auto !important; transform: none !important; }
			.pos-center-mobile { top: 50% !important; bottom: auto !important; transform: translateY(-50%) !important; }
			.pos-bottom-mobile { bottom: 0 !important; top: auto !important; transform: none !important; }
			
			/* CFG - Fix vertical centering by removing bottom margin when centered */
			.pos-center-mobile .cfg-shop-by-category__card-title { margin-bottom: 0; }

		}

		@media only screen and (max-width: 480px) {
			.cfg-shop-by-category__grid { gap: 12px; grid-template-columns: 1fr !important; }
			.cfg-shop-by-category__grid[data-mobile-columns="1"] { grid-template-columns: 1fr !important; }
			.cfg-shop-by-category__grid[data-mobile-columns="2"] { grid-template-columns: repeat(2, 1fr) !important; }
			.cfg-shop-by-category__grid[data-mobile-columns="3"] { grid-template-columns: repeat(3, 1fr) !important; }
			.cfg-shop-by-category__card { height: var(--mobile-height, 200px) !important; }
		}

/* ***** BLOG ***** */
	/* Responsive video embed for blog: https://www.ostraining.com/blog/coding/responsive-videos/ */
		.video-responsive { overflow:hidden; padding-bottom:56.25%; position:relative; height:0; }
		.video-responsive iframe { left:0; top:0; height:100%; width:100%; position:absolute; }

/* ***** CART ***** */
	.cart__checkout { font-size: 1.2em; padding: 20px; letter-spacing: 0.2em; } /* larger checkout button in cart */
	@media only screen and (max-width: 768px) { .btn.cart__checkout { width: 100%; padding-top: 1em; padding-bottom: 1em; } } /* Bigger checkout button for mobile */
	.cart__secure-note { text-transform: uppercase; font-weight: bold; color: #b2b2b2; } /* Secure note in cart */

	/* Restyling for mobile for better overall fitment */
		@media only screen and (max-width: 768px) { .cart__item { flex-direction: column; } } /* Stack image to make room */
		@media only screen and (max-width: 768px) { .cart__image { flex: 0 0 110px; margin-right: 0; } } 

	/* Fix cart image when there is a lot of text, which stretches the image out */
		.cart__image img { object-fit: contain; }
		.cart__image a { position: relative; }

	/* Styling cart item option and variants */
		.cart__item-title .cart__item-name { font-weight: bold; } /* Bold product title in cart */
		.cart__product-sku, .cart__item--variants, .cart__line-item-properties { font-size: 0.9em; } /* Cart item # size */
		.cart__line-item-properties { margin-bottom: 1em; } /* Add small space under line item property */
		.cart__line-item-properties span { font-weight: bold; }

/* ***** COLLECTION PAGE ***** */

	/* ***** CFG COLLECTION HERO ***** */
	.cfg-collection-hero { position: relative; width: 100%; overflow: hidden; }
	.cfg-collection-hero__container { position: relative; width: 100%; height: 400px; }
	.cfg-collection-hero__image-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
	.cfg-collection-hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
	.cfg-collection-hero__image-wrapper--desktop { display: block; }
	.cfg-collection-hero__image-wrapper--mobile { display: none; }

	.cfg-collection-hero__content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; z-index: 2; }
	.cfg-collection-hero__text-wrapper { text-align: center; padding: 20px; max-width: 1500px !important; margin: 0 auto; width: 100%; padding-left: 17px; padding-right: 17px; }
	.cfg-collection-hero__headline { margin: 0; }
	.cfg-collection-hero__byline { margin: 0; }

	/* Desktop max-width classes - Override with 1500px constraint */
	.cfg-collection-hero__text-wrapper--max-width-50, .cfg-collection-hero__text-wrapper--max-width-75, .cfg-collection-hero__text-wrapper--max-width-100 { max-width: 1500px !important; }

	@media only screen and (min-width: 769px) { .cfg-collection-hero__text-wrapper { padding: 20px 40px; } }

	@media only screen and (max-width: 768px) {
		.cfg-collection-hero__container { height: 300px; }
		.cfg-collection-hero__image-wrapper--desktop { display: none; }
		.cfg-collection-hero__image-wrapper--mobile { display: block; }
		.cfg-collection-hero__text-wrapper { padding: 15px; }
		/* Override max-width on mobile - always use full width */
		.cfg-collection-hero__text-wrapper--max-width-50, .cfg-collection-hero__text-wrapper--max-width-75, .cfg-collection-hero__text-wrapper--max-width-100 { max-width: 100%; }
	}

	/* CFG - Collection Grid Image Cropping for 4:3 Aspect Ratio */
	.collection-image .image-element { width: 100%; height: 100%; object-fit: cover; object-position: center; }
	.collection-image.image-wrap { overflow: hidden; }

	/* CFG - Collection Grid Layout Fixes */
	/* Prevent stretching on desktop when fewer than 4 items - max 30% width */
	@media only screen and (min-width: 769px) {
		.subcollection-grid .grid__item { max-width: 30%; }
	}

	/* Ensure proper mobile layout for subcollection cards */
	@media only screen and (max-width: 768px) {
		.subcollection-grid .grid__item { width: 50%; }
	}

	/* CFG 0032 - Collection Description Read More/Less Functionality */
	.cfg-collection-description-wrapper { position: relative; }
	.cfg-collection-description-wrapper h2, .cfg-collection-description-wrapper h3 { font-size: 1em; }
	.cfg-collection-description-wrapper .rte.collection__description { margin-bottom: 0; }
	.cfg-collection-description { max-height: 120px; overflow: hidden; transition: max-height 0.3s ease-in-out; }
	.cfg-collection-description.expanded { max-height: none; }
	.cfg-read-more-btn { background: none; border: none; color: #333; cursor: pointer; display: flex; align-items: center; gap: 5px; font-size: 0.9em; font-weight: 600; text-transform: uppercase; padding: 10px 0; margin-top: 10px; }
	.cfg-read-more-btn:hover { text-decoration: underline; }
	.cfg-read-more-btn .cfg-chevron-down, .cfg-read-more-btn .cfg-chevron-up { transition: transform 0.3s ease; }
	.cfg-read-more-btn.expanded .cfg-chevron-down { display: none; }
	.cfg-read-more-btn.expanded .cfg-chevron-up { display: inline-block; }
	.cfg-read-more-btn:not(.expanded) .cfg-chevron-up { display: none; }
	.cfg-read-more-btn:not(.expanded) .cfg-chevron-down { display: inline-block; }

	/* CFG 0032 - Mobile responsive adjustments */
	@media only screen and (max-width: 768px) {
		.cfg-collection-description { max-height: 100px; }
		.cfg-read-more-btn { font-size: 0.8em; padding: 8px 0; }
	}
	
		/* Subcollection Cards */
		/*.collection-item__title--overlaid-box>span { text-transform: uppercase; font-size: 0.7em; border-radius: 3px; color: #000; background: rgb(255 255 255 / 75%); background: 1px solid rgb(0 0 0 / 18%); } */
		.collection-item { border-radius: 5px; }
		.collection-item--below .collection-item__title { text-transform: uppercase; font-size: 0.85em; background: #fff; margin-top: 0; padding: 5px; }
		.subcollection-grid { padding: 22px 22px 0 0; background: #ebebeb; margin: 0 0 20px 0; border-radius: 0 0 4px 4px; }
		.subcollection-grid__title { font-size: 1.2em; font-weight: 900; letter-spacing: 2.5px; text-transform: uppercase; background: #000; color: #fff; text-align: center; padding: 0.8em; border-radius: 4px 4px 0 0; }
	
		/* Mini highlights*/
		.mini-highlights-list { margin-top: 0.5rem; font-size: 0.85rem; line-height: 1.4; }
		@media only screen and (max-width: 768px) { .mini-highlights-list { margin-top: 0; font-size: 0.65rem; padding: 0.1em 0.5em; } }
		.mini-highlights-list ul { list-style: none; margin: 0; padding: 0; }
		.mini-highlights-list li { position: relative; padding-left: 1.2em; margin-bottom: 0.25rem; }
		.mini-highlights-list li::before { content: "\2022"; position: absolute; left: 0; top: 0; color: #000; font-weight: 600; font-size: 1.5em; line-height: 0.75; }

        /* CFG: Styles for filter item visibility and show/hide buttons */
        
          /* CFG: Initially hide filter items that are beyond the limit */
          .cfg-filter-item-hidden { display: none !important; /* Using !important to ensure override if theme styles are very specific */ }
          
          /* CFG: Common styling for show more/less text links */
			.btn.btn--link.cfg-filter-show-more, .btn.btn--link.cfg-filter-show-less { display: inline-block; margin-top: 10px; font-size: 0.9em; border: none; padding: 0 !important; text-decoration: none !important; background-color: transparent !important; background-image: none !important; color: #000000 !important; position: relative !important; padding-bottom: 3px !important; transition: none !important; transition-property: none !important; transition-duration: 0s !important; transition-timing-function: ease !important; transition-delay: 0s !important; animation: none !important; animation-name: none !important; animation-duration: 0s !important; animation-timing-function: ease !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; animation-direction: normal !important; animation-fill-mode: none !important; animation-play-state: running !important; }

			.btn.btn--link.cfg-filter-show-more::after, .btn.btn--link.cfg-filter-show-less::after { content: ''; position: absolute; bottom: 0px; left: 0; width: 100%; height: 1px; background-color: #000000 !important; transition: none !important; transition-property: none !important; transition-duration: 0s !important; transition-timing-function: ease !important; transition-delay: 0s !important; animation: none !important; animation-name: none !important; animation-duration: 0s !important; animation-timing-function: ease !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; animation-direction: normal !important; animation-fill-mode: none !important; animation-play-state: running !important; }

			.btn.btn--link.cfg-filter-show-more:hover, .btn.btn--link.cfg-filter-show-less:hover { text-decoration: none !important; background-color: transparent !important; background-image: none !important; color: #000000 !important; transition: none !important; transition-property: none !important; transition-duration: 0s !important; transition-timing-function: ease !important; transition-delay: 0s !important; animation: none !important; animation-name: none !important; animation-duration: 0s !important; animation-timing-function: ease !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; animation-direction: normal !important; animation-fill-mode: none !important; animation-play-state: running !important; }

			.btn.btn--link.cfg-filter-show-more:hover::after, .btn.btn--link.cfg-filter-show-less:hover::after { height: 2px; background-color: #000000 !important; transition: none !important; transition-property: none !important; transition-duration: 0s !important; transition-timing-function: ease !important; transition-delay: 0s !important; animation: none !important; animation-name: none !important; animation-duration: 0s !important; animation-timing-function: ease !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; animation-direction: normal !important; animation-fill-mode: none !important; animation-play-state: running !important; }

          /* CFG: The "Show less" button's display is primarily managed by JS (inline style 'display: none;').
             This CSS rule for .cfg-filter-show-less is mostly for documentation or if JS fails.
          */
        
        /* CFG: End of styles for filter item visibility */
		

/* ***** PRODUCT PAGE ***** */
    .product-single__title { color: #000; }
    .product-page-subtitle { font-size: 0.9em; font-weight: normal; text-transform: uppercase; margin-bottom: 5px; }
	@media only screen and (max-width: 768px) { .product-single__meta { text-align: left; } } /* Align left on mobile */
	.product-block--header { margin-bottom: 0; } /* Remove margin under title */
	.product__thumbs--below .product__thumb-item { min-width: 150px; } /* Larger thumbmails */
	.product-description-top-header { display: flex; justify-content: space-between; margin-bottom: 5px; } /* Layout review badge and SKU */
	.btn.add-to-cart[disabled]:hover { background: #f6f6f6 !important; cursor: not-allowed; } /* Don't change hover color on sold out add to cart button */
    .page-content--product button.btn.btn--full.add-to-cart { font-weight: 800; font-size: 1.2em; }
	.product-block .variant__label { font-weight: bold; }
	.btn.add-to-cart { height: 60px; }
	.product-block--tab .collapsible-trigger-btn { font-weight: bold; }
	.line-item-property__field.engraving input, .select__line-item-properties { width: 100%; } /* larger input field for engraving and line item properties on product page */
	.accordion-editor ol, ul { list-style-position: outside !important } /* Fixed bullet points styling */
	.official-cfg-icon { background: #000; display:inline; color: #fff; padding: 2px 8px; border-radius: 4px; text-transform: uppercase; font-weight: 600; }
    .product-block.is-empty { margin-bottom: 0; } .product-block:empty, .product-block:blank { margin-bottom: 0; } /* Removes extra margin on product block when the conditional is empty */
	.jdgm-preview-badge { margin-bottom: 5px; } /* Star badge for Judge.me */

	.pdp-product-summary .pdp-summary-headline { font-size: 1.2em; text-align: center; font-weight: 900; color: #fff; border-radius: 4px 4px 0 0; letter-spacing: 2.5px; text-transform: uppercase; background: #000; padding: 0.5em; }
	.pdp-product-summary .product-summary { background: #fbfbfb; padding: 1em 1em 0 1em; border-left: 1px solid #e8e8e1; border-right: 1px solid #e8e8e1; }
	.pdp-product-summary .pdp-summary-see-more { text-align: center; font-weight: 700; text-transform: uppercase; font-size: 0.8em; background: #fbfbfb; padding: 1em; border-radius: 0 0 4px 4px; border-left: 1px solid #e8e8e1; border-right: 1px solid #e8e8e1; border-bottom: 1px solid #e8e8e1; }

	.dims-specs h4 { margin-bottom: 0 !important; font-weight: 800; }
	
	/* Full Width Description */
		.product-full-width .page-width--narrow { max-width: 1350px; }
		.product-full-width .page-width--narrow .rte { font-size: 1.1em; }
		.product-full-width .product-block--tab .collapsible-trigger-btn,.product-full-width .page-width.page-width--narrow .collapsible-trigger-btn { font-size: 1.2em; font-weight: 900; letter-spacing: 2.5px; text-transform: uppercase; }
		.product-full-width .icon--wide.icon-chevron-down path { stroke-width: 8px; }
		.product-full-width .collapsible-trigger__icon .icon { height: 15px; width: 15px; }
		.product-full-width .collapsible-trigger-btn--borders .collapsible-trigger__icon { right: 16px; top: 45%; }
		@media only screen and (min-width: 769px) { 
			.product-full-width .collapsible-trigger-btn--borders .collapsible-trigger__icon { right: 30px; top: 45%;}
			.product-full-width .collapsible-trigger__icon .icon { height: 20px; width: 20px; }
		}


	/* Gallery Button Styles */
		.cfg-gallery-button-wrapper { margin: 40px 0 20px 0; }
		.cfg-gallery-button { background-color: #000000; color: #ffffff; width: 100%; padding: 20px; font-weight: 800; border: none; border-radius: 4px; cursor: pointer; font-size: 1.2em; text-transform: uppercase; transition: opacity 0.2s ease; }
		.cfg-gallery-button:hover { opacity: 0.9; }
        .cfg-gallery-button { background: linear-gradient(180deg,rgba(255, 178, 40, 1) 0%, rgba(250, 250, 250, 1) 100%); border: 2px solid #000; font-size: 1.1em; color: #000; }

		.cfg-gallery-button { letter-spacing: 2.5px; }

	/* Related variants */
		.related_variants-wrapper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  		.product-related_variants h2 { font-size: 1.2em; font-weight: 800; text-align: center; text-transform: uppercase; }
		.product-related_variants a { font-size: .8em; border-radius: 7px; text-align: center; font-weight: 600; }
		.product-related_variants .img-wrapper { outline: 1px solid #cbcbcb; border-radius: 10px; }
		.product-related_variants .img-wrapper:hover { outline: 2px solid #000; }
		.product-related_variants div { margin-top: 5px; }
		.product-related_variants img { width: 100%; border-radius: 15px; padding: 0.75em; }

	/* Product badges below add to cart */
		.product-form-badges { display: flex; justify-content: space-around; font-size: 0.8em; line-height: normal; margin-top: 25px; }
		.product-form-badges > div { display: flex; flex-direction: column; justify-content: flex-start; max-width: 30%; }
		.product-form-badges > div > .tool-tip-trigger > div { text-align: left; }
		.product-form-badges svg { height: 50px; margin: 0 auto; margin-bottom: 6px; }
		.product-form-badges .tool-tip-trigger { text-align: center; }
		.product-form-badges .why-carbon svg { transform: rotate(45deg) }

	/* Notice under cart for free shipping */
		.product-free-shipping-notice { padding-top: 10px; text-align: center; font-size: 0.8em; color: #676767; }
		.product-free-shipping-notice a { color: #949494; text-decoration: underline; } 

	/* Why You'll Love This Product */
		.product-love-box h3 { font-size: 1.2em; text-align: center; font-weight: 800; color: #fff; border-radius: 4px 4px 0 0; letter-spacing: 2.5px; text-transform: uppercase; background: #000; padding: 0.8em; }
		.product-love-box ul { padding-left: 0; margin: 0; border-radius: 0 0 4px 4px; border-left: 1px solid #000; border-right: 1px solid #000; border-bottom: 1px solid #000; font-size: 0.9em; list-style: none; }
		.product-love-box li { padding: 0.5em 0.8em; border-bottom: 1px solid #a7a7a7; }
		.product-love-box li:last-child { border: 0; margin-bottom: 10px; }
		.keep-reading { position: relative; top: -13px; text-align: center; font-size: .75em; font-weight: bold; background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255,178,40,1) 100%); width: 90%; margin: 0 auto; padding: 4px 0; border-radius: 4px; }

		/* Why You'll Love This Product in full-width */
		.product-full-width .page-width--narrow .product-love-box li { padding: 1em; font-size: 1.1em; }
		.product-full-width .page-width--narrow .keep-reading { top: -15px; padding: 6px 0 2px 0; text-transform: uppercase; font-weight: 900; font-size: 0.8em;}

    /* What's included box */
		.whats-included ul { padding-left: 0; margin: 0; border-radius: 0 0 4px 4px; border-left: 1px solid #000; border-right: 1px solid #000; border-bottom: 1px solid #000; }
		.whats-included h3 { font-size: 1.2em; text-align: center; font-weight: 800; color: #fff; border-radius: 4px 4px 0 0; letter-spacing: 2.5px; text-transform: uppercase; background: #000; padding: 0.8em; }
		.whats-included li { list-style: none; display: flex; align-items: normal; gap: 10px; padding: 0.8em; font-size: 0.9em; line-height: 1.5; border-bottom: 1px solid #a7a7a7; }
		.whats-included li::before { content: ""; width: 19px; height: 19px; flex-shrink: 0; background-repeat: no-repeat; background-size: contain; background-position: center; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.25 2.39C8.55 2.10 10.12 2 12 2s3.45.10 4.75.39c1.31.29 2.39.79 3.23 1.62.84.84 1.33 1.92 1.62 3.23.29 1.3.39 2.87.39 4.75s-.10 3.45-.39 4.75c-.29 1.31-.79 2.39-1.62 3.23-.84.84-1.92 1.33-3.23 1.62-1.3.29-2.87.39-4.75.39s-3.45-.10-4.75-.39c-1.31-.29-2.39-.79-3.23-1.62-.84-.84-1.33-1.92-1.62-3.23C2.10 15.45 2 13.88 2 12s.10-3.45.39-4.75c.29-1.31.79-2.39 1.62-3.23.84-.84 1.92-1.33 3.23-1.62Zm8.46 6.90a1 1 0 0 1 0 1.41l-3.68 3.69a1 1 0 0 1-1.41 0L8.29 12.71a1 1 0 1 1 1.41-1.41L11 12.59l3.29-3.30a1 1 0 0 1 1.42 0Z'/%3E%3C/svg%3E"); }
		.whats-included li:last-child { border: 0; }

		/* What's included box  in full-width */
		.product-full-width .page-width--narrow .whats-included li { padding: 1em; font-size: 1.2em; line-height: 1.2em; gap: 13px; }

	/* Pairs Well With Box */
        product-recommendations[data-intent=complementary] .product-recommendations__title {font-size: 1.2em; text-align: center; margin-bottom: 0; font-weight: 800; color: #fff; border-radius: 4px 4px 0 0; letter-spacing: 2.5px; text-transform: uppercase; max-width: 72%; background: #000; padding: .8em; margin-top: 20px; }
        product-recommendations[data-intent="complementary"] .product-recommendations-placeholder { border: 1px solid #000; border-radius: 0 4px 4px 4px; padding: 0.8em; }
        product-recommendations[data-intent=complementary] .grid__item { border-bottom: 1px solid #a7a7a7; }
        product-recommendations[data-intent=complementary] .grid__item:last-child { border-bottom: 0; }
        product-recommendations[data-intent=complementary] .flickity-previous, product-recommendations[data-intent=complementary] .flickity-next { top: -39px; }
        .flickity-button { border-radius: 4px; }
        .product-recommendations-placeholder .grid-product__image-mask { overflow: visible; }
        .product-recommendations-placeholder .image-wrap { border-radius: 12px; }
        product-recommendations[data-intent=complementary] .grid-item__link .grid-product__meta, product-recommendations[data-intent=complementary] .grid-product__link .grid-product__meta, product-recommendations[data-intent=complementary] .grid__item-image-wrapper .grid-product__meta { margin-left: 20px; width: auto; }

/*
		.product-recommendations-placeholder .flickity-prev-next-button { width: 30px; height: 30px; } 
		.product-recommendations-placeholder .flickity-prev-next-button:hover { transform: translateY(-50%) scale(1.0); }
		product-recommendations[data-intent=complementary] .flickity-previous { right: 47px; }
		product-recommendations[data-intent=complementary] .flickity-next { right: 7px;}
		.product-recommendations-placeholder .grid-product__image-mask { overflow: visible; }
		product-recommendations[data-intent=complementary] { border: 1px solid #e8e8e1; padding: 0 10px 10px 10px; border-radius: 0  0 5px 5px; background: #f8f8f8; }
		product-recommendations[data-intent=complementary] .product-recommendations__title { margin-top: 25px; }
		.product-recommendations-placeholder .grid-product__meta { font-size: 0.9em; }
		product-recommendations[data-intent=complementary] .grid-item__link .grid-product__meta, product-recommendations[data-intent=complementary] .grid-product__link .grid-product__meta, product-recommendations[data-intent=complementary] .grid__item-image-wrapper .grid-product__meta { margin-left: 20px; width: calc(100% - 20px); }
		.product-recommendations-placeholder .image-wrap { border-radius: 12px; }
*/

	/* Move quantity box and add to cart onto the same line*/
		.qty-atc-wrapper { display: flex; align-items: center; }
		.qty-atc-wrapper .product-block { margin: 0; }
		.qty-atc-wrapper .js-qty__wrapper { min-width: 80px; max-width: 80px; }
		.product-block .qty-selector { margin-right: 10px; }
		.js-qty__num { height: 60px; border: 1px solid #939393; border-radius: 3px; }
		.js-qty__adjust:hover { background: none; }
		.js-qty__adjust .icon:active { fill: #818181; }

	/* Re-styling HeaAngs */
		.page-content--product .product-block .rte h3, .page-content--product .product-block .rte h4 { margin-bottom: 0.9em; } /* change margins on product page headings */
		.page-content--product .product-block .rte h4 { border-left: 4px solid #ffb228; padding-left: 10px; font-size: 0.8em; } /* Add styling to h4 in product page */
			/* Description headings spacing. */
				.rte h1,.rte h2,.rte h3,.rte h4,.rte h5,.rte h6 { margin-top:25px; margin-bottom:25px; }
			/* Full Description */
				h2.product-description-title { display: inline-block; }
				h2.product-description-title span { text-transform: uppercase; font-size: 1.6em; font-weight: 800; letter-spacing: -2px; text-shadow: -2px 1px 1px #000; color: #ffb228; }
				@media only screen and (max-width: 768px) { h2.cfg-full-description { text-align: center; } } /* Center for mobile */
				h2.cfg-full-description span.full-description { padding: 10px 20px; display: inline-block; background: #ffb228; border-radius: 10px 10px 0 0; }

	/* Klaviyo back in stock notification */
		#klaviyo-bis-button-container { width: 100%; margin-bottom: 0 !important; }

	/* Variant Box */
		.variant-wrapper { padding: 1em; background: #fbfbfb; border-radius: 5px; border: 1px solid #e8e8e1; }
		.label, label:not(.variant__button-label):not(.text-label) { font-size: 1.2em; letter-spacing: 0; text-transform: none; }

	/* Variant dropdown list restyling */
		.variant-input-wrap select, .select__line-item-properties { width: 100%; padding: 30px 0 6px 20px; border-radius: 3px; background-position: right 20px center; background-size: 20px; } /* Both variant and line item properties; */
		.variant-wrapper--dropdown { display: block; position: relative; margin-right: 0; background: #f9f9f9; }
		.variant-wrapper--dropdown .variant__label,.line-item-property__field .variant__label { position: absolute; top: 10px; left: 15px; font-weight: bold; }
		.line-item-property__field { position: relative; margin-bottom: 1rem; background: #f9f9f9; } /* For the line item properties */
		/* Engraving line item */
			.line-item-property__field.engraving { background: none; }
			.line-item-property__field.engraving label { position: relative; text-align: left; left: 0; letter-spacing: 0.1em; }

	/* Full Width Description */
		.page-width.page-width--narrow .collapsible-trigger-btn { font-size: 0.9em; }

	/* Product Hero Styles */
		.cfg-hero-block { padding: 40px 0; background-color: #e3e3e3; }
		.cfg-hero-block--image-right { background-color: #f3f3f3; }
		.cfg-hero-block__container { display: flex; align-items: center; justify-content: center; gap: 30px; margin: 0 auto; padding: 0 40px; flex-wrap: wrap; }
		.cfg-hero-block__text { flex: 1 1 400px; }
		.cfg-hero-block__text h2 { font-weight: 900; text-transform: uppercase; }
		.cfg-hero-block__subtext { font-size: 16px; line-height: 1.6; color: #333; }
		.cfg-hero-block__image { flex: 1 1 60%; }
		.cfg-hero-block__image img { width: 100%; height: auto; display: block; border-radius: 6px; }

		/* Left/right orientation */
		.cfg-hero-block--image-left .cfg-hero-block__image { order: 1; }
		.cfg-hero-block--image-left .cfg-hero-block__text { order: 2; }
		.cfg-hero-block--image-right .cfg-hero-block__image { order: 2; }
		.cfg-hero-block--image-right .cfg-hero-block__text { order: 1; }

		/* Responsive tweak */
		@media screen and (max-width: 768px) {
		.cfg-hero-block__container { flex-direction: column; }.cfg-hero-block__container { padding: 0; }
		.cfg-hero-block { padding: 0 0 20px 0; }
		.cfg-hero-block__text { padding: 0 20px; }
		.cfg-hero-block__image img { border-radius: 0; }
		.cfg-hero-block__text { flex: 1 1; }
		.cfg-hero-block__subtext { font-size: 0.9em; }
		.cfg-hero-block--image-right .cfg-hero-block__image { order: 1; }
		.cfg-hero-block--image-right .cfg-hero-block__text { order: 2; }
		}

/* ***** FOOTER ***** */
	.footer__title { font-weight: bold; }  /* Bold footer headlines */
	.footer__logo { text-align: center; } /* Center logo in footer */
