/* WordPress-specific refinements and catalogue layouts. */
.brand .custom-logo { width: clamp(190px, 20vw, 260px); height: auto; }
.product-filter-bar { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 28px; }
.filter-pill { display:inline-flex; min-height:38px; align-items:center; padding:8px 14px; border:1px solid #dce8e7; border-radius:999px; background:#fff; color:#34515e; font-size:13px; font-weight:650; text-decoration:none; transition:all .18s ease; }
.filter-pill:hover,.filter-pill.is-active { border-color:#176e69; background:#eaf5ef; color:#12645e; }
.material-body h3 a { color:inherit; text-decoration:none; }
.material-body h3 a:hover { color:#14736c; }
.material-grid { align-items:stretch; }
.product-detail-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:clamp(36px,6vw,88px); align-items:start; }
.product-photo-stack { position:sticky; top:112px; }
.product-photo-main { display:block; width:100%; overflow:hidden; padding:0; border:1px solid #e0e9e8; border-radius:24px; background:#f4f7f6; box-shadow:0 24px 55px rgb(9 43 62 / 12%); cursor:zoom-in; }
.product-photo-main img { display:block; width:100%; max-height:660px; aspect-ratio:1/1; object-fit:contain; }
.product-photo-thumbs { display:flex; gap:10px; overflow:auto; padding:12px 2px; }
.product-photo-thumbs img { width:78px; height:72px; flex:0 0 auto; object-fit:cover; border:2px solid transparent; border-radius:12px; cursor:pointer; }
.product-photo-thumbs img[aria-pressed="true"],.product-photo-thumbs img:focus { border-color:#19786e; }
.zoom-trigger { position:absolute; z-index:3; top:16px; right:16px; display:inline-flex; width:auto; height:auto; min-height:42px; align-items:center; justify-content:center; gap:7px; margin:0; padding:10px 15px; border:1px solid rgb(255 255 255 / 75%); border-radius:999px; background:rgb(9 43 62 / 88%); color:#fff; font-size:13px; line-height:1.2; font-weight:650; white-space:nowrap; cursor:pointer; box-shadow:0 6px 20px rgb(9 43 62 / 18%); }
.zoom-trigger:hover { background:#176e69; color:#fff; }
.product-detail-copy { padding:12px 0; }
.product-detail-copy h1 { margin:12px 0 18px; color:#092b3e; font-size:clamp(36px,5vw,58px); line-height:1.03; letter-spacing:-.04em; }
.product-detail-description { margin:18px 0 24px; color:#506a76; font-size:17px; line-height:1.8; }
.product-detail-copy .product-options { margin-bottom:22px; }
.product-detail-copy .spec-chips { gap:7px; }
.product-detail-copy .spec-chip { min-height:34px; padding:7px 11px; font-size:12px; }
.product-detail-copy .catalog-image-note { margin-top:22px; }
.page-content,.article-prose { max-width:850px; color:#4e6874; font-size:17px; line-height:1.85; }
.page-content h2,.article-prose h2 { margin-top:38px; color:#092b3e; font-size:clamp(25px,3vw,34px); line-height:1.2; }
.page-content h3,.article-prose h3 { margin-top:28px; color:#092b3e; }
.page-content li,.article-prose li { margin:.5em 0; }
.article-content { max-width:900px; }
.article-featured-image { display:block; width:100%; max-height:500px; margin:0 0 36px; border-radius:22px; object-fit:cover; }
.article-prose { margin:auto; }
.article-prose p { margin:0 0 1.4em; }
.pagination { margin-top:30px; }
.home-journal { background:#f7faf9; }
@media(max-width:800px) { .product-detail-grid { grid-template-columns:1fr; gap:26px; } .product-photo-stack { position:relative; top:auto; } .product-photo-main img { max-height:480px; } }
