/**
 * Main CSS Stylesheet
 *
 * @copyright Copyright 2003-2022 Zen Cart Development Team
 * @copyright Portions Copyright 2003 osCommerce
 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
 * @version $Id: John 2022 Jul 07 Modified in v1.5.8-alpha $
 */

/*bof basic elements*/
body {margin:0;font-family:verdana, arial, helvetica, sans-serif;font-size:72.5%;line-height:140%;}
/*general link styles*/
a img {border:none;}
a:link, #navEZPagesTOC ul li a {text-decoration:underline;}
a:visited {text-decoration:underline;}
.sideBoxContent a:visited{}
a:hover, #navEZPagesTOC ul li a:hover, #navMain ul li a:hover, #navSupp ul li a:hover{}
a:active {}
/*heading styles*/
h1 {font-size:1.8em;line-height:25px;}
h2 {font-size:1.4em;}
h3 {font-size:1.3em;}
h4, h5, h6, h4.optionName, LEGEND, ADDRESS, .larger{font-size:1.1em;}
h1, h2, h3, h4, h5, h6 {margin:20px 0;}
.biggerText {font-size:1.2em;line-height:160%;}
P, ADDRESS {padding:0.5em;}
ADDRESS {font-style:normal;}
HR {height: 1px;margin-top:0.5em;border:none;}
#logo, .centerBoxContents, .specialsListBoxContents, .categoryListBoxContents, .centerBoxContentsAlsoPurch, .attribImg {float:left;}
.centeredContent, TH, #cartEmptyText, #cartBoxGVButton, #cartBoxEmpty, #cartBoxVoucherBalance, #navCatTabsWrapper, #navEZPageNextPrev, #bannerOne, #bannerTwo,  #bannerThree,  #bannerFour,  #bannerFive,  #bannerSix, #siteinfoLegal, #siteinfoCredits, #siteinfoStatus, #siteinfoIP, .center, .cartRemoveItemDisplay, .cartQuantityUpdate, .cartQuantity, .cartTotalsDisplay, #cartBoxGVBalance, .leftBoxHeading, .centerBoxHeading,.rightBoxHeading, .productListing-data, .accountQuantityDisplay, .ratingRow, LABEL#textAreaReviews, #productMainImage, #reviewsInfoDefaultProductImage, #productReviewsDefaultProductImage, #reviewWriteMainImage, .centerBoxContents, .specialsListBoxContents, .categoryListBoxContents, .additionalImages, .centerBoxContentsSpecials, .centerBoxContentsAlsoPurch, .centerBoxContentsFeatured, .centerBoxContentsNew, .gvBal, .attribImg {text-align:center;}
#navCategoryIcon, .buttonRow, #indexProductListCatDescription {margin:0.5em;}
/*floats and clears*/
.back {float:left;}
.forward, #shoppingCartDefault #PPECbutton {float:right;}
.clearBoth {clear:both;}
.bold {font-weight:bold;}
.hiddenField {display:none;}
.visibleField {display:inline;}
#contentColumnMain, #navColumnOne, #navColumnTwo, .centerBoxContents, .specialsListBoxContents, .categoryListBoxContents, .additionalImages, .centerBoxContentsSpecials, .centerBoxContentsAlsoPurch, .centerBoxContentsFeatured, .centerBoxContentsNew, .alert {vertical-align:top;}
.alert {margin-left:0.5em;}
.important {font-weight:bold;}
.gvBal {float:right;}
.centerColumn, #bannerOne, #bannerTwo,  #bannerThree,  #bannerFour,  #bannerFive,  #bannerSix {padding:0.8em;}
.smallText, #siteinfoLegal, #siteinfoCredits, #siteinfoStatus, #siteinfoIP {font-size:0.9em;}
.information {padding: 10px 3px; line-height: 150%;}
.group:after {content: "";display:table;clear:both;}
/*blue text color change to your color*/
.blue{}
.blue:hover{}
.last{border:none !important;}
.no-fouc {display: none;}
.italic{font-style:italic;}
.back-margin{margin-top:30px;}
.onerow-fluid{width:75% !important;margin:auto;}

/*bof form elements*/
CODE {font-family:arial, verdana, helvetica, sans-serif;font-size:1em;}
FORM, SELECT, INPUT {display:inline;font-size:1em;margin:0 0.1em 0 0;}
input{height:35px;padding-left:5px;margin-bottom:10px;}
select{border:none;padding-left:5px;width:51%;}
TEXTAREA {margin:auto;display:block;width:66%;}
input:focus, select:focus, textarea:focus {}
legend{padding:0;display:table;text-align:center;width:100%;padding:10px 0;font-size:1.3em;}
fieldset{border:0;padding:0.01em 0 0 0;padding-bottom:20px;padding-top:20px;margin:0;min-width:0;margin-bottom:20px;}
body:not(:-moz-handler-blocked) fieldset{display:table-cell;}
fieldset > fieldset{}
fieldset fieldset legend{text-align:left;padding:0;margin:0;position:relative;left:20px;font-size:120%;display:table;background:none;}
fieldset p{margin-left:20px;}
fieldset label, fieldset .inputLabel, fieldset h3, fieldset address, #advSearchDefault input, fieldset .buttonRow.back, fieldset select, fieldset input[type=radio], fieldset input[type=checkbox], fieldset div{margin-left:20px;}
fieldset div, fieldset .buttonRow.forward{margin-right:20px;}
option{font-size:110%;}
LABEL, h4.optionName {line-height:1.5em;padding:0.2em;}
LABEL.checkboxLabel, LABEL.radioButtonLabel {margin:0.5em 0.3em;}
LABEL.inputLabel {width:11em;float:left;}
LABEL.inputLabelPayment {width:15em;float:left;}
LABEL.selectLabel, LABEL.switchedLabel, LABEL.uploadsLabel {width:12em;float:left;}
LABEL#textAreaReviews {font-weight:normal;margin:1em 0;}
input[type=text]{width:50%;}
#password-current, #login-password, #password-new, #password-confirm{width:50%;}
input[type=radio], input[type=checkbox]{margin-top:8px;vertical-align:middle;height:auto;}
input[type=file], input[type=image]{border:none;width:auto;height:auto;}
input[type=tel], input[type=email], input[type=password]{width:50%;}
select#country, .wrapperAttribsOptions select, #advSearchDefault select, select#stateZone {height:40px;}
select#send-to {font-size: 1.1em; margin-bottom: 10px; margin-left: 0;}
select#country, select#stateZone, #state {margin-left:0;}
.ccinfo select{width:auto;height:25px;margin-bottom:10px;}
.sideBoxContent select{width:90%; margin: auto; margin-bottom: 5px;}
#currenciesContent select{height:35px;}

/*bof warnings, errors, messages*/
.messageStackWarning, .messageStackError, .messageStackSuccess, .messageStackCaution {line-height:1.8em;padding:20px;}
.messageStackWarning, .messageStackError {}
.messageStackSuccess {}
.messageStackCaution {}

/*bof wrappers - page or section containers*/
#mainWrapper {text-align:left;width:100%;vertical-align:top;}
#headerWrapper, #contentMainWrapper, #logoWrapper, #cartBoxListWrapper, #ezPageBoxList, #cartBoxListWrapper ul, #ezPageBoxList ul, #mainWrapper, #popupAdditionalImage,
#popupImage {margin:0;padding:0;}
#contentMainWrapper{padding-bottom:30px;}
#navColumnOneWrapper, #navColumnTwoWrapper, #mainWrapper{margin:auto;}
#mainWrapper{}
#sendSpendWrapper {padding:20px 0;width:100%;}
#sendSpendWrapper .buttonRow{margin-right:20px;}
.floatingBox, #accountLinksWrapper, #checkoutShipto, #checkoutBillto, #navEZPagesTOCWrapper {margin:0;width:47%;}
.floatingBox{width:46%;}
#loginDefault .floatingBox{min-height:240px;}
.shippingEstimatorWrapper {padding:0.5em;}

/*bof header*/
#headerWrapper{}
/*top left navigation*/
#navMainWrapper {margin:0;padding:10px 0;font-size:120%;height:1%;width:100% !important;}
#navMain{width:75%;margin:0 auto;}
#navMain ul  {margin:0;padding:0.5em 0;width:60%;list-style-type:none;text-align:left;line-height:1.5em;}
#navMain ul li {display:inline;}
#navMain ul li a {text-decoration:none;padding:0 0.8em;margin:0;white-space:nowrap;}
#navMain ul li a.navCartContentsIndicator {padding: 10px;border-radius: 10px;margin-right: 5px;}
/*top right search*/
#navMainSearch {width:38%;text-align:right;}
#navMainSearch input[type=text]{vertical-align:top;display:inline-block;border:0;width:65% !important;height:32px;margin:0;font-size:0.9em;-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
#navMainSearch input[type=submit]{-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;display:inline-block;margin:0;height:32px;}

