/* ============================= */
/* CLEAN WOOCOMMERCE VARIATIONS */
/* ============================= */

.woocommerce div.product form.cart .variations {
width: 100%;
}

.woocommerce div.product form.cart .variations select {
width: 100%;
padding: 12px;
font-size: 15px;
border: 1px solid #ddd;
background-color: #fff;
border-radius: 4px;
cursor: pointer;
}

.woocommerce div.product form.cart .variations select:hover {
border-color: #aaa;
}

.woocommerce div.product form.cart .variations select:focus {
outline: none;
border-color: #000;
}

.woocommerce div.product form.cart .variations label {
font-size: 13px;
font-weight: 500;
margin-bottom: 5px;
display: inline-block;
}

.woocommerce div.product form.cart .reset_variations {
font-size: 12px;
color: #777;
text-decoration: underline;
}

/* ============================= */
/* MOBILE FIX */
/* ============================= */

@media (max-width: 768px) {
.single-product .summary {
padding-left: 10px;
padding-right: 10px;
}

.woocommerce div.product form.cart .variations select {
width: 100%;
}
}

/* Banner spacing */
.custom-banner-wrapper {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}

.custom-banner-container {
margin-bottom: 0 !important;
}

.banner-image img {
display: block;
margin-bottom: 0 !important;
}

/* Force-remove spacing above plugin block */
.single-product .summary form.cart,
.single-product .summary .variations_form {
margin-top: -15px !important;
}

/* Make Bundler boxes stretch full width */
.bundler-container,
.bundler-offer,
.bundler-offer-wrapper {
width: 100% !important;
max-width: 100% !important;
}

/* Each individual box */
.bundler-offer-item {
width: 100% !important;
display: block !important;
}

/* Fix inner content spacing */
.bundler-offer-item-inner {
width: 100% !important;
}

/* Expand product summary area */
.single-product .summary {
width: 100% !important;
max-width: 100% !important;
}

.full-width-cart form.cart {
display: flex;
flex-direction: column;
gap: 12px;
}

.full-width-cart .quantity {
width: 100%;
}

.full-width-cart .single_add_to_cart_button {
width: 100%;
}

/* Hide the main Add to Cart button */
.single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .single_add_to_cart_button {
display: none !important;
}

/* Hide all WooPayments / Stripe / Google / Apple Pay buttons */
.wc-payment-method-button,
.wc-stripe-product-checkout-container,
.wcpay-payment-request-wrapper,
.payment_request_button,
button[name="stripe_payment_request_button"],
.google-pay-button,
.apple-pay-button,
form.cart .wc-stripe-product-checkout-container,
form.cart .wcpay-payment-request-wrapper {
display: none !important;
}

/* Extra Assembler-specific wrappers */
.assembler-stripe-button,
.assembler-add-to-cart-wrapper .single_add_to_cart_button {
display: none !important;
}

/* WooCommerce Sale Badge */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
background-color: #000 !important;
color: #fff !important;
border: none !important;
text-transform: uppercase;
font-weight: bold;
padding: 0.3em 0.6em;
}

/* Hide Add to Cart buttons */
.single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .single_add_to_cart_button,
.assembler-add-to-cart-wrapper .single_add_to_cart_button {
display: none !important;
}

/* Hide Buy Now / Quick Buy buttons */
.buy-now-button,
.single_buy_now_button,
button[name="buy_now"],
.assembler-buy-now {
display: none !important;
}

/* Tighten the product grid itself */
ul.wc-block-product-template,
ul.wc-block-grid__products,
.wp-block-post-template {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
column-gap: 6px !important;
row-gap: 12px !important;
padding: 0 !important;
margin: 0 !important;
}

/* Remove spacing inside each product card */
ul.wc-block-product-template > li,
ul.wc-block-grid__products > li,
.wp-block-post-template > li,
li.wc-block-product {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box !important;
}

/* Make the image wrapper fill the whole card */
.wc-block-components-product-image,
.wc-block-grid__product-image,
.wc-block-components-product-image a,
.wc-block-grid__product-image a {
display: block !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}

/* Make the actual image fill the wrapper */
.wc-block-components-product-image img,
.wc-block-grid__product-image img,
ul.wc-block-product-template img,
ul.wc-block-grid__products img {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
}

/* Tighten title + price spacing */
.wc-block-components-product-name,
.wc-block-grid__product-title,
.price {
margin-top: 4px !important;
margin-bottom: 0 !important;
}

