/* [Global] */
@font-face {
  font-family: 'InfinityFont';
  src: url('/Shared/Themes/MegaStoreRedesign/fonts/Infinity.otf') format('otf');
  src: url('/Shared/Themes/MegaStoreRedesign/fonts/Infinity.otf?#iefix');
}

p { line-height: 1.9; color: #fff; }
.footer-row p { color: #0CF4FF; }
.footer-bottom p { color: #0CF4FF; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: 'Raleway', sans-serif; }
h1 { font-family: InfinityFont; color: #0CF4FF; }
body { background: black none; font-size: 14px; font-family: 'Raleway', sans-serif; color: white !important; }
body.ShoppingCart { padding-top: 0; }
a:hover, a:focus { text-decoration: none; color: #0CF4FF; }
h5, .h5 { font-size: 18px; }
button::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner { padding: 0 !important; border: 0 none !important; }
label { display: block; }
input[type=radio] + label, input[type=checkbox] + label { display: inline-block; padding-left: 10px; font-weight: normal; }
.well { border-radius: none; border: none; box-shadow: none; background-color: #000 !important; }
button[disabled], html input[disabled] { background: rgb(235, 235, 228); }
.col-xs-6:nth-of-type(2n), .col-sm-6:nth-of-type(2n) { margin-bottom: 30px; }
[class*=col-md], [class*=col-lg] { margin-bottom: inherit !important; }
/* make bootstrap dropdowns work on hover */
.navbar-nav .dropdown:hover > .dropdown-menu { display: block; }
.navbar-nav .dropdown:hover > a[data-toggle=dropdown] + .dropdown-menu { display: none; }
.navbar-nav .dropdown.open > a[data-toggle=dropdown] + .dropdown-menu { display: block; }
.navbar-nav .dropdown-submenu { position: relative; }
.navbar-nav .dropdown-submenu:hover > .dropdown-menu { display: block; top: -6px; margin: 0; left: 100%; }

.dropdown-menu>li>a {color: #FFF !important;}

.navbar-header-leftcol { color: #0CF4FF; margin-bottom: 30px; }
.navbar-header-leftcol  .navbar-toggle { background: none; border: 1px solid #0CF4FF; }
.navbar-header-leftcol  .navbar-toggle .icon-bar { background: #0CF4FF; }
.navbar-toggle {  }
.navbar-header-leftcol .navbar-brand, .Default .navbar-header-leftcol .navbar-brand { color: #0CF4FF; }
.navbar-collapse.left-collapse { max-height: inherit; }

.page-header { border: none; }

.modal-body { min-height: 70px; }
.modal-body .progress { top: 50%; left: 30px; right: 30px; height: 30px; margin-top: -15px; }
.modal-body iframe { z-index: 1; }

.breadcrumb { background-color: #000 !important; }

.PicturePopup iframe { max-width: 100%; }
table { color: white !important; }
td { padding-left: 15px; padding-right: 15px; }
.table>thead>tr>th { border-bottom-width: 1px; }

.text-muted a { color: inherit; }
.alert a { color: inherit; }

.ui-autocomplete { z-index: 10; }

/* search autocomplete stuff */
.search-box input { vertical-align: top; }

.ui-autocomplete { z-index: 10000; }
.ui-menu .ui-menu-item a { background: none; border: none; opacity: 0.75; cursor: pointer; }
.ui-menu .ui-menu-item a:hover { opacity: 1; }

/* reset some stuff that bootstrap breaks */
.bx-wrapper *, .addthis_toolbox * { box-sizing: content-box; }
.bx-wrapper { margin-bottom: 20px; }
.bx-controls-direction { opacity: 0.25; transition: 0.25s; }
.bx-controls-direction:hover { opacity: 0.75; transition: 0.25s; }
.bx-next { background: url(https://infinity.americommerce.com/Shared/Themes/MegaStoreRedesign/CSS/controls_0cf4ff.png) no-repeat -43px -32px !important; }
.bx-prev { background: url(https://infinity.americommerce.com/Shared/Themes/MegaStoreRedesign/CSS/controls_0cf4ff.png) no-repeat 0px -32px !important; }


.thumbnail { text-align: center; }
.thumbnail .quick-view { top: 0px; left: 50%; width: 120px; margin-left: -60px; opacity: 0; display: none; transition: 0.25s; z-index: 4; }
.thumbnail:hover .quick-view { top: 100px; display: block; opacity: 1; transition: 0.25s; }
.thumbnail img, .Slideshow img, #imgMfgLogo, img { max-width: 100%; }
.zoomWrapper img { max-width: none; }
.thumbnail:hover { text-decoration: none; }
.thumbnail { background-color: black !important; }

.LayoutContent .homepage-product .thumbnail { min-height: 180px; line-height: 180px; margin-bottom: 10px; }
.homepage-product .thumbnail img { display: inline; }

.product-flag { width: 150px; height: 150px; display: none\9; line-height: 1.5; }
.product-flag span { background: #65A9E0; color: #fff; text-align: center; display: block; position: absolute; width: 100%; }
.product-flag.top span { bottom: 0; }
.product-flag.bottom span { top: 0; }

.product-flag.left { left: -90px; }
.product-flag.right { right: -90px; }
.product-flag.top { top: -90px; }
.product-flag.bottom { bottom: -90px; }
.product-flag.top.left { transform: rotate(-45deg); -ms-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
.product-flag.top.right { transform: rotate(45deg); -ms-transform: rotate(45deg); -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); }
.product-flag.bottom.left { transform: rotate(45deg); -ms-transform: rotate(45deg); -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); }
.product-flag.bottom.right { transform: rotate(-45deg); -ms-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }

input[type=text], input[type=password], input[type=email], select, textarea { min-height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.428571429; color: #EEE; vertical-align: middle; background-color: #fff; border: 1px solid #ccc; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075); box-shadow: inset 0 1px 1px rgba(0,0,0,0.075); -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; }
select { padding: 6px; }
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, select:focus, textarea:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6); box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6); }

input, select, textarea { max-width: 100%; }

.full-input input { width: auto !important; }

.Hidden { display: none; }
.AddressBookNameTextbox { width: 194px; }
.AddressBookCityTextbox { width: 152px; }
.AddressBookStateTextbox { width: 160px; }
.AddressBookZipCodeTextbox { width: 112px; }
.AddressBookNotes { font-family: Verdana; font-size: 10px; }
.ProductGroupItemPricing { white-space: nowrap; }
.ProductGroupItemQuantity { width: 40px; }
.ProductGroupItemDescription { margin: 0px 4px 0px 4px; }
.CustomPaymentMethodsAmountArea { float: right; }
.CustomPaymentMethodsAmountTextbox { width: 80px; }
.CustomPaymentMethodsFieldName { padding-left: 15px; width: 100px; text-align: right; }
.CustomPaymentMethodsChooseArea { padding-left: 35px; }
.CustomPaymentMethodsSeparator { height: 1px; color: #999999; }
.MicroStoreMoreInfoLink { font-size: 10px; }
.PaymentMethodsCC {  }
.PaymentMethodsNewCardNum {  }
.PaymentMethodsNewCardName {  }
.PaymentMethodsChoosePaypalButton { padding-left: 35px; }
.PaymentMethodsCustomFieldName { padding-left: 35px; width: 200px; }
.PaymentMethodsChooseCustomButton { padding-left: 35px; }
.PaymentMethodsEcheckTextbox { width: 75px; }
.PersonalizationFileUpload { width: 250px; }
.ProductReviewTagSelectorRemoveTagArea { width: 15px; text-align: center; }
.ProductReviewTagSelectorRemoveTagImage { border: 0 none; }
.RelatedItemsContainer { padding: 10px; }
.RelatedItemsSeparator { color: #999999; height: 1px; }
.RelatedItemsProductPhotoArea { float: left; width: 14%; }
.RelatedItemsProductNameArea { float: left; width: 34%; }
.RelatedItemsPricingArea { float: left; width: 24%; }
.RelatedItemsAddToCartArea { float: left; width: 24%; text-align: right; }
.RelatedItemsQtyTextbox { width: 40px; }
.RelatedItemsMessageText { float: left; width: 24%; text-align: right; }
.RelatedItemsAddToCartButton { clear: both; text-align: right; }
.ShippingMethodCalendarPickerArea { float: left; width: 49%; }
.ErrorText, .errorText { display: block; }
.attentionText { background: #e5e5e5; margin: 10px 0; padding: 10px; color: #000; }
.itemoriginalprice { text-decoration: line-through; }
.EProductCredentials { font-weight: bold; }
.EProductCredentials span { font-weight: normal; padding-right: 20px; }
.EProductNameContainer { display: inline; padding-right: 20px; }
.EProductURLContainer { display: inline; }
.EProductItemContainer { text-align: left; }
.ShippingEstimationZipTextbox { width: 100px; }
.ShippingEstimationItemInfo .QtyTextbox { width: 50px; text-align: center; }

div.ac-admin-help { background: #fafafa; border: none; border-radius: 3px; color: #666; font-family: inherit; font-size: inherit; }
.panel-heading:empty { display: none; }
.MenuBar div.navbar, div.HorizontalNav { background: #000 none; }
.Layout { background: none repeat-y fixed; }
/* background: #000 *//* #0CF4FF; */ 
.navbar-nav { background-color: #0CF4FF; }
body input.ThemeButton { background: #0CF4FF; color: #000; border: 1px solid #0CF4FF; }
#btnPlaceOrder { background-color: #0CF4FF !important; color: black !important; }
.MenuBar .navbar ul.nav > li > a:hover, div.HorizontalNavItem a:hover { background-color: #079299; }
a { color: #0cf4ff; }
a { color: #0cf4ff; }
a { color: #0cf4ff; }
a { color: #0cf4ff; }
a { color: #0cf4ff; }
.LayoutMiddle a { color: #EEE; }
.LayoutMiddle { background: rgba(0, 0, 0, 0.96) none; }
a { color: #0cf4ff; }
.g-signin2 { display: inline-block; }
.panel { background-color: #000; }
.panel, .panel-default { color: #0CF4FF; }
.LayoutTop a { color: rgba(96.807861328125, 195.69603686759893, 221.27511160714286, 1); }
ul.dropdown-menu { background: rgba(51, 51, 51, 1); color: rgba(97.00000000000001, 196, 221, 1); }
h1, .h1 { color: rgba(12.000000000000043, 244.00000000000023, 255, 1); }
input[type=text], input[type=password], select { background: rgba(11.862703485003975, 243.99378493142015, 255, 0); }
/* [/Global] */

/* [Layout] */
.LayoutTop { background: rgba(0, 0, 0, 1) none no-repeat fixed; font-face: raleway,sans-serif; color: rgba(12.000000000000043, 244.00000000000023, 255, 1); }
.topgrey { margin-bottom: 30px; border-bottom: 1px solid #cecece; position: relative; }
.LayoutLeftColumnInner .well { background: #000; /*border: 1px solid #ededed;*/ border-radius: 0; box-shadow: none; }
.thumbnail { border: none; }
.quick-view { background: #0CF4FF; border: none; color: #fff; }
.quick-view:hover { background: #079299; color: #fff; }
.lblPriceLabel { display: none; }
.lblPrice, .CategoryProductPrice { color: #0CF4FF; }
.homepage-product p { margin-bottom: 0; }
.LayoutLeftColumnInner .category-link, .LayoutLeftColumnInner .attribute-link { padding-left: 8px; margin-left: -8px; border-bottom: 1px solid #0CF4; color: #fff; }
.LayoutLeftColumnInner .nav li:last-child .category-link, .LayoutLeftColumnInner .nav li:last-child .attribute-link { border-bottom: none; box-shadow: none; }
.FreeShipping { background: #f7f7f7; }
.FreeShipping p { max-width: 430px; color: #999; }
.FreeShipping a { background: #CE1515; color: #fff; padding: 10px 20px; border-radius: 5px; }
.newsletter { background: #000; }
.newsletter h2 { color: #0CF4FF; }
.newsletter p { margin-top: 0; line-height: 16px; color: #666; }
.LayoutLeftColumnInner .nav .ControlHeader { color: #0CF4FF; }
.AddToCartThemeButton, .SignInThemeButton, .PlaceOrderThemeButton, .OnePageCheckoutPlaceOrderThemeButton, .CheckoutThemeButton, .ShoppingCartCheckoutThemeButton { background: #0CF4FF; border: none; color: #fff; }
.AddToCartThemeButton:hover, .PlaceOrderThemeButton:hover, .OnePageCheckoutPlaceOrderThemeButton:hover, .CheckoutThemeButton:hover, .SignInThemeButton:hover, .ShoppingCartCheckoutThemeButton:hover { background: #079299; }
.HomeBlogPost .BlogPostTitle a { font-size: 24px; color: #000; }
.HomeBlogPost .BlogPostTitle a:hover { font-size: 24px; color: #000; text-decoration: none; }
.HomeBlogPost .BlogPostPostedOnBy { color: #999; }
.LayoutBottom { background: #000 none repeat-y fixed; margin-top: 40px; color: #666; }
.LayoutBottom .h4 { color: #fff; }
.LayoutBottom a { color: #0CF4FF; }
.LayoutBottom .nav > li > a:hover,  { background: none; }
.MenuList .nav > li > a { display: inline; padding: 0; }
.badge { background-color: #0CF4FF; color: #000; }
.LayoutLeftColumn .ProductDisplay .ControlHeader { background: none; color: #0CF4FF; display: inline-block; padding: 15px 20px; font-weight: bold; font-size: 18px; }
.LayoutLeftColumn .ProductDisplay h3 { border: none; }
.BlogRoll .BlogPostTitle a { color: #000; }
.BlogRoll .BlogPostTitle a:hover { color: #4F96C6; }
.BlogRoll > .col-lg-6 { margin-bottom: 50px !important; }
.LayoutLeftColumnInner .ProductDisplay a:hover { text-decoration: none; color: #555; }
.CategoryProductPriceLabel { display: none; }
.Default .navbar-brand { color: #0CF4FF; }
.Default .navbar-default .navbar-toggle .icon-bar { background-color: #0CF4FF; }
.navbar-default .navbar-toggle { border-color: #0CF4FF !important; }
.BlogRollBlogDescription { padding-bottom: 30px; }
.top-social a { font-size: 26px; color: #91a0aa; line-height: 50px; margin-left: 30px; }
.top-social a:hover { color: #748189; text-decoration: none; }
.Default .ProductDisplay { background: #fff; border: 1px solid #ededed; }
.ProductDisplay .ControlHeader { padding: 10px 16px; }
.ProductDisplay .grad { border: 1px solid #DDDDDD; }
.ProductDisplay h3 { margin: 0; font-size: 18px; font-weight: bold; }
.Control .ControlHeader { background-color: black; color: #0CF4FF; }
.LayoutBottom .Control .ControlHeader { color: #fff; }
.prod_view { transition: all 0.2s ease 0s; padding: 5px 15px; border: 1px solid #EEE; border-radius: 4px; color: #65a9e0; display: none; } /*Change display on .prod_view back to "inline-block" to re-enable view button on product listing*/
.prod_view:hover { background: #65a9e0; text-decoration: none; border: 1px solid #65a9e0; color: #fff; }
.LayoutContentInner { background: #000; padding: 15px; /*border: 1px solid #ededed;*/ }
.Default .LayoutContentInner { background: none; border: none; padding: 0; }
.Default .LayoutLeftColumn .ProductDisplay { background: none; border: none; }
.left-head { background: none repeat scroll 0 0 #000; padding-top: 20px; padding-bottom: 20px; font-size: 22px; color: #0CF4FF; }
.newsletter h2 { margin-top: 0px; }
/* [/Layout] */

/* [Widgets] */

/* [/Widgets] */

/* [ProductDetails] */
.ProductDetailsPriceLabel { display: none; }
input.ProductDetailsQuantityTextBox { width: 70px; text-align: center; padding: 0; }
#lblProductStatus:after { content: " - "; }
#lblProductStatus + br { display: none; }

.varpicmax_img { border: 1px solid transparent; }
.ProductDetailsVariations input[type=checkbox] + label { display: inline; font-weight: normal; padding-left: 5px; vertical-align: top; }

.ProductDetailsSelectedVariant { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6); box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6); }
.ProductDetailsSwatches ul { margin: 0; }
.ProductDetailsSwatches li { float: left; margin: 5px 5px 0 0; }
.Variant > br, .ProductDetailsVariations > br { display: none; }
.media-body .StarRatings { margin-left: 10px; }

select option { background-color: black; color: white; }

.ProductDetailsQuantityPriceTable tr:first-child td { border-top: none; }
.ProductDetailsQuantityPriceTable  p { margin: 0; line-height: inherit; }

.SwatchNotApplicable { opacity: 0.5; pointer-events: none; }

.SwatchNotApplicable { opacity: 0.5; pointer-events: none; }
/* [/ProductDetails] */

/* [Catalog] */
.CatalogItemQuantityBox input { width: 75px !important; text-align: center; }
/* [/Catalog] */

/* [Category] */
.product-list div[class*=col-] { transition: 0.5s; -webkit-transition: 0.5s; -moz-transition: 0.5s; }
.category-product .thumbnail { min-height: 180px; line-height: 180px; margin-bottom: 10px; }
.category-product .thumbnail img { display: inline; }

.Pagination li { border-radius: 2px; }
.Pagination li:first-child { margin-left: 5px; }
.Pagination li > a, .Pagination li > a:hover { color: inherit; border-radius: 2px; }
.Pagination .CurrentPage { color: #ccc; }


.category-product .description { display: none; opacity: 0; transition: 0.5s; -webkit-transition: 0.5s; -moz-transition: 0.5s; }
.list-view.category-product .description { display: block; opacity: 1; transition: 0.5s; -webkit-transition: 0.5s; -moz-transition: 0.5s; }
.list-view .thumbnail {  }
.list-view-only { display: none; opacity: 0; }
.list-view .list-view-only { display: block; opacity: 1; }
/* [/Category] */

/* [ShoppingCart] */
.acceptedPaymentMethodLogos .PayPalCommerce { background: url("/store/images/logo/paypal.png") no-repeat; }
.acceptedPaymentMethodLogos .ApplePay { background: url("/store/images/logo/applepay.png") no-repeat; }
.acceptedPaymentMethodLogos .PayWithAmazon { background: url("/store/images/logo/amazonpay.png") no-repeat; }
.acceptedPaymentMethodLogos .AffirmCheckout { background: url("/store/images/logo/affirm.png") no-repeat; }
.acceptedPaymentMethodLogos .Afterpay { background: url("/store/images/logo/afterpay.png") no-repeat; }
.acceptedPaymentMethodLogos .Sezzle { background: url("/store/images/logo/sezzle.png") no-repeat; }
.acceptedPaymentMethodLogos .Apruve { background: url("/store/images/logo/apruve.png") no-repeat; }
.acceptedPaymentMethodLogos .Coinbase { background: url("/store/images/logo/coinbase.png") no-repeat; }
.acceptedPaymentMethodLogos .OrangeMoney { background: url("/store/images/logo/orangemoney.png") no-repeat; }
.acceptedCreditCardLogos div[role="img"], .acceptedPaymentMethodLogos li[role="img"] { background-position: center; }
.acceptedPaymentMethodLogos { padding: 0; }
.ShoppingCartTable { width: 100%; }
.ShoppingCart { text-align: left; padding: 30px 0 0; vertical-align: top; }


.ShoppingCartProductDescriptionHeader { width: 235px; }
.ShoppingCartSpacer { width: 20px; padding: 0; }
.ShoppingCartUnitPriceHeader { text-align: center; }
.ShoppingCartTotalHeader { text-align: center; }
.ShoppingCartQuantityHeader { text-align: center; }

.CartBorder { border: none; height: 75px; }
.ShoppingCartQuantity .CartBorder { line-height: 1; }
.ProductInfo { margin: 0; }
.ItemName a { color: #FFF; }
.ItemNumber { color: #666; font-size: 11px; }
.Variants { color: #666; font-size: 11px; }
.Personalizations { color: #666; font-size: 11px; }

.ShoppingCartPrice { font-weight: normal; font-size: 20px; text-align: center; padding: 30px 0 0 0; vertical-align: top; }
.ShoppingCartQuantity { text-align: center; vertical-align: top; }
.ShoppingCartRemove { text-align: center; }
.UnderCartSubTotal { border: 1px solid #dddfde; border-left: none; border-right: none; margin-top: 30px; font-size: 23px; font-weight: bold; text-align: right; padding: 10px 20px; line-height: 100%; text-transform: uppercase; }

.UpdateButton { font-size: 10px; }
.ShoppingCartPage td.ShoppingCartTotals { text-align: left; padding: 5px; font-weight: bold; }
td.ShoppingCartTotals { text-align: right; }
td.ShoppingCartDiscount { text-align: left; padding: 5px; }
.ShoppingCartClear { float: left; text-align: left; }
.ShoppingCartChildBranch { float: left; vertical-align: top; }
.dvChkSelect { display: inline; }
.PayPalGoogleCO { text-align: center; }
.ShoppingCartError { text-align: center; }
#dvCalculateShippingForm { text-align: left; }
.ShippingCalcLabel { font-weight: bold; }
.ShippingCalcField { padding: 5px 0 0 0; }
.ShippingCalcFieldLabel { display: block; text-align: left; padding: 2px 0 0; }
.ShoppingCartSelectCheckbox { border: 0; }
.ShoppingCartQtyTextbox { width: 40px; text-align: center; }
.ShoppingCartInlineCalculateShippingForm { display: inline; }
.ShoppingCartInlinePostalCode { display: inline; float: left; }
.ShoppingCartInlinePostalCodeTextbox { width: 72px; }
.ShoppingCartCouponCodeTextbox { width: 80px; }
.ShoppingCartSavedCartText { text-align: center; }

.cartCents, .cartUnits { font-size: 60%; top: -5px; position: relative; }
.CartItemPriceArea, .CartItemTotalArea, .CartUpdateItemArea { display: table; margin: 0 auto; text-align: center; height: 75px; line-height: 1; }
.CartItemPriceArea > div, .CartItemTotalArea > div, .CartUpdateItemArea > div { display: table-cell; vertical-align: middle; }

.SubTotal { font-size: 25px; font-weight: bold; text-transform: uppercase; color: #000; }
.Discounts { color: #dd4c15; line-height: 25px; }
.ShippingCost { line-height: 25px; }
.LineItemPrice { float: right; text-align: right; font-weight: bold; font-size: 23px; *position: relative; *top: -25px; }
.PriceNegative { color: #dd4c15; }


.GiftCertificates p { font-size: 11px; opacity: 0.75; }
.GiftCertificates .LineItemPrice { font-size: 14px; }

.ShoppingCartTotalsArea { position: relative; clear: both; }
.ShoppingCartTotalsTable { width: 100%; margin-bottom: 15px; }
.ShoppingCartLeftBottom { text-align: center; }

.OrderTotal { line-height: 25px; font-size: 14px; margin: 20px 0; padding: 10px 0 0; border-top: 1px solid #dddfde; }
.OrderTotal .LineItemPrice { font-size: 30px; }

.ShoppingCartButtons { margin: 20px 0 20px; text-align: right; }
.ShoppingCartCustomMessage {  }
.TopCheckoutButton { text-align: right; }

.PayWith { position: relative; border: 1px solid #dddfde; border-radius: 4px; padding: 20px 0 15px; margin: 20px 0 0; text-align: center; }
.PayWith strong { position: absolute; top: -7px; font-style: italic; display: block; margin-left: -50px; width: 100px; line-height: 100%; left: 50%; font-size: 13px; }

.ShoppingCartCouponCode { padding: 20px 0; }
.ShoppingCartCouponCode h3 { text-transform: uppercase; cursor: pointer; font-size: 18px; color: #FFF; background: none; }
.ShoppingCartCouponCode .expand {  }
.CouponEntry { display: none; position: relative; margin: 0 0 20px 0; }
.CouponMsg { margin: 5px 0; }

.ShippingSelect { position: relative; margin: 0 5px 0 0; }
.ShippingSelect select { width: 210px; }
.ShippingSelect input { float: right; }
.ShippingSelect input[type=radio] { float: none; width: auto; }
.ShippingSelect input[type=radio] + label { display: inline; padding: 0; }
.acceptedCreditCardLogos {  }
.acceptedCreditCardLogos div, .acceptedPaymentMethodLogos li { display: inline-block; *display: inline; zoom: 1; margin: 0px 2px 10px; padding: 0; height: 22px; width: 33px; }
.acceptedCreditCardLogos .jcb { background: url("/store/i/jcb_5566155133x22.jpg") no-repeat; }
.acceptedCreditCardLogos  span { display: none; }
.acceptedCreditCardLogos .visa { background: url(../images/ccs/visa.png) no-repeat; }
.acceptedCreditCardLogos .amex { background: url(../images/ccs/amex.png) no-repeat; }
.acceptedCreditCardLogos .discover { background: url(../images/ccs/discover.png) no-repeat; }
.acceptedCreditCardLogos .bankcard { background: url("/store/i/bankcard_5566155133x22.jpg") no-repeat; }
.acceptedCreditCardLogos .mastercard { background: url(../images/ccs/mastercard.png) no-repeat; }
.acceptedCreditCardLogos .dinersclub { background: url("/store/i/diners_5566155133x22.jpg") no-repeat; }

.LastItemAdded { font-size: 11px; min-height: 100px; margin-right: 255px; background: #f2f3f5; border-radius: 3px; padding: 1px; margin-bottom: 10px; }
.LastItemAdded img { float: left; margin-right: 10px; max-width: 75px; max-height: 80px; } 
.LastItemAdded strong { display: block; padding: 0 0 10px; border-bottom: 2px solid #DDDFDE; font-size: 14px; }


.UpsellItem { padding: 10px 0 0; display: block; margin: auto; cursor: pointer; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-color: transparent; border-style: solid; border-width: 1px; overflow: hidden; }
.UpsellItem:hover { background-color: #fff; border-color: #686868; color: #1D4B7C; text-decoration: none; }
.UpsellItemAddToCartText { visibility: hidden; padding: 4px; background: #686868; font-weight: bold; color: #fff; }
.UpsellItem:hover .UpsellItemAddToCartText { visibility: visible; }

input.ShoppingCartCheckoutThemeButton { width: 100%; height: 50px; font-size: 18px !important; }

.RewardPointsEarned { text-align: center; }
.PointsTotal { font-size: 12px; font-weight: normal; }

.ShoppingCartButtons .ThemeButton { margin-bottom: 4px; vertical-align: top; }
.ShoppingCartButtons .ThemeButton:last-of-type { margin-bottom: 0; }
/* [/ShoppingCart] */

/* [LargeShoppingCart] */
.ShoppingCart {  }
.ShoppingCartHeader {  }
.ShoppingCartClear {  }
.ShoppingCartPrice {  }
.ShoppingCartTotals {  }
.ShoppingCartShippingInfo {  }
.ShoppingCartDiscount {  }
.ShoppingCartCouponCode {  }
.ShoppingCartThumbnail {  }
.ShoppingCartItemNr {  }
.ShoppingCartVariations {  }
.ShoppingCartPersonalize {  }
.ShoppingCartGiftMessage {  }
.ErrorText {  }
.ShoppingCartSelectCheckbox { border: 0; }
input.ShoppingCartQtyTextbox { width: 40px; padding: 0; }
.ShoppingCartInlineCalculateShippingForm { display: inline; }
.ShoppingCartInlinePostalCode { display: inline; float: left; }
.ShoppingCartInlinePostalCodeTextbox { width: 150px; }
.ShoppingCartCouponCodeTextbox { width: 80px; }
.ShoppingCartSavedCartText { text-align: center; }
/* [/LargeShoppingCart] */

/* [LinkGroup] */

/* [/LinkGroup] */

/* [MailingList] */

/* [/MailingList] */

/* [ManufacturerNavigationLinks] */

/* [/ManufacturerNavigationLinks] */

/* [MicroStoreDropDown] */
.MicroStoreDropDown { width: 160px; }
/* [/MicroStoreDropDown] */

/* [ProductDisplay] */
.FeaturedItemsRating {  }
.FeaturedItemsDetails {  }
.FeaturedItemsPriceHR {  }
.FeaturedItemsPriceAlignment {  }
.FeaturedItemsBuyMoreLinkHR {  }
.FeatureItemsThumbNail {  }
.PriceLabels {  }
.ProductDisplayBuyNowLink { font-size: 7pt; text-decoration: none; }
.ProductDisplayMoreLink { font-size: 7pt; text-decoration: none; }
.ProductDisplayStatus { font-size: 7pt; text-decoration: none; }
.ProductDisplayBuyMoreArea { float: right; padding-right: 5px; display: inline; }
/* [/ProductDisplay] */

/* [ProductReviewsListing] */
.ProductReviewDimensionName {  }
.ProductReviewSummary {  }
.ProductReviewWriteLink {  }
.ProductReviewAllReviewsLink {  }
.ProductReviewTitle {  }
.ProductReviewRatings {  }
.ProductReviewBody {  }
.ProductReviewProsArea {  }
.ProductReviewProsHeader {  }
.ProductReviewPros {  }
.ProductReviewConsArea {  }
.ProductReviewConsHeader {  }
.ProductReviewCons {  }
.ProductReviewItemMeta {  }
/* [/ProductReviewsListing] */

/* [QuickOrderEntry] */
.QuickOrderEntryHeader { text-align: center; }
.QuickOrderEntryItemNumberTextbox { width: 100px; }
.QuickOrderEntryQuantityTextbox { width: 50px; }
.QuickOrderEntryAddButton { text-align: center; }
/* [/QuickOrderEntry] */

/* [RepeatedList] */

/* [/RepeatedList] */

/* [RSSFeedReader] */

/* [/RSSFeedReader] */

/* [SearchBox] */

/* [/SearchBox] */

/* [SmallShoppingCart] */
.SmallCartItemLink { text-decoration: underline; }
input.SmallCartQtyTextbox, input.SmallCartQtyTextbox:focus { padding: 0; border: none; border-bottom: 1px dotted #ccc; height: auto; width: 30px; box-shadow: none; border-radius: 0; text-align: center; }
input.SmallCartQtyTextbox:focus { border-color: #66afe9; }
.SmallCartItem .badge { line-height: 20px; width: 20px; padding: 0; }
/* [/SmallShoppingCart] */

/* [Tabs] */

/* [/Tabs] */

/* [TreeNavigation] */
.Node {  }
.NodeHover {  }
.NodeSelected {  }
.RootNode {  }
.LeafNode {  }
.Island {  }
/* [/TreeNavigation] */

/* [WidgetArea] */

/* [/WidgetArea] */

/* [Widget556616082] */
.Control_556616082 { float: left; }
.ControlHeader_556616082 {  }
.ControlItem_556616082 {  }
.ControlLink_556616082 {  }
.ControlLink_556616082 a {  }
.ControlLink_556616082 a:hover {  }
.ControlLinkSeperator_556616082 {  }
.ControlText_556616082 {  }
.ControlInput_556616082 {  }
.ControlFooter_556616082 {  }
/* [/Widget556616082] */

/* [Widget556616083] */
.Control_556616083 { float: right; }
.ControlHeader_556616083 {  }
.ControlItem_556616083 {  }
.ControlLink_556616083 {  }
.ControlLink_556616083 a {  }
.ControlLink_556616083 a:hover {  }
.ControlLinkSeperator_556616083 {  }
.ControlText_556616083 {  }
.ControlInput_556616083 {  }
.ControlFooter_556616083 {  }
/* [/Widget556616083] */

/* [Widget556616076] */
.Control_556616076 { text-align: right; }
.ControlHeader_556616076 {  }
.ControlItem_556616076 {  }
.ControlLink_556616076 {  }
.ControlLink_556616076 a {  }
.ControlLink_556616076 a:hover {  }
.ControlLinkSeperator_556616076 {  }
.ControlText_556616076 {  }
.ControlInput_556616076 {  }
.ControlFooter_556616076 {  }
/* [/Widget556616076] */

/* [Buttons] */
.ThemeButton { border: 1px solid #439FD9; padding: 7px 10px; background: #5AA3F5; color: white; text-shadow: 0 0 10px black; cursor: pointer; }
.ThemeButton:hover { background: #7FBCFF; }
.GoThemeButton { padding: 5px; }
/* [/Buttons] */

/* [Slideshow] */
.Slideshow { position: relative; }
.SlideList, Slide { margin: 0; padding: 0; list-style: none; }
.Slide { overflow: hidden; }
.SlideshowButtons { margin: 0; padding: 0; left: 1em; bottom: 1em; position: absolute; display: none; }
.SlideshowButton { margin: 0 1em 0 0; padding: 0; float: left; list-style: none; }
.SlideshowButtonLink { float: left; width: 20px; height: 20px; text-indent: -9999px; border: 3px solid #222; border-radius: 50%; }
.SlideshowButtonLinkCurrent { background: #222; }
.SlideshowButtonLink:focus { outline: none; }
.SlideshowPrevious { position: absolute; left: 8px; color: #fff; background: url("/Shared/Themes/MegaStoreRedesign/images/SlideshowPrevious.png") no-repeat; font-size: 0px; line-height: 0px; }
.SlideshowNext { position: absolute; right: 8px; background: url("/Shared/Themes/MegaStoreRedesign/images/SideshowNext.png") no-repeat; font-size: 0px; line-height: 0px; }
.SlideshowPreviousLink { color: #fff; padding: 36px; display: block; }
.SlideshowNextLink { color: #FFFFFF; display: block; padding: 36px; }
/* [/Slideshow] */

/* [Widget556615986] */
.Control_556615986 {  }
.Control_556615986 table { background: #f2f3f5; }
.Control_556615986 td { vertical-align: top; }
.ControlHeader_556615986 { font-size: 13px; font-style: italic; margin: 10px 0; text-align: center; }
.ControlItem_556615986 { text-align: center; padding: 20px 0; border-bottom: 1px solid #dfdfe1; margin: 0 12px; }
.Control_556615986 tr:last-child .ControlItem_556615986 { border: none; }
.ControlLink_556615986 { padding: 10px 0; display: block; width: 120px; overflow: hidden; text-overflow: ellipsis; }
.Control_556615986 img.FeaturedItemsThumbNail { padding: 3px; border: 1px solid #DDDFDE !important; box-shadow: 2px 2px 3px #dddfde; max-width: 75px; max-height: 150px; }
.Control_556615986 .lblPriceLabel { display: none; }
.Control_556615986 .UpsellItemPrice { font-size: 20px; }
/* [/Widget556615986] */

/* [BlogRoll] */
/* these are shared between Blog Post, Blog Roll, and Blog Roll Widget */

.BlogPostCommentProfileName {  }
.BlogPostTitle { padding: 0; font-weight: normal; }
.BlogPostImage {  }
.BlogPostCategoryAndTags { padding: 15px 0; color: #999; }
.BlogPostTags { padding: 0 0 0 10px; display: inline; }
.BlogPostTag { display: inline-block; *display: inline; padding: 0 3px; background: #eee; border-radius: 3px; border: 1px solid #ddd; margin: 0 5px 0 0; }
.BlogPostTag a { color: #999; }
.BlogPostCategories, .BlogPostCategory { display: inline; }
.BlogCommentModerationMessage { background: #FEEFB3; color: #9F6000; border: 1px solid #9F6000; border-radius: 5px; padding: 10px; margin: 10px; -webkit-transition: 0.5s; -moz-transition: 0.5s; transition: 0.5s; }
.BlogCommentModerationMessage.Flash { background: #FFF5CF; -webkit-transition: 0.5s; -moz-transition: 0.5s; transition: 0.5s; }
.BlogPostComments  .BlogPostCommentsHeader, .BlogPostComments  .BlogPostCommentsHeader h3, .BlogPostComments  .BlogPostCommentCount { display: inline; font-size: 24px; }


.BlogRoll .BlogPostCommentProfileImage { float: left; padding-right: 10px; }
.BlogRoll .BlogPostCommentText { margin: 0; }
.BlogRoll .BlogPostCommentDisplayName { margin-top: -5px; }
.BlogRoll .BlogPostCommentsAddTextbox { height: 50px; }
.BlogRollFeedLinks { float: right; padding: 5px 0; }
.BlogRollBlogImage { padding: 0 0 10px 0; max-width: 100%; }
.BlogRollBlogImage img { display: block; max-width: 100%; }

.BlogPostDatePretty { position: relative; float: left; width: 50px; height: 45px; color: #999; margin: 10px 10px 10px 0; }
.DateMonth, .DateDay, .DateYear { position: absolute; text-indent: -9999px; background: url(/store/i/a/login-date-sprite.png) no-repeat; }
.DateMonth { top: 0; left: 0; width: 30px; height: 18px; }
.DateDay { top: 18px; font-size: 18px; line-height: 18px; width: 31px; height: 24px; text-align: center; }
.DateYear { right: 0; top: 0px; width: 21px; height: 45px; }
.month-1 { background-position: 0px -50px; }
.month-2 { background-position: 0px -81px; }
.month-3 { background-position: 0px -112px; }
.month-4 { background-position: 0px -143px; }
.month-5 { background-position: 0px -174px; }
.month-6 { background-position: 0px -205px; }
.month-7 { background-position: 0px -236px; }
.month-8 { background-position: 0px -267px; }
.month-9 { background-position: 0px -298px; }
.month-10 { background-position: 0px -329px; }
.month-11 { background-position: 0px -360px; }
.month-12 { background-position: 0px -391px; }

.day-1 { background-position: -51px -45px; }
.day-2 { background-position: -51px -76px; }
.day-3 { background-position: -51px -107px; }
.day-4 { background-position: -51px -138px; }
.day-5 { background-position: -51px -169px; }
.day-6 { background-position: -51px -200px; }
.day-7 { background-position: -51px -231px; }
.day-8 { background-position: -51px -263px; }
.day-9 { background-position: -51px -294px; }
.day-10 { background-position: -51px -325px; }
.day-11 { background-position: -51px -356px; }
.day-12 { background-position: -51px -387px; }
.day-13 { background-position: -51px -418px; }
.day-14 { background-position: -51px -449px; }
.day-15 { background-position: -101px -45px; }
.day-16 { background-position: -101px -76px; }
.day-17 { background-position: -101px -107px; }
.day-18 { background-position: -101px -139px; }
.day-19 { background-position: -101px -171px; }
.day-20 { background-position: -101px -201px; }
.day-21 { background-position: -101px -232px; }
.day-22 { background-position: -101px -263px; }
.day-23 { background-position: -101px -294px; }
.day-24 { background-position: -101px -325px; }
.day-25 { background-position: -101px -356px; }
.day-26 { background-position: -101px -387px; }
.day-27 { background-position: -101px -418px; }
.day-28 { background-position: -101px -450px; }
.day-29 { background-position: -101px -482px; }
.day-30 { background-position: -101px -513px; }
.day-31 { background-position: -101px -545px; }

.year-2011 { background-position: -145px -7px; }
.year-2012 { background-position: -145px -79px; }
.year-2013 { background-position: -145px -145px; }
.year-2014 { background-position: -145px -212px; }
.year-2015 { background-position: -145px -267px; }
.year-2016 { background-position: -145px -322px; }
.year-2017 { background-position: -145px -378px; }
.year-2018 { background-position: -145px -433px; }
.year-2019 { background-position: -145px -488px; }
.year-2020 { background-position: -145px -544px; }
/* [/BlogRoll] */

/* [BlogPost] */
.BlogPostCommentNameDate { font-size: 10px; }

.BlogPostAddCommentHide, .HideComments { display: none; }
.BlogPostCommentHighlightCurrent { background: #FFFCDF; border-radius: 3px; box-shadow: 0 0 10px rgba(0,0,0,0.2); }

.AdminCommentLabel, .AuthorCommentLabel { display: none; }
.AdminCommentLabel.BlogPostCommentByAdmin { display: inline; background: #fff; font-weight: bold; padding: 2px 3px; margin: 2px; }
.AuthorCommentLabel.BlogPostCommentByAuthor { display: inline; background: #fff; font-weight: bold; padding: 2px 3px; margin: 2px; }

.CommentReplies { margin-left: 100px; }
/* [/BlogPost] */

/* [Profile] */
.ProfileName { float: left; }
.PofileImage { float: right; padding: 0 0 20px 20px; }
.ProfileInfoTable { margin: 10px 0; clear: left; }
.ProfileTableHeader { margin-top: 20px; clear: both; }
.ProfileTable { width: 100%; }
.ProfileTable th { background: #eee; text-align: left; padding: 3px; }
.ProfileTable td { padding: 3px; border-bottom: 1px solid #eee; }
/* [/Profile] */

/* [BlogTagCloud] */
.BlogTagCloud.Control { text-align: justify; }
.TagCloudList { list-style-type: none; margin: 0; padding: 0; }
.BlogTagCloud .ControlItem { display: inline; padding: 0 5px 0 0; vertical-align: bottom; } 
.BlogTagCloud .ControlLink_Link { -webkit-transition: 0.5s; -moz-transition: -.5s; }
.BlogTagCloud .TagCloud_MinSize { opacity: 0.5; }
.BlogTagCloud .TagCloud_MedSize {  }
.BlogTagCloud .TagCloud_MaxSize { font-weight: bold; }
.BlogTagCloud .ControlLink_Link:hover { color: red; opacity: 1; -webkit-transition: 0.5s; -moz-transition: -.5s; }
/* [/BlogTagCloud] */

/* [WriteReview] */
ul.TagList li { width: 32%; }
ul.TagList:after { content: ''; display: table; clear: left; }
/* [/WriteReview] */

/* [OnePageCheckOut] */
.checkout .ShoppingCartTotals { text-align: left; font-size: inherit; font-weight: normal; padding: 5px 0; }
.checkout .ShoppingCartTotals b { font-weight: normal; }
.checkout .ShoppingCartPrice { font-size: inherit; text-align: right; padding: 5px 0; white-space: nowrap; }
#trDiscount a, #trDiscount a:hover { text-decoration: none; }
#trTotal span, #trTotal b, #trAdjustedTotal span, #trAdjustedTotal b { font-weight: bold; }
.OrderGiftingArea input[type=checkbox] { margin-right: 5px; }
#addrBilling_ddAddressList_dd_ddCombo, #addrShipping_ddAddressList_dd_ddCombo, #ddExpireMonth, #txtPointsToApply { width: 100% !important; }

.checkout label { position: relative; font-size: 1em; padding: 20px 0 0; }
.checkout label > span { position: absolute; top: 25px; line-height: 25px; left: 10px; font-size: 1em; font-weight: normal; transition: 0.1s; opacity: 0.5; cursor: text; }
.checkout label  span span, .checkout label input[type=checkbox] + span { position: static; opacity: 1; }
.checkout label.active span, .checkout label.filled span, .checkout label select ~ span, .checkout label select + span, .checkout .address-book-label span { top: 0; left: 5px; font-size: 10px; transition: 0.1s; -moz-transition: 0.1s; opacity: 1; cursor: default; }

/* this is a duplicate of the above rule, it seems to break firefox if it's included with the above selectors for some reason */
.checkout input:-webkit-autofill + span { top: 0; left: 5px; font-size: 10px; transition: 0.1s; -moz-transition: 0.1s; opacity: 1; cursor: default; }

.checkout input[type=checkbox], .checkout input[type=radio] { width: auto !important; }

.checkout label span.ErrorText { position: static; font-size: 12px; line-height: 1; color: #df8f8e; padding: 0; opacity: 1; margin: 10px 0 0; background: none; box-shadow: none; border: none; }
.field-has-error { background: #000 !important; border-color: #df8f8e !important; }

.zip-code { display: table; }
.zip-code > div { display: table-cell; }
.zip-code label span { font-size: 12px; }
.zip-plus4 { max-width: 100px; }
.zip-plus4 input { padding: 0; }
.zip-plus4 > div { padding-left: 5px !important; }
.zip-plus4 > div:empty { padding: 0; }
.zip-plus4 > div:empty + span { display: none; }

.PublicCommentsArea { width: auto !important; position: static; float: none !important; }
.txtPublicComments { background-color: black; }
#txtPublicComments { background-color: black; }
.AddressEditorEmailTextbox { background-color: black; }
.CreditCardTextbox { background-color: black !important; }
#txtCardNumber { background-color: black !important; }


.RequiredField { color: #df8f8e; font-weight: bold; line-height: 1; font-size: 150%; padding-left: 5px; }

.payment-method .payment-name { cursor: pointer; }
.payment-method .payment-name:before { display: inline-block; content: ' '; width: 0px; height: 0px; border-style: solid; border-color: transparent transparent transparent; border-left-color: inherit; border-width: 5px 5px 5px 10px; position: relative; top: -3px; }
.payment-method.active .payment-name:before { border-color: transparent; border-top-color: inherit; border-width: 10px 5px 5px 5px; top: 2px; }

.custom-fields .field { min-height: 80px; }

label.remove-payment, label.image-input-replace { position: relative; padding: 0; font-weight: inherit; }

label.remove-payment a, label.image-input-replace a { cursor: pointer; position: relative; z-index: 1; }

label.remove-payment input, label.image-input-replace input { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; opacity: 0; z-index: 2; }

.floating-totals { min-height: 1px; }

.BillMeLater .payment-name { background: url('https://www.paypalobjects.com/webstatic/en_US/i/buttons/ppcredit_SM_BNPOT_1x.png') no-repeat top left; text-indent: 127px; margin-left: 20px; height: 40px; }
.BillMeLater .payment-name span { display: none; }
.BillMeLater .payment-name:before, .PayPal .payment-name:before { left: -147px; }
.BillMeLater .payment-name { background: url('https://www.paypalobjects.com/webstatic/en_US/i/buttons/ppcredit_SM_BNPOT_1x.png') no-repeat top left; text-indent: 127px; margin-left: 20px; height: 40px; }
.BillMeLater .payment-name span { display: none; }
.BillMeLater .payment-name:before, .PayPal .payment-name:before { left: -147px; }


.PayPalExpress .payment-name, .PayPal .payment-name { background: url('../images/paypal-logo.png') no-repeat top left; text-indent: 90px; margin-left: 20px; height: 25px; }
.PayPalExpress .payment-name:before, .PayPal .payment-name:before { left: -110px; }
.PayPalExpress .payment-name span, .PayPal .payment-name span { display: none; }
.PayPal .paypal-text { display: none; }
.PayPal.active .paypal-text { display: block; }
.OnePageCheckOut .ShoppingCartCouponCode { padding: 0; }
.PayPalCommerce .payment-name { background: url('https://www.paypalobjects.com/webstatic/mktg/Logo/pp-logo-100px.png') no-repeat top left; text-indent: 127px; margin-left: 20px; height: 26px; }
.PayPalCommerce .payment-name span { display: none; }
.PayPalCommerce .payment-name:before { left: -147px; }
.CardNumberIframe { height: 35px; }
.Afterpay .payment-name { background: url('/store/images/afterpay.png') no-repeat top left; background-size:126px 35px; text-indent: 127px; margin-left: 20px; height: 30px; }
.Afterpay .payment-name:before { left: -147px; }
/* [/OnePageCheckOut] */

/* [MyAccount] */
.MyAccountPercentBarArea { border: 1px solid #999; border-radius: 5px; }
.MyAccountPercentBarInner { padding: 1px; }
.MyAccountPercentBar { border-radius: 4px; background: #66CC66; box-shadow: -5px -5px 5px rgba(0,0,0,0.25) inset, 5px 5px 5px rgba(255,255,255,0.5) inset; text-align: center; font-weight: bold; font-size: 11px; line-height: 15px; }

.MyAccountShowHideTable { display: none; }

.MyAccountSection .StarRatings { float: none; margin: 0 auto; }
.MyAccountSection .StarRatings td { padding: 0 2px; border: none; }
.CustomField.MyAccountSectionEntry { padding: 0 0 10px; width: 48%; float: left; min-height: 40px; }
.CustomField.MyAccountSectionEntry:nth-child(2n) { margin-bottom: 15px; }
#trAddNew { font-weight: bold; }


.profMenu-savedCart {
  display: content!important;
}

.ControlLink_Link {
  color: white!important;
  background: black;
}
#lnkShowHideSavedCarts {
  color: black;
}
/* [/MyAccount] */

/* [CustomerLogin] */
.CustomerLoginEmailTextbox { width: 180px; }

.FacebookButton { background-color: #4c66a4; color: #fff; }
.FacebookButton:hover { background-color: #364c7c; color: #fff; } 
.FacebookButton .icon-facebook { font-size: 1.2em; }
/* [/CustomerLogin] */

/* [CategoryNavigationLinks] */
.BrowseCategoryIcon {  }
/* [/CategoryNavigationLinks] */

/* [AttributeNavigationLinks] */
.BrowseByAttributeFilterButtonArea {  }
.BrowseByAttHeader {  }
.MoreAttributesLink { cursor: pointer; }
.MoreAttributes { display: none; }
/* [/AttributeNavigationLinks] */

/* [HTML] */

/* [/HTML] */

/* [Carousel] */

/* [/Carousel] */

/* [Widget556615513921] */
.Control_556615513921 {  }
.ControlHeader_556615513921 {  }
.ControlItem_556615513921 {  }
.ControlLink_556615513921 {  }
.ControlLink_556615513921:hover {  }
.ControlLink_556615513921 a {  }
.ControlLink_556615513921 a:hover {  }
.ControlLink_Link_556615513921 {  }
.ControlLink_Link_556615513921:hover {  }
.ControlLinkSeperator_556615513921 {  }
.ControlText_556615513921 {  }
.ControlInput_556615513921 {  }
.ControlFooter_556615513921 {  }
.SmallCartItemLink_556615513921 { text-decoration: underline; }
.SmallCartQtyTextbox_556615513921 { border-color: #333333; border-width: 1px; border-style: Solid; font-size: 8pt; width: 30px; }
/* [/Widget556615513921] */

/* [Widget556620] */
.Control_556620 { margin-bottom: 30px; }
.ControlHeader_556620 {  }
.Control_556620 h4 { margin-bottom: 0; }
.ControlItem_556620 {  }
.ControlLink_556620 {  }
.ControlLink_556620:hover {  }
.ControlLink_556620 a {  }
.ControlLink_556620 a:hover {  }
.ControlLink_Link_556620 {  }
.ControlLink_Link_556620:hover {  }
.ControlLinkSeperator_556620 {  }
.ControlText_556620 {  }
.ControlInput_556620 {  }
.ControlFooter_556620 {  }
.FeaturedItemsRating_556620 {  }
.FeaturedItemsDetails_556620 {  }
.FeaturedItemsPriceHR_556620 {  }
.FeaturedItemsPriceAlignment_556620 {  }
.FeaturedItemsBuyMoreLinkHR_556620 {  }
.FeaturedItemsThumbnail_556620 {  }
.PriceLabels_556620 {  }
.ProductDisplayBuyNowLink_556620 { font-size: 7pt; text-decoration: none; }
.ProductDisplayMoreLink_556620 { font-size: 7pt; text-decoration: none; }
.ProductDisplayStatus_556620 { font-size: 7pt; text-decoration: none; }
.ProductDisplayBuyMoreArea_556620 { float: right; padding-right: 5px; display: inline; }
/* [/Widget556620] */

/* [Widget5684] */
.Control_5684 { padding-top: 20px; padding-bottom: 20px; }
.ControlHeader_5684 {  }
.ControlItem_5684 {  }
.ControlLink_5684 {  }
.ControlLink_5684:hover {  }
.ControlLink_5684 a {  }
.ControlLink_5684 a:hover {  }
.ControlLink_Link_5684 {  }
.ControlLink_Link_5684:hover {  }
.ControlLinkSeperator_5684 {  }
.ControlText_5684 {  }
.ControlInput_5684 {  }
.ControlFooter_5684 {  }
.BlogTagCloud.Control_5684 { text-align: justify; }
.TagCloudList_5684 { list-style-type: none; margin: 0; padding: 0; }
.BlogTagCloud .ControlItem_5684 { display: inline; padding: 0 5px 0 0; vertical-align: bottom; }
.BlogTagCloud .ControlLink_Link_5684 { -webkit-transition: 0.5s; -moz-transition: -.5s; }
.BlogTagCloud .TagCloud_MinSize_5684 { opacity: 0.5; }
.BlogTagCloud .TagCloud_MedSize_5684 {  }
.BlogTagCloud .TagCloud_MaxSize_5684 { font-weight: bold; }
.BlogTagCloud .ControlLink_Link:hover_5684 { color: red; opacity: 1; -webkit-transition: 0.5s; -moz-transition: -.5s; }
/* [/Widget5684] */

/* [Widget556616093] */
.ControlLink_556616093:hover {  }


.ControlLink_Link_556616093 {  }
.ControlLink_Link_556616093:hover {  }
/* [/Widget556616093] */

/* [Widget556615] */
.Control_556615 { margin-bottom: 30px; }
.Control_556615 h4 { margin-bottom: 0; }
.ControlHeader_556615 {  }
.ControlItem_556615 {  }
.ControlLink_556615 {  }
.ControlLink_556615:hover {  }
.ControlLink_556615 a {  }
.ControlLink_556615 a:hover {  }
.ControlLink_Link_556615 {  }
.ControlLink_Link_556615:hover {  }
.ControlLinkSeperator_556615 {  }
.ControlText_556615 {  }
.ControlInput_556615 {  }
.ControlFooter_556615 {  }
.FeaturedItemsRating_556615 {  }
.FeaturedItemsDetails_556615 {  }
.FeaturedItemsPriceHR_556615 {  }
.FeaturedItemsPriceAlignment_556615 {  }
.FeaturedItemsBuyMoreLinkHR_556615 {  }
.FeaturedItemsThumbnail_556615 {  }
.PriceLabels_556615 {  }
.ProductDisplayBuyNowLink_556615 { font-size: 7pt; text-decoration: none; }
.ProductDisplayMoreLink_556615 { font-size: 7pt; text-decoration: none; }
.ProductDisplayStatus_556615 { font-size: 7pt; text-decoration: none; }
.ProductDisplayBuyMoreArea_556615 { float: right; padding-right: 5px; display: inline; }
/* [/Widget556615] */

/* [Widget5669] */
.Control_5669 { border: 1px solid white; }
.Control_5669 a { font-size: 1.5em; }
/* [/Widget5669] */

/* [BlogDrillDown] */
.BlogDrillDownIcon { display: inline-block; *display: inline; zoom: 1; padding: 0 5px; vertical-align: middle; }
.BlogDrillDown .ControlLink { display: inline-block; *display: inline; zoom: 1; }
/* [/BlogDrillDown] */

/* [UploadFile] */
.ShippingEstimationRateTable td { padding: 5px 0; }
.ShippingEstimationRate span { padding-left: 10px; font-weight: bold; }
/* [/UploadFile] */

/* [AttributeGroupLinks] */

/* [/AttributeGroupLinks] */

/* [MenuBar] */

/* [/MenuBar] */

/* [Widget556615513920] */
.Control_556615513920 {  }
.Control_556615513920  .navbar { background: #ce1515; border: none; height: 70px; }
.Control_556615513920  .navbar-default .navbar-nav > li > a { color: #fff; line-height: 40px; border-right: 1px solid #ad2121; }
.Control_556615513920  .navbar-default .navbar-nav > li > a:hover { background: #ad2121; }
.Control_556615513920 .navbar-collapse { padding-left: 0; padding-right: 0; }
.ControlHeader_556615513920 {  }
.ControlItem_556615513920 {  }
.ControlLink_556615513920 {  }
.ControlLink_556615513920:hover {  }
.ControlLink_556615513920 a {  }
.ControlLink_556615513920 a:hover {  }
.ControlLink_Link_556615513920 {  }
.ControlLink_Link_556615513920:hover {  }
.ControlLinkSeperator_556615513920 {  }
.ControlText_556615513920 {  }
.ControlInput_556615513920 {  }
.ControlFooter_556615513920 {  }
/* [/Widget556615513920] */

/* [Widget556615513997] */
.Control_556615513997 .navbar { background: #1f2123; height: 64px; border: none; }
.Control_556615513997 .navbar-default .navbar-nav > li > a { line-height: 34px; border-right: 1px solid #000; }
.ControlHeader_556615513997 {  }
.ControlItem_556615513997 {  }
.ControlLink_556615513997 {  }
.ControlLink_556615513997:hover {  }
.ControlLink_556615513997 a {  }
.ControlLink_556615513997 a:hover {  }
.ControlLink_Link_556615513997 {  }
.ControlLink_Link_556615513997:hover {  }
.ControlLinkSeperator_556615513997 {  }
.ControlText_556615513997 {  }
.ControlInput_556615513997 {  }
.ControlFooter_556615513997 {  }
/* [/Widget556615513997] */

/* [Widget5566257] */
.Control_5566257 .navbar { background: none; border-bottom: none; margin-bottom: 0; }
.Control_5566257 .navbar-default .navbar-right .navbar-nav  > li > a, .Control_5566257 .navbar-default .navbar-right .navbar-nav  > li:first-child > a { border: none; background: none; color: #999; }
.Control_5566257 .navbar-default .navbar-right .navbar-nav  > li > a:hover { border: none; background: none; color: #fff; }

.Control_5566257 .navbar-default .navbar-nav > li > a { border-right: 1px solid #ccc; line-height: 20px; color: #999; }
.Control_5566257 .navbar-default .navbar-nav > li:first-child > a { border-left: 1px solid #ccc; }
.Control_5566257 .navbar-default .navbar-nav > li > a:hover { border-right: 1px solid #ccc; background: #eee; color: #444444; }
.Control_5566257 .navbar-collapse { padding-left: 0; padding-right: 0; }

.ControlHeader_5566257 {  }
.ControlItem_5566257 {  }
.ControlLink_5566257 {  }
.ControlLink_5566257:hover {  }
.ControlLink_5566257 a {  }
.ControlLink_5566257 a:hover {  }
.ControlLink_Link_5566257 {  }
.ControlLink_Link_5566257:hover {  }
.ControlLinkSeperator_5566257 {  }
.ControlText_5566257 {  }
.ControlInput_5566257 {  }
.ControlFooter_5566257 {  }
/* [/Widget5566257] */

/* [Widget5566253] */
.Control_5566253 .navbar { background: none repeat scroll 0 0 #000 !Important; border-bottom: medium none; border-radius: 6px; margin-bottom: 0; position: relative; z-index: 10; }
.Control_5566253 .navbar-collapse { padding-left: 0; padding-right: 0; background-color: #0CF4FF; }
.Control_5566253 .navbar-default .navbar-nav > li > a { line-height: 35px; color: black; padding-left: 15px; padding-right: 15px; }
.Control_5566253 .navbar-default .navbar-nav > li > a:hover { border-right: 1px solid #000; background: #000; }
.Control_5566253 .navbar-default .navbar-nav > li:first-child > a:hover { border-radius: 6px 0 0 6px; }
.Control_5566253 .navbar-right { background: none repeat scroll 0 0 #65A9E0; border-radius: 0 6px 6px 0; }
.Control_5566253 .navbar-default .navbar-right .navbar-nav > li > a { border-right: 1px solid #0CF4FF; line-height: 35px; color: #fff; padding-left: 20px; padding-right: 20px; font-size: 24px; }
.Control_5566253 .navbar-default .navbar-right .navbar-nav > li > a:hover { background: #079299; }
.Control_5566253 .navbar-default .navbar-right .navbar-nav > li:last-child  > a { border-right: none; border-radius: 0 6px 6px 0; }
.Control_5566253 .navbar-default .navbar-right .navbar-nav>li>a { color: black; }
.Control_5566253 .navbar-nav>li>a { padding-top: 0px !important; padding-bottom: 0px !important; }

.ControlHeader_5566253 {  }
.ControlItem_5566253 {  }
.ControlLink_5566253 {  }
.ControlLink_5566253:hover {  }
.ControlLink_5566253 a {  }
.ControlLink_5566253 a:hover {  }
.ControlLink_Link_5566253 {  }
.ControlLink_Link_5566253:hover {  }
.ControlLinkSeperator_5566253 {  }
.ControlText_5566253 {  }
.ControlInput_5566253 {  }
.ControlFooter_5566253 {  }
/* [/Widget5566253] */

/* [Widget5663] */
.Control_5663 .h-social a, .Control_5663 .h-social2 a { color: #fff; }
.Control_5663 .h-social a:hover, .Control_5663 .h-social2 a:hover { color: #ccc; text-decoration: none; }
.Control_5663 .h-search .AutocompleteSearchBox { background: none repeat scroll 0 0 black; border: 1px solid #0CF4FF; display: inline-block; padding: 5px; position: relative; width: 100%; }
.h-search { background: none repeat scroll 0 0 #000; padding: 12px; width: 100%; position: relative; }

.Control_5663 .SearchGoThemeButton { background: none repeat scroll 0 0 #0CF4FF; border: 1px solid #0CF4FF; display: inline-block; margin: 0; position: absolute; top: 12px; right: 8px; color: black; height: 34px; }
.Control_5663 .SearchGoThemeButton:hover { background: #079299; }
.Control_5663 .col-xs-6:nth-of-type(2n), .col-sm-6:nth-of-type(2n) { margin-bottom: 0; }
.Control_5663 a {  }
/* [/Widget5663] */

/* [Widget556621] */
.ControlInput_556621, .Control_556621 input[type="text"], .Control_556621 input[type="password"], .Control_556621 input[type="email"] { border: medium none; box-shadow: none; display: inline-block; line-height: 0; margin-bottom: 0; margin-right: 0; margin-top: 0; padding: 14px; }
.Control_556621 .MailingListGoThemeButton { background: #65A9E0; border: medium none; color: #FFFFFF; display: inline-block; font-size: 18px; margin: 0 0 0 -5px; height: 44px; }
.Control_556621 .MailingListGoThemeButton:hover { background: #079299; }
.Control_556621 { text-align: center; }
.ControlHeader_556621 { display: none; }

.ControlItem_556621 {  }
.ControlText_556621 {  }
.ControlInput_556621 {  }
/* [/Widget556621] */

/* [Widget556622] */
.Control_556622 { margin-top: 30px; background: #fff; border: 1px solid #ededed; }
.Control_556622  .BlogRollBlogName { margin: 0; text-transform: uppercase; }
.Control_556622  .grad { border: 1px solid #ddd; }
.Control_556622  .BlogRollBlogName div { color: #65A9E0; display: inline-block; padding: 10px 16px; font-size: 18px; font-weight: bold; }
.Control_556622  .BlogPostImage { margin-top: 20px; margin-bottom: 20px; }
.ControlHeader_556622 {  }
.ControlItem_556622 {  }
.ControlLink_556622 {  }
.ControlLink_556622:hover {  }
.ControlLink_556622 a {  }
.ControlLink_556622 a:hover {  }
.ControlLink_Link_556622 {  }
.ControlLink_Link_556622:hover {  }
.ControlLinkSeperator_556622 {  }
.ControlText_556622 {  }
.ControlInput_556622 {  }
.ControlFooter_556622 {  }
/* [/Widget556622] */

/* [MenuList] */

/* [/MenuList] */

/* [Widget5667] */
.Control_5667 .nav > li > a:hover, .nav > li > a:focus { background: none; background-color: none; color: #999; }
.ControlHeader_5667 {  }
.ControlItem_5667 {  }
.ControlLink_5667 {  }
.ControlLink_5667:hover {  }
.ControlLink_5667 a {  }
.ControlLink_5667 a:hover {  }
.ControlLink_Link_5667 {  }
.ControlLink_Link_5667:hover {  }
.ControlLinkSeperator_5667 {  }
.ControlText_5667 {  }
.ControlInput_5667 {  }
.ControlFooter_5667 {  }
/* [/Widget5667] */

/* [Widget5566275] */
.Control_5566275 {  }
.ControlItem_5566275 {  }
.ControlLink_5566275 {  }
.ControlLink_5566275:hover {  }
.ControlLink_5566275 a {  }
.ControlLink_5566275 a:hover {  }
.ControlLink_Link_5566275 {  }
.ControlLink_Link_5566275:hover {  }
.ControlLinkSeperator_5566275 {  }
.ControlText_5566275 {  }
.ControlInput_5566275 {  }
.ControlFooter_5566275 {  }
.BrowseByAttributeFilterButtonArea_5566275 {  }
.BrowseByAttHeader_5566275 {  }
/* [/Widget5566275] */

/* [Widget5566278] */
.Control_5566278 .well .row:last-child .ControlItem_5566278 { padding-left: 0; border-bottom: none; box-shadow: none; color: #000; margin-bottom: 0px; }
.Control_5566278 a { color: #000; font-size: 16px; }
.LayoutLeftColumn .ProductDisplay strong .ControlHeader_5566278 { text-transform: uppercase; padding-bottom: 20px; padding-left: 0; }
.ControlItem_5566278 { padding-left: 0; border-bottom: 1px solid #DDDDDD; color: #000; margin-bottom: 20px; }
.ControlLink_5566278 {  }
.ControlLink_5566278:hover {  }
.ControlLink_5566278 a {  }
.ControlLink_5566278 a:hover {  }
.ControlLink_Link_5566278 {  }
.ControlLink_Link_5566278:hover {  }
.ControlLinkSeperator_5566278 {  }
.ControlText_5566278 {  }
.ControlInput_5566278 {  }
.ControlFooter_5566278 {  }
.FeaturedItemsRating_5566278 {  }
.FeaturedItemsDetails_5566278 {  }
.FeaturedItemsPriceHR_5566278 {  }
.FeaturedItemsPriceAlignment_5566278 {  }
.FeaturedItemsBuyMoreLinkHR_5566278 {  }
.FeaturedItemsThumbnail_5566278 {  }
.PriceLabels_5566278 {  }
.ProductDisplayBuyNowLink_5566278 { font-size: 7pt; text-decoration: none; }
.ProductDisplayMoreLink_5566278 { font-size: 7pt; text-decoration: none; }
.ProductDisplayStatus_5566278 { font-size: 7pt; text-decoration: none; }
.ProductDisplayBuyMoreArea_5566278 { float: right; padding-right: 5px; display: inline; }
/* [/Widget5566278] */

/* [Widget5566279] */
.Control_5566279 .well .row:last-child .ControlItem_5566279 { padding-left: 0; border-bottom: none; box-shadow: none; color: #000; margin-bottom: 0px; }
.Control_5566279 a { color: #000; font-size: 16px; }
.LayoutLeftColumn .ProductDisplay strong .ControlHeader_5566279 { text-transform: uppercase; padding-bottom: 20px; padding-left: 0; }
.ControlItem_5566279 { padding-left: 0; border-bottom: 1px solid #DDDDDD; color: #000; margin-bottom: 20px; }
.Control_5566279 {  }
.ControlHeader_5566279 {  }
.ControlItem_5566279 {  }
.ControlLink_5566279 {  }
.ControlLink_5566279:hover {  }
.ControlLink_5566279 a {  }
.ControlLink_5566279 a:hover {  }
.ControlLink_Link_5566279 {  }
.ControlLink_Link_5566279:hover {  }
.ControlLinkSeperator_5566279 {  }
.ControlText_5566279 {  }
.ControlInput_5566279 {  }
.ControlFooter_5566279 {  }
.FeaturedItemsRating_5566279 {  }
.FeaturedItemsDetails_5566279 {  }
.FeaturedItemsPriceHR_5566279 {  }
.FeaturedItemsPriceAlignment_5566279 {  }
.FeaturedItemsBuyMoreLinkHR_5566279 {  }
.FeaturedItemsThumbnail_5566279 {  }
.PriceLabels_5566279 {  }
.ProductDisplayBuyNowLink_5566279 { font-size: 7pt; text-decoration: none; }
.ProductDisplayMoreLink_5566279 { font-size: 7pt; text-decoration: none; }
.ProductDisplayStatus_5566279 { font-size: 7pt; text-decoration: none; }
.ProductDisplayBuyMoreArea_5566279 { float: right; padding-right: 5px; display: inline; }
/* [/Widget5566279] */

/* [Widget5682] */
.Control_5682 .well .row:last-child .ControlItem_5682 { padding-left: 0; border-bottom: none; box-shadow: none; color: #000; margin-bottom: 0px; }
.Control_5682 a { color: #000; font-size: 16px; }
.LayoutLeftColumn .ProductDisplay strong .ControlHeader_5682 { text-transform: uppercase; padding-bottom: 20px; padding-left: 0; }
.ControlItem_5682 { padding-left: 0; border-bottom: 1px solid #DDDDDD; color: #000; margin-bottom: 20px; }
.Control_5682 {  }
.ControlHeader_5682 {  }
.ControlItem_5682 {  }
.ControlLink_5682 {  }
.ControlLink_5682:hover {  }
.ControlLink_5682 a {  }
.ControlLink_5682 a:hover {  }
.ControlLink_Link_5682 {  }
.ControlLink_Link_5682:hover {  }
.ControlLinkSeperator_5682 {  }
.ControlText_5682 {  }
.ControlInput_5682 {  }
.ControlFooter_5682 {  }
.FeaturedItemsRating_5682 {  }
.FeaturedItemsDetails_5682 {  }
.FeaturedItemsPriceHR_5682 {  }
.FeaturedItemsPriceAlignment_5682 {  }
.FeaturedItemsBuyMoreLinkHR_5682 {  }
.FeaturedItemsThumbnail_5682 {  }
.PriceLabels_5682 {  }
.ProductDisplayBuyNowLink_5682 { font-size: 7pt; text-decoration: none; }
.ProductDisplayMoreLink_5682 { font-size: 7pt; text-decoration: none; }
.ProductDisplayStatus_5682 { font-size: 7pt; text-decoration: none; }
.ProductDisplayBuyMoreArea_5682 { float: right; padding-right: 5px; display: inline; }
/* [/Widget5682] */

/* [ImageLogo] */

/* [/ImageLogo] */

/* [Widget556625] */
.Control_556625 img { background: none repeat scroll 0 0; border: 1px solid #ededed; margin-bottom: 25px; padding: 8px; }
.Control_556625 img:hover { border: 1px solid #65a9e0; }
.ControlHeader_556625 {  }
.ControlItem_556625 {  }
.ControlLink_556625 {  }
.ControlLink_556625:hover {  }
.ControlLink_556625 a {  }
.ControlLink_556625 a:hover {  }
.ControlLink_Link_556625 {  }
.ControlLink_Link_556625:hover {  }
.ControlLinkSeperator_556625 {  }
.ControlText_556625 {  }
.ControlInput_556625 {  }
.ControlFooter_556625 {  }
/* [/Widget556625] */

/* [Widget25909] */
.Control_25909 img { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #ededed; padding: 8px; }
.Control_25909 img:hover { border: 1px solid #65a9e0; }
.ControlHeader_25909 {  }
.ControlItem_25909 {  }
.ControlLink_25909 {  }
.ControlLink_25909:hover {  }
.ControlLink_25909 a {  }
.ControlLink_25909 a:hover {  }
.ControlLink_Link_25909 {  }
.ControlLink_Link_25909:hover {  }
.ControlLinkSeperator_25909 {  }
.ControlText_25909 {  }
.ControlInput_25909 {  }
.ControlFooter_25909 {  }
/* [/Widget25909] */

/* [Widget556627] */
.Control_556627 img { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #ededed; margin-bottom: 25px; padding: 8px; width: 100%; }
.Control_556627 img:hover { border: 1px solid #65A9E0; }
.ControlHeader_556627 {  }
.ControlItem_556627 {  }
.ControlLink_556627 {  }
.ControlLink_556627:hover {  }
.ControlLink_556627 a {  }
.ControlLink_556627 a:hover {  }
.ControlLink_Link_556627 {  }
.ControlLink_Link_556627:hover {  }
.ControlLinkSeperator_556627 {  }
.ControlText_556627 {  }
.ControlInput_556627 {  }
.ControlFooter_556627 {  }
/* [/Widget556627] */

/* [Widget556629] */
.Control_556629 img { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #ededed; margin-bottom: 25px; padding: 8px; width: 100%; }
.Control_556629 img:hover { border: 1px solid #65A9E0; }
.ControlHeader_556629 {  }
.ControlItem_556629 {  }
.ControlLink_556629 {  }
.ControlLink_556629:hover {  }
.ControlLink_556629 a {  }
.ControlLink_556629 a:hover {  }
.ControlLink_Link_556629 {  }
.ControlLink_Link_556629:hover {  }
.ControlLinkSeperator_556629 {  }
.ControlText_556629 {  }
.ControlInput_556629 {  }
.ControlFooter_556629 {  }
/* [/Widget556629] */

/* [Widget556631] */
.Control_556631 img { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #ededed; margin-bottom: 25px; padding: 8px; width: 100%; }
.Control_556631 img:hover { border: 1px solid #65A9E0; }
.ControlHeader_556631 {  }
.ControlItem_556631 {  }
.ControlLink_556631 {  }
.ControlLink_556631:hover {  }
.ControlLink_556631 a {  }
.ControlLink_556631 a:hover {  }
.ControlLink_Link_556631 {  }
.ControlLink_Link_556631:hover {  }
.ControlLinkSeperator_556631 {  }
.ControlText_556631 {  }
.ControlInput_556631 {  }
.ControlFooter_556631 {  }
/* [/Widget556631] */

/* [Widget556617] */
.Control_556617 { margin-bottom: 30px; }
.Control_556617 img { background: none repeat scroll 0 0 #000; }
.Control_556617 img:hover { /*border: 1px solid #65A9E0;*/ }
.ControlHeader_556617 {  }
.ControlItem_556617 {  }
.ControlLink_556617 {  }
.ControlLink_556617:hover {  }
.ControlLink_556617 a {  }
.ControlLink_556617 a:hover {  }
.ControlLink_Link_556617 {  }
.ControlLink_Link_556617:hover {  }
.ControlLinkSeperator_556617 {  }
.ControlText_556617 {  }
.ControlInput_556617 {  }
.ControlFooter_556617 {  }
/* [/Widget556617] */

/* [Widget556633] */
.Control_556633 img { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #ededed; padding: 8px; }
.Control_556633 img:hover { border: 1px solid #65a9e0; }
.ControlHeader_556633 {  }
.ControlItem_556633 {  }
.ControlLink_556633 {  }
.ControlLink_556633:hover {  }
.ControlLink_556633 a {  }
.ControlLink_556633 a:hover {  }
.ControlLink_Link_556633 {  }
.ControlLink_Link_556633:hover {  }
.ControlLinkSeperator_556633 {  }
.ControlText_556633 {  }
.ControlInput_556633 {  }
.ControlFooter_556633 {  }
/* [/Widget556633] */

/* [Widget556616] */
.Control_556616 { padding: 20px; background: #fff; border: 1px solid #ededed; text-align: center; margin-bottom: 30px; }
.Control_556616 h2 { color: #65a9e0; }
.Control_556616 a {  }
/* [/Widget556616] */

/* [BillMeLaterBanner] */

/* [/BillMeLaterBanner] */

/* [Widget5566276] */
.Control_5566276 { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #EDEDED; margin-bottom: 30px; padding: 10px; text-align: center; }
.ControlHeader_5566276 {  }
.ControlItem_5566276 {  }
.ControlLink_5566276 {  }
.ControlLink_5566276:hover {  }
.ControlLink_5566276 a {  }
.ControlLink_5566276 a:hover {  }
.ControlLink_Link_5566276 {  }
.ControlLink_Link_5566276:hover {  }
.ControlLinkSeperator_5566276 {  }
.ControlText_5566276 {  }
.ControlInput_5566276 {  }
.ControlFooter_5566276 {  }
/* [/Widget5566276] */

/* [Product Photo Center] */
.ProdCenterProductDetailsSocialBookmarks { display: inline-block; }
.ProdCenterTabs { margin-top: 20px; }
/* [/Product Photo Center] */

/* [Category Complex Grid] */
.CompGridProduct-list > div { width: 100%; float: left; }
.CompGridProduct-list .category-product { float: left; width: 25%; padding: 15px; margin-bottom: 15px; overflow: visible; }
.CompGridProduct-list > div:nth-of-type(1n+1) div.category-product { float: right; }
.CompGridProduct-list > div:nth-of-type(1n+1) div.category-product:first-of-type { overflow: visible; width: 50%; max-height: inherit; position: relative; }

.CompGridProduct-list > div:nth-of-type(2n+1) div.category-product { float: left; }
.CompGridProduct-list > div:nth-of-type(2n+1) div.category-product:first-of-type { min-height: inherit; width: 50%; max-height: inherit; position: relative; }
.CompGridProduct-list > div div.category-product:first-of-type a { max-height: inherit; height: 600px; line-height: 600px; }
.CompGridProduct-list .product-flag.bottom { bottom: -30px; }


.CompGridProduct-list .category-product .thumbnail { min-height: inherit; height: 285px; line-height: inherit; margin-bottom: 0px; overflow: hidden; }
.CompGridProduct-list .thumbnail { padding: 0; position: relative; }
.CompGridProduct-list .category-product { max-height: inhert; height: inherit; margin-bottom: 0; }
.CompGridProduct-list .category-product .thumbnail img { width: auto; max-width: 100%; max-height: 100%; padding-bottom: 30px; }

.thumbnail .CompGridCaption { bottom: 0; position: absolute; width: 100%; background: #111; color: #fff; line-height: 20px; }
.CompGridProduct-list > div div.category-product:first-of-type .thumbnail:hover .quick-view { top: 200px; }

.GridBlogRow article:nth-child(3n+1) { clear: both; }
.GridBlogRow article:first-child { clear: none; }
/* [/Category Complex Grid] */

/* [CategoryList] */
.CategoryListProduct { width: 100px; float: left; margin: 20px; text-align: center; }
.CategoryListProductPhoto { height: 100px; }

.CategoryListProduct { width: 100px; float: left; margin: 20px; text-align: center; }
.CategoryListProductPhoto { height: 100px; }
/* [/CategoryList] */

/* [ProductCompare] */
.product-compare-table {  }
.product-compare-table tr > th:first-child:not(:last-child) { border-right: 1px solid #ccc; }
.product-compare-table tr > td:nth-child(2n), .product-compare-table tr > th:nth-child(2n) { background: #f9f9f9; }
.remove-link { top: -5px; right: -5px; }
.remove-link a { color: inherit; font-size: 16px; display: block; height: 20px; width: 20px; line-height: 20px; }
.remove-link a:hover { text-decoration: none; background: #666; color: #fff; border-radius: 25px; }
/* [/ProductCompare] */

/* [ToggleSlider] */
.toggle-switch { position: relative; display: inline-block; width: 3.75em; height: 2.125em; }
.toggle-switch input { opacity: 0; width: 0; height: 0; }
.toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; -webkit-transition: .4s; transition: .4s; }
.toggle-slider:before { position: absolute; content: ""; height: 1.625em; width: 1.625em; left: 0.25em; bottom: 0.25em; background-color: white; -webkit-transition: .4s; transition: .4s; }
input:checked + .toggle-slider { background-color: #2196F3; }
input:focus + .toggle-slider { box-shadow: 0 0 1px #2196F3; }
input:checked + .toggle-slider:before { -webkit-transform: translateX(1.625em); -ms-transform: translateX(1.625em); transform: translateX(1.625em); }
.toggle-slider.round { border-radius: 2.125em; }
.toggle-slider.round:before { border-radius: 50%; }
/* [/ToggleSlider] */

/* [Widget5566273] */
.Control_5566273 {  }
.ControlHeader_5566273 {  }
.ControlItem_5566273 {  }
.ControlLink_5566273 {  }
.ControlLink_5566273:hover {  }
.ControlLink_Link_5566273 {  }
.ControlLink_Link_5566273:hover {  }
.ControlLinkSeperator_5566273 {  }
.ControlFooter_5566273 {  }
.BrowseCategoryIcon_5566273 {  }

@font-face {
  font-family: InfinityFont;
  src: url(https://infinity.americommerce.com/Shared/Themes/MegaStoreRedesign/fonts/infinity.otf);
}

#ctl40_dvControlHeader { font-family: InfinityFont; color: rgb(12, 244, 255); }

.ControlHeader ControlHeader_5566273 { font-family: InfinityFont; }
/* [/Widget5566273] */

/* [BannerAd] */

/* [/BannerAd] */

/* [OrderList] */

/* [/OrderList] */

/* cache-bust-v75-20260628-prod-links-undo-temp-sandbox */
/* v16 follow-up on v15: the v15 button overrides used `button.menu-toggle`
(specificity 0,1,1). But a theme rule `body:not(.Default) .btn-default
{ border: 1px solid !important }` has specificity 0,2,1 — so it kept
winning on all non-home pages (PLP, cart, etc.), painting the Bootstrap
pill ring back. Bumped the overrides to `body button.menu-toggle.btn-
default` etc. (0,2,2) so they match-and-beat. */
/* v15 had also fixed:
- bare .cart-row { display:flex } was matching the cart table's <tr> and
breaking colgroup layout — scoped to .cart-foot.
- .mobile-search padding moved into the open-state only so the closed
row doesn't render as an empty band below the header.
v13 added: mobile hamburger nav + drawer, mobile search toggle, PLP
filter drawer wire-up, cart table-layout:fixed + colgroup, mobile
checkout polish over the legacy Bootstrap panels. */




































































































































































/* [Widget556615513] */
.Control_556615513 { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #ededed; padding: 8px; }
.ControlHeader_556615513 {  }
.ControlItem_556615513 {  }
.ControlLink_556615513 {  }
.ControlLink_556615513:hover {  }
.ControlLink_556615513 a {  }
.ControlLink_556615513 a:hover {  }
.ControlLink_Link_556615513 {  }
.ControlLink_Link_556615513:hover {  }
.ControlLinkSeperator_556615513 {  }
.ControlText_556615513 {  }
.ControlInput_556615513 {  }
.ControlFooter_556615513 {  }
.Slideshow_556615513 { position: relative; }
.SlideList_556615513 { margin: 0; padding: 0; list-style: none; }
.Slide_556615513 { overflow: hidden; }
.SlideshowButtons_556615513 { padding: 0; bottom: 10px; left: 10px; position: absolute; }
.SlideshowButton_556615513 { margin: 0 10px 0 0; padding: 0; float: left; list-style: none; height: 28px; line-height: 28px; }
.SlideshowButtonLink_556615513 { float: left; height: 28px; line-height: 28px; border: 1px solid#ccc; background: #DAF3F8; color: #555; padding: 0 10px; text-decoration: none; }
.SlideshowButtonLinkCurrent_556615513 { background: #5DC9E1; color: #fff; }
.SlideshowButtonLink:focus_556615513 { outline: none; }


.pad-b-only { background-color: black; }
#MainForm { background-color: black; }
.modal-body { background-color: black; }
.modal-head { background-color: black; }
.modal-header {background-color: #0cf4ff !important; border-bottom: none;}
.modal-title {color: black;}


/* [Product Background Photo] */
.product-info-wrapper { background: rgba(0,0,0,0.8); color: #fff; }
.product-photo { background-size: cover !important; background-position: center center !important; background-color: #000; }
.PhotoBgThumbnails { float: right; }
/* [/Product Background Photo ] */


/* [CheckOut] */
.CheckOutHeader { font-weight: bold; font-size: 16px; }
.CheckOutSubHeader { font-weight: bold; font-size: 16px; margin-bottom: 20px; }
.CardFieldHeaders { background: #666; color: #fff; padding: 5px; }
.OnePageCheckoutShoppingCart .ShoppingCartPrice { padding: 10px 0; font-size: inherit; border: none; }
.SplitPaymentLink { cursor: pointer; }
#tbAppliedPayments { width: 100%; }
.AppliedPaymentHeader th { padding: 5px; }
.AddressEditorZipCodePlus4Textbox { width: 50px; }
.AddressBookEditor { padding: 2px 10px 2px 0; }
.OnePageCheckoutShoppingCart td { padding: 5px; border-bottom: 1px solid #e5e5e5; }
.ShoppingCartVariations td { padding: 0 0 0 20px; border: none; }
.OnePageCheckoutShoppingCart .ShoppingCartTotals { border: none; }
.form-signin { max-width: 330px; padding: 15px; margin: 0 auto; }
.form-signin .form-signin-heading, .form-signin .checkbox { margin-bottom: 10px; }
.form-signin .checkbox { font-weight: normal; }
.form-signin input { position: relative; font-size: 16px; height: auto; padding: 10px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 100%; }
.form-signin input:focus { z-index: 2; }
.form-signin input[type="text"] { margin-bottom: -1px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.form-signin input[type="password"] { margin-bottom: 10px; border-top-left-radius: 0; border-top-right-radius: 0; }
/* [/Checkout] */
.ShippingSelect input[type="radio"] + label { margin-left: 1em; }
input[type="file"] + span { top: 0px; }


/* [ItemRepeater] */
.variant-repeater__group { display: inline-flex; }
.variant-repeater__variant { padding: 5px; cursor: grab; }
.variant-repeater__card { width: 8rem; }
.card-text { font-size: .8rem; }
.variant-repeater__variant.selected { border: dotted !important; }
.variant-repeater__card-small { width: 4rem; }
.card-text-small { font-size: .5rem; }

.btn-default { background-color: black !important; color: #0CF4FF !important; border-color: #0CF4FF; }
abbr { border-bottom: none !important; }
.nav li a:hover { color: black; }
.nav-pills li a { border-radius: 0px !important; }
.nav-tabs>li.active>a, .nav-tabs>li.active>a:hover, .nav-tabs>li.active>a:focus { color: #FFF; background-color: #000; }
#AmeriCommerce-powered-by-link { display: none !important; }

.visible-xs { font-size: 14px !important; }

/* .icon-shopping-cart:before {content: url(https://infinity.americommerce.com/Shared/Themes/MegaStoreRedesign/Buttons/shop_button.png) !important;} */

.popup {background: #000 !important;}
.popup H1 {color: #0cf4ff;}

@media only screen and (max-width: 600px) {
  .navbar-nav { margin: 0px; }
}

/* ======================================================================
============= WOLF FOUNDRY REDESIGN — WIN-THE-CASCADE OVERRIDES =====
====================================================================== */
/* These rules fight the !important declarations earlier in this file.
We want our typography/colors on every page (cart/checkout/account
etc.) so the brand identity is consistent. AmeriCommerce platform
selectors are preserved above; this section only adjusts global
typography + the AmeriCommerce wrapper containers. */

html, body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  background: #0a0a0b !important;
  color: #f4f4f5 !important;
  -webkit-font-smoothing: antialiased !important;
  line-height: 1.5 !important;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Bebas Neue', sans-serif !important;
  color: inherit !important;
  letter-spacing: 0.01em;
}

p { line-height: 1.6 !important; color: inherit !important; }

/* Bring back default button rounding so .btn-primary etc. show pill shape. */
.btn { border-radius: 4px; }

/* ======================================================================
============= AMERICOMMERCE WRAPPER NEUTRALIZERS ====================
====================================================================== */
/* The page templates (ContentOnly, LeftAndRight, etc.) wrap content in
Bootstrap .container which caps width at 1170px. For our redesigned
home page we want full-bleed; for the footer we always want full-
bleed since the redesigned footer applies to every page. */

/* Header is unconstrained on every template (no Bootstrap .container
wraps $$HEADER$$). Just neutralize background and padding. */
.LayoutTop {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.LayoutTop > .container,
.LayoutTop .container {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}
.LayoutTop > .row,
.LayoutTop .row {
  margin: 0 !important;
}
.LayoutTopTop { margin: 0 !important; }

/* Footer: ALWAYS full-bleed (our redesigned footer works on every page) */
.LayoutBottom {
  background: transparent !important;
  margin-top: 0 !important;
  padding: 0 !important;
  color: inherit !important;
}
.LayoutBottom > .container,
.LayoutBottom .container {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}
.LayoutBottom .row { margin: 0 !important; }
.LayoutBottom .col-sm-12 { padding: 0 !important; }
.LayoutBottom a { color: inherit !important; }

/* OUR REDESIGNED PAGES: strip Bootstrap container constraints from the
middle region so our hero/featured/categories full-bleed. We target
any LayoutMiddle that contains our .wolf-home marker class, plus the
common ContentOnly body classes (OneColumn, Default) as belt-and-
suspenders for older browsers without :has() support. PLP/PDP/cart/
checkout/account use different body classes (LeftColumn, Catalog,
ShoppingCart, MyAccount, etc.) and remain unaffected. */
body.OneColumn .LayoutMiddle:has(.wolf-home),
body.OneColumn .LayoutMiddle.container:has(.wolf-home),
.LayoutMiddle:has(.wolf-home),
.LayoutMiddle.container:has(.wolf-home),
body.Default .LayoutMiddle,
body.Default .LayoutMiddle.container {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
.LayoutMiddle:has(.wolf-home) > .row,
.LayoutMiddle:has(.wolf-home) .row,
body.Default .LayoutMiddle > .row,
body.Default .LayoutMiddle .row {
  margin: 0 !important;
}
.LayoutContent:has(.wolf-home),
body.Default .LayoutContent,
body.Default .LayoutContent.col-sm-12,
body.Default .LayoutContent.col-sm-8,
body.Default .LayoutContent.col-md-9 {
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
.LayoutContentInner:has(.wolf-home),
body.Default .LayoutContentInner {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* When other pages need our redesigned shell (cart with our header/
footer but their content) — keep the inner content readable. Force
text color on the LayoutMiddle-wrapped content to inherit so our
white-on-dark works. */
.LayoutMiddle a { color: var(--accent); }

/* ======================================================================
============= WOLF FOUNDRY REDESIGN SYSTEM ==========================
====================================================================== */

:root {
  --bg: #0a0a0b;
  --bg-2: #111214;
  --surface: #16181b;
  --surface-2: #1d2024;
  --border: #2a2d32;
  --border-strong: #3a3e44;
  --text: #f4f4f5;
  --text-2: #a8acb2;
  --text-3: #6b6f76;
  --accent: #0CF4FF;
  --accent-2: #5DF8FF;
  --success: #4ade80;
  --danger: #ef4444;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
img { max-width: 100%; display: block; }

/* ================= TOP BAR ================= */
.topbar {
  background: #000;
  color: var(--text-2);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 8px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #1a1a1a;
}
.topbar a { transition: color 0.2s; }
.topbar a:hover { color: var(--accent); }
.topbar-right { display: flex; gap: 24px; }

/* ================= HEADER ================= */
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(10, 10, 11, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.header-inner {
  max-width: 1680px;
  margin: 0 auto;
  padding: 0 32px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.logo {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.logo img {
  width: auto;
  display: block;
}
/* Mobius is a portrait SVG (936x1368) — size by WIDTH and let the drips hang
below via negative margins (matches the gun-drops site), so the core lines
up with the wordmark instead of the whole drippy shape shrinking to fit. */
.logo .logo-mark { width: 56px; height: auto; margin-top: -7px; margin-bottom: -35px; position: relative; z-index: 2; }
.logo-wordmark { height: 18px; }
.nav { display: flex; gap: 36px; flex-shrink: 0; white-space: nowrap; }
.nav a {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
  position: relative;
  padding: 8px 0;
  transition: color 0.2s;
  white-space: nowrap;
}
.nav a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transition: transform 0.3s;
  transform-origin: left;
}
.nav a:hover::after, .nav a.active::after { transform: scaleX(1); }
.nav a:hover { color: var(--accent); }
.nav a.nav-accent { color: var(--accent); }

.header-actions { display: flex; align-items: center; gap: 20px; }
.icon-btn {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
  position: relative;
}
.icon-btn:hover { background: var(--surface); }
.icon-btn svg { width: 20px; height: 20px; stroke: var(--text); fill: none; stroke-width: 1.8; }
.cart-badge {
  position: absolute;
  top: 4px; right: 4px;
  background: var(--accent);
  color: #000;
  font-size: 10px;
  font-weight: 700;
  width: 18px; height: 18px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.search-input {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 9px 16px 9px 40px;
  color: var(--text);
  font-size: 13px;
  width: 220px;
  transition: all 0.2s;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23a8acb2' stroke-width='2' viewBox='0 0 24 24'><circle cx='11' cy='11' r='8'/><path d='M21 21l-4.3-4.3'/></svg>");
  background-repeat: no-repeat;
  background-position: 14px center;
}
.search-input:focus {
  outline: none;
  border-color: var(--accent);
  width: 280px;
}

/* ===== Header search via AmeriCommerce ##SEARCHBOX[autocomplete=true]## (live inventory
autocomplete), styled to match .search-input. Renders as .AutocompleteSearchBox
(text input + .SearchGoThemeButton); the suggestion dropdown is .ui-autocomplete,
appended to <body> by jQuery UI (so it's styled globally, not under .wf-search). ===== */
/* ACTUAL rendered markup (no wrapper around the input!):
<div class="wf-search">
<input id="txtRedirectSearchBox" class="SearchBox2 AutocompleteSearchBox ...">  <- the box IS the input
<input id="btnSearchBox2" class="... SearchGoThemeButton btn btn-default" value="Go">
</div>
.wf-search must be position:relative (GO is absolute -> was escaping to the header edge).
Inner pages load deputy.css/bootstrap which restyle .SearchBox2/.btn -> id-level selectors
+ !important so the pill renders identically on EVERY page (home was round, inner square). */
.wf-search { position: relative; display: inline-block; }
.wf-search input.AutocompleteSearchBox,
.wf-search #txtRedirectSearchBox {
  display: inline-block;
  box-sizing: border-box !important;
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  outline: 0 !important;
  width: 220px !important;
  height: auto !important;
  margin: 0 !important;
  color: var(--text) !important;
  font-size: 13px !important;
  font-family: inherit !important;
  padding: 9px 58px 9px 38px !important;
  transition: width 0.2s, border-color 0.2s;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23a8acb2' stroke-width='2' viewBox='0 0 24 24'><circle cx='11' cy='11' r='8'/><path d='M21 21l-4.3-4.3'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: 13px center !important;
}
.wf-search input.AutocompleteSearchBox:focus,
.wf-search #txtRedirectSearchBox:focus {
  border-color: var(--accent) !important;
  width: 280px !important;
}
.wf-search input.AutocompleteSearchBox::placeholder { color: var(--text-3) !important; }
/* "Go" submit -> compact accent pill INSIDE the right edge of the search pill */
.wf-search .SearchGoThemeButton,
.wf-search #btnSearchBox2 {
  position: absolute !important;
  top: 50% !important;
  right: 4px !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  height: 28px !important;
  line-height: 28px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  background: var(--accent) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #000 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer;
}
.wf-search .SearchGoThemeButton:hover,
.wf-search #btnSearchBox2:hover { background: #079299 !important; }
/* Live inventory suggestion dropdown (jQuery UI autocomplete, attached to <body>) */
.ui-autocomplete.ui-menu {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 6px !important;
  margin-top: 6px !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.55) !important;
  list-style: none !important;
  z-index: 10000 !important;
}
.ui-autocomplete .ui-menu-item { list-style: none !important; background: none !important; border: 0 !important; }
.ui-autocomplete .ui-menu-item-wrapper,
.ui-autocomplete .ui-corner-all,
.ui-autocomplete a {
  display: block !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  color: var(--text-2) !important;
  font-size: 13px !important;
  border: 0 !important;
  border-radius: 6px !important;
  cursor: pointer;
}
.ui-autocomplete .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-state-active,
.ui-autocomplete a.ui-state-active,
.ui-autocomplete a:hover {
  background: #1a1a1a !important;
  color: var(--accent) !important;
}

/* ================= PAGE CONTAINER / VIEWS ================= */
.view { display: none; }
.view.active { display: block; }

/* ================= HERO ================= */
.hero {
  min-height: 720px;
  position: relative;
  overflow: hidden;
  background: #000;
  display: flex;
  flex-direction: column;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(0, 212, 255, 0.18), transparent 60%),
    radial-gradient(ellipse at 70% 30%, rgba(60, 70, 90, 0.4), transparent 70%),
    linear-gradient(180deg, #0a0a0b 0%, #16181b 60%, #0a0a0b 100%);
}
.hero-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.hero-pistol {
  position: absolute;
  top: 50%; right: 5%;
  transform: translateY(-50%) rotate(-8deg);
  width: 55%;
  max-width: 820px;
  filter: drop-shadow(0 30px 60px rgba(0,0,0,0.7));
  opacity: 0.95;
}
.hero-video {
  display: block;
  width: clamp(280px, 36vw, 560px);
  aspect-ratio: 16/9;
  object-fit: cover;
  margin: 0 auto 8px;
  pointer-events: none;
  filter: brightness(1.2) contrast(1.1) saturate(1.05);
  -webkit-mask-image: radial-gradient(ellipse 65% 65% at 50% 50%, black 30%, transparent 78%);
  mask-image: radial-gradient(ellipse 65% 65% at 50% 50%, black 30%, transparent 78%);
  mix-blend-mode: screen;
}
.hero-content {
  position: relative;
  flex: 1;
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  padding: 24px 32px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.hero-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(40px, 6.2vw, 96px);
  line-height: 0.95;
  letter-spacing: -0.01em;
  margin: 0 0 20px;
}
.hero-title em {
  font-style: normal;
  color: var(--accent);
}
.hero-sub {
  font-size: 16px;
  color: var(--text-2);
  max-width: 580px;
  margin: 0 auto 28px;
  line-height: 1.6;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: all 0.25s;
  cursor: pointer;
  border: 1px solid transparent;
}
.btn-primary { background: var(--text); color: #000; }
.btn-primary:hover { background: var(--accent); color: #000; transform: translateY(-2px); }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--border-strong); }
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.btn-accent { background: var(--accent); color: #000; }
.btn-accent:hover { background: var(--accent-2); transform: translateY(-2px); }
.btn-block { width: 100%; justify-content: center; }
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }

.hero-meta {
  position: relative;
  flex: 0 0 auto;
  padding: 24px 32px 28px;
  max-width: 1680px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--text-2);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.hero-scroll {
  display: flex;
  align-items: center;
  gap: 12px;
}
.hero-scroll-line {
  width: 60px;
  height: 1px;
  background: var(--text-2);
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 0.3; transform: scaleX(0.5); }
  50% { opacity: 1; transform: scaleX(1); }
}

/* ================= SECTION TITLES ================= */
.wolf-home > section { padding: 96px 32px; max-width: 1680px; margin: 0 auto; }
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
  flex-wrap: wrap;
  gap: 16px;
}
.section-eyebrow {
  color: var(--accent);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.section-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1;
  letter-spacing: 0.01em;
}
.section-link {
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--accent);
  padding-bottom: 4px;
  transition: color 0.2s;
}
.section-link:hover { color: var(--accent); }

/* ================= CATEGORY TILES ================= */
.cat-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
  height: 720px;
}
.cat-tile {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  cursor: pointer;
  background: var(--surface);
  border: 1px solid var(--border);
  transition: transform 0.4s, border-color 0.3s;
}
.cat-tile:hover { transform: translateY(-4px); border-color: var(--accent); }
.cat-tile.large,
.merch-grid-dyn .cat-tile:first-child { grid-row: span 2; }
.cat-bg {
  position: absolute;
  inset: 0;
  transition: transform 0.6s;
}
.cat-tile:hover .cat-bg { transform: scale(1.05); }
.cat-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.4) 100%);
}
.cat-content {
  position: absolute;
  bottom: 32px;
  left: 32px;
  right: 32px;
  z-index: 2;
}
.cat-tag {
  color: var(--accent);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 8px;
}
.cat-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 36px;
  letter-spacing: 0.02em;
  margin-bottom: 16px;
}
.cat-tile.large .cat-name,
.merch-grid-dyn .cat-tile:first-child .cat-name { font-size: 56px; }
.cat-arrow {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--text);
  color: #000;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s;
}
.cat-tile:hover .cat-arrow { background: var(--accent); transform: translateX(4px); }

/* SVG illustrations as backgrounds */
.ill-pistol-1 { background: linear-gradient(135deg, #1a1d22 0%, #0f1114 100%); }
.ill-pistol-2 { background: linear-gradient(135deg, #2a1810 0%, #0f0908 100%); }
.ill-slide { background: linear-gradient(135deg, #14181f 0%, #0a0c0f 100%); }
.ill-frame { background: linear-gradient(135deg, #1f1614 0%, #0c0a08 100%); }
.ill-trigger { background: linear-gradient(135deg, #181a1d 0%, #0a0a0b 100%); }
.ill-grip { background: linear-gradient(135deg, #1d1a16 0%, #0e0d0a 100%); }

/* ================= FEATURED PRODUCTS ================= */
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.product-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s, border-color 0.3s;
  position: relative;
}
.product-card:hover { transform: translateY(-6px); border-color: var(--accent); }
.product-img {
  aspect-ratio: 1;
  background: linear-gradient(135deg, #1a1d22, #0f1114);
  position: relative;
  overflow: hidden;
}
.product-img-svg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  transition: transform 0.5s;
}
.product-card:hover .product-img-svg { transform: scale(1.08) rotate(-3deg); }
.product-img-photo {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 12%;
  transition: transform 0.5s;
  filter: drop-shadow(0 16px 30px rgba(0,0,0,0.55));
}
.product-card:hover .product-img-photo { transform: scale(1.08) rotate(-2deg); }
.product-img-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 65% 55% at 50% 50%, rgba(0,212,255,0.10) 0%, transparent 65%);
  pointer-events: none;
}
.cart-item-img-photo {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 6px;
  background: #16181b;
}
.pdp-thumb-photo {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 8px;
  background: #16181b;
}
.product-tag {
  position: absolute;
  top: 14px; left: 14px;
  background: var(--accent);
  color: #000;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  z-index: 2;
}
.product-quick {
  position: absolute;
  bottom: 14px; left: 14px; right: 14px;
  opacity: 0;
  transform: translateY(8px);
  transition: all 0.3s;
  z-index: 2;
}
.product-card:hover .product-quick { opacity: 1; transform: translateY(0); }
.product-info { padding: 20px; }
.product-cat {
  color: var(--text-3);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.product-name {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  line-height: 1.3;
  min-height: 2.6em; /* reserve 2 lines so 1-line names don't shorten the card → footers/prices stay aligned across the grid */
}
.product-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
}
.product-price {
  font-size: 17px;
  font-weight: 700;
}
.product-price-from {
  font-size: 11px;
  color: var(--text-3);
  font-weight: 400;
  margin-right: 4px;
}
.product-colors { display: flex; gap: 6px; }
.swatch {
  width: 14px; height: 14px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
}

/* ================= EDITORIAL SPLIT ================= */
.editorial {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: var(--bg-2);
  margin: 0;
  max-width: none;
  padding: 0;
}
.editorial-img {
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, #1a1d22, #0a0c0f);
  position: relative;
  overflow: hidden;
}
.editorial-text {
  padding: 96px 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.editorial-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(40px, 4.5vw, 64px);
  line-height: 1;
  margin-bottom: 24px;
}
.editorial-body {
  font-size: 17px;
  color: var(--text-2);
  line-height: 1.7;
  margin-bottom: 32px;
}

/* ================= STATS BAR ================= */
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin: 0;
  max-width: none;
  padding: 0;
  background: var(--bg);
}
.stat {
  padding: 64px 32px;
  text-align: center;
  border-right: 1px solid var(--border);
}
.stat:last-child { border-right: none; }
.stat-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 64px;
  color: var(--accent);
  line-height: 1;
  margin-bottom: 12px;
}
.stat-label {
  color: var(--text-2);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* ================= FOOTER ================= */
.footer {
  background: #000;
  padding: 80px 32px 32px;
  border-top: 1px solid var(--border);
}
.footer-inner {
  max-width: 1680px;
  margin: 0 auto;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 56px;
  margin-bottom: 48px;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}
.footer-brand .footer-brand-mark {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.footer-brand .footer-brand-mobius { width: 62px; height: auto; margin-top: -7px; margin-bottom: -38px; display: block; position: relative; z-index: 2; }
.footer-brand .footer-brand-wordmark { height: 20px; width: auto; display: block; }
.footer-tag {
  color: var(--text-2);
  font-size: 13px;
  line-height: 1.7;
  max-width: 280px;
  margin: 0;
}
.footer-col h4 {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 20px;
  color: var(--text);
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: 12px; }
.footer-col a {
  color: var(--text-2);
  font-size: 14px;
  line-height: 1.6;
  transition: color 0.2s;
}
.footer-col a:hover { color: var(--accent); }
.footer-contact li { margin-bottom: 14px; }

/* Centered social divider between the column grid and the copyright. */
.footer-social-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 28px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  max-width: 1240px;
  margin: 0 auto 24px;
}
.footer-social-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-3);
}
.footer-social {
  display: flex;
  gap: 12px;
}
.footer-social a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--text-2);
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.footer-social a:hover {
  color: var(--accent);
  border-color: var(--accent);
}
.footer-bottom {
  display: flex;
  justify-content: center;
  color: var(--text-3);
  font-size: 12px;
  letter-spacing: 0.05em;
}
.footer-disclaimer {
  color: var(--text-3);
  font-size: 11px;
  line-height: 1.7;
  text-align: center;
  max-width: 880px;
  margin: 20px auto 0;
}
.footer-disclaimer-note { margin-top: 10px; font-style: italic; }

/* ================= PLP ================= */
.plp-hero {
  background: linear-gradient(135deg, #14181f 0%, #0a0c0f 100%);
  padding: 80px 32px 48px;
  border-bottom: 1px solid var(--border);
}
.plp-hero-inner {
  max-width: 1680px;
  margin: 0 auto;
}
.breadcrumb {
  color: var(--text-3);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.breadcrumb span { color: var(--text); }
.plp-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 72px;
  line-height: 1;
  margin-bottom: 12px;
}
.plp-count {
  color: var(--text-2);
  font-size: 14px;
}
.plp-body {
  max-width: 1680px;
  margin: 0 auto;
  padding: 32px;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 48px;
}
.filter-section { margin-bottom: 32px; }
.filter-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.filter-list { list-style: none; }
.filter-list li {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  cursor: pointer;
  color: var(--text-2);
  font-size: 14px;
  transition: color 0.2s;
}
.filter-list li:hover { color: var(--text); }
.filter-list li.checked { color: var(--text); }
.filter-list li.checked::before {
  content: '✓';
  color: var(--accent);
  margin-right: 8px;
}
/* Collapsible category groups */
.cat-group { border-bottom: 1px solid var(--border); }
.cat-group:last-child { border-bottom: none; }
.cat-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  cursor: pointer;
  user-select: none;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.cat-group-head:hover { color: var(--accent); }
.cat-group-head-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.cat-group-head .chevron {
  width: 8px; height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.cat-group.expanded .cat-group-head .chevron { transform: rotate(45deg); }
.cat-group-count {
  color: var(--text-3);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
}
.cat-group-children {
  list-style: none;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
  padding-left: 14px;
}
.cat-group.expanded .cat-group-children { max-height: 600px; }
.cat-group-children li {
  display: flex;
  justify-content: space-between;
  padding: 7px 0;
  cursor: pointer;
  color: var(--text-2);
  font-size: 13px;
}
.cat-group-children li:hover { color: var(--text); }
.cat-group-children li.checked { color: var(--accent); font-weight: 600; }
.cat-all {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  cursor: pointer;
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border);
}
.cat-all:hover { color: var(--accent); }
.cat-all.checked { color: var(--accent); }
.filter-count {
  color: var(--text-3);
  font-size: 12px;
}
.filter-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.filter-toggle { display: none; }
.filter-overlay, .filter-sheet-done { display: none; }
.chip {
  padding: 6px 12px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.chip:hover, .chip.active {
  border-color: var(--accent);
  color: var(--accent);
}
.plp-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.sort-select {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 8px 14px;
  border-radius: 4px;
  font-size: 13px;
  font-family: inherit;
}
.plp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ================= PDP ================= */
.pdp-body {
  max-width: 1680px;
  margin: 0 auto;
  padding: 32px;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 48px;
}
.pdp-gallery {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 16px;
  height: 720px;
}
.pdp-thumbs {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pdp-thumb {
  aspect-ratio: 1;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.2s;
  overflow: hidden;
}
.pdp-thumb.active { border-color: var(--accent); }
.pdp-main-img {
  background: linear-gradient(135deg, #14181f 0%, #0a0c0f 100%);
  border: 1px solid var(--border);
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  aspect-ratio: 10/9;
}
.pdp-main-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8%;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,0.65));
}
.pdp-info { padding-top: 24px; }
.pdp-cat {
  color: var(--accent);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 12px;
}
.pdp-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 48px;
  line-height: 1;
  margin-bottom: 16px;
}
.pdp-rating {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  color: var(--text-2);
  font-size: 13px;
}
.stars { color: var(--accent); letter-spacing: 1px; }
.pdp-price {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 8px;
}
.pdp-deposit {
  color: var(--text-2);
  font-size: 13px;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.pdp-config-title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 14px;
  display: flex;
  justify-content: space-between;
}
.pdp-config-title span { color: var(--accent); }
.config-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 24px;
}
.config-opt {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 12px 8px;
  text-align: center;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.config-opt:hover { border-color: var(--text-2); }
.config-opt.active {
  border-color: var(--accent);
  background: rgba(0, 212, 255, 0.08);
  color: var(--text);
}
.config-opt small { display: block; color: var(--text-3); margin-top: 2px; font-size: 11px; }
.pdp-actions { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
.pdp-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}
.feature {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.feature-icon {
  width: 24px; height: 24px;
  color: var(--accent);
  flex-shrink: 0;
  margin-top: 2px;
}
.feature-text { font-size: 13px; color: var(--text-2); }
.feature-text strong { display: block; color: var(--text); margin-bottom: 2px; }

/* ================= PDP DETAILS BELOW ================= */
.pdp-details {
  max-width: 1680px;
  margin: 0 auto;
  padding: 64px 32px;
  border-top: 1px solid var(--border);
}
.specs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 64px;
}
.spec-row {
  display: flex;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
  font-size: 14px;
}
.spec-row span:first-child { color: var(--text-2); }
.spec-row span:last-child { font-weight: 500; }

/* ================= CART DRAWER ================= */
.cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.cart-overlay.open { opacity: 1; pointer-events: auto; }
.cart-drawer {
  position: fixed;
  top: 0; right: 0;
  height: 100%;
  width: 460px;
  max-width: 100vw;
  background: var(--bg);
  border-left: 1px solid var(--border);
  z-index: 201;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}
.cart-drawer.open { transform: translateX(0); }
.cart-head {
  padding: 24px;
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cart-head h3 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 28px;
  letter-spacing: 0.05em;
}
.cart-close {
  width: 36px; height: 36px;
  border-radius: 50%;
  transition: background 0.2s;
}
.cart-close:hover { background: var(--surface); }
.cart-items { flex: 1; overflow-y: auto; padding: 16px 24px; }
.cart-item {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
.cart-item-img {
  aspect-ratio: 1;
  background: var(--surface);
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.cart-item-name { font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.cart-item-config { color: var(--text-3); font-size: 12px; margin-bottom: 8px; }
.cart-qty { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.qty-btn { width: 24px; height: 24px; border: 1px solid var(--border); border-radius: 4px; }
.qty-btn:hover { border-color: var(--accent); color: var(--accent); }
.cart-item-price { font-weight: 700; }
.cart-foot {
  padding: 24px;
  border-top: 1px solid var(--border);
  background: var(--bg-2);
}
/* Drawer footer summary rows. Scope tightly — bare `.cart-row` also
matches the <tr class="cart-row"> in the full ShoppingCartPage and
breaks its table layout. */
.cart-foot .cart-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 14px;
  color: var(--text-2);
}
.cart-foot .cart-row.total {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  margin-top: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

/* ================= TOAST ================= */
.toast {
  position: fixed;
  bottom: 32px; left: 50%;
  transform: translateX(-50%) translateY(120%);
  background: var(--surface-2);
  border: 1px solid var(--accent);
  color: var(--text);
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  z-index: 300;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}
.toast.show { transform: translateX(-50%) translateY(0); }

/* ================= RESPONSIVE ================= */
/* ============ Laptop fit (1500 and under): tighten gap + search ============ */
@media (max-width: 1500px) {
  .nav { gap: 22px; }
  .nav a { font-size: 12px; letter-spacing: 0.06em; }
  .search-input { width: 160px; }
  .search-input:focus { width: 200px; }
  .header-actions { gap: 14px; }
  .header-inner { padding: 0 20px; }
}

/* ============ Narrow laptop (1100 and under): drop the search bar ============ */
@media (max-width: 1100px) {
  .search-input, .wf-search { display: none; }
  .product-grid { grid-template-columns: repeat(3, 1fr); }
  .plp-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============ Tablet / sub-laptop (960 and under): swap nav for icon-only ============ */
@media (max-width: 960px) {
  .nav { display: none; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-grid { grid-template-columns: 1fr; grid-template-rows: auto; height: auto; }
  .cat-tile { aspect-ratio: 16/10; }
  /* Mobile tile fixes — text was overflowing the smaller tile (top
  word + eyebrow getting clipped) and gradient was suffocating
  the product image behind. Single-column kills the visual point
  of the .large variant, so collapse it. */
  .cat-tile.large,
  .merch-grid-dyn .cat-tile:first-child { grid-row: auto; }
  .cat-tile.large .cat-name,
  .merch-grid-dyn .cat-tile:first-child .cat-name { font-size: 32px; }
  .cat-name { font-size: 26px; margin-bottom: 10px; }
  .cat-tag { margin-bottom: 6px; }
  .cat-content { bottom: 20px; left: 20px; right: 20px; }
  .cat-arrow { width: 38px; height: 38px; }
  .cat-overlay { background: linear-gradient(0deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.1) 60%, transparent 100%); }
  .editorial { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; max-width: 720px; }
  .footer-brand { grid-column: 1 / -1; text-align: center; }
  .footer-brand .footer-brand-mark { justify-content: center; }
  .footer-brand .footer-tag { max-width: 420px; margin-left: auto; margin-right: auto; }
  .plp-body, .pdp-body { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr; }
}

/* ================= TABLET / SMALL DESKTOP ================= */
@media (max-width: 768px) {
  .topbar { font-size: 10px; padding: 8px 16px; gap: 12px; }
  .topbar > div:first-child { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .topbar-right { gap: 14px; }
  .header-inner { padding: 0 16px; height: 60px; }
  .logo { gap: 8px; }
  .logo .logo-mark { width: 43px; height: auto; margin-top: -5px; margin-bottom: -27px; }
  .logo-wordmark { height: 14px; }
  .header-actions { gap: 8px; }
  .wolf-home > section { padding: 64px 16px; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 32px; }
  .hero { min-height: auto; padding: 0; }
  .hero-pistol { width: 110%; opacity: 0.35; right: -20%; top: 60%; }
  .hero-video { width: 78vw; max-width: 480px; margin: 0 auto 4px; }
  .hero-title { font-size: clamp(36px, 11vw, 64px); margin-bottom: 14px; }
  .hero-sub { font-size: 15px; margin-bottom: 22px; line-height: 1.55; }
  .hero-content { padding: 28px 16px 12px; }
  .hero-meta { padding: 16px 16px 20px; font-size: 10px; }
  .hero-scroll { display: none; }
  .hero-actions { gap: 10px; }
  .btn { padding: 14px 22px; font-size: 12px; }
  .pdp-gallery { grid-template-columns: 1fr; height: auto; gap: 12px; }
  .pdp-thumbs { flex-direction: row; overflow-x: auto; order: 2; padding-bottom: 4px; }
  .pdp-thumb { flex-shrink: 0; width: 72px; height: 72px; aspect-ratio: auto; }
  .pdp-main-img { order: 1; }
  .pdp-body { padding: 24px 16px; gap: 32px; }
  .pdp-info { padding-top: 0; }
  .pdp-title { font-size: 36px; }
  .pdp-features { grid-template-columns: 1fr 1fr; gap: 16px; }
  .pdp-details { padding: 64px 16px; }
  .specs-grid { grid-template-columns: 1fr; gap: 0; }
  .plp-hero { padding: 64px 16px 48px; }
  .plp-title { font-size: 48px; }
  .plp-body { padding: 16px; gap: 16px; }
  .plp-body { display: flex; flex-direction: column; }
  .plp-body aside {
    position: fixed;
    inset: auto 0 0 0;
    z-index: 210;
    background: var(--bg-2);
    border-top: 1px solid var(--border-strong);
    border-radius: 16px 16px 0 0;
    padding: 24px 16px 96px;
    max-height: 80vh;
    overflow-y: auto;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 -16px 48px rgba(0,0,0,0.5);
  }
  .plp-body aside::before {
    content: '';
    display: block;
    width: 40px; height: 4px;
    background: var(--border-strong);
    border-radius: 999px;
    margin: 0 auto 20px;
  }
  .plp-body aside.open { transform: translateY(0); }
  .filter-sheet-done {
    display: block;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 220;
    background: var(--bg-2);
    padding: 16px;
    border-top: 1px solid var(--border);
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .filter-sheet-done.open { transform: translateY(0); }
  .filter-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 199;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
  }
  .filter-overlay.open { opacity: 1; pointer-events: auto; }
  .plp-toolbar { flex-wrap: wrap; gap: 12px; align-items: center; }
  .plp-toolbar .sort-select { flex: 1; min-width: 140px; }
  .filter-toggle { display: inline-flex; align-items: center; gap: 8px; background: var(--surface-2); border: 1px solid var(--border-strong); color: var(--text); padding: 10px 16px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; }
  .filter-toggle.active { border-color: var(--accent); color: var(--accent); }
  .footer-inner { padding: 48px 16px 24px; }
  .footer-bottom { flex-direction: column; gap: 12px; align-items: flex-start; text-align: left; }
  .stats { padding: 60px 16px; }
  .editorial-text { padding: 48px 16px; }
  .editorial-img { min-height: 280px; }
  .cart-drawer { width: 100%; max-width: 100vw; }
  .demo-nav { bottom: 16px; right: 16px; padding: 4px; }
  .demo-nav button { padding: 6px 10px; font-size: 11px; letter-spacing: 0.05em; }
}

/* ================= PHONE ================= */
@media (max-width: 480px) {
  .topbar > div:first-child { font-size: 9px; }
  .topbar-right a:nth-child(2) { display: none; }
  .product-grid, .plp-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .stats { grid-template-columns: 1fr 1fr; gap: 16px; }
  .stat-num { font-size: 56px; }
  .pdp-features { grid-template-columns: 1fr; }
  .pdp-title { font-size: 30px; }
  .pdp-price { font-size: 26px; }
  .config-row { grid-template-columns: 1fr; }
  .editorial-title { font-size: 56px; }
  .section-title { font-size: clamp(36px, 10vw, 64px); }
  .hero-sub { font-size: 16px; }
  .breadcrumb { font-size: 11px; }
  .hero-actions .btn { width: 100%; }
}

/* ================= VIEW TABS (concept demo nav) ================= */
.demo-nav {
  position: fixed;
  bottom: 24px; right: 24px;
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  padding: 6px;
  display: flex;
  gap: 4px;
  z-index: 150;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  font-size: 12px;
}
.demo-nav button {
  padding: 8px 16px;
  border-radius: 999px;
  color: var(--text-2);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all 0.2s;
}
.demo-nav button.active {
  background: var(--accent);
  color: #000;
}
.demo-nav button:not(.active):hover { color: var(--text); }

/* ======================================================================
============= STOCK PAGE RETHEME (PDP/PLP/CART/CHECKOUT/ACCOUNT) ====
These overrides style AmeriCommerce's default Bootstrap markup on pages
we don't custom-template (everything except DefaultPage). We never
touch markup or form structure — only colors, typography, spacing —
so all ASP.NET postbacks, AJAX, ViewState, and merge-code rendering
keep working as the OG MegaStore theme expected.
====================================================================== */

/* --- Universal: typography + readable links/spacing on stock pages --- */
body:not(.Default) { font-family: 'Inter', -apple-system, sans-serif; color: var(--text); }
body:not(.Default) .LayoutMiddle,
body:not(.Default) .LayoutContent,
body:not(.Default) .LayoutContentInner { background: transparent !important; color: var(--text); }
body:not(.Default) .LayoutMiddle a,
body:not(.Default) .LayoutContent a { color: var(--accent); transition: color .15s ease; }
body:not(.Default) .LayoutMiddle a:hover,
body:not(.Default) .LayoutContent a:hover { color: var(--accent-2); text-decoration: none; }
body:not(.Default) p { color: var(--text-2); line-height: 1.7; }
body:not(.Default) hr { border-color: var(--border); }

/* Headings: Inter, white, restrained tracking. Restore brand cyan only on cart/checkout/PDP titles. */
body:not(.Default) h1, body:not(.Default) h2, body:not(.Default) h3,
body:not(.Default) h4, body:not(.Default) h5, body:not(.Default) h6,
body:not(.Default) .h1, body:not(.Default) .h2, body:not(.Default) .h3,
body:not(.Default) .h4, body:not(.Default) .h5, body:not(.Default) .h6 {
  font-family: 'Inter', sans-serif !important; color: var(--text) !important;
  font-weight: 700; letter-spacing: -0.01em;
}
body:not(.Default) h1, body:not(.Default) .h1 { font-size: clamp(28px, 4vw, 44px); letter-spacing: -0.02em; }
body:not(.Default) h2, body:not(.Default) .h2 { font-size: clamp(22px, 3vw, 32px); }
body:not(.Default) .page-header { border-bottom: 1px solid var(--border); padding-bottom: 16px; margin: 24px 0 28px; }

/* --- Breadcrumbs --- */
body:not(.Default) .breadcrumb {
  background: transparent; padding: 12px 0; margin-bottom: 16px;
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-3);
}
body:not(.Default) .breadcrumb a { color: var(--text-2); }
body:not(.Default) .breadcrumb a:hover { color: var(--accent); }
body:not(.Default) .breadcrumb > li + li:before { color: var(--text-3); }

/* --- Bootstrap Buttons → Nike pill (matches DefaultPage .btn-primary) --- */
body:not(.Default) .btn,
body:not(.Default) input.ThemeButton,
body:not(.Default) input[type="submit"].ThemeButton,
body:not(.Default) input[type="button"].ThemeButton {
  border-radius: 999px !important; padding: 14px 28px !important;
  font-family: 'Inter', sans-serif; font-weight: 600 !important;
  letter-spacing: 0.06em; text-transform: uppercase; font-size: 12px;
  border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--text) !important;
  transition: all .2s ease; box-shadow: none; text-shadow: none;
}
/* Primary CTAs only — Add to Cart, Proceed to Checkout, Sign-in. NOT all submit buttons. */
body:not(.Default) input.AddToCartThemeButton,
body:not(.Default) input.ProductDetailsAddToCartButton,
body:not(.Default) input.CheckoutThemeButton,
body:not(.Default) input.SignInThemeButton,
body:not(.Default) input.SetShipToThemeButton,
body:not(.Default) input.RegisterThemeButton {
  background: var(--accent) !important; border-color: var(--accent) !important;
  color: #000 !important; font-weight: 700 !important;
}
body:not(.Default) input.AddToCartThemeButton:hover,
body:not(.Default) input.ProductDetailsAddToCartButton:hover,
body:not(.Default) input.CheckoutThemeButton:hover,
body:not(.Default) input.SignInThemeButton:hover,
body:not(.Default) input.SetShipToThemeButton:hover,
body:not(.Default) input.RegisterThemeButton:hover { background: var(--accent-2) !important; border-color: var(--accent-2) !important; color: #000 !important; }

/* Secondary actions (Move to Wishlist, Continue Shopping, Clear Cart, Save Cart, Update Cart, etc.) — ghost outline pill */
body:not(.Default) input.MoveToWishListThemeButton,
body:not(.Default) input.ContinueShoppingThemeButton,
body:not(.Default) input.ClearCartThemeButton,
body:not(.Default) input.SaveCartThemeButton,
body:not(.Default) input.UpdateCartThemeButton,
body:not(.Default) input.AddCouponCodeThemeButton,
body:not(.Default) input.MoveToCartThemeButton,
body:not(.Default) input.RemoveFromCartThemeButton,
body:not(.Default) input.GoThemeButton,
body:not(.Default) input.SearchGoThemeButton {
  background: transparent !important; border: 1px solid var(--border-strong) !important;
  color: var(--text) !important; font-weight: 600 !important;
}
body:not(.Default) input.MoveToWishListThemeButton:hover,
body:not(.Default) input.ContinueShoppingThemeButton:hover,
body:not(.Default) input.ClearCartThemeButton:hover,
body:not(.Default) input.SaveCartThemeButton:hover,
body:not(.Default) input.UpdateCartThemeButton:hover,
body:not(.Default) input.AddCouponCodeThemeButton:hover,
body:not(.Default) input.MoveToCartThemeButton:hover,
body:not(.Default) input.RemoveFromCartThemeButton:hover,
body:not(.Default) input.GoThemeButton:hover,
body:not(.Default) input.SearchGoThemeButton:hover { border-color: var(--accent) !important; color: var(--accent) !important; }

/* PDP Add-to-Cart row needs the primary cyan to win even against the .pdp-cta-row scoping above */
body:not(.Default) .btn-primary,
body:not(.Default) .btn-success {
  background: var(--accent) !important; border-color: var(--accent) !important;
  color: #000 !important; font-weight: 700 !important;
}
body:not(.Default) .btn-primary:hover,
body:not(.Default) .btn-success:hover { background: var(--accent-2) !important; border-color: var(--accent-2) !important; color: #000 !important; }
body:not(.Default) .btn-default,
body:not(.Default) .btn-default:focus { background: transparent !important; border: 1px solid var(--border-strong) !important; color: var(--text) !important; }
body:not(.Default) .btn-default:hover { border-color: var(--accent) !important; color: var(--accent) !important; }
body:not(.Default) .btn-link { color: var(--accent) !important; padding: 0 !important; border: none !important; background: transparent !important; }
body:not(.Default) .btn-danger { background: var(--danger) !important; border-color: var(--danger) !important; color: #fff !important; }

/* --- Forms (checkout, login, account, address book, etc.) --- */
body:not(.Default) .form-control,
body:not(.Default) input[type="text"],
body:not(.Default) input[type="email"],
body:not(.Default) input[type="password"],
body:not(.Default) input[type="tel"],
body:not(.Default) input[type="number"],
body:not(.Default) input[type="search"],
body:not(.Default) textarea,
body:not(.Default) select {
  background: var(--surface) !important; border: 1px solid var(--border-strong) !important;
  color: var(--text) !important; border-radius: 6px !important;
  padding: 10px 14px !important; font-family: 'Inter', sans-serif; font-size: 14px;
  box-shadow: none !important; transition: border-color .15s ease, box-shadow .15s ease;
  height: auto;
}
body:not(.Default) .form-control:focus,
body:not(.Default) input:focus,
body:not(.Default) textarea:focus,
body:not(.Default) select:focus {
  border-color: var(--accent) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(12, 244, 255, 0.15) !important;
}
body:not(.Default) label,
body:not(.Default) .control-label { color: var(--text-2); font-weight: 600; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 6px; }
body:not(.Default) .help-block { color: var(--text-3); font-size: 12px; }
body:not(.Default) .form-group { margin-bottom: 18px; }

/* Quantity spinner (used on PDP, PLP, cart) */
body:not(.Default) .CategoryProductQuantityTextbox,
body:not(.Default) .ProductDetailsQuantityTextbox,
body:not(.Default) input.qtyInput,
body:not(.Default) .qty-spinner input { background: var(--surface) !important; border: 1px solid var(--border-strong) !important; color: var(--text) !important; }
body:not(.Default) .qty-spinner button,
body:not(.Default) .input-group-btn .btn { background: var(--surface-2) !important; border-color: var(--border-strong) !important; color: var(--text) !important; }
body:not(.Default) .input-group-addon { background: var(--surface-2) !important; border-color: var(--border-strong) !important; color: var(--text-2) !important; }

/* --- Panels / wells / cards --- */
body:not(.Default) .panel,
body:not(.Default) .panel-default {
  background: var(--surface) !important; border: 1px solid var(--border) !important;
  border-radius: 8px !important; box-shadow: none !important; color: var(--text);
}
body:not(.Default) .panel-heading,
body:not(.Default) .panel-default > .panel-heading { background: var(--surface-2) !important; border-bottom: 1px solid var(--border) !important; color: var(--text) !important; border-radius: 8px 8px 0 0 !important; padding: 14px 18px; font-weight: 700; }
body:not(.Default) .panel-body { color: var(--text); padding: 18px; }
body:not(.Default) .panel-footer { background: var(--surface-2) !important; border-top: 1px solid var(--border) !important; color: var(--text-2) !important; }
body:not(.Default) .well { background: var(--surface) !important; border: 1px solid var(--border) !important; box-shadow: none !important; color: var(--text); padding: 18px; border-radius: 8px; }

/* --- Tables (cart, order history, account orders) --- */
body:not(.Default) table,
body:not(.Default) .table { color: var(--text); background: transparent; border-color: var(--border) !important; }
body:not(.Default) .table > thead > tr > th { background: var(--surface-2); color: var(--text-2); border-color: var(--border) !important; font-weight: 700; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; padding: 14px 12px; }
body:not(.Default) .table > tbody > tr > td,
body:not(.Default) .table > tfoot > tr > td { border-color: var(--border) !important; padding: 14px 12px; vertical-align: middle; }
body:not(.Default) .table-striped > tbody > tr:nth-of-type(odd) > td { background: rgba(255, 255, 255, 0.02); }
body:not(.Default) .table-hover > tbody > tr:hover > td { background: rgba(12, 244, 255, 0.04); }

/* --- Alerts / messages --- */
body:not(.Default) .alert {
  background: var(--surface-2) !important; border: 1px solid var(--border-strong) !important;
  color: var(--text); border-radius: 8px; padding: 14px 18px;
}
body:not(.Default) .alert-success { border-left: 3px solid var(--success) !important; }
body:not(.Default) .alert-danger,
body:not(.Default) .alert-error { border-left: 3px solid var(--danger) !important; }
body:not(.Default) .alert-info,
body:not(.Default) .alert-warning { border-left: 3px solid var(--accent) !important; }

/* --- Nav tabs (used on PDP for tabs: details/reviews/etc.) --- */
body:not(.Default) .nav-tabs { border-bottom: 1px solid var(--border); margin-bottom: 18px; }
body:not(.Default) .nav-tabs > li > a {
  background: transparent !important; border: none !important; border-bottom: 2px solid transparent !important;
  color: var(--text-2) !important; padding: 14px 22px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; font-size: 12px;
  border-radius: 0 !important; margin-right: 4px;
}
body:not(.Default) .nav-tabs > li > a:hover { color: var(--text) !important; border-bottom-color: var(--border-strong) !important; }
body:not(.Default) .nav-tabs > li.active > a,
body:not(.Default) .nav-tabs > li.active > a:hover,
body:not(.Default) .nav-tabs > li.active > a:focus { color: var(--accent) !important; border-bottom-color: var(--accent) !important; background: transparent !important; }

/* Nav pills (PLP child categories) */
body:not(.Default) .nav-pills > li > a { background: var(--surface) !important; color: var(--text-2) !important; border-radius: 999px; padding: 8px 18px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; margin: 0 6px 8px 0; border: 1px solid var(--border); }
body:not(.Default) .nav-pills > li > a:hover { color: var(--accent) !important; border-color: var(--accent) !important; background: var(--surface-2) !important; }
body:not(.Default) .nav-pills > li.active > a { background: var(--accent) !important; color: #000 !important; border-color: var(--accent) !important; }

/* Pagination */
body:not(.Default) .pagination { border-radius: 0; }
body:not(.Default) .pagination > li > a,
body:not(.Default) .pagination > li > span {
  background: var(--surface) !important; border: 1px solid var(--border) !important; color: var(--text-2) !important; margin: 0 3px; border-radius: 6px !important;
}
body:not(.Default) .pagination > li > a:hover { background: var(--surface-2) !important; color: var(--accent) !important; border-color: var(--accent) !important; }
body:not(.Default) .pagination > li.active > a,
body:not(.Default) .pagination > li.active > span { background: var(--accent) !important; border-color: var(--accent) !important; color: #000 !important; }

/* Dropdown menu (account menu, sort dropdowns, etc.) */
body:not(.Default) .dropdown-menu { background: var(--surface) !important; border: 1px solid var(--border-strong) !important; box-shadow: 0 12px 32px rgba(0,0,0,0.6) !important; }
body:not(.Default) .dropdown-menu > li > a { color: var(--text) !important; padding: 10px 18px; }
body:not(.Default) .dropdown-menu > li > a:hover { background: var(--surface-2) !important; color: var(--accent) !important; }

/* Modals */
body:not(.Default) .modal-content { background: var(--surface) !important; border: 1px solid var(--border-strong) !important; color: var(--text); }
body:not(.Default) .modal-header,
body:not(.Default) .modal-footer { border-color: var(--border) !important; }

/* --- PLP (CategoryPage) --- */
body.Category .CategoryCategoryName { color: var(--text); font-size: clamp(28px, 4vw, 44px); }
body.Category .product-list,
body.Category .row { margin-left: -8px; margin-right: -8px; }
body.Category .category-product { padding-left: 8px; padding-right: 8px; margin-bottom: 32px; }
body.Category .category-product .thumbnail {
  background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: 12px !important;
  padding: 0 !important; overflow: hidden; transition: transform .25s ease, border-color .25s ease;
}
body.Category .category-product .thumbnail:hover { transform: translateY(-4px); border-color: var(--accent); }
body.Category .category-product .thumbnail img { background: #fff; }   /* keep product images crisp on white tile */
body.Category .category-product .caption { padding: 16px !important; text-align: left; }
body.Category .CategoryProductRetailArea,
body.Category .CategoryWasPriceArea { color: var(--text-3) !important; }
body.Category .CategoryProductReview { margin-top: 8px; }
body.Category .CategoryProductAvailability { color: var(--text-2); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
body.Category .product-flag span { background: var(--accent); color: #000; padding: 4px 10px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; border-radius: 4px; }
body.Category .product-flag.featured span,
body.Category .product-flag.spotlight span,
body.Category .product-flag.flag1 span,
body.Category .product-flag.flag2 span,
body.Category .product-flag.flag3 span { background: var(--accent); color: #000; }
body.Category a.prod_view { display: inline-block; margin-top: 6px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent) !important; }
body.Category .text-muted { color: var(--text-3) !important; }
body.Category .CategoryProductMfgName { color: var(--text-3); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }

/* --- PDP (ProductDetailsPage) --- */
body.ProductDetails .ProductDetailsProductName { color: var(--text); font-size: clamp(26px, 3.4vw, 40px); margin-bottom: 8px; }
body.ProductDetails .main-product-photo,
body.ProductDetails .thumbnail { background: #fff !important; border: 1px solid var(--border) !important; border-radius: 12px !important; padding: 12px !important; }
body.ProductDetails .product-thumbnails .thumbnail { padding: 4px !important; }
body.ProductDetails .ProductDetailsPrice,
body.ProductDetails .RetailPriceLabel,
body.ProductDetails [class*="Price"] { color: var(--accent); font-size: 28px; font-weight: 700; }
/* Radio-list variant options: AmeriCommerce tags their labels .CustomConvertPrice, which the
[class*="Price"] wildcard above catches -> they rendered like the $ price (28px bold cyan caps).
Reset them to read like the variant dropdown text. (Same specificity, later = wins.) */
body.ProductDetails .pdp-variations label,
body.ProductDetails .variantSelection label {
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 0 8px;
  cursor: pointer;
}
body.ProductDetails .ProductDetailsRetailPriceArea,
body.ProductDetails .text-muted del { color: var(--text-3) !important; }
body.ProductDetails .ProductDetailsAddToCart,
body.ProductDetails .ProductDetailsBuyNow { padding: 20px 0; }
body.ProductDetails .ProductDetailsLongDescription,
body.ProductDetails .ProductDetailsShortDescription { color: var(--text-2); line-height: 1.8; }
body.ProductDetails .ProductDetailsReviewDisplay { color: var(--text-2); margin-bottom: 16px; }
body.ProductDetails .product-flag span { background: var(--accent); color: #000; padding: 4px 10px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; border-radius: 4px; }
body.ProductDetails .ProductDetailsAvailability { color: var(--text-2); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; margin: 8px 0; }
body.ProductDetails .swatch,
body.ProductDetails .VariantSwatch { border: 1px solid var(--border-strong) !important; border-radius: 50%; }
body.ProductDetails .VariantSwatch.Selected,
body.ProductDetails .VariantSwatch:hover { border-color: var(--accent) !important; }

/* --- Cart (ShoppingCartPage) --- */
body.ShoppingCart .ShoppingCartTotalsArea,
body.ShoppingCart .ShoppingCartTotal { color: var(--accent); font-size: 22px; font-weight: 700; }
body.ShoppingCart .ShoppingCartItemName a { color: var(--text) !important; font-weight: 600; }
body.ShoppingCart .ShoppingCartItemName a:hover { color: var(--accent) !important; }
body.ShoppingCart .ShoppingCartItemPicture img { background: #fff; border-radius: 8px; padding: 4px; }
body.ShoppingCart .ShoppingCartItemRemove a,
body.ShoppingCart .ShoppingCartItemUpdate a { color: var(--text-3) !important; font-size: 12px; letter-spacing: 0.06em; }
body.ShoppingCart .ShoppingCartItemRemove a:hover { color: var(--danger) !important; }
body.ShoppingCart .ShoppingCartCouponCode,
body.ShoppingCart .ShoppingCartGiftCard { background: var(--surface) !important; border: 1px solid var(--border) !important; padding: 18px; border-radius: 8px; margin-bottom: 18px; }

/* --- Checkout (OnePageCheckOutPage) --- */
body.OnePageCheckOut .CheckoutSection,
body.OnePageCheckOut .CheckoutStep { background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: 12px; padding: 24px; margin-bottom: 18px; }
body.OnePageCheckOut .CheckoutSectionHeader,
body.OnePageCheckOut .CheckoutStepHeader { color: var(--text); font-size: 18px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
body.OnePageCheckOut .OrderTotal,
body.OnePageCheckOut .CheckoutOrderTotal { color: var(--accent); font-size: 24px; font-weight: 700; }
body.OnePageCheckOut .CheckoutPaymentMethod input[type="radio"] + label,
body.OnePageCheckOut .CheckoutShippingMethod input[type="radio"] + label { background: var(--surface-2); border: 1px solid var(--border-strong); padding: 12px 16px; border-radius: 8px; display: block; margin-bottom: 8px; cursor: pointer; transition: border-color .15s; }
body.OnePageCheckOut input[type="radio"]:checked + label { border-color: var(--accent); }

/* --- Account (MyAccount, profile, orders, addresses) --- */
body.MyAccount .panel,
body.OrderHistory .panel,
body.ProfileEdit .panel,
body.AccountMenu .panel { background: var(--surface) !important; }
body.MyAccount .AccountMenuArea a,
body.AccountMenu .AccountMenuArea a { display: block; padding: 12px 16px; color: var(--text-2) !important; border-bottom: 1px solid var(--border); font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; font-weight: 600; }
body.MyAccount .AccountMenuArea a:hover,
body.AccountMenu .AccountMenuArea a:hover { color: var(--accent) !important; background: var(--surface-2); }
body.MyAccount .AccountMenuArea a.active,
body.AccountMenu .AccountMenuArea a.active { color: var(--accent) !important; border-left: 3px solid var(--accent); padding-left: 13px; }

/* Login / register cards */
body.CustomerLogin .panel,
body.NewCustomer .panel,
body.LostPassword .panel,
body.Register .panel { max-width: 480px; margin: 60px auto; padding: 0; }
body.CustomerLogin .panel-body,
body.NewCustomer .panel-body { padding: 32px; }

/* --- Search results page --- */
body.Search .SearchPageTitle,
body.SearchResult .SearchPageTitle { color: var(--text); }
body.Search .SearchResultsCount,
body.SearchResult .SearchResultsCount { color: var(--text-2); font-size: 14px; }

/* --- Blog --- */
body.BlogPost .BlogPostTitle,
body.BlogPost h1 { color: var(--text); }
body.BlogPost .BlogPostBody { color: var(--text-2); line-height: 1.8; font-size: 16px; }
body.BlogPost .BlogPostBody h2,
body.BlogPost .BlogPostBody h3 { color: var(--text); margin-top: 32px; }
body.BlogList .BlogListPostTitle a,
body.BlogList .BlogPostTitle a { color: var(--text) !important; }
body.BlogList .BlogListPostTitle a:hover { color: var(--accent) !important; }

/* --- Contact / About / static pages --- */
body.About .AboutPageBody,
body.ContactForm .ContactFormBody,
body.ContactForm form { color: var(--text); }
body.ContactForm .form-group { margin-bottom: 22px; }

/* --- Sitemap --- */
body.SiteMap a { color: var(--text-2) !important; padding: 6px 0; display: inline-block; }
body.SiteMap a:hover { color: var(--accent) !important; }
body.SiteMap h2,
body.SiteMap h3 { color: var(--accent); margin-top: 28px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }

/* --- Wishlist --- */
body.WishList .WishListItemName a { color: var(--text) !important; }
body.WishList .WishListItemName a:hover { color: var(--accent) !important; }

/* --- 404 / error --- */
body._404Page .page-header h1 { color: var(--accent); }

/* --- Defensive: anything stock with white backgrounds → surface --- */
body:not(.Default) .clearfix.bg-white,
body:not(.Default) [style*="background:#fff"],
body:not(.Default) [style*="background: #fff"],
body:not(.Default) [style*="background-color:#fff"],
body:not(.Default) [style*="background-color: #fff"] { background: var(--surface) !important; }

/* Preserve white background ONLY on actual product photo containers (so PDP/PLP photos stay crisp) */
body.ProductDetails .main-product-photo,
body.ProductDetails .product-thumbnails .thumbnail,
body.Category .category-product .thumbnail img,
body.ShoppingCart .ShoppingCartItemPicture img { background: #fff !important; }

/* Mobile padding */
@media (max-width: 768px) {
  body:not(.Default) .LayoutContent,
  body:not(.Default) .LayoutContentInner { padding: 16px !important; }
  body:not(.Default) .panel { border-radius: 8px !important; }
}

/* ======================================================================
============= NIKE-STYLE TEMPLATES (PDP / PLP / CART / AUTH) =========
For pages we now custom-template (not just CSS-override). These pages
use our own markup wrapped in .wolf-pdp / .wolf-plp / .wolf-cart /
.wolf-auth, so we can lay them out from scratch instead of inheriting
stock Bootstrap rows/cols.
====================================================================== */

/* Strip stock layout chrome on the new templated pages so our wrapper
gets full bleed (same trick as DefaultPage for the home). */
body.ProductDetails .LayoutMiddle,
body.ProductDetails .LayoutMiddle.container,
body.Category .LayoutMiddle,
body.Category .LayoutMiddle.container,
body.Search .LayoutMiddle,
body.Search .LayoutMiddle.container,
body.ShoppingCart .LayoutMiddle,
body.ShoppingCart .LayoutMiddle.container,
body.CustomerLogin .LayoutMiddle,
body.CustomerLogin .LayoutMiddle.container,
body.NewCustomer .LayoutMiddle,
body.NewCustomer .LayoutMiddle.container,
body.MyAccount .LayoutMiddle,
body.MyAccount .LayoutMiddle.container,
body.EditLogin .LayoutMiddle,
body.EditLogin .LayoutMiddle.container,
body.ChangePassword .LayoutMiddle,
body.ChangePassword .LayoutMiddle.container,
body.Profile .LayoutMiddle,
body.Profile .LayoutMiddle.container,
body.ProfileEdit .LayoutMiddle,
body.ProfileEdit .LayoutMiddle.container,
body.PaymentMethod .LayoutMiddle,
body.PaymentMethod .LayoutMiddle.container,
body.BillingAddress .LayoutMiddle,
body.BillingAddress .LayoutMiddle.container,
body.ShippingAddress .LayoutMiddle,
body.ShippingAddress .LayoutMiddle.container,
body.OrderList .LayoutMiddle,
body.OrderList .LayoutMiddle.container,
body.OrderHistory .LayoutMiddle,
body.OrderHistory .LayoutMiddle.container,
body.EditDetails .LayoutMiddle,
body.EditDetails .LayoutMiddle.container,
body.OnePageCheckOut .LayoutMiddle,
body.OnePageCheckOut .LayoutMiddle.container {
  background: transparent !important; padding: 0 !important; margin: 0 !important;
  max-width: none !important; width: 100% !important;
}
body.ProductDetails .LayoutMiddle > .row,
body.Category .LayoutMiddle > .row,
body.Search .LayoutMiddle > .row,
body.ShoppingCart .LayoutMiddle > .row,
body.CustomerLogin .LayoutMiddle > .row,
body.NewCustomer .LayoutMiddle > .row,
body.MyAccount .LayoutMiddle > .row,
body.EditLogin .LayoutMiddle > .row,
body.ChangePassword .LayoutMiddle > .row,
body.Profile .LayoutMiddle > .row,
body.ProfileEdit .LayoutMiddle > .row,
body.PaymentMethod .LayoutMiddle > .row,
body.BillingAddress .LayoutMiddle > .row,
body.ShippingAddress .LayoutMiddle > .row,
body.OrderList .LayoutMiddle > .row,
body.OrderHistory .LayoutMiddle > .row,
body.EditDetails .LayoutMiddle > .row,
body.OnePageCheckOut .LayoutMiddle > .row,
body.OnePageCheckOut .row { margin: 0 !important; }

/* Constrain OnePageCheckout to a sensible page gutter so it doesn't
sprawl edge-to-edge on wide screens. */
body.OnePageCheckOut .LayoutContent,
body.OnePageCheckOut .LayoutContentInner {
  padding: 24px 32px 96px !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
  overflow-x: hidden !important;
}

/* ============================================================
ONE PAGE CHECKOUT — partner brand overrides, font-swapped to
match the rest of the site (Inter 900 in place of Oswald 600).
Layout/spacing/buttons/cyan-dot accent preserved from partner
spec; just rebadged with site typography. v34+.
============================================================ */

/* 1. Page hero — "SECURE CHECKOUT." */
body.OnePageCheckOut .LayoutContentInner > .h2.bold.center,
body.OnePageCheckOut .LayoutContentInner > .h2.bold.pad-t-10.pad-b-30.center {
  position: relative;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', sans-serif !important;
  font-size: 54px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  line-height: 1.05 !important;
  color: #ffffff !important;
  padding: 56px 20px 24px 20px !important;
  margin: 0 0 32px 0 !important;
  text-align: center !important;
  border-bottom: 1px solid #1a1a1a;
}
body.OnePageCheckOut .LayoutContentInner > .h2.bold.center::after,
body.OnePageCheckOut .LayoutContentInner > .h2.bold.pad-t-10.pad-b-30.center::after {
  content: "."; color: var(--accent);
}
body.OnePageCheckOut .LayoutContentInner > .h2.bold.center::before,
body.OnePageCheckOut .LayoutContentInner > .h2.bold.pad-t-10.pad-b-30.center::before {
  content: "CHECKOUT"; display: block;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 11px; font-weight: 500; letter-spacing: 3px;
  color: var(--accent); text-transform: uppercase; margin-bottom: 14px;
}

/* 2. Section panels — v38: framed cards, on-brand with landing's tile language */
body.OnePageCheckOut .well.checkout {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
body.OnePageCheckOut .well.checkout .panel,
body.OnePageCheckOut .well.checkout .panel.full-input,
body.OnePageCheckOut .well.checkout .panel.pad-20,
body.OnePageCheckOut .well.checkout .panel.payment-method-select {
  background: #0a0a0a !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 12px !important;
  margin: 0 0 14px 0 !important;
  padding: 22px 26px !important;
  box-shadow: none !important;
}
body.OnePageCheckOut .well.checkout .panel .pad-20,
body.OnePageCheckOut .well.checkout .panel .pad-20.full-input {
  padding: 0 !important;
}
/* Existing-customer login row stays flat */
body.OnePageCheckOut .well.checkout > .row > .col-sm-9 > .panel:first-of-type:not(:has(.h4)) {
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 24px 0 !important;
  margin: 0 0 16px 0 !important;
  border-bottom: 1px solid #1a1a1a !important;
}

/* 3. Section headings (BILLING. SHIPPING. PAYMENT. etc.) */
body.OnePageCheckOut .well.checkout .panel > .h4,
body.OnePageCheckOut .well.checkout .panel > .h4.bold,
body.OnePageCheckOut .well.checkout .panel .h4.bold.pad-b-20,
body.OnePageCheckOut .well.checkout .panel .pad-20 > .h4.bold,
body.OnePageCheckOut .well.checkout .panel .pad-20.full-input > .h4.bold {
  position: relative;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.05 !important;
  color: #ffffff !important;
  padding: 0 0 16px 0 !important;
  margin: 0 0 4px 0 !important;
  font-size: 24px !important;
}
body.OnePageCheckOut .well.checkout .panel > .h4::after,
body.OnePageCheckOut .well.checkout .panel > .h4.bold::after,
body.OnePageCheckOut .well.checkout .panel .h4.bold.pad-b-20::after,
body.OnePageCheckOut .well.checkout .panel .pad-20 > .h4.bold::after,
body.OnePageCheckOut .well.checkout .panel .pad-20.full-input > .h4.bold::after {
  content: "."; color: var(--accent);
}

/* 4. Existing-customer row */
body.OnePageCheckOut .well.checkout .panel:first-of-type:not(:has(.h4.bold)) {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 0 0 28px 0 !important;
  border-bottom: 1px solid #1a1a1a !important;
  margin-bottom: 0 !important;
}

/* 5. Form inputs */
body.OnePageCheckOut .well.checkout .panel input[type="text"],
body.OnePageCheckOut .well.checkout .panel input[type="email"],
body.OnePageCheckOut .well.checkout .panel input[type="password"],
body.OnePageCheckOut .well.checkout .panel input[type="tel"],
body.OnePageCheckOut .well.checkout .panel input[type="number"],
body.OnePageCheckOut .well.checkout .panel select,
body.OnePageCheckOut .well.checkout .panel textarea {
  background: #0a0a0a !important;
  border: 1px solid #1f1f1f !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2px !important;
  padding: 9px 12px !important;
  height: 38px !important;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 160ms ease, box-shadow 160ms ease !important;
}
body.OnePageCheckOut .well.checkout .panel textarea {
  height: auto !important;
  min-height: 80px;
  padding: 10px 12px !important;
}
body.OnePageCheckOut .well.checkout .panel input:focus,
body.OnePageCheckOut .well.checkout .panel select:focus,
body.OnePageCheckOut .well.checkout .panel textarea:focus {
  outline: 0 !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(12,244,255,0.18) !important;
}

/* 6. Field labels (input wrapped inside <label>) */
body.OnePageCheckOut .well.checkout .panel label,
body.OnePageCheckOut .well.checkout .panel .col-sm-6 > label,
body.OnePageCheckOut .well.checkout .panel .col-sm-3 > label,
body.OnePageCheckOut .well.checkout .panel .col-sm-4 > label {
  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: stretch !important;
  margin: 0 0 10px 0 !important;
  color: #c8c8c8 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  gap: 4px;
}
/* v40 — phone iti widget: force fill its col-sm-6 instead of iti's default 196px */
body.OnePageCheckOut .well.checkout .iti,
body.OnePageCheckOut .well.checkout .iti.iti--allow-dropdown,
body.OnePageCheckOut .well.checkout .iti--inline-dropdown { width: 100% !important; display: block !important; }
body.OnePageCheckOut .well.checkout .iti input[type="tel"],
body.OnePageCheckOut .well.checkout .iti .iti__tel-input { width: 100% !important; }
/* v40 — kill bootstrap row -15px margins inside panels so columns butt up cleanly */
body.OnePageCheckOut .well.checkout .panel .row { margin-left: 0 !important; margin-right: 0 !important; }
body.OnePageCheckOut .well.checkout .panel .row > [class*="col-"] { padding-left: 0 !important; padding-right: 8px !important; }
body.OnePageCheckOut .well.checkout .panel .row > [class*="col-"]:last-child { padding-right: 0 !important; padding-left: 8px !important; }
body.OnePageCheckOut .well.checkout .panel .row > [class*="col-"]:only-child { padding: 0 !important; }
/* For 3+ column rows: even gutter */
body.OnePageCheckOut .well.checkout .panel .row > [class*="col-"]:nth-child(n+2):not(:last-child) {
  padding-left: 8px !important; padding-right: 8px !important;
}
/* v36 readability fixes — kill legacy .checkout label > span absolute
positioning so partner's column-reverse flex actually renders labels
above inputs instead of trapped inside at 0.5 opacity. */
body.OnePageCheckOut .well.checkout label > span,
body.OnePageCheckOut .well.checkout label.filled > span,
body.OnePageCheckOut .well.checkout label.active > span {
  position: static !important;
  top: auto !important;
  left: auto !important;
  opacity: 1 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  color: #c8c8c8 !important;
  cursor: default !important;
  padding: 0 !important;
  background: transparent !important;
}
/* v36 — CC number iframe + CVV + name-on-card: kill cart.com's white bg */
body.OnePageCheckOut .well.checkout .CardNumberIframe,
body.OnePageCheckOut .well.checkout iframe[id*="CardNumber"],
body.OnePageCheckOut .well.checkout .CreditCardTextbox,
body.OnePageCheckOut .well.checkout input[id*="CardNumber"],
body.OnePageCheckOut .well.checkout input[id*="txtCVV"],
body.OnePageCheckOut .well.checkout input[name*="CVV"],
body.OnePageCheckOut .well.checkout input[id*="cvv"] {
  background: #0a0a0a !important;
  border: 1px solid #1a1a1a !important;
  color: #ffffff !important;
  border-radius: 8px !important;
}
/* v36 — radio-row labels readable when unchecked */
body.OnePageCheckOut .well.checkout label:has(> input[type="radio"]) {
  color: #ffffff !important;
}
body.OnePageCheckOut .well.checkout label:has(> input[type="checkbox"]) {
  color: #ffffff !important;
}
/* v36 — Retrieve Shipping Options / Split Payment — promote to outline pill */
body.OnePageCheckOut .well.checkout a[id*="RecalcShipping"],
body.OnePageCheckOut .well.checkout a[id*="RetrieveShipping"],
body.OnePageCheckOut .well.checkout a[id*="SplitPayment"],
body.OnePageCheckOut .well.checkout a[id*="hlSplit"] {
  display: inline-block !important;
  background: transparent !important;
  color: var(--accent) !important;
  border: 1px solid rgba(12,244,255,0.45) !important;
  border-radius: 980px !important;
  padding: 8px 18px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  margin: 4px 0 !important;
}
body.OnePageCheckOut .well.checkout a[id*="RetrieveShipping"]:hover,
body.OnePageCheckOut .well.checkout a[id*="SplitPayment"]:hover {
  background: rgba(12,244,255,0.08) !important;
  border-color: var(--accent) !important;
}
/* v36 — APPLY CODE pill needs room so it doesn't clip */
body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .btn,
body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode button.btn,
body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode input[type="submit"] {
  white-space: nowrap !important;
  min-width: 140px !important;
  padding: 12px 24px !important;
}
/* v36 — confirm-and-place product table */
body.OnePageCheckOut .well.checkout table thead th,
body.OnePageCheckOut .well.checkout table thead td {
  color: #c8c8c8 !important;
  font-weight: 600 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
}
body.OnePageCheckOut .well.checkout table tbody td {
  color: #ffffff !important;
}
/* v37 — validator messages: drop BELOW input (order:-1 in column-reverse)
and strip Bootstrap .alert/.alert-danger banner styling so they read as
small inline red copy, not pink banners floating above the field. */
body.OnePageCheckOut .well.checkout label > .ErrorText,
body.OnePageCheckOut .well.checkout label > span.alert-danger,
body.OnePageCheckOut .well.checkout label > .alert,
body.OnePageCheckOut .well.checkout label > .alert-danger {
  order: -1 !important;
  display: block !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #ff5a5a !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  padding: 4px 0 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
body.OnePageCheckOut .well.checkout label > .ErrorText:empty,
body.OnePageCheckOut .well.checkout label > .alert:empty,
body.OnePageCheckOut .well.checkout label > .alert-danger:empty,
body.OnePageCheckOut .well.checkout label > span.alert-danger:empty {
  display: none !important;
  padding: 0 !important;
}
/* Inline asterisk indicator — keep next to label text, not in error color */
body.OnePageCheckOut .well.checkout label > .RequiredField {
  display: inline-block !important;
  order: 0 !important;
  color: var(--accent) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 0 0 0 4px !important;
  background: transparent !important;
}
body.OnePageCheckOut .well.checkout .panel label .required { color: var(--accent) !important; }

/* 7. Radios / checkboxes */
body.OnePageCheckOut .well.checkout .panel input[type="radio"],
body.OnePageCheckOut .well.checkout .panel input[type="checkbox"] {
  accent-color: var(--accent) !important;
  width: 16px !important;
  height: 16px !important;
  margin-right: 8px !important;
  vertical-align: middle;
}
body.OnePageCheckOut .well.checkout .panel label:has(> input[type="radio"]),
body.OnePageCheckOut .well.checkout .panel label:has(> input[type="checkbox"]) {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 1.2px !important;
  color: #ffffff !important;
  margin-right: 24px !important;
  margin-bottom: 12px !important;
}
/* v48 — sibling-pattern: <input type="radio|checkbox"> <label> (cart.com's
rblSameAsBillingAddress markup). The .panel label flex column-reverse
rule above made the label a full-width block under the radio, putting
the text on its own line. Reset these to inline. */
body.OnePageCheckOut .well.checkout input[type="radio"] + label,
body.OnePageCheckOut .well.checkout input[type="checkbox"] + label {
  display: inline-block !important;
  width: auto !important;
  flex-direction: row !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  margin: 0 0 0 8px !important;
  padding: 0 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}
body.OnePageCheckOut .well.checkout #rblSameAsBillingAddress td,
body.OnePageCheckOut .well.checkout #rblSameAsBillingAddress tr {
  padding: 6px 0 !important; background: transparent !important; border: 0 !important;
}
body.OnePageCheckOut .well.checkout #rblSameAsBillingAddress input[type="radio"] {
  vertical-align: middle !important;
  margin: 0 !important;
}

/* 8. Buttons — white pill, cyan text (partner's contrast move) */
body.OnePageCheckOut .well.checkout .btn,
body.OnePageCheckOut .well.checkout button.btn,
body.OnePageCheckOut .well.checkout a.btn,
body.OnePageCheckOut .well.checkout input[type="submit"],
body.OnePageCheckOut .well.checkout .btn-primary {
  display: inline-block !important;
  background: #ffffff !important;
  color: var(--accent) !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 980px !important;
  padding: 12px 28px !important;
  cursor: pointer !important;
  transition: transform 120ms ease, box-shadow 200ms ease !important;
}
body.OnePageCheckOut .well.checkout .btn:hover,
body.OnePageCheckOut .well.checkout button.btn:hover,
body.OnePageCheckOut .well.checkout a.btn:hover,
body.OnePageCheckOut .well.checkout input[type="submit"]:hover,
body.OnePageCheckOut .well.checkout .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 24px rgba(12,244,255,0.35);
}
body.OnePageCheckOut .well.checkout .LayoutContentInner a:not(.btn) {
  color: var(--accent) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  border-bottom: 1px solid rgba(12,244,255,0.4);
  padding-bottom: 1px;
}

/* 9. Order summary sidebar — v38: sticky, prominent, full breakdown */
body.OnePageCheckOut .well.checkout > .row { display: flex; flex-wrap: wrap; align-items: flex-start; }
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 {
  background: #0a0a0a !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 0 32px rgba(12,244,255,0.06);
  position: sticky !important;
  top: 24px;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .floating-totals,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .panel.pad-20 {
  background: transparent !important; border: 0 !important;
  padding: 0 !important; margin: 0 !important;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 hr {
  border-color: #1a1a1a !important; margin: 18px 0 !important;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .ShoppingCartTotals,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .ShoppingCartPrice {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #c8c8c8 !important;
  padding: 8px 0 !important;
  border: 0 !important;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .ShoppingCartPrice { color: #ffffff !important; font-weight: 600 !important; }
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 #trTotal td,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 #trAdjustedTotal td,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 tr:last-child td {
  border-top: 1px solid #1a1a1a !important;
  padding-top: 16px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: -0.01em !important;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 #trTotal .ShoppingCartPrice,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 #trAdjustedTotal .ShoppingCartPrice,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 tr:last-child .ShoppingCartPrice {
  color: var(--accent) !important;
  font-size: 22px !important;
}

/* v42 — Sidebar line items: JS-injected from the bottom Confirm table.
Gives buyers the Stripe/Shopify line-item view right next to the form. */
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .sidebar-line-items {
  margin: 0 0 18px 0;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .sidebar-line-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #1a1a1a;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .sidebar-line-item:first-child {
  padding-top: 0;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .sli-info {
  flex: 1; min-width: 0;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .sli-name {
  font-family: 'Inter', sans-serif;
  font-size: 14px; font-weight: 700;
  color: #ffffff;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .sli-variants {
  font-size: 11px;
  color: #c8c8c8;
  margin-top: 4px;
  line-height: 1.4;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .sli-meta {
  font-size: 9px;
  color: #888;
  margin-top: 6px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 600;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .sli-price {
  font-family: 'Inter', sans-serif;
  font-size: 14px; font-weight: 700;
  color: var(--accent);
  white-space: nowrap;
}

/* v43 — EXPIRATION DATE / CVV row: cart.com markup puts CVV in a left
col-sm-3 and the Month / / Year selects in a col-sm-5 with hardcoded
75px width on the Month select and an absolutely-positioned "What's
this?" link. Force a clean 60/40 layout with Month/Year side-by-side
on the left and CVV on the right. */
body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
  align-items: flex-start !important;
}
body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 {
  flex: 1 1 60% !important;
  max-width: 60% !important;
  width: auto !important;
  display: flex !important;
  gap: 8px !important;
  align-items: flex-end !important;
  padding: 0 !important;
}
body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-3 {
  flex: 1 1 40% !important;
  max-width: 40% !important;
  width: auto !important;
  padding: 0 !important;
}
/* Month / Year side-by-side with EXPIRATION DATE label above both */
body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label {
  flex: 1 1 auto !important;
  margin: 0 !important;
}
body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) #ddExpireMonth,
body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) #ddExpireYear {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
/* The "/" separator label */
body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label.col-xs-2 {
  flex: 0 0 12px !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  color: #666 !important;
}
/* "What's this?" link: kill the absolute positioning, render inline as
a small subtle link under the CVV field */
body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) #hlExplainCvv,
body.OnePageCheckOut .well.checkout .ExplainCVVText {
  position: static !important;
  top: auto !important;
  width: auto !important;
  display: inline-block !important;
  font-size: 10px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-bottom: 0 !important;
  margin-top: 6px !important;
}

/* v43 — DISCOUNTS: COUPON CODE input + APPLY CODE pill should sit side
by side, not float far apart. */
body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  align-items: flex-end !important;
}
body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .col-sm-10,
body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .col-sm-9 {
  flex: 1 1 auto !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
}
body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .col-sm-2,
body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .col-sm-3 {
  flex: 0 0 auto !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
}

/* v43 — Phone iti widget: belt-and-suspenders width override to beat
any inline style cart.com applies. */
body.OnePageCheckOut .well.checkout #addrBilling_dvPhone,
body.OnePageCheckOut .well.checkout #addrShipping_dvPhone,
body.OnePageCheckOut .well.checkout div[id$="_dvPhone"] { width: 100% !important; display: block !important; }
body.OnePageCheckOut .well.checkout #addrBilling_dvPhone .iti,
body.OnePageCheckOut .well.checkout #addrShipping_dvPhone .iti,
body.OnePageCheckOut .well.checkout div[id$="_dvPhone"] .iti { width: 100% !important; display: block !important; }
body.OnePageCheckOut .well.checkout .iti__tel-input,
body.OnePageCheckOut .well.checkout input[id$="_txtPhoneNumber"] { width: 100% !important; }

/* iti v20+ uses inline-dropdown with .iti__selected-country positioned
absolutely over the left edge of the input (flag + +1 dial code area,
~58px wide). Without left padding, typed digits sit UNDER the flag.
The panel-scoped input rule above sets `padding: 9px 12px !important`
as a shorthand at specificity (0,0,5,2), so we need higher specificity
to override just the left side. Chain .iti.iti--allow-dropdown +
input.iti__tel-input to hit (0,0,6,2) and win. */
body.OnePageCheckOut .well.checkout .panel .iti.iti--allow-dropdown input.iti__tel-input,
body.OnePageCheckOut .well.checkout .panel .iti.iti--inline-dropdown input.iti__tel-input,
body.OnePageCheckOut .well.checkout .iti input.iti__tel-input,
body.Register .iti input.iti__tel-input,
body.EditAddress .iti input.iti__tel-input,
body[class*="Account"] .iti input.iti__tel-input,
.iti input.iti__tel-input.AddressEditorPhoneTextbox {
  padding-left: 68px !important;
}

/* v44 — kill overflow:auto on LayoutContentInner / LayoutContent so the
sidebar's position:sticky is anchored to the WINDOW scroll context,
not a sub-scroller. Without this, sticky silently fails. */
body.OnePageCheckOut .LayoutContentInner,
body.OnePageCheckOut .LayoutContent,
body.OnePageCheckOut .LayoutContent.col-sm-12 {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

/* v51 — desktop EXP DATE / CVV row final layout.
DOM is [col-sm-3 (CVV), col-sm-5 (EXP DATE)] but visual wants EXP on
left, CVV on right. Use flex-direction: row-reverse so visual order
matches without `order:` reflow gaps. The clearfix ::before pseudos on
the .row eat 48px of leading space in flex; kill them with display:none.
Whitespace text nodes inside col-sm-3 and inside its <label> drag the
iframe down (line-height makes them 20px lines); collapse them with
display:flex on col-sm-3 and font-size:0 on the <label>. Iframe stays
at the height Tokenex needs (56px) so its internal CVV eyebrow + input
render cleanly — no synthetic eyebrow (would duplicate the iframe's). */
@media (min-width: 769px) {
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) {
    display: flex !important;
    flex-direction: row-reverse !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth)::before,
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth)::after {
    display: none !important;
  }

  /* LEFT side: EXP DATE — grid with eyebrow above Month / Year inputs */
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 {
    flex: 1 1 0 !important;
    width: auto !important; max-width: none !important;
    padding: 0 !important; margin: 0 !important; order: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 16px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 0 !important;
    row-gap: 6px !important;
    align-items: end !important;
    position: relative !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5::before {
    content: "EXPIRATION DATE" !important;
    grid-column: 1 / -1 !important; grid-row: 1 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important; font-weight: 600 !important;
    letter-spacing: 1.6px !important; text-transform: uppercase !important;
    color: rgba(255,255,255,0.55) !important; line-height: 14px !important;
    display: block !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label.col-xs-5 {
    margin: 0 !important; padding: 0 !important;
    display: block !important; width: auto !important;
    grid-row: 2 !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label.col-xs-5 > span {
    display: none !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label.col-xs-5:nth-of-type(1) { grid-column: 1 !important; }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label.col-xs-5:nth-of-type(2) { grid-column: 3 !important; }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label.col-xs-5 > select {
    font-size: 14px !important; width: 100% !important; height: 38px !important; max-width: none !important;
    min-width: 0 !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) #ddExpireMonth,
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) #ddExpireYear {
    width: 100% !important; min-width: 0 !important; max-width: none !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label.col-xs-2 {
    grid-column: 2 !important; grid-row: 2 !important;
    align-self: center !important; text-align: center !important;
    font-size: 18px !important; line-height: 38px !important;
    color: #666 !important; margin: 0 !important; padding: 0 !important;
    width: 16px !important; display: block !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5 > label:empty {
    display: none !important;
  }

  /* RIGHT side: CVV — iframe renders its own internal "CVV" eyebrow + input
  (we can't style cross-origin content, so accept what Tokenex draws).
  The display:flex on col-sm-3 + font-size:0 on the label collapse
  whitespace text nodes that would otherwise create a 20px gap above
  the iframe. WHAT'S THIS link sits below via DOM order. */
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-3 {
    flex: 0 1 240px !important;
    width: 240px !important; max-width: 240px !important;
    /* padding-top pushes the CVV iframe down to baseline-align with the
    Month/Year selects (which sit below the "EXPIRATION DATE" eyebrow). */
    padding: 20px 0 0 0 !important;
    margin: 0 !important; order: 0 !important;
    display: flex !important; flex-direction: column !important;
    position: relative !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-3::before {
    content: none !important; display: none !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-3 > label {
    margin: 0 !important; padding: 0 !important;
    display: block !important; width: 100% !important;
    font-size: 0 !important; line-height: 0 !important;
  }
  body.OnePageCheckOut .well.checkout #DivCvv,
  body.OnePageCheckOut .well.checkout #divCvv {
    width: 100% !important;
    max-height: 56px !important; height: 56px !important;
    display: block !important; margin: 0 !important; padding: 0 !important;
    /* Tokenex iframe is white-bg; the dark border + black background on the
    wrapper created a visible 1px "ghost frame" around the iframe. Strip it. */
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.OnePageCheckOut .well.checkout iframe#tx_iframe_cvv_DivCvv {
    height: 56px !important; width: 100% !important;
    border: 0 !important;
  }
  body.OnePageCheckOut .well.checkout #lblCVV {
    font-size: 11px !important; line-height: 1.4 !important; margin-top: 6px !important;
  }
  body.OnePageCheckOut .well.checkout .col-sm-3 .size-small {
    display: block !important; font-style: normal !important;
    margin-top: 8px !important; font-size: 11px !important; line-height: 1.4 !important;
  }
  body.OnePageCheckOut .well.checkout .col-sm-3 .size-small em {
    font-style: normal !important; font-size: 11px !important; line-height: 1.4 !important;
  }
  body.OnePageCheckOut .well.checkout #hlExplainCvv,
  body.OnePageCheckOut .well.checkout a.ExplainCVVText {
    position: static !important; top: auto !important;
    width: auto !important; display: inline-block !important;
    font-size: 10px !important; letter-spacing: 0.12em !important;
    text-transform: uppercase !important; color: var(--accent) !important;
    margin: 0 !important; line-height: 1.4 !important;
  }
}

/* v48 — ORDER COMMENTS + GIFT OPTIONS row: force 50/50 widths + equal
heights via flex stretch on the parent row.
v50 r2 — the OUTER containers (.PublicCommentsArea, #UpdatePanelGiftArea)
are the 50% halves of the row. The INNER wrappers (#PublicOrderCommentsArea,
.OrderGiftingArea) and their col-sm-6 children must be 100% so they fill
the outer 50% box; previously cascading 50%-of-50% collapsed GIFT OPTIONS
to ~25% of the row. */
body.OnePageCheckOut .well.checkout .PublicCommentsArea,
body.OnePageCheckOut .well.checkout .OrderGiftingArea { width: auto !important; float: none !important; }
@media (min-width: 769px) {
  body.OnePageCheckOut .well.checkout .PublicCommentsArea,
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea {
    width: 50% !important; float: left !important;
    padding: 0 !important; box-sizing: border-box !important;
  }
  /* .OrderGiftingArea is nested inside #UpdatePanelGiftArea, so it must
  be 100% to fill its 50% parent. .PublicCommentsArea and
  #PublicOrderCommentsArea are the SAME element (id + class on one div),
  so do NOT touch it here. */
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea > .OrderGiftingArea,
  body.OnePageCheckOut .well.checkout .OrderGiftingArea {
    width: 100% !important; float: none !important;
    padding: 0 !important; box-sizing: border-box !important;
  }
  body.OnePageCheckOut .well.checkout #PublicOrderCommentsArea > .col-sm-6,
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea > .col-sm-6,
  body.OnePageCheckOut .well.checkout .PublicCommentsArea > .col-sm-6,
  body.OnePageCheckOut .well.checkout .OrderGiftingArea > .col-sm-6 {
    width: 100% !important; max-width: 100% !important;
    padding: 0 12px !important; float: none !important; height: 100% !important;
  }
  body.OnePageCheckOut .well.checkout #PublicOrderCommentsArea .panel,
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea .panel,
  body.OnePageCheckOut .well.checkout .PublicCommentsArea .panel,
  body.OnePageCheckOut .well.checkout .OrderGiftingArea .panel {
    height: 100% !important; min-height: 220px !important;
    width: 100% !important; box-sizing: border-box !important;
  }
}

body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .h3,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .h4 {
  position: relative;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: #ffffff !important;
  margin: 0 0 16px 0 !important;
  padding: 0 0 16px 0 !important;
  border-bottom: 1px solid #1a1a1a;
}
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .h3::after,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .h4::after { content: "."; color: var(--accent); }
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .h3::before,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .h4::before {
  content: "REVIEW"; display: block;
  font-family: 'Inter', sans-serif;
  font-size: 10px; font-weight: 500; letter-spacing: 2.5px;
  color: var(--accent); text-transform: uppercase; margin-bottom: 8px;
}

/* 10. Payment group — unified box (CC + Gift Cert + Discounts) */
body.OnePageCheckOut .well.checkout .panel.payment-method-select {
  background: #0a0a0a !important;
  border: 1px solid #1a1a1a !important;
  border-bottom: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  padding: 28px 28px 20px 28px !important;
  margin: 36px 0 0 0 !important;
}
body.OnePageCheckOut .well.checkout #PaymentMethodArea {
  background: #0a0a0a !important;
  border-left: 1px solid #1a1a1a !important;
  border-right: 1px solid #1a1a1a !important;
  padding: 0 28px !important;
  margin: 0 !important;
}
body.OnePageCheckOut .well.checkout #PaymentMethodArea > .panel,
body.OnePageCheckOut .well.checkout #PaymentMethodArea .panel.pad-20 {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
  margin: 0 !important;
}
body.OnePageCheckOut .well.checkout #CouponCodeArea {
  background: #0a0a0a !important;
  border: 1px solid #1a1a1a !important;
  border-top: 0 !important;
  border-radius: 0 0 12px 12px !important;
  padding: 24px 28px 28px 28px !important;
  margin: 0 0 36px 0 !important;
}
body.OnePageCheckOut .well.checkout #CouponCodeArea > .panel {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.OnePageCheckOut .well.checkout #PaymentMethodArea > .panel + .panel,
body.OnePageCheckOut .well.checkout #PaymentMethodArea .panel.pad-20 + .panel.pad-20 {
  border-top: 1px solid #1a1a1a !important;
  padding-top: 20px !important;
}

/* 10a. Credit-card field order */
body.OnePageCheckOut .well.checkout .credit-card.full-input {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  padding: 8px 0 0 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(1) { order: 1 !important; }
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(3) { order: 2 !important; }
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(2) { order: 3 !important; }
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(4) {
  order: 4 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: flex-end !important;
}
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(4) > .col-sm-5 {
  order: 1 !important;
  flex: 1 1 60% !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(4) > .col-sm-3 {
  order: 2 !important;
  flex: 0 0 auto !important;
  min-width: 120px;
}
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(4) > .col-sm-5 > * {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(4) > .col-sm-5 select {
  width: 100% !important;
}
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(4) > .col-sm-5 > *:not(label):not(select) {
  flex: 0 0 auto !important;
  color: #7e7e7e !important;
  font-size: 16px;
  padding: 0 4px;
  align-self: center;
}
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(2) > .col-sm-8,
body.OnePageCheckOut .well.checkout .credit-card.full-input > .row:nth-child(3) > .col-sm-8 {
  width: 100% !important;
  flex: 1 1 100% !important;
}

/* 10b. Payment-method heading */
body.OnePageCheckOut .well.checkout .payment-name,
body.OnePageCheckOut .well.checkout .payment-name.h4,
body.OnePageCheckOut .well.checkout .payment-name.h4.bold,
body.OnePageCheckOut .well.checkout .panel .payment-name,
body.OnePageCheckOut .well.checkout .panel.pad-20 .payment-name,
body.OnePageCheckOut .well.checkout .payment-method .payment-name,
body.OnePageCheckOut .well.checkout div.payment-name.h4.bold {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
  color: #ffffff !important;
  padding: 0 0 16px 0 !important;
  margin: 0 0 6px 0 !important;
}
body.OnePageCheckOut .well.checkout .payment-name::after,
body.OnePageCheckOut .well.checkout .payment-name.h4::after,
body.OnePageCheckOut .well.checkout .payment-name.h4.bold::after {
  content: "."; color: var(--accent);
}

/* 11. Hide empty utility crap */
body.OnePageCheckOut .well.checkout ul,
body.OnePageCheckOut .well.checkout ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
body.OnePageCheckOut .well.checkout ul:empty,
body.OnePageCheckOut .well.checkout ol:empty,
body.OnePageCheckOut .well.checkout li:empty { display: none !important; }
body.OnePageCheckOut .well.checkout img[width="0"],
body.OnePageCheckOut .well.checkout img[height="0"] { display: none !important; }
body.OnePageCheckOut .well.checkout #btnPayWithAmazonAddressSelected,
body.OnePageCheckOut .well.checkout #btnStoreSelected,
body.OnePageCheckOut .well.checkout #btnLocationFound,
body.OnePageCheckOut .well.checkout input[type="submit"][value=""],
body.OnePageCheckOut .well.checkout input[type="button"][value=""] {
  display: none !important;
}
body.OnePageCheckOut .well.checkout .zip-plus4,
body.OnePageCheckOut .well.checkout label.zip-plus4 { display: none !important; }
body.OnePageCheckOut .well.checkout #lnkShopCart,
body.OnePageCheckOut .well.checkout a.CheckOutText,
body.OnePageCheckOut .well.checkout a#lnkShopCart { display: none !important; }
body.OnePageCheckOut .well.checkout #lnkShopCart + *,
body.OnePageCheckOut .well.checkout .CheckOutText + img,
body.OnePageCheckOut .well.checkout img[src*="update"][src*="cart"],
body.OnePageCheckOut .well.checkout img[alt*="update" i][alt*="cart" i] {
  display: none !important;
}

/* 12. Mobile */
@media (max-width: 768px) {
  body.OnePageCheckOut .LayoutContentInner > .h2.bold.center,
  body.OnePageCheckOut .LayoutContentInner > .h2.bold.pad-t-10.pad-b-30.center {
    font-size: 38px !important;
    padding: 36px 16px 16px 16px !important;
  }
  body.OnePageCheckOut .well.checkout .panel > .h4,
  body.OnePageCheckOut .well.checkout .panel > .h4.bold { font-size: 24px !important; }
  body.OnePageCheckOut .well.checkout .panel { padding: 28px 0 24px 0 !important; }
  body.OnePageCheckOut .well.checkout > .row > .col-sm-3 { margin-top: 24px; }
}

/* 13. Gift-cert injected form (JS-side adds .gift-cert-injected) */
body.OnePageCheckOut .well.checkout .gift-cert-injected { margin-top: 16px; }
body.OnePageCheckOut .well.checkout .gift-cert-row {
  display: flex !important;
  align-items: flex-end !important;
  gap: 16px !important;
  width: 100%;
}
body.OnePageCheckOut .well.checkout .gift-cert-row > label {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column-reverse !important;
  gap: 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  color: #7e7e7e !important;
  margin: 0 !important;
}
body.OnePageCheckOut .well.checkout .gift-cert-row > label > input {
  background: #0a0a0a !important;
  border: 1px solid #1f1f1f !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  padding: 12px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.OnePageCheckOut .well.checkout .gift-cert-row > label > input:focus {
  outline: 0 !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(12,244,255,0.18) !important;
}
body.OnePageCheckOut .well.checkout #btnApplyGiftCert,
body.OnePageCheckOut .well.checkout .ApplyGiftCertButton {
  flex: 0 0 auto !important;
  background: #ffffff !important;
  color: var(--accent) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: 0 !important;
  border-radius: 980px !important;
  padding: 12px 28px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

/* v38 — Bottom Confirm-and-Place table: kill the dim mini-table look, give
it the same card framing as the rest. Add product thumbnail via JS hook
.checkout-thumb (theme template-driven, optional). */
body.OnePageCheckOut .well.checkout .OnePageCheckoutShoppingCart,
body.OnePageCheckOut .well.checkout table.ShoppingCart {
  width: 100% !important;
  background: #0a0a0a !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
}
body.OnePageCheckOut .well.checkout .OnePageCheckoutShoppingCart .ShoppingCartHeader,
body.OnePageCheckOut .well.checkout table.ShoppingCart th {
  background: #0f0f0f !important;
  color: #c8c8c8 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid #1a1a1a !important;
  text-align: left !important;
}
body.OnePageCheckOut .well.checkout .OnePageCheckoutShoppingCart td,
body.OnePageCheckOut .well.checkout table.ShoppingCart td {
  padding: 18px 20px !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  border-bottom: 1px solid #141414 !important;
  vertical-align: middle !important;
}
body.OnePageCheckOut .well.checkout .OnePageCheckoutShoppingCart tr:last-child td {
  border-bottom: 0 !important;
}

/* v38 — Trust band above PLACE ORDER */
.checkout-trust-band {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 8px 0 28px;
  padding: 22px 24px;
  background: #0a0a0a;
  border: 1px solid #1a1a1a;
  border-radius: 12px;
}
.checkout-trust-band .tb-item {
  display: flex; align-items: center; gap: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: #c8c8c8;
}
.checkout-trust-band .tb-icon {
  width: 36px; height: 36px; flex: 0 0 36px;
  display: grid; place-items: center;
  background: rgba(12,244,255,0.08);
  border: 1px solid rgba(12,244,255,0.25);
  border-radius: 50%;
  color: var(--accent);
}
.checkout-trust-band .tb-icon svg { width: 18px; height: 18px; }
@media (max-width: 768px) {
  .checkout-trust-band { grid-template-columns: 1fr; gap: 12px; padding: 18px; }
}

/* v38 — PLACE ORDER button: larger, more confident */
body.OnePageCheckOut .well.checkout > .row > .col-sm-9.right {
  text-align: right !important;
  padding-top: 8px !important;
}
body.OnePageCheckOut .well.checkout #btnPlaceOrder,
body.OnePageCheckOut .well.checkout input[id*="PlaceOrder"] {
  font-size: 14px !important;
  letter-spacing: 2.4px !important;
  padding: 18px 44px !important;
  background: var(--accent) !important;
  color: #000000 !important;
  font-weight: 900 !important;
}
body.OnePageCheckOut .well.checkout #btnPlaceOrder:hover,
body.OnePageCheckOut .well.checkout input[id*="PlaceOrder"]:hover {
  box-shadow: 0 0 32px rgba(12,244,255,0.5) !important;
  transform: translateY(-1px) !important;
}

/* v39 — Kill AmeriCommerce checkout.js position:fixed pin on .floating-totals
(it hardcodes a width that clips the sidebar). Our position:sticky on the
col-sm-3 parent does the job correctly. */
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .floating-totals,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .floating-totals .panel,
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 .floating-totals .panel.pad-20 {
  position: static !important;
  width: auto !important;
  top: auto !important;
  margin-top: 0 !important;
}
/* Hide totals rows with empty price values (stranded "Total:" labels) */
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 tr:has(.ShoppingCartPrice:empty),
body.OnePageCheckOut .well.checkout > .row > .col-sm-3 tr:has(.ShoppingCartPrice span:empty:only-child) {
  display: none !important;
}

/* v39 — Tokenex CC + CVV iframes: wrap each in a dark "slot" frame so the
white third-party fields read as a deliberate payment chip on the dark
theme instead of two random bright bars. */
/* v51e: split out CardNumber from DivCvv. CardNumber keeps the dark frame
+ floating eyebrow (it's a wider iframe, looks like a deliberate chip).
DivCvv drops the frame — the iframe itself is small and the dark border
around it read as a "ghost box". */
body.OnePageCheckOut .well.checkout #CardNumber {
  position: relative !important;
  background: #000000 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 8px !important;
  padding: 4px !important;
  margin: 20px 0 14px !important;
  box-sizing: border-box !important;
}
body.OnePageCheckOut .well.checkout #CardNumber::before {
  content: "CARD NUMBER";
  display: block;
  position: absolute;
  top: -8px; left: 12px;
  background: #0a0a0a;
  padding: 0 8px;
  font-family: 'Inter', sans-serif;
  font-size: 9px; font-weight: 600;
  letter-spacing: 1.6px;
  color: #c8c8c8;
  pointer-events: none;
  z-index: 2;
  line-height: 1;
}
/* The Tokenex iframe defaults to display:inline with baseline gap and a
short 22px height. Force block + 38px to match the rest of the form's
input rhythm and stop the iframe from overflowing/clipping. */
body.OnePageCheckOut .well.checkout #CardNumber iframe,
body.OnePageCheckOut .well.checkout #DivCvv iframe {
  display: block !important;
  width: 100% !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

body.ProductDetails .LayoutContent,
body.ProductDetails .LayoutContentInner,
body.Category .LayoutContent,
body.Category .LayoutContentInner,
body.Search .LayoutContent,
body.Search .LayoutContent.col-sm-8,
body.Search .LayoutContent.col-md-9,
body.Search .LayoutContentInner,
body.ShoppingCart .LayoutContent,
body.ShoppingCart .LayoutContentInner,
body.CustomerLogin .LayoutContent,
body.CustomerLogin .LayoutContentInner,
body.NewCustomer .LayoutContent,
body.NewCustomer .LayoutContentInner,
body.OnePageCheckOut .LayoutContent,
body.OnePageCheckOut .LayoutContentInner {
  padding: 0 !important; width: 100% !important; float: none !important; background: transparent !important; border: none !important;
}
/* MyAccount + all sub-pages need full-width LayoutContent BUT with their
own page gutter so the sidebar doesn't flush against the viewport edge.
Width to 100%, padding is restored further below. */
body.MyAccount .LayoutContent,
body.MyAccount .LayoutContent.col-sm-8,
body.MyAccount .LayoutContent.col-sm-12,
body.MyAccount .LayoutContent.col-md-9,
body.MyAccount .LayoutContentInner,
body.EditLogin .LayoutContent,
body.EditLogin .LayoutContent.col-sm-8,
body.EditLogin .LayoutContent.col-sm-12,
body.EditLogin .LayoutContent.col-md-9,
body.EditLogin .LayoutContentInner,
body.ChangePassword .LayoutContent,
body.ChangePassword .LayoutContent.col-sm-12,
body.ChangePassword .LayoutContentInner,
body.Profile .LayoutContent,
body.Profile .LayoutContent.col-sm-12,
body.Profile .LayoutContentInner,
body.ProfileEdit .LayoutContent,
body.ProfileEdit .LayoutContent.col-sm-12,
body.ProfileEdit .LayoutContentInner,
body.PaymentMethod .LayoutContent,
body.PaymentMethod .LayoutContent.col-sm-12,
body.PaymentMethod .LayoutContent.col-sm-8,
body.PaymentMethod .LayoutContent.col-md-9,
body.PaymentMethod .LayoutContentInner,
body.BillingAddress .LayoutContent,
body.BillingAddress .LayoutContent.col-sm-12,
body.BillingAddress .LayoutContent.col-sm-8,
body.BillingAddress .LayoutContent.col-md-9,
body.BillingAddress .LayoutContentInner,
body.ShippingAddress .LayoutContent,
body.ShippingAddress .LayoutContent.col-sm-12,
body.ShippingAddress .LayoutContent.col-sm-8,
body.ShippingAddress .LayoutContent.col-md-9,
body.ShippingAddress .LayoutContentInner,
body.OrderList .LayoutContent,
body.OrderList .LayoutContent.col-sm-12,
body.OrderList .LayoutContent.col-sm-8,
body.OrderList .LayoutContent.col-md-9,
body.OrderList .LayoutContentInner,
body.OrderHistory .LayoutContent,
body.OrderHistory .LayoutContent.col-sm-12,
body.OrderHistory .LayoutContent.col-sm-8,
body.OrderHistory .LayoutContent.col-md-9,
body.OrderHistory .LayoutContentInner,
body.EditDetails .LayoutContent,
body.EditDetails .LayoutContent.col-sm-12,
body.EditDetails .LayoutContentInner {
  width: 100% !important; float: none !important; background: transparent !important; border: none !important;
}
/* Kill the LeftColumn / RightColumn widget panes that AmeriCommerce dumps
in (Recently Viewed, Great Deals, Categories) on account sub-pages
running the "Left Column" page layout. The actual class names are
.LayoutLeftColumn / .LayoutRightColumn (not .LayoutLeft). */
body.is-account .LayoutLeftColumn,
body.is-account .LayoutRightColumn,
body.is-account .LayoutLeft,
body.is-account .LayoutRight { display: none !important; }
/* Also make the main content take full width when the side columns
would have been 25%. */
body.is-account .LayoutContent.col-sm-8,
body.is-account .LayoutContent.col-md-9,
body.is-account aside.col-sm-3,
body.is-account aside.col-sm-4,
body.is-account aside.col-md-3 { display: block; }
/* Search page also has a Left/Right column with empty space (since our
SearchPage template empties them). Force them out so wolf-plp can use
the full row width. */
body.Search .LayoutLeft,
body.Search .LayoutRight,
body.Search .col-sm-3,
body.Search .col-md-3,
body.Search .col-sm-4 { display: none !important; }

/* Wolf wrappers — full-bleed canvas with same max-width as home */
.wolf-pdp, .wolf-plp, .wolf-cart, .wolf-auth {
  font-family: 'Inter', -apple-system, sans-serif;
  color: var(--text);
  background: var(--bg);
  min-height: 60vh;
  max-width: 1680px;
  margin: 0 auto;
  padding: 56px 32px 96px;
}

/* ================= PDP (NEW TEMPLATE) ================= */
.wolf-pdp .pdp-crumb {
  color: var(--text-3); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  margin-bottom: 24px;
}
.wolf-pdp .pdp-crumb a { color: var(--text-2); }
.wolf-pdp .pdp-crumb a:hover { color: var(--accent); }

.wolf-pdp .pdp-body {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.wolf-pdp .pdp-gallery-col { min-width: 0; }
.wolf-pdp .pdp-gallery {
  display: flex;
  gap: 16px;
  height: 100%;
  align-items: stretch;
}
.wolf-pdp .pdp-thumbs {
  flex: 0 0 96px; min-width: 0;
  display: flex; flex-direction: column; gap: 12px;
  list-style: none; padding: 0; margin: 0;
  max-height: 720px; overflow-y: auto;
}
.wolf-pdp .pdp-thumbs:empty { display: none; }
.wolf-pdp .pdp-main-img { flex: 1 1 auto; min-width: 0; }
.wolf-pdp .pdp-thumb {
  list-style: none;
}
.wolf-pdp .pdp-thumb a {
  display: block; aspect-ratio: 1/1; overflow: hidden;
  border: 2px solid var(--border); border-radius: 8px;
  background: #fff; transition: border-color .2s;
}
.wolf-pdp .pdp-thumb a:hover { border-color: var(--accent); }
.wolf-pdp .pdp-thumb img { width: 100%; height: 100%; object-fit: cover; }

.wolf-pdp .pdp-main-img {
  position: relative;
  background: #fff; border-radius: 16px; overflow: hidden;
  border: 1px solid var(--border);
  aspect-ratio: 1/1;
  display: flex; align-items: center; justify-content: center;
}
.wolf-pdp .pdp-main-img img,
.wolf-pdp .pdp-main-link,
.wolf-pdp .pdp-main-link img {
  display: block; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain;
  background: #fff;
}
.wolf-pdp .product-flag,
.wolf-plp .product-flag,
.wolf-home .product-flag {
  position: absolute !important; z-index: 5;
  width: auto !important; height: auto !important;
  transform: none !important; -webkit-transform: none !important;
  background: transparent !important; border: 0 !important;
  text-align: left !important; padding: 0 !important;
}
.wolf-pdp .product-flag span,
.wolf-plp .product-flag span,
.wolf-home .product-flag span {
  background: var(--accent) !important; color: #000 !important; padding: 5px 12px !important;
  font-size: 10px !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; font-weight: 700 !important;
  border-radius: 4px !important; display: inline-block !important;
  transform: none !important; -webkit-transform: none !important;
  width: auto !important; height: auto !important; line-height: 1.2 !important;
  position: static !important;
}
.wolf-pdp .product-flag.left.top, .wolf-plp .product-flag.left.top, .wolf-home .product-flag.left.top { left: 16px !important; top: 16px !important; right: auto !important; bottom: auto !important; }
.wolf-pdp .product-flag.right.top, .wolf-plp .product-flag.right.top, .wolf-home .product-flag.right.top { right: 16px !important; top: 16px !important; left: auto !important; bottom: auto !important; }
.wolf-pdp .product-flag.left.bottom, .wolf-plp .product-flag.left.bottom, .wolf-home .product-flag.left.bottom { left: 16px !important; bottom: 16px !important; right: auto !important; top: auto !important; }
.wolf-pdp .product-flag.right.bottom, .wolf-plp .product-flag.right.bottom, .wolf-home .product-flag.right.bottom { right: 16px !important; bottom: 16px !important; left: auto !important; top: auto !important; }

.wolf-pdp .pdp-info { padding-top: 8px; }
.wolf-pdp .pdp-info .pdp-title {
  font-family: 'Inter', sans-serif !important; color: var(--text) !important;
  font-size: clamp(28px, 3.4vw, 44px); font-weight: 800; letter-spacing: -0.02em;
  line-height: 1.1; margin: 0 0 16px;
}
.wolf-pdp .pdp-rating {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
  color: var(--text-2); font-size: 14px; margin-bottom: 12px;
}
.wolf-pdp .pdp-rating .stars { color: var(--accent); letter-spacing: 2px; }
.wolf-pdp .pdp-rating a { color: var(--accent); }
.wolf-pdp .pdp-rating-empty { color: var(--text-3); }

.wolf-pdp .pdp-stock {
  color: var(--success); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: 24px;
}

.wolf-pdp .pdp-pricing { margin-bottom: 28px; }
.wolf-pdp .pdp-pricing .pdp-price {
  color: var(--accent) !important; font-size: 38px; font-weight: 800; line-height: 1;
}
.wolf-pdp .pdp-pricing .pdp-was-price { color: var(--text-3); font-size: 14px; min-height: 0; }
.wolf-pdp .pdp-pricing .pdp-was-price del { color: var(--text-3); }
.wolf-pdp .pdp-pricing .pdp-yousave { color: var(--accent); font-size: 13px; margin-top: 4px; }
.wolf-pdp .pdp-pricing .pdp-promo,
.wolf-pdp .pdp-pricing .pdp-discounts,
.wolf-pdp .pdp-pricing .pdp-rewards,
.wolf-pdp .pdp-pricing .pdp-map { color: var(--text-2); font-size: 13px; margin-top: 6px; }

.wolf-pdp .pdp-bullets {
  list-style: none; padding: 0; margin: 0 0 24px;
  display: flex; flex-direction: column; gap: 8px;
  color: var(--text-2);
}
.wolf-pdp .pdp-bullets li::before { content: "—  "; color: var(--accent); }

.wolf-pdp .pdp-variations { margin-bottom: 28px; }
.wolf-pdp .pdp-variant-row { margin-bottom: 18px; }
.wolf-pdp .pdp-variant-label {
  display: block; color: var(--text-2); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; font-weight: 700; margin-bottom: 8px;
}
.wolf-pdp .pdp-variant-label .PersonalizationQuestion {
  color: var(--text);
  font-size: 14px;
  font-weight: 800;
}
.wolf-pdp .pdp-variant-label .RequiredStar { color: var(--accent); margin-left: 2px; }
.wolf-pdp .pdp-variant-controls { color: var(--text); }
/* PDP variant dropdown: AmeriCommerce renders the option <select> with an oversized
font (the native popup then shows giant options). The theme's plain 14px loses to
the platform rule, so pin the control + its options to a normal size with !important. */
.wolf-pdp .pdp-variant-controls select,
.wolf-pdp .pdp-variant-controls select option,
.pdp-variant-controls select,
.pdp-variant-controls select option {
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-family: 'Inter', sans-serif !important;
}
/* AmeriCommerce sizes the variant <select> to its content (~80px), so the native
menu pops off a tiny box and looks detached. Make it fill the column under the
label — the open menu then reads as anchored to a real, aligned field. */
.wolf-pdp .pdp-variant-controls select,
.pdp-variant-controls select {
  width: 100% !important;
  max-width: 100% !important;
}
/* Custom on-brand variant dropdown (built by js/product-page.js). Replaces the native
<select> popup — which the OS draws off-brand and slightly offset — with a panel that
lines up exactly with the field/label. The JS hides the native select but proxies it
(value + change), so AmeriCommerce variant/cart logic is untouched; if the JS never
runs, the native select above is the graceful fallback. */
.wolf-pdp .wf-csel { position: relative; width: 100%; font-family: 'Inter', sans-serif; }
.wolf-pdp .wf-csel-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; background: var(--surface); border: 1px solid var(--border-strong); color: var(--text); border-radius: 6px; padding: 10px 14px; font-size: 14px; line-height: 1.5; cursor: pointer; text-align: left; }
.wolf-pdp .wf-csel-val { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wolf-pdp .wf-csel-trigger svg { width: 14px; height: 14px; flex: 0 0 auto; stroke: var(--text-2); transition: transform .15s ease; }
.wolf-pdp .wf-csel.open .wf-csel-trigger { border-color: var(--accent); }
.wolf-pdp .wf-csel.open .wf-csel-trigger svg { transform: rotate(180deg); }
.wolf-pdp .wf-csel-panel { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 60; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 6px; box-shadow: 0 10px 28px rgba(0,0,0,.55); overflow: hidden; overflow-y: auto; max-height: 280px; display: none; }
.wolf-pdp .wf-csel.open .wf-csel-panel { display: block; }
.wolf-pdp .wf-csel-opt { padding: 10px 14px; font-size: 14px; line-height: 1.5; color: var(--text); cursor: pointer; display: flex; align-items: center; gap: 8px; }
.wolf-pdp .wf-csel-opt:hover { background: var(--surface-2); }
.wolf-pdp .wf-csel-opt.sel { color: var(--accent); }
.wolf-pdp .wf-csel-opt .chk { width: 14px; flex: 0 0 auto; text-align: center; color: var(--accent); }
.wolf-pdp .pdp-variant-swatches { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
.wolf-pdp .pdp-variant-update,
.wolf-pdp .pdp-variant-detail { font-size: 13px; color: var(--accent); margin-top: 8px; }

.wolf-pdp .pdp-warranty { color: var(--text-2); margin-bottom: 12px; font-size: 13px; }
.wolf-pdp .pdp-actions { margin-bottom: 32px; }
.wolf-pdp .pdp-qty {
  display: flex; align-items: center; gap: 12px; margin-bottom: 14px;
}
.wolf-pdp .pdp-qty-label { color: var(--text-2); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; }
.wolf-pdp .pdp-qty-input { display: inline-flex; align-items: center; }
.wolf-pdp .pdp-qty-input input {
  background: var(--surface) !important; border: 1px solid var(--border-strong) !important;
  color: var(--text) !important; border-radius: 6px !important;
  width: 60px; padding: 8px 10px; text-align: center;
}
.wolf-pdp .pdp-cta-row {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.wolf-pdp .pdp-cta-row input.ProductDetailsAddToCartButton,
.wolf-pdp .pdp-cta-row input.AddToCartThemeButton,
.wolf-pdp .pdp-cta-row input[type="submit"] {
  flex: 1; min-width: 200px;
  padding: 18px 32px !important; font-size: 13px !important;
  border-radius: 999px !important;
  background: var(--accent) !important; color: #000 !important;
  border: none !important; font-weight: 700 !important;
  letter-spacing: 0.1em; text-transform: uppercase;
}
.wolf-pdp .pdp-cta-row input.ProductDetailsAddToCartButton:hover,
.wolf-pdp .pdp-cta-row input.AddToCartThemeButton:hover { background: var(--accent-2) !important; }
.wolf-pdp .pdp-wishlist { margin-top: 12px; }
.wolf-pdp .pdp-wishlist input,
.wolf-pdp .pdp-wishlist a {
  width: 100%; display: inline-flex; justify-content: center; align-items: center;
  background: transparent !important; border: 1px solid var(--border-strong) !important;
  color: var(--text) !important; border-radius: 999px !important; padding: 14px 24px !important;
  font-size: 12px !important; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600;
}
.wolf-pdp .pdp-wishlist input:hover,
.wolf-pdp .pdp-wishlist a:hover { border-color: var(--accent) !important; color: var(--accent) !important; }
.wolf-pdp .pdp-shipping-link { margin-top: 14px; font-size: 13px; }
.wolf-pdp .pdp-shipping-link a { color: var(--accent); text-decoration: underline; }

.wolf-pdp .pdp-features {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;
  padding-top: 24px; border-top: 1px solid var(--border);
}
.wolf-pdp .feature {
  display: flex; align-items: flex-start; gap: 12px;
  color: var(--text-2);
}
.wolf-pdp .feature-icon { flex-shrink: 0; width: 24px; height: 24px; color: var(--accent); }
.wolf-pdp .feature-text { display: flex; flex-direction: column; font-size: 13px; line-height: 1.4; }
.wolf-pdp .feature-text strong { color: var(--text); font-weight: 700; }
/* Apparel/accessories PDPs (breadcrumb links to the Infinity Apparel & Accessories
category, /infinity-logo-items.aspx) aren't hand-fit match-grade gun parts — drop
those two badges there, keep Ships Fast + Free Shipping. CSS-only via :has(); if a
browser lacks :has() it just shows all four (the original behavior). */
body:has(.pdp-crumb a[href*="infinity-logo-items.aspx"]) .wolf-pdp .pdp-features .feature:nth-child(1),
body:has(.pdp-crumb a[href*="infinity-logo-items.aspx"]) .wolf-pdp .pdp-features .feature:nth-child(2) {
  display: none !important;
}

.wolf-pdp .pdp-social { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--border); }

.wolf-pdp .pdp-section { margin-top: 56px; padding: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; }
.wolf-pdp .pdp-section table { color: var(--text); }
.wolf-pdp .pdp-section table th { color: var(--text-2); text-transform: uppercase; font-size: 12px; letter-spacing: 0.08em; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.wolf-pdp .pdp-section table td { padding: 12px 14px; border-bottom: 1px solid var(--border); }

.wolf-pdp .pdp-details {
  margin-top: 80px; padding-top: 56px; border-top: 1px solid var(--border);
}
.wolf-pdp .pdp-details .section-head { margin-bottom: 32px; }
.wolf-pdp .pdp-details .section-eyebrow { color: var(--text-3); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 8px; }
.wolf-pdp .pdp-details .section-title {
  font-family: 'Inter', sans-serif !important; color: var(--text) !important;
  font-size: clamp(32px, 4vw, 56px); font-weight: 800; letter-spacing: -0.02em; line-height: 1;
}

.wolf-pdp .pdp-tabs { border-bottom: 1px solid var(--border); margin-bottom: 24px; padding-left: 0; }
.wolf-pdp .pdp-tabs li { list-style: none; display: inline-block; }
.wolf-pdp .pdp-tabs li a {
  display: inline-block; padding: 14px 24px; color: var(--text-2) !important;
  border-bottom: 2px solid transparent; transition: all .15s;
  text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; font-size: 12px;
}
.wolf-pdp .pdp-tabs li a:hover { color: var(--text) !important; border-bottom-color: var(--border-strong); }
.wolf-pdp .pdp-tabs li.active a,
.wolf-pdp .pdp-tabs li a.active { color: var(--accent) !important; border-bottom-color: var(--accent); }
.wolf-pdp .pdp-tab-content {
  color: var(--text-2); font-size: 16px; line-height: 1.8; padding: 24px 0;
}
.wolf-pdp .pdp-tab-content h3 { color: var(--text); margin: 24px 0 12px; }
.wolf-pdp .pdp-tab-content p { color: var(--text-2); margin-bottom: 14px; }
.wolf-pdp .pdp-tab-content table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.wolf-pdp .pdp-tab-content table td { padding: 10px 14px; border-bottom: 1px solid var(--border); color: var(--text-2); }
.wolf-pdp .pdp-tab-content table tr td:first-child { color: var(--text-3); text-transform: uppercase; font-size: 11px; letter-spacing: 0.1em; font-weight: 700; width: 35%; }

.wolf-pdp .pdp-desc-stack { color: var(--text-2); font-size: 16px; line-height: 1.8; }
.wolf-pdp .pdp-desc-block { margin-bottom: 32px; }
.wolf-pdp .pdp-desc-block h3 { color: var(--text); margin-bottom: 12px; font-size: 18px; }

.wolf-pdp .pdp-reviews-summary { padding: 18px 0; border-bottom: 1px solid var(--border); margin-bottom: 24px; color: var(--text-2); }
.wolf-pdp .pdp-reviews-actions { margin-top: 10px; display: flex; gap: 16px; }
.wolf-pdp .pdp-reviews-actions a { color: var(--accent); }
.wolf-pdp .pdp-reviews-list { display: flex; flex-direction: column; gap: 24px; }
.wolf-pdp .pdp-review {
  padding: 20px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px;
}
.wolf-pdp .pdp-review-head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.wolf-pdp .pdp-review-author { color: var(--text); font-weight: 700; }
.wolf-pdp .pdp-review-loc, .wolf-pdp .pdp-review-date { color: var(--text-3); font-size: 12px; }
.wolf-pdp .pdp-review-title { color: var(--text); margin: 8px 0; font-size: 16px; }
.wolf-pdp .pdp-review-stars { color: var(--accent); margin-bottom: 8px; }
.wolf-pdp .pdp-review-body {
  color: var(--text-2); font-style: normal; border-left: 3px solid var(--accent); padding-left: 14px; margin: 8px 0 0;
}

.wolf-pdp-recent { margin-top: 80px; padding-top: 56px; border-top: 1px solid var(--border); }
.wolf-pdp-recent .product-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 24px;
}
/* AmeriCommerce wraps $$HEADER$$ in a .ControlHeader div with default styling — strip it */
.wolf-pdp-recent .section-title .ControlHeader,
.wolf-pdp-recent .section-title [class*="ControlHeader"] {
  background: transparent !important; padding: 0 !important; border: 0 !important;
  color: inherit !important; font: inherit !important; display: inline !important;
  margin: 0 !important; border-radius: 0 !important;
}
.wolf-pdp-recent .product-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
  overflow: hidden; transition: transform .25s, border-color .25s; display: block;
}
.wolf-pdp-recent .product-card:hover { transform: translateY(-4px); border-color: var(--accent); }
.wolf-pdp-recent .product-card .product-img-link { display: block; text-decoration: none; }
.wolf-pdp-recent .product-card .product-img {
  position: relative; aspect-ratio: 1/1; background: #fff; overflow: hidden;
}
.wolf-pdp-recent .product-card .product-img img {
  position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; background: #fff; border: none !important;
}
.wolf-pdp-recent .product-card .product-info { padding: 14px; }
.wolf-pdp-recent .product-card .product-name a {
  color: var(--text) !important; text-decoration: none; font-weight: 600; font-size: 14px; line-height: 1.3;
}
.wolf-pdp-recent .product-card .product-name a:hover { color: var(--accent) !important; }
.wolf-pdp-recent .product-card .product-price { color: var(--accent) !important; font-weight: 700; font-size: 15px; margin-top: 6px; }

@media (max-width: 1024px) {
  .wolf-pdp .pdp-body { grid-template-columns: 1fr; gap: 32px; }
  .wolf-pdp-recent .product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .wolf-pdp { padding: 24px 16px 64px; }
  .wolf-pdp .pdp-gallery { flex-direction: column-reverse; }
  .wolf-pdp .pdp-thumbs { flex-direction: row; max-height: none; overflow-x: auto; flex: 0 0 auto; }
  .wolf-pdp .pdp-thumb a { width: 64px; height: 64px; }
  .wolf-pdp .pdp-features { grid-template-columns: 1fr; }
}

/* ================= PLP (NEW TEMPLATE) ================= */
.wolf-plp .plp-hero {
  /* No blue→black gradient band — sits flat on the page bg (cleaner). Overrides the
  base .plp-hero { background: linear-gradient(...) } rule. */
  background: none;
  padding: 56px 0 32px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 32px;
}
.wolf-plp .plp-hero-inner { max-width: 800px; }
.wolf-plp .plp-breadcrumb {
  background: transparent; padding: 0; margin: 0 0 16px;
  color: var(--text-3); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
}
.wolf-plp .plp-breadcrumb a { color: var(--text-2); }
.wolf-plp .plp-breadcrumb a:hover { color: var(--accent); }
.wolf-plp .plp-title.CategoryCategoryName,
.wolf-plp .plp-title {
  font-family: 'Inter', sans-serif !important; color: var(--text) !important;
  font-size: clamp(36px, 5.5vw, 72px); font-weight: 900; letter-spacing: -0.03em;
  line-height: 1; margin: 0 0 12px; text-transform: uppercase;
}
.wolf-plp .plp-count {
  color: var(--text-2); font-size: 14px; margin: 0;
}
.wolf-plp .plp-hero-desc { color: var(--text-2); font-size: 15px; margin-top: 12px; }

.wolf-plp .plp-body {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}
.wolf-plp .plp-sidebar .filter-section { margin-bottom: 32px; }
.wolf-plp .plp-sidebar .filter-title {
  color: var(--text-3); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  font-weight: 700; padding-bottom: 12px; border-bottom: 1px solid var(--border); margin-bottom: 14px;
}
.wolf-plp .plp-cat-list,
.wolf-plp .plp-child-cats {
  list-style: none !important; padding: 0 !important; margin: 0 !important;
  display: flex; flex-direction: column; gap: 0;
}
.wolf-plp .plp-cat-list li,
.wolf-plp .plp-child-cats li {
  background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important;
  list-style: none !important; list-style-type: none !important;
}
.wolf-plp .plp-cat-list li::marker,
.wolf-plp .plp-child-cats li::marker { content: ""; }
.wolf-plp .plp-cat-list li a,
.wolf-plp .plp-child-cats li a {
  display: block; padding: 8px 0; color: var(--text-2) !important; font-size: 14px; font-weight: 500;
  letter-spacing: 0; text-transform: none; border-radius: 0; background: transparent !important;
  border: none !important; transition: color .15s ease, padding .15s ease;
  text-decoration: none;
}
.wolf-plp .plp-cat-list li a:hover,
.wolf-plp .plp-child-cats li a:hover { color: var(--accent) !important; padding-left: 6px; }

.wolf-plp .plp-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 14px 16px; background: var(--surface); border-radius: 10px;
  margin-bottom: 24px; flex-wrap: wrap;
}
.wolf-plp .plp-result-meta { color: var(--text-2); font-size: 14px; flex: 1; }
.wolf-plp .plp-toolbar-controls { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.wolf-plp .plp-toolbar-controls select,
.wolf-plp .plp-toolbar-controls .plp-sort select,
.wolf-plp .plp-toolbar-controls .plp-pagesize select {
  background: var(--surface-2) !important; border: 1px solid var(--border-strong) !important;
  color: var(--text) !important; border-radius: 8px !important; padding: 8px 32px 8px 14px !important;
  font-size: 13px;
}

.wolf-plp .plp-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.wolf-plp .product-card.category-product {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden; transition: transform .25s, border-color .25s;
  display: block; text-decoration: none; color: inherit;
}
.wolf-plp .product-card.category-product:hover { transform: translateY(-4px); border-color: var(--accent); }
.wolf-plp .product-card.category-product .product-img-link {
  display: block; text-decoration: none;
}
.wolf-plp .product-card.category-product .product-img {
  position: relative; aspect-ratio: 1/1; background: #fff; overflow: hidden;
}
.wolf-plp .product-card.category-product .product-img img,
.wolf-plp .product-card.category-product .product-img .CategoryProductThumbnail {
  position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; background: #fff; border: none !important;
}
.wolf-plp .product-card .product-name a { color: var(--text) !important; text-decoration: none; }
.wolf-plp .product-card .product-name a:hover { color: var(--accent) !important; }
.wolf-plp .product-card.category-product .quick-view-btn {
  position: absolute; bottom: 8px; right: 8px;
  background: rgba(0,0,0,0.8); color: var(--text); border: 1px solid var(--border-strong);
  padding: 6px 12px; border-radius: 999px; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
  opacity: 0; transition: opacity .15s; cursor: pointer;
}
.wolf-plp .product-card.category-product:hover .quick-view-btn { opacity: 1; }
.wolf-plp .product-card .product-flag { position: absolute; z-index: 5; }
.wolf-plp .product-card .product-flag span { background: var(--accent); color: #000; padding: 4px 10px; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; border-radius: 4px; display: inline-block; }
.wolf-plp .product-card .product-flag.left.top { left: 12px; top: 12px; }
.wolf-plp .product-card .product-flag.right.top { right: 12px; top: 12px; }
.wolf-plp .product-card .product-flag.left.bottom { left: 12px; bottom: 12px; }
.wolf-plp .product-card .product-flag.right.bottom { right: 12px; bottom: 12px; }
.wolf-plp .product-card .product-info { padding: 16px; text-align: left; }
.wolf-plp .product-card .product-cat { color: var(--text-3); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; margin-bottom: 6px; }
.wolf-plp .product-card .product-cat a { color: var(--text-3) !important; }
.wolf-plp .product-card .product-name { color: var(--text); font-size: 15px; font-weight: 600; line-height: 1.3; margin-bottom: 8px; }
.wolf-plp .product-card .product-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wolf-plp .product-card .product-price-stack { display: flex; flex-direction: column; gap: 2px; }
.wolf-plp .product-card .product-price { color: var(--accent); font-weight: 700; font-size: 16px; }
.wolf-plp .product-card .product-was { color: var(--text-3); font-size: 12px; }
.wolf-plp .product-card .product-rating { color: var(--accent); font-size: 12px; margin-top: 4px; }
.wolf-plp .product-card .product-rating-count { color: var(--text-3); }
.wolf-plp .product-card .product-availability { color: var(--success); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; margin-top: 6px; }
.wolf-plp .product-card .CategoryProductAddToCart { display: none; } /* hide inline AddToCart on card; users go to PDP */

.wolf-plp .plp-paging { display: flex; justify-content: center; gap: 16px; margin-top: 48px; flex-direction: column; align-items: center; }
.wolf-plp .plp-paging .pagination { background: var(--surface); border-radius: 999px; padding: 6px; gap: 4px; display: flex; }
.wolf-plp .plp-paging .pagination li { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important; }
.wolf-plp .plp-paging .pagination li a,
.wolf-plp .plp-paging .pagination li span { padding: 8px 14px !important; border-radius: 999px !important; background: transparent !important; border: none !important; color: var(--text-2) !important; }
.wolf-plp .plp-paging .pagination li a:hover { color: var(--accent) !important; background: var(--surface-2) !important; }
.wolf-plp .plp-paging .pagination li.active a,
.wolf-plp .plp-paging .pagination li.active span { background: var(--accent) !important; color: #000 !important; }
.wolf-plp .plp-page-info { color: var(--text-3); font-size: 13px; }

@media (max-width: 1100px) {
  .wolf-plp .plp-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .wolf-plp { padding: 24px 16px 64px; }
  .wolf-plp .plp-body { grid-template-columns: 1fr; gap: 24px; }
  .wolf-plp .plp-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  /* full-bleed the hero so its bottom divider runs edge-to-edge, matching the
  full-width category rail/divider below it; title text stays at the 16px gutter */
  .wolf-plp .plp-hero { padding: 24px 16px 16px; margin-left: -16px; margin-right: -16px; }
}
@media (max-width: 480px) {
  .wolf-plp .plp-grid { grid-template-columns: 1fr; }
}

/* ================= CART (NEW TEMPLATE) ================= */
.wolf-cart .cart-header { padding-bottom: 24px; border-bottom: 1px solid var(--border); margin-bottom: 32px; }
.wolf-cart .cart-eyebrow { color: var(--text-3); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 8px; }
.wolf-cart .cart-title {
  font-family: 'Inter', sans-serif !important; color: var(--text) !important;
  font-size: clamp(32px, 5vw, 56px); font-weight: 900; letter-spacing: -0.02em; line-height: 1; margin: 0 0 8px;
}
.wolf-cart .cart-meta { color: var(--text-2); font-size: 14px; }

.wolf-cart .cart-grid {
  display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: start;
}
.wolf-cart .cart-messages,
.wolf-cart .cart-messages > div { padding: 0; background: transparent !important; border: 0 !important; margin: 0; }
.wolf-cart .cart-messages > div:has(*) {
  padding: 14px; background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: 8px; margin-bottom: 12px;
}
.wolf-cart .cart-messages .ShoppingCartError:has(*) { color: var(--danger); border-color: var(--danger) !important; background: rgba(239, 68, 68, 0.08) !important; }

.wolf-cart .cart-items { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 8px 16px; }
.wolf-cart .cart-table { width: 100%; border-collapse: collapse; }
.wolf-cart .cart-table thead tr { border-bottom: 1px solid var(--border); }
.wolf-cart .cart-table th { padding: 16px 12px; text-align: left; color: var(--text-3); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; }
.wolf-cart .cart-table .cart-row { border-bottom: 1px solid var(--border); }
.wolf-cart .cart-table .cart-row:last-child { border-bottom: none; }
.wolf-cart .cart-table td { padding: 18px 12px; vertical-align: top; color: var(--text); font-size: 14px; }
.wolf-cart .cart-thumb-cell { width: 100px; }
.wolf-cart .cart-thumb { display: block; width: 90px; aspect-ratio: 1/1; background: #fff; border-radius: 8px; overflow: hidden; }
.wolf-cart .cart-thumb img { width: 100%; height: 100%; object-fit: cover; }
.wolf-cart .cart-info-cell { min-width: 200px; }
.wolf-cart .cart-item-name a { color: var(--text) !important; font-weight: 700; font-size: 15px; line-height: 1.3; }
.wolf-cart .cart-item-name a:hover { color: var(--accent) !important; }
.wolf-cart .cart-item-meta { color: var(--text-3); font-size: 12px; margin: 6px 0; line-height: 1.5; }
.wolf-cart .cart-item-meta div { margin: 2px 0; }
.wolf-cart .cart-item-actions { margin-top: 10px; font-size: 12px; }
.wolf-cart .cart-item-actions a { color: var(--text-2) !important; margin-right: 14px; letter-spacing: 0.04em; }
.wolf-cart .cart-item-actions a:hover { color: var(--danger) !important; }
.wolf-cart .cart-item-wishlist { margin-top: 8px; }
.wolf-cart .cart-cell-center { text-align: center; }
.wolf-cart .cart-price-cell, .wolf-cart .cart-total-cell { white-space: nowrap; }
.wolf-cart .cart-was-price del { color: var(--text-3); font-size: 12px; }
.wolf-cart .cart-price { color: var(--text); font-weight: 600; }
.wolf-cart .cart-line-total { color: var(--accent); font-weight: 700; font-size: 16px; }
.wolf-cart .cart-qty-cell .qty-wrapper { display: inline-flex; align-items: center; gap: 6px; }
.wolf-cart .cart-qty-cell input { width: 56px !important; text-align: center; }
.wolf-cart .cart-qty-cell .UpdateButton input { padding: 6px 12px !important; font-size: 11px !important; }

.wolf-cart .cart-button-controls { padding: 18px 0; }
.wolf-cart .cart-button-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.wolf-cart .cart-button-row input,
.wolf-cart .cart-button-row a {
  background: transparent !important; border: 1px solid var(--border-strong) !important; color: var(--text) !important;
  padding: 10px 18px !important; border-radius: 999px !important; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600;
  text-decoration: none !important; display: inline-block;
}
/* Hide the EmailCart button completely — it renders as an empty ghost pill
when no email recipient is set. Using !important and a more specific
selector so the AmeriCommerce wrapper can't reveal it. */
.wolf-cart .cart-button-row .EmailCartButton,
.wolf-cart .cart-button-row span.EmailCartButton { display: none !important; }

.wolf-cart .cart-summary { position: sticky; top: 24px; }
.wolf-cart .cart-summary-box { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 24px; }
.wolf-cart .cart-summary-title { color: var(--text); font-size: 18px; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.wolf-cart .cart-summary-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 8px 0; color: var(--text-2); font-size: 14px; }
.wolf-cart .cart-summary-row strong { color: var(--text); font-weight: 700; }
.wolf-cart .cart-summary-section-title { color: var(--text-3); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin: 14px 0 8px; }
.wolf-cart .cart-shipping-block, .wolf-cart .cart-shipping-inline { padding: 8px 0; border-top: 1px solid var(--border); margin-top: 12px; }
.wolf-cart .cart-shipping-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.wolf-cart .cart-shipping-field label { color: var(--text-3); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.wolf-cart .cart-coupon { padding: 14px 0; border-top: 1px solid var(--border); margin-top: 12px; }
.wolf-cart .cart-coupon-toggle { color: var(--text); font-size: 14px; font-weight: 600; cursor: pointer; margin: 0 0 6px; }
.wolf-cart .cart-coupon-toggle .expand { color: var(--accent); margin-right: 6px; }
.wolf-cart .cart-coupon .CouponMsg { font-size: 12px; color: var(--text-3); margin-bottom: 8px; }
.wolf-cart .cart-coupon .CouponEntry { display: flex; gap: 8px; align-items: center; }
.wolf-cart .cart-summary-total { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0; border-top: 1px solid var(--border); margin-top: 12px; }
.wolf-cart .cart-summary-total span { color: var(--text); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; }
.wolf-cart .cart-grand-total { color: var(--accent) !important; font-size: 28px; font-weight: 800; line-height: 1; }
.wolf-cart .cart-checkout-cta { margin-top: 18px; }
.wolf-cart .cart-checkout-cta input,
.wolf-cart .cart-checkout-cta a {
  display: block; width: 100%; padding: 18px 24px !important;
  background: var(--accent) !important; color: #000 !important; border: none !important;
  border-radius: 999px !important; font-size: 13px !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: 0.1em; text-align: center; text-decoration: none !important;
}
.wolf-cart .cart-checkout-cta input:hover, .wolf-cart .cart-checkout-cta a:hover { background: var(--accent-2) !important; }
.wolf-cart .cart-pay-with { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border); text-align: center; }
.wolf-cart .cart-pay-with-label { color: var(--text-3); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 8px; }
.wolf-cart .cart-pay-with img { display: inline-block; max-height: 24px; margin: 4px; filter: brightness(1) saturate(0.9); }
.wolf-cart .cart-pay-promo { font-size: 12px; color: var(--text-3); margin: 8px 0; }

.wolf-cart .cart-empty { padding: 48px 0; text-align: center; }
.wolf-cart .cart-empty:not(:empty) { color: var(--text-2); }

.wolf-cart .cart-saved { margin-top: 64px; padding-top: 32px; border-top: 1px solid var(--border); }
.wolf-cart .cart-saved-table { width: 100%; }
.wolf-cart .cart-saved-row { display: grid; grid-template-columns: 100px minmax(0, 1fr) 160px; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--border); }
.wolf-cart .cart-saved-row td { display: block; padding: 0; }
.wolf-cart .cart-saved-thumb .cart-thumb { width: 80px; }
.wolf-cart .cart-saved-info { color: var(--text); }
.wolf-cart .cart-saved-actions { font-size: 12px; color: var(--text-2); margin-top: 6px; }
.wolf-cart .cart-saved-actions a { color: var(--text-2) !important; }
.wolf-cart .cart-saved-actions a:hover { color: var(--accent) !important; }
.wolf-cart .cart-saved-price { text-align: right; }
.wolf-cart .cart-saved-qty { color: var(--text-3); font-size: 13px; }

@media (max-width: 1024px) {
  .wolf-cart .cart-grid { grid-template-columns: 1fr; }
  .wolf-cart .cart-summary { position: static; }
}
@media (max-width: 768px) {
  .wolf-cart { padding: 24px 16px 64px; }
  .wolf-cart .cart-table { border-collapse: separate !important; border-spacing: 0 12px !important; }
  .wolf-cart .cart-table thead { display: none; }
  /* v46 — each cart row is a polished dark card with thumb on the left,
  title/SKU/variant on the right, and labeled UNIT PRICE / QUANTITY /
  SUBTOTAL rows underneath. */
  .wolf-cart .cart-row {
    background: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 14px !important;
    padding: 16px !important;
    display: grid !important;
    grid-template-columns: 96px 1fr;
    grid-template-rows: auto auto auto auto auto;
    column-gap: 16px;
    row-gap: 0;
    align-items: start;
  }
  .wolf-cart .cart-row td { padding: 0 !important; display: block !important; min-width: 0 !important; border: 0 !important; }
  .wolf-cart .cart-info-cell { min-width: 0; }
  .wolf-cart .cart-thumb-cell { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
  .wolf-cart .cart-info-cell  { grid-column: 2; grid-row: 1; }
  .wolf-cart .cart-thumb img,
  .wolf-cart .cart-thumb-cell img {
    width: 96px !important; height: 96px !important; max-width: 96px !important;
    object-fit: cover; border-radius: 10px;
    background: #050505; border: 1px solid #161616;
  }
  .wolf-cart .cart-item-name a { font-size: 17px !important; font-weight: 700; line-height: 1.2; color: #fff !important; }
  .wolf-cart .cart-item-meta { margin-top: 4px; font-size: 12px; color: #888; line-height: 1.4; }
  .wolf-cart .cart-item-meta .ItemNumber span { color: #777; letter-spacing: 0.06em; text-transform: uppercase; font-size: 11px; }
  .wolf-cart .cart-item-meta .ShoppingCartVariations,
  .wolf-cart .cart-item-meta .ShoppingCartVariations td { color: #aaa; font-size: 12px; padding: 0; background: transparent; }
  .wolf-cart .cart-item-actions { margin-top: 8px; }
  .wolf-cart .RemoveFromCartLink {
    font-size: 11px !important; letter-spacing: 0.1em; text-transform: uppercase;
    color: #888 !important; text-decoration: underline;
  }
  .wolf-cart .cart-item-wishlist { margin-top: 10px; }
  .wolf-cart .cart-item-wishlist input.MoveToWishListThemeButton,
  .wolf-cart .cart-item-wishlist .btn {
    width: auto !important; display: inline-block !important;
    padding: 6px 14px !important; font-size: 11px !important;
    letter-spacing: 0.1em !important; border-radius: 999px !important;
    background: transparent !important; color: #ccc !important; border: 1px solid #2a2a2a !important;
  }
  /* v47 — Price / Qty / Subtotal: full-width labeled rows below thumb+info.
  Note: td.classname (0,3,1) needed to beat .wolf-cart .cart-row td (0,2,1)
  specificity so display:flex actually wins over our generic td block rule. */
  .wolf-cart .cart-row td.cart-price-cell,
  .wolf-cart .cart-row td.cart-qty-cell,
  .wolf-cart .cart-row td.cart-total-cell {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-top: 1px solid #161616 !important;
    text-align: right !important;
    grid-column: 1 / -1 !important;
  }
  .wolf-cart .cart-row td.cart-price-cell { grid-row: 3 !important; margin-top: 14px !important; }
  .wolf-cart .cart-row td.cart-qty-cell   { grid-row: 4 !important; }
  .wolf-cart .cart-row td.cart-total-cell { grid-row: 5 !important; }
  .wolf-cart .cart-row td.cart-price-cell .cart-was-price { display: none !important; }
  .wolf-cart .cart-row td.cart-price-cell::before,
  .wolf-cart .cart-row td.cart-qty-cell::before,
  .wolf-cart .cart-row td.cart-total-cell::before {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
    color: #777 !important;
    font-weight: 600 !important;
    flex: 0 0 auto !important;
  }
  .wolf-cart .cart-row td.cart-price-cell::before { content: "UNIT PRICE" !important; }
  .wolf-cart .cart-row td.cart-qty-cell::before   { content: "QUANTITY" !important; }
  .wolf-cart .cart-row td.cart-total-cell::before { content: "SUBTOTAL" !important; }
  .wolf-cart .cart-row td.cart-price-cell .cart-price { color: #ccc !important; font-size: 14px !important; flex: 0 0 auto !important; }
  .wolf-cart .cart-row td.cart-total-cell { color: var(--accent) !important; }
  .wolf-cart .cart-row td.cart-total-cell .ShoppingCartItemTotalDollars,
  .wolf-cart .cart-row td.cart-total-cell .ShoppingCartItemTotalCents,
  .wolf-cart .cart-row td.cart-total-cell > span { font-size: 20px !important; font-weight: 700 !important; color: var(--accent) !important; }
  /* QTY wrapper: inline-block + nowrap keeps qty input + UPDATE on one line.
  The cart.com chevron arrows are absolutely positioned at left:100% and
  overflow the card on mobile, so hide them — users type a number and tap UPDATE. */
  .wolf-cart .cart-row td.cart-qty-cell .qty-wrapper {
    display: inline-block !important;
    white-space: nowrap !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }
  .wolf-cart .cart-row td.cart-qty-cell .qty-spinner {
    display: inline-block !important;
    vertical-align: middle !important;
    padding-right: 0 !important;
    margin: 0 !important;
    position: relative !important;
  }
  .wolf-cart .cart-row td.cart-qty-cell .qty-spinner input {
    width: 52px !important; height: 38px !important;
    text-align: center !important; padding: 0 !important;
    background: #050505 !important; border: 1px solid #1a1a1a !important;
    color: #fff !important; border-radius: 8px !important;
  }
  .wolf-cart .cart-row td.cart-qty-cell .qty-spinner .icon-chevron-up,
  .wolf-cart .cart-row td.cart-qty-cell .qty-spinner .icon-chevron-down { display: none !important; }
  .wolf-cart .cart-row td.cart-qty-cell .UpdateButton {
    display: inline-block !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
    flex: 0 0 auto !important;
  }
  .wolf-cart .cart-row td.cart-qty-cell .UpdateButton a {
    display: inline-block !important;
    padding: 9px 16px !important;
    font-size: 11px !important; font-weight: 700 !important;
    letter-spacing: 0.1em !important; text-transform: uppercase !important;
    border-radius: 999px !important;
    background: var(--accent) !important; color: #000 !important;
    text-decoration: none !important;
  }
  .wolf-cart .ShoppingCartCustomMessage {
    font-size: 12px !important; color: #777 !important; line-height: 1.5 !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid #1a1a1a !important; border-radius: 10px !important;
    padding: 14px 16px !important; margin-top: 16px !important;
  }
  .wolf-cart .cart-saved-row { grid-template-columns: 80px 1fr; }
  .wolf-cart .cart-saved-price { grid-column: 2; text-align: left; }
}

/* ================= AUTH (LOGIN / REGISTER / LOSTPASSWORD) ================= */
.wolf-auth { max-width: 1080px; }
.wolf-auth .auth-head { text-align: center; margin-bottom: 32px; }
.wolf-auth .auth-eyebrow { color: var(--text-3); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 8px; }
.wolf-auth h1.auth-title,
.wolf-auth .auth-title {
  font-family: 'Inter', sans-serif !important; color: var(--text) !important;
  font-size: clamp(32px, 5vw, 56px); font-weight: 900; letter-spacing: -0.02em; line-height: 1; margin: 0;
  font-style: normal !important; text-transform: uppercase;
}
.wolf-auth h1.auth-title em,
.wolf-auth h1.auth-title i,
.wolf-auth h1.auth-title span { font-style: normal !important; font-family: inherit !important; color: inherit !important; }
.wolf-auth .auth-error:not(:empty) {
  background: rgba(239, 68, 68, 0.08); border: 1px solid var(--danger); color: var(--danger);
  padding: 12px 16px; border-radius: 8px; margin: 0 auto 24px; max-width: 640px;
}
.wolf-auth .auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.wolf-auth .auth-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 16px;
  padding: 36px; display: flex; flex-direction: column;
}
.wolf-auth .auth-card-head { padding-bottom: 18px; border-bottom: 1px solid var(--border); margin-bottom: 24px; }
.wolf-auth .auth-card-title { color: var(--text); font-size: 22px; font-weight: 800; letter-spacing: -0.01em; margin: 0 0 4px; }
.wolf-auth .auth-card-sub { color: var(--text-3); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; margin: 0; }
.wolf-auth .auth-blurb { color: var(--text-2); font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
.wolf-auth .auth-field { margin-bottom: 16px; }
.wolf-auth .auth-field-label { display: block; color: var(--text-2); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; margin-bottom: 6px; }
.wolf-auth .auth-field input {
  width: 100%; background: var(--bg) !important; border: 1px solid var(--border-strong) !important;
  color: var(--text) !important; border-radius: 8px !important; padding: 12px 14px !important; font-size: 15px;
}
.wolf-auth .auth-field input:focus { border-color: var(--accent) !important; outline: none; box-shadow: 0 0 0 3px rgba(12, 244, 255, 0.15); }
.wolf-auth .auth-forgot { text-align: right; margin-top: 6px; }
.wolf-auth .auth-forgot a { color: var(--accent); font-size: 12px; }
.wolf-auth .auth-cta input,
.wolf-auth .auth-cta a {
  display: block; width: 100%; background: var(--accent) !important; color: #000 !important;
  border: none !important; border-radius: 999px !important; padding: 16px 24px !important;
  font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.1em; text-transform: uppercase;
  text-align: center; text-decoration: none !important;
}
.wolf-auth .auth-cta input:hover, .wolf-auth .auth-cta a:hover { background: var(--accent-2) !important; }
.wolf-auth .auth-divider { position: relative; text-align: center; margin: 18px 0; color: var(--text-3); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; }
.wolf-auth .auth-divider::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--border); }
.wolf-auth .auth-divider span { background: var(--surface); padding: 0 12px; position: relative; }
.wolf-auth .auth-social { display: flex; justify-content: center; }
.wolf-auth .auth-perks { list-style: none; padding: 0; margin: 12px 0 0; display: flex; flex-direction: column; gap: 8px; color: var(--text-2); font-size: 14px; }
.wolf-auth .auth-perks li::before { content: "→  "; color: var(--accent); font-weight: 700; }

@media (max-width: 768px) {
  .wolf-auth { padding: 24px 16px 64px; }
  .wolf-auth .auth-grid { grid-template-columns: 1fr; }
  .wolf-auth .auth-card { padding: 24px; }
}

/* ================= CHECKOUT POLISH (no template rewrite) ================= */
/* Stock OnePageCheckOutPage uses raw bootstrap. We retheme via CSS only.   */
body.OnePageCheckOut { background: var(--bg); }
body.OnePageCheckOut .checkout-page,
body.OnePageCheckOut #dvCheckoutPage,
body.OnePageCheckOut .OnePageCheckOutPage {
  max-width: 1080px; margin: 0 auto; padding: 32px 24px 96px; background: transparent;
}
body.OnePageCheckOut h1 { font-family: 'Inter', sans-serif !important; color: var(--text) !important; font-size: clamp(28px, 4vw, 44px); font-weight: 900; letter-spacing: -0.02em; text-transform: uppercase; margin-bottom: 24px; }
body.OnePageCheckOut h2,
body.OnePageCheckOut h3 { font-family: 'Inter', sans-serif !important; color: var(--text) !important; font-weight: 700; letter-spacing: -0.005em; }
body.OnePageCheckOut .panel,
body.OnePageCheckOut .well,
body.OnePageCheckOut .CheckoutSection { background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 18px !important; }
body.OnePageCheckOut .panel-heading { background: transparent !important; border-bottom: 1px solid var(--border) !important; color: var(--text) !important; padding: 0 0 14px !important; margin-bottom: 18px !important; font-size: 16px; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; }
body.OnePageCheckOut .panel-body { padding: 0 !important; }

/* Hide the cyan empty-button "What's this?" CVV link, replace with text underline */
body.OnePageCheckOut .ExplainCVVText.quick-view,
.ExplainCVVText.quick-view {
  position: static !important; background: transparent !important;
  color: var(--accent) !important; padding: 4px 0 !important; margin: 4px 0 0 !important;
  font-size: 12px !important; text-decoration: underline !important;
  width: auto !important; height: auto !important;
  border: 0 !important; border-radius: 0 !important;
  text-transform: none !important; letter-spacing: 0 !important;
  display: inline-block !important;
  opacity: 1 !important; line-height: 1.4 !important;
}

/* Place Order button — primary cyan pill */
body.OnePageCheckOut input.PlaceOrderThemeButton,
body.OnePageCheckOut input[id*="PlaceOrder"] {
  background: var(--accent) !important; color: #000 !important; border: none !important;
  border-radius: 999px !important; padding: 16px 32px !important;
  font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.1em; text-transform: uppercase;
}

/* Fix any cyan "quick-view" buttons leaking from legacy MegaStore CSS into other places */
body:not(.Default) a.quick-view,
body:not(.Default) button.quick-view {
  background: rgba(0,0,0,0.7) !important; color: var(--text) !important; border: 1px solid var(--border-strong) !important;
}
body.OnePageCheckOut a.quick-view.ExplainCVVText { background: transparent !important; border: 0 !important; color: var(--accent) !important; }

/* ========================================================================
POLISH ROUND — 2026-05-10
PDP main image background, eyebrow, meta line, hide noise.
PLP card SKU eyebrow, sidebar active state, hide per-card availability.
======================================================================== */

/* PDP main image: dark surface to hide white halos around photos
shot on black backgrounds (the SVI house style). */
.wolf-pdp .pdp-main-img {
  background: var(--surface-2, #0e1014) !important;
}
.wolf-pdp .pdp-main-img img,
.wolf-pdp .pdp-main-link,
.wolf-pdp .pdp-main-link img {
  background: transparent !important;
}
.wolf-pdp .pdp-thumb a {
  background: var(--surface-2, #0e1014) !important;
}

/* PDP eyebrow tag (above title, fires when admin marks Featured) */
.wolf-pdp .pdp-eyebrow {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 12px;
}
.wolf-pdp .pdp-eyebrow-tag {
  display: inline-block;
  background: var(--accent); color: #000;
  padding: 4px 10px; border-radius: 4px;
  font-size: 11px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase;
}

/* PDP meta line under title (manufacturer + SKU) */
.wolf-pdp .pdp-meta-line {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  color: var(--text-3); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
  margin: -4px 0 18px;
}
.wolf-pdp .pdp-meta-line:empty { display: none; }
.wolf-pdp .pdp-meta-line a { color: var(--text-2); }
.wolf-pdp .pdp-meta-line a:hover { color: var(--accent); }
.wolf-pdp .pdp-meta-line .pdp-sku { color: var(--text-3); font-weight: 600; }

/* Hide empty containers that render with rounded backgrounds when there's
no warranty / discount / matrix data — produces an empty floating pill. */
.wolf-pdp .pdp-warranty:empty,
.wolf-pdp .pdp-discounts-block:empty,
.wolf-pdp .pdp-section:empty,
.wolf-pdp .pdp-promo:empty,
.wolf-pdp .pdp-discounts:empty,
.wolf-pdp .pdp-rewards:empty,
.wolf-pdp .pdp-map:empty,
.wolf-pdp .pdp-yousave:empty,
.wolf-pdp .pdp-was-price:empty,
.wolf-pdp .pdp-shipping-link:empty {
  display: none !important;
}
/* Treat "child has no element children" as empty too — text whitespace defeats :empty. */
.wolf-pdp .pdp-warranty:not(:has(*)),
.wolf-pdp .pdp-discounts-block:not(:has(*)) {
  display: none !important;
}

/* Hide the Update Price link — variant change triggers it via inline JS. */
.wolf-pdp .pdp-variant-update,
.wolf-pdp .pdp-variant-update a,
.wolf-pdp .ProductDetailsUpdatePrice {
  display: none !important;
}

/* Hide leftover "Estimate Shipping" link below Add to Cart on PDP */
.wolf-pdp .pdp-shipping-link { display: none; }

/* Wishlist button rebrand: hide native value text, render new label.
Native button is an <input>, so we use background image trick: hide the
native value with text-indent + replace via JS in product-page.js. */
.wolf-pdp input.MoveToWishListThemeButton[value="Move to List"] {
  /* JS will replace value attr; CSS fallback hides original text by setting
  transparent foreground if a non-replaced one slips through. */
}

/* PLP: left-align hero band content per mockup */
.wolf-plp .plp-hero { text-align: left !important; }
.wolf-plp .plp-hero-inner {
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}
.wolf-plp .plp-breadcrumb {
  background: transparent !important;
  padding: 0 !important;
  text-align: left !important;
  color: var(--text-3) !important;
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  margin-bottom: 16px;
}
.wolf-plp .plp-title { text-align: left !important; }
.wolf-plp .plp-count { text-align: left !important; }

/* PLP card eyebrow now contains manufacturer link + SKU */
.wolf-plp .product-card .product-cat {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap;
}
.wolf-plp .product-card .product-cat .product-sku {
  color: var(--text-3); opacity: 0.85;
}
.wolf-plp .product-card .product-cat .product-sku::before {
  content: "·"; margin-right: 8px; color: var(--text-3);
}
.wolf-plp .product-card .product-cat:has(.product-sku:empty) .product-sku,
.wolf-plp .product-card .product-cat .product-sku:empty { display: none; }

/* PLP per-card availability TEXT is noise — hide on grid, keep on PDP.
(We still read it via JS to flag sold-out cards; see .is-soldout below.) */
.wolf-plp .product-card .product-availability,
.wolf-plp .product-card .CategoryProductAvailability { display: none !important; }

/* Sold-out cards: CategoryPage.html JS adds .is-soldout when the (hidden)
availability label reads "Out of Stock". Dim the photo and stamp a
centered SOLD OUT badge over it — restores the original store treatment
that our card rebuild dropped. The corner flags (New/Limited/etc) stay. */
.wolf-plp .product-card.is-soldout .product-img img { opacity: .4; filter: grayscale(.35); }
.wolf-plp .product-card.is-soldout .product-img::after {
  content: "SOLD OUT";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Bebas Neue', sans-serif;
  font-weight: 400; font-size: 30px; letter-spacing: .18em;
  color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.7);
  pointer-events: none; z-index: 4;
}

/* PLP sidebar active state */
.wolf-plp .plp-cat-list a.plp-cat-active,
.wolf-plp .plp-cat-list li.plp-cat-active a {
  color: var(--accent) !important;
  font-weight: 700;
}
.wolf-plp .plp-cat-list li.plp-cat-active {
  position: relative;
}
.wolf-plp .plp-cat-list li.plp-cat-active::before {
  content: ""; position: absolute; left: -12px; top: 50%; width: 3px; height: 14px;
  transform: translateY(-50%); background: var(--accent); border-radius: 2px;
}

/* Recently Viewed grid: ensure 4-up to match other grids */
.wolf-pdp-recent .product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px;
}
@media (max-width: 900px) {
  .wolf-pdp-recent .product-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
  .wolf-pdp-recent .product-grid { grid-template-columns: 1fr !important; }
}

/* ========================================================================
POST-UPLOAD FIXES — 2026-05-10
- Home FEATURED widget layout (AmeriCommerce wraps the ProductDisplay
output in .Control.ProductDisplay extra divs that sit between
.wolf-home and our <section>, so the .wolf-home > section padding
never applied and the grid overflowed horizontally).
- PLP card eyebrow stray dot when manufacturer link is empty.
- PDP photo overlay flag now redundant (eyebrow tag is the new home
for "Featured" indication) — hide it.
======================================================================== */

/* The FeaturedItems widget output is wrapped by AmeriCommerce in
.Control.ProductDisplay which inherits a stock-template white bg.
Kill it; section padding/max-width is handled by the .wolf-home > section
rule via the wrapper we added inside the widget's Layout layoutarea. */
body.Default .Control.ProductDisplay,
.LayoutContent .Control.ProductDisplay {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hidden inputs as direct children of .product-grid don't take grid cells
(display:none) — but be defensive in case browser quirks make them count. */
.product-grid > input[type="hidden"] { display: none !important; }

/* Each .ControlItem wrapper from AmeriCommerce should pass through its
inner .product-card to the grid layout. Style the wrapper as a plain
block so the card's own width/border/etc applies. */
.product-grid > .ControlItem {
  display: block;
  min-width: 0;
}

/* PLP card eyebrow: when there's no manufacturer link rendered, the SKU
shows alone with a leading "·" — drop the prefix. Use :has() so the
dot only renders when something precedes it. */
.wolf-plp .product-card .product-cat .product-sku::before { content: ""; margin: 0; }
.wolf-plp .product-card .product-cat:has(a) .product-sku::before {
  content: "·"; margin-right: 8px; color: var(--text-3);
}
/* Fallback for browsers without :has() — hide the dot entirely. */
@supports not selector(:has(a)) {
  .wolf-plp .product-card .product-cat .product-sku::before { display: none; }
}

/* PDP: hide the legacy "Featured!" / "Spotlight!" / etc photo overlay flags.
The eyebrow tag above the title now communicates this from admin data. */
.wolf-pdp .pdp-gallery .product-flag,
.wolf-pdp .pdp-main-img .product-flag {
  display: none !important;
}

/* ----- Card image fit (FEATURED widget, PLP grid, Recently Viewed) -----
AmeriCommerce's $$PHOTO$$ + $$THUMBNAIL$$ emit a bare <img> with classes
like .FeaturedItemsThumbNail / .CategoryProductPhoto — NOT our hand-rolled
.product-img-photo class. Force a generic rule on any img inside the
.product-img wrapper so the photo fills the square frame instead of
sitting at the top edge in original aspect ratio. */
.product-card .product-img,
.wolf-plp .product-card.category-product .product-img,
.wolf-pdp-recent .product-card .product-img,
.product-grid .product-card .product-img {
  position: relative;
  /* Solid near-black — the product photos are shot on black, so any
  lighter wrapper bg shows up as a visible band across rows. v20:
  drop the diagonal gradient that caused the "lines above + below
  FEATURED" the client flagged. */
  background: #000 !important;
  background-image: none !important;
}

/* v30/v31: restore the Nike-mockup card frame on home FEATURED + PLP grids.
Cards are <a> anchors, default inline — that introduces ~20px of
baseline-leading whitespace above and below the inner content blocks,
which read as "lines | above and below" each featured product. Force
display:block to kill those phantom gaps. */
.wolf-home .product-grid .product-card,
.product-grid .product-card,
.wolf-plp .product-card.category-product {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  display: block !important;
  overflow: hidden !important;
  text-decoration: none !important;
}
.wolf-home .product-grid .product-card:hover,
.product-grid .product-card:hover,
.wolf-plp .product-card.category-product:hover {
  border-color: var(--accent) !important;
}

/* Reserve the .product-cat eyebrow slot so cards with empty
##ITEMNR## (no admin item number) stay the same height as cards
that have one. Without this, the eyebrow div collapses to 0 and
the card ends up ~17px shorter than its siblings. */
.wolf-home .product-grid .product-card .product-cat {
  min-height: 17px;
}

/* v28: kill the cyan radial glow behind product photos — client called
it tacky. Hides the .product-img-glow element on all card grids. */
.product-card .product-img .product-img-glow,
.product-img-glow { display: none !important; }
/* Make sure the img element itself isn't carrying a white bg from the
older .wolf-plp .product-img img / .wolf-pdp-recent rules. */
.wolf-plp .product-card.category-product .product-img img,
.wolf-pdp-recent .product-card .product-img img,
.product-grid .product-card .product-img img {
  background: transparent !important;
}
.product-card .product-img > img,
.product-card .product-img .FeaturedItemsThumbNail,
.product-card .product-img .CategoryProductPhoto,
.product-card .product-img img:not(.product-img-glow) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  padding: 2% !important;
  background: transparent !important;
  border: 0 !important;
  display: block !important;
  transition: transform 0.5s ease;
}
.product-card:hover .product-img > img,
.product-card:hover .product-img .FeaturedItemsThumbNail,
.product-card:hover .product-img .CategoryProductPhoto {
  transform: scale(1.06);
}
/* Glow stays on top of the image */
.product-card .product-img .product-img-glow {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
}


/* =====================================================================
v13 — MOBILE POLISH
--------------------------------------------------------------------- */

/* ---------- Cart table column alignment (desktop) -----------------
With table-layout: auto + a colspan="2" header for Product, browsers
give the entire slack width to the spanned header cell and dump
Price / Qty / Total into the right edge — out of alignment with the
data row. Switch to table-layout: fixed and set explicit widths via
the <colgroup>. */
.wolf-cart .cart-table { table-layout: fixed; }
.wolf-cart .cart-table .col-thumb { width: 110px; }
.wolf-cart .cart-table .col-info  { width: auto; }
.wolf-cart .cart-table .col-price { width: 110px; }
.wolf-cart .cart-table .col-qty   { width: 140px; }
.wolf-cart .cart-table .col-total { width: 130px; }
.wolf-cart .cart-table th.cart-th-price,
.wolf-cart .cart-table td.cart-price-cell,
.wolf-cart .cart-table th.cart-th-total,
.wolf-cart .cart-table td.cart-total-cell { text-align: right; }
.wolf-cart .cart-table th.cart-th-qty,
.wolf-cart .cart-table td.cart-qty-cell { text-align: center; }
/* Stack the qty spinner above the Update link so the whole group is
narrower than the column. Also neutralise the inline `margin-right: 30px`
that AmeriCommerce stamps on the .qty-spinner — that's what was pushing
the wrapper wider than the cell and breaking the center. */
.wolf-cart .cart-table .cart-qty-cell .qty-wrapper {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
}
.wolf-cart .cart-table .cart-qty-cell .qty-spinner { margin-right: 0 !important; }
.wolf-cart .cart-table td.cart-qty-cell .UpdateButton {
  display: block;
  text-align: center;
}
.wolf-cart .cart-table td.cart-qty-cell .UpdateButton a {
  color: var(--accent); font-size: 11px;
  letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700;
}

/* Mobile rows stack — undo the table-layout column widths */
@media (max-width: 768px) {
  .wolf-cart .cart-table { table-layout: auto; }
  .wolf-cart .cart-table colgroup { display: none; }
  .wolf-cart .cart-table th.cart-th-price,
  .wolf-cart .cart-table td.cart-price-cell,
  .wolf-cart .cart-table th.cart-th-total,
  .wolf-cart .cart-table td.cart-total-cell,
  .wolf-cart .cart-table th.cart-th-qty,
  .wolf-cart .cart-table td.cart-qty-cell { text-align: left; }
  .wolf-cart .cart-table .cart-qty-cell .qty-wrapper { justify-content: flex-start; }
}

/* ---------- Mobile hamburger button (desktop hidden) -----------------
The hamburger lives on the left of the header at < 960px.
AmeriCommerce/Bootstrap auto-injects .btn .btn-default onto any
<button>. A theme rule at line ~3068 explicitly re-borders any
.btn-default on non-home pages — its specificity (0,2,1) beats a
bare `button.menu-toggle` (0,1,1). Chain `.btn-default` (and where
sensible `.btn`) into our selectors so we match-or-beat. */
body button.menu-toggle,
body button.menu-toggle.btn,
body button.menu-toggle.btn-default,
body button.drawer-close,
body button.drawer-close.btn,
body button.drawer-close.btn-default,
body button.plp-sidebar-close,
body button.plp-sidebar-close.btn,
body button.plp-sidebar-close.btn-default,
body button.filter-toggle.btn,
body button.filter-toggle.btn-default {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--text) !important;
  text-shadow: none !important;
  outline: none;
}
body button.menu-toggle,
body button.menu-toggle.btn,
body button.menu-toggle.btn-default {
  align-items: center; justify-content: center;
  width: 40px !important; height: 40px !important;
  min-width: 0 !important;
  cursor: pointer;
  padding: 0 !important; margin-right: 4px;
  border-radius: 6px !important;
  font-size: 0 !important;       /* kill Bootstrap btn font-size baseline */
  letter-spacing: 0 !important;
  gap: 0 !important;
}
body button.menu-toggle:hover { background: rgba(255,255,255,0.06) !important; }
body button.menu-toggle svg { width: 22px; height: 22px; flex-shrink: 0; }
/* Default state: hide hamburger + mobile-only chrome on desktop; show
on mobile via the breakpoint block below. Specificity must match the
`body button.menu-toggle.btn-default` selector (0,2,2) to win against
the theme-wide .btn-default rules. */
@media (min-width: 961px) {
  body button.menu-toggle,
  body button.menu-toggle.btn,
  body button.menu-toggle.btn-default { display: none !important; }
  .search-toggle { display: none !important; }
  .mobile-search { display: none !important; }
}

@media (max-width: 960px) {
  body button.menu-toggle,
  body button.menu-toggle.btn,
  body button.menu-toggle.btn-default { display: inline-flex !important; }
  .header-inner { gap: 8px; }
  .nav { display: none !important; }
  .search-input, .wf-search { display: none !important; }
  .search-toggle { display: inline-flex !important; }
  .icon-btn-wishlist { display: none !important; }     /* tighten the row */
  .header-actions { gap: 4px; }
  .icon-btn { width: 38px; height: 38px; }
  .logo { margin-right: auto; }                        /* push actions right */

  /* Reveal the search field as a row under the header when toggled.
  Padding lives in the open state only — otherwise the empty pill
  renders as a thin band even when collapsed. */
  .mobile-search {
    display: block;
    background: var(--bg-2);
    padding: 0 16px;
    max-height: 0;
    overflow: hidden;
    border-top: 1px solid transparent;
    transition: max-height 0.25s ease, padding 0.25s ease, border-color 0.25s ease;
  }
  body.search-open .mobile-search {
    max-height: 80px;
    padding: 12px 16px;
    border-top-color: var(--border);
  }
  .mobile-search input {
    width: 100%;
    background: var(--surface); border: 1px solid var(--border-strong);
    border-radius: 999px; color: var(--text);
    padding: 12px 18px; font-size: 14px;
  }
  .mobile-search input::placeholder { color: var(--text-3); }
  .mobile-search input:focus { outline: none; border-color: var(--accent); }
  /* Keep the search pill ROUND on inner pages too. A global
  `body:not(.Default) input[type=text]{border-radius:6px !important}` squares
  every input off the home page (body.Default); beat it with higher specificity. */
  body:not(.Default) .mobile-search input[type="search"] { border-radius: 999px !important; }
  /* Lift the header (which holds the open search row) above the shared
  .drawer-backdrop (z 1040). Without this the dim sat ON TOP of the search
  field — greyed out, taps hit the backdrop, no focus/autofill. */
  body.search-open .header { z-index: 1045; }
}

/* ---------- Mobile slide-in drawer ---------- */
.mobile-drawer {
  position: fixed;
  top: 0; bottom: 0; left: 0;
  width: 320px; max-width: 85vw;
  background: var(--bg-2);
  border-right: 1px solid var(--border);
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1050;
  overflow-y: auto;
  display: flex; flex-direction: column;
  padding: 20px 0 32px;
}
.mobile-drawer .drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px 24px;
  border-bottom: 1px solid var(--border);
}
.mobile-drawer .drawer-head .logo { display: inline-flex; align-items: center; gap: 8px; }
.mobile-drawer .drawer-head .logo-mark { width: 40px; height: auto; margin-top: -5px; margin-bottom: -25px; }
.mobile-drawer .drawer-head .logo-wordmark { height: 13px; }
.mobile-drawer .drawer-close {
  background: transparent; border: 0; color: var(--text);
  width: 36px; height: 36px; border-radius: 6px;
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.mobile-drawer .drawer-close:hover { background: rgba(255,255,255,0.06); }
.mobile-drawer .drawer-nav {
  display: flex; flex-direction: column;
  padding: 8px 0;
  flex: 1;
}
.mobile-drawer .drawer-nav a {
  display: block;
  padding: 16px 20px;
  color: var(--text);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border);
  transition: background 0.15s, color 0.15s;
}
.mobile-drawer .drawer-nav a:hover,
.mobile-drawer .drawer-nav a:focus { background: rgba(255,255,255,0.04); color: var(--accent); }
.mobile-drawer .drawer-nav-accent { color: var(--accent) !important; }
.mobile-drawer .drawer-foot {
  display: flex; flex-direction: column;
  padding: 16px 20px 0;
  gap: 14px;
  border-top: 1px solid var(--border);
  margin-top: 4px;
}
.mobile-drawer .drawer-foot a {
  color: var(--text-2);
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.mobile-drawer .drawer-foot a:hover { color: var(--accent); }

.drawer-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 1040;
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s ease;
}
body.drawer-open .mobile-drawer { transform: translateX(0); }
body.drawer-open .drawer-backdrop,
body.plp-filter-open .drawer-backdrop,
body.search-open .drawer-backdrop {
  opacity: 1; pointer-events: auto;
}
body.drawer-open { overflow: hidden; }

/* ---------- PLP filter drawer wire-up ---------------
The drawer CSS exists from earlier work (line ~2847); but no toggle
button or class drove it. Filter button is now in the toolbar and
sets body.plp-filter-open. */
body button.filter-toggle,
body button.filter-toggle.btn,
body button.filter-toggle.btn-default {
  display: inline-flex; align-items: center; gap: 6px;
  background: transparent !important;
  background-image: none !important;
  border: 1px solid var(--border-strong) !important;
  color: var(--text) !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  font-size: 11px !important; letter-spacing: 0.1em !important;
  text-transform: uppercase; font-weight: 700;
  cursor: pointer;
  box-shadow: none !important;
  min-width: 0 !important;
}
body button.filter-toggle:hover { border-color: var(--accent) !important; color: var(--accent) !important; }
body button.filter-toggle svg { color: currentColor; flex-shrink: 0; }

body button.drawer-close,
body button.drawer-close.btn,
body button.drawer-close.btn-default,
body button.plp-sidebar-close,
body button.plp-sidebar-close.btn,
body button.plp-sidebar-close.btn-default {
  width: 36px !important; height: 36px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 6px !important;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  gap: 0 !important;
}
body button.drawer-close:hover,
body button.plp-sidebar-close:hover { background: rgba(255,255,255,0.06) !important; }
body button.drawer-close svg,
body button.plp-sidebar-close svg { width: 22px; height: 22px; flex-shrink: 0; }
.plp-sidebar-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 16px;
}
.plp-sidebar-title { color: var(--text); font-size: 16px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.plp-sidebar-close {
  background: transparent; border: 0; color: var(--text);
  width: 36px; height: 36px; border-radius: 6px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.plp-sidebar-close:hover { background: rgba(255,255,255,0.06); }
/* The desktop hide rule MUST come after the unconditional display:flex
above — same specificity, later wins. */
@media (min-width: 769px) {
  .filter-toggle { display: none !important; }       /* desktop has the sidebar inline */
  .plp-sidebar-head { display: none !important; }
  .plp-sidebar-close { display: none !important; }
}

@media (max-width: 768px) {
  body.plp-filter-open .plp-body aside,
  body.plp-filter-open .plp-sidebar {
    transform: translateY(0);
    /* must beat .drawer-backdrop (z 1040), which doubles as the filter dimmer —
    below it, the backdrop eats every tap and the category links are dead */
    z-index: 1050;
  }
  body.plp-filter-open { overflow: hidden; }
  /* Filter button + Sort select stack ~9px apart at the same left edge on phones —
  thumb taps on "Sort By" land on Filter and open the sheet instead. Space them out. */
  .wolf-plp .plp-toolbar-controls { gap: 20px; }
}

/* ---------- Mobile checkout polish over the Bootstrap markup ---------
OnePageCheckOutPage.html still uses the original .well .panel + Bootstrap
grid. Not redesigning the whole page right now — just making it
passable on mobile so the user can actually complete an order. */
@media (max-width: 768px) {
  /* Container + headline */
  .LayoutContent .well.checkout {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .LayoutContent .h2.bold.pad-t-10.pad-b-30.center {
    font-family: 'Inter', sans-serif;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--text);
    text-align: left;
    padding: 16px 16px 24px !important;
    margin: 0;
  }
  /* Force single column rows */
  .LayoutContent .row { margin-left: 0 !important; margin-right: 0 !important; }
  .LayoutContent .col-sm-12,
  .LayoutContent .col-sm-9,
  .LayoutContent .col-sm-8,
  .LayoutContent .col-sm-6,
  .LayoutContent .col-sm-4,
  .LayoutContent .col-sm-3 {
    width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Panels look like our cards */
  .LayoutContent .well.checkout .panel {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    margin: 0 16px 16px !important;
  }
  .LayoutContent .well.checkout .panel .pad-20 { padding: 18px !important; }
  .LayoutContent .well.checkout .h4.bold {
    color: var(--text);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
  }
  /* Inputs */
  .LayoutContent .full-input input[type=text],
  .LayoutContent .full-input input[type=email],
  .LayoutContent .full-input input[type=tel],
  .LayoutContent .full-input input[type=password],
  .LayoutContent .full-input select,
  .LayoutContent .full-input textarea,
  .LayoutContent .well.checkout input[type=text],
  .LayoutContent .well.checkout input[type=email],
  .LayoutContent .well.checkout input[type=tel],
  .LayoutContent .well.checkout input[type=password],
  .LayoutContent .well.checkout select,
  .LayoutContent .well.checkout textarea {
    width: 100% !important;
    background: var(--bg-2) !important;
    color: var(--text) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  .LayoutContent .well.checkout input:focus,
  .LayoutContent .well.checkout select:focus,
  .LayoutContent .well.checkout textarea:focus { outline: none; border-color: var(--accent) !important; }
  .LayoutContent .well.checkout label {
    display: block;
    color: var(--text-2);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 12px 0 6px;
    font-weight: 600;
  }
  .LayoutContent .well.checkout label span {
    display: block;
    color: var(--text-3);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    margin-top: 4px;
    text-transform: none;
  }
  /* Order summary table inside checkout */
  .LayoutContent .well.checkout .table-responsive { overflow-x: auto; }
  .LayoutContent .well.checkout table.ShoppingCart {
    width: 100% !important; min-width: 0 !important;
    color: var(--text) !important; font-size: 13px;
  }
  .LayoutContent .well.checkout table.ShoppingCart th,
  .LayoutContent .well.checkout table.ShoppingCart td {
    padding: 10px 8px !important; border-color: var(--border) !important;
    color: var(--text);
  }
  .LayoutContent .well.checkout table.ShoppingCart th {
    color: var(--text-3); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
  }
  /* CTAs / buttons */
  .LayoutContent .well.checkout .btn-default,
  .LayoutContent .well.checkout input[type=submit]:not(.ProceedToCheckOutButton) {
    background: transparent !important;
    color: var(--text) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-size: 12px !important; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600;
  }
  .LayoutContent .well.checkout input.ProceedToCheckOutButton,
  .LayoutContent .well.checkout input[name*=PlaceOrder],
  .LayoutContent .well.checkout input[id*=PlaceOrder],
  .LayoutContent .well.checkout .place-order input[type=submit] {
    width: 100% !important;
    background: var(--accent) !important;
    color: #000 !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 16px 20px !important;
    font-size: 13px !important; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
    margin-top: 8px;
  }
  /* Existing customer prompt panel */
  .LayoutContent .well.checkout .ExistingCustomersArea + * { margin-top: 16px; }
  /* Validation errors */
  .LayoutContent .well.checkout .Error,
  .LayoutContent .well.checkout [class*=Error] { color: var(--danger); font-size: 12px; }
  /* Drop the 'pad-' helpers' fixed sizes when too big on mobile */
  .LayoutContent .well.checkout .pad-t-10 { padding-top: 8px !important; }
  .LayoutContent .well.checkout .pad-b-30 { padding-bottom: 14px !important; }
  .LayoutContent .well.checkout .pad-b-20 { padding-bottom: 12px !important; }
}

/* On desktop, give the legacy bootstrap checkout some breathing room
inside our dark theme — readable text + visible borders, since the
default backgrounds came out near-black on near-black. */
.LayoutContent .well.checkout { color: var(--text); }
.LayoutContent .well.checkout .panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  margin-bottom: 16px;
  box-shadow: none;
}
.LayoutContent .well.checkout label,
.LayoutContent .well.checkout strong,
.LayoutContent .well.checkout .h4 { color: var(--text); }
.LayoutContent .well.checkout input,
.LayoutContent .well.checkout select,
.LayoutContent .well.checkout textarea {
  background: var(--bg-2);
  color: var(--text);
  border: 1px solid var(--border-strong);
}

/* ---------- Topbar (shipping banner only) ---------
With Sign In removed from the topbar, it has a single child. Center it
so the message reads cleanly across the band instead of hugging the
left edge. */
.topbar { justify-content: center !important; }
.topbar > div { text-align: center; }

/* ---------- Search results match strips (non-product) ---------
Category / CMS page / blog post matches that AmeriCommerce returns
alongside product results. Hidden when empty via the widget itself. */
.wolf-plp .search-match-list {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 16px;
  margin: 0 0 8px;
  color: var(--text);
  font-size: 14px;
}
.wolf-plp .search-match-label {
  color: var(--text-3);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  margin-right: 8px;
}
.wolf-plp .search-match-list a { color: var(--accent) !important; text-decoration: none; }
.wolf-plp .search-match-cms { display: block; font-weight: 700; margin-bottom: 4px; }
.wolf-plp .search-match-desc { color: var(--text-2); font-size: 13px; line-height: 1.5; }

/* ---------- Account dashboard + all sub-pages polish ----------
MyAccount and every sub-page (EditLogin, ChangePassword, BillingAddress,
ShippingAddress, PaymentMethod, ProfileEdit, OrderList, OrderHistory…)
all share the same Bootstrap 3 structure: .well + .nav-stacked.nav-pills
on the left + .panel cards on the right. A tiny script in HeaderPage tags
`body.is-account` on any of these pages so we can target them all with
one selector. */
body.is-account .LayoutContent,
body.is-account .LayoutContentInner { padding: 24px 32px 96px !important; }
body.is-account .row { margin: 0 !important; padding: 0 !important; }
body.is-account .LayoutContentInner > .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 24px;
  align-items: flex-start;
}
/* .MyAccountPage is the content wrapper inside col-sm-9; it should stack
its breadcrumb + panels vertically, NOT flex them side-by-side. */
body.is-account .MyAccountPage { display: block !important; width: 100% !important; }
body.is-account .LayoutContentInner > .row > .col-sm-3,
body.is-account .LayoutContentInner > .row > .col-md-3,
body.is-account [class*="col-sm-3"]:has(.nav-stacked) {
  width: 260px !important;
  max-width: 260px !important;
  flex: 0 0 260px !important;
  float: none !important;
  padding: 0 !important;
}
body.is-account .LayoutContentInner > .row > .col-sm-9,
body.is-account .LayoutContentInner > .row > .col-md-9 {
  width: calc(100% - 284px) !important;
  max-width: calc(100% - 284px) !important;
  flex: 1 1 auto !important;
  float: none !important;
  padding: 0 !important;
}
/* Inner col-sm-4 inside Account Summary panel — keep its 3-up grid */
body.is-account .panel-body > .col-sm-4 {
  width: 33.333% !important;
  max-width: 33.333% !important;
  flex: 0 0 33.333%;
  float: none !important;
  display: inline-block;
  vertical-align: top;
}
/* col-sm-6 inside panels (used by some sub-pages for 2-up forms) */
body.is-account .panel-body > .col-sm-6 {
  width: 50% !important;
  max-width: 50% !important;
  float: none !important;
  display: inline-block;
  vertical-align: top;
}

/* Sidebar nav menu (.well > .nav-stacked.nav-pills) — force vertical */
body.is-account .well {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin: 0 !important;
}
body.is-account .nav-stacked.nav-pills,
body.is-account .nav.nav-stacked {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  list-style: none;
  padding: 0;
  margin: 0;
}
body.is-account .nav-stacked.nav-pills > li,
body.is-account .nav.nav-stacked > li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
body.is-account .nav-stacked.nav-pills > li > a,
body.is-account .nav.nav-stacked > li > a {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-size: 12px !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-2) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
}
body.is-account .nav-stacked.nav-pills > li > a:hover,
body.is-account .nav.nav-stacked > li > a:hover {
  background: var(--surface-2) !important;
  color: var(--accent) !important;
  border-color: var(--border) !important;
}
body.is-account .nav-stacked.nav-pills > li.active > a,
body.is-account .nav.nav-stacked > li.active > a {
  background: var(--accent) !important;
  color: #000 !important;
  border-color: var(--accent) !important;
}
/* Logout often renders as a stand-alone <a> or <button> outside the
.nav > li pattern. Force it into the same row style + accent it. */
body.is-account .well .LogoutThemeButton,
body.is-account .well a.LogoutLink,
body.is-account .well .logout,
body.is-account .well .Logout,
body.is-account .well button[name*=Logout i],
body.is-account .well input[type=submit][name*=Logout i] {
  display: block !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 8px !important;
  border: 1px solid var(--border-strong) !important;
  background: transparent !important;
  color: var(--text) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  text-align: center !important;
  cursor: pointer;
  text-decoration: none !important;
}
body.is-account .well .LogoutThemeButton:hover,
body.is-account .well a.LogoutLink:hover { border-color: var(--accent) !important; color: var(--accent) !important; }
body.is-account .nav-header {
  display: block;
  padding: 6px 14px 14px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--text);
  border-bottom: 1px solid var(--border);
  margin-bottom: 10px;
  text-transform: none;
}
body.is-account .nav-header strong { color: var(--text); }

/* Main panels (Account Summary / Payment / Address / Rewards / etc.) */
body.is-account .MyAccountPage { padding: 0; }
body.is-account .breadcrumb {
  background: transparent !important;
  padding: 0 0 16px !important;
  color: var(--text-3);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  border-bottom: 1px solid var(--border);
  margin-bottom: 24px;
}
body.is-account .breadcrumb a { color: var(--text-2); }
body.is-account .breadcrumb a:hover { color: var(--accent); }
body.is-account h1, body.is-account .page-header h1 {
  color: var(--text);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
  letter-spacing: -0.01em;
  margin: 0 0 24px;
  text-transform: uppercase;
}
body.is-account .panel.panel-default {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  margin-bottom: 16px;
  overflow: hidden;
}
body.is-account .panel.panel-default .panel-heading {
  background: var(--surface-2) !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--text) !important;
  padding: 16px 22px !important;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
body.is-account .panel.panel-default .panel-heading.no-margin,
body.is-account .panel.panel-default h3.panel-heading { margin: 0 !important; }
body.is-account .panel-body { padding: 22px !important; }
body.is-account .MyAccountLabel {
  color: var(--text-3);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 4px;
}
body.is-account .MyAccountValue {
  color: var(--text);
  font-size: 14px;
}
body.is-account .MyAccountValue a,
body.is-account .panel-body a { color: var(--accent) !important; text-decoration: none; }
body.is-account .MyAccountValue a:hover,
body.is-account .panel-body a:hover { color: var(--accent-2) !important; }

/* Form inputs / labels inside account sub-pages (EditLogin, change pw,
addresses, payment, profile-edit). The legacy templates use bare
<label>Name<div>$$INPUT$$</div></label> patterns + .pad-10. */
body.is-account .panel-body label {
  display: block;
  color: var(--text-3);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 6px;
}
body.is-account .panel-body label > div { font-weight: 400; }
body.is-account .panel-body input[type=text],
body.is-account .panel-body input[type=email],
body.is-account .panel-body input[type=tel],
body.is-account .panel-body input[type=password],
body.is-account .panel-body input[type=number],
body.is-account .panel-body select,
body.is-account .panel-body textarea {
  width: 100% !important;
  background: var(--bg-2) !important;
  color: var(--text) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 14px;
  line-height: 1.4;
}
body.is-account .panel-body input:focus,
body.is-account .panel-body select:focus,
body.is-account .panel-body textarea:focus { outline: none; border-color: var(--accent) !important; }

/* Continue / Save / Update buttons on sub-pages — accent pill */
body.is-account .right .ContinueThemeButton,
body.is-account .ContinueThemeButton,
body.is-account input[type=submit].ThemeButton,
body.is-account input[type=submit][name*=Continue i],
body.is-account input[type=submit][name*=Update i],
body.is-account input[type=submit][name*=Save i],
body.is-account .ProcessButton,
body.is-account .CheckoutButton {
  background: var(--accent) !important;
  color: #000 !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none !important;
}
body.is-account .right { text-align: right; margin-top: 16px; }

/* Account sub-page tables (OrderList, OrderHistory, etc.) */
body.is-account table.table { background: var(--surface); border-radius: 12px; overflow: hidden; }

/* Empty-state messaging cards (e.g. "You haven't ordered anything") */
body.is-account .CheckOutHeader,
body.is-account .CheckOutSubHeader {
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
}

@media (max-width: 768px) {
  body.is-account .LayoutContent,
  body.is-account .LayoutContentInner { padding: 16px !important; }
  body.is-account .LayoutContentInner > .row {
    display: block !important;
  }
  body.is-account .LayoutContentInner > .row > .col-sm-3,
  body.is-account .LayoutContentInner > .row > .col-sm-9,
  body.is-account .LayoutContentInner > .row > .col-md-3,
  body.is-account .LayoutContentInner > .row > .col-md-9 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100%;
    padding: 0 !important;
    margin-bottom: 16px;
  }
  body.is-account .panel-body > .col-sm-4,
  body.is-account .panel-body > .col-sm-6 {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 14px;
  }
}

/* ---------- Tighten cart wishlist button label ---------
We rebrand in JS too, but a CSS fallback so the OG "Move to List" text
never sits naked. Hide the actual button text and overlay our own. */
.wolf-cart .cart-item-wishlist input.MoveToWishListThemeButton,
.wolf-cart .cart-item-wishlist input.MoveToWishlistButton {
  background: transparent !important;
  color: var(--text) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  font-size: 11px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}

/* ---------- Hide empty PDP quantity-discounts bar ----------
`<div class="pdp-section pdp-discounts-block">` wraps
`<span class="ProductQuantityDiscounts">` — which is empty for almost
every product since the store doesn't use tiered pricing. The wrapper
keeps rendering as a dark band above the description/specs tabs. */
.pdp-section.pdp-discounts-block:has(.ProductQuantityDiscounts:empty),
.pdp-section.pdp-discounts-block:has(.ProductQuantityDiscounts:not(:has(*))) {
  display: none !important;
}
/* JS fallback in product-page.js handles browsers without :has() */

/* =============================================================
v45 — Mobile OnePageCheckout: stack EXP DATE / CVV row so it
doesn't overflow the viewport at narrow widths. The v43/v44
desktop rules used fixed widths (320px + 200px + 16px gap =
536px) with flex-wrap:nowrap, which forced horizontal scroll
on mobile and pushed CVV + "What's this?" off-screen.
============================================================= */
@media (max-width: 768px) {
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-5,
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-3 {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  /* APPLY CODE: input + button stack instead of cramming. */
  body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .row {
    flex-wrap: wrap !important;
  }
  body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .col-sm-10,
  body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .col-sm-9,
  body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .col-sm-2,
  body.OnePageCheckOut .well.checkout .ShoppingCartCouponCode .col-sm-3 {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  body.OnePageCheckOut .well.checkout .ShoppingCartCouponCodeTextbox { width: 100% !important; }

  /* Tighten panel internal padding on mobile so inputs use the
  full available width inside the card. */
  body.OnePageCheckOut .well.checkout .panel,
  body.OnePageCheckOut .well.checkout .panel-body { padding: 18px !important; }

  /* CC slot iframe wrappers: make sure they don't get clipped. */
  body.OnePageCheckOut .well.checkout #divCardNumber,
  body.OnePageCheckOut .well.checkout #divCvv,
  body.OnePageCheckOut .well.checkout iframe#tx_iframe_CardNumber,
  body.OnePageCheckOut .well.checkout iframe#tx_iframe_cvv_DivCvv {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Sidebar payment-method icon row: allow wrapping in case it's
  wider than the column on small screens. */
  body.OnePageCheckOut .well.checkout .payment-icons { flex-wrap: wrap !important; }
}

/* ======================================================================
v49 — Saved for Later / Wishlist polish (body.WishList)
Page reuses the cart's #tblCart markup but the column header was
pinned to 50% width by stock <th width="50%">, the spacer column
eats horizontal space, and on mobile every cell stacks awkwardly.
====================================================================== */

@media (min-width: 769px) {
  /* Make the inner table breathe */
  body.WishList #tblCart {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  body.WishList #tblCart .ShoppingCartHeader {
    background: transparent !important;
    color: rgba(255,255,255,0.5) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.6px !important;
    text-transform: uppercase !important;
    text-align: left !important;
    padding: 12px 8px !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
  }
  body.WishList #tblCart .ShoppingCartUnitPriceHeader,
  body.WishList #tblCart .ShoppingCartQuantityHeader,
  body.WishList #tblCart .ShoppingCartTotalHeader { text-align: right !important; }
  body.WishList #tblCart .ShoppingCartProductDescriptionHeader {
    width: 60% !important;
  }
  body.WishList #tblCart .ShoppingCartSpacer { width: 1% !important; padding: 0 !important; }

  body.WishList #tblCart tbody tr#trSelectAll td {
    padding: 12px 8px !important;
    color: rgba(255,255,255,0.55) !important;
    font-size: 11px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  }

  body.WishList #tblCart tbody tr:not(#trSelectAll) td {
    padding: 18px 8px !important;
    vertical-align: top !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    background: transparent !important;
  }

  /* Title column — kill the 3-line wrap */
  body.WishList #tblCart td.ShoppingCart .thumbnail {
    float: left !important;
    margin: 0 18px 0 0 !important;
    padding: 0 !important;
  }
  body.WishList #tblCart td.ShoppingCart .ShoppingCartThumbnail {
    width: 96px !important; height: 96px !important;
    object-fit: contain !important;
    background: #fff !important;
    border-radius: 6px !important;
    padding: 6px !important;
    box-sizing: border-box !important;
  }
  body.WishList #tblCart td.ShoppingCart .ProductInfo {
    overflow: hidden !important;
  }
  body.WishList #tblCart td.ShoppingCart .ItemName a {
    display: block !important;
    color: var(--accent) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    text-decoration: none !important;
  }
  body.WishList #tblCart td.ShoppingCart .ItemNumber,
  body.WishList #tblCart td.ShoppingCart .ItemNumber span {
    color: rgba(255,255,255,0.55) !important;
    font-size: 11px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    margin-bottom: 4px !important;
  }
  body.WishList #tblCart td.ShoppingCart .Variants,
  body.WishList #tblCart td.ShoppingCart .Variants table,
  body.WishList #tblCart td.ShoppingCart .Variants td {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 12px !important;
  }
  body.WishList #tblCart td.ShoppingCart .Variants { margin-bottom: 8px !important; }
  body.WishList #tblCart td.ShoppingCart .RemoveFromCartLink {
    display: inline-block !important;
    color: rgba(255,255,255,0.5) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    text-decoration: none !important;
    margin-top: 2px !important;
  }
  body.WishList #tblCart td.ShoppingCart .RemoveFromCartLink:hover { color: #ff5252 !important; }

  /* Move to Cart button on desktop */
  body.WishList #tblCart td.ShoppingCart > div[style*="clear"] {
    clear: both !important;
    padding-top: 12px !important;
  }
  body.WishList #tblCart input.ShoppingCartMoveToCartThemeButton {
    background: var(--accent) !important;
    color: #000 !important;
    border: 0 !important;
    padding: 10px 22px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.4px !important;
    font-size: 12px !important;
    cursor: pointer !important;
    transition: background 120ms ease !important;
  }
  body.WishList #tblCart input.ShoppingCartMoveToCartThemeButton:hover {
    background: #fff !important;
  }

  /* Price / Quantity / Total cells */
  body.WishList #tblCart td.ShoppingCartPrice,
  body.WishList #tblCart td.ShoppingCartQuantity {
    text-align: right !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }
  body.WishList #tblCart td.ShoppingCartQuantity { text-align: center !important; }
  body.WishList #tblCart td.ShoppingCartPrice .cartDollars,
  body.WishList #tblCart td.ShoppingCartPrice .cartCents { color: #fff !important; }
  body.WishList #tblCart td.ShoppingCartQuantity input[type="text"] {
    width: 56px !important;
    text-align: center !important;
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 6px 4px !important;
  }

  /* Top "Save selected items to a NEW / EXISTING List" panel */
  body.WishList #dvWishList { width: 100% !important; margin-bottom: 24px !important; }
  body.WishList #dvWishList th {
    width: 50% !important;
    padding: 14px 16px !important;
    background: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    border-bottom: 0 !important;
    color: rgba(255,255,255,0.85) !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.4px !important;
    font-weight: 600 !important;
    text-align: left !important;
  }
  body.WishList #dvWishList td {
    padding: 14px 16px 16px !important;
    background: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    border-top: 0 !important;
    vertical-align: top !important;
  }
  body.WishList #dvWishList th:first-child { border-right: 0 !important; }
  body.WishList #dvWishList th:last-child  { border-left: 0 !important; }
  body.WishList #dvWishList td:first-child { border-right: 0 !important; }
  body.WishList #dvWishList td:last-child  { border-left: 0 !important; }
  body.WishList #dvWishList input[type="text"],
  body.WishList #dvWishList select {
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    color: #fff !important;
    padding: 8px 10px !important;
    border-radius: 6px !important;
    margin-right: 10px !important;
    min-width: 180px !important;
  }

  /* Page title */
  body.WishList h1, body.WishList .page-header h1 {
    color: var(--accent) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.6px !important;
  }
}

/* Mobile: card-frame the saved-for-later items (same pattern as cart v47) */
@media (max-width: 768px) {
  body.WishList #tblCart,
  body.WishList #tblCart > tbody { display: block !important; width: 100% !important; }
  body.WishList #tblCart thead { display: none !important; }
  body.WishList #tblCart tr { display: block !important; width: 100% !important; }

  body.WishList #tblCart tr#trSelectAll {
    background: transparent !important;
    padding: 0 0 12px 0 !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  }
  body.WishList #tblCart tr#trSelectAll td {
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    padding: 6px 0 !important;
    width: 100% !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 11px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
  }

  /* Each item becomes a dark card */
  body.WishList #tblCart tbody tr:not(#trSelectAll) {
    background: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin-bottom: 14px !important;
    display: grid !important;
    grid-template-columns: 96px 1fr;
    column-gap: 14px;
    row-gap: 8px;
    position: relative !important;
  }
  body.WishList #tblCart tbody tr:not(#trSelectAll) td {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    width: auto !important;
    text-align: left !important;
    color: #fff !important;
  }
  /* First td (product info) spans into grid via display:contents */
  body.WishList #tblCart tbody tr:not(#trSelectAll) td.ShoppingCart:first-child {
    display: contents !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .dvChkSelect {
    grid-column: 2 !important; grid-row: 1 !important;
    justify-self: end !important;
    margin: 0 !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart > .thumbnail,
  body.WishList #tblCart tbody tr td.ShoppingCart > a.thumbnail {
    grid-column: 1 !important; grid-row: 1 / span 2 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .ShoppingCartThumbnail {
    width: 96px !important; height: 96px !important;
    object-fit: contain !important;
    background: #fff !important;
    border-radius: 6px !important;
    padding: 6px !important;
    box-sizing: border-box !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .ProductInfo {
    grid-column: 2 !important; grid-row: 1 !important;
    padding-right: 32px !important; /* leave space for the checkbox */
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .ItemName a {
    display: block !important;
    color: var(--accent) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    margin-bottom: 4px !important;
    text-decoration: none !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .ItemNumber,
  body.WishList #tblCart tbody tr td.ShoppingCart .ItemNumber span {
    font-size: 10px !important;
    color: rgba(255,255,255,0.5) !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .Variants,
  body.WishList #tblCart tbody tr td.ShoppingCart .Variants table,
  body.WishList #tblCart tbody tr td.ShoppingCart .Variants td {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 12px !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .RemoveFromCartLink {
    display: inline-block !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    color: rgba(255,255,255,0.5) !important;
    margin-top: 4px !important;
  }
  /* Move-to-cart button: full-width pill spanning both columns */
  body.WishList #tblCart tbody tr td.ShoppingCart > div[style*="clear"] {
    grid-column: 1 / -1 !important;
    margin-top: 4px !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart input.ShoppingCartMoveToCartThemeButton {
    width: 100% !important;
    background: var(--accent) !important;
    color: #000 !important;
    border: 0 !important;
    padding: 13px 16px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.4px !important;
    font-size: 12px !important;
  }
  /* Drop the empty spacer column on mobile */
  body.WishList #tblCart tbody tr td.ShoppingCartSpacer { display: none !important; }

  /* Price / Qty / Total become labeled full-width rows under the product */
  body.WishList #tblCart tbody tr td.ShoppingCartPrice,
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity {
    grid-column: 1 / -1 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-top: 1px solid rgba(255,255,255,0.07) !important;
    font-weight: 700 !important;
    color: #fff !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCartPrice .CartBorder,
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity .CartBorder { border: 0 !important; }
  body.WishList #tblCart tbody tr td.ShoppingCartPrice .CartItemPriceArea,
  body.WishList #tblCart tbody tr td.ShoppingCartPrice .CartItemTotalArea,
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity .CartUpdateItemArea {
    display: flex !important;
    align-items: center !important;
  }
  /* nth-child of cell on the row matters here: 3 = unit price, 4 = qty, 5 = total */
  body.WishList #tblCart tbody tr td.ShoppingCartPrice:nth-child(3)::before {
    content: "UNIT PRICE" !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity::before {
    content: "QUANTITY" !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCartPrice:nth-child(5)::before {
    content: "SUBTOTAL" !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCartPrice::before,
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity::before {
    font-size: 10px !important;
    letter-spacing: 1.4px !important;
    color: rgba(255,255,255,0.55) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
  }
  /* Hide qty chevrons inside the narrow card — type the number and tap UPDATE */
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity .icon-chevron-up,
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity .icon-chevron-down {
    display: none !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity .qty-spinner { margin: 0 !important; }
  body.WishList #tblCart tbody tr td.ShoppingCartQuantity input[type="text"] {
    width: 60px !important;
    text-align: center !important;
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 6px 4px !important;
  }

  /* Top "save selected items" panel stacks vertically on mobile */
  body.WishList #dvWishList,
  body.WishList #dvWishList > tbody,
  body.WishList #dvWishList tr { display: block !important; width: 100% !important; }
  body.WishList #dvWishList th,
  body.WishList #dvWishList td {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    background: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
    color: #fff !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    text-align: left !important;
  }
  body.WishList #dvWishList td {
    border-radius: 0 0 10px 10px !important;
    border-top: 0 !important;
    margin-top: -8px !important;
    margin-bottom: 14px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }
  body.WishList #dvWishList input[type="text"],
  body.WishList #dvWishList select {
    width: 100% !important;
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    color: #fff !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
  }
}

/* ======================================================================
v50 — Cart mobile button polish
- SAVE TO WISHLIST inside each cart card: was inline-block content-width
and right-floating, now full-width centered to balance the card.
- The CONTINUE SHOPPING / CLEAR CART ITEMS / SAVE THIS CART row was a
stack of left-aligned ghost pills with inconsistent widths; make them
full-width on mobile so the column reads as a tidy button group.
====================================================================== */
@media (max-width: 768px) {
  .wolf-cart .cart-item-wishlist {
    margin-top: 14px !important;
    width: 100% !important;
    text-align: center !important;
  }
  .wolf-cart .cart-item-wishlist input.MoveToWishListThemeButton,
  .wolf-cart .cart-item-wishlist input.MoveToWishlistButton,
  .wolf-cart .cart-item-wishlist .btn,
  .wolf-cart .cart-item-wishlist a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 11px 16px !important;
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #e6e6e6 !important;
    border: 1px solid #2a2a2a !important;
    text-transform: uppercase !important;
  }

  .wolf-cart .cart-button-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .wolf-cart .cart-button-row input,
  .wolf-cart .cart-button-row a {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    padding: 13px 18px !important;
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }
}

/* ======================================================================
v50 — Desktop OPC + Wishlist round 2 fixes
1. EXP DATE row: Month/Year selects fill their grid cell (were 75px
pinned by inline style, leaving empty space inside each label cell).
2. CVV column: kill the WHAT'S THIS? inline absolute position so the
link renders BELOW the iframe (was floating above by top:-30px).
3. CVV iframe alignment: drop a synthetic "CVV" eyebrow above the
iframe so its baseline matches Month/Year selects on the left.
4. GIFT OPTIONS panel: stretch the inner panel to fill its 50% column
(the outer div was already 50%, but the panel collapsed to content
width because the only content was a single checkbox).
5. Wishlist desktop polish: hide the per-item floating select checkbox
(the SELECT/DESELECT ALL row already covers selection); drop the
thumbnail's white padding so the image fills the frame; center the
QUANTITY cell content to match the right-aligned header.
====================================================================== */

@media (min-width: 769px) {
  /* (1) Month + Year fill their grid cells */
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) #ddExpireMonth,
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) #ddExpireYear {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* (2) WHAT'S THIS? — render below the CVV iframe instead of absolute-top */
  body.OnePageCheckOut .well.checkout #hlExplainCvv,
  body.OnePageCheckOut .well.checkout a.ExplainCVVText {
    position: static !important;
    top: auto !important;
    width: auto !important;
    display: inline-block !important;
    margin-top: 8px !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
  }
  /* The wrapping <em class="size-small"> can also force baseline weirdness */
  body.OnePageCheckOut .well.checkout .col-sm-3 .size-small {
    display: block !important;
    font-style: normal !important;
    margin-top: 6px !important;
  }

  /* (3) CVV column — superseded by v51 (lines ~4046+). The Tokenex iframe
  renders its own "CVV" label internally; don't add a synthetic one
  here or it will duplicate. Layout/sizing is handled by v51. */
  body.OnePageCheckOut .well.checkout .panel .row:has(#ddExpireMonth) > .col-sm-3 > label::before {
    content: none !important;
    display: none !important;
  }

  /* (4) GIFT OPTIONS inner panel stretches to fill the 50% column */
  body.OnePageCheckOut .well.checkout .OrderGiftingArea .panel,
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea .panel,
  body.OnePageCheckOut .well.checkout .PublicCommentsArea .panel {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* (5) WISHLIST desktop polish */
  /* Hide the floating per-item checkbox (SELECT/DESELECT ALL already covers it
  and it looks like an alignment artifact between the thumbnail and title). */
  body.WishList #tblCart tbody tr:not(#trSelectAll) td.ShoppingCart .dvChkSelect {
    display: none !important;
  }
  /* Drop the white frame padding so the product image fills its 96px box */
  body.WishList #tblCart td.ShoppingCart .ShoppingCartThumbnail {
    padding: 0 !important;
  }
  /* Center QUANTITY column content under the right-aligned header */
  body.WishList #tblCart td.ShoppingCartQuantity {
    text-align: center !important;
  }
  body.WishList #tblCart .ShoppingCartQuantityHeader {
    text-align: center !important;
  }
}

/* Mobile parity: hide per-item floating checkbox on the small viewport too —
the SELECT/DESELECT ALL row keeps bulk-select working and the floating
checkbox was overlapping the title column in the narrow card. */
@media (max-width: 768px) {
  body.WishList #tblCart tbody tr td.ShoppingCart .dvChkSelect {
    display: none !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .ShoppingCartThumbnail {
    padding: 0 !important;
  }
  body.WishList #tblCart tbody tr td.ShoppingCart .ProductInfo {
    padding-right: 0 !important; /* checkbox slot reclaimed for the title */
  }
}

/* ======================================================================
v51c — ExplainCVV.aspx popup retheme.
This is the "What's this?" popup opened from the CVV field on the
OnePageCheckOut. It uses the BlankTemplate (no nav, no footer), so we
own the entire viewport. Brand it to match the site: dark background,
cyan accent heading, breathing room, framed card-graphic illustrations.
====================================================================== */
body.ExplainCVV {
  background: #0a0a0a !important;
  color: #e6e6e6 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  margin: 0 !important;
  padding: 48px 24px !important;
}
body.ExplainCVV #MainForm,
body.ExplainCVV #MainForm > div,
body.ExplainCVV form {
  max-width: 720px !important;
  margin: 0 auto !important;
}
body.ExplainCVV h1#lblHeader,
body.ExplainCVV .CheckOutHeader {
  color: var(--accent, #00d4ff) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
  font-family: 'Inter', sans-serif !important;
}
body.ExplainCVV .CheckOutSubHeader {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 24px 0 12px 0 !important;
}
body.ExplainCVV .CheckOutText {
  color: rgba(255,255,255,0.75) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 0 24px 0 !important;
}
body.ExplainCVV img {
  display: inline-block !important;
  background: #fff !important;
  border-radius: 8px !important;
  padding: 12px !important;
  margin: 8px !important;
  max-width: 100% !important;
  height: auto !important;
}
/* Center the two-card image row */
body.ExplainCVV center,
body.ExplainCVV [align="center"] {
  display: block !important;
  text-align: center !important;
  margin: 16px 0 !important;
}

/* ======================================================================
v51d — Just give DISCOUNT card breathing room at the bottom.
Earlier attempts to align DISCOUNT / COMMENTS / GIFT to the same edges
as the CC card made things worse — they live at different DOM depths
and the cascading width rules fight back. Leaving widths alone, only
fix the visible problem: the DISCOUNTS card was clipped tight to its
COUPON CODE row with no padding-bottom, making the card edge feel
abrupt. Increase the wrapper's bottom padding so the card breathes. */
/* DISCOUNTS card lives INSIDE PaymentMethodArea which has 28px lateral
padding, while COMMENTS/GIFT and CONFIRM cards are siblings OUTSIDE
it. That's why DISCOUNTS was 56px narrower than the surrounding cards.
Pull it out with negative margin and add the lost padding back inside
so the layout reads as one column with consistent edges. */
@media (min-width: 769px) {
  body.OnePageCheckOut .well.checkout #CouponCodeArea {
    margin-left: -28px !important;
    margin-right: -28px !important;
    margin-bottom: 36px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    padding-top: 24px !important;
    padding-bottom: 36px !important;
  }

  /* COMMENTS + GIFT row: switch from float-based 50/50 to flexbox so the
  two halves are GUARANTEED equal width regardless of content. The old
  float layout left a sub-pixel asymmetry that read as "different
  widths" even though offsetWidths matched. flex 1 1 0 forces both
  halves to compute identically from the same base.
  CRITICAL: Bootstrap's .row::before and .row::after clearfix pseudos
  have `display: table; content: " "` which makes them participate as
  invisible flex items, eating one `gap` width on each end of the row.
  Kill them with display:none so the actual two columns butt against
  the row's left/right edges. */
  body.OnePageCheckOut .well.checkout .col-sm-9 > .row:has(#PublicOrderCommentsArea),
  body.OnePageCheckOut .well.checkout .col-sm-9 > .row:has(.PublicCommentsArea) {
    display: flex !important;
    flex-direction: row !important;
    gap: 16px !important;
    align-items: stretch !important;
    margin: 0 0 24px 0 !important;
  }
  body.OnePageCheckOut .well.checkout .col-sm-9 > .row:has(#PublicOrderCommentsArea)::before,
  body.OnePageCheckOut .well.checkout .col-sm-9 > .row:has(#PublicOrderCommentsArea)::after,
  body.OnePageCheckOut .well.checkout .col-sm-9 > .row:has(.PublicCommentsArea)::before,
  body.OnePageCheckOut .well.checkout .col-sm-9 > .row:has(.PublicCommentsArea)::after {
    display: none !important;
  }
  body.OnePageCheckOut .well.checkout #PublicOrderCommentsArea,
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea {
    flex: 1 1 0 !important;
    width: auto !important; max-width: none !important; min-width: 0 !important;
    float: none !important;
    padding: 0 !important; margin: 0 !important;
    box-sizing: border-box !important;
  }
  body.OnePageCheckOut .well.checkout #PublicOrderCommentsArea > .col-sm-6,
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea > .col-sm-6,
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea .OrderGiftingArea > .col-sm-6 {
    width: 100% !important; max-width: 100% !important;
    padding: 0 !important; margin: 0 !important;
    float: none !important;
  }
  body.OnePageCheckOut .well.checkout .PublicCommentsArea .panel,
  body.OnePageCheckOut .well.checkout #UpdatePanelGiftArea .panel {
    width: 100% !important; margin: 0 !important; box-sizing: border-box !important;
  }
}

/* Login page show/hide password toggle. Wraps $$PASSWORDBOX$$ so the
button overlays the input. display:flex on the wrap strips the
whitespace text nodes around <input> and <button> from layout, so
the wrap collapses to the input's height and the absolutely-
positioned button centers on the input. !important blocks here beat
the .btn .btn-default Bootstrap defaults AmeriCommerce auto-injects
on every <button>. ::-ms-reveal / ::-webkit-credentials-auto-fill-
button kill the browser-native reveal icons that would compete. */
body.CustomerLogin .auth-pwd-wrap {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 10px;  /* preserve outer spacing the input used to provide */
}
body.CustomerLogin .auth-pwd-wrap > input[type="password"],
body.CustomerLogin .auth-pwd-wrap > input[type="text"] {
  flex: 1 1 auto !important;
  padding-right: 44px !important;
  min-width: 0 !important;
  /* CRITICAL: in flex layout, child margins count toward container height.
  The platform applies margin-bottom: 10px to .PasswordTextbox, which
  inflates the wrap from 42 → 52 and pushes the absolute toggle button
  5px below the input's real center. Zero it here. */
  margin: 0 !important;
}
body.CustomerLogin .auth-pwd-wrap input::-ms-reveal,
body.CustomerLogin .auth-pwd-wrap input::-ms-clear {
  display: none !important;
}
body.CustomerLogin .auth-pwd-wrap input::-webkit-credentials-auto-fill-button,
body.CustomerLogin .auth-pwd-wrap input::-webkit-textfield-decoration-container {
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
}
body.CustomerLogin button.auth-pwd-toggle {
  position: absolute !important;
  right: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--text-3) !important;
  padding: 8px !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font: inherit !important;
}
body.CustomerLogin button.auth-pwd-toggle:hover { color: var(--accent) !important; background: transparent !important; }
body.CustomerLogin button.auth-pwd-toggle:focus-visible {
  outline: 2px solid var(--accent) !important;
  outline-offset: 2px;
  background: transparent !important;
}
body.CustomerLogin button.auth-pwd-toggle svg { display: block; }

/* ============ May We Suggest interstitial (MayWeSuggestPage) ============ */
/* Retheme of the stock add-to-cart interstitial: message + actions up top,
suggested products below as standard product cards (homepage Featured markup). */
.wolf-mws .mws-head {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 32px 8px;
  text-align: center;
}
.wolf-mws .mws-message {
  color: var(--text);
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 10px 0 26px;
}
.wolf-mws .mws-message a { color: var(--accent); }
.wolf-mws .mws-message:empty { display: none; }
.wolf-mws .mws-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}
/* AmeriCommerce renders the two actions as ThemeButton links/inputs -> our pills.
Checkout = solid accent; continue shopping = ghost outline. */
.wolf-mws .mws-actions a,
.wolf-mws .mws-actions input[type="button"],
.wolf-mws .mws-actions input[type="submit"],
.wolf-mws .mws-actions button {
  display: inline-block;
  background: transparent !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 999px !important;
  color: var(--text) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 12px 26px !important;
  height: auto !important;
  line-height: 1 !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.wolf-mws .mws-actions a:hover,
.wolf-mws .mws-actions input[type="button"]:hover,
.wolf-mws .mws-actions input[type="submit"]:hover,
.wolf-mws .mws-actions button:hover { border-color: var(--accent) !important; color: var(--accent) !important; }
.wolf-mws .mws-actions a[id*="Checkout" i],
.wolf-mws .mws-actions a[href*="checkout" i],
.wolf-mws .mws-actions input[id*="Checkout" i] {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #000 !important;
}
.wolf-mws .mws-actions a[id*="Checkout" i]:hover,
.wolf-mws .mws-actions a[href*="checkout" i]:hover,
.wolf-mws .mws-actions input[id*="Checkout" i]:hover { background: #079299 !important; border-color: #079299 !important; color: #000 !important; }
.wolf-mws-grid section { padding-top: 24px; }

/* ============ Dynamic merch strip (homepage INFINITY LIFESTYLE) ============ */
/* CategoryProductList widget tiles: $$PHOTO$$ renders an <img> inside .cat-photo ->
cover-fit it like the old hardcoded tiles; $$PRICE$$ rides in the .cat-tag slot. */
.merch-grid-dyn .cat-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.85;
}
.merch-grid-dyn .cat-tag { color: var(--accent); }

/* ============ Mobile category chip rail (replaces the Filter bottom-sheet) ============
On phones the category list was hidden behind a "Filter" button + bottom sheet —
same discoverability sin as the OG theme's "Shop by Category" accordion. Instead,
the sidebar's dynamic category list renders as an always-visible, horizontally
swipeable chip rail under the page title. Desktop sidebar untouched. */
@media (max-width: 768px) {
  body .wolf-plp .filter-toggle { display: none !important; }
  body .wolf-plp .plp-sidebar-head { display: none !important; }
  /* the sidebar used to be position:fixed (bottom sheet), so the plp-body grid never saw it;
  now that it's in-flow, stack the layout and clamp widths or the no-wrap rail inflates
  its grid track to the chips' full width (2500px+ page) instead of scrolling */
  body .wolf-plp .plp-body { display: block !important; }
  body .wolf-plp .plp-body aside,
  body .wolf-plp .plp-sidebar {
    position: static !important;
    transform: none !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: auto !important;
    overflow: visible !important;
  }
  body .wolf-plp .plp-sidebar::before,
  body .wolf-plp .plp-sidebar::after { display: none !important; }
  body .wolf-plp .plp-sidebar .filter-section {
    margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
  }
  body .wolf-plp .plp-sidebar .filter-title {
    font-size: 10px !important; letter-spacing: 2px !important; text-transform: uppercase !important;
    color: var(--accent) !important; background: transparent !important;
    /* full-bleed so the CATEGORIES divider matches the full-width hero divider +
    rail; label text aligns with the title at the 16px gutter */
    margin: 0 -32px 10px !important; padding: 0 16px 10px !important;
  }
  /* $$HEADER$$ renders AmeriCommerce's native .ControlHeader (pure-black bg) INSIDE
  our .filter-title — that black bar over the "Categories" label read as a broken
  cut-off on mobile. Strip its bg/padding so only our cyan label shows. */
  body .wolf-plp .plp-sidebar .filter-title .ControlHeader,
  body .wolf-plp .plp-sidebar .filter-title [class*="ControlHeader"] {
    background: transparent !important; padding: 0 !important; margin: 0 !important;
  }
  body .wolf-plp ul.plp-cat-list {
    display: flex !important;
    min-width: 0 !important;
    /* Full-bleed the chip rail to the screen edges: break out of the 16px page
    gutter + 16px plp-body padding (= 32px each side) and grow width to match.
    16px inner padding keeps the first/last chip off the very edge. The
    Products/Sort toolbar and product cards keep the normal 16px gutter. */
    max-width: none !important;
    width: calc(100% + 64px) !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 16px 14px !important;
    margin: 0 -32px 10px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    list-style: none !important;
  }
  body .wolf-plp ul.plp-cat-list::-webkit-scrollbar { display: none !important; }
  body .wolf-plp ul.plp-cat-list li {
    flex: 0 0 auto !important; display: block !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important;
  }
  /* the desktop sidebar's active indicator (cyan bar via li.plp-cat-active::before)
  floats next to the chip on the rail — the cyan chip itself is the indicator here */
  body .wolf-plp ul.plp-cat-list li::before,
  body .wolf-plp ul.plp-cat-list li.plp-cat-active::before { display: none !important; content: none !important; }
  body .wolf-plp ul.plp-cat-list li a {
    display: inline-block !important;
    white-space: nowrap !important;
    padding: 9px 16px !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 999px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--text-2) !important;
    background: var(--surface) !important;
    text-decoration: none !important;
    width: auto !important;
    text-align: center !important;
  }
  body .wolf-plp ul.plp-cat-list li.plp-cat-active a,
  body .wolf-plp ul.plp-cat-list a.plp-cat-active {
    background: var(--accent) !important;
    color: #000 !important;
    @media (max-width: 767px) {
  .wolf-pdp .pdp-gallery { flex-direction: column !important; }
  .wolf-pdp .pdp-thumbs { order: 999 !important; display: flex !important; flex-direction: row; overflow-x: auto; }
}  border-color: var(--accent) !important;
    @media (max-width: 767px) {
      .wolf-pdp .pdp-gallery { flex-direction: column; }
      .wolf-pdp .pdp-thumbs { order: 2; display: flex !important; flex-direction: row; overflow-x: auto; }
    }
  }
}