/* =========================================================
   Pixel Dental Supply — WooCommerce Layout (from scratch)
   Fixes: "empty card" / uneven first row / clean product pages
   ========================================================= */

/* Lazy Loading Placeholder - Only for WooCommerce product images in product listings and galleries */
.woocommerce ul.products img[loading="lazy"],
.woocommerce-page ul.products img[loading="lazy"],
.woocommerce .products img[loading="lazy"],
.woocommerce-page .products img[loading="lazy"],
.pds-woo ul.products img[loading="lazy"],
.pds-woo .products img[loading="lazy"],
.woocommerce li.product img[loading="lazy"],
.woocommerce-page li.product img[loading="lazy"],
.woocommerce-product-gallery img[loading="lazy"]{
  background: url('https://pixeldentalsupply.com/wp-content/uploads/cropped-PDS-Logo-Square-1.png') center center no-repeat;
  background-size: contain;
  background-color: #f8f9fa;
  min-height: 150px;
  opacity: 0.5;
  animation: pds-pulse 1.5s ease-in-out infinite;
  transition: opacity 0.3s ease, background 0.3s ease;
}

.woocommerce ul.products img[loading="lazy"].pds-loaded,
.woocommerce-page ul.products img[loading="lazy"].pds-loaded,
.woocommerce .products img[loading="lazy"].pds-loaded,
.woocommerce-page .products img[loading="lazy"].pds-loaded,
.pds-woo ul.products img[loading="lazy"].pds-loaded,
.pds-woo .products img[loading="lazy"].pds-loaded,
.woocommerce li.product img[loading="lazy"].pds-loaded,
.woocommerce-page li.product img[loading="lazy"].pds-loaded,
.woocommerce-product-gallery img[loading="lazy"].pds-loaded{
  opacity: 1 !important;
  animation: none !important;
  background: none !important;
}

@keyframes pds-pulse{
  0%, 100%{
    opacity: 0.3;
  }
  50%{
    opacity: 0.6;
  }
}

/* WooCommerce placeholder image for products without images - ONLY in product listings & single product */
ul.products li.product img.woocommerce-placeholder,
ul.products li.product > a > img[src*="cropped-PDS-Logo-Square-1"],
ul.products li.product .woocommerce-LoopProduct-link > img[src*="cropped-PDS-Logo-Square-1"],
.woocommerce-product-gallery__image img[src*="cropped-PDS-Logo-Square-1"],
.single-product .product .woocommerce-product-gallery img[src*="cropped-PDS-Logo-Square-1"] {
  opacity: 0.35 !important;
  filter: grayscale(20%) !important;
  background-color: #f5f7f9 !important;
  padding: 15% !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
}

/* Page wrapper */
.pds-woo,
.woocommerce-page .pds-woo{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 8px 28px;
}

/* Breadcrumbs */
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 0 12px !important;
  padding: 4px 0 !important;
  font-size: 13px;
  font-weight: 600;
  color: rgba(4,16,42,.55) !important;
  background: none !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.woocommerce-breadcrumb a,
nav.woocommerce-breadcrumb a{
  color: var(--pds-teal-dark) !important;
  text-decoration: none;
  transition: color 0.2s;
  font-weight: 600;
}

.woocommerce-breadcrumb a:hover,
nav.woocommerce-breadcrumb a:hover{
  color: var(--pds-teal) !important;
}

/* ----------- SHOP / ARCHIVE ----------- */

/* Remove Woo clearfix pseudo-elements that become "grid items" */
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  content: none !important;
  display: none !important;
}

/* Grid layout */
.woocommerce ul.products,
.woocommerce-page ul.products{
  list-style: none !important;
  padding: 0 !important;
  margin: 12px 0 0 !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;

  /* Prevent the grid from flowing beside floated toolbar elements
     (fixes first row showing fewer products). */
  clear: both !important;
}