/* Put sale badge on the product image */
li.wc-block-product .wc-block-components-product-image {
position: relative !important;
}

li.wc-block-product .wc-block-components-product-sale-badge,
li.wc-block-product .wc-block-grid__product-onsale,
li.wc-block-product .onsale {
position: absolute !important;
left: 8px !important;
bottom: 8px !important;
top: auto !important;
right: auto !important;
z-index: 9 !important;

background: #000 !important;
color: #fff !important;
font-size: 10px !important;
font-weight: 600 !important;
line-height: 1 !important;
padding: 4px 6px !important;
border-radius: 2px !important;
min-height: auto !important;
min-width: auto !important;
}

/* Make mobile menu slide from the left instead of center */
.wp-block-navigation__responsive-container {
justify-content: flex-start !important;
}

.wp-block-navigation__responsive-container-content {
align-items: flex-start !important;
}

/* Slide animation */
.wp-block-navigation__responsive-container {
transform: translateX(-100%);
transition: transform 0.35s ease-in-out;
}

.wp-block-navigation__responsive-container.is-menu-open {
transform: translateX(0);
}

/* Make the drawer look like a left panel */
.wp-block-navigation__responsive-container {
width: 75vw !important;
max-width: 320px;
height: 100vh;
}

/* Mobile slide menu styling */
.wp-block-navigation__responsive-container-content {
align-items: flex-start !important;
text-align: left !important;
padding-left: 30px;
}

/* Menu item text */
.wp-block-navigation__responsive-container-content a {
font-size: 28px !important;
font-weight: 600;
text-align: left !important;
display: block;
padding: 14px 0;
}

.wp-block-navigation__responsive-container ul {
align-items: flex-start !important;
}

.wp-block-navigation__responsive-container-content {
align-items: flex-start !important;
padding-left: 30px !important;
}

.wp-block-navigation__responsive-container a {
text-align: left !important;
}

/* Make sure header icons are visible */
header .wp-block-navigation,
header .wp-block-navigation__container,
header .wp-block-navigation-item,
header .wc-block-mini-cart,
header .wc-block-mini-cart__button,
header .wc-block-mini-cart__button svg,
header .wp-block-navigation__responsive-container-open,
header .wp-block-navigation__responsive-container-open svg {
display: flex !important;
visibility: visible !important;
opacity: 1 !important;
}

/* Keep header layout normal */
header .wp-block-group,
header .wp-block-group__inner-container,
header .is-layout-flex {
overflow: visible !important;
}

/* Make hamburger/menu icon visible */
header .wp-block-navigation__responsive-container-open,
header .wp-block-navigation__responsive-container-open svg {
color: #000 !important;
fill: #000 !important;
width: 24px !important;
height: 24px !important;
}

/* Make cart icon visible */
header .wc-block-mini-cart__button,
header .wc-block-mini-cart__button svg,
header .wc-block-mini-cart__icon {
color: #000 !important;
fill: #000 !important;
stroke: #000 !important;
}

/* Prevent mobile drawer styles from affecting closed header icons */
.wp-block-navigation__responsive-container:not(.is-menu-open) {
transform: none !important;
width: auto !important;
max-width: none !important;
height: auto !important;
background: transparent !important;
}

/* Make product page header the same height as homepage */
.single-product .wp-block-template-part header,
.single-product .wp-block-template-part .wp-block-group.alignfull,
.single-product .wp-site-blocks > header,
.single-product header.wp-block-template-part {
padding-top: 0 !important;
padding-bottom: 0 !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
min-height: auto !important;
}

/* Remove extra spacing inside the header row on product pages */
.single-product header .wp-block-group,
.single-product header .is-layout-flex,
.single-product header .wp-block-navigation,
.single-product header .wp-block-site-logo {
margin-top: 0 !important;
margin-bottom: 0 !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
}

/* Keep header content vertically centered */
.single-product header .is-layout-flex {
align-items: center !important;
}

/* Let the mobile menu open normally */
.wp-block-navigation__responsive-container {
pointer-events: none;
opacity: 0;
visibility: hidden;
transform: translateX(-100%);
transition: transform 0.35s ease, opacity 0.2s ease;
}

/* Open state */
.wp-block-navigation__responsive-container.is-menu-open {
pointer-events: auto;
opacity: 1;
visibility: visible;
transform: translateX(0);
}


.wc-block-product-gallery-thumbnails,
.wc-block-product-gallery-thumbnails__scrollable {
-webkit-mask-image: none !important;
mask-image: none !important;
}