.cart-add input[type=text]{vertical-align:top;display:inline-block;-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;height:42px;border:3px solid #ccc;}
.cart-add input[type=submit], #navMainSearch input[type=submit]{-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;display:inline-block;margin:0;height:32px;}


/*top middle*/
#logo{margin:10px 0;}
#tagline {font-size:1.8em;text-align:center;margin-top:10px;}
/*top categories tabs navigation*/
#navCatTabsWrapper {margin:0;width:100%;}
#navCatTabs ul {font-size:0;text-align:center;overflow:hidden;}
#navCatTabs li {font-size:0.75rem;display: inline-block;margin-top:0;}
#navCatTabs ul li:last-child{}
#navCatTabs li a {text-decoration: none;padding: 1.2em 1.0em;display: block;}
#navCatTabs li a:hover {}
#navCatTabs li:hover{}
/*top ezpages links*/
#navEZPagesTop {margin:0;width:100%;}
#navEZPagesTop ul {font-size:0;text-align:center;overflow:hidden;}
#navEZPagesTop li {font-size:0.75rem;display: inline-block;margin-top:0;}
#navEZPagesTop ul li:last-child{}
#navEZPagesTop li a {text-decoration: none;padding: 1.2em 1.0em;display: block;}
#navEZPagesTop li a:hover {}

.pagination{margin-top:-10px;}
.pagination ul {font-size:0;text-align:center;overflow:hidden;padding:0;}
.pagination li {font-size:0.7rem;display: inline-block;margin-top:0;}
.pagination li:first-child{border-left:0;}
.pagination li a {text-decoration: none;padding: 1.2em 1.0em;display: block;}
.pagination li a:hover {}
.pagination .current{padding:1.2em 1.0em;}

/*breadcrumbs*/
#navBreadCrumb {margin:0;padding:0.5em;}
#navBreadCrumb a{text-decoration:none;}
#navBreadCrumb a:visited{}
/*view cart icon for phones*/
#navMain i.fa.fa-share{position:relative;top:-10px;left:-10px;}

/*bof footer*/
/*bottom ezpages links*/
#navSuppWrapper {margin:0;width:100%;}
#navSupp ul {font-size:0;text-align:center;}
#navSupp li {font-size:0.75rem;display: inline-block;margin-top:0;}
#navSupp ul li:last-child{}
#navSupp li a {text-decoration: none;padding: 1.2em 1.0em;display: block;}
#navSupp li a:hover {}
/*footer copyright*/
#siteinfoIP, #siteinfoLegal, #bannerSix{font-weight:normal;padding:1.0em 0;margin:0;}
#siteinfoLegal a{}
#siteinfoLegal a:hover{}

/*bof ezpages*/
#navEZPagesTOCWrapper {float:right;padding:0 20px 20px 20px;margin:0 0 20px 20px;}
#navEZPagesTOC ul {margin:0;padding:0.5em 0;list-style-type:none;line-height:1.5em;}
#navEZPagesTOC ul li {white-space:nowrap;font-size:130%;line-height:150%;}
#navEZPagesTOC ul li a {padding:0 0.5em;margin:0;text-decoration:none;/*remove text decoration if you want an underline*/}
#navEZPageNextPrev{margin-bottom:30px;}

/*bof left and right hand columns*/
/*styles for centerbox, left and right hand headings*/
h2.centerBoxHeading, h3.rightBoxHeading, h3.leftBoxHeading{font-size:1.2em;font-weight:normal;}
h3.rightBoxHeading a, h3.leftBoxHeading a{color: #ffffff;font-weight:normal;text-decoration:none;/*remove text decoration if you want an underline*/}
h3.rightBoxHeading a:hover, h3.leftBoxHeading a:hover {text-decoration:none;}
.rightBoxHeading, .leftBoxHeading, .centerBoxHeading {margin:0;padding:1.0em 0.2em;}
/*sidebox content styles*/
.sideBoxContent {padding:1.0em;margin-bottom:10px;}
.sideBoxContent a{padding:0.3em 0;display:inline-block;font-size:1.1em;text-decoration:none; /*remove text decoration for underlined links*/}
.sideBoxContent a:hover{}
.sideBoxContentItem{padding:1.0em 0;display:block;cursor:pointer;}
.sideBoxContentItem:hover {}
.sideBoxContentItem img, .reviewsContent img{margin-bottom:20px;}
.rightBoxContent {margin-bottom:1em;}
#ezpagesContent, #informationContent, #moreinformationContent, #bestsellersContent, #documentcategoriesContent, #categoriesContent{padding:0;}
ul.list-links, ol.list-links{padding:0;margin-top:0;}
ul.list-links li{list-style-type:none;}
ol.list-links li{}
ul.list-links li a, ol.list-links li a{padding:10px;display:block;}
ul.list-links li:hover, ol.list-links li:hover{}
.cat-count{}
#cartBoxListWrapper li, .orderHistList li{list-style-type:none;padding:8px 0;}
#cartBoxListWrapper li a, .orderHistList li a{display:inline !important;}
.orderHistList i{margin-left:10px;display:inline;}
#cartBoxListWrapper, .orderHistList {margin:0;padding:0;}
#shoppingcartContent hr{display:none;}
.cartBoxTotal{padding:10px !important;}
.sideBoxContent .productPriceDiscount{font-size:130%;margin-top:3px;}
.sideBoxContent .productSpecialPrice{font-size:120%;}

/*bof shopping cart*/
.tableHeading TH {padding:10px 0;}
.tableHeading{}
#cartSubTotal {text-align:right;line-height:2.2em;padding:10px 0 20px 0;font-size:130%;}
.tableRow, .tableHeading, #cartSubTotal {height:2.2em;}
.cartProductDisplay, .cartUnitDisplay, .cartTotalDisplay, .cartRemoveItemDisplay, .cartQuantityUpdate, .cartQuantity, #cartInstructionsDisplay, .cartTotalsDisplay {padding: 0.5em 0;}
.cartUnitDisplay, .cartTotalDisplay {text-align:right;padding-right:0.2em;}
.cartTotalDisplay{font-size:130%;}
#scUpdateQuantity {width:2em;}
.cartQuantity {width:4.7em;}
.cartNewItem {position:relative;}
.cartOldItem {position:relative;}
.cartBoxTotal {text-align:right;font-weight:bold;}
.cartRemoveItemDisplay {width:3.5em;}
.cartAttribsList {margin-left:1em;}
.normalprice, .productSpecialPriceSale {text-decoration:line-through;}
.productSpecialPrice, .productSalePrice, .productSpecialPriceSale, .productPriceDiscount {}
#ezPageBoxList ul {list-style-type:none;}
#ezPageBoxList li, .cartBoxTotal {margin:0;padding: 0.2em 0;}
#cartBoxEmpty, #cartBoxVoucherBalance {font-weight:bold;}
.totalBox {width:5.5em;text-align:right;padding:0.2em;}
.lineTitle, .amount {text-align:right;padding:0.2em;}
.amount {width:5.5em;}
#shoppingcartBody #shippingEstimatorContent {clear:both;}
.seDisplayedAddressLabel {text-align:center;padding:10px 0;}
.seDisplayedAddressInfo {text-transform:uppercase;text-align:center;font-weight:bold;}
#seShipTo {padding:0.2em;}
TR.tableHeading {}
.rowOdd {height:1.5em;vertical-align:top;}
.rowEven {height:1.5em;vertical-align:top;}
.cartProdTitle{font-size:120%;}
.cartProductDisplay a{text-decoration:none;}
/*shipping estimator styles*/
#shippingEstimatorContent h2{padding:20px 0;font-weight:normal;text-align:center;}
#shippingEstimatorContent table{border:none !important;margin-top:30px;}
#shippingEstimatorContent td, #shippingEstimatorContent th{border:none !important;}
#shippingEstimatorContent th{padding:10px 0;}
#shippingEstimatorContent tr:nth-child(odd){}
#shippingEstimatorContent td{padding:10px;}

/*bof checkout*/
#order-comments{padding:5px 20px 20px 20px;margin:20px 0;}
#checkoutConfirmDefault .cartTableHeading{height:40px;}
#checkoutShipping .important{margin-right:20px;}
#checkoutShipping input[type=radio]{margin-left:20px;}
#checkoutOrderTotals div, #csNotifications .buttonRow{margin-right:20px;}
#checkoutPayment label, #csNotifications input{margin-left:20px;}
div#checkoutShippingContentChoose{margin-bottom:20px;}
#sendSpendWrapper h2{margin-top:-20px;}

/*bof images*/
#productMainImage, #reviewsInfoDefaultProductImage, #productReviewsDefaultProductImage, #reviewWriteMainImage {margin:0 1em 1em 0;}
.cartImage {margin:0.5em 1em;}

/*bof center boxes*/
.centerBoxContents, .specialsListBoxContents, .categoryListBoxContents, .additionalImages, .centerBoxContentsSpecials, .centerBoxContentsAlsoPurch, .centerBoxContentsFeatured, .centerBoxContentsNew {margin:1em 0;}
.specialsListBoxContents a, .centerBoxContentsAlsoPurch a, .centerBoxContentsFeatured a, .centerBoxContentsSpecials a, .centerBoxContentsNew a{margin:10px auto;font-size:0.8em;display:block;width:90%;text-decoration:none; /*remove text decoration for underlined links*/}
.specialsListBoxContents, .centerBoxContentsSpecials, .centerBoxContentsAlsoPurch, .centerBoxContentsFeatured, .centerBoxContentsNew{font-size:1.6em;cursor:pointer;padding:20px 0;}
.specialsListBoxContents:hover, .centerBoxContentsSpecials:hover, .centerBoxContentsAlsoPurch:hover, .centerBoxContentsFeatured:hover, .centerBoxContentsNew:hover{}
.centerBoxWrapper{overflow:hidden;margin-bottom:30px;clear:both;}
.productPriceDiscount{margin:10px 0 5px 0;display:block;font-size:90%;}
.productPriceDiscount br{display:none;}
.normalprice{font-size:0.9em;}

/*bof categories and product listing*/
#productListHeading, #indexCategoriesHeading{font-weight:normal;margin-bottom:20px;}
.categoryListBoxContents img{margin-bottom:10px;}
.categoryListBoxContents a{font-size:1.2em;text-decoration:none;}
.categoryListBoxContents a:hover{}
.categoryListBoxContents{padding:20px 0;display:block;cursor:pointer;}
.categoryListBoxContents:hover{}
.categoryListBoxContents:hover a{}
#indexProductListCatDescription, #categoryDescription{margin-left:5%;float:left;}
#cat-top{margin-bottom:20px;}
#cat-left{text-align:center;}
#filter-wrapper{padding:10px;}
#filter-wrapper select{width:25%;height:35px;}
.navSplitPagesLinks {display:inline-block;}
.navSplitPagesLinks a{padding:10px;font-weight:bold;text-decoration:none;}
.navSplitPagesLinks a:hover{}
.navSplitEmpty3rdColumn {margin-left: 0 !important;}
.current{padding:10px;}
.productListing-rowheading{padding:10px 10px;text-align:center;}
.productListing-rowheading a{display:inline-block;padding:10px 30px;text-decoration:none;}
.productListing-rowheading a:hover{}
.productListing-odd{padding:20px;overflow:hidden;}
.productListing-even{padding:20px;overflow:hidden;}
.productListing-even, .productListing-odd{clear:both;}
.productListing-even:hover, .productListing-odd:hover{}
.productListing-even form, .productListing-odd form{float:right;}
.cart-add input[type=text]{width:auto !important;}
.list-image{min-height:200px;min-width:20%;float:left;margin-right:5%;}
.list-price{font-size:140%;margin:5px 0;}
.list-more{display:block;padding:8px 20px;float:right;text-align:center;text-decoration:none !important;width:50%;}
.list-more:hover{}
#indexProductList .list-more{width:auto;margin-top:-50px;}
#searchresultBody .list-more{width:auto;}
.itemTitle{font-weight:normal;font-size:150%;margin:5px 0;width:80%;}
.itemTitle a{text-decoration:none;}
.itemTitle a:hover{}
.tabTable{margin-bottom:20px;}
.listingDescription{width:75%;margin:10px 0;}
.cart-add{float:right;}
.list-input{float:right;width:10%;}
span.list-addtext{display:block;text-align:center;}
.list-input input[type=text]{width:100%;}
.prod-list-wrap{text-align:center;padding:20px 10px 10px 20px;clear:both;height:40px;}
#productsListingListingBottomLinks, #allProductsListingTopLinks, #allProductsListingBottomLinks, #featuredProductsListingTopLinks, #featuredProductsListingBottomLinks, #newProductsDefaultListingTopLinks, #newProductsDefaultListingBottomLinks, #productsListingListingTopLinks{width:47%;margin-left:25%;text-align:center;}
#productsListingBottomNumber, #allProductsListingBottomNumber, #allProductsListingTopNumber, #productsListingTopNumber, #featuredProductsListingBottomNumber, #featuredProductsListingTopNumber, #newProductsDefaultListingTopNumber, #newProductsDefaultListingBottomNumber{width:25%;margin-left:-74%;margin-top:0;}
#newProductsDefaultListingTopNumber, #newProductsDefaultListingBottomNumber{margin-left:-72.5%;}
#featuredProductsListingBottomNumber, #featuredProductsListingTopNumber{margin-left:-71%;}
.button-top{width:25%;text-align:right;margin:-10px 0 0 0;}
.button-bottom{height:auto;padding:9px 0 5px 0;}
#specialsListing .prod-list-wrap{padding:20px 20px 0 20px;}
#productListing{margin-bottom:20px;}
#no-products{padding:20px;margin:20px 0;}

/*product listing column-layout overrides*/
.gridlayout.centerBoxContentsProducts { padding: 2em 0; }
.gridlayout .list-image {float:none}
.gridlayout .list-image {min-height: revert; min-width: revert}
.gridlayout .list-image {margin-right: inherit;}
.gridlayout .list-more {float: none;}
#indexProductList .gridlayout .list-more {margin: auto; width: 30%}
.gridlayout .itemTitle {width:90%;margin:5px auto}
.gridlayout .listingDescription {width:90%;margin:10px auto}
.gridlayout .cart-add {float:none;}
.gridlayout .list-input {float:none;width:30%;margin:auto}


/*bof new, featured, all listing*/
.listing-wrapper:nth-child(odd) {}
.listing-wrapper{padding:20px;}
.listing-left{width:25%;margin-right:2%;}
.listings-description{padding-top:20px;}
.listing-wrapper .list-more{float:none;}
.listings-description a {margin-left:10px;}

/*bof product info page*/
#prod-info-top{width:100%;clear:both;}
.categoryIcon {float:left;width:35%;}
.categoryIcon a{text-decoration:none;}
.categoryIcon img{margin-bottom:5px;}
.navNextPrevWrapper {padding-bottom: 5px;float:right;margin-bottom:30px;}
.navNextPrevCounter {margin:0;font-size:0.9em;}
.navNextPrevList {display:inline;white-space:nowrap;padding:0.5em 0;list-style-type: none;}
#pinfo-left{float:left;width:43%;}
#productMainImage{float:none;margin:0;}
#productMainImage a{text-decoration:none;}
#productAdditionalImages{clear:both;}
.additionalImages{width:90%;margin:10px auto;}
#productName{font-weight:normal;margin-left:30px;line-height:27px;text-align:center;}
#pinfo-right{float:right;width:55%;padding:20px 0 0 0;}
#productDetailsList li{list-style-type:none;}
#productDetailsList{padding:0;margin-left:30px;}
#productPrices{font-size:1.5em;text-align:center;margin:10px 0 10px 0;font-weight:normal;}
.productSpecialPrice{font-size:120%;}
#mediaManagerHeading{font-weight:normal;}
#freeShippingIcon{margin:10px 0 10px 30px;}
#productQuantityDiscounts table{margin:0 auto 20px auto;border:none !important;border-spacing:0 !important;border-collapse:separate !important;}
#productQuantityDiscounts td{padding:10px;border:none;}
#productQuantityDiscounts td:last-child{border:none;}
#productQuantityDiscounts tr:nth-child(even){}
#productQuantityDiscounts table tr:first-child td{padding:5px 10px;border:none !important;}
#mediaManager {width:50%;margin:0.2em 0 0.2em 30px;padding:0.5em 0;}
.mediaTitle {float:left;}
.mediaTypeLink {float:right;}
#attribsOptionsText{font-weight:normal;margin-bottom:10px;}
#cartAdd {text-align:center;}
#cartAdd input[type=text]{-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;vertical-align:top;display:inline-block !important;width:11%;border:none;height:40px;margin:0;padding:7px !important;}
#cartAdd input[type=submit]{-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;display:inline-block !important;margin:0;padding:7px 20px !important;height:40px !important;}
#cart-box{padding:1em;float:right;width:52.5%;}
h4.optionName{margin:1% 30px 0 30px;padding:0;}
.attribImg {width:20%;margin:0.3em 0;}
.attributesComments {font-weight:normal;}
.wrapperAttribsOptions select{width:100%;}
.wrapperAttribsOptions{margin:10px 0;}
#productDescription {padding:0.5em;clear:both;margin:20px 0;line-height:150%;}
.max-qty{margin-bottom:10px;}
#docGeneralDisplay #pinfo-right{background:none;}
.qty-text{display:none;}
.additionalImages a{text-decoration:none;}

/*bof reviews*/
.reviews-wrapper{overflow:hidden;padding:20px;margin:20px 0;}
.reviews-wrapper h2{margin:7px 0;}
.reviews-right{width:50%;}
.reviews-wrapper .smallProductImage{width:18%;}
.reviews-middle{width:40%;margin-right:2%;}
.reviews-wrapper .forward{width:25%;}
#reviewsInfoDefault .reviews-wrapper{padding-top:0;margin-top:50px;}
#reviews-right{width:50%;float:left;}
#review-text{width:100%;margin:20px 0;}
#reviewWriteMainImage{float:none;margin:0;}
#reviewsWritePrice{text-align:center;}
#pinfo-left .buttonRow{width:75%;margin:10px auto;}
#pinfo-left span.cssButton.normal_button, #pinfo-left span.normal_button:hover{display:block;text-align:center;padding:12px 0;}
#reviewsWriteReviewer{text-align:center;margin-bottom:0;font-weight:normal;}
.ratingRow {width:70%;margin:10px auto;}
#reviewsWriteHeading{text-align:center;font-weight:normal;padding:10px 0;margin-bottom:0;}
#reviews-write-wrapper{padding:20px;overflow:hidden;}
#reviewsDefault #reviews-middle{width:40%;}
#productReviewsDefaultHeading{margin-top:0;}
#reviews-top{margin-top:30px;}
.read-reviews-button{width:25%;}
#reviewsDefault .reviews-right{width:70%;}
#productReviewsDefaultNoReviews {clear:both;}
#reviewsDefault .prod-list-wrap{padding:20px;}
#reviewsInfoDefault .rating{margin:10px 0;}

/*bof my account*/
#myAccountGen li, #myAccountNotify li {margin:0;list-style-type:none;}
#myAccountGen li a, #myAccountNotify li a{text-decoration:none;}
.accountTotalDisplay, .accountTaxDisplay {width:20%;text-align:right;}
.accountQuantityDisplay {width:10%;vertical-align:top;}
#gvFaqDefaultContent, #checkoutPayAddressDefault .instructions, #checkoutShipAddressDefault .instructions, #addressBookDefault .instructions, #myAccountNotify, #myAccountGen{padding:20px 20px 20px 30px;margin-top:0;}
#sendSpendWrapper h2, #accountDefault #sendSpendWrapper h2, #gvFaqDefaultSubHeading, #checkoutPayAddressDefaultAddress, #checkoutShipAddressDefaultAddress, #accountLinksWrapper h2, h2#addressBookDefaultPrimary{padding:10px;font-weight:normal;margin-bottom:0;text-align:center;}
#gvFaqDefaultSubHeading{clear:both;}
#accountDefault #sendSpendWrapper h2{margin-top:-20px;clear:both;}
#accountDefault #sendSpendWrapper{margin-top:30px;}
#accountDefault #sendSpendWrapper .buttonRow.forward{margin:0 20px 20px 0;}
#addressBookDefault .instructions{padding-bottom:40px;}
#checkoutPayAddressDefault address, #checkoutShipAddressDefault address, #addressBookDefault address{padding:20px 10% 20px 30px;}
#accountLinksWrapper{width:100%;}
#prevOrders td{padding:10px;}
#accountHistoryDefault .content.back{margin-right:5%;}
#accountHistInfo table td{padding:20px 10px;}
#accountHistInfo hr{display:none;}
#orderTotals{padding:10px;}
#myAccountPaymentInfo, #myAccountShipInfo{margin-top:30px;}
#myAccountPaymentInfo h3, #myAccountShipInfo h3{margin-top:0;padding:10px;font-weight:normal;text-align:center;}
#myAccountPaymentInfo h4, #myAccountShipInfo h4{margin-top:0;padding:10px;font-weight:normal;text-align:center;}
#myAccountPaymentInfo address, #myAccountShipInfo address, #myAccountPaymentInfo div, #myAccountShipInfo div{padding:0 0 20px 30px;}
#accountHistoryDefault .buttonRow{margin-top:20px;clear:both;}
#accountHistoryDefault .content {margin-left:20px;}
#accountHistoryDefault .content.forward {margin-right:20px;}
#accountHistoryDefault .notice{margin-right:20px;}
#accountDefault #sendSpendWrapper{width:100%;border:none;}
#createAcctSuccess div{margin-bottom:30px;}

/*bof popups*/
#popupShippingEstimator, #popupSearchHelp, #popupAdditionalImage, #popupImage, #popupCVVHelp, #popupCouponHelp, #popupAtrribsQuantityPricesHelp, #infoShoppingCart{background:none;}

/*bof home page*/
#indexDefaultHeading{font-weight:normal;}
h2.greeting{margin-bottom:20px;}
h2.greeting a{}
h2.greeting a:hover{}
.home-image{display:block;margin:0 auto;max-width:100%;height:auto;}
#indexHomeBody #navBreadCrumb{display:none;}
#icon{padding:40px;margin:100px;font-size:1500%;}

/*bof misc*/
#upProductsHeading {text-align:left;}
#upDateHeading {text-align:right;}
#siteMapList {width:90%;float:right;}
#gvFaqDefaultContent{line-height:20px;font-size:110%;}
#advSearchDefault .floatingBox{min-height:115px;margin-bottom:30px;}

/*bof login*/
#loginDefault{margin-bottom:30px;}
#loginDefault .inputLabel{margin-left:20px;}
#loginDefault .alert{margin-right:20px;}
.paypal-button-hidden{visibility:hidden;}

/* markup for tables used to present tabular data */
.alignLeft {text-align: left}
.alignCenter {text-align: center}
.alignRight {text-align: right}
.tabTable {width:100%;border:none;padding:0;margin:0; border-spacing:0;border-collapse:collapse;}
table{border:none;padding:0;margin:0; border-spacing:0;border-collapse:collapse;width:100%;}
#cartContentsDisplay {width: 100%;}
#myAccountOrdersStatus, #orderHistoryHeading, #prevOrders {width: 100%;}
.accountOrderId {width:30px;}
.accountOrderDate, .accountOrderStatus, .accountOrderTotal {width:70px;}
#seQuoteResults {width: 100%;}
#seQuoteResults td {}
.listBoxContentTable {width:100%;}
.listBoxContentTable td {}
#upcomingProductsTable {width: 100%;}
.products-listing .productsAllListing, .productsNewListing, .productsFeaturedListing {width: 100%;}
.tableBorder1 td {}

/* Ask a Question */
#productQuestions {
  margin-left: 20px;
  margin-bottom: 5px;
}

/** Brands page */
.brandCell {height: 126px !important;}
.brandImage {margin-top: 20px;}
.brandCell a {text-decoration: none;}
/* =========================================================
   BLUESTORM SIGNS - HOMEPAGE REDESIGN
   Added for responsive_classic - October 2026
   ========================================================= */

#indexHomeBody {
    background: #0a2236;
}

