/* Shared controls, editorial pages and catalog navigation. */
.button,.wp-block-button__link { box-sizing:border-box;max-width:100%;height:auto;text-align:center;white-space:normal;overflow-wrap:anywhere; }
.button .cw-icon,.text-link .cw-icon { flex-shrink:0; }
.watch-card h3,.watch-card h3 a { overflow-wrap:anywhere;word-break:normal; }
.entry-content a.button,.entry-content .wp-block-button__link { display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 22px;font:600 15px/1.5 var(--sans);text-decoration:none;text-align:center; }
.entry-content a.button:not(.outline):not(.light),.entry-content .wp-block-button__link { color:#fff;background:var(--green);border:1px solid var(--green); }
.entry-content a.button:hover,.entry-content .wp-block-button__link:hover { color:#fff;background:#102d23;border-color:#102d23; }
.button:focus-visible,.wp-block-button__link:focus-visible,summary:focus-visible,.brand-filter a:focus-visible,.woocommerce-pagination a:focus-visible { outline:2px solid var(--green);outline-offset:4px; }
.page-aside .button { line-height:1.5;font-size:14px;padding:13px 14px;min-height:50px; }
.service-page .page-heading { max-width:1040px;padding:20px 0 38px; }
.service-page .page-heading h1 { font-size:clamp(34px,4vw,52px);line-height:1.15;overflow-wrap:anywhere; }
.service-page .page-layout { gap:56px;grid-template-columns:minmax(0,1fr) 270px; }
.service-page .entry-content { min-width:0; }
.service-page .entry-content>h2:first-child { margin-top:0; }
.service-page .entry-content>p,.service-page .entry-content li { line-height:1.8; }
.service-page .entry-content img { display:block;max-width:100%;height:auto;margin:26px auto; }
.service-page .entry-content>img { max-height:680px;object-fit:contain; }
.service-page .entry-content figure { max-width:100%;margin:26px 0; }
.service-page .entry-content :is(iframe,video) { max-width:100%; }
.service-page .entry-content details { margin:0;border:0;border-bottom:1px solid var(--line);padding:0; }
.service-page .entry-content details summary { position:relative;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px 20px 0;font-size:17px;font-weight:600;line-height:1.6;cursor:pointer; }
.service-page .entry-content details summary::-webkit-details-marker { display:none; }
.service-page .entry-content details summary::after { content:'+';position:absolute;right:1px;top:18px;font-size:23px;font-weight:400;line-height:1.3; }
.service-page .entry-content details[open] summary::after { content:'−'; }
.service-page .entry-content details>p,.service-page .entry-content details>div { margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.8; }
.service-page .entry-content details p+p { margin-top:12px; }
.service-page .page-aside { border:1px solid var(--line);background:#f7f8f9;padding:25px; }
.service-page .page-aside h3 { font-size:27px;line-height:1.3; }
.service-page .page-aside nav a { text-decoration:none;font-size:15px;line-height:1.65; }
.woocommerce-pagination ul.page-numbers { display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;list-style:none;margin:0;padding:34px 0 0; }
.woocommerce-pagination ul.page-numbers li { padding:0;margin:0;list-style:none;line-height:1; }
.woocommerce-pagination ul.page-numbers li>a,.woocommerce-pagination ul.page-numbers li>span { display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;margin:0;font:500 15px/1 var(--sans);text-decoration:none;border:1px solid var(--line); }
.woocommerce-pagination ul.page-numbers li>.current { background:var(--green);border-color:var(--green);color:#fff; }
.woocommerce-pagination ul.page-numbers li>a:hover { border-color:var(--green);background:#f0f5f2;color:var(--green); }
.brand-filter { margin:20px 0 24px; }
.brand-filter h2 { font:600 17px/1.5 var(--sans);letter-spacing:0;margin:0 0 10px; }
.brand-filter-list { list-style:none;margin:0;padding:0; }
.brand-filter-list li { list-style:none;padding:0;margin:0; }
.brand-filter-list a { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;min-height:38px;font-size:15px;line-height:1.5;text-decoration:none;border-left:2px solid transparent; }
.brand-filter-list a:hover { background:#f4f6f7; }
.brand-filter-list a[aria-current] { background:#edf4f0;border-left-color:var(--green);font-weight:600;color:var(--green); }
.brand-filter-list .brand-product-count { font-size:12px;color:#64716b;font-weight:400; }
.collection-filters .collection-price-form { border-top:1px solid var(--line);padding-top:18px; }
.collection-price-form>label:first-of-type { margin-top:0; }
.collection-price-form .price-inputs { margin-top:9px; }
.collection-price-form .clear-filters { text-align:center; }
/* QC is a standalone editorial layout with the existing source copy and media. */
.page-qc-process .page-layout { display:block; }
.page-qc-process .page-heading { padding-bottom:28px; }
.qc-introduction { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:52px;align-items:center;padding:20px 0 48px; }
.qc-introduction h2 { font-size:36px;line-height:1.22;margin:0 0 20px; }
.qc-introduction p { font-size:17px;line-height:1.85;margin-bottom:24px; }
.qc-introduction>figure { width:100%; }
.page-qc-process .qc-introduction img { width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;margin:0; }
.qc-jump-links { display:flex;flex-wrap:wrap;gap:8px;border-block:1px solid var(--line);padding:18px 0; }
.entry-content .qc-jump-links a { padding:8px 14px;display:inline-flex;align-items:center;min-height:42px;text-decoration:none;background:#f4f6f7;font-size:14px;line-height:1.5; }
.qc-proof-gallery { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:32px 0 48px; }
.page-qc-process .qc-proof-gallery figure { margin:0;background:#f6f7f8;border:1px solid var(--line); }
.page-qc-process .qc-proof-gallery img { width:100%;height:300px!important;object-fit:contain;margin:0;padding:14px; }
.qc-process-steps { padding:10px 0 56px;scroll-margin-top:0; }
.qc-process-steps>h2 { margin:0 0 16px;font-size:34px; }
.qc-step-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px; }
.qc-step-card { border:1px solid var(--line);background:#fff;min-width:0; }
.page-qc-process .qc-step-card img { width:100%;height:220px!important;object-fit:contain;background:#f5f6f7;margin:0;padding:12px; }
.qc-step-card-copy { padding:24px; }
.qc-step-number { display:block;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--gold);margin-bottom:12px; }
.qc-step-card h3 { font:600 23px/1.35 var(--sans);margin:0 0 16px; }
.qc-step-card p { font-size:16px;line-height:1.85;margin:0; }
.qc-questions { display:grid;grid-template-columns:260px minmax(0,1fr);gap:54px;border-top:1px solid var(--line);padding:42px 0;scroll-margin-top:0; }
.qc-questions h2 { font-size:29px;line-height:1.3;margin:10px 0; }
.qc-questions .qc-faq-list { min-width:0; }
.qc-assurance-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border:1px solid var(--line);background:#f6f8f7;margin:20px 0 40px;padding:28px; }
.qc-assurance-grid p { margin:0;font-size:16px;line-height:1.8; }
.qc-assurance-grid strong { display:block;font-size:17px;margin-bottom:8px; }
@media(max-width:1100px){
 .service-page .page-layout { grid-template-columns:minmax(0,1fr) 240px;gap:32px; }
 .qc-introduction { gap:32px; }
 .qc-introduction h2 { font-size:31px; }
 .qc-questions { grid-template-columns:210px minmax(0,1fr);gap:32px; }
 .qc-step-card-copy { padding:20px; }
}
@media(max-width:900px){
 .collection-filters .collection-price-form { display:block; }
 .brand-filter-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 16px; }
 .collection-filters .collection-price-form .price-inputs { max-width:350px; }
 .collection-filters .collection-price-form .button { margin-top:10px; }
 .qc-step-grid { gap:16px; }
 .qc-step-card h3 { font-size:20px; }
 .qc-step-card-copy { padding:18px; }
 .page-qc-process .qc-proof-gallery img { height:220px!important; }
 .page-qc-process .qc-step-card img { height:180px!important; }
 .qc-introduction { grid-template-columns:1fr;gap:24px;padding-top:0; }
 .qc-introduction>figure { max-width:700px; }
}
@media(max-width:700px){
 .service-page .page-layout { display:block; }
 .service-page .page-aside { position:static;margin-top:38px; }
 .service-page .page-heading { padding:14px 0 26px; }
 .service-page .page-heading h1 { font-size:36px; }
 .service-page .entry-content details summary { font-size:16px;padding-block:18px; }
 .qc-introduction { padding-bottom:28px; }
 .qc-introduction h2 { font-size:29px; }
 .qc-proof-gallery { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:24px 0 34px; }
 .qc-proof-gallery figure:last-child { grid-column:1/-1; }
 .page-qc-process .qc-proof-gallery img { height:200px!important;padding:8px; }
 .qc-step-grid { grid-template-columns:1fr;gap:22px; }
 .page-qc-process .qc-step-card img { height:240px!important; }
 .qc-step-card-copy { padding:24px; }
 .qc-step-card h3 { font-size:24px; }
 .qc-process-steps>h2 { font-size:28px; }
 .qc-questions { display:block;padding:28px 0; }
 .qc-questions h2 { font-size:27px;margin:0 0 20px; }
 .qc-assurance-grid { grid-template-columns:1fr;gap:24px;padding:24px; }
 .qc-jump-links { gap:7px; }
 .entry-content .qc-jump-links a { font-size:13px;padding-inline:10px; }
 .brand-filter-list { grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px; }
 .brand-filter-list a { padding-inline:8px;font-size:14px; }
 .woocommerce-pagination ul.page-numbers { gap:6px; }
 .woocommerce-pagination ul.page-numbers li>a,.woocommerce-pagination ul.page-numbers li>span { width:40px;height:44px; }
}
