/* yl-theme product: single product page (Elementor layout #446, 2 columns: gallery | buy panel)
   Selectors use Elementor element ids from layout #446 because free Elementor does not print custom classes on sections/columns. */
html body.single-product{--pdp-r:20px}

/* hero card */
html body.single-product .elementor-element-1a4338a7{background:var(--yl-card)!important;border:1px solid var(--yl-border)!important;border-radius:var(--pdp-r)!important;box-shadow:none!important;padding:28px!important;margin-bottom:24px}
html body.single-product .elementor-element-1a4338a7>.elementor-container{align-items:flex-start}
html body.single-product .elementor-element-4751c846,html body.single-product .elementor-element-320d630b{padding:0!important}
html body.single-product .elementor-element-320d630b>.elementor-widget-wrap{display:flex;flex-direction:column;gap:14px;padding:0 28px 0 0!important}
html body.single-product .elementor-element-320d630b>.elementor-widget-wrap>.elementor-element{margin:0!important;width:100%}
/* gallery */
html body.single-product .wd-single-gallery .woocommerce-product-gallery{margin:0}
html body.single-product .wd-gallery-images,html body.single-product .woocommerce-product-gallery__image{border-radius:16px;overflow:hidden;background:var(--yl-bg-2)}
html body.single-product .wd-gallery-thumb img{border-radius:10px;border:2px solid transparent}
html body.single-product .wd-gallery-thumb .wd-carousel-item.wd-active img,html body.single-product .wd-gallery-thumb .wd-carousel-item:hover img{border-color:var(--yl-violet)}
html body.single-product .product-labels .onsale{background:var(--yl-discount)!important;color:#fff!important;font-weight:800;border-radius:999px}
html body.single-product .wd-gallery-btn a,html body.single-product .wd-gallery-btn .wd-action-icon{background:rgba(15,18,38,.72)!important;color:#fff!important;border-radius:50%}
/* title */
html body.single-product .product_title{font-size:28px;line-height:1.5;margin:0;color:var(--yl-fg)}
html body.single-product .wd-single-meta .product_meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--yl-fg-2);padding:0}
html body.single-product .wd-single-meta a{color:var(--yl-violet-2)}
html body.single-product .wd-single-meta .meta-label{color:var(--yl-fg-2);opacity:.8}
/* buy panel (price + add to cart) */
html body.single-product .elementor-element-71935f67{background:var(--yl-elev)!important;border:1px solid var(--yl-border)!important;border-radius:16px!important;padding:20px!important;margin:0!important}
html body.single-product .elementor-element-71935f67 .elementor-column,html body.single-product .elementor-element-71935f67 .elementor-widget-wrap{padding:0!important}
html body.single-product .wd-single-price{text-align:right!important;margin:0 0 16px!important}
html body.single-product .wd-single-price .price{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;gap:12px;margin:0;font-size:30px;font-weight:800;color:var(--yl-fg)}
html body.single-product .wd-single-price ins{text-decoration:none;color:var(--yl-fg);background:none}
html body.single-product .wd-single-price del{font-size:16px;font-weight:500;color:var(--yl-fg-2);opacity:.7}
html body.single-product .wd-single-add-cart{text-align:right!important}
html body.single-product .wd-single-add-cart form.cart:not(.variations_form),html body.single-product .wd-single-add-cart .woocommerce-variation-add-to-cart{display:flex;flex-wrap:nowrap;align-items:stretch;gap:12px;margin:0}
html body.single-product .wd-single-add-cart .single_add_to_cart_button{flex:1 1 auto;min-height:52px;border-radius:14px!important;border:0!important;background:var(--yl-gradient)!important;color:#fff!important;font-size:16px;font-weight:800;box-shadow:var(--yl-glow);transition:transform .2s,box-shadow .2s;opacity:1}
html body.single-product .wd-single-add-cart .single_add_to_cart_button:hover{transform:translateY(-1px);filter:brightness(1.08)}
html body.single-product .wd-single-add-cart .single_add_to_cart_button.disabled:not(.yl-locked){opacity:.5}
html body.single-product .wd-single-add-cart .quantity{display:flex;flex:0 0 auto;align-items:stretch;direction:ltr;height:52px;border:1px solid var(--yl-border);border-radius:14px;overflow:hidden;background:var(--yl-bg-2);margin:0}
html body.single-product .wd-single-add-cart .quantity :is(.minus,.plus){width:40px;min-width:40px;height:100%;border:0!important;border-radius:0!important;background:transparent!important;color:var(--yl-fg)!important;font-size:18px;cursor:pointer}
html body.single-product .wd-single-add-cart .quantity :is(.minus,.plus):hover{background:var(--yl-card)!important;color:var(--yl-violet-2)!important}
html body.single-product .wd-single-add-cart .quantity input.qty{width:48px;height:100%;border:0!important;border-radius:0!important;background:transparent!important;text-align:center;font-weight:700}
/* wishlist + compare: compact pills on one row */
html body.single-product .wd-single-action-btn{width:auto!important;display:inline-block;margin:0 0 0 10px!important}
html body.single-product .wd-single-action-btn .wd-action-btn>a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px!important;border:1px solid var(--yl-border)!important;border-radius:999px!important;background:var(--yl-bg-2)!important;color:var(--yl-fg-2)!important;font-size:13px;font-weight:600;transition:border-color .2s,color .2s}
html body.single-product .wd-single-action-btn .wd-action-btn>a:hover{border-color:var(--yl-violet)!important;color:var(--yl-fg)!important}
html body.single-product .wd-single-action-btn .wd-action-btn>a .wd-action-icon{color:var(--yl-violet-2)}
html body.single-product .wd-single-action-btn .wd-action-text{color:inherit;margin:0}
html body.single-product .elementor-element-320d630b>.elementor-widget-wrap{flex-direction:row;flex-wrap:wrap;align-content:flex-start}
html body.single-product .elementor-element-320d630b>.elementor-widget-wrap>.elementor-element:not(.wd-single-action-btn){flex:0 0 100%}
html body.single-product .elementor-element-320d630b>.elementor-widget-wrap>.wd-single-action-btn{flex:0 0 auto!important;width:auto!important}
/* consult box */
html body.single-product .elementor-element-6b166fda{border:1px solid var(--yl-border)!important;border-radius:16px!important;background:var(--yl-bg-2)!important;padding:16px!important;margin:6px 0 0!important}
html body.single-product .elementor-element-640be4ca>.elementor-widget-wrap{display:flex;flex-wrap:wrap;gap:10px;padding:0!important}
html body.single-product .elementor-element-507f7dd6{flex:0 0 100%;margin:0!important}
html body.single-product .elementor-element-507f7dd6 .elementor-heading-title{font-size:14px;font-weight:600;color:var(--yl-fg-2)!important;margin:0;text-align:right}
html body.single-product .elementor-element-78d969e4,html body.single-product .elementor-element-2bb0d54b{flex:1 1 140px;width:auto!important;margin:0!important}
html body.single-product .elementor-element-78d969e4 .elementor-button,html body.single-product .elementor-element-2bb0d54b .elementor-button{width:100%;min-height:44px;border-radius:12px;font-weight:700;color:#fff!important}
html body.single-product .elementor-element-78d969e4 .elementor-button{background:#22c55e!important}
html body.single-product .elementor-element-2bb0d54b .elementor-button{background:#2a9df4!important}
html body.single-product :is(.elementor-element-78d969e4,.elementor-element-2bb0d54b) .elementor-button:hover{filter:brightness(1.1)}
/* share */
html body.single-product .wd-social-icons{justify-content:flex-start}
html body.single-product .wd-social-icons .wd-label{color:var(--yl-fg-2);font-size:13px}
html body.single-product .wd-social-icons a{background:var(--yl-bg-2)!important;color:var(--yl-fg)!important;border:1px solid var(--yl-border);border-radius:50%}
html body.single-product .wd-social-icons a:hover{background:var(--yl-violet)!important;border-color:var(--yl-violet)}
/* description + attributes */
html body.single-product .elementor-element-308199d8{margin-bottom:24px!important}
html body.single-product .elementor-element-308199d8>.elementor-container{gap:24px;align-items:flex-start}
html body.single-product .elementor-element-41f25def,html body.single-product .elementor-element-614a92c{margin:0!important}
html body.single-product .elementor-element-41f25def{padding:0!important}
html body.single-product :is(.elementor-element-209e2721,.elementor-element-4d63670e){background:var(--yl-card)!important;border:1px solid var(--yl-border)!important;border-radius:var(--pdp-r)!important;box-shadow:none!important;padding:24px!important;margin:0!important}
html body.single-product :is(.elementor-element-209e2721,.elementor-element-4d63670e) :is(.elementor-column,.elementor-widget-wrap){padding:0!important}
html body.single-product :is(.elementor-element-4d96e0ae,.elementor-element-475351ba) :is(.elementor-icon-box-title,.elementor-icon-box-title span,.title){color:var(--yl-fg)!important;font-size:18px;font-weight:800}
html body.single-product .elementor-element-4d96e0ae{margin-bottom:12px}
html body.single-product .elementor-element-4d96e0ae .elementor-icon{color:var(--yl-violet-2)!important}
html body.single-product .wd-single-content,html body.single-product .wd-single-content :is(p,li,span){color:var(--yl-fg-2)!important;line-height:2}
html body.single-product .woocommerce-product-attributes :is(th,td){padding:12px 0;border-color:var(--yl-border)!important;background:none!important}
/* no attribute table => hide that card and let the description take the full row */
html body.single-product .elementor-element-614a92c:not(:has(table)){display:none}
html body.single-product .elementor-element-308199d8:has(.elementor-element-614a92c:not(:has(table))) .elementor-element-41f25def{width:100%!important}
/* empty spacer sections (FBT/stock bar render nothing) */
html body.single-product .elementor-section:not(:has(.elementor-widget-container)):not(:has(.elementor-widget)){display:none!important}
html body.single-product :is(.elementor-element-66522ada,.elementor-element-288a57eb):not(:has(.elementor-widget-container *)){display:none!important}
/* reviews + related */
html body.single-product .elementor-element-5a97f87e,html body.single-product .elementor-element-4f256ec9{margin-bottom:24px}
html body.single-product .elementor-element-5a97f87e>.elementor-container{background:var(--yl-card);border:1px solid var(--yl-border);border-radius:var(--pdp-r);padding:24px}
html body.single-product .elementor-element-403433bd .elementor-icon-box-title,html body.single-product .elementor-element-403433bd .elementor-icon-box-title span{color:var(--yl-fg)!important}

/* tablet/mobile: single column */
@media (max-width:1024px){
  html body.single-product .elementor-element-1a4338a7{padding:18px!important}
  html body.single-product .elementor-element-4751c846,html body.single-product .elementor-element-320d630b{width:100%!important}
  html body.single-product .elementor-element-320d630b>.elementor-widget-wrap{padding:18px 0 0!important}
  html body.single-product .elementor-element-308199d8>.elementor-container{flex-direction:column}
  html body.single-product :is(.elementor-element-41f25def,.elementor-element-614a92c){width:100%!important}
}
@media (max-width:767px){
  html body.single-product .elementor-element-1a4338a7{padding:14px!important;border-radius:16px!important}
  html body.single-product .product_title{font-size:22px}
  html body.single-product .wd-single-price .price{font-size:26px}
  html body.single-product .elementor-element-71935f67{padding:14px!important}
  html body.single-product :is(.elementor-element-209e2721,.elementor-element-4d63670e){padding:16px!important}
}
/* Elementor wrapper borders/padding on wishlist+compare widgets, keep pills together */
html body.single-product .elementor-element-320d630b>.elementor-widget-wrap{justify-content:flex-start;align-items:center}
html body.single-product :is(.elementor-element-1e54a9de,.elementor-element-26911be0){border:0!important;padding:0!important;background:none!important;border-radius:0!important;box-shadow:none!important}
html body.single-product :is(.elementor-element-1e54a9de,.elementor-element-26911be0) .elementor-widget-container{padding:0!important;border:0!important}
html body.single-product .wd-single-action-btn .wd-action-btn{border:0;padding:0;background:none}
html body.single-product .elementor-element-320d630b>.elementor-widget-wrap{justify-content:flex-start!important}
html body.single-product .elementor-element-320d630b>.elementor-widget-wrap>.wd-single-action-btn{margin:0 0 0 10px!important}
@media (min-width:1025px){
  html body.single-product .elementor-element-41f25def{flex:1 1 0!important;width:auto!important;max-width:none!important}
  html body.single-product .elementor-element-614a92c{flex:0 0 38%!important;width:38%!important}
}
html body.single-product :is(.elementor-element-41f25def,.elementor-element-614a92c)>.elementor-widget-wrap,html body.single-product :is(.elementor-element-41f25def,.elementor-element-614a92c){background:none!important;border:0!important;box-shadow:none!important}
html body.single-product .elementor-element-41f25def>.elementor-element-populated{padding:0!important;margin:0!important}
html body.single-product :is(.elementor-element-71935f67,.elementor-element-6b166fda){margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
html body.single-product :is(.elementor-element-78d969e4,.elementor-element-2bb0d54b) .elementor-button{white-space:nowrap;padding:0 10px}
@media (max-width:420px){html body.single-product :is(.elementor-element-78d969e4,.elementor-element-2bb0d54b){flex:1 1 100%}}

/* flatten nested cards: one card level per section */
html body.single-product .elementor-element-e4a00aa{background:none!important;border:0!important;box-shadow:none!important;padding-block:0!important;margin-bottom:12px!important}
html body.single-product .elementor-element-71935f67{background:none!important;border:0!important;border-radius:0!important;padding:0!important}
html body.single-product .elementor-element-6b166fda{background:none!important;border:0!important;border-top:1px solid var(--yl-border)!important;border-radius:0!important;padding:16px 0 0!important;margin-top:8px!important}
html body.single-product .elementor-element-308199d8{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;gap:16px}
html body.single-product .elementor-element-308199d8>.elementor-container{padding:0!important}
html body.single-product .elementor-element-308199d8 :is(.elementor-element-209e2721,.elementor-element-4d63670e){width:100%!important;max-width:100%!important;box-sizing:border-box}
html body.single-product .elementor-element-5a97f87e{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
html body.single-product .elementor-element-4f256ec9{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
html body.single-product .elementor-element-5a97f87e>.elementor-container{padding:24px}
html body.single-product #reviews :is(.comment-respond,#respond,.commentlist>li,.wd-reviews-heading){background:none!important;border:0!important;box-shadow:none!important;padding-inline:0!important}
html body.single-product #reviews :is(.comment-respond,#respond){border-top:1px solid var(--yl-border)!important;margin-top:16px;padding-top:16px}
/* section headings: icon inline with title */
html body.single-product :is(.elementor-element-4d96e0ae,.elementor-element-475351ba,.elementor-element-403433bd) .elementor-icon-box-wrapper{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;text-align:right}
html body.single-product :is(.elementor-element-4d96e0ae,.elementor-element-475351ba,.elementor-element-403433bd) .elementor-icon-box-icon{margin:0!important}
html body.single-product :is(.elementor-element-4d96e0ae,.elementor-element-475351ba,.elementor-element-403433bd) .elementor-icon-box-title{margin:0!important}
@media (max-width:767px){
  html body.single-product .elementor-element-308199d8>.elementor-container{display:flex;flex-direction:column;gap:16px}
  html body.single-product .elementor-element-5a97f87e>.elementor-container{padding:16px}
  html body.single-product .elementor-element-320d630b>.elementor-widget-wrap{gap:12px}
  html body.single-product .elementor-element-4f256ec9 .wd-section-title,html body.single-product .elementor-element-4f256ec9 .title{margin-bottom:12px}
}
html body.single-product .elementor-inner-section{margin:0!important;padding-inline:0!important}
html body.single-product .elementor-inner-section>.elementor-container{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
html body.single-product .elementor-inner-section .elementor-column{padding:0!important;margin:0!important}
html body.single-product .elementor-element-6b166fda .elementor-button{display:flex;align-items:center;justify-content:center;height:46px;line-height:1}
html body.single-product .elementor-element-6b166fda .elementor-button-content-wrapper{display:flex;align-items:center;justify-content:center;gap:8px}
html body.single-product .elementor-element-6b166fda .elementor-button-icon{margin:0}
html body.single-product :is(.elementor-element-209e2721,.elementor-element-4d63670e){padding:20px!important}
html body.single-product .elementor-element-209e2721>.elementor-container,html body.single-product .elementor-element-4d63670e>.elementor-container{padding:0!important}
html body.single-product :is(.elementor-element-1a4338a7,.elementor-element-308199d8,.elementor-element-5a97f87e,.elementor-element-4f256ec9)>.elementor-container{margin-inline:0!important;width:100%!important;max-width:100%!important}
html body.single-product :is(.elementor-element-4751c846,.elementor-element-320d630b,.elementor-element-41f25def,.elementor-element-614a92c)>.elementor-element-populated{margin:0!important}
@media (max-width:767px){html body.single-product .wd-single-content :is(p,li,span){font-size:14px;line-height:1.9}}
html body.single-product #reviews :is(#review_form_wrapper,#review_form){background:none!important;border:0!important;box-shadow:none!important;margin:16px 0 0!important;padding:16px 0 0!important;width:100%!important;max-width:100%!important;box-sizing:border-box;border-top:1px solid var(--yl-border)!important}
html body.single-product .elementor-element-5a97f87e :is(.elementor-widget-wrap,.elementor-column,.elementor-widget-container){margin:0!important;padding:0!important}
html body.single-product .elementor-element-5a97f87e{background:var(--yl-card)!important;border:1px solid var(--yl-border)!important;border-radius:var(--pdp-r)!important;padding:20px!important;box-sizing:border-box}
html body.single-product .elementor-element-5a97f87e>.elementor-container{padding:0!important;background:none!important;border:0!important}
html body.single-product #reviews{max-width:100%;overflow-wrap:anywhere}
html body.single-product #reviews :is(input,textarea){max-width:100%;box-sizing:border-box}
html body.single-product #reviews{margin:0!important;padding:0!important}
html body.single-product #reviews :is(#comments,.wd-reviews-content,.wd-reviews-tools,.commentlist,.woocommerce-noreviews){border:0!important;background:none!important;padding-inline:0!important}
html body.single-product #reviews :is(#review_form,#respond,.comment-respond){border:0!important;border-radius:0!important;margin:0!important;padding:0!important}
html body.single-product #reviews #review_form_wrapper{border-radius:0!important}
/* related products: no outer card, spacing only (specificity beats commerce.css section-card rule) */
html body.single-product .elementor-section.wd-negative-gap:is(.elementor-element-4f256ec9,.elementor-element-308199d8,.elementor-element-e4a00aa){background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
html body.single-product .elementor-element-4f256ec9 .wd-products-element .title{font-size:20px;margin-bottom:16px}
/* related carousel on touch: no hover overlay (cards open the product on tap) */
@media (hover:none){html body.single-product .elementor-element-4f256ec9 .wd-product :is(.wd-wishlist-btn,.wd-compare-btn,.wd-quick-view-btn){display:none!important}}
html body.single-product .elementor-element-4f256ec9 .wd-carousel-item{height:auto}
html body.single-product .elementor-element-4f256ec9 .wd-carousel-wrap{align-items:stretch}
html body.single-product .elementor-element-4f256ec9 .wd-carousel-item>.wd-product,html body.single-product .elementor-element-4f256ec9 .wd-product-wrapper{height:100%}
html body.single-product .elementor-element-4f256ec9{margin-bottom:8px!important}
/* related widget puts the buttons in an absolute top-right box (.wd-pos-r-t): flatten it so add-to-cart is the same full-width bar as the home cards */
html body .wd-product .wd-buttons.wd-pos-r-t{position:static!important;background:none!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important;width:100%!important;opacity:1!important;visibility:visible!important;transform:none!important;display:block!important}
html body .wd-product .wd-buttons.wd-pos-r-t .wrap-wishlist-button,html body .wd-product .wd-buttons.wd-pos-r-t .wd-compare-btn{position:static}