#indexHomeBody #navBreadCrumb,
#indexHomeBody #indexDefaultHeading,
#indexHomeBody h2.greeting {
    display: none !important;
}

/* Hide Zen Cart's normal homepage product boxes below the custom homepage */
#indexHomeBody .centerBoxWrapper {
    display: none !important;
}

/* Remove the old side columns on the homepage where supported.
   We will also make this permanent in tpl_main_page.php afterwards. */
#indexHomeBody #contentMainWrapper > div:has(#navColumnOne),
#indexHomeBody #contentMainWrapper > div:has(#navColumnTwo) {
    display: none !important;
}

#indexHomeBody #contentMainWrapper > div:has(#indexDefault) {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#indexHomeBody #contentMainWrapper,
#indexHomeBody #indexDefault,
#indexHomeBody .centerColumn {
    padding: 0 !important;
    margin: 0 !important;
}

#indexHomeBody #mainWrapper {
    width: 100% !important;
    max-width: 100% !important;
}

.bs-home,
.bs-home * {
    box-sizing: border-box;
}

.bs-home {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    background: #ffffff;
    color: #172536;
    font-family: Arial, Helvetica, sans-serif;
}

/* HERO */
.bs-hero {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
}

.bs-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(2,21,37,0.98) 0%,
        rgba(2,21,37,0.93) 34%,
        rgba(2,21,37,0.62) 55%,
        rgba(2,21,37,0.08) 78%,
        rgba(2,21,37,0.02) 100%);
}

.bs-hero-inner {
    position: relative;
    z-index: 2;
    width: 56%;
    padding: 58px 46px 48px;
    color: #ffffff;
}

.bs-hero h1 {
    margin: 0 0 16px;
    color: #ffffff !important;
    font-size: 46px;
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: -1px;
}

.bs-hero h1 .bs-blue {
    color: #0798ff;
}

.bs-hero-lead {
    max-width: 560px;
    margin: 0 0 22px;
    padding: 0;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.5;
}

.bs-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 26px;
    margin: 0 0 26px;
    font-size: 14px;
    font-weight: 600;
}

.bs-hero-points span::before {
    content: "✓";
    display: inline-block;
    margin-right: 7px;
    color: #0798ff;
    font-weight: 900;
}

.bs-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.bs-btn {
    display: inline-block;
    padding: 14px 23px;
    border-radius: 5px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    transition: transform .15s ease, background .15s ease;
}

.bs-btn:hover {
    transform: translateY(-1px);
}

.bs-btn-primary {
    background: #0798ff;
    border: 1px solid #0798ff;
    color: #ffffff !important;
}

.bs-btn-primary:hover {
    background: #087ed1;
    color: #ffffff !important;
}

.bs-btn-outline {
    background: rgba(0,0,0,0.22);
    border: 1px solid rgba(255,255,255,0.75);
    color: #ffffff !important;
}

.bs-btn-outline:hover {
    background: rgba(255,255,255,0.10);
    color: #ffffff !important;
}

/* SERVICE TILES */
.bs-services {
    padding: 14px 20px 18px;
    background: #ffffff;
}

.bs-service-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.bs-service-card {
    position: relative;
    display: block;
    min-height: 190px;
    overflow: hidden;
    border-radius: 8px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    text-decoration: none !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}

.bs-service-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,18,33,.88) 0%, rgba(0,18,33,.25) 55%, rgba(0,18,33,.02) 100%);
    transition: background .2s ease;
}

.bs-service-card:hover::after {
    background: linear-gradient(0deg, rgba(0,18,33,.94) 0%, rgba(0,79,135,.30) 65%, rgba(0,18,33,.04) 100%);
}

.bs-service-label {
    position: absolute;
    z-index: 2;
    left: 16px;
    right: 16px;
    bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.15;
}

.bs-service-arrow {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #078eea;
    font-size: 20px;
    font-weight: 800;
}

/* DESIGNER */
.bs-designer {
    display: grid;
    grid-template-columns: 40% 60%;
    min-height: 370px;
    background: linear-gradient(100deg,#edf7ff 0%,#f7fbff 55%,#ffffff 100%);
    border-top: 1px solid #d9e9f4;
    border-bottom: 1px solid #d9e9f4;
}

.bs-designer-copy {
    padding: 42px 28px 38px 50px;
}

.bs-kicker {
    display: block;
    margin-bottom: 4px;
    color: #172536;
    font-size: 34px;
    line-height: 1.03;
    font-weight: 800;
}

.bs-kicker .bs-blue {
    color: #0798ff;
}

.bs-designer-copy p {
    margin: 12px 0 14px;
    padding: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #334b60;
}

.bs-check-list {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
}

.bs-check-list li {
    margin: 7px 0;
    font-size: 14px;
    color: #23394c;
}

.bs-check-list li::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    border-radius: 50%;
    background: #078eea;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.bs-designer-image {
    min-height: 370px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* BENEFITS */
.bs-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #ffffff;
    border-bottom: 1px solid #dce7ef;
}

.bs-benefit {
    padding: 24px 18px;
    text-align: center;
    border-right: 1px solid #dce7ef;
}

.bs-benefit:last-child {
    border-right: 0;
}

.bs-benefit-icon {
    margin-bottom: 8px;
    color: #078eea;
    font-size: 32px;
    line-height: 1;
}

.bs-benefit strong {
    display: block;
    margin-bottom: 5px;
    font-size: 15px;
    color: #14263a;
}

.bs-benefit span {
    display: block;
    font-size: 13px;
    line-height: 1.35;
    color: #596b7a;
}

/* ABOUT / PRODUCTION */
.bs-about {
    position: relative;
    min-height: 315px;
    overflow: hidden;
    background: #031a2a;
    color: #ffffff;
}

.bs-about-image {
    position: absolute;
    inset: 0 0 0 42%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.bs-about::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,#031a2a 0%,#031a2a 38%,rgba(3,26,42,.88) 52%,rgba(3,26,42,.10) 82%);
}

.bs-about-copy {
    position: relative;
    z-index: 2;
    width: 48%;
    padding: 46px 34px 42px 48px;
}

.bs-about-copy h2 {
    margin: 0 0 14px;
    color: #ffffff !important;
    font-size: 31px;
    line-height: 1.13;
    font-weight: 800;
}

.bs-about-copy h2 .bs-blue {
    color: #0798ff;
}

.bs-about-copy p {
    margin: 0 0 20px;
    padding: 0;
    max-width: 490px;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.55;
}

/* Small finishing strip */
.bs-home-footnote {
    padding: 13px 20px;
    background: #071522;
    color: #c7d6e1;
    text-align: center;
    font-size: 12px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
    .bs-hero {
        min-height: 390px;
        background-position: 62% center;
    }

    .bs-hero::before {
        background: linear-gradient(90deg,
            rgba(2,21,37,.98) 0%,
            rgba(2,21,37,.92) 48%,
            rgba(2,21,37,.45) 76%,
            rgba(2,21,37,.18) 100%);
    }

    .bs-hero-inner {
        width: 70%;
        padding: 46px 32px;
    }

    .bs-hero h1 {
        font-size: 39px;
    }

    .bs-service-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bs-designer {
        grid-template-columns: 1fr 1fr;
    }

    .bs-designer-copy {
        padding: 34px 28px;
    }

    .bs-kicker {
        font-size: 29px;
    }

    .bs-benefits {
        grid-template-columns: repeat(2, 1fr);
    }

    .bs-benefit:nth-child(2) {
        border-right: 0;
    }
}

@media (max-width: 620px) {
    .bs-home {
        width: 100%;
    }

    .bs-hero {
        min-height: 500px;
        background-position: 66% center;
    }

    .bs-hero::before {
        background: rgba(2,21,37,.80);
    }

    .bs-hero-inner {
        width: 100%;
        padding: 38px 22px;
    }

    .bs-hero h1 {
        font-size: 34px;
    }

    .bs-hero-lead {
        font-size: 15px;
    }

    .bs-actions {
        display: block;
    }

    .bs-btn {
        display: block;
        width: 100%;
        margin-bottom: 10px;
        text-align: center;
    }

    .bs-services {
        padding: 12px;
    }

    .bs-service-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .bs-service-card {
        min-height: 175px;
    }

    .bs-designer {
        display: flex;
        flex-direction: column;
    }

    .bs-designer-copy {
        padding: 32px 22px;
    }

    .bs-designer-image {
        min-height: 260px;
    }

    .bs-benefits {
        grid-template-columns: 1fr;
    }

    .bs-benefit {
        border-right: 0;
        border-bottom: 1px solid #dce7ef;
    }

    .bs-about {
        min-height: 390px;
    }

    .bs-about-image {
        inset: 0;
        opacity: .42;
    }

    .bs-about::after {
        background: rgba(3,26,42,.74);
    }

    .bs-about-copy {
        width: 100%;
        padding: 38px 22px;
    }

    .bs-about-copy h2 {
        font-size: 28px;
    }
}

/* =========================================================
   END BLUESTORM SIGNS - HOMEPAGE REDESIGN
   ========================================================= */


/* =========================================================
   BLUESTORM HOMEPAGE - FULL WIDTH CENTER COLUMN FIX
   responsive_classic uses a fixed .col970 width on desktop.
   Force only the homepage center column to use the full wrapper.
   ========================================================= */

#indexHomeBody #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    overflow: hidden;
}

#indexHomeBody #contentMainWrapper > .col970,
#indexHomeBody #contentMainWrapper > [class*="col"] {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

#indexHomeBody .bs-home {
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
}

/* Keep the custom homepage neatly centred on very wide monitors */
@media (max-width: 1450px) {
    #indexHomeBody .bs-home {
        max-width: 100% !important;
    }
}

/* =========================================================
   END FULL WIDTH CENTER COLUMN FIX
   ========================================================= */


/* =========================================================
   BLUESTORM HERO - REMOVE GHOSTED TEXT FROM BACKGROUND IMAGE
   The supplied hero image contains baked-in artwork/text.
   Cover the left text area with solid navy before rendering
   the live HTML text over it.
   ========================================================= */

#indexHomeBody .bs-hero::before {
    background: linear-gradient(
        90deg,
        #021525 0%,
        #021525 48%,
        rgba(2,21,37,0.96) 56%,
        rgba(2,21,37,0.62) 66%,
        rgba(2,21,37,0.12) 80%,
        rgba(2,21,37,0.02) 100%
    ) !important;
}

@media (max-width: 900px) {
    #indexHomeBody .bs-hero::before {
        background: linear-gradient(
            90deg,
            #021525 0%,
            #021525 56%,
            rgba(2,21,37,0.88) 72%,
            rgba(2,21,37,0.35) 100%
        ) !important;
    }
}

@media (max-width: 620px) {
    #indexHomeBody .bs-hero::before {
        background: rgba(2,21,37,0.88) !important;
    }
}

/* =========================================================
   END BLUESTORM HERO GHOST-TEXT FIX
   ========================================================= */


/* =========================================================
   BLUESTORM SIGNS - MODERN HEADER
   ========================================================= */

#headerWrapper.bs-site-header {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.bs-header-main {
    width: 100%;
    background: #ffffff;
}

.bs-header-inner {
    width: 100%;
    max-width: 1450px;
    min-height: 116px;
    margin: 0 auto;
    padding: 16px 22px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 300px minmax(520px, 1fr) 310px;
    align-items: center;
    gap: 24px;
}

.bs-header-logo {
    display: block;
    text-decoration: none !important;
}

.bs-header-logo img {
    display: block;
    width: 285px;
    max-width: 100%;
    height: auto;
}

.bs-header-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
}

.bs-header-feature {
    min-height: 58px;
    padding: 0 17px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-left: 1px solid #dce8f0;
}

.bs-header-feature:first-child {
    border-left: 0;
}

.bs-header-feature-icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #edf7ff;
    color: #078eea;
    font-size: 20px;
    font-weight: 800;
}

.bs-header-feature strong,
.bs-header-feature small {
    display: block;
    color: #14263a;
    line-height: 1.15;
}

.bs-header-feature strong {
    margin-bottom: 3px;
    font-size: 13px;
    font-weight: 700;
}

.bs-header-feature small {
    font-size: 11px;
    font-weight: 400;
}

.bs-header-tools {
    min-width: 0;
}

.bs-header-account {
    margin-bottom: 11px;
    text-align: right;
    color: #8393a0;
    font-size: 11px;
    white-space: nowrap;
}

.bs-header-account a {
    color: #18334a !important;
    text-decoration: none !important;
    font-weight: 600;
}

.bs-header-account a:hover {
    color: #078eea !important;
}

.bs-header-account span {
    margin: 0 5px;
    color: #bdc7cd;
}

/* Zen Cart search module inside new header */
.bs-header-search {
    width: 100%;
    text-align: right;
}

.bs-header-search form {
    display: flex !important;
    width: 100%;
    margin: 0 !important;
    align-items: stretch;
}

.bs-header-search input[type="text"] {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    height: 34px !important;
    margin: 0 !important;
    padding: 5px 9px !important;
    box-sizing: border-box;
    border: 1px solid #ccd9e1 !important;
    background: #ffffff !important;
    font-size: 12px !important;
}

.bs-header-search input[type="submit"],
.bs-header-search button {
    flex: 0 0 auto;
    height: 34px !important;
    margin: 0 0 0 5px !important;
    padding: 0 13px !important;
    border: 0 !important;
    background: #078eea !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

/* Dark main navigation */
.bs-nav-bar {
    width: 100%;
    background: #061b2c;
    border-top: 1px solid #0b2a42;
}

.bs-nav-inner {
    width: 100%;
    max-width: 1450px;
    min-height: 52px;
    margin: 0 auto;
    padding: 0 22px;
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
}

.bs-desktop-nav {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    min-width: 0;
}

.bs-desktop-nav a {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 0 17px;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    border-right: 1px solid rgba(255,255,255,0.04);
}

.bs-desktop-nav a:hover {
    background: #0b304c;
    color: #ffffff !important;
}

.bs-desktop-nav a.bs-nav-active {
    background: #0798ff !important;
    color: #ffffff !important;
}

.bs-desktop-nav a.bs-nav-active:hover {
    background: #087ed1 !important;
}

.bs-mobile-menu-button {
    display: none;
}

/* Suppress any old responsive_classic header bars if other CSS still references them */
#headerWrapper.bs-site-header #navMainWrapper,
#headerWrapper.bs-site-header #logoWrapper,
#headerWrapper.bs-site-header #navCatTabsWrapper,
#headerWrapper.bs-site-header #navEZPagesTop {
    display: none !important;
}

/* Tablet */
@media (max-width: 1150px) {
    .bs-header-inner {
        grid-template-columns: 260px 1fr 270px;
        gap: 15px;
    }

    .bs-header-logo img {
        width: 245px;
    }

    .bs-header-feature {
        padding: 0 9px;
    }

    .bs-header-feature-icon {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
        font-size: 17px;
    }

    .bs-header-feature strong {
        font-size: 11px;
    }

    .bs-header-feature small {
        font-size: 10px;
    }

    .bs-desktop-nav a {
        padding: 0 11px;
        font-size: 11px;
    }
}

/* Mobile / small tablet */
@media (max-width: 900px) {
    .bs-header-inner {
        min-height: auto;
        padding: 12px 16px;
        grid-template-columns: minmax(180px, 1fr) auto;
        gap: 10px 15px;
    }

    .bs-header-logo img {
        width: 230px;
    }

    .bs-header-features {
        display: none;
    }

    .bs-header-tools {
        text-align: right;
    }

    .bs-header-account {
        margin-bottom: 6px;
        font-size: 10px;
    }

    .bs-header-search {
        grid-column: 1 / -1;
    }

    .bs-nav-inner {
        min-height: 50px;
        padding: 0 16px;
        align-items: center;
    }

    .bs-desktop-nav {
        display: none;
    }

    .bs-mobile-menu-button {
        display: block;
    }

    .bs-mobile-menu-button a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #ffffff !important;
        text-decoration: none !important;
        font-size: 14px;
        font-weight: 700;
    }

    .bs-mobile-menu-button i {
        font-size: 21px;
    }
}

@media (max-width: 520px) {
    .bs-header-inner {
        display: block;
        padding: 12px 14px;
        text-align: center;
    }

    .bs-header-logo {
        margin-bottom: 10px;
    }

    .bs-header-logo img {
        width: 230px;
        margin: 0 auto;
    }

    .bs-header-account {
        text-align: center;
        white-space: normal;
        line-height: 1.8;
    }

    .bs-header-search {
        margin-top: 8px;
    }
}

