/* Product detail layout only. Native WooCommerce templates and hooks stay intact. */
.single-product :is(.soko-shop-layout,div.product,.summary,.woocommerce-tabs,.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content){min-width:0;max-width:100%;overflow-wrap:anywhere}
.single-product .woocommerce-Tabs-panel{clear:both}
.single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content){line-height:1.7}
.single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) :is(p,ul,ol){margin-block:0 1em}
.single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) :is(ul,ol){padding-inline-start:1.4em}
.single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) li{padding-inline-start:.2em;margin-bottom:.65em}
.single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) :is(img,video,iframe,figure){max-width:100%!important}
.single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) :is(img,video){height:auto!important}
.single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) pre{max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.single-product .product_meta{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.single-product .product_meta>span{display:block;margin-bottom:5px}
/* The table itself is scrollable without JavaScript. Enhanced tables keep native table semantics inside a scroll region. */
.single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) table{display:block;min-width:0!important;max-width:100%!important;overflow-x:auto;margin-block:16px 24px;border-collapse:collapse}
.single-product .soko-product-table{min-width:0;max-width:100%;margin-block:16px 24px}
.single-product .soko-product-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--soko-border,#ddd);border-radius:10px;background:var(--soko-surface,#fff)}
.single-product .soko-product-table-scroll:focus-visible{outline:2px solid var(--soko-focus,#174d3e);outline-offset:3px}
.single-product .soko-product-table-scroll>table{display:table;max-width:none!important;margin:0;border:0;min-width:100%!important}
.single-product .soko-product-table-hint{display:block;margin-bottom:8px;font-size:12px;color:var(--soko-muted,#666);line-height:1.5}
.single-product .soko-product-table-hint[hidden]{display:none}
.single-product .soko-product-table-scroll :is(td,th){padding:13px 14px;vertical-align:top;text-align:start;border:0;border-bottom:1px solid var(--soko-border,#ddd)}
.single-product .soko-product-table-scroll tr:last-child>:is(td,th){border-bottom:0}
.single-product .soko-product-table-scroll :is(thead th,tbody th){font-weight:650;background:var(--soko-page-bg,#f7f7f7)}
.single-product .soko-product-table-scroll td p:last-child{margin-bottom:0}

@media(max-width:1024px){
  .single-product .soko-content{padding-block:20px 32px}
  .single-product .soko-shop-layout{padding:22px}
  .single-product .woocommerce-breadcrumb{font-size:12px;line-height:1.65;margin-bottom:20px}
  .single-product .woocommerce-tabs{padding-top:8px}
  .single-product .woocommerce-tabs .panel{margin-bottom:28px}
  .single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content){font-size:16px}
  .single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) :is(h1,h2,h3,h4,h5,h6){max-width:100%;line-height:1.3!important;letter-spacing:-.02em;margin-block:1.25em .7em;overflow-wrap:anywhere}
  .single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) :is(h1,h2){font-size:clamp(21px,2.8vw,28px)!important}
  .single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) :is(h3,h4,h5,h6){font-size:clamp(18px,2.4vw,22px)!important}
  .single-product :is(.woocommerce-Tabs-panel,.woocommerce-product-details__short-description,.elementor-widget-woocommerce-product-content) :is(h1,h2,h3,h4,h5,h6)>:is(span,strong,b){font-size:inherit!important;line-height:inherit!important}
  .single-product .woocommerce-Tabs-panel>h2:first-child{font-size:18px!important;margin-top:0;margin-bottom:20px}
  .single-product .soko-product-table-scroll>table.soko-spec-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed}
  .single-product table.soko-spec-table :is(col,colgroup){width:auto!important;min-width:0!important}
  .single-product table.soko-spec-table :is(td,th){width:auto!important;min-width:0!important;max-width:none!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;font-size:14px;line-height:1.65}
  .single-product table.soko-spec-table tr>:first-child:not([colspan]){width:36%!important}
  .single-product table.soko-spec-table :is(td,th) :is(p,span,strong,b,a,div){max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere;font-size:inherit!important}
  .single-product .woocommerce-product-attributes{font-size:14px}
}

@media(max-width:767px){
  .single-product .soko-wrap.soko-content{padding-inline:12px}
  .single-product .soko-shop-layout{padding:18px 16px;border-radius:12px}
  .single-product.woocommerce div.product :is(div.images,div.summary){float:none;width:100%;min-width:0;margin-bottom:24px}
  .single-product.woocommerce div.product .product_title{font-size:clamp(23px,6vw,29px);line-height:1.25;margin-bottom:12px;overflow-wrap:anywhere}
  .single-product.woocommerce div.product :is(p.price,span.price){font-size:24px;line-height:1.4;margin-block:12px 18px}
  .single-product .woocommerce-product-gallery{max-width:100%;margin-inline:0}
  .single-product.woocommerce div.product div.images .woocommerce-product-gallery__image img{width:100%;height:auto;max-height:65svh;object-fit:contain;border-radius:10px}
  .single-product.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:8px;overflow-x:auto;padding-top:10px}
  .single-product.woocommerce div.product div.images .flex-control-thumbs li{float:none;flex:0 0 calc((100% - 24px)/4);width:auto}
  .single-product.woocommerce div.product form.cart{margin-block:20px 24px}
  .single-product.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form),.single-product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}
  .single-product.woocommerce div.product form.cart .quantity{float:none;margin:0;flex:0 0 76px}
  .single-product.woocommerce div.product form.cart .quantity .qty{width:76px;min-height:48px;margin:0}
  .single-product.woocommerce div.product form.cart .single_add_to_cart_button{float:none;flex:1 1 160px;min-width:0;min-height:48px;max-width:100%;white-space:normal;line-height:1.4}
  .single-product.woocommerce div.product form.cart .variations{table-layout:fixed;width:100%;margin-bottom:16px}
  .single-product.woocommerce div.product form.cart .variations :is(th,td){display:block;width:100%;padding:0;text-align:start}
  .single-product.woocommerce div.product form.cart .variations select{width:100%;max-width:100%;min-height:46px;margin:6px 0 10px}
  .single-product.woocommerce div.product .woocommerce-tabs ul.tabs{gap:0;padding:0;margin-bottom:22px;scrollbar-width:thin}
  .single-product.woocommerce div.product .woocommerce-tabs ul.tabs li{padding:0 14px;max-width:100%;border-radius:7px 7px 0 0}
  .single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:13px;min-height:46px;white-space:normal;text-align:center}
  .single-product .soko-product-table-scroll :is(td,th){padding:11px 10px}
  .single-product .woocommerce-Tabs-panel #reviews #comments ol.commentlist{padding:0}
  .single-product .woocommerce-Tabs-panel #reviews #comments ol.commentlist li .comment-text{margin-inline-start:54px;padding:12px}
  .single-product.woocommerce .related>h2,.single-product.woocommerce .upsells>h2{font-size:22px;line-height:1.3}
}
@media(max-width:360px){
  .single-product .soko-wrap.soko-content{padding-inline:8px}
  .single-product .soko-shop-layout{padding-inline:12px}
  .single-product .soko-product-table-scroll :is(td,th){padding:10px 8px}
}