@media (max-width: 1020px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* Ensure NO phantom items */

/* Hide any non-product <li> items that Woo may output for legacy clearing */
.woocommerce ul.products > li:not(.product){
  display: none !important;
}

.woocommerce ul.products > li:empty{
  display: none !important;
}

/* Hide category tiles on main shop (prevents first-row "3 items") */
body.post-type-archive-product .woocommerce ul.products li.product-category,
body.tax-product_cat .woocommerce ul.products li.product-category{
  display: none !important;
}

/* Product cards */
.woocommerce ul.products li.product{
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  clear: none !important;

  background: rgba(255,255,255,.96);
  border: 1px solid rgba(4,16,42,.08);
  border-radius: var(--pds-radius-md);
  box-shadow: var(--pds-shadow-1);
  overflow: hidden;
  padding: 10px !important;

  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: transform .18s ease, box-shadow .18s ease;
}

.woocommerce ul.products li.product:hover{
  transform: translateY(-3px);
  box-shadow: var(--pds-shadow-2);
}

/* Product image */
.woocommerce ul.products li.product a img{
  border-radius: 12px;
  box-shadow: 0 6px 12px rgba(4,16,42,.06);
  aspect-ratio: 1 / 1;
  object-fit: contain;
  width: 85%;
  height: auto;
  display: block;
  margin: 0 auto;
  background: #f8f9fa;
}

/* Title + price alignment */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color: rgba(4,16,42,.82);
  font-weight: 850;
  font-size: 13px;
  line-height: 1.35;

  /* show more title, keep price aligned */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 2.7em; /* ~2 lines */
  margin: -20px 0 0 0 !important;
  word-break: break-word;
  position: relative;
}

/* Smooth gradient fade for truncated titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1em;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.96) 80%);
  pointer-events: none;
}

.woocommerce ul.products li.product .price{
  margin: 0 !important;
  font-weight: 950;
  color: var(--pds-teal-dark);
  font-size: 14px;
  line-height: 1.1;
  display: inline-block;
  background: rgba(31,163,173,.12);
  padding: 4px 8px;
  border-radius: 999px;
  width: fit-content;
}

.woocommerce ul.products li.product .price del{
  color: rgba(4,16,42,.45);
  font-weight: 650;
  margin-right: 8px;
}
.woocommerce ul.products li.product .price ins{
  color: var(--pds-teal-dark);
  text-decoration: none;
}

/* Button */
.woocommerce ul.products li.product .button{
  margin-top: auto !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-weight: 900 !important;
  font-size: 12px !important;
}

/* Mobile: 2 per row spacing without touching */
@media (max-width: 600px){
  .woocommerce ul.products li.product{
    padding: 8px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size: 14px;
  }
}

/* Brand on product cards */
.pds-loop-brand{
  display: flex;
  align-items: center;
  margin-bottom: 0;
}

.woocommerce ul.products li.product .pds-loop-brand-logo{
  display: block;
  height: 55px;
  width: auto;
  object-fit: cover;
  object-position: left;
  clip-path: inset(10px 0px 10px 0px);
  margin: -10px 0 -5px 0;
  aspect-ratio: auto;
  border-radius: 0;
  box-shadow: none;
  background: none;
}

