/* Source-inspired visual layer; native WooCommerce and Flatsome markup remains intact. */
.product-small .badge-container,
.product-small .out-of-stock-label,
.products .product .onsale,
.products .product .wc-block-components-product-sale-badge,
.wc-block-grid__product .wc-block-grid__product-onsale,
.wc-block-product-template .wc-block-components-product-sale-badge,
.wc-block-product-template .wc-block-grid__product-onsale,
.wc-block-product-template .onsale { display:none !important; }

body.single-product #main, body.woocommerce-cart #main { background:#f2ece5; color:#111; }
body.single-product .product-main { padding-top:24px; }
body.single-product .product-gallery .product-gallery-slider,
body.single-product .product-gallery .woocommerce-product-gallery__wrapper { border-radius:8px; overflow:hidden; }
body.single-product .product-info .product-title,
.product-quick-view-container .product-info h1 { color:#111; font-size:clamp(21px,2vw,30px); line-height:1.15; font-weight:700; letter-spacing:-.02em; }
body.single-product .product-info .is-divider,
.product-quick-view-container .product-info .is-divider { display:none; }
body.single-product .product-info .price,
.product-quick-view-container .product-info .price { color:#111; font-weight:700; }
body.single-product .product-info .woocommerce-product-details__short-description,
.product-quick-view-container .woocommerce-product-details__short-description { color:#666; line-height:1.5; }
body.single-product .product-info .product-short-description { background:#fff; border-radius:6px; padding:16px; }
body.single-product .product-info .variations label,
.product-quick-view-container .variations label { color:#111; font-weight:700; }
body.single-product .product-info select,
.product-quick-view-container select { background-color:#fff; border:1px solid #cfcfcf; border-radius:4px; color:#111; min-height:44px; }
body.single-product .product-info .quantity input,
.product-quick-view-container .quantity input { border-color:#ccc; color:#111; min-height:44px; }
body.single-product .product-info .single_add_to_cart_button,
.product-quick-view-container .single_add_to_cart_button,
body.woocommerce-cart .checkout-button,
body.woocommerce-cart .button.checkout { background:#050505 !important; border:1px solid #050505 !important; border-radius:4px; color:#fff !important; min-height:48px; text-transform:none; letter-spacing:0; }
body.single-product .product-info .single_add_to_cart_button:hover,
.product-quick-view-container .single_add_to_cart_button:hover,
body.woocommerce-cart .checkout-button:hover { background:#333 !important; }
body.single-product .product-info :focus-visible,
body.single-product .woocommerce-tabs :focus-visible,
.product-quick-view-container :focus-visible,
body.woocommerce-cart #main :focus-visible { outline:3px solid #168cff; outline-offset:2px; }
body.single-product .woocommerce-tabs { border-top:1px solid #d4cec8; margin-top:24px; }
body.single-product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:8px 24px; border-bottom:1px solid #d4cec8; }
body.single-product .woocommerce-tabs ul.tabs li { margin:0; }
body.single-product .woocommerce-tabs ul.tabs li a { color:#555; padding:14px 2px; text-transform:none; letter-spacing:0; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color:#111; box-shadow:inset 0 -3px #111; }
body.single-product .woocommerce-tabs .panel { padding:24px 0; color:#333; }
body.single-product .product_meta .tagged_as a { background:#fff; border:1px solid #ddd; border-radius:999px; padding:4px 9px; color:#111; display:inline-block; margin:3px 2px; }
body.single-product .product-gallery .flickity-prev-next-button,
.product-quick-view-container .flickity-prev-next-button { background:#fff; border:1px solid #ddd; color:#111; border-radius:50%; }
body.single-product .product-gallery .flickity-prev-next-button svg,
.product-quick-view-container .flickity-prev-next-button svg { width:18px; height:18px; aspect-ratio:1; }
.product-quick-view-container { background:#f2ece5; color:#111; border-radius:8px; overflow:hidden; }
.product-quick-view-container .product-lightbox-inner { background:#fff; border-radius:6px; margin:20px; }
.product-quick-view-container .product-gallery img { object-fit:contain; }
body.woocommerce-cart .cart-wrapper { padding-top:30px; padding-bottom:40px; }
body.woocommerce-cart .cart-wrapper h1, body.woocommerce-cart .cart-wrapper h2,
body.woocommerce-cart .cart-wrapper h3, body.woocommerce-cart .cart-wrapper th { color:#111; }
body.woocommerce-cart .cart-wrapper .shop_table { background:#fff; border:0; border-radius:6px; }
body.woocommerce-cart .cart-wrapper .shop_table td,
body.woocommerce-cart .cart-wrapper .shop_table th { border-color:#e2dedb; }
body.woocommerce-cart .cart-wrapper input, body.woocommerce-cart .cart-wrapper select { border-radius:4px; }
body.woocommerce-cart .cart-wrapper .button:not(.checkout-button) { border-radius:4px; text-transform:none; letter-spacing:0; }
body.woocommerce-cart .cart-empty { color:#111; font-size:clamp(24px,3vw,36px); font-weight:700; }
@media (max-width:849px) {
 body.single-product .product-main { padding-top:12px; }
 body.single-product .woocommerce-tabs ul.tabs { gap:4px 15px; }
 .product-quick-view-container { max-height:90vh; overflow:auto; }
 .product-quick-view-container .product-lightbox-inner { margin:12px; padding:20px !important; }
 body.woocommerce-cart .cart-wrapper { padding-top:18px; }
}
/* Card-only badges, including custom provider badges; detail and cart labels remain intact. */
.product-small [class*="badge"],
.wc-block-product-template > li [class*="badge"],
.wc-block-grid__product [class*="badge"] { display:none !important; }
.product-small .quick-view { background:#050505; color:#fff; border:0; text-transform:none; letter-spacing:0; }
.product-small .quick-view:hover, .product-small .quick-view:focus { background:#333; color:#fff; }
.product-small .quick-view:focus-visible { outline:3px solid #168cff; outline-offset:2px; }
body.woocommerce-cart .wc-empty-cart-message .woocommerce-info { background:#fff; color:#111; border:0; border-radius:6px; padding:24px; }
body.woocommerce-cart .return-to-shop .button { background:#050505; border:1px solid #050505; color:#fff; border-radius:4px; text-transform:none; letter-spacing:0; }
body.woocommerce-cart .return-to-shop .button:hover { background:#333; color:#fff; }
/* Child theme prints this separate sale label inside native product cards. */
.product-small .wgm-native-card__sale-label { display:none !important; }
/* Quick view is also a product card; retain native original and current prices. */
.product-quick-view-container .badge-container,
.product-quick-view-container .onsale { display:none !important; }
/* Defeat Flatsome's later equal-specificity button color only in purchase views. */
.product-quick-view-container .single_add_to_cart_button.button,
body.single-product .product-info .single_add_to_cart_button.button { background:#050505 !important;color:#fff !important;border-color:#050505 !important; }
.product-quick-view-container .single_add_to_cart_button.button:hover,
body.single-product .product-info .single_add_to_cart_button.button:hover { background:#333 !important; }
.naked-quick-view-wrap .mfp-close { opacity:1; background:#111; color:#fff; border-radius:6px; width:44px; height:44px; }
.naked-quick-view-wrap .mfp-close:focus-visible { outline:3px solid #1688ff; outline-offset:-3px; }
@media (prefers-reduced-motion:reduce) { .naked-quick-view-wrap,.naked-quick-view-wrap * { transition-duration:0.01ms !important; animation-duration:0.01ms !important; } }

/* Product detail and quick view share a single, aligned purchase-control system. */
body.single-product .product-main .product-info{
  align-self:flex-start; background:#fff; border-radius:8px; padding:26px 28px 28px; color:#111;
}
body.single-product .product-main .product-info .product-title,
.product-quick-view-container .product-info .product-title{
  font-family:Arial,Helvetica,sans-serif; font-weight:700; line-height:1.12; text-transform:uppercase; letter-spacing:-.02em;
}
body.single-product .product-main .product-info .price,
.product-quick-view-container .product-info .price{font-family:Arial,Helvetica,sans-serif; line-height:1.3}
body.single-product .product-info form.cart:not(.variations_form),
body.single-product .product-info .woocommerce-variation-add-to-cart,
.product-quick-view-container .product-info form.cart:not(.variations_form),
.product-quick-view-container .product-info .woocommerce-variation-add-to-cart{
  display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; width:100%;
}
body.single-product .product-info form.cart .quantity,
.product-quick-view-container .product-info form.cart .quantity{
  display:inline-flex; align-items:stretch; flex:0 0 auto; height:48px; margin:0; padding:0;
}
body.single-product .product-info form.cart .quantity .button,
body.single-product .product-info form.cart .quantity input.qty,
.product-quick-view-container .product-info form.cart .quantity .button,
.product-quick-view-container .product-info form.cart .quantity input.qty{
  box-sizing:border-box; flex:0 0 auto; height:48px!important; min-height:48px!important; max-height:48px; margin:0!important;
  padding:0!important; border:1px solid #d1d1d1; border-radius:0; color:#111; background:#fff; box-shadow:none;
  text-align:center; font:400 16px/46px Arial,Helvetica,sans-serif;
}
body.single-product .product-info form.cart .quantity .button,
.product-quick-view-container .product-info form.cart .quantity .button{width:40px; min-width:40px; cursor:pointer}
body.single-product .product-info form.cart .quantity input.qty,
.product-quick-view-container .product-info form.cart .quantity input.qty{width:44px!important; min-width:44px; appearance:textfield; -moz-appearance:textfield; border-left:0; border-right:0}
body.single-product .product-info form.cart .quantity input.qty::-webkit-inner-spin-button,
.product-quick-view-container .product-info form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
body.single-product .product-info form.cart .quantity .button:hover,
.product-quick-view-container .product-info form.cart .quantity .button:hover{background:#f2f2f2; color:#111}
body.single-product .product-info form.cart .single_add_to_cart_button,
.product-quick-view-container .product-info form.cart .single_add_to_cart_button{
  flex:1 1 140px; min-height:48px; margin:0!important; padding:10px 18px; font:700 15px/1.3 Arial,Helvetica,sans-serif; text-align:center;
}
body.single-product .product-info form.cart .ux-buy-now-button,
.product-quick-view-container .product-info form.cart .ux-buy-now-button{
  box-sizing:border-box; flex:1 1 125px; min-height:48px; margin:0!important; padding:10px 18px; border:1px solid #111!important;
  border-radius:4px; background:#fff!important; color:#111!important; box-shadow:none; text-transform:none; letter-spacing:0; font:700 15px/1.3 Arial,Helvetica,sans-serif;
}
body.single-product .product-info form.cart .ux-buy-now-button:hover,
.product-quick-view-container .product-info form.cart .ux-buy-now-button:hover{background:#f2f2f2!important;color:#111!important}
body.single-product .product-info form.cart :is(.single_add_to_cart_button,.ux-buy-now-button):disabled,
body.single-product .product-info form.cart :is(.single_add_to_cart_button,.ux-buy-now-button).disabled,
.product-quick-view-container .product-info form.cart :is(.single_add_to_cart_button,.ux-buy-now-button):disabled,
.product-quick-view-container .product-info form.cart :is(.single_add_to_cart_button,.ux-buy-now-button).disabled{opacity:.5;cursor:not-allowed}
body.single-product .product-info .variations,
.product-quick-view-container .product-info .variations{width:100%;margin:0 0 14px}
body.single-product .product-info .variations th.label,
.product-quick-view-container .product-info .variations th.label{padding:0 12px 0 0;vertical-align:middle}
body.single-product .product-info .variations td.value,
.product-quick-view-container .product-info .variations td.value{padding:0;vertical-align:middle}
body.single-product .product-info .variations select,
.product-quick-view-container .product-info .variations select{width:100%;min-height:48px;margin:0;padding:0 38px 0 12px;border:1px solid #cfcfcf;background-color:#fff;color:#111;border-radius:4px;font:400 15px/1.3 Arial,Helvetica,sans-serif}
body.single-product .product-info form.cart :is(input,select,button,a):focus-visible,
.product-quick-view-container .product-info form.cart :is(input,select,button,a):focus-visible{outline:3px solid #168cff;outline-offset:2px;position:relative;z-index:1}
@media(max-width:849px){body.single-product .product-main .product-info{margin:0 15px 20px;padding:22px 20px;width:calc(100% - 30px);max-width:calc(100% - 30px)}}
/* Keep quantity and add-to-cart aligned in normal-width mobile quick views. */
.product-quick-view-container .product-info form.cart .single_add_to_cart_button{flex-basis:120px}
/* Hide product display badges on the main detail gallery as well as related cards. */
body.single-product .product-main .product-gallery :is(.badge-container,.onsale,.out-of-stock-label,.wc-block-components-product-sale-badge){display:none!important}