/* =========================================================
   END BLUESTORM SIGNS - MODERN HEADER
   ========================================================= */


/* =========================================================
   BLUESTORM HEADER - DESKTOP POLISH
   Slightly shorter white header, neater account/search alignment
   and tighter navigation spacing. Mobile is intentionally unchanged.
   ========================================================= */

@media (min-width: 901px) {

    .bs-header-inner {
        min-height: 98px !important;
        padding: 10px 22px !important;
    }

    .bs-header-logo img {
        width: 255px !important;
    }

    .bs-header-tools {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-self: stretch;
    }

    .bs-header-account {
        margin: 0 0 7px 0 !important;
        line-height: 1.2;
    }

    .bs-header-search input[type="text"] {
        height: 32px !important;
    }

    .bs-header-search input[type="submit"],
    .bs-header-search button {
        height: 32px !important;
        padding: 0 12px !important;
    }

    .bs-nav-inner {
        min-height: 46px !important;
    }

    .bs-desktop-nav a {
        min-height: 46px !important;
        padding: 0 14px !important;
    }
}

/* Slightly tighter still on medium desktop widths */
@media (min-width: 901px) and (max-width: 1150px) {
    .bs-header-inner {
        min-height: 94px !important;
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }

    .bs-header-logo img {
        width: 235px !important;
    }

    .bs-desktop-nav a {
        padding-left: 9px !important;
        padding-right: 9px !important;
    }
}

/* =========================================================
   END BLUESTORM HEADER - DESKTOP POLISH
   ========================================================= */


/* =========================================================
   BLUESTORM - HOUSE PLAQUES CATEGORY (cPath=62)
   Modern full-width category page
   ========================================================= */

/* Remove the old Zen Cart side columns only on the House Plaques page */
body:has(#indexProductList.bs-house-plaques)
#contentMainWrapper > div:has(#navColumnOne),
body:has(#indexProductList.bs-house-plaques)
#contentMainWrapper > div:has(#navColumnTwo) {
    display: none !important;
}

/* Let the category content use the full available width */
body:has(#indexProductList.bs-house-plaques) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexProductList.bs-house-plaques)
#contentMainWrapper > div:has(#indexProductList.bs-house-plaques) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexProductList.bs-house-plaques {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 45px !important;
    box-sizing: border-box !important;
}

/* Category heading / introduction */
.bs-house-plaques #cat-top {
    position: relative;
    margin: 0 0 28px !important;
    padding: 28px 30px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f5fbff 0%, #ffffff 75%);
    overflow: hidden;
}

.bs-house-plaques #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

.bs-house-plaques #productListHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.bs-house-plaques .bs-category-lead {
    max-width: 720px;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

/* The old category thumbnail is too small for the new layout */
.bs-house-plaques #categoryImgListing {
    display: none !important;
}

/* If an Admin category description is added later, make it match */
.bs-house-plaques #indexProductListCatDescription {
    float: none !important;
    margin: 14px 0 0 !important;
    max-width: 800px;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

/* New Products block */
.bs-house-plaques #whatsNew.centerBoxWrapper {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
}

.bs-house-plaques #whatsNew .centerBoxHeading {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #102a42 !important;
    font-size: 0 !important;
    text-align: left !important;
}

.bs-house-plaques #whatsNew .centerBoxHeading::after {
    content: "Browse House Plaques";
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
}

/* Turn the Zen Cart new-product cells into clean cards */
.bs-house-plaques #whatsNew .centerBoxContentsNew {
    width: calc(33.333% - 16px) !important;
    min-height: 330px !important;
    margin: 0 8px 18px !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(5, 32, 52, 0.07);
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    transition: transform .15s ease, box-shadow .15s ease;
}

.bs-house-plaques #whatsNew .centerBoxContentsNew:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(5, 32, 52, 0.12);
}

.bs-house-plaques #whatsNew .centerBoxContentsNew img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: 170px !important;
    object-fit: contain;
    margin: 0 auto 14px !important;
}

.bs-house-plaques #whatsNew .centerBoxContentsNew a {
    width: auto !important;
    margin: 8px auto !important;
    color: #123b5a !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.bs-house-plaques #whatsNew .centerBoxContentsNew a:hover {
    color: #078eea !important;
}

.bs-house-plaques #whatsNew .productBasePrice,
.bs-house-plaques #whatsNew .productSpecialPrice {
    display: block;
    margin-top: 10px;
    color: #078eea !important;
    font-size: 19px !important;
    font-weight: 800 !important;
}

.bs-house-plaques #whatsNew .normalprice {
    color: #758592 !important;
    font-size: 13px !important;
}

/* Remove old dark bars/extra spacing inside the House Plaques listing area */
.bs-house-plaques .centerBoxWrapper {
    clear: both;
}

/* Tablet */
@media (max-width: 900px) {
    body:has(#indexProductList.bs-house-plaques)
    #contentMainWrapper > div:has(#indexProductList.bs-house-plaques) {
        padding: 0 16px !important;
    }

    .bs-house-plaques #whatsNew .centerBoxContentsNew {
        width: calc(50% - 14px) !important;
        margin: 0 7px 16px !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .bs-house-plaques #cat-top {
        padding: 22px 18px !important;
    }

    .bs-house-plaques #productListHeading {
        font-size: 27px !important;
    }

    .bs-house-plaques #whatsNew .centerBoxContentsNew {
        float: none !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 0 14px !important;
    }

    .bs-house-plaques #whatsNew .centerBoxContentsNew img {
        height: 150px !important;
    }
}

/* =========================================================
   END BLUESTORM - HOUSE PLAQUES CATEGORY
   ========================================================= */


/* =========================================================
   BLUESTORM - HOUSE PLAQUES CATEGORY LANDING FIX
   Applies the House Plaques design to tpl_index_categories.php
   ========================================================= */

/* Remove left and right Zen Cart side columns on House Plaques */
body:has(#indexCategories.bs-house-plaques)
#contentMainWrapper > div:has(#navColumnOne),
body:has(#indexCategories.bs-house-plaques)
#contentMainWrapper > div:has(#navColumnTwo) {
    display: none !important;
}

/* Give the category landing page the full available width */
body:has(#indexCategories.bs-house-plaques) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexCategories.bs-house-plaques)
#contentMainWrapper > div:has(#indexCategories.bs-house-plaques) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexCategories.bs-house-plaques {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 45px !important;
    box-sizing: border-box !important;
}

/* House Plaques header panel */
#indexCategories.bs-house-plaques #cat-top {
    margin: 0 0 28px !important;
    padding: 28px 30px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f5fbff 0%, #ffffff 75%);
    overflow: hidden;
}

#indexCategories.bs-house-plaques #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

#indexCategories.bs-house-plaques #indexCategoriesHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

#indexCategories.bs-house-plaques .bs-category-lead {
    max-width: 760px;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

/* Remove the small old category thumbnail at the top */
#indexCategories.bs-house-plaques #categoryImgListing {
    display: none !important;
}

/* Category description, if one is added in Admin */
#indexCategories.bs-house-plaques #categoryDescription {
    margin: 14px 0 0 !important;
    max-width: 820px;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

/* Replace the old monthly heading with a timeless category heading */
#indexCategories.bs-house-plaques #whatsNew .centerBoxHeading {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #102a42 !important;
    font-size: 0 !important;
    text-align: left !important;
}

#indexCategories.bs-house-plaques #whatsNew .centerBoxHeading::after {
    content: "Browse House Plaques";
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
}

/* Make the product cells look like modern cards */
#indexCategories.bs-house-plaques #whatsNew {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

#indexCategories.bs-house-plaques #whatsNew .centerBoxContentsNew {
    width: calc(33.333% - 16px) !important;
    min-height: 340px !important;
    margin: 0 8px 18px !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(5, 32, 52, 0.07);
    text-align: center !important;
    transition: transform .15s ease, box-shadow .15s ease;
}

#indexCategories.bs-house-plaques #whatsNew .centerBoxContentsNew:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(5, 32, 52, 0.12);
}

#indexCategories.bs-house-plaques #whatsNew .centerBoxContentsNew img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: 175px !important;
    object-fit: contain;
    margin: 0 auto 14px !important;
}

#indexCategories.bs-house-plaques #whatsNew .centerBoxContentsNew a {
    display: inline-block;
    margin: 8px auto !important;
    color: #123b5a !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

#indexCategories.bs-house-plaques #whatsNew .centerBoxContentsNew a:hover {
    color: #078eea !important;
}

#indexCategories.bs-house-plaques #whatsNew .productBasePrice,
#indexCategories.bs-house-plaques #whatsNew .productSpecialPrice {
    display: block;
    margin-top: 10px;
    color: #078eea !important;
    font-size: 19px !important;
    font-weight: 800 !important;
}

/* Tablet */
@media (max-width: 900px) {
    body:has(#indexCategories.bs-house-plaques)
    #contentMainWrapper > div:has(#indexCategories.bs-house-plaques) {
        padding: 0 16px !important;
    }

    #indexCategories.bs-house-plaques #whatsNew .centerBoxContentsNew {
        width: calc(50% - 14px) !important;
        margin: 0 7px 16px !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    #indexCategories.bs-house-plaques #cat-top {
        padding: 22px 18px !important;
    }

    #indexCategories.bs-house-plaques #indexCategoriesHeading {
        font-size: 27px !important;
    }

    #indexCategories.bs-house-plaques #whatsNew .centerBoxContentsNew {
        float: none !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 0 14px !important;
    }

    #indexCategories.bs-house-plaques #whatsNew .centerBoxContentsNew img {
        height: 155px !important;
    }
}

/* =========================================================
   END HOUSE PLAQUES CATEGORY LANDING FIX
   ========================================================= */


/* =========================================================
   BLUESTORM - HOUSE PLAQUES PRODUCT PAGES
   Modern full-width product layout for cPath 62...
   ========================================================= */

body:has(#productGeneral.bs-house-product-page) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#productGeneral.bs-house-product-page)
#contentMainWrapper > div:has(#productGeneral.bs-house-product-page) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#productGeneral.bs-house-product-page {
    width: 100% !important;
    max-width: 1380px !important;
    margin: 0 auto !important;
    padding: 28px 0 48px !important;
    box-sizing: border-box !important;
}

/* Hide the old category icon on the product page */
#productGeneral.bs-house-product-page .categoryIcon,
#productGeneral.bs-house-product-page #categoryIcon {
    display: none !important;
}

/* Keep previous/next compact */
#productGeneral.bs-house-product-page .navNextPrevWrapper,
#productGeneral.bs-house-product-page #productsNextPrevious {
    margin: 0 0 12px auto !important;
    font-size: 12px !important;
}

/* Main product section */
#productGeneral.bs-house-product-page #prod-info-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
    grid-template-areas:
        "title title"
        "image details"
        "image cart";
    gap: 0 34px;
    align-items: start;
}

#productGeneral.bs-house-product-page #productName {
    grid-area: title;
    margin: 0 0 24px !important;
    color: #102a42 !important;
    font-size: 34px !important;
    line-height: 1.14 !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px;
}

/* Image panel */
#productGeneral.bs-house-product-page #pinfo-left {
    grid-area: image;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 26px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-radius: 10px;
    background: #ffffff;
    text-align: center;
    box-shadow: 0 2px 10px rgba(5,32,52,.06);
}

#productGeneral.bs-house-product-page #productMainImage,
#productGeneral.bs-house-product-page .additionalImages {
    float: none !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
}

#productGeneral.bs-house-product-page #pinfo-left img {
    width: auto !important;
    max-width: 100% !important;
    max-height: 440px !important;
    height: auto !important;
    object-fit: contain;
    margin: 0 auto 12px !important;
}

#productGeneral.bs-house-product-page #productMainImage a,
#productGeneral.bs-house-product-page #pinfo-left a {
    color: #078eea !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Details panel */
#productGeneral.bs-house-product-page #pinfo-right {
    grid-area: details;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 24px 26px 20px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: #f8fbfd;
}

#productGeneral.bs-house-product-page #productDetailsList {
    margin: 0 0 16px !important;
    padding: 0 !important;
    list-style: none !important;
}

#productGeneral.bs-house-product-page #productDetailsList li {
    margin: 5px 0 !important;
    color: #42596a !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

#productGeneral.bs-house-product-page .bs-question-button {
    display: inline-block;
    padding: 9px 14px;
    border: 1px solid #b8cbd7;
    border-radius: 5px;
    background: #ffffff;
    color: #173f5f !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}

#productGeneral.bs-house-product-page .bs-question-button:hover {
    border-color: #078eea;
    color: #078eea !important;
}

/* Price, attributes and buy panel */
#productGeneral.bs-house-product-page #cart-box {
    grid-area: cart;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 22px 26px 26px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-top: 1px solid #edf2f5;
    border-radius: 0 0 10px 10px;
    background: #ffffff !important;
}

#productGeneral.bs-house-product-page #productPrices {
    margin: 0 0 20px !important;
    color: #078eea !important;
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

#productGeneral.bs-house-product-page #productPrices .normalprice {
    margin-right: 8px;
    color: #748491 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

#productGeneral.bs-house-product-page #productPrices .productSpecialPrice,
#productGeneral.bs-house-product-page #productPrices .productBasePrice {
    color: #078eea !important;
    font-size: 28px !important;
    font-weight: 800 !important;
}

/* Attributes */
#productGeneral.bs-house-product-page #productAttributes {
    margin: 0 0 20px !important;
    padding: 0 !important;
}

#productGeneral.bs-house-product-page .wrapperAttribsOptions {
    display: grid !important;
    grid-template-columns: 145px minmax(0, 1fr);
    align-items: center;
    gap: 10px 14px;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

#productGeneral.bs-house-product-page .optionName {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #17324a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: left !important;
}

#productGeneral.bs-house-product-page .back,
#productGeneral.bs-house-product-page .forward {
    float: none;
}

#productGeneral.bs-house-product-page #productAttributes input[type="text"],
#productGeneral.bs-house-product-page #productAttributes select,
#productGeneral.bs-house-product-page #productAttributes textarea {
    width: 100% !important;
    max-width: 360px !important;
    min-height: 40px;
    padding: 8px 10px !important;
    box-sizing: border-box;
    border: 1px solid #c7d5de !important;
    border-radius: 4px;
    background: #ffffff !important;
    font-size: 14px !important;
}

/* Quantity + Add to Basket */
#productGeneral.bs-house-product-page #cartAdd {
    margin: 20px 0 0 !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid #e3ebf0;
    text-align: left !important;
}

#productGeneral.bs-house-product-page #cartAdd .qty-text {
    display: inline-block;
    margin: 0 8px 0 0;
    color: #324b5e;
    font-size: 13px;
    font-weight: 700;
}

#productGeneral.bs-house-product-page #cartAdd input[name="cart_quantity"] {
    width: 58px !important;
    height: 42px !important;
    margin: 0 10px 0 0 !important;
    padding: 6px !important;
    box-sizing: border-box;
    border: 1px solid #c7d5de !important;
    border-radius: 4px;
    text-align: center;
    font-size: 15px !important;
}

#productGeneral.bs-house-product-page .bs-add-cart-button {
    min-height: 42px;
    padding: 0 24px;
    border: 0;
    border-radius: 5px;
    background: #078eea;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    vertical-align: middle;
}

#productGeneral.bs-house-product-page .bs-add-cart-button:hover {
    background: #087ed1;
}

/* Product description */
#productGeneral.bs-house-product-page #productDescription {
    clear: both !important;
    margin: 34px 0 0 !important;
    padding: 26px 30px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-radius: 10px;
    background: #ffffff;
    color: #344c5e !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    box-shadow: 0 2px 10px rgba(5,32,52,.05);
}

/* Review/date extras */
#productGeneral.bs-house-product-page #productReviewLink,
#productGeneral.bs-house-product-page #productDateAdded,
#productGeneral.bs-house-product-page #productDateAvailable,
#productGeneral.bs-house-product-page #productInfoLink {
    margin-top: 18px !important;
}

