﻿/* Overrides follow main.css and WooCommerce styles. A related section itself has
   class "products": it must not inherit the card-grid rule from .products. */
.single-product.woocommerce section.related.products,
.single-product.woocommerce section.upsells.products{display:block;clear:both;width:100%;min-width:0}
.woocommerce ul.products.dragonwp-products,
.woocommerce .dragonwp-shop-archive ul.products.dragonwp-products,
.dragonwp-catalog-block ul.products.dragonwp-products,
.single-product.woocommerce section.products ul.products.dragonwp-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);width:100%;margin:var(--s6) 0;padding:0;list-style:none}
.woocommerce ul.products.dragonwp-products::before,
.woocommerce ul.products.dragonwp-products::after{display:none}
.woocommerce ul.products.dragonwp-products li.product{float:none;clear:none;width:auto;min-width:0;margin:0;padding:0}
.woocommerce ul.products.dragonwp-products .product-line,
.woocommerce div.product .dragonwp-product-main .product-line,
.dragonwp-catalog-block .product-actions .btn{white-space:normal;word-break:normal;overflow-wrap:anywhere;justify-content:center}
.product-actions .icon-line{flex-shrink:0}
.product-img{display:block}
.product-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-category-badge{align-self:flex-start;padding:4px 10px;border-radius:var(--radius);background:var(--lime);color:var(--navy);font-size:.875rem;font-weight:600}
/* WC starts the gallery at opacity:0 pending FlexSlider. Show a usable image
   even if initialization is delayed/fails; keep WC's lightbox and slider intact. */
.woocommerce div.product .dragonwp-product-main .woocommerce-product-gallery{opacity:1!important}
.dragonwp-product-main .woocommerce-product-gallery__wrapper{margin:0}
.dragonwp-product-main .woocommerce-product-gallery__image img{display:block;width:100%;height:auto;object-fit:contain}
.dragonwp-product-main .flex-viewport{touch-action:pan-y}
.dragonwp-product-main .flex-control-thumbs{display:flex;overflow-x:auto;touch-action:pan-x pan-y}
.woocommerce div.product .dragonwp-product-main .flex-control-thumbs li{float:none;flex:0 0 25%}
.product-enquiry{display:grid;gap:var(--s4)}
.product-enquiry fieldset{border:0;padding:0;margin:0;min-width:0}
.product-enquiry legend{font-weight:600;margin-bottom:var(--s2)}
.enquiry-pills{display:flex;flex-wrap:wrap;gap:var(--s2)}
.enquiry-pills input{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.enquiry-pills label{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 16px;border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;color:var(--navy);background:var(--paper)}
.enquiry-pills input:checked+label{background:var(--navy);color:var(--lime);border-color:var(--navy)}
.enquiry-pills input:focus-visible+label{outline:3px solid var(--navy);outline-offset:3px}
.enquiry-stepper{display:inline-flex;align-items:center;gap:var(--s2);width:max-content;max-width:100%}
.enquiry-stepper button{min-width:44px;min-height:44px;padding:8px;background:var(--navy);color:var(--paper);border:0;border-radius:var(--radius);font:inherit;font-weight:700;cursor:pointer}
.enquiry-stepper button:disabled{opacity:.45;cursor:default}
.enquiry-stepper button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.woocommerce .quantity.enquiry-stepper input.qty,.enquiry-stepper input.qty{width:5.5rem;min-height:44px;text-align:center}
.catalog-pagination ul{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center;list-style:none;padding:0}
.catalog-pagination :is(a,span){display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--rule);border-radius:var(--radius);color:var(--navy)}
.catalog-pagination .current{background:var(--lime)}
@media(min-width:480px){
 .woocommerce ul.products.dragonwp-products,.woocommerce .dragonwp-shop-archive ul.products.dragonwp-products,.dragonwp-catalog-block ul.products.dragonwp-products,.single-product.woocommerce section.products ul.products.dragonwp-products{gap:var(--s5)}
}
@media(max-width:479px){
 .woocommerce ul.products.dragonwp-products .product-body,.dragonwp-catalog-block ul.products.dragonwp-products .product-body{padding:var(--s3) var(--s2)}
 .woocommerce ul.products.dragonwp-products .product-line,.dragonwp-catalog-block ul.products.dragonwp-products .product-actions .btn{font-size:.875rem;padding:var(--s2);gap:6px}
 .woocommerce ul.products.dragonwp-products .product-line .icon-line{width:1.25em;height:1.25em}
}
@media(min-width:1024px){
 .woocommerce ul.products.dragonwp-products,.woocommerce .dragonwp-shop-archive ul.products.dragonwp-products,.dragonwp-catalog-block ul.products.dragonwp-products,.single-product.woocommerce section.products ul.products.dragonwp-products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.product-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:var(--s4);margin-block:var(--s4)}
.product-toolbar form{flex:1;min-width:0}
@media(max-width:479px){.product-toolbar form{flex-basis:100%}}
.product-toolbar label{display:block;margin-bottom:var(--s2)}
.product-search-row{display:flex;gap:var(--s2)}
.product-search-row input[type=search]{width:100%;min-width:0;min-height:44px}
.product-view-controls:not([hidden]){display:flex;gap:var(--s2)}
.product-view-controls .btn{width:auto;min-width:44px;white-space:nowrap}
.product-view-controls [aria-pressed=true]{background:var(--navy);color:var(--lime)}
.product-toolbar .woocommerce-result-count,.product-result-count{flex-basis:100%;margin:0}
.woocommerce .dragonwp-shop-archive.is-compact ul.products.dragonwp-products,
.dragonwp-catalog-block.is-compact ul.products.dragonwp-products{grid-template-columns:minmax(0,1fr)}
.woocommerce .dragonwp-shop-archive.is-compact ul.products li.product,
.dragonwp-catalog-block.is-compact ul.products li.product{display:grid;grid-template-columns:minmax(80px,25%) minmax(0,1fr);align-items:start}
.is-compact .product-img{align-self:start}
.product-tag-badges{display:flex;flex-wrap:wrap;gap:var(--s2);margin-block:var(--s2)}
.product-tag-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius);background:var(--lime);color:var(--navy);font-size:.875rem;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;text-decoration:none;overflow-wrap:anywhere;max-width:100%}
.summary a.product-tag-badge{min-height:44px}
.product-tag-badge:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
