/* ============================================================
   PurityWhip — WooCommerce compatibility layer
   Loaded only on WooCommerce pages, after style.css.
   Fixes: shop grid, WP custom menus, sidebar widgets, price
   markup, single-product protection, float clearing.
   ============================================================ */

/* --- Safety: clear content-area/widget-area floats --- */
.site-content .col-full::after{content:"";display:table;clear:both}

/* --- Product loop grid (our card design) --- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:24px;
  list-style:none;
  margin:0 0 30px;
  padding:0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{display:none}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product-li,
.woocommerce-page ul.products li.product-li{
  float:none;width:auto;max-width:none;margin:0;padding:0;
  list-style:none;text-align:left;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{transform:none}

/* Price typography (WC price markup) */
.product .price .woocommerce-Price-amount{font-size:19px;font-weight:800;color:var(--ink)}
.product .price del{font-size:14px;color:var(--muted)}
.product .price del .woocommerce-Price-amount{font-size:14px;font-weight:400;color:var(--muted)}
.product .price ins{text-decoration:none}
.product .cat a{color:var(--muted)}
.product .cat a:hover{color:var(--teal-d)}

/* --- Primary menu: WP custom menu inside .nav-links --- */
.nav-links ul.nav-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.nav-links .nav-menu li{position:relative}
.nav-links .nav-menu a{display:block}
.nav-links .nav-menu .sub-menu{
  display:none;position:absolute;top:100%;left:0;z-index:80;
  min-width:220px;margin:0;padding:8px 0;list-style:none;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--shadow-lg);
}
.nav-links .nav-menu li:hover>.sub-menu,
.nav-links .nav-menu li:focus-within>.sub-menu{display:block}
.nav-links .nav-menu .sub-menu li{width:100%}
.nav-links .nav-menu .sub-menu a{padding:9px 18px;font-size:14px;font-weight:600;color:var(--ink)}
.nav-links .nav-menu .sub-menu a:hover{background:var(--bg-soft);color:var(--teal-d)}

/* --- Sidebar widgets on shop pages --- */
.woocommerce-page .widget-area .widget,
.woocommerce-page .widget-area .widget_product_categories,
.woocommerce-page .widget-area .widget_search{
  background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;margin-bottom:22px;
}
.woocommerce-page .widget-area .widget-title,
.woocommerce-page .widget-area .widgettitle{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:14px}
.woocommerce-page .widget-area ul{list-style:none;margin:0;padding:0}
.woocommerce-page .widget-area ul li{margin-bottom:10px}
.woocommerce-page .widget-area ul li a{font-size:14px;color:var(--text)}
.woocommerce-page .widget-area ul li a:hover{color:var(--teal-d)}
.woocommerce-page .widget-area input[type=search],
.woocommerce-page .widget-area input[type=text]{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;
}
.woocommerce-page .widget-area button[type=submit],
.woocommerce-page .widget-area input[type=submit]{
  margin-top:8px;padding:9px 18px;border-radius:99px;background:var(--teal);color:#fff;font-weight:700;font-size:14px;
}

/* --- Empty sidebar fallback: collapse the column, let grid go full width --- */
.woocommerce-page #secondary:empty{display:none}
.woocommerce-page #primary:has(#secondary:empty) .content-area{width:100%;float:none}