/* Tablet */
@media (max-width: 900px) {
    body:has(#productGeneral.bs-house-product-page)
    #contentMainWrapper > div:has(#productGeneral.bs-house-product-page) {
        padding: 0 16px !important;
    }

    #productGeneral.bs-house-product-page #prod-info-top {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "image"
            "details"
            "cart";
        gap: 16px;
    }

    #productGeneral.bs-house-product-page #pinfo-right {
        border-bottom: 1px solid #dfe8ee;
        border-radius: 10px;
    }

    #productGeneral.bs-house-product-page #cart-box {
        border-top: 1px solid #dfe8ee;
        border-radius: 10px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    #productGeneral.bs-house-product-page {
        padding-top: 20px !important;
    }

    #productGeneral.bs-house-product-page #productName {
        font-size: 27px !important;
    }

    #productGeneral.bs-house-product-page #pinfo-left,
    #productGeneral.bs-house-product-page #pinfo-right,
    #productGeneral.bs-house-product-page #cart-box,
    #productGeneral.bs-house-product-page #productDescription {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #productGeneral.bs-house-product-page .wrapperAttribsOptions {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    #productGeneral.bs-house-product-page #productAttributes input[type="text"],
    #productGeneral.bs-house-product-page #productAttributes select,
    #productGeneral.bs-house-product-page #productAttributes textarea {
        max-width: 100% !important;
    }

    #productGeneral.bs-house-product-page .bs-add-cart-button {
        display: block;
        width: 100%;
        margin-top: 12px;
    }
}

/* =========================================================
   END BLUESTORM - HOUSE PLAQUES PRODUCT PAGES
   ========================================================= */


/* =========================================================
   BLUESTORM - HOUSE PLAQUE PRODUCT FINAL TOUCHES
   ========================================================= */

/* Hide the old Zen Cart "product added to catalog" date on House Plaque products */
#productGeneral.bs-house-product-page #productDateAdded {
    display: none !important;
}

/* Product-description heading */
#productGeneral.bs-house-product-page #productDescription h2 {
    margin: 0 0 18px !important;
    color: #102a42 !important;
    font-size: 23px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

/* Keep description paragraphs tidy */
#productGeneral.bs-house-product-page #productDescription p {
    margin: 0 0 16px !important;
}

/* =========================================================
   END HOUSE PLAQUE PRODUCT FINAL TOUCHES
   ========================================================= */


/* =========================================================
   BLUESTORM - HOUSE PLAQUE PLAIN-TEXT DESCRIPTION HEADING
   Zen Cart editor is displaying HTML tags as text, so create
   the heading with CSS instead.
   ========================================================= */

#productGeneral.bs-house-product-page #productDescription::before {
    content: "Personalised Wrought Iron Garden Gate Plaque";
    display: block;
    margin: 0 0 18px !important;
    color: #102a42 !important;
    font-size: 23px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

#productGeneral.bs-house-product-page #productDescription {
    white-space: pre-line;
}

/* =========================================================
   END PLAIN-TEXT DESCRIPTION HEADING
   ========================================================= */


/* =========================================================
   BLUESTORM - COMPACT PLAIN-TEXT PRODUCT DESCRIPTION
   ========================================================= */

#productGeneral.bs-house-product-page #productDescription {
    white-space: pre-line !important;
    line-height: 1.6 !important;
}

#productGeneral.bs-house-product-page #productDescription::before {
    margin-bottom: 12px !important;
}

/* =========================================================
   END COMPACT DESCRIPTION
   ========================================================= */


/* =========================================================
   BLUESTORM - SHOP WINDOW STICKERS / WINDOW GRAPHICS
   cPath=21 category listing
   ========================================================= */

body:has(#indexProductList.bs-window-graphics) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexProductList.bs-window-graphics)
#contentMainWrapper > div:has(#indexProductList.bs-window-graphics) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexProductList.bs-window-graphics {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 46px !important;
    box-sizing: border-box !important;
}

/* Clean category heading panel */
#indexProductList.bs-window-graphics #cat-top {
    margin: 0 0 28px !important;
    padding: 28px 30px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f5fbff 0%, #ffffff 75%);
    overflow: hidden;
}

#indexProductList.bs-window-graphics #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

#indexProductList.bs-window-graphics #productListHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

#indexProductList.bs-window-graphics .bs-category-lead {
    max-width: 820px;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

/* Remove the old generic category image and irrelevant old description */
#indexProductList.bs-window-graphics #categoryImgListing,
#indexProductList.bs-window-graphics #indexProductListCatDescription {
    display: none !important;
}

/* Two products don't need the old alphabet/filter bar */
#indexProductList.bs-window-graphics #filter-wrapper {
    display: none !important;
}

/* Hide old result-count/pagination bars on this small category */
#indexProductList.bs-window-graphics #productListing > .prod-list-wrap {
    display: none !important;
}

/* Hide duplicated "New Products for October" section below the listing */
#indexProductList.bs-window-graphics #whatsNew {
    display: none !important;
}

/* Product area */
#indexProductList.bs-window-graphics #productListing {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* COLUMN/FLUID layout support */
#indexProductList.bs-window-graphics
#productListing .gridlayout.centerBoxContentsProducts,
#indexProductList.bs-window-graphics
#productListing .centerBoxContentsProducts {
    width: calc(50% - 14px) !important;
    min-height: 430px !important;
    margin: 0 7px 18px !important;
    padding: 24px 22px 26px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(5,32,52,.07) !important;
    text-align: center !important;
    position: relative;
    transition: transform .15s ease, box-shadow .15s ease;
}

#indexProductList.bs-window-graphics
#productListing .gridlayout.centerBoxContentsProducts:hover,
#indexProductList.bs-window-graphics
#productListing .centerBoxContentsProducts:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(5,32,52,.12) !important;
}

/* TABULAR layout support */
#indexProductList.bs-window-graphics #productListing table.tabTable {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

#indexProductList.bs-window-graphics #productListing table.tabTable > tbody {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

#indexProductList.bs-window-graphics #productListing tr.productListing-odd,
#indexProductList.bs-window-graphics #productListing tr.productListing-even {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    min-height: 430px !important;
    padding: 24px 22px 62px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(5,32,52,.07) !important;
}

#indexProductList.bs-window-graphics
#productListing tr.productListing-odd > td,
#indexProductList.bs-window-graphics
#productListing tr.productListing-even > td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 0 !important;
}

/* Product images */
#indexProductList.bs-window-graphics #productListing .list-image {
    float: none !important;
    min-width: 0 !important;
    min-height: 190px !important;
    margin: 0 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#indexProductList.bs-window-graphics #productListing .list-image img,
#indexProductList.bs-window-graphics #productListing .listingProductImage,
#indexProductList.bs-window-graphics #productListing .centerBoxContentsProducts img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: 190px !important;
    object-fit: contain !important;
    margin: 0 auto 14px !important;
}

/* Product title */
#indexProductList.bs-window-graphics #productListing .itemTitle {
    width: 100% !important;
    margin: 0 0 10px !important;
    color: #123b5a !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

#indexProductList.bs-window-graphics #productListing .itemTitle a {
    color: #123b5a !important;
    text-decoration: none !important;
}

#indexProductList.bs-window-graphics #productListing .itemTitle a:hover {
    color: #078eea !important;
}

/* The old all-caps descriptions make the cards too busy */
#indexProductList.bs-window-graphics #productListing .listingDescription {
    display: none !important;
}

/* Price */
#indexProductList.bs-window-graphics #productListing .list-price,
#indexProductList.bs-window-graphics #productListing .productBasePrice,
#indexProductList.bs-window-graphics #productListing .productSpecialPrice {
    margin: 12px 0 16px !important;
    color: #078eea !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

/* Turn the old "... more info" link into a BlueStorm button */
#indexProductList.bs-window-graphics #productListing .list-more {
    float: none !important;
    display: inline-block !important;
    width: auto !important;
    min-width: 135px !important;
    margin: 12px auto 0 !important;
    padding: 11px 19px !important;
    box-sizing: border-box !important;
    border-radius: 5px !important;
    background: #078eea !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 18px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

#indexProductList.bs-window-graphics #productListing .list-more::after {
    content: "View Product";
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

#indexProductList.bs-window-graphics #productListing .list-more:hover {
    background: #087ed1 !important;
}

/* Also support the older tabular "... more info" link position */
#indexProductList.bs-window-graphics
#productListing td.productListing-data:last-child > a,
#indexProductList.bs-window-graphics
#productListing td.hsProductListingData:last-child > a {
    display: inline-block !important;
    min-width: 135px !important;
    margin: 14px auto 0 !important;
    padding: 11px 19px !important;
    box-sizing: border-box !important;
    border-radius: 5px !important;
    background: #078eea !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 18px !important;
    text-decoration: none !important;
}

#indexProductList.bs-window-graphics
#productListing td.productListing-data:last-child > a::after,
#indexProductList.bs-window-graphics
#productListing td.hsProductListingData:last-child > a::after {
    content: "View Product";
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

/* Tablet */
@media (max-width: 900px) {
    body:has(#indexProductList.bs-window-graphics)
    #contentMainWrapper > div:has(#indexProductList.bs-window-graphics) {
        padding: 0 16px !important;
    }

    #indexProductList.bs-window-graphics
    #productListing .gridlayout.centerBoxContentsProducts,
    #indexProductList.bs-window-graphics
    #productListing .centerBoxContentsProducts {
        width: calc(50% - 12px) !important;
        margin: 0 6px 16px !important;
    }
}

/* Mobile */
@media (max-width: 620px) {
    #indexProductList.bs-window-graphics {
        padding-top: 20px !important;
    }

    #indexProductList.bs-window-graphics #cat-top {
        padding: 22px 18px !important;
    }

    #indexProductList.bs-window-graphics #productListHeading {
        font-size: 27px !important;
    }

    #indexProductList.bs-window-graphics
    #productListing .gridlayout.centerBoxContentsProducts,
    #indexProductList.bs-window-graphics
    #productListing .centerBoxContentsProducts {
        float: none !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 0 14px !important;
    }

    #indexProductList.bs-window-graphics #productListing table.tabTable > tbody {
        grid-template-columns: 1fr !important;
    }

    #indexProductList.bs-window-graphics #productListing tr.productListing-odd,
    #indexProductList.bs-window-graphics #productListing tr.productListing-even {
        min-height: 0 !important;
    }

    #indexProductList.bs-window-graphics #productListing .list-image img,
    #indexProductList.bs-window-graphics #productListing .listingProductImage,
    #indexProductList.bs-window-graphics #productListing .centerBoxContentsProducts img {
        height: 165px !important;
    }
}

/* =========================================================
   END SHOP WINDOW STICKERS / WINDOW GRAPHICS
   ========================================================= */


/* =========================================================
   BLUESTORM - WINDOW GRAPHICS CARD TITLE POLISH
   Neater wrapping and a little more breathing room
   ========================================================= */

#indexProductList.bs-window-graphics
#productListing .gridlayout.centerBoxContentsProducts,
#indexProductList.bs-window-graphics
#productListing .centerBoxContentsProducts {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

#indexProductList.bs-window-graphics #productListing .itemTitle {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 8px !important;
    line-height: 1.28 !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

#indexProductList.bs-window-graphics #productListing .itemTitle a {
    display: inline-block;
    max-width: 100%;
}

#indexProductList.bs-window-graphics #productListing tr.productListing-odd,
#indexProductList.bs-window-graphics #productListing tr.productListing-even {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

@media (max-width: 900px) {
    #indexProductList.bs-window-graphics
    #productListing .gridlayout.centerBoxContentsProducts,
    #indexProductList.bs-window-graphics
    #productListing .centerBoxContentsProducts,
    #indexProductList.bs-window-graphics #productListing tr.productListing-odd,
    #indexProductList.bs-window-graphics #productListing tr.productListing-even {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}

/* =========================================================
   END WINDOW GRAPHICS CARD TITLE POLISH
   ========================================================= */


/* =========================================================
   BLUESTORM - PET MEMORIAL / PERSONALISED & MEMORIAL
   cPath=151
   ========================================================= */

/* Full-width category layout */
body:has(#indexCategories.bs-pet-memorial) #contentMainWrapper,
body:has(#indexProductList.bs-pet-memorial) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexCategories.bs-pet-memorial)
#contentMainWrapper > div:has(#indexCategories.bs-pet-memorial),
body:has(#indexProductList.bs-pet-memorial)
#contentMainWrapper > div:has(#indexProductList.bs-pet-memorial) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexCategories.bs-pet-memorial,
#indexProductList.bs-pet-memorial {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 46px !important;
    box-sizing: border-box !important;
}

/* Heading panel */
#indexCategories.bs-pet-memorial #cat-top,
#indexProductList.bs-pet-memorial #cat-top {
    margin: 0 0 28px !important;
    padding: 28px 30px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f7fbff 0%, #ffffff 75%);
    overflow: hidden;
}

#indexCategories.bs-pet-memorial #cat-left,
#indexProductList.bs-pet-memorial #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

#indexCategories.bs-pet-memorial #indexCategoriesHeading,
#indexProductList.bs-pet-memorial #productListHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

#indexCategories.bs-pet-memorial .bs-category-lead,
#indexProductList.bs-pet-memorial .bs-category-lead {
    max-width: 820px;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

/* Remove old small category art and legacy description */
#indexCategories.bs-pet-memorial #categoryImgListing,
#indexProductList.bs-pet-memorial #categoryImgListing {
    display: none !important;
}

#indexCategories.bs-pet-memorial #categoryDescription,
#indexProductList.bs-pet-memorial #indexProductListCatDescription {
    display: none !important;
}

/* Cleaner product-list page if products are assigned directly to cPath=151 */
#indexProductList.bs-pet-memorial #filter-wrapper {
    display: none !important;
}

#indexProductList.bs-pet-memorial #productListing > .prod-list-wrap {
    display: none !important;
}

#indexProductList.bs-pet-memorial #whatsNew {
    display: none !important;
}

#indexProductList.bs-pet-memorial #productListing {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* Product cards - column/fluid */
#indexProductList.bs-pet-memorial
#productListing .gridlayout.centerBoxContentsProducts,
#indexProductList.bs-pet-memorial
#productListing .centerBoxContentsProducts {
    width: calc(33.333% - 16px) !important;
    min-height: 420px !important;
    margin: 0 8px 18px !important;
    padding: 26px 28px 28px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(5,32,52,.07) !important;
    text-align: center !important;
    position: relative;
    transition: transform .15s ease, box-shadow .15s ease;
}

#indexProductList.bs-pet-memorial
#productListing .gridlayout.centerBoxContentsProducts:hover,
#indexProductList.bs-pet-memorial
#productListing .centerBoxContentsProducts:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(5,32,52,.12) !important;
}

/* Product cards - tabular fallback */
#indexProductList.bs-pet-memorial #productListing table.tabTable > tbody {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

#indexProductList.bs-pet-memorial #productListing tr.productListing-odd,
#indexProductList.bs-pet-memorial #productListing tr.productListing-even {
    display: flex !important;
    flex-direction: column !important;
    min-height: 420px !important;
    padding: 26px 28px 62px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(5,32,52,.07) !important;
}

#indexProductList.bs-pet-memorial
#productListing tr.productListing-odd > td,
#indexProductList.bs-pet-memorial
#productListing tr.productListing-even > td {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

/* Product images */
#indexProductList.bs-pet-memorial #productListing .list-image {
    float: none !important;
    min-width: 0 !important;
    min-height: 190px !important;
    margin: 0 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#indexProductList.bs-pet-memorial #productListing .list-image img,
#indexProductList.bs-pet-memorial #productListing .listingProductImage,
#indexProductList.bs-pet-memorial #productListing .centerBoxContentsProducts img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: 190px !important;
    object-fit: contain !important;
    margin: 0 auto 14px !important;
}

/* Product title */
#indexProductList.bs-pet-memorial #productListing .itemTitle {
    max-width: 420px !important;
    margin: 0 auto 10px !important;
    padding: 0 8px !important;
    color: #123b5a !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-align: center !important;
    overflow-wrap: anywhere;
}

#indexProductList.bs-pet-memorial #productListing .itemTitle a {
    color: #123b5a !important;
    text-decoration: none !important;
}

#indexProductList.bs-pet-memorial #productListing .itemTitle a:hover {
    color: #078eea !important;
}

/* Hide long legacy descriptions on cards */
#indexProductList.bs-pet-memorial #productListing .listingDescription {
    display: none !important;
}

/* Price */
#indexProductList.bs-pet-memorial #productListing .list-price,
#indexProductList.bs-pet-memorial #productListing .productBasePrice,
#indexProductList.bs-pet-memorial #productListing .productSpecialPrice {
    margin: 12px 0 16px !important;
    color: #078eea !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

