/* =========================================================
   TopiaryTree — WooCommerce redesign (shop.css)
   Loaded on shop, product-category/tag archives, single product.
   Editorial product cards + archive header + product detail.
   ========================================================= */

/* ---------------- ARCHIVE HEADER BAND ---------------- */
.woocommerce #page-title.pls-page-title,
.archive.woocommerce #page-title{
  background:linear-gradient(160deg,var(--tt-green-700),var(--tt-green-900));
  padding:60px 0 56px;margin-bottom:0;text-align:center;border:0;
}
.woocommerce #page-title .entry-breadcrumbs,
.woocommerce #page-title .entry-breadcrumbs span,
.woocommerce #page-title .entry-breadcrumbs .breadcrumb_last{
  color:rgba(255,255,255,.72) !important;font-family:var(--tt-sans);font-size:.8rem;letter-spacing:.04em;}
.woocommerce #page-title .entry-breadcrumbs a{color:rgba(255,255,255,.9) !important;}
.woocommerce #page-title .entry-breadcrumbs a:hover{color:var(--tt-brass-lt) !important;}
.woocommerce #page-title .entry-breadcrumbs{margin-top:10px;}
.woocommerce #page-title h1,
.woocommerce #page-title .entry-header .title{
  font-family:var(--tt-serif) !important;font-weight:600 !important;
  font-size:clamp(2rem,4vw,3rem) !important;line-height:1.08 !important;
  color:#fff !important;margin:0 !important;
}

/* ---------------- ARCHIVE INTRO + TOOLBAR ---------------- */
.woocommerce-products-header__title{display:none;}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{font-family:var(--tt-sans);}
.woocommerce-page .woocommerce-result-count{color:var(--tt-muted);font-size:.85rem;margin:0;}
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{
  font-family:var(--tt-sans);font-size:.85rem;color:var(--tt-ink);
  border:1px solid var(--tt-line);border-radius:3px;background:#fff;padding:9px 30px 9px 12px;cursor:pointer;
}
/* toolbar wrapper spacing */
.woocommerce .tt-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 0;border-bottom:1px solid var(--tt-line);margin-bottom:34px;}
.woocommerce .tt-shop-toolbar .woocommerce-result-count{margin:0;}
.woocommerce .tt-shop-toolbar .woocommerce-ordering{margin:0;}

/* ---------------- FILTER BAR ---------------- */
.woocommerce .tt-filters{margin:30px 0 0;padding:18px 20px;background:var(--tt-bg-alt);border:1px solid var(--tt-line);border-radius:6px;}
.tt-filters__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 24px;}
.tt-filters__field{display:flex;flex-direction:column;gap:6px;}
.tt-filters__field label{font-family:var(--tt-sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;color:var(--tt-muted);}
.tt-filters select,
.tt-filters input[type=number]{font-family:var(--tt-sans);font-size:.88rem;color:var(--tt-ink);background:#fff;
  border:1px solid var(--tt-line);border-radius:3px;padding:9px 12px;height:42px;box-shadow:none;min-width:160px;}
.tt-filters input[type=number]{min-width:0;width:92px;}
.tt-filters select:focus,
.tt-filters input:focus{border-color:var(--tt-brass);outline:none;}
.tt-filters__price-inputs{display:flex;align-items:center;gap:8px;}
.tt-filters__price-inputs span{color:var(--tt-muted);}
.tt-filters__actions{display:flex;align-items:center;gap:14px;margin-left:auto;}
.tt-filters__apply{font-family:var(--tt-sans);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:600;color:#fff;background:var(--tt-green-900);border:0;border-radius:3px;padding:12px 24px;height:42px;cursor:pointer;
  transition:background .15s ease;}
.tt-filters__apply:hover{background:var(--tt-brass);}
.tt-filters__clear{font-family:var(--tt-sans);font-size:.8rem;color:var(--tt-muted);text-decoration:underline;}
.tt-filters__clear:hover{color:var(--tt-green-900);}
@media (max-width:760px){
  .tt-filters__row{gap:14px 16px;}
  .tt-filters select{min-width:140px;}
  .tt-filters__actions{margin-left:0;width:100%;}
}

/* ---------------- PRODUCTS GRID ---------------- */
/* Target .products-wrap (the real product container) — NOT the `.related`/
   `.up-sells` <section>, which also carries the `products` class and would
   otherwise become a 4-col grid and crush its inner slider. */
.woocommerce .products-wrap{
  display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:30px 26px !important;
  margin:0 !important;padding:0 !important;list-style:none !important;width:100% !important;float:none !important;
}
.woocommerce .products-wrap::before,
.woocommerce .products-wrap::after{display:none !important;content:none !important;}

/* Related / up-sell sections: keep them block + full width so the inner
   .products-wrap grid has room (they wrap the grid in a flex slider row). */
.woocommerce .related,
.woocommerce .up-sells{display:block !important;width:100% !important;}
.woocommerce .related .pls-slider,
.woocommerce .related .products-wrap,
.woocommerce .up-sells .pls-slider,
.woocommerce .up-sells .products-wrap{width:100% !important;max-width:100% !important;flex:1 1 100% !important;transform:none !important;}
.woocommerce .products .product,
.woocommerce ul.products li.product{
  width:auto !important;max-width:100% !important;min-width:0 !important;
  flex:0 1 auto !important;margin:0 !important;padding:0 !important;float:none !important;clear:none !important;
}

/* ---------------- EDITORIAL PRODUCT CARD ---------------- */
.tt-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--tt-line);
  border-radius:6px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;}