/* --- Shop header, sorting, result count --- */
.woocommerce-page .woocommerce-products-header__title{font-size:clamp(26px,3.4vw,40px);margin-bottom:18px}
.woocommerce-page .storefront-sorting{margin-bottom:20px}
.woocommerce-page .storefront-sorting select{padding:10px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:#fff}
.woocommerce-page .woocommerce-result-count{margin-bottom:20px;color:var(--muted);font-size:14px}

/* --- Single product: neutralize loop-card styles --- */
.single-product div.product{background:none;border:none;border-radius:0;overflow:visible;display:block}
.single-product div.product .product_title{font-size:clamp(24px,3vw,34px)}

/* --- Pagination --- */
.woocommerce-page .woocommerce-pagination ul{display:flex;gap:8px;list-style:none;justify-content:center;margin:30px 0;padding:0}
.woocommerce-page .woocommerce-pagination a,
.woocommerce-page .woocommerce-pagination span{
  display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;
  border:1px solid var(--line);border-radius:10px;font-weight:700;color:var(--ink);
}
.woocommerce-page .woocommerce-pagination span.current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ============================================================
   Shop archive = prototype .shop-grid layout (260px sticky side)
   ============================================================ */
.pw-shop #content .col-full{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:start}
.pw-shop #secondary{position:sticky;top:90px}
.pw-shop .pw-filters{display:flex;flex-direction:column;gap:22px}
.pw-filters .widget{margin-bottom:0}
.pw-filters label{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:11px;color:var(--text);cursor:pointer}
.pw-filters input[type=checkbox]{width:17px;height:17px;accent-color:var(--teal);flex:none}
.pw-filters .price-range{width:100%;accent-color:var(--teal)}
.pw-filters .range-val{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:6px}
@media(max-width:1024px){
  .pw-shop #content .col-full{grid-template-columns:1fr}
  .pw-shop #secondary{position:static}
}

/* Result count left / sort right, like prototype .shop-top */
.pw-shop .content-area .woocommerce-result-count{float:left;margin:4px 0 22px}
.pw-shop .content-area .storefront-sorting{float:right;margin:0 0 22px}
.pw-shop .content-area ul.products{clear:both}

/* Card title link inherits prototype heading style */
.product .body h3 a{color:inherit;text-decoration:none}
.product .body h3 a:hover{color:var(--teal-d)}

/* ============================================================
   Shop archive = prototype .shop-grid layout (260px sticky side)
   ============================================================ */
.pw-shop #content .col-full{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:start}
.pw-shop #secondary{position:sticky;top:90px}
.pw-shop .pw-filters{display:flex;flex-direction:column;gap:22px}
.pw-filters .widget{margin-bottom:0}
.pw-filters label{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:11px;color:var(--text);cursor:pointer}
.pw-filters input[type=checkbox]{width:17px;height:17px;accent-color:var(--teal);flex:none}
.pw-filters .price-range{width:100%;accent-color:var(--teal)}
.pw-filters .range-val{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:6px}
@media(max-width:1024px){
  .pw-shop #content .col-full{grid-template-columns:1fr}
  .pw-shop #secondary{position:static}
}

/* Result count left / sort right, like prototype .shop-top */
.pw-shop .content-area .woocommerce-result-count{float:left;margin:4px 0 22px}
.pw-shop .content-area .storefront-sorting{float:right;margin:0 0 22px}
.pw-shop .content-area ul.products{clear:both}

/* Card title link inherits prototype heading style */
.product .body h3 a{color:inherit;text-decoration:none}
.product .body h3 a:hover{color:var(--teal-d)}

/* ============================================================
   Grid placement fix (v1.0.1)
   Root cause: Storefront pins percentage widths + floats on
   #primary/#secondary, and an empty <div class="woocommerce">
   steals grid cell 1x1 — collapsing both columns to ~180px and
   dropping the sidebar on top of the product grid.
   ============================================================ */
.pw-shop #content .col-full > .woocommerce { display: contents; }
.pw-shop #content .col-full > #primary {
  grid-column: 2;
  grid-row: 1;
  float: none;
  width: auto;
  min-width: 0; /* prevent grid blowout from long titles */
}
.pw-shop #content .col-full > #secondary {
  grid-column: 1;
  grid-row: 1;
  float: none;
  width: auto;
}
/* Storefront duplicates the sorting form below the grid — keep only the top one */
.pw-shop #main > .storefront-sorting:last-child { display: none; }
@media (max-width: 1024px) {
  .pw-shop #content .col-full > #primary { grid-column: 1; grid-row: auto; }
  .pw-shop #content .col-full > #secondary { grid-column: 1; grid-row: auto; }
}

/* ============================================================
   Collapsible category tree (v1.0.2)
   Parent rows carry a count pill + chevron toggle;
   subcategories are collapsed by default.
   ============================================================ */