/* View Product button */
#indexProductList.bs-pet-memorial #productListing .list-more,
#indexProductList.bs-pet-memorial
#productListing td.productListing-data:last-child > a,
#indexProductList.bs-pet-memorial
#productListing td.hsProductListingData:last-child > a {
    display: inline-block !important;
    min-width: 135px !important;
    margin: 14px auto 0 !important;
    padding: 11px 19px !important;
    box-sizing: border-box !important;
    border-radius: 5px !important;
    background: #078eea !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 18px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

#indexProductList.bs-pet-memorial #productListing .list-more::after,
#indexProductList.bs-pet-memorial
#productListing td.productListing-data:last-child > a::after,
#indexProductList.bs-pet-memorial
#productListing td.hsProductListingData:last-child > a::after {
    content: "View Product";
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

#indexProductList.bs-pet-memorial #productListing .list-more:hover,
#indexProductList.bs-pet-memorial
#productListing td.productListing-data:last-child > a:hover,
#indexProductList.bs-pet-memorial
#productListing td.hsProductListingData:last-child > a:hover {
    background: #087ed1 !important;
}

/* Empty-category message */
#indexProductList.bs-pet-memorial .messageStackWarning,
#indexProductList.bs-pet-memorial .messageStackError,
#indexProductList.bs-pet-memorial #productListing + p {
    margin: 24px 0 !important;
}

/* Tablet */
@media (max-width: 900px) {
    body:has(#indexCategories.bs-pet-memorial)
    #contentMainWrapper > div:has(#indexCategories.bs-pet-memorial),
    body:has(#indexProductList.bs-pet-memorial)
    #contentMainWrapper > div:has(#indexProductList.bs-pet-memorial) {
        padding: 0 16px !important;
    }

    #indexProductList.bs-pet-memorial
    #productListing .gridlayout.centerBoxContentsProducts,
    #indexProductList.bs-pet-memorial
    #productListing .centerBoxContentsProducts {
        width: calc(50% - 14px) !important;
        margin: 0 7px 16px !important;
    }

    #indexProductList.bs-pet-memorial #productListing table.tabTable > tbody {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 620px) {
    #indexCategories.bs-pet-memorial,
    #indexProductList.bs-pet-memorial {
        padding-top: 20px !important;
    }

    #indexCategories.bs-pet-memorial #cat-top,
    #indexProductList.bs-pet-memorial #cat-top {
        padding: 22px 18px !important;
    }

    #indexCategories.bs-pet-memorial #indexCategoriesHeading,
    #indexProductList.bs-pet-memorial #productListHeading {
        font-size: 27px !important;
    }

    #indexProductList.bs-pet-memorial
    #productListing .gridlayout.centerBoxContentsProducts,
    #indexProductList.bs-pet-memorial
    #productListing .centerBoxContentsProducts {
        float: none !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 0 14px !important;
    }

    #indexProductList.bs-pet-memorial #productListing table.tabTable > tbody {
        grid-template-columns: 1fr !important;
    }

    #indexProductList.bs-pet-memorial #productListing tr.productListing-odd,
    #indexProductList.bs-pet-memorial #productListing tr.productListing-even {
        min-height: 0 !important;
    }

    #indexProductList.bs-pet-memorial #productListing .list-image img,
    #indexProductList.bs-pet-memorial #productListing .listingProductImage,
    #indexProductList.bs-pet-memorial #productListing .centerBoxContentsProducts img {
        height: 165px !important;
    }
}

/* =========================================================
   END PET MEMORIAL / PERSONALISED & MEMORIAL
   ========================================================= */

/* =========================================================
   BLUESTORM - PET / MEMORIAL PRODUCT PAGES
   Modern full-width product layout for cPath 62...
   ========================================================= */

body:has(#productGeneral.bs-pet-product-page) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#productGeneral.bs-pet-product-page)
#contentMainWrapper > div:has(#productGeneral.bs-pet-product-page) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#productGeneral.bs-pet-product-page {
    width: 100% !important;
    max-width: 1380px !important;
    margin: 0 auto !important;
    padding: 28px 0 48px !important;
    box-sizing: border-box !important;
}

/* Hide the old category icon on the product page */
#productGeneral.bs-pet-product-page .categoryIcon,
#productGeneral.bs-pet-product-page #categoryIcon {
    display: none !important;
}

/* Keep previous/next compact */
#productGeneral.bs-pet-product-page .navNextPrevWrapper,
#productGeneral.bs-pet-product-page #productsNextPrevious {
    margin: 0 0 12px auto !important;
    font-size: 12px !important;
}

/* Main product section */
#productGeneral.bs-pet-product-page #prod-info-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
    grid-template-areas:
        "title title"
        "image details"
        "image cart";
    gap: 0 34px;
    align-items: start;
}

#productGeneral.bs-pet-product-page #productName {
    grid-area: title;
    margin: 0 0 24px !important;
    color: #102a42 !important;
    font-size: 34px !important;
    line-height: 1.14 !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px;
}

/* Image panel */
#productGeneral.bs-pet-product-page #pinfo-left {
    grid-area: image;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 26px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-radius: 10px;
    background: #ffffff;
    text-align: center;
    box-shadow: 0 2px 10px rgba(5,32,52,.06);
}

#productGeneral.bs-pet-product-page #productMainImage,
#productGeneral.bs-pet-product-page .additionalImages {
    float: none !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
}

#productGeneral.bs-pet-product-page #pinfo-left img {
    width: auto !important;
    max-width: 100% !important;
    max-height: 440px !important;
    height: auto !important;
    object-fit: contain;
    margin: 0 auto 12px !important;
}

#productGeneral.bs-pet-product-page #productMainImage a,
#productGeneral.bs-pet-product-page #pinfo-left a {
    color: #078eea !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Details panel */
#productGeneral.bs-pet-product-page #pinfo-right {
    grid-area: details;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 24px 26px 20px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: #f8fbfd;
}

#productGeneral.bs-pet-product-page #productDetailsList {
    margin: 0 0 16px !important;
    padding: 0 !important;
    list-style: none !important;
}

#productGeneral.bs-pet-product-page #productDetailsList li {
    margin: 5px 0 !important;
    color: #42596a !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

#productGeneral.bs-pet-product-page .bs-question-button {
    display: inline-block;
    padding: 9px 14px;
    border: 1px solid #b8cbd7;
    border-radius: 5px;
    background: #ffffff;
    color: #173f5f !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}

#productGeneral.bs-pet-product-page .bs-question-button:hover {
    border-color: #078eea;
    color: #078eea !important;
}

/* Price, attributes and buy panel */
#productGeneral.bs-pet-product-page #cart-box {
    grid-area: cart;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 22px 26px 26px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-top: 1px solid #edf2f5;
    border-radius: 0 0 10px 10px;
    background: #ffffff !important;
}

#productGeneral.bs-pet-product-page #productPrices {
    margin: 0 0 20px !important;
    color: #078eea !important;
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

#productGeneral.bs-pet-product-page #productPrices .normalprice {
    margin-right: 8px;
    color: #748491 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

#productGeneral.bs-pet-product-page #productPrices .productSpecialPrice,
#productGeneral.bs-pet-product-page #productPrices .productBasePrice {
    color: #078eea !important;
    font-size: 28px !important;
    font-weight: 800 !important;
}

/* Attributes */
#productGeneral.bs-pet-product-page #productAttributes {
    margin: 0 0 20px !important;
    padding: 0 !important;
}

#productGeneral.bs-pet-product-page .wrapperAttribsOptions {
    display: grid !important;
    grid-template-columns: 145px minmax(0, 1fr);
    align-items: center;
    gap: 10px 14px;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

#productGeneral.bs-pet-product-page .optionName {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #17324a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: left !important;
}

#productGeneral.bs-pet-product-page .back,
#productGeneral.bs-pet-product-page .forward {
    float: none;
}

#productGeneral.bs-pet-product-page #productAttributes input[type="text"],
#productGeneral.bs-pet-product-page #productAttributes select,
#productGeneral.bs-pet-product-page #productAttributes textarea {
    width: 100% !important;
    max-width: 360px !important;
    min-height: 40px;
    padding: 8px 10px !important;
    box-sizing: border-box;
    border: 1px solid #c7d5de !important;
    border-radius: 4px;
    background: #ffffff !important;
    font-size: 14px !important;
}

/* Quantity + Add to Basket */
#productGeneral.bs-pet-product-page #cartAdd {
    margin: 20px 0 0 !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid #e3ebf0;
    text-align: left !important;
}

#productGeneral.bs-pet-product-page #cartAdd .qty-text {
    display: inline-block;
    margin: 0 8px 0 0;
    color: #324b5e;
    font-size: 13px;
    font-weight: 700;
}

#productGeneral.bs-pet-product-page #cartAdd input[name="cart_quantity"] {
    width: 58px !important;
    height: 42px !important;
    margin: 0 10px 0 0 !important;
    padding: 6px !important;
    box-sizing: border-box;
    border: 1px solid #c7d5de !important;
    border-radius: 4px;
    text-align: center;
    font-size: 15px !important;
}

#productGeneral.bs-pet-product-page .bs-add-cart-button {
    min-height: 42px;
    padding: 0 24px;
    border: 0;
    border-radius: 5px;
    background: #078eea;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    vertical-align: middle;
}

#productGeneral.bs-pet-product-page .bs-add-cart-button:hover {
    background: #087ed1;
}

/* Product description */
#productGeneral.bs-pet-product-page #productDescription {
    clear: both !important;
    margin: 34px 0 0 !important;
    padding: 26px 30px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8ee;
    border-radius: 10px;
    background: #ffffff;
    color: #344c5e !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    box-shadow: 0 2px 10px rgba(5,32,52,.05);
}

/* Review/date extras */
#productGeneral.bs-pet-product-page #productReviewLink,
#productGeneral.bs-pet-product-page #productDateAdded,
#productGeneral.bs-pet-product-page #productDateAvailable,
#productGeneral.bs-pet-product-page #productInfoLink {
    margin-top: 18px !important;
}

/* Tablet */
@media (max-width: 900px) {
    body:has(#productGeneral.bs-pet-product-page)
    #contentMainWrapper > div:has(#productGeneral.bs-pet-product-page) {
        padding: 0 16px !important;
    }

    #productGeneral.bs-pet-product-page #prod-info-top {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "image"
            "details"
            "cart";
        gap: 16px;
    }

    #productGeneral.bs-pet-product-page #pinfo-right {
        border-bottom: 1px solid #dfe8ee;
        border-radius: 10px;
    }

    #productGeneral.bs-pet-product-page #cart-box {
        border-top: 1px solid #dfe8ee;
        border-radius: 10px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    #productGeneral.bs-pet-product-page {
        padding-top: 20px !important;
    }

    #productGeneral.bs-pet-product-page #productName {
        font-size: 27px !important;
    }

    #productGeneral.bs-pet-product-page #pinfo-left,
    #productGeneral.bs-pet-product-page #pinfo-right,
    #productGeneral.bs-pet-product-page #cart-box,
    #productGeneral.bs-pet-product-page #productDescription {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #productGeneral.bs-pet-product-page .wrapperAttribsOptions {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    #productGeneral.bs-pet-product-page #productAttributes input[type="text"],
    #productGeneral.bs-pet-product-page #productAttributes select,
    #productGeneral.bs-pet-product-page #productAttributes textarea {
        max-width: 100% !important;
    }

    #productGeneral.bs-pet-product-page .bs-add-cart-button {
        display: block;
        width: 100%;
        margin-top: 12px;
    }
}

/* =========================================================
   END BLUESTORM - PET / MEMORIAL PRODUCT PAGES
   ========================================================= */


/* Pet / Memorial product-specific refinements */
#productGeneral.bs-pet-product-page #productDescription::before {
    content: none !important;
    display: none !important;
}

#productGeneral.bs-pet-product-page #productDescription {
    white-space: normal !important;
}

#productGeneral.bs-pet-product-page #productDateAdded {
    display: none !important;
}

/* Give small pet-product images a useful visual size */
#productGeneral.bs-pet-product-page #pinfo-left img {
    width: min(320px, 78%) !important;
    max-width: 78% !important;
    max-height: 360px !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Pet tag attributes can be text fields / textareas: keep them generous */
#productGeneral.bs-pet-product-page #productAttributes textarea {
    min-height: 84px !important;
    resize: vertical;
}

/* Keep character-limit/help text readable */
#productGeneral.bs-pet-product-page #productAttributes .alert,
#productGeneral.bs-pet-product-page #productAttributes .required,
#productGeneral.bs-pet-product-page #productAttributes small {
    color: #5c6e7c !important;
    font-size: 12px !important;
}

/* Mobile image sizing */
@media (max-width: 600px) {
    #productGeneral.bs-pet-product-page #pinfo-left img {
        width: min(260px, 82%) !important;
        max-width: 82% !important;
    }
}


/* =========================================================
   BLUESTORM - VEHICLE GRAPHICS SUBCATEGORY LANDING PAGE
   cPath=147
   Compact 4-across category buttons, no thumbnails, no
   "New Products" block on the parent landing page.
   Added October 2026
   ========================================================= */

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"]) #indexCategories {
    padding-bottom: 34px !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"]) #indexCategories #cat-top {
    margin-bottom: 18px !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents {
    float: left !important;
    width: calc(25% - 12px) !important;
    min-height: 0 !important;
    margin: 0 6px 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a:has(img) {
    display: none !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > br {
    display: none !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a:not(:has(img)) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 5px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                transform .15s ease;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a:not(:has(img)):hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
    transform: translateY(-1px);
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories #whatsNew {
    display: none !important;
}

@media (max-width: 760px) {
    body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
    #indexCategories .categoryListBoxContents {
        width: calc(50% - 10px) !important;
        margin: 0 5px 10px !important;
    }

    body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
    #indexCategories .categoryListBoxContents > a:not(:has(img)) {
        min-height: 50px !important;
        padding: 9px 10px !important;
        font-size: 13px !important;
    }
}

/* =========================================================
   END VEHICLE GRAPHICS SUBCATEGORY LANDING PAGE
   ========================================================= */

/* =========================================================
   FIX - VEHICLE GRAPHICS SUBCATEGORY BUTTONS
   Zen Cart places the thumbnail and category name inside the
   same link. Keep that link visible and hide only its image.
   ========================================================= */

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 5px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                transform .15s ease;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a img {
    display: none !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a br {
    display: none !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a:hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
    #indexCategories .categoryListBoxContents > a {
        min-height: 50px !important;
        padding: 9px 10px !important;
        font-size: 13px !important;
    }
}

/* =========================================================
   END FIX
   ========================================================= */


/* =========================================================
   FIX 2 - VEHICLE GRAPHICS CATEGORY LINKS
   Override the earlier a:has(img) hide rule with equal/higher
   specificity so the category name remains visible.
   ========================================================= */

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a:has(img) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 5px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a:has(img) img {
    display: none !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a:has(img) br {
    display: none !important;
}

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories .categoryListBoxContents > a:has(img):hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
}

/* =========================================================
   END FIX 2
   ========================================================= */

/* =========================================================
   BLUESTORM - VEHICLE GRAPHICS LANDING PAGE FINAL POLISH
   ========================================================= */
