/* ============================================================
   KARBA Factory — WooCommerce (catalog mode) styling.
   Maps Woo's default markup onto the KARBA catalogue look.
   ============================================================ */

.wc-wrap{padding-top:calc(var(--hd) + clamp(2.5rem,6vw,5rem));padding-bottom:var(--sec-y)}

/* ---- shop / archive header ---- */
.woocommerce-products-header{text-align:center;margin-bottom:clamp(1.2rem,3vw,2rem)}
.woocommerce-products-header__title,
.wc-wrap h1.page-title{font-weight:300;font-size:clamp(2.6rem,6vw,4.6rem);letter-spacing:-.025em;line-height:1}
.woocommerce-products-header .term-description{max-width:44ch;margin:1.1rem auto 0;color:var(--ink-70)}
.wc-wrap .woocommerce-result-count,
.wc-wrap .woocommerce-ordering{display:none}

/* ---- product grid (override Woo's float/column widths) ---- */
.woocommerce .wc-wrap ul.products,
.wc-wrap ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.8rem,3.5vw,3.2rem) clamp(1.4rem,2.5vw,2rem);margin:0;padding:0;list-style:none}
.wc-wrap ul.products::before,
.wc-wrap ul.products::after{display:none!important}
.wc-wrap ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0!important;display:flex;flex-direction:column;gap:.55rem;text-align:left}
.wc-wrap ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;gap:.55rem}
.wc-wrap ul.products li.product img{aspect-ratio:3/4;object-fit:cover;width:100%;margin:0!important;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.wc-wrap ul.products li.product:hover img{transform:scale(1.015)}
.wc-wrap ul.products li.product .woocommerce-loop-product__title{font-weight:400;font-size:1.1rem;letter-spacing:-.01em;padding:0!important}
.wc-wrap ul.products li.product .price{display:none!important}
.wc-wrap ul.products li.product .rfq{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50);border-bottom:1px solid var(--line);padding-bottom:.15rem;align-self:flex-start;transition:color .25s,border-color .25s}
.wc-wrap ul.products li.product:hover .rfq{color:var(--ink);border-color:var(--bronze)}

/* ---- single service (product) detail — mockup product.html layout ---- */
.pd-single .crumb.ink{color:var(--ink-50);margin-bottom:1.7rem}
.pd-single .crumb.ink a{color:var(--ink-70)}
.pd-single .crumb.ink a:hover{color:var(--ink)}
.pd-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,4rem);align-items:start}
/* gallery (WooCommerce gallery, styled as main + thumbs) */
.pd-gallery .woocommerce-product-gallery{width:100%!important;margin:0!important;float:none!important}
.pd-gallery .woocommerce-product-gallery__wrapper{margin:0}
/* show the whole photo (no crop): fill the column width, keep natural ratio,
   and cap very tall/portrait shots to a sensible height so they stay contained */
.pd-gallery .woocommerce-product-gallery__image img{width:auto;max-width:100%;height:auto;max-height:70vh;object-fit:contain;display:block;margin-inline:auto}
.pd-gallery .flex-viewport{margin-bottom:.6rem;background:var(--cream-2)}
.pd-gallery ol.flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none}
.pd-gallery ol.flex-control-thumbs li{margin:0}
.pd-gallery ol.flex-control-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;cursor:pointer;opacity:.55;transition:opacity .25s}
.pd-gallery ol.flex-control-thumbs img.flex-active,.pd-gallery ol.flex-control-thumbs img:hover{opacity:1}
.pd-gallery .woocommerce-product-gallery__trigger{display:none}
/* info column */
.pd-cat{font-family:var(--mono);font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.pd-info .product_title{font-weight:300;font-size:clamp(2rem,4vw,3rem);line-height:1.03;letter-spacing:-.02em;margin:.5rem 0 .7rem}
.pd-price{font-family:var(--mono);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:1.2rem}
.pd-lead{color:var(--ink-70);margin-bottom:.4rem;max-width:48ch}
.opt{margin:1.35rem 0}
.opt .lab{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);margin-bottom:.6rem;display:block}
.optset{display:flex;flex-wrap:wrap;gap:.5rem}
.optset button{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:.55rem .9rem;border:1px solid var(--line);background:transparent;cursor:pointer;color:var(--ink-70);transition:background .25s,color .25s,border-color .25s}
.optset button:hover{border-color:var(--ink);color:var(--ink)}
.optset button.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.selsum{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-70);background:var(--cream);border:1px solid var(--line);padding:.6rem .8rem;margin-bottom:1.1rem}
.selsum b{color:var(--bronze);font-weight:500}
/* about + related */
.pd-detail{padding-top:var(--sec-y)}
.pd-detail h2{font-weight:300;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.02em;margin-bottom:1rem}
.pd-detail p{color:var(--ink-70);margin-bottom:1rem;max-width:60ch}
.pd-single .price{display:none!important}
.pd-single form.cart,.pd-single .cart,.pd-single a.added_to_cart{display:none!important}
.pd-single .related.products{padding-top:var(--sec-y)}
.pd-single .related.products > h2{font-weight:300;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;margin-bottom:1.6rem}

@media(max-width:900px){.wc-wrap ul.products{grid-template-columns:1fr 1fr}.pd-grid{grid-template-columns:1fr}}
@media(max-width:480px){.wc-wrap ul.products{grid-template-columns:1fr}}