.pds-loop-brand-name{
  font-size: 10px;
  font-weight: 700;
  color: rgba(4,16,42,.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ----------- SINGLE PRODUCT ----------- */

/* Two-column layout: Gallery left, Info right */
.pds-product-main{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-bottom: 50px;
  align-items: start;
}

.pds-product-gallery{
  grid-column: 1;
}

/* Product Gallery Thumbnails */
.flex-control-thumbs{
  margin-top: 16px !important;
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.flex-control-thumbs li{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: calc(20% - 10px) !important;
  cursor: pointer !important;
}

.flex-control-thumbs li img{
  border: 2px solid rgba(4,16,42,0.12) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(4,16,42,0.06) !important;
  transition: all 0.2s ease !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.flex-control-thumbs li img:hover{
  border-color: var(--pds-teal-dark) !important;
  box-shadow: 0 6px 16px rgba(31,163,173,0.2) !important;
}

.flex-control-thumbs li.flex-active-slide img{
  border-color: var(--pds-teal-dark) !important;
  box-shadow: 0 4px 12px rgba(31,163,173,0.2) !important;
}

.pds-product-info{
  grid-column: 2;
  display: flex;
  flex-direction: column;
}

/* Smart sticky - applied by JavaScript to whichever column is shorter */
.pds-sticky-column{
  position: sticky !important;
  top: 120px !important;
  align-self: start !important;
}

/* Mobile: Stack vertically */
@media (max-width: 768px){
  .pds-product-main{
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .pds-product-gallery,
  .pds-product-info{
    grid-column: 1;
  }

  .pds-sticky-column{
    position: static !important;
  }
}

/* Override WooCommerce defaults */
.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  float: none;
  width: 100%;
  margin: 0;
}

/* Product Info Styling */
.pds-product-brand{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0 !important;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.pds-product-brand .pds-brand-logo{
  max-height: 80px;
  max-width: 240px;
  width: auto;
  height: 80px;
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0;
  clip-path: inset(10px 0px 10px 0px);
}

.pds-product-brand .pds-brand-name{
  font-weight: 800;
  color: var(--pds-ink);
}

.woocommerce div.product .product_title{
  font-size: 32px;
  font-weight: 700;
  margin: -16px 0 16px 0 !important;
  padding: 0 !important;
  line-height: 1.2;
  color: var(--pds-ink);
}

.pds-product-sku{
  margin-bottom: 20px;
  font-size: 13px;
  color: rgba(4,16,42,.6);
}

.pds-product-sku .pds-sku-label{
  font-weight: 600;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.5px;
}

.pds-product-sku .pds-sku-value{
  font-family: monospace;
  font-weight: 500;
}

/* Price Container */
.woocommerce div.product .woocommerce-variation-price,
.woocommerce div.product > p.price:not(.product-type-variable p.price){
  margin: 28px 0 20px 0 !important;
}

/* Price Styling - Prominent */
.woocommerce div.product p.price{
  font-size: 44px !important;
  font-weight: 900 !important;
  color: var(--pds-teal-dark) !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, #f0fdfa 0%, #ccfbf1 100%) !important;
  border: 2px solid rgba(31,163,173,0.2) !important;
  border-radius: 10px !important;
  display: inline-block !important;
  box-shadow: 0 2px 10px rgba(31,163,173,0.08) !important;
  max-width: fit-content !important;
}

.woocommerce div.product p.price ins{
  text-decoration: none !important;
  color: var(--pds-teal-dark) !important;
  font-weight: 900 !important;
}

.woocommerce div.product p.price del{
  opacity: 0.35 !important;
  margin-right: 14px !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: rgba(4,16,42,0.4) !important;
}

/* Hide price range on variable products */
.woocommerce div.product.product-type-variable > p.price{
  display: none !important;
}

/* Show and style single variation price */
.woocommerce div.product .woocommerce-variation-price .price{
  display: inline-block !important;
  font-size: 44px !important;
  font-weight: 900 !important;
  color: var(--pds-teal-dark) !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, #f0fdfa 0%, #ccfbf1 100%) !important;
  border: 2px solid rgba(31,163,173,0.2) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 10px rgba(31,163,173,0.08) !important;
  max-width: fit-content !important;
}

/* Stock Status Styling - Subtle */
.woocommerce div.product p.stock{
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: inline-block !important;
  background: none !important;
  opacity: 0.7 !important;
}

.woocommerce div.product p.stock.in-stock{
  color: #059669 !important;
}

.woocommerce div.product p.stock.out-of-stock{
  color: #991b1b !important;
  background: #fee2e2 !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  border: 2px solid #fecaca !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  display: inline-block !important;
  margin: 12px 0 !important;
}

.woocommerce div.product p.stock.available-on-backorder{
  color: #d97706 !important;
}

/* Variation Selection Styling */
.woocommerce div.product form.cart{
  margin-top: 24px !important;
}

.woocommerce div.product form.cart .variations,
table.variations{
  margin-bottom: 20px !important;
  border: none !important;
}

.woocommerce div.product form.cart .variations tr,
table.variations tbody tr{
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 16px !important;
  border: none !important;
}

.woocommerce div.product form.cart .variations td.label,
table.variations tbody tr td.label{
  padding: 0 0 6px 0 !important;
  display: block !important;
  border: none !important;
}

.woocommerce div.product form.cart .variations td.label label,
table.variations tbody tr td.label label{
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: var(--pds-ink) !important;
  margin: 0 !important;
}

.woocommerce div.product form.cart .variations td.value,
table.variations tbody tr td.value{
  padding: 0 !important;
  display: block !important;
  border: none !important;
}

.woocommerce div.product form.cart .variations select,
table.variations select{
  width: 100% !important;
  height: 64px !important;
  padding: 0 50px 0 20px !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--pds-ink) !important;
  background-color: #fff !important;
  border: 2px solid rgba(4,16,42,.2) !important;
  border-radius: 10px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L8 10.5L15 1.5' stroke='%2304102A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 20px center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.woocommerce div.product form.cart .variations select:hover,
table.variations select:hover{
  border-color: rgba(4,16,42,.25) !important;
}

.woocommerce div.product form.cart .variations select:focus,
table.variations select:focus{
  outline: none !important;
  border-color: var(--pds-teal) !important;
  box-shadow: 0 0 0 3px rgba(31,163,173,.1) !important;
}

/* Hide the "Clear" link */
.woocommerce div.product form.cart .reset_variations,
a.reset_variations{
  display: none !important;
}

.woocommerce div.product form.cart .quantity{
  margin-right: 12px;
  position: relative;
}

.woocommerce div.product form.cart .quantity .qty-input-wrapper{
  display: inline-flex;
  align-items: center;
  border: 2px solid rgba(4,16,42,.15);
  border-radius: 8px;
  overflow: hidden;
}

.woocommerce div.product form.cart .quantity input.qty{
  width: 60px;
  height: 44px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  border: none;
  padding: 0;
  margin: 0;
  -moz-appearance: textfield;
}

.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce div.product form.cart .quantity .qty-btn{
  width: 36px;
  height: 44px;
  background: rgba(4,16,42,.04);
  border: none;
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  color: var(--pds-ink);
  transition: background 0.2s ease;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce div.product form.cart .quantity .qty-btn:hover{
  background: rgba(4,16,42,.08);
}

.woocommerce div.product form.cart .quantity .qty-btn:active{
  background: rgba(4,16,42,.12);
}

.woocommerce div.product form.cart .single_add_to_cart_button{
  height: 48px;
  padding: 0 32px;
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #fff;
  background: linear-gradient(to bottom, var(--pds-teal), var(--pds-teal-dark));
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(31,163,173,.2);
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover{
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(31,163,173,.3);
}

.woocommerce div.product form.cart .single_add_to_cart_button:active{
  transform: translateY(0);
}


/* ----------- SIDEBAR LAYOUT ----------- */

/* Container for sidebar + main content */
.pds-woo-container{
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  align-items: flex-start !important;
}

/* No sidebar layout (single product pages) */
.pds-woo-container.no-sidebar{
  display: block !important;
}

.pds-woo-container.no-sidebar .pds-woo{
  max-width: 100% !important;
}

/* Sidebar styling */
.pds-woo-container #secondary.widget-area,
.pds-woo-container .woocommerce-sidebar{
  flex: 0 0 260px !important;
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  padding: 0;
  position: sticky;
  top: 20px;
  order: 1 !important;
}

/* Widget styling - each widget gets its own container */
.pds-woo-container .widget-area .widget{
  margin-bottom: 16px;
  padding: 12px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(4,16,42,.08);
  border-radius: var(--pds-radius-lg);
  box-shadow: var(--pds-shadow-1);
}

.pds-woo-container .widget-area .widget:last-child{
  margin-bottom: 0;
}

/* Filter widget - remove extra padding/border since it has its own styling */
.pds-woo-container .widget-area .widget_product_filter{
  padding: 0 !important;
  margin-bottom: 16px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(4,16,42,.08) !important;
  border-radius: var(--pds-radius-lg) !important;
  box-shadow: var(--pds-shadow-1) !important;
}

/* General widget titles - with negative margins for widgets that have padding */
.pds-woo-container .widget-area .widget:not(.widget_product_filter) .widget-title{
  background:
    linear-gradient(to bottom, rgba(31,163,173,.85), rgba(17,123,132,.92)),
    url("https://pixeldentalsupply.com/wp-content/uploads/footer.jpg") center/cover no-repeat !important;
  color: white !important;
  margin: -12px -12px 6px -12px !important;
  padding: 8px 14px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0,0,0,.15);
  border-bottom: 3px solid rgba(255,255,255,.25);
  border-radius: var(--pds-radius-lg) var(--pds-radius-lg) 0 0 !important;
}

/* Compact content inside WooCommerce widgets (not Categories) */
.pds-woo-container .widget-area .widget:not(.widget_product_filter) ul{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) li{
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  line-height: 1.3;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) a{
  display: block;
  padding: 4px 6px !important;
  font-size: 13px !important;
  text-decoration: none;
  transition: all .2s ease;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) label{
  font-size: 13px !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  line-height: 1.3;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .price_slider_wrapper{
  padding: 8px 0 !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .price_slider_amount{
  margin-top: 8px !important;
  font-size: 12px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) button,
.pds-woo-container .widget-area .widget:not(.widget_product_filter) .button{
  padding: 4px 10px !important;
  font-size: 12px !important;
  margin: 4px 0 0 0 !important;
}

/* Compact WooCommerce Block Filters */
.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filters__overlay-content{
  padding: 0 !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) h3.wp-block-heading{
  font-size: 14px !important;
  margin-top: 4px !important;
  margin-bottom: 4px !important;
  padding: 0 !important;
  font-weight: 700 !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wp-block-woocommerce-product-filter-price,
.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wp-block-woocommerce-product-filter-status{
  margin-bottom: 6px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-price-slider__content{
  padding: 6px 0 !important;
  gap: 8px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-price-slider__range{
  margin-bottom: 8px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-price-slider__left,
.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-price-slider__right{
  font-size: 12px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-price-slider input[type="text"]{
  padding: 2px 4px !important;
  font-size: 12px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-checkbox-list__items{
  gap: 2px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-checkbox-list__item{
  margin-bottom: 2px !important;
  padding: 0 !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-checkbox-list__label{
  font-size: 13px !important;
  padding: 2px 0 !important;
  gap: 4px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-checkbox-list__input-wrapper{
  width: 16px !important;
  height: 16px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-checkbox-list__input{
  width: 16px !important;
  height: 16px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wp-block-button__link{
  padding: 3px 6px !important;
  font-size: 12px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wp-block-woocommerce-product-filter-active{
  margin-top: 4px !important;
  margin-bottom: 4px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-removable-chips{
  margin-bottom: 4px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-removable-chips__items{
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-removable-chips__item{
  margin: 0 !important;
  padding: 2px 6px !important;
  font-size: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-removable-chips__label{
  font-size: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-removable-chips__remove{
  padding: 2px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) .wc-block-product-filter-removable-chips__remove-icon{
  width: 12px !important;
  height: 12px !important;
}

.pds-woo-container .widget-area .widget:not(.widget_product_filter) fieldset{
  margin: 0 !important;
  padding: 0 !important;
}

/* Main content area */
.pds-woo-container .pds-woo{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  order: 2 !important;
}

/* Placeholder widget styling */
.pds-woo-container .widget-placeholder{
  color: rgba(4,16,42,.65);
  font-size: 14px;
  line-height: 1.6;
}

.pds-woo-container .widget-placeholder p{
  margin: 0;
}

.pds-woo-container .widget-placeholder strong,
.pds-woo-container .widget-placeholder em{
  color: rgba(4,16,42,.82);
}

/* Desktop: Ensure two-column layout */
@media (min-width: 901px){
  .pds-woo-container{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }

  .pds-woo-container #secondary.widget-area,
  .pds-woo-container .woocommerce-sidebar{
    flex: 0 0 260px !important;
    width: 260px !important;
    order: 1 !important;
  }

  .pds-woo-container .pds-woo{
    flex: 1 1 auto !important;
    order: 2 !important;
  }

  /* Remove top margin on shop and catalog pages */
  .pds-woo-container .pds-woo{
    margin-top: 0 !important;
  }

  /* Remove top margin from page titles on shop and catalog pages */
  .woocommerce-products-header,
  .woocommerce-products-header__title,
  .page-title{
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Responsive: Stack sidebar below content on smaller screens */
@media (max-width: 900px){
  .pds-woo-container{
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }

  .pds-woo-container #secondary.widget-area,
  .pds-woo-container .woocommerce-sidebar{
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    position: static !important;
    order: 2 !important;
  }

  .pds-woo-container .pds-woo{
    flex: 1 1 auto !important;
    width: 100% !important;
    order: 1 !important;
  }
}

/* ----------- CATEGORY TREE WIDGET ----------- */

/* Product categories list */
.widget_product_categories ul.product-categories{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* All category items */
.widget_product_categories .product-categories li{
  margin: 0;
  padding: 0;
  line-height: 1.4;
}

/* Category links */
.widget_product_categories .product-categories a{
  display: block;
  padding: 8px 12px;
  color: rgba(4,16,42,.75);
  text-decoration: none;
  border-radius: 8px;
  transition: all .18s ease;
  font-size: 14px;
  font-weight: 600;
}

.widget_product_categories .product-categories a:hover{
  background: rgba(31,163,173,.10);
  color: var(--pds-teal-dark);
  padding-left: 16px;
}

/* Current category highlighting */
.widget_product_categories .product-categories li.current-cat > a,
.widget_product_categories .product-categories li.current-cat-parent > a{
  background: rgba(31,163,173,.16);
  color: var(--pds-teal-dark);
  font-weight: 850;
  padding-left: 16px;
  border-left: 3px solid var(--pds-teal-dark);
}

/* Product count badge - hidden */
.widget_product_categories .product-categories .count,
.filter-section .product-categories .count,
.product-categories .count{
  display: none !important;
}

/* Child categories (nested tree structure) */
.widget_product_categories .product-categories ul.children{
  list-style: none;
  margin: 4px 0 4px 0;
  padding: 0;
}

/* Indent child categories */
.widget_product_categories .product-categories .children li{
  margin-left: 16px;
  padding-left: 12px;
  border-left: 2px solid rgba(4,16,42,.08);
}

.widget_product_categories .product-categories .children .children li{
  margin-left: 16px;
}

/* Child category links - slightly smaller */
.widget_product_categories .product-categories .children a{
  font-size: 13px;
  padding: 6px 10px;
}

/* Ensure all categories are always expanded */
.widget_product_categories .product-categories ul.children{
  display: block !important;
}

/* ----------- FILTER WIDGET STYLING ----------- */

/* Filter widget container */
.widget_product_filter{
  padding: 0 !important;
  overflow: hidden;
}

/* Filter main title */
.widget_product_filter .widget-title{
  background:
    linear-gradient(to bottom, rgba(31,163,173,.85), rgba(17,123,132,.92)),
    url("https://pixeldentalsupply.com/wp-content/uploads/footer.jpg") center/cover no-repeat !important;
  color: white !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0,0,0,.15);
  border-bottom: 3px solid rgba(255,255,255,.25);
  border-radius: var(--pds-radius-lg) var(--pds-radius-lg) 0 0 !important;
}

/* Filter sections */
.filter-section{
  padding: 12px;
  border-bottom: 1px solid rgba(4,16,42,.06);
}

.filter-section:last-child{
  border-bottom: none;
}

/* Filter section titles (Category, Price, etc) */
.filter-section-title{
  color: rgba(4,16,42,.85);
  font-size: 14px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 14px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid rgba(31,163,173,.20);
  position: relative;
}

.filter-section-title::before{
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 40px;
  height: 2px;
  background: var(--pds-teal-dark);
}

/* Category list within filter */
.filter-section .product-categories{
  list-style: none;
  margin: 0;
  padding: 0;
}

.filter-section .product-categories li{
  margin: 0 0 2px 0;
  padding: 0;
  line-height: 1.2;
}

.filter-section .product-categories li:last-child{
  margin-bottom: 0;
}

.filter-section .product-categories a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 8px;
  color: rgba(4,16,42,.75);
  text-decoration: none;
  border-radius: 4px;
  transition: all .2s ease;
  font-size: 12px;
  font-weight: 600;
  background: rgba(4,16,42,.02);
  border: 1px solid transparent;
  position: relative;
  gap: 6px;
}

.filter-section .product-categories a:hover{
  background: rgba(31,163,173,.12);
  color: var(--pds-teal-dark);
  border-color: rgba(31,163,173,.20);
  transform: translateX(4px);
  box-shadow: 0 2px 8px rgba(31,163,173,.15);
}

/* Current category in filter */
.filter-section .product-categories li.current-cat > a{
  background: linear-gradient(135deg, rgba(31,163,173,.18) 0%, rgba(31,163,173,.12) 100%);
  color: var(--pds-teal-dark);
  font-weight: 850;
  border-color: var(--pds-teal-dark);
  border-left-width: 3px;
  box-shadow: 0 2px 10px rgba(31,163,173,.20);
}

.filter-section .product-categories li.current-cat > a::before{
  content: '▸';
  position: absolute;
  left: -2px;
  color: var(--pds-teal-dark);
  font-size: 12px;
  font-weight: 900;
}

/* Count badge in filter - hidden */
.filter-section .product-categories .count{
  display: none;
}

/* Child categories in filter */
.filter-section .product-categories ul.children{
  list-style: none;
  margin: 4px 0 4px 0;
  padding: 0 0 0 18px;
  display: block !important;
  position: relative;
}

.filter-section .product-categories ul.children::before{
  content: '';
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, rgba(31,163,173,.25) 0%, rgba(31,163,173,.08) 100%);
  border-radius: 999px;
}

.filter-section .product-categories .children li{
  margin: 2px 0;
  padding: 0;
  position: relative;
}

.filter-section .product-categories .children li::before{
  content: '';
  position: absolute;
  left: -10px;
  top: 50%;
  width: 6px;
  height: 6px;
  background: rgba(31,163,173,.30);
  border-radius: 50%;
  transform: translateY(-50%);
}

.filter-section .product-categories .children li.current-cat::before{
  background: var(--pds-teal-dark);
  box-shadow: 0 0 0 2px rgba(31,163,173,.20);
}

.filter-section .product-categories .children .children{
  padding-left: 14px;
}

/* Top level category names - make them stand out */
.filter-section > .product-categories > li > a{
  font-weight: 750;
  font-size: 13px;
  color: rgba(4,16,42,.85);
  padding: 6px 8px;
}

/* Subcategories - more subtle */
.filter-section .product-categories .children a{
  color: rgba(4,16,42,.65);
  font-weight: 500;
  font-size: 11px;
  padding: 4px 8px;
}

/* ----------- PRODUCT TABS (Description & Additional Info) ----------- */

.woocommerce-tabs{
  margin-top: auto !important;
  padding-top: 32px !important;
  border-top: 2px solid rgba(4,16,42,0.08) !important;
  flex-grow: 1 !important;
}

.woocommerce-tabs .tabs{
  display: flex !important;
  gap: 8px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: none !important;
}

.woocommerce-tabs .tabs li{
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

.woocommerce-tabs .tabs li a{
  display: block !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: rgba(4,16,42,0.55) !important;
  background: rgba(4,16,42,0.03) !important;
  border: none !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.woocommerce-tabs .tabs li a:hover{
  color: var(--pds-teal-dark) !important;
  background: rgba(31,163,173,0.08) !important;
}

.woocommerce-tabs .tabs li.active a{
  color: #fff !important;
  background: var(--pds-teal-dark) !important;
}

.woocommerce-tabs .panel{
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-tabs .panel h2{
  display: none !important;
}

.woocommerce-tabs .panel p,
.woocommerce-tabs .panel ul,
.woocommerce-tabs .panel ol{
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: rgba(4,16,42,0.75) !important;
  margin-bottom: 16px !important;
}

.woocommerce-tabs table.shop_attributes{
  width: 100% !important;
  border: none !important;
  margin: 0 !important;
}

.woocommerce-tabs table.shop_attributes tr{
  border-bottom: none !important;
}

.woocommerce-tabs table.shop_attributes tr:nth-child(odd){
  background: rgba(4,16,42,0.03) !important;
}

.woocommerce-tabs table.shop_attributes tr:nth-child(even){
  background: rgba(4,16,42,0.01) !important;
}

.woocommerce-tabs table.shop_attributes tr:last-child{
  border-bottom: none !important;
}

.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td{
  padding: 4px 12px !important;
  font-size: 14px !important;
  border: none !important;
}

.woocommerce-tabs table.shop_attributes th{
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  color: rgba(4,16,42,0.6) !important;
  width: 35% !important;
}

.woocommerce-tabs table.shop_attributes td{
  color: rgba(4,16,42,0.85) !important;
  font-weight: 500 !important;
}

/* ----------- READ MORE FUNCTIONALITY ----------- */

.woocommerce-tabs .panel.pds-has-readmore{
  position: relative !important;
}

.woocommerce-tabs .panel.pds-collapsed{
  max-height: 200px !important;
  overflow: hidden !important;
}

.woocommerce-tabs .panel.pds-collapsed::after{
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 120px !important;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.95) 70%, rgba(255,255,255,1) 100%) !important;
  pointer-events: none !important;
}

.pds-readmore-btn{
  position: absolute !important;
  bottom: 12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 10 !important;
  padding: 8px 24px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: var(--pds-teal-dark) !important;
  background: #fff !important;
  border: 2px solid var(--pds-teal-dark) !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.pds-readmore-btn:hover{
  color: #fff !important;
  background: var(--pds-teal-dark) !important;
}

.woocommerce-tabs .panel.pds-expanded{
  max-height: none !important;
}

.woocommerce-tabs .panel.pds-expanded .pds-readmore-btn{
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  display: block !important;
  margin: 24px auto 0 auto !important;
  width: fit-content !important;
}