body:has(#indexCategories.bs-vehicle-graphics) #contentMainWrapper > div:has(#navColumnOne),
body:has(#indexCategories.bs-vehicle-graphics) #contentMainWrapper > div:has(#navColumnTwo){display:none!important;}
body:has(#indexCategories.bs-vehicle-graphics) #contentMainWrapper{display:block!important;width:100%!important;max-width:none!important;}
body:has(#indexCategories.bs-vehicle-graphics) #contentMainWrapper > div:has(#indexCategories.bs-vehicle-graphics){float:none!important;width:100%!important;max-width:1450px!important;margin:0 auto!important;padding:0 24px!important;box-sizing:border-box!important;}
#indexCategories.bs-vehicle-graphics{width:100%!important;max-width:none!important;margin:0 auto!important;padding:28px 0 46px!important;box-sizing:border-box!important;}
#indexCategories.bs-vehicle-graphics #cat-top{margin:0 0 22px!important;padding:26px 28px 22px!important;border:1px solid #dbe8f1;border-radius:8px;background:linear-gradient(100deg,#f5fbff 0%,#fff 78%);overflow:hidden;}
#indexCategories.bs-vehicle-graphics #cat-left{float:none!important;width:auto!important;text-align:left!important;}
#indexCategories.bs-vehicle-graphics #indexCategoriesHeading{margin:0 0 10px!important;color:#102a42!important;font-size:32px!important;line-height:1.1!important;font-weight:800!important;}
#indexCategories.bs-vehicle-graphics .bs-vehicle-intro{max-width:850px;margin:0!important;padding:0!important;color:#4c6172;font-size:15px;line-height:1.6;}
#indexCategories.bs-vehicle-graphics #categoryImgListing,#indexCategories.bs-vehicle-graphics #categoryDescription{display:none!important;}
#indexCategories.bs-vehicle-graphics .categoryListBoxContents{float:left!important;width:calc(25% - 12px)!important;min-height:0!important;margin:0 6px 12px!important;padding:0!important;box-sizing:border-box!important;text-align:center!important;}
#indexCategories.bs-vehicle-graphics .categoryListBoxContents>a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:56px!important;margin:0!important;padding:10px 14px!important;box-sizing:border-box!important;border:1px solid #d7e3eb!important;border-radius:6px!important;background:#f1f6f9!important;color:#123b5a!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:1.25!important;font-weight:700!important;text-decoration:none!important;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;}
#indexCategories.bs-vehicle-graphics .categoryListBoxContents>a img,#indexCategories.bs-vehicle-graphics .categoryListBoxContents>a br{display:none!important;}
#indexCategories.bs-vehicle-graphics .categoryListBoxContents>a:hover{background:#e7f4fd!important;border-color:#9ecff0!important;color:#078eea!important;transform:translateY(-1px);}
#indexCategories.bs-vehicle-graphics .bs-vehicle-bespoke{clear:both;display:flex;align-items:center;justify-content:space-between;gap:28px;margin:24px 6px 0;padding:24px 28px;box-sizing:border-box;border:1px solid #dbe8f1;border-radius:8px;background:linear-gradient(100deg,#071f33 0%,#0b3553 100%);color:#fff;}
#indexCategories.bs-vehicle-graphics .bs-vehicle-bespoke-copy{max-width:850px;}
#indexCategories.bs-vehicle-graphics .bs-vehicle-bespoke h2{margin:0 0 7px!important;color:#fff!important;font-size:22px!important;line-height:1.2;font-weight:800;}
#indexCategories.bs-vehicle-graphics .bs-vehicle-bespoke p{margin:0!important;padding:0!important;color:#dceaf4!important;font-size:14px;line-height:1.55;}
#indexCategories.bs-vehicle-graphics .bs-vehicle-quote{flex:0 0 auto;display:inline-block!important;padding:12px 20px!important;border-radius:5px;background:#0798ff!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important;white-space:nowrap;}
#indexCategories.bs-vehicle-graphics .bs-vehicle-quote:hover{background:#087ed1!important;color:#fff!important;}
@media(max-width:900px){body:has(#indexCategories.bs-vehicle-graphics) #contentMainWrapper>div:has(#indexCategories.bs-vehicle-graphics){padding:0 16px!important;}#indexCategories.bs-vehicle-graphics .categoryListBoxContents{width:calc(50% - 10px)!important;margin:0 5px 10px!important;}}
@media(max-width:620px){#indexCategories.bs-vehicle-graphics{padding-top:20px!important;}#indexCategories.bs-vehicle-graphics #cat-top{padding:22px 18px 18px!important;}#indexCategories.bs-vehicle-graphics #indexCategoriesHeading{font-size:27px!important;}#indexCategories.bs-vehicle-graphics .bs-vehicle-bespoke{display:block;margin-left:5px;margin-right:5px;padding:22px 18px;}#indexCategories.bs-vehicle-graphics .bs-vehicle-quote{margin-top:16px!important;}}
/* END VEHICLE GRAPHICS LANDING PAGE FINAL POLISH */


/* =========================================================
   BLUESTORM - STICKERS & DECALS LANDING PAGE
   cPath=150 - matches the Vehicle Graphics parent page
   ========================================================= */

body:has(#indexCategories.bs-stickers-decals)
#contentMainWrapper > div:has(#navColumnOne),
body:has(#indexCategories.bs-stickers-decals)
#contentMainWrapper > div:has(#navColumnTwo) {
    display: none !important;
}

body:has(#indexCategories.bs-stickers-decals) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexCategories.bs-stickers-decals)
#contentMainWrapper > div:has(#indexCategories.bs-stickers-decals) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexCategories.bs-stickers-decals {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 46px !important;
    box-sizing: border-box !important;
}

/* Heading / introduction */
#indexCategories.bs-stickers-decals #cat-top {
    margin: 0 0 22px !important;
    padding: 26px 28px 22px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f5fbff 0%, #ffffff 78%);
    overflow: hidden;
}

#indexCategories.bs-stickers-decals #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

#indexCategories.bs-stickers-decals #indexCategoriesHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

#indexCategories.bs-stickers-decals .bs-stickers-intro {
    max-width: 900px;
    margin: 0 !important;
    padding: 0 !important;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

#indexCategories.bs-stickers-decals #categoryImgListing,
#indexCategories.bs-stickers-decals #categoryDescription {
    display: none !important;
}

/* Four neat category buttons across */
#indexCategories.bs-stickers-decals .categoryListBoxContents {
    float: left !important;
    width: calc(25% - 12px) !important;
    min-height: 0 !important;
    margin: 0 6px 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#indexCategories.bs-stickers-decals .categoryListBoxContents > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 6px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                transform .15s ease;
}

#indexCategories.bs-stickers-decals .categoryListBoxContents > a img,
#indexCategories.bs-stickers-decals .categoryListBoxContents > a br {
    display: none !important;
}

#indexCategories.bs-stickers-decals .categoryListBoxContents > a:hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
    transform: translateY(-1px);
}

/* Bespoke panel */
#indexCategories.bs-stickers-decals .bs-stickers-bespoke {
    clear: both;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 24px 6px 0;
    padding: 24px 28px;
    box-sizing: border-box;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #071f33 0%, #0b3553 100%);
    color: #ffffff;
}

#indexCategories.bs-stickers-decals .bs-stickers-bespoke-copy {
    max-width: 900px;
}

#indexCategories.bs-stickers-decals .bs-stickers-bespoke h2 {
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.2;
    font-weight: 800;
}

#indexCategories.bs-stickers-decals .bs-stickers-bespoke p {
    margin: 0 !important;
    padding: 0 !important;
    color: #dceaf4 !important;
    font-size: 14px;
    line-height: 1.55;
}

#indexCategories.bs-stickers-decals .bs-stickers-quote {
    flex: 0 0 auto;
    display: inline-block !important;
    padding: 12px 20px !important;
    border-radius: 5px;
    background: #0798ff !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

#indexCategories.bs-stickers-decals .bs-stickers-quote:hover {
    background: #087ed1 !important;
    color: #ffffff !important;
}

/* Tablet */
@media (max-width: 900px) {
    body:has(#indexCategories.bs-stickers-decals)
    #contentMainWrapper > div:has(#indexCategories.bs-stickers-decals) {
        padding: 0 16px !important;
    }

    #indexCategories.bs-stickers-decals .categoryListBoxContents {
        width: calc(50% - 10px) !important;
        margin: 0 5px 10px !important;
    }
}

/* Mobile */
@media (max-width: 620px) {
    #indexCategories.bs-stickers-decals {
        padding-top: 20px !important;
    }

    #indexCategories.bs-stickers-decals #cat-top {
        padding: 22px 18px 18px !important;
    }

    #indexCategories.bs-stickers-decals #indexCategoriesHeading {
        font-size: 27px !important;
    }

    #indexCategories.bs-stickers-decals .bs-stickers-bespoke {
        display: block;
        margin-left: 5px;
        margin-right: 5px;
        padding: 22px 18px;
    }

    #indexCategories.bs-stickers-decals .bs-stickers-quote {
        margin-top: 16px !important;
    }
}

/* =========================================================
   END STICKERS & DECALS LANDING PAGE
   ========================================================= */


/* =========================================================
   BLUESTORM - SIGNS & BUSINESS LANDING PAGE
   cPath=146 - matches Vehicle Graphics / Stickers & Decals
   ========================================================= */

body:has(#indexCategories.bs-signs-business)
#contentMainWrapper > div:has(#navColumnOne),
body:has(#indexCategories.bs-signs-business)
#contentMainWrapper > div:has(#navColumnTwo) {
    display: none !important;
}

body:has(#indexCategories.bs-signs-business) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexCategories.bs-signs-business)
#contentMainWrapper > div:has(#indexCategories.bs-signs-business) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexCategories.bs-signs-business {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 46px !important;
    box-sizing: border-box !important;
}

/* Heading / introduction */
#indexCategories.bs-signs-business #cat-top {
    margin: 0 0 22px !important;
    padding: 26px 28px 22px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f5fbff 0%, #ffffff 78%);
    overflow: hidden;
}

#indexCategories.bs-signs-business #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

#indexCategories.bs-signs-business #indexCategoriesHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

#indexCategories.bs-signs-business .bs-signs-intro {
    max-width: 920px;
    margin: 0 !important;
    padding: 0 !important;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

#indexCategories.bs-signs-business #categoryImgListing,
#indexCategories.bs-signs-business #categoryDescription {
    display: none !important;
}

/* Four neat category buttons across */
#indexCategories.bs-signs-business .categoryListBoxContents {
    float: left !important;
    width: calc(25% - 12px) !important;
    min-height: 0 !important;
    margin: 0 6px 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#indexCategories.bs-signs-business .categoryListBoxContents > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 6px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                transform .15s ease;
}

#indexCategories.bs-signs-business .categoryListBoxContents > a img,
#indexCategories.bs-signs-business .categoryListBoxContents > a br {
    display: none !important;
}

#indexCategories.bs-signs-business .categoryListBoxContents > a:hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
    transform: translateY(-1px);
}

/* Bespoke panel */
#indexCategories.bs-signs-business .bs-signs-bespoke {
    clear: both;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 24px 6px 0;
    padding: 24px 28px;
    box-sizing: border-box;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #071f33 0%, #0b3553 100%);
    color: #ffffff;
}

#indexCategories.bs-signs-business .bs-signs-bespoke-copy {
    max-width: 920px;
}

#indexCategories.bs-signs-business .bs-signs-bespoke h2 {
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.2;
    font-weight: 800;
}

#indexCategories.bs-signs-business .bs-signs-bespoke p {
    margin: 0 !important;
    padding: 0 !important;
    color: #dceaf4 !important;
    font-size: 14px;
    line-height: 1.55;
}

#indexCategories.bs-signs-business .bs-signs-quote {
    flex: 0 0 auto;
    display: inline-block !important;
    padding: 12px 20px !important;
    border-radius: 5px;
    background: #0798ff !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

#indexCategories.bs-signs-business .bs-signs-quote:hover {
    background: #087ed1 !important;
    color: #ffffff !important;
}

/* Tablet */
@media (max-width: 900px) {
    body:has(#indexCategories.bs-signs-business)
    #contentMainWrapper > div:has(#indexCategories.bs-signs-business) {
        padding: 0 16px !important;
    }

    #indexCategories.bs-signs-business .categoryListBoxContents {
        width: calc(50% - 10px) !important;
        margin: 0 5px 10px !important;
    }
}

/* Mobile */
@media (max-width: 620px) {
    #indexCategories.bs-signs-business {
        padding-top: 20px !important;
    }

    #indexCategories.bs-signs-business #cat-top {
        padding: 22px 18px 18px !important;
    }

    #indexCategories.bs-signs-business #indexCategoriesHeading {
        font-size: 27px !important;
    }

    #indexCategories.bs-signs-business .bs-signs-bespoke {
        display: block;
        margin-left: 5px;
        margin-right: 5px;
        padding: 22px 18px;
    }

    #indexCategories.bs-signs-business .bs-signs-quote {
        margin-top: 16px !important;
    }
}

/* =========================================================
   END SIGNS & BUSINESS LANDING PAGE
   ========================================================= */


/* =========================================================
   BLUESTORM - WINDOW GRAPHICS PARENT LANDING PAGE
   cPath=148
   ========================================================= */

body:has(#indexCategories.bs-window-parent)
#contentMainWrapper > div:has(#navColumnOne),
body:has(#indexCategories.bs-window-parent)
#contentMainWrapper > div:has(#navColumnTwo) {
    display: none !important;
}

body:has(#indexCategories.bs-window-parent) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexCategories.bs-window-parent)
#contentMainWrapper > div:has(#indexCategories.bs-window-parent) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexCategories.bs-window-parent {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 46px !important;
    box-sizing: border-box !important;
}

/* Heading / introduction */
#indexCategories.bs-window-parent #cat-top {
    margin: 0 0 22px !important;
    padding: 26px 28px 22px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f5fbff 0%, #ffffff 78%);
    overflow: hidden;
}

#indexCategories.bs-window-parent #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

#indexCategories.bs-window-parent #indexCategoriesHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

#indexCategories.bs-window-parent .bs-window-parent-intro {
    max-width: 900px;
    margin: 0 !important;
    padding: 0 !important;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

#indexCategories.bs-window-parent #categoryImgListing,
#indexCategories.bs-window-parent #categoryDescription {
    display: none !important;
}

/* Only two child categories, so use two balanced buttons */
#indexCategories.bs-window-parent .categoryListBoxContents {
    float: left !important;
    width: calc(50% - 12px) !important;
    min-height: 0 !important;
    margin: 0 6px 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#indexCategories.bs-window-parent .categoryListBoxContents > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 11px 16px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 6px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                transform .15s ease;
}

#indexCategories.bs-window-parent .categoryListBoxContents > a img,
#indexCategories.bs-window-parent .categoryListBoxContents > a br {
    display: none !important;
}

#indexCategories.bs-window-parent .categoryListBoxContents > a:hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
    transform: translateY(-1px);
}

/* Bespoke panel */
#indexCategories.bs-window-parent .bs-window-parent-bespoke {
    clear: both;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 24px 6px 0;
    padding: 24px 28px;
    box-sizing: border-box;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #071f33 0%, #0b3553 100%);
    color: #ffffff;
}

#indexCategories.bs-window-parent .bs-window-parent-bespoke-copy {
    max-width: 920px;
}

#indexCategories.bs-window-parent .bs-window-parent-bespoke h2 {
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.2;
    font-weight: 800;
}

#indexCategories.bs-window-parent .bs-window-parent-bespoke p {
    margin: 0 !important;
    padding: 0 !important;
    color: #dceaf4 !important;
    font-size: 14px;
    line-height: 1.55;
}

#indexCategories.bs-window-parent .bs-window-parent-quote {
    flex: 0 0 auto;
    display: inline-block !important;
    padding: 12px 20px !important;
    border-radius: 5px;
    background: #0798ff !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

#indexCategories.bs-window-parent .bs-window-parent-quote:hover {
    background: #087ed1 !important;
    color: #ffffff !important;
}

@media (max-width: 760px) {
    body:has(#indexCategories.bs-window-parent)
    #contentMainWrapper > div:has(#indexCategories.bs-window-parent) {
        padding: 0 16px !important;
    }

    #indexCategories.bs-window-parent .categoryListBoxContents {
        float: none !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    #indexCategories.bs-window-parent .bs-window-parent-bespoke {
        display: block;
        margin-left: 0;
        margin-right: 0;
        padding: 22px 18px;
    }

    #indexCategories.bs-window-parent .bs-window-parent-quote {
        margin-top: 16px !important;
    }
}

@media (max-width: 620px) {
    #indexCategories.bs-window-parent {
        padding-top: 20px !important;
    }

    #indexCategories.bs-window-parent #cat-top {
        padding: 22px 18px 18px !important;
    }

    #indexCategories.bs-window-parent #indexCategoriesHeading {
        font-size: 27px !important;
    }
}

/* =========================================================
   END WINDOW GRAPHICS PARENT LANDING PAGE
   ========================================================= */


/* =========================================================
   BLUESTORM - PERSONALISED ITEMS PARENT LANDING PAGE
   cPath=152
   ========================================================= */

body:has(#indexCategories.bs-personalised-items)
#contentMainWrapper > div:has(#navColumnOne),
body:has(#indexCategories.bs-personalised-items)
#contentMainWrapper > div:has(#navColumnTwo) {
    display: none !important;
}

body:has(#indexCategories.bs-personalised-items) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexCategories.bs-personalised-items)
#contentMainWrapper > div:has(#indexCategories.bs-personalised-items) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexCategories.bs-personalised-items {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 46px !important;
    box-sizing: border-box !important;
}

/* Heading / introduction */
#indexCategories.bs-personalised-items #cat-top {
    margin: 0 0 22px !important;
    padding: 26px 28px 22px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f5fbff 0%, #ffffff 78%);
    overflow: hidden;
}