.pw-cat-widget .pw-cat-row{flex:1;min-width:0;margin-bottom:0}
.pw-cat-line{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.pw-cat-line .pw-count{margin-left:auto}
.pw-cat-line .pw-toggle{flex:none;margin-left:auto}
.pw-cat-line .pw-toggle ~ .pw-count,
.pw-cat-line .pw-count ~ .pw-toggle{margin-left:0}
.pw-count{flex:none;min-width:28px;padding:1px 9px;border:1px solid #dde3ea;border-radius:999px;background:#fff;font-size:12px;line-height:20px;color:var(--muted,#6b7684);text-align:center}
.pw-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted,#6b7684);cursor:pointer;transition:transform .18s ease,background .18s ease}
.pw-toggle:hover{background:rgba(0,0,0,.05);color:var(--text,#101f30)}
.pw-toggle svg{transition:transform .18s ease}
.pw-open > .pw-cat-line .pw-toggle svg,
.pw-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.pw-sub{display:none;margin:0 0 6px 27px;padding:0;list-style:none}
.pw-open > .pw-sub{display:block}
.pw-sub li{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pw-sub .pw-cat-row span{font-size:13.5px;color:var(--muted,#6b7684)}
.pw-sub .pw-count{margin-left:auto;font-size:11px;min-width:24px;padding:0 8px;line-height:18px}
.pw-sub .pw-cat-row input:checked + span{color:var(--text,#101f30);font-weight:600}

/* ============================================================
   Link-style category list (v1.0.3) — checkboxes removed,
   rows navigate to category archives like the reference site.
   ============================================================ */
.pw-cat-widget .pw-cat-row{display:flex;align-items:center;flex:1;min-width:0;color:var(--text,#101f30);text-decoration:none;font-size:14px;line-height:1.45;transition:color .15s ease}
.pw-cat-widget .pw-cat-row:hover{color:var(--teal,#00a6a6);text-decoration:none}
.pw-cat-widget .pw-cat-row.pw-active{color:var(--teal-d,#007c7c);font-weight:700}
.pw-cat-widget .pw-cat-row:focus-visible{outline:2px solid var(--teal,#00a6a6);outline-offset:2px;border-radius:4px}

/* Toggle chevron drawn in pure CSS (no inline SVG — renders everywhere) */
.pw-toggle::before{content:"";display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .18s ease}
.pw-open > .pw-cat-line .pw-toggle::before,
.pw-toggle[aria-expanded="true"]::before{transform:rotate(-135deg) translateY(-1px)}

/* ===== v1.0.5: group header style — separators, right-edge chevron, left-aligned children ===== */
.pw-cat-group{margin-top:4px}
.pw-cat-group > .pw-cat-line{margin-bottom:0;padding:13px 2px;border-top:1px solid #e7ebf0;border-bottom:1px solid #e7ebf0}
.pw-cat-group:first-of-type > .pw-cat-line{margin-top:10px}
.pw-cat-group > .pw-cat-line .pw-cat-row{font-size:15.5px;font-weight:600;color:var(--text,#101f30)}
.pw-cat-group > .pw-cat-line .pw-toggle{margin-left:auto;width:30px;height:30px;border-radius:8px}
.pw-cat-group > .pw-cat-line .pw-toggle::before{width:10px;height:10px;border-width:2px;transform:rotate(45deg) translateY(-2px)}
.pw-cat-group.pw-open > .pw-cat-line .pw-toggle::before{transform:rotate(-135deg) translateY(-2px)}
.pw-cat-group > .pw-sub{margin:12px 0 14px 2px}
.pw-cat-group > .pw-sub li{margin-bottom:12px}
.pw-cat-group > .pw-sub li:last-child{margin-bottom:0}

/* ===== v1.0.6: toggle cloned from Woodmart (creamgas) widget-collapse ===== */
.pw-cat-group > .pw-cat-line .pw-toggle{position:relative;width:24px;height:24px;margin-left:auto;border-radius:50%;background:transparent;transition:background .25s ease}
.pw-cat-group > .pw-cat-line .pw-toggle:hover{background:rgba(0,0,0,.05)}
.pw-cat-group > .pw-cat-line .pw-toggle::before{width:9px;height:9px;border-width:1.5px;border-color:#7a8794;transform:rotate(45deg) translate(-1px,-1px);transition:transform .25s ease,background .25s ease}
.pw-cat-group.pw-open > .pw-cat-line .pw-toggle{background:#f1f1f1}
.pw-cat-group.pw-open > .pw-cat-line .pw-toggle::before{transform:rotate(-135deg) translate(-1px,-1px)}


/* ===== v1.0.9: slide-in cart drawer (right side) ===== */
#pw-cart-overlay{position:fixed;inset:0;background:rgba(16,31,48,.45);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:99998}
body.pw-cart-open #pw-cart-overlay{opacity:1;visibility:visible}
#pw-cart-drawer{position:fixed;top:0;right:0;height:100%;width:380px;max-width:92vw;background:#fff;z-index:99999;transform:translateX(102%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(14,27,42,.18)}
body.pw-cart-open #pw-cart-drawer{transform:none}
.pw-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e7ebf0;font-weight:700;font-size:17px;color:var(--text,#101f30)}
.pw-drawer-head button{border:0;background:none;cursor:pointer;color:var(--muted,#6b7684);font-size:14px;font-weight:600}
.pw-drawer-head button:hover{color:var(--text,#101f30)}
.pw-drawer-body{flex:1;overflow:auto;padding:18px 22px}
.pw-drawer-item{display:flex;gap:14px;margin-bottom:16px}
.pw-drawer-item img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid #e7ebf0;flex:none}
.pw-di-info b{display:block;font-size:14px;color:var(--text,#101f30);margin-bottom:4px;line-height:1.4}
.pw-di-price{display:block;font-size:13px;color:var(--muted,#6b7684)}
.pw-di-qty{display:block;font-size:13px;color:var(--muted,#6b7684);margin-top:2px}
.pw-drawer-foot{border-top:1px solid #e7ebf0;padding:16px 22px 20px;background:#fff}
.pw-drawer-subtotal{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:12px;color:var(--text,#101f30)}
.pw-drawer-subtotal .amount,.pw-drawer-subtotal bdi{color:var(--teal-d,#007c7c)}
.pw-drawer-foot .pw-btn{display:block;text-align:center;padding:12px;border-radius:10px;font-weight:700;font-size:15px;text-decoration:none;margin-bottom:10px;transition:background .15s}
.pw-drawer-foot .pw-btn:last-child{margin-bottom:0}
.pw-btn-view{background:#eef4f8;color:var(--text,#101f30)}
.pw-btn-view:hover{background:#e2ecf2}
.pw-btn-checkout{background:var(--teal,#00a6a6);color:#fff}
.pw-btn-checkout:hover{background:var(--teal-d,#007c7c);color:#fff}


/* ===== v1.0.10: dual-handle price range + Filter button ===== */
.pw-price-widget .pw-range{position:relative;height:26px;margin:6px 0 12px}
.pw-range-track{position:absolute;left:2px;right:2px;top:11px;height:4px;border-radius:2px;background:#dfe6ec}
.pw-range-fill{position:absolute;top:0;height:100%;border-radius:2px;background:var(--teal,#00a6a6)}
.pw-price-widget .pw-r{position:absolute;inset:0;width:100%;margin:0;-webkit-appearance:none;appearance:none;background:none;pointer-events:none;height:26px}
.pw-price-widget .pw-r::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;background:var(--teal,#00a6a6);border:3px solid #fff;box-shadow:0 1px 4px rgba(14,27,42,.25);cursor:pointer}
.pw-price-widget .pw-r::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:50%;background:var(--teal,#00a6a6);border:3px solid #fff;box-shadow:0 1px 4px rgba(14,27,42,.25);cursor:pointer}
.pw-price-widget .pw-r::-webkit-slider-runnable-track{background:none}
.pw-price-widget .pw-r::-moz-range-track{background:none}
.pw-range-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.pw-range-label{font-size:13px;color:var(--muted,#6b7684)}
.pw-range-label b{color:var(--text,#101f30);font-weight:600}
.pw-range-filter{border:0;cursor:pointer;padding:9px 18px;border-radius:9px;font-weight:700;font-size:14px;background:#e6f5f5;color:var(--teal-d,#007c7c);transition:background .15s}
.pw-range-filter:hover{background:#d8f0f0}


/* ===== v1.0.11: hide result count ("Showing all X results") ===== */
.woocommerce-result-count{display:none!important}


/* ===== v1.0.16: shop toolbar (Show per-page + view switcher + ordering) ===== */
.pw-shop .storefront-sorting{display:none!important}
.pw-toolbar{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:0 0 24px;padding-bottom:14px;border-bottom:1px solid var(--line,#e7ebf0)}
.pw-toolbar-title{font-size:20px;font-weight:800;color:var(--ink,#101f30)}
.pw-show{display:flex;align-items:center;gap:9px;margin-left:auto;font-size:15px;color:var(--muted,#6b7684)}
.pw-show .pw-show-label{font-weight:700;color:var(--ink,#101f30)}
.pw-show .pw-sep{font-style:normal;color:#c3ccd6}
.pw-show a{color:var(--muted,#6b7684);font-weight:600;text-decoration:none}
.pw-show a:hover{color:var(--teal-d,#007c7c)}
.pw-show .pw-on{color:var(--ink,#101f30);font-weight:800}
.pw-view{display:flex;gap:6px}
.pw-vbtn{display:grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:9px;background:none;color:#9aa7b4;cursor:pointer;transition:background .15s,color .15s}
.pw-vbtn:hover{color:var(--ink,#101f30)}
.pw-vbtn.pw-on{color:var(--ink,#101f30);background:#e9eef3}
.pw-toolbar .woocommerce-ordering{margin-left:4px}
.pw-toolbar .woocommerce-ordering select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:#fff}

/* fixed columns + view switching (list / 3 / 4 columns) */
.pw-shop ul.products{grid-template-columns:repeat(3,1fr)}
.pw-shop ul.products.pw-v-4{grid-template-columns:repeat(4,1fr)}
.pw-shop ul.products.pw-v-list{display:block}
.pw-shop ul.products.pw-v-list li.product{display:flex;gap:22px;align-items:flex-start;background:#fff;border:1px solid var(--line,#e7ebf0);border-radius:14px;padding:16px;margin-bottom:16px}
.pw-shop ul.products.pw-v-list li.product .thumb{width:190px;flex:none}
.pw-shop ul.products.pw-v-list li.product .thumb img{width:100%;height:auto;object-fit:cover;border-radius:10px}
.pw-shop ul.products.pw-v-list li.product .body{flex:1;min-width:0}
@media(max-width:1100px){.pw-shop ul.products{grid-template-columns:repeat(3,1fr)}.pw-shop ul.products.pw-v-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.pw-shop ul.products,.pw-shop ul.products.pw-v-4{grid-template-columns:repeat(2,1fr)}.pw-shop ul.products.pw-v-list li.product .thumb{width:150px}}
@media(max-width:600px){.pw-shop ul.products,.pw-shop ul.products.pw-v-4{grid-template-columns:1fr}.pw-shop ul.products.pw-v-list li.product{flex-direction:column}.pw-shop ul.products.pw-v-list li.product .thumb{width:100%}}

/* ===== v1.0.16: pagination — rounded squares, brand-filled current ===== */
.pw-shop .woocommerce-pagination ul{display:flex;gap:8px;list-style:none;justify-content:center;margin:34px 0 10px;padding:0}
.pw-shop .woocommerce-pagination a,
.pw-shop .woocommerce-pagination span{
  display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--line,#e7ebf0);border-radius:11px;background:#fff;
  font-weight:700;font-size:15px;color:var(--ink,#101f30);text-decoration:none;
  transition:border-color .15s,color .15s,background .15s;
}
.pw-shop .woocommerce-pagination a:hover{border-color:var(--teal,#00a6a6);color:var(--teal-d,#007c7c)}
.pw-shop .woocommerce-pagination span.current{background:var(--teal,#00a6a6);color:#fff;border-color:var(--teal,#00a6a6)}


/* ===== v1.0.17: lock the product grid to 3 per row ===== */
.pw-shop ul.products,
.pw-shop ul.products.pw-v-3{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:900px){.pw-shop ul.products{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){.pw-shop ul.products{grid-template-columns:1fr!important}}


/* ===== v1.0.18: remove the big archive title above the toolbar ===== */
.pw-shop .woocommerce-products-header{display:none!important}


/* ===== v1.0.30: hard-lock product thumbnails to fill the card =====
   Note: Storefront parent enqueues the CHILD ROOT style.css (handle
   "storefront-child-style") AFTER this file, so a legacy rule there
   (.product .thumb img{width:62%}) wins on plain specificity. Using
   !important here makes these declarations win regardless of load order.
   List view keeps height:auto so elongated thumbnails stay natural. */
.product .thumb img{width:100%!important;object-fit:cover!important;filter:none!important;border-radius:0!important}
.pw-shop ul.products li.product .thumb img{width:100%!important;object-fit:cover!important;filter:none!important;border-radius:0!important}
.pw-shop ul.products:not(.pw-v-list) li.product .thumb img{height:100%!important}

/* =====================================================================
   v1.0.31: creamgas-style product detail page (body.pw-pdp)
   ===================================================================== */
.pw-pdp div.product{display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr)!important;gap:46px;align-items:start;margin-top:6px}
.pw-pdp div.product .woocommerce-tabs,.pw-pdp div.product .related.products{grid-column:1/-1}

/* --- gallery: vertical thumbnail rail on the left, main image right --- */
.pw-pdp .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important;display:flex;gap:14px;align-items:flex-start}
.pw-pdp .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{flex:1;min-width:0;margin:0;position:relative;background:#fff}
.pw-pdp .woocommerce-product-gallery .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;object-fit:contain!important;border-radius:6px}
.pw-pdp .flex-control-thumbs{flex:none;order:-1;width:88px;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.pw-pdp .flex-control-thumbs li{width:100%;list-style:none;line-height:0}
.pw-pdp .flex-control-thumbs img{width:100%;height:84px;object-fit:cover;border:1.5px solid #e3e7ee;border-radius:10px;cursor:pointer;opacity:1;transition:border-color .15s}
.pw-pdp .flex-control-thumbs img.flex-active{border-color:var(--ink,#101f30)}
.pw-gal-nav button{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:none;background:#fff;box-shadow:0 4px 14px rgba(16,31,48,.14);font-size:24px;line-height:1;color:#333;cursor:pointer;z-index:5;display:grid;place-items:center}
.pw-gal-nav .pw-gal-prev{left:10px}
.pw-gal-nav .pw-gal-next{right:10px}
.pw-gal-nav button:hover{color:#000}
.pw-zoom{position:absolute;left:14px;bottom:14px;width:38px;height:38px;border-radius:50%;border:none;background:#fff;box-shadow:0 4px 14px rgba(16,31,48,.14);display:grid;place-items:center;color:#5a6572;cursor:pointer;z-index:5}

/* --- summary column --- */
.pw-pdp .summary{float:none!important;width:100%!important;margin:0!important}
.pw-pdp .product_title{font-size:26px;font-weight:800;line-height:1.3;color:var(--ink,#101f30);margin-bottom:14px}

/* badges row */
.pw-badges{display:flex;gap:8px;margin:0 0 12px}
.pw-badge{font-size:12px;font-weight:800;padding:4px 11px;border-radius:999px;color:#fff;letter-spacing:.2px}
.pw-badge-sale{background:#2f6bea}
.pw-badge-hot{background:#f0453c}
.pw-badge-new{background:#56c22d}

/* feature bullets (short description) */
.pw-pdp .woocommerce-product-details__short-description{margin:0 0 6px}
.pw-pdp .woocommerce-product-details__short-description ul{margin:0;padding-left:20px}
.pw-pdp .woocommerce-product-details__short-description li{color:#5a6572;font-size:14.5px;line-height:1.75;margin:4px 0}
.pw-pdp .woocommerce-product-details__short-description li::marker{color:#9aa7b4}
.pw-pdp .woocommerce-product-details__short-description b,.pw-pdp .woocommerce-product-details__short-description strong{color:var(--ink,#101f30)}

/* rating + sku */
.pw-pdp .woocommerce-product-rating{margin:8px 0 2px}
.pw-pdp .star-rating::before,.pw-pdp .star-rating span::before{color:#f7a417}
.pw-pdp .woocommerce-review-link{color:#5a6572}
.pw-sku-row{text-align:right;font-size:13px;color:#5a6572;margin:-6px 0 4px}

/* event banner */
.pw-event{display:flex;align-items:center;gap:12px;background:#eef4ff;border:1px solid #dfe9ff;border-radius:12px;padding:14px 16px;margin:14px 0}
.pw-event-ic{flex:none;width:38px;height:38px;border-radius:50%;background:#e0ecff;display:grid;place-items:center;color:#2f6bea}
.pw-event-txt{display:flex;flex-direction:column;min-width:0}
.pw-event-txt b{font-size:15px;color:var(--ink,#101f30)}
.pw-event-txt span{font-size:13px;color:#7a8694;margin-top:2px}
.pw-event .pw-coupon{margin-left:auto;flex:none;border:1px dashed #2f6bea;color:#2f6bea;background:#fff;border-radius:8px;padding:9px 14px;font-weight:700;font-size:13px}

/* price */
.pw-pdp .summary .price{color:#2f6bea!important;font-size:30px!important;font-weight:800;margin:12px 0 4px}
.pw-pdp .summary .price::after{content:" /pcs";color:#9aa7b4;font-size:15px;font-weight:600}
.pw-pdp .summary .price del{opacity:.55;font-size:.7em;color:#9aa7b4!important}
.pw-pdp .summary .price ins{text-decoration:none}

/* ordered / available progress */
.pw-progress{display:block;margin:6px 0 16px}
.pw-progress-labels{display:flex;gap:22px;font-size:13px;color:#5a6572}
.pw-progress-labels b{color:var(--ink,#101f30)}
.pw-track{display:block;height:6px;background:#e8ecf2;border-radius:99px;margin-top:8px;overflow:hidden}
.pw-track i{display:block;height:100%;background:#2f6bea;border-radius:99px}

/* options / variations select */
.pw-pdp table.variations{margin:6px 0 14px}
.pw-pdp table.variations td{padding:6px 0}
.pw-pdp table.variations label{font-size:14px;font-weight:600;color:var(--ink,#101f30)}
.pw-pdp table.variations select,.pw-pdp .variations_form .reset_variations{min-width:210px;padding:10px 12px;border:1px solid #dfe3ea;border-radius:8px;font:inherit;font-size:14px;background:#fff}

/* qty stepper + buttons */
.pw-pdp form.cart{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;margin:16px 0 8px}
.pw-pdp form.cart .quantity{display:inline-flex!important;align-items:center;border:1px solid #dfe3ea;border-radius:10px;overflow:hidden;background:#fff;float:none!important;margin:0!important}
.pw-pdp form.cart .quantity .qty{width:52px!important;height:48px;border:none!important;text-align:center;font-weight:700;font-size:15px;padding:0}
.pw-pdp form.cart .quantity .pw-qbtn{width:38px;height:48px;border:none;background:#fff;font-size:18px;color:#333;cursor:pointer;padding:0}
.pw-pdp form.cart .quantity .pw-qbtn:hover{background:#f3f6fa}
.pw-pdp form.cart .single_add_to_cart_button{flex:1 1 200px;min-height:48px;background:#2f6bea!important;color:#fff!important;border:none!important;border-radius:10px!important;font-weight:800!important;font-size:15px!important;padding:12px 30px!important}
.pw-pdp form.cart .single_add_to_cart_button:hover{background:#2559c8!important}
.pw-pdp form.cart .pw-buy-now{flex:1 1 160px;min-height:48px;background:#6cb33f!important;color:#fff!important;border:none!important;border-radius:10px!important;font-weight:800!important;font-size:15px!important;padding:12px 30px!important;cursor:pointer}
.pw-pdp form.cart .pw-buy-now:hover{background:#5c9d33!important}

/* responsive */
@media(max-width:900px){
  .pw-pdp div.product{grid-template-columns:1fr!important;gap:26px}
  .pw-pdp .woocommerce-product-gallery{flex-direction:column}
  .pw-pdp .flex-control-thumbs{order:2;flex-direction:row;width:100%;overflow-x:auto;padding-bottom:4px}
  .pw-pdp .flex-control-thumbs img{width:72px;height:72px}
}

/* =====================================================================
   v1.0.32: PDP layout fixes
   - kill the blog sidebar on single product pages, content full width
   - hide the "/pcs" suffix when the price is empty (no variation prices)
   ===================================================================== */
.pw-pdp .widget-area{display:none!important}
.pw-pdp .content-area{float:none!important;width:100%!important}
.pw-pdp #content .col-full{max-width:1240px}
.pw-pdp .summary .price:empty::after{content:none!important}

/* =====================================================================
   v1.0.33: assurance row (warranty / 30-day returns) + payment methods
   ===================================================================== */
.pw-assure{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:8px 0 2px}
.pw-assure-item{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#5a6572}
.pw-assure-item svg{color:#3aa4d8;flex:none}
.pw-assure-link{font-size:13px;color:#2f6bea;text-decoration:underline}
.pw-pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 0;font-size:13px;color:#5a6572}
.pw-pay-label{font-weight:600;color:var(--ink,#101f30);margin-right:2px}
.pw-pay-chip{border:1px solid #e3e7ee;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:700;color:#5a6572;background:#fff}

/* =====================================================================
   v1.0.34: PDP layout per reference —
   1) breadcrumb as a standalone full-width row
   2) gallery left / summary right (existing)
   3) below: Description (left) + Specification (right)
   4) reviews full-width below
   ===================================================================== */

/* --- 1. breadcrumb row --- */
.pw-pdp .storefront-breadcrumb{padding:16px 0 0;margin:0 0 18px;background:transparent}
.pw-pdp .storefront-breadcrumb .col-full{max-width:1240px;margin:0;padding:12px 20px;background:#fff;border:1px solid #e3e7ee;border-radius:10px}
.pw-pdp nav.woocommerce-breadcrumb{position:relative;margin:0;font-size:13.5px;color:#8a94a2;padding-right:84px;line-height:1.6}
.pw-pdp nav.woocommerce-breadcrumb a{color:#5a6572;text-decoration:none}
.pw-pdp nav.woocommerce-breadcrumb a:hover{color:#2f6bea}
.pw-pdp .breadcrumb-separator{margin:0 8px;color:#c3cbd5}
.pw-pdp .pw-pn{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;gap:8px}
.pw-pdp .pw-pn a,.pw-pdp .pw-pn span{width:30px;height:30px;border:1px solid #e3e7ee;border-radius:8px;display:grid;place-items:center;font-size:16px;line-height:1;color:#5a6572;background:#fff;text-decoration:none}
.pw-pdp .pw-pn a:hover{border-color:#2f6bea;color:#2f6bea}
.pw-pdp .pw-pn .pw-pn-off{opacity:.4;cursor:default}

/* --- 3+4. tabs area: two-column Description | Specification, reviews below --- */
.pw-pdp .woocommerce-tabs{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:0 46px;margin-top:38px;padding-top:34px;border-top:1px solid #e7ebf1;align-items:start}
.pw-pdp .woocommerce-tabs ul.tabs{display:none!important}
.pw-pdp .woocommerce-tabs .woocommerce-Tabs-panel{display:block!important;width:100%!important;margin:0!important;padding:0!important;box-shadow:none}
.pw-pdp #tab-description{grid-column:1;grid-row:1}
.pw-pdp #tab-additional_information{grid-column:2;grid-row:1}
.pw-pdp #tab-reviews{grid-column:1/-1;grid-row:2;margin-top:34px!important;padding-top:30px!important;border-top:1px solid #e7ebf1}

/* panel headings (tabs nav hidden, so inject titles) */
.pw-pdp .woocommerce-Tabs-panel::before{display:block;font-size:20px;font-weight:800;color:var(--ink,#101f30);margin-bottom:14px}
.pw-pdp #tab-description::before{content:"Description"}
.pw-pdp #tab-additional_information::before{content:"Specification"}
.pw-pdp #tab-reviews::before{content:"Customer Reviews"}

/* description body */
.pw-pdp #tab-description{color:#5a6572;font-size:14.5px;line-height:1.85}
.pw-pdp #tab-description h2,.pw-pdp #tab-description h3{color:var(--ink,#101f30);font-size:16px;margin:18px 0 8px}
.pw-pdp #tab-description p{margin:0 0 12px}
.pw-pdp #tab-description ul{margin:0 0 12px;padding-left:20px}

/* specification attribute table */
.pw-pdp table.woocommerce-product-attributes{margin:0;border-collapse:separate;border-spacing:0;border:1px solid #e7ebf1;border-radius:10px;overflow:hidden;font-size:14px}
.pw-pdp table.woocommerce-product-attributes th,.pw-pdp table.woocommerce-product-attributes td{padding:11px 16px;border-bottom:1px solid #eef1f5;vertical-align:top}
.pw-pdp table.woocommerce-product-attributes tr:last-child th,.pw-pdp table.woocommerce-product-attributes tr:last-child td{border-bottom:none}
.pw-pdp table.woocommerce-product-attributes th{font-weight:700;color:var(--ink,#101f30);background:#f8fafc;width:40%}
.pw-pdp table.woocommerce-product-attributes td{color:#5a6572}
.pw-pdp table.woocommerce-product-attributes p{margin:0}

/* reviews */
.pw-pdp #reviews #comments{margin:0}
.pw-pdp #reviews ol.commentlist{list-style:none;margin:0 0 20px;padding:0}
.pw-pdp #reviews .comment_container{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #eef1f5}
.pw-pdp #reviews img.avatar{border-radius:50%;width:48px!important;height:48px!important}
.pw-pdp #reviews .comment-text{flex:1;min-width:0}
.pw-pdp #reviews .comment-text .meta{color:#8a94a2;font-size:13px;margin-bottom:4px}
.pw-pdp #reviews .comment-text .meta strong{color:var(--ink,#101f30);font-size:14.5px}
.pw-pdp #reviews .comment-text .description{color:#5a6572;font-size:14px;line-height:1.75}
.pw-pdp #reviews .star-rating::before,.pw-pdp #reviews .star-rating span::before{color:#f7a417}
.pw-pdp #reviews .comment-reply-title{display:block;font-size:15px;font-weight:700;color:var(--ink,#101f30);margin:14px 0 10px}
.pw-pdp #reviews .comment-form label{font-size:13.5px;color:#5a6572}
.pw-pdp #reviews .comment-form input[type=text],.pw-pdp #reviews .comment-form input[type=email],.pw-pdp #reviews .comment-form textarea{border:1px solid #dfe3ea;border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;width:100%}
.pw-pdp #reviews .comment-form .submit{background:#2f6bea!important;color:#fff!important;border:none!important;border-radius:10px!important;font-weight:800!important;font-size:14px!important;padding:12px 28px!important;cursor:pointer}
.pw-pdp #reviews .comment-form .submit:hover{background:#2559c8!important}

/* responsive */
@media(max-width:900px){
  .pw-pdp .woocommerce-tabs{grid-template-columns:1fr;gap:0}
  .pw-pdp #tab-description{grid-column:1;grid-row:1}
  .pw-pdp #tab-additional_information{grid-column:1;grid-row:2;margin-top:30px!important}
  .pw-pdp #tab-reviews{grid-column:1;grid-row:3}
}
