/* Single product page - warrior-makers style */
body.single-product{
  --pp-ink:#111; --pp-muted:#5b5b62; --pp-surface:#f5f5f7; --pp-border:#e2e2e2; --pp-yellow:#ffd623;
  background:#fff;
  font-family:'Sofia Sans','Inter',system-ui,sans-serif;
  color:var(--pp-ink);
}
body.single-product .elementor-location-single > .e-con:first-child{
  max-width:1240px; margin:0 auto; padding:40px 24px 24px; gap:clamp(24px,4vw,56px);
  align-items:flex-start;
}

/* Gallery */
body.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery{ position:relative; }
body.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image{
  background:var(--pp-surface); border:none !important; border-radius:24px; overflow:hidden;
}
body.single-product .elementor-widget-woocommerce-product-images img{ border-radius:24px; mix-blend-mode:multiply; }
body.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__trigger{
  background:#fff; border-radius:999px; box-shadow:0 2px 10px rgba(0,0,0,.1); top:16px; right:16px;
}
body.single-product .flex-control-thumbs{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px !important; padding:0; list-style:none; }
body.single-product .flex-control-thumbs li{ width:72px !important; float:none !important; margin:0 !important; }
body.single-product .flex-control-thumbs img{ border:2px solid transparent; border-radius:12px; background:var(--pp-surface); opacity:1 !important; }
body.single-product .flex-control-thumbs img.flex-active{ border-color:var(--pp-ink); }
@media (min-width:768px){
  body.single-product .elementor-location-single > .e-con:first-child > .e-con:first-child{ position:sticky; top:96px; }
}

/* Info column */
body.single-product .elementor-widget-woocommerce-product-title .elementor-heading-title,
body.single-product .elementor-widget-woocommerce-product-title h1{
  font-family:'Fjalla One','Arial Narrow',sans-serif !important; font-weight:400 !important;
  color:#000 !important; font-size:clamp(36px,4.4vw,58px) !important; line-height:1.08 !important; text-transform:none;
}
body.single-product .elementor-widget-woocommerce-product-price,
body.single-product .elementor-widget-woocommerce-product-price *{
  color:var(--pp-ink) !important; font-family:'Sofia Sans',sans-serif !important; font-weight:700 !important; font-size:24px !important;
}
body.single-product .elementor-widget-woocommerce-product-price del,
body.single-product .elementor-widget-woocommerce-product-price del *{ color:var(--pp-muted) !important; font-weight:500 !important; font-size:18px !important; opacity:.7; }
body.single-product .elementor-widget-woocommerce-product-price ins{ text-decoration:none; }
body.single-product .elementor-widget-woocommerce-product-short-description,
body.single-product .elementor-widget-woocommerce-product-short-description *{
  color:var(--pp-muted) !important; font-family:'Sofia Sans',sans-serif; font-size:16px; line-height:1.6;
}
body.single-product .elementor-widget-woocommerce-product-short-description strong{ color:var(--pp-ink) !important; }
body.single-product .elementor-widget-woocommerce-product-short-description ul li{ border-bottom-color:var(--pp-border) !important; }