#indexCategories.bs-personalised-items #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

#indexCategories.bs-personalised-items #indexCategoriesHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

#indexCategories.bs-personalised-items .bs-personalised-items-intro {
    max-width: 900px;
    margin: 0 !important;
    padding: 0 !important;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

#indexCategories.bs-personalised-items #categoryImgListing,
#indexCategories.bs-personalised-items #categoryDescription {
    display: none !important;
}

/* Two balanced category buttons */
#indexCategories.bs-personalised-items .categoryListBoxContents {
    float: left !important;
    width: calc(50% - 12px) !important;
    min-height: 0 !important;
    margin: 0 6px 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#indexCategories.bs-personalised-items .categoryListBoxContents > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 11px 16px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 6px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                transform .15s ease;
}

#indexCategories.bs-personalised-items .categoryListBoxContents > a img,
#indexCategories.bs-personalised-items .categoryListBoxContents > a br {
    display: none !important;
}

#indexCategories.bs-personalised-items .categoryListBoxContents > a:hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
    transform: translateY(-1px);
}

/* Bespoke panel */
#indexCategories.bs-personalised-items .bs-personalised-items-bespoke {
    clear: both;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 24px 6px 0;
    padding: 24px 28px;
    box-sizing: border-box;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #071f33 0%, #0b3553 100%);
    color: #ffffff;
}

#indexCategories.bs-personalised-items .bs-personalised-items-bespoke-copy {
    max-width: 920px;
}

#indexCategories.bs-personalised-items .bs-personalised-items-bespoke h2 {
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.2;
    font-weight: 800;
}

#indexCategories.bs-personalised-items .bs-personalised-items-bespoke p {
    margin: 0 !important;
    padding: 0 !important;
    color: #dceaf4 !important;
    font-size: 14px;
    line-height: 1.55;
}

#indexCategories.bs-personalised-items .bs-personalised-items-quote {
    flex: 0 0 auto;
    display: inline-block !important;
    padding: 12px 20px !important;
    border-radius: 5px;
    background: #0798ff !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

#indexCategories.bs-personalised-items .bs-personalised-items-quote:hover {
    background: #087ed1 !important;
    color: #ffffff !important;
}

@media (max-width: 760px) {
    body:has(#indexCategories.bs-personalised-items)
    #contentMainWrapper > div:has(#indexCategories.bs-personalised-items) {
        padding: 0 16px !important;
    }

    #indexCategories.bs-personalised-items .categoryListBoxContents {
        float: none !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    #indexCategories.bs-personalised-items .bs-personalised-items-bespoke {
        display: block;
        margin-left: 0;
        margin-right: 0;
        padding: 22px 18px;
    }

    #indexCategories.bs-personalised-items .bs-personalised-items-quote {
        margin-top: 16px !important;
    }
}

@media (max-width: 620px) {
    #indexCategories.bs-personalised-items {
        padding-top: 20px !important;
    }

    #indexCategories.bs-personalised-items #cat-top {
        padding: 22px 18px 18px !important;
    }

    #indexCategories.bs-personalised-items #indexCategoriesHeading {
        font-size: 27px !important;
    }
}

/* =========================================================
   END PERSONALISED ITEMS PARENT LANDING PAGE
   ========================================================= */


/* =========================================================
   BLUESTORM - PERSONALISED & MEMORIAL PARENT LANDING PAGE
   cPath=151
   ========================================================= */

body:has(#indexCategories.bs-personalised-memorial)
#contentMainWrapper > div:has(#navColumnOne),
body:has(#indexCategories.bs-personalised-memorial)
#contentMainWrapper > div:has(#navColumnTwo) {
    display: none !important;
}

body:has(#indexCategories.bs-personalised-memorial) #contentMainWrapper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body:has(#indexCategories.bs-personalised-memorial)
#contentMainWrapper > div:has(#indexCategories.bs-personalised-memorial) {
    float: none !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

#indexCategories.bs-personalised-memorial {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 28px 0 46px !important;
    box-sizing: border-box !important;
}

/* Heading / introduction */
#indexCategories.bs-personalised-memorial #cat-top {
    margin: 0 0 22px !important;
    padding: 26px 28px 22px !important;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #f5fbff 0%, #ffffff 78%);
    overflow: hidden;
}

#indexCategories.bs-personalised-memorial #cat-left {
    float: none !important;
    width: auto !important;
    text-align: left !important;
}

#indexCategories.bs-personalised-memorial #indexCategoriesHeading {
    margin: 0 0 10px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

#indexCategories.bs-personalised-memorial .bs-personalised-memorial-intro {
    max-width: 900px;
    margin: 0 !important;
    padding: 0 !important;
    color: #4c6172;
    font-size: 15px;
    line-height: 1.6;
}

#indexCategories.bs-personalised-memorial #categoryImgListing,
#indexCategories.bs-personalised-memorial #categoryDescription {
    display: none !important;
}

/* Two balanced category buttons */
#indexCategories.bs-personalised-memorial .categoryListBoxContents {
    float: left !important;
    width: calc(50% - 12px) !important;
    min-height: 0 !important;
    margin: 0 6px 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#indexCategories.bs-personalised-memorial .categoryListBoxContents > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 11px 16px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 6px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                transform .15s ease;
}

#indexCategories.bs-personalised-memorial .categoryListBoxContents > a img,
#indexCategories.bs-personalised-memorial .categoryListBoxContents > a br {
    display: none !important;
}

#indexCategories.bs-personalised-memorial .categoryListBoxContents > a:hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
    transform: translateY(-1px);
}

/* Bespoke panel */
#indexCategories.bs-personalised-memorial .bs-personalised-memorial-bespoke {
    clear: both;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 24px 6px 0;
    padding: 24px 28px;
    box-sizing: border-box;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #071f33 0%, #0b3553 100%);
    color: #ffffff;
}

#indexCategories.bs-personalised-memorial .bs-personalised-memorial-bespoke-copy {
    max-width: 920px;
}

#indexCategories.bs-personalised-memorial .bs-personalised-memorial-bespoke h2 {
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.2;
    font-weight: 800;
}

#indexCategories.bs-personalised-memorial .bs-personalised-memorial-bespoke p {
    margin: 0 !important;
    padding: 0 !important;
    color: #dceaf4 !important;
    font-size: 14px;
    line-height: 1.55;
}

#indexCategories.bs-personalised-memorial .bs-personalised-memorial-quote {
    flex: 0 0 auto;
    display: inline-block !important;
    padding: 12px 20px !important;
    border-radius: 5px;
    background: #0798ff !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

#indexCategories.bs-personalised-memorial .bs-personalised-memorial-quote:hover {
    background: #087ed1 !important;
    color: #ffffff !important;
}

@media (max-width: 760px) {
    body:has(#indexCategories.bs-personalised-memorial)
    #contentMainWrapper > div:has(#indexCategories.bs-personalised-memorial) {
        padding: 0 16px !important;
    }

    #indexCategories.bs-personalised-memorial .categoryListBoxContents {
        float: none !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    #indexCategories.bs-personalised-memorial .bs-personalised-memorial-bespoke {
        display: block;
        margin-left: 0;
        margin-right: 0;
        padding: 22px 18px;
    }

    #indexCategories.bs-personalised-memorial .bs-personalised-memorial-quote {
        margin-top: 16px !important;
    }
}

@media (max-width: 620px) {
    #indexCategories.bs-personalised-memorial {
        padding-top: 20px !important;
    }

    #indexCategories.bs-personalised-memorial #cat-top {
        padding: 22px 18px 18px !important;
    }

    #indexCategories.bs-personalised-memorial #indexCategoriesHeading {
        font-size: 27px !important;
    }
}

/* =========================================================
   END PERSONALISED & MEMORIAL PARENT LANDING PAGE
   ========================================================= */


/* =========================================================
   BLUESTORM - VEHICLE GRAPHICS 3 x 3 GRID
   Nine vehicle subcategories now display evenly, three across.
   ========================================================= */

#indexCategories.bs-vehicle-graphics .categoryListBoxContents {
    width: calc(33.333% - 12px) !important;
}

@media (max-width: 900px) {
    #indexCategories.bs-vehicle-graphics .categoryListBoxContents {
        width: calc(50% - 10px) !important;
    }
}

@media (max-width: 620px) {
    #indexCategories.bs-vehicle-graphics .categoryListBoxContents {
        float: none !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }
}

/* =========================================================
   END VEHICLE GRAPHICS 3 x 3 GRID
   ========================================================= */


/* =========================================================
   FIX - VEHICLE GRAPHICS TRUE 3 x 3 GRID
   Overrides the earlier 4-across selector and removes Zen Cart's
   generated clear break after every fourth category.
   ========================================================= */

body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories.bs-vehicle-graphics .categoryListBoxContents {
    width: calc(33.333% - 12px) !important;
}

/* Zen Cart generates a clearBoth break based on the global
   "categories per row" setting (currently 4). Hide those breaks
   only on the Vehicle Graphics parent so 3-across can flow naturally. */
body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories.bs-vehicle-graphics > br.clearBoth,
body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
#indexCategories.bs-vehicle-graphics br.clearBoth {
    display: none !important;
}

@media (max-width: 900px) {
    body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
    #indexCategories.bs-vehicle-graphics .categoryListBoxContents {
        width: calc(50% - 10px) !important;
    }
}

@media (max-width: 620px) {
    body:has(.bs-desktop-nav a.bs-nav-active[href*="cPath=147"])
    #indexCategories.bs-vehicle-graphics .categoryListBoxContents {
        float: none !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }
}

/* =========================================================
   END VEHICLE GRAPHICS TRUE 3 x 3 GRID FIX
   ========================================================= */


/* =========================================================
   BLUESTORM - HOUSE PLAQUES PARENT LANDING PAGE
   cPath=62 - nine categories in a true 3 x 3 grid
   ========================================================= */

/* Category buttons */
#indexCategories.bs-house-plaques .categoryListBoxContents {
    float: left !important;
    width: calc(33.333% - 12px) !important;
    min-height: 0 !important;
    margin: 0 6px 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#indexCategories.bs-house-plaques .categoryListBoxContents > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 6px !important;
    background: #f1f6f9 !important;
    color: #123b5a !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                transform .15s ease;
}

#indexCategories.bs-house-plaques .categoryListBoxContents > a img,
#indexCategories.bs-house-plaques .categoryListBoxContents > a br {
    display: none !important;
}

#indexCategories.bs-house-plaques .categoryListBoxContents > a:hover {
    background: #e7f4fd !important;
    border-color: #9ecff0 !important;
    color: #078eea !important;
    transform: translateY(-1px);
}

/* Zen Cart inserts a clear break based on its global categories-per-row
   setting. Remove those breaks on this parent page so 3-across flows. */
#indexCategories.bs-house-plaques br.clearBoth {
    display: none !important;
}

/* Bespoke panel */
#indexCategories.bs-house-plaques .bs-house-bespoke {
    clear: both;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 24px 6px 0;
    padding: 24px 28px;
    box-sizing: border-box;
    border: 1px solid #dbe8f1;
    border-radius: 8px;
    background: linear-gradient(100deg, #071f33 0%, #0b3553 100%);
    color: #ffffff;
}

#indexCategories.bs-house-plaques .bs-house-bespoke-copy {
    max-width: 920px;
}

#indexCategories.bs-house-plaques .bs-house-bespoke h2 {
    margin: 0 0 7px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.2;
    font-weight: 800;
}

#indexCategories.bs-house-plaques .bs-house-bespoke p {
    margin: 0 !important;
    padding: 0 !important;
    color: #dceaf4 !important;
    font-size: 14px;
    line-height: 1.55;
}

#indexCategories.bs-house-plaques .bs-house-quote {
    flex: 0 0 auto;
    display: inline-block !important;
    padding: 12px 20px !important;
    border-radius: 5px;
    background: #0798ff !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

#indexCategories.bs-house-plaques .bs-house-quote:hover {
    background: #087ed1 !important;
    color: #ffffff !important;
}

/* Do not show the old monthly/new-products box on the House Plaques parent. */
#indexCategories.bs-house-plaques #whatsNew,
#indexCategories.bs-house-plaques #featuredProducts,
#indexCategories.bs-house-plaques #specialsDefault {
    display: none !important;
}

@media (max-width: 900px) {
    #indexCategories.bs-house-plaques .categoryListBoxContents {
        width: calc(50% - 10px) !important;
        margin: 0 5px 10px !important;
    }
}

@media (max-width: 620px) {
    #indexCategories.bs-house-plaques .categoryListBoxContents {
        float: none !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    #indexCategories.bs-house-plaques .bs-house-bespoke {
        display: block;
        margin-left: 0;
        margin-right: 0;
        padding: 22px 18px;
    }

    #indexCategories.bs-house-plaques .bs-house-quote {
        margin-top: 16px !important;
    }
}

/* =========================================================
   END HOUSE PLAQUES PARENT LANDING PAGE
   ========================================================= */


/* =========================================================
   BLUESTORM - ABOUT US PAGE
   Larger, easier-to-read text without affecting other pages
   ========================================================= */

#about_us {
    max-width: 1380px;
    margin: 0 auto;
    padding: 28px 28px 48px;
    box-sizing: border-box;
}

#about_us #aboutUsHeading {
    margin: 0 0 22px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

#about_us #aboutUsMainContent {
    color: #263f52;
    font-size: 17px !important;
    line-height: 1.7 !important;
    max-width: 1120px;
}

#about_us #aboutUsMainContent p {
    margin: 0 0 16px !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
}

@media (max-width: 620px) {
    #about_us {
        padding: 22px 18px 38px;
    }

    #about_us #aboutUsHeading {
        font-size: 27px !important;
    }

    #about_us #aboutUsMainContent,
    #about_us #aboutUsMainContent p {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }
}

/* =========================================================
   END ABOUT US PAGE
   ========================================================= */


/* =========================================================
   BLUESTORM - ABOUT US FONT FIX
   Covers both Zen Cart about-us template ID variants
   ========================================================= */

#aboutUsDefault,
#about_us {
    max-width: 1380px !important;
    margin: 0 auto !important;
    padding: 28px 32px 48px !important;
    box-sizing: border-box !important;
}

#aboutUsDefault #aboutUsHeading,
#about_us #aboutUsHeading,
#aboutUsHeading {
    margin: 0 0 24px !important;
    color: #102a42 !important;
    font-size: 32px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

#aboutUsDefaultMainContent,
#aboutUsMainContent,
#aboutUsDefault .content,
#about_us .content {
    max-width: 1050px !important;
    color: #263f52 !important;
    font-size: 19px !important;
    line-height: 1.75 !important;
}

#aboutUsDefaultMainContent p,
#aboutUsMainContent p,
#aboutUsDefault .content p,
#about_us .content p {
    margin: 0 0 18px !important;
    color: #263f52 !important;
    font-size: 19px !important;
    line-height: 1.75 !important;
}

/* Catch legacy define-page text that is not wrapped in a paragraph */
#aboutUsDefaultMainContent *,
#aboutUsMainContent * {
    font-size: inherit;
    line-height: inherit;
}

@media (max-width: 620px) {
    #aboutUsDefault,
    #about_us {
        padding: 22px 18px 38px !important;
    }

    #aboutUsDefault #aboutUsHeading,
    #about_us #aboutUsHeading,
    #aboutUsHeading {
        font-size: 28px !important;
    }

    #aboutUsDefaultMainContent,
    #aboutUsMainContent,
    #aboutUsDefault .content,
    #about_us .content,
    #aboutUsDefaultMainContent p,
    #aboutUsMainContent p,
    #aboutUsDefault .content p,
    #about_us .content p {
        font-size: 17px !important;
        line-height: 1.65 !important;
    }
}

/* =========================================================
   END ABOUT US FONT FIX
   ========================================================= */
/* =========================================================
   BLUESTORM - MOBILE HERO IMAGE
   ========================================================= */

@media (max-width: 620px) {

    #indexHomeBody .bs-hero {
        background-image: url('../images/bluestorm-home/hero-home-mobile.png') !important;
        background-size: cover !important;
        background-position: 62% center !important;
        background-repeat: no-repeat !important;
        min-height: 500px !important;
    }

    #indexHomeBody .bs-hero::before {
        background: linear-gradient(
            90deg,
            rgba(2,21,37,0.76) 0%,
            rgba(2,21,37,0.62) 48%,
            rgba(2,21,37,0.32) 100%
        ) !important;
    }
}