/* On narrow phones, label/value rows read as stacked specifications. */
@media(max-width:479px){
  .single-product table.soko-spec-table thead{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px!important;height:1px;overflow:hidden;white-space:nowrap}
  .single-product table.soko-spec-table tbody,.single-product table.soko-spec-table tbody tr{display:block;width:100%}
  .single-product table.soko-spec-table tbody tr{padding:12px;border-bottom:1px solid var(--soko-border,#ddd)}
  .single-product table.soko-spec-table tbody tr:last-child{border-bottom:0}
  .single-product table.soko-spec-table tbody tr>:is(th,td){display:block;width:100%!important;padding:0;border:0;background:transparent;text-align:start}
  .single-product table.soko-spec-table tbody tr>:first-child:not([colspan]){width:100%!important;font-size:12px;font-weight:650;line-height:1.5;margin-bottom:5px;color:var(--soko-muted,#666)}
  .single-product table.soko-spec-table tbody tr>:last-child{font-size:14px;line-height:1.65;color:var(--soko-text,#242424)}
}

/* Main purchase actions share a readable size across screen widths. */
.soko-site.single-product div.product form.cart:not(.variations_form):not(.grouped_form),
.soko-site.single-product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.soko-site.single-product div.product form.cart .quantity{float:none;flex:0 0 auto;margin:0}
.soko-site.single-product div.product form.cart .quantity .qty{min-height:48px;width:76px;font-size:16px;margin:0}
.soko-site.single-product div.product form.cart :is(.single_add_to_cart_button,.soko-buy-now){float:none;display:inline-flex;justify-content:center;align-items:center;flex:1 1 140px;max-width:100%;min-width:0;min-height:48px;margin:0;padding:max(12px,var(--soko-button-padding-y,12px)) max(18px,var(--soko-button-padding-x,22px))!important;font-size:max(15px,var(--soko-button-font-size,14px))!important;line-height:1.4!important;white-space:normal;overflow-wrap:anywhere;text-align:center;gap:8px}
@media(max-width:767px){.soko-site.single-product div.product form.cart .soko-buy-now{flex-basis:100%;margin:0}}