/* Options + add to basket */
body.single-product .elementor-widget-woocommerce-product-add-to-cart,
body.single-product .elementor-widget-woocommerce-product-add-to-cart > .elementor-widget-container{
  background:transparent !important; padding:0 !important; border:none !important;
}
body.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations{ width:100%; margin:0 0 8px; }
body.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations tr{ display:block; }
body.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations th.label,
body.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations label{
  display:block; padding:0 0 8px !important; font-weight:700; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--pp-muted);
}
body.single-product .elementor-widget-woocommerce-product-add-to-cart table tbody > tr > td,
body.single-product .elementor-widget-woocommerce-product-add-to-cart table tbody > tr > th{ background:transparent !important; border:none; padding:0; display:block; }
body.single-product ul.variable-items-wrapper{ display:flex; flex-wrap:wrap; gap:12px; margin:0; padding:0; list-style:none; }
body.single-product ul.variable-items-wrapper .variable-item{
  border:1.5px solid var(--pp-border) !important; border-radius:14px !important; background:#fff !important; color:var(--pp-ink) !important;
  box-shadow:none !important; min-width:72px; height:auto !important; padding:12px 18px !important; font-weight:700; font-size:15px;
}
body.single-product ul.variable-items-wrapper .variable-item.selected,
body.single-product ul.variable-items-wrapper .variable-item:hover{
  border-color:var(--pp-ink) !important; box-shadow:0 0 0 1px var(--pp-ink) !important;
}
body.single-product ul.variable-items-wrapper .variable-item.disabled{ opacity:.4; }
body.single-product .elementor-widget-woocommerce-product-add-to-cart .reset_variations{ font-size:12px; color:var(--pp-muted); }
body.single-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-price,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-price *{ color:var(--pp-ink) !important; font-size:24px; font-weight:700; }
body.single-product .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-add-to-cart,
body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart:not(.variations_form){ display:flex; flex-wrap:wrap; gap:12px; align-items:stretch; }
body.single-product .quantity .qty{ height:100%; min-height:54px; border:1.5px solid var(--pp-border); border-radius:999px; background:#fff; color:var(--pp-ink); font-weight:700; text-align:center; }
body.single-product .single_add_to_cart_button,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .button.alt{
  flex:1 1 220px; min-height:54px; border-radius:999px !important; border:none !important;
  background:#000 !important; color:#fff !important;
  font-family:'Sofia Sans Condensed','Sofia Sans',sans-serif !important; font-weight:700 !important; font-size:18px !important; letter-spacing:.04em; text-transform:uppercase;
  transition:background .15s ease,color .15s ease;
}
body.single-product .single_add_to_cart_button:hover,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .button.alt:hover{ background:var(--pp-yellow) !important; color:#000 !important; }

/* Lower sections */
body.single-product .elementor-widget-woocommerce-product-content{ color:#3f3f45; font-size:16px; line-height:1.7; }
body.single-product .elementor-widget-woocommerce-product-content h2,
body.single-product .elementor-widget-woocommerce-product-content h3{ font-family:'Fjalla One',sans-serif; font-weight:400; color:#000; }
body.single-product .elementor-location-single > .e-con:nth-child(2){ max-width:1240px; margin:0 auto; padding:0 24px; }
body.single-product .elementor-location-single > .e-con:nth-child(3){
  max-width:1192px; margin:24px auto; padding:20px 28px !important; background:var(--pp-surface); border-radius:24px;
}
body.single-product .elementor-location-single > .e-con:nth-child(3) *{ color:var(--pp-muted) !important; font-family:'Sofia Sans',sans-serif !important; }
body.single-product .elementor-location-single > .e-con:nth-child(3) b,
body.single-product .elementor-location-single > .e-con:nth-child(3) strong{ color:var(--pp-ink) !important; }
body.single-product .elementor-location-single > .e-con:nth-child(4){ max-width:1240px; margin:24px auto 64px; padding:0 24px; }
body.single-product .elementor-location-single > .e-con:nth-child(4) .elementor-heading-title{
  font-family:'Fjalla One',sans-serif !important; font-weight:400 !important; color:#000 !important; font-size:clamp(30px,3.6vw,46px) !important; text-align:left; text-transform:none;
}
body.single-product .elementor-widget-woocommerce-products ul.products li.product{
  background:var(--pp-surface); border:none !important; border-radius:20px; padding:16px; text-align:left;
}
body.single-product .elementor-widget-woocommerce-products ul.products li.product:hover{ background:var(--pp-surface) !important; transform:translateY(-3px); }
body.single-product .elementor-widget-woocommerce-products ul.products li.product img{ border-radius:12px; background:#fff; }
body.single-product .elementor-widget-woocommerce-products .woocommerce-loop-product__title{
  font-family:'Sofia Sans',sans-serif !important; font-weight:700 !important; color:var(--pp-ink) !important; font-size:18px !important;
}
body.single-product .elementor-widget-woocommerce-products .price,
body.single-product .elementor-widget-woocommerce-products .price *{ color:var(--pp-ink) !important; font-weight:600; }

@media (max-width:767px){
  body.single-product .elementor-location-single > .e-con:first-child{ padding:20px 16px; }
  body.single-product ul.variable-items-wrapper .variable-item{ min-width:64px; padding:10px 14px !important; }
}

body.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations select{
  width:100%; min-height:54px; padding:0 18px; border:1.5px solid var(--pp-border); border-radius:14px; background-color:#fff;
  color:var(--pp-ink); font-family:'Sofia Sans',sans-serif; font-weight:700; font-size:16px;
}
body.single-product .elementor-widget-woocommerce-product-add-to-cart table.variations select:focus{ outline:none; border-color:var(--pp-ink); }
body.single-product .single_add_to_cart_button.disabled,
body.single-product .single_add_to_cart_button:disabled{ opacity:.45; }