.tt-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(29,36,32,.1);}
.tt-card__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--tt-bg-alt);}
.tt-card__imglink{display:block;width:100%;height:100%;}
.tt-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.tt-card:hover .tt-card__media img{transform:scale(1.05);}
.tt-card__badge{position:absolute;top:12px;left:12px;background:var(--tt-brass);color:#fff;
  font-family:var(--tt-sans);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  padding:5px 11px;border-radius:2px;}
.tt-card__body{display:flex;flex-direction:column;flex:1;padding:18px 18px 20px;}
.tt-card__eyebrow{font-family:var(--tt-sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tt-brass);font-weight:600;margin-bottom:8px;}
.tt-card__title{font-family:var(--tt-serif);font-weight:600;font-size:1.02rem;line-height:1.3;margin:0 0 10px;}
.tt-card__title a{color:var(--tt-ink) !important;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tt-card__title a:hover{color:var(--tt-green-700) !important;}
.tt-card__price{font-family:var(--tt-sans);font-size:1rem;color:var(--tt-green-700);font-weight:600;margin-bottom:16px;}
.tt-card__price .request-quote-text-catalog,
.tt-card__price .request-quote-text{font-weight:500;color:var(--tt-brass);font-style:italic;font-size:.92rem;}
.tt-card__price del{color:var(--tt-muted);font-weight:400;font-size:.85rem;margin-right:6px;}
.tt-card__price ins{text-decoration:none;}
.tt-card__cta{margin-top:auto;}
.tt-card__btn,
.tt-card .button.add_to_cart_button,
.tt-card .button.product_type_simple,
.tt-card .button.product_type_variable,
.tt-card .button.product_type_grouped{display:block;width:100%;text-align:center;font-family:var(--tt-sans) !important;
  font-size:.74rem !important;letter-spacing:.08em;text-transform:uppercase;font-weight:600 !important;
  border-radius:3px !important;padding:11px 14px !important;text-decoration:none;line-height:1.3 !important;
  transition:background .15s ease,color .15s ease,opacity .15s ease;cursor:pointer;margin:0 !important;}
/* Primary (Add to cart) — filled green */
.tt-card .button.add_to_cart_button,
.tt-card .button.product_type_simple,
.tt-card .button.product_type_variable,
.tt-card .button.product_type_grouped,
.tt-card__btn--cart{background:var(--tt-green-900) !important;color:#fff !important;border:1px solid var(--tt-green-900) !important;}
.tt-card .button.add_to_cart_button:hover,
.tt-card__btn--cart:hover{background:var(--tt-brass) !important;border-color:var(--tt-brass) !important;color:#fff !important;}
.tt-card .button.added{background:var(--tt-green-700) !important;}
.tt-card .added_to_cart{display:block;text-align:center;margin-top:8px;font-family:var(--tt-sans);font-size:.72rem;
  letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--tt-green-700);text-decoration:underline;}
/* loading spinner state */
.tt-card .button.loading{opacity:.7;}
/* Ghost (Request a quote) — outlined */
.tt-card__btn--ghost{background:transparent;color:var(--tt-green-900);border:1px solid var(--tt-green-900);}
.tt-card__btn--ghost:hover{background:var(--tt-green-900);color:#fff;}

/* Category tiles (subcategory loop on shop / parent categories) */
.woocommerce .products .product-category{background:var(--tt-green-900);border-radius:6px;overflow:hidden;
  position:relative;border:0;aspect-ratio:1/1;}
.woocommerce .products .product-category .pls-product-inner,
.woocommerce .products .product-category .category-image,
.woocommerce .products .product-category .category-image > a{
  display:block !important;width:100% !important;height:100% !important;margin:0 !important;padding:0 !important;text-decoration:none;}
.woocommerce .products .product-category img{width:100% !important;height:100% !important;object-fit:cover;opacity:.66;
  transition:opacity .3s ease,transform .45s ease;margin:0 !important;}
.woocommerce .products .product-category:hover img{opacity:.52;transform:scale(1.05);}
.woocommerce .products .product-category .woocommerce-loop-category__title{
  position:absolute !important;left:0;right:0;bottom:0;z-index:2;margin:0 !important;padding:16px !important;
  font-family:var(--tt-serif) !important;font-weight:600 !important;font-size:1.05rem !important;
  text-align:left !important;line-height:1.25 !important;
  background:linear-gradient(180deg,transparent,rgba(20,28,24,.9)) !important;}
.woocommerce .products .product-category .woocommerce-loop-category__title,
.woocommerce .products .product-category .woocommerce-loop-category__title a{color:#fff !important;text-decoration:none;}
.woocommerce .products .product-category .woocommerce-loop-category__title a{
  display:block;background:none !important;background-color:transparent !important;padding:0 !important;margin:0 !important;border:0 !important;box-shadow:none !important;}
.woocommerce .products .product-category .product-count,
.woocommerce .products .product-category .count{display:block;font-family:var(--tt-sans) !important;
  font-size:.72rem !important;font-weight:500 !important;color:var(--tt-brass-lt) !important;
  background:none !important;letter-spacing:.06em;margin-top:3px;}

/* ---------------- PAGINATION ---------------- */
.woocommerce nav.woocommerce-pagination{margin:48px 0 8px;text-align:center;border:0;}
.woocommerce nav.woocommerce-pagination ul{border:0;display:inline-flex;gap:6px;}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  font-family:var(--tt-sans);font-size:.9rem;min-width:42px;height:42px;line-height:42px;padding:0 6px;
  border:1px solid var(--tt-line) !important;border-radius:3px;color:var(--tt-ink);background:#fff;}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--tt-green-900) !important;color:#fff !important;border-color:var(--tt-green-900) !important;}

/* ---------------- STAR RATING ---------------- */
.tt-stars{position:relative;display:inline-block;font-size:1rem;line-height:1;letter-spacing:2px;white-space:nowrap;font-family:Arial,sans-serif;}
.tt-stars__off{color:#d8d2c4;}
.tt-stars__on{position:absolute;left:0;top:0;overflow:hidden;color:var(--tt-brass);}

/* PDP rating line under the title */
.tt-pdp-rating{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin:0 0 6px;}
.tt-pdp-rating .tt-stars{font-size:1.05rem;}
.tt-pdp-rating__txt{font-family:var(--tt-sans);font-size:.86rem;color:var(--tt-muted);}
.tt-pdp-rating__txt b{color:var(--tt-ink);font-weight:600;}
.tt-pdp-rating:hover .tt-pdp-rating__txt{color:var(--tt-green-700);}

/* ---------------- WHY-US TRUST BAND ---------------- */
/* On archives the band is a flex item inside Alukas's .row — force it to fill
   the row so the ivium band spans the full content width (not shrink-to-fit). */
.tt-whyus{flex:0 0 100% !important;width:100% !important;max-width:100% !important;
  background:var(--tt-bg-alt);border-top:1px solid var(--tt-line);border-bottom:1px solid var(--tt-line);margin:56px 0 72px;}
.single-product .tt-whyus{flex:none !important;margin:10px 0 40px;border:1px solid var(--tt-line);border-radius:6px;}
.tt-whyus__inner{max-width:1180px;margin:0 auto;padding:34px 24px;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;align-items:start;}
.tt-whyus__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;}
.tt-whyus__icon{height:36px;display:flex;align-items:center;justify-content:center;}
.tt-whyus__item .tt-stars{font-size:1.1rem;line-height:1;}
.tt-whyus__check{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  border:1.5px solid var(--tt-brass);background:transparent;color:var(--tt-brass);font-size:1.05rem;font-weight:700;}
.tt-whyus__item b{font-family:var(--tt-sans);font-size:.92rem;font-weight:600;color:var(--tt-ink);}
.tt-whyus__item span{font-family:var(--tt-sans);font-size:.8rem;color:var(--tt-muted);line-height:1.45;}
@media (max-width:900px){
  .tt-whyus__inner{grid-template-columns:repeat(2,1fr);gap:28px 18px;}
}
@media (max-width:480px){
  .tt-whyus__inner{grid-template-columns:1fr;}
}

/* ---------------- SINGLE PRODUCT ---------------- */
.single-product div.product{font-family:var(--tt-sans);}
.single-product div.product .product_title{
  font-family:var(--tt-serif) !important;font-weight:600 !important;
  font-size:clamp(1.7rem,3vw,2.4rem) !important;line-height:1.1 !important;color:var(--tt-ink) !important;margin:0 0 12px !important;}
.single-product div.product p.price,
.single-product div.product span.price{font-family:var(--tt-sans) !important;font-size:1.5rem !important;
  color:var(--tt-green-700) !important;font-weight:600 !important;}
.single-product .price .request-quote-text{color:var(--tt-brass);font-style:italic;}

/* Trust strip injected under the summary */
.tt-prod-trust{display:flex;flex-wrap:wrap;gap:14px 26px;margin:22px 0 4px;padding:18px 0 0;border-top:1px solid var(--tt-line);}
.tt-prod-trust span{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--tt-muted);}
.tt-prod-trust b{color:var(--tt-brass);font-size:1rem;line-height:1;}

/* Headings inside the long description */
.single-product div.product .woocommerce-product-details__short-description h2,
.single-product .woocommerce-Tabs-panel h2,
.single-product div.product .summary h2,
.single-product div.product .summary h3{font-family:var(--tt-serif) !important;color:var(--tt-ink) !important;}

/* Add-to-cart / inquiry buttons */
.single-product .single_add_to_cart_button,
.single-product .inquiry-button{
  font-family:var(--tt-sans) !important;letter-spacing:.06em !important;text-transform:uppercase !important;
  font-size:.82rem !important;font-weight:600 !important;border-radius:3px !important;padding:15px 30px !important;
  background:var(--tt-green-900) !important;color:#fff !important;border:0 !important;}
.single-product .single_add_to_cart_button:hover,
.single-product .inquiry-button:hover{background:var(--tt-brass) !important;}
.single-product .quantity input.qty{border:1px solid var(--tt-line) !important;border-radius:3px;height:50px;
  font-family:var(--tt-sans);}

/* Tabs */
.single-product .woocommerce-tabs ul.tabs{border:0;padding:0;margin:0 0 22px;display:flex;gap:8px;
  border-bottom:1px solid var(--tt-line);}
.single-product .woocommerce-tabs ul.tabs::before{display:none;}
.single-product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0;padding:0;}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{display:none;}
.single-product .woocommerce-tabs ul.tabs li a{font-family:var(--tt-sans) !important;font-size:.8rem;
  letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--tt-muted) !important;
  padding:12px 6px !important;border-bottom:2px solid transparent;}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--tt-green-900) !important;border-bottom-color:var(--tt-brass);}

/* Related products heading */
.single-product .related > h2,
.single-product .upsells > h2{font-family:var(--tt-serif) !important;font-weight:600;
  font-size:1.7rem;color:var(--tt-ink) !important;margin-bottom:26px;text-align:left;}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1100px){
  .woocommerce .products-wrap{grid-template-columns:repeat(3,1fr) !important;}
}
@media (max-width:760px){
  .woocommerce .products-wrap{grid-template-columns:repeat(2,1fr) !important;gap:20px 16px !important;}
  .woocommerce #page-title.pls-page-title{padding:44px 0 40px;}
}
@media (max-width:460px){
  .tt-card__body{padding:14px 14px 16px;}
  .tt-card__title{font-size:.95rem;}
}
