/* Scoped defaults stay below Elementor's per-widget selector specificity. */
.gwd-product-main { width: 100%; padding: 36px 24px 64px; }
.gwd-product-layout, .gwd-product-preview { --gwd-line: rgba(255,255,255,.16); }
.gwd-product-layout .elementor-widget-wrap, .gwd-product-preview .elementor-widget-wrap { min-width: 0; }
.gwd-part { min-width: 0; overflow-wrap: anywhere; color: #dedede; }
.gwd-part:empty { display: none; }
.gwd-part::after { display: block; clear: both; content: ""; }
.woocommerce .gwd-part.gwd-part-title .product_title { margin: 0; font-family: Inter, Arial, sans-serif; font-size: 32px; font-weight: 500; line-height: 1.3; text-transform: none; letter-spacing: -.02em; color: #eee; }
.woocommerce .gwd-part .price { font-size: 26px; line-height: 1.4; color: #eee; margin: 0; }
.gwd-part p { margin-top: 0; }
.gwd-part p:last-child { margin-bottom: 0; }
.woocommerce .gwd-part.gwd-part-gallery .woocommerce-product-gallery { float: none; width: 100%; margin: 0; }
.woocommerce .gwd-part .flex-control-thumbs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.woocommerce div.product .gwd-part.gwd-part-gallery .woocommerce-product-gallery .flex-control-thumbs li { float: none; width: auto; }
.gwd-part-gallery { position: relative; }
.woocommerce .gwd-part-gallery .onsale { z-index: 2; }
.woocommerce .gwd-part .woocommerce-product-rating { margin: 0; }
.gwd-part-excerpt { font-size: 15px; line-height: 1.7; }
.woocommerce .gwd-part form.cart { margin: 6px 0; }
.woocommerce .gwd-part form.cart .variations { margin-bottom: 16px; }
.woocommerce .gwd-part form.cart .variations td, .woocommerce .gwd-part form.cart .variations th { background: transparent; padding: 8px 0; }
.woocommerce .gwd-part form.cart .variations select { width: 100%; max-width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid #777; border-radius: 3px; background: #161616; color: #f4f4f4; }
.woocommerce .gwd-part form.cart .variations select.gwd-swatch-select { display: none; }
.woocommerce .gwd-part form.cart .variations th.label { padding-right: 12px; white-space: nowrap; vertical-align: top; text-align: left; }
.gwd-part-purchase .gwd-swatches { display: flex; flex-wrap: wrap; gap: var(--gwd-swatch-gap, 10px); padding: 2px; }
.woocommerce .gwd-part form.cart .gwd-swatch { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; max-width: 100%; padding: 10px 14px; border: 1px solid #777; border-radius: 4px; background: #171717; color: #eee; font: 500 14px/1.3 Inter, Arial, sans-serif; letter-spacing: 0; text-transform: none; cursor: pointer; box-shadow: none; }
.woocommerce .gwd-part form.cart .gwd-swatch-image { width: calc(var(--gwd-swatch-size, 72px) + 12px); padding: 5px; font-size: 12px; }
.gwd-part-purchase .gwd-swatch img { display: block; width: var(--gwd-swatch-size, 72px); height: calc(var(--gwd-swatch-size, 72px) * 1.3333); object-fit: contain; background: #fff; border-radius: 2px; }
.woocommerce .gwd-part form.cart .gwd-swatch:hover:not(:disabled), .woocommerce .gwd-part form.cart .gwd-swatch[aria-pressed="true"] { border-color: #cce8cb; box-shadow: 0 0 0 1px #cce8cb; background: #253026; color: #fff; }
.woocommerce .gwd-part form.cart .gwd-swatch:focus-visible { outline: 2px solid #cce8cb; outline-offset: 3px; }
.woocommerce .gwd-part form.cart .gwd-swatch:disabled { opacity: .4; cursor: not-allowed; }
.woocommerce .gwd-part form.cart .gwd-swatch:disabled span { text-decoration: line-through; }
.woocommerce .gwd-part .quantity .qty { min-height: 46px; width: 72px; border: 1px solid #777; background: #161616; color: #fff; }
.woocommerce .gwd-part.gwd-part-purchase form.cart .single_add_to_cart_button { min-height: 46px; padding: 13px 24px; margin-top: 0; background: #cce8cb; color: #131713; line-height: 1.2; font-family: inherit; font-size: 15px; font-weight: 600; border-radius: 3px; white-space: normal; }
.woocommerce .gwd-part .single_add_to_cart_button:hover { filter: brightness(.93); }
.woocommerce .gwd-part .stock { color: #cce8cb; }
.woocommerce .gwd-part .out-of-stock { color: #f4a5a5; }
.gwd-part-meta { padding-top: 16px; border-top: 1px solid var(--gwd-line); font-size: 13px; line-height: 1.8; }
.gwd-part-meta .product_meta > span { display: block; }
.gwd-part a { color: inherit; }
.woocommerce .gwd-part .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 20px; }
.woocommerce .gwd-part .woocommerce-tabs ul.tabs::before { border-bottom: 1px solid var(--gwd-line); }
.woocommerce .gwd-part .woocommerce-tabs ul.tabs li { border: 0; border-radius: 0; background: transparent; padding: 0 0 8px; margin: 0; color: #aaa; }
.woocommerce .gwd-part .woocommerce-tabs ul.tabs li::before, .woocommerce .gwd-part .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce .gwd-part .woocommerce-tabs ul.tabs li.active { background: transparent; color: #fff; border-bottom: 2px solid #fff; }
.woocommerce .gwd-part .woocommerce-tabs .panel { background: transparent; color: #dedede; font-size: 15px; line-height: 1.75; }
.gwd-part-tabs h2, .gwd-part-related h2, .gwd-part-upsells h2 { font: 500 24px/1.3 Inter,Arial,sans-serif; text-transform: none; letter-spacing: 0; }
.gwd-part .shop_attributes td, .gwd-part .shop_attributes th { background: transparent; color: inherit; }
.gwd-part img { max-width: 100%; }
.gwd-part-breadcrumb { font-size: 13px; }
.woocommerce .gwd-part .woocommerce-breadcrumb { margin-bottom: 12px; }
.gwd-product-preview .gwd-part { min-height: 12px; }
.gwd-product-layout .elementor-widget:has(> .elementor-widget-container > .gwd-part:empty) { display: none; }
@media (max-width: 767px) {
    .woocommerce .gwd-part form.cart .variations tbody, .woocommerce .gwd-part form.cart .variations tr, .woocommerce .gwd-part form.cart .variations th.label, .woocommerce .gwd-part form.cart .variations td.value { display: block; width: 100%; }
    .woocommerce .gwd-part form.cart .variations tr { margin-bottom: 16px; }
    .woocommerce .gwd-part form.cart .variations th.label { padding: 0 0 8px; }
    .woocommerce .gwd-part form.cart .variations td.value { padding: 0; }
    .gwd-product-main { padding: 20px 14px 40px; }
    .woocommerce .gwd-part.gwd-part-title .product_title { font-size: 25px; }
    .gwd-product-layout .elementor-section > .elementor-container { gap: 12px; }
    .gwd-part-tabs h2, .gwd-part-related h2, .gwd-part-upsells h2 { font-size: 21px; }
}
