/* SARO product catalogue inside the portfolio design (tokens from portfolio.css: --paper --ink --accent --dark --line --heading). */
.pf .cb-products,.pf .cb-product{padding:36px 0 72px}
.pf .cb-products-crumbs{font-size:13px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;color:var(--ink)}
.pf .cb-products-crumbs a{text-decoration:underline;text-underline-offset:4px}
.pf .cb-products-crumbs [aria-current]{opacity:.7}
.pf .cb-products .pf-section-head{margin-bottom:28px}
.pf .cb-products h1{font-size:clamp(34px,4vw,60px);max-width:20ch}
.pf .cb-products-tools{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:flex-start;justify-content:space-between;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.pf .cb-products-cats{display:flex;flex-wrap:wrap;gap:8px}
.pf .cb-products-cats a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;background:#fff;white-space:nowrap}
.pf .cb-products-cats a span{font-size:11px;opacity:.65}
.pf .cb-products-cats a:hover{border-color:var(--accent);text-decoration:none}
.pf .cb-products-cats a[aria-current]{background:var(--dark);color:#fff;border-color:var(--dark)}
.pf .cb-products-search{display:flex;border:1px solid var(--ink);background:#fff;min-width:min(100%,340px)}
.pf .cb-products-search{align-items:stretch}
/* #id selector beats the generic .pf form input rule in portfolio.css (margin-bottom 18px, padding 12px 14px, width 100%) */
.pf .cb-products-search input#cb-products-search{flex:1;width:auto;margin:0;border:0;border-radius:0;padding:11px 14px;font-size:14px;line-height:1.4;background:transparent;min-width:0;height:auto}
.pf .cb-products-search button{flex:0 0 auto;margin:0;border:0;border-radius:0;background:var(--dark);color:#fff;padding:0 18px;font-size:13px;font-weight:600;line-height:1;cursor:pointer}
.pf .cb-products-count{font-size:13px;opacity:.7;margin-bottom:14px}
.pf .cb-products-empty{font-size:18px;margin:30px 0 18px}
.pf .cb-products-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.pf .cb-product-card a{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px 22px 20px;background:#fff;border:1px solid var(--line);text-decoration:none;transition:border-color .15s,transform .15s}
.pf .cb-product-card a:hover{border-color:var(--accent);transform:translateY(-2px)}
.pf .cb-product-card h2{font-size:19px;line-height:1.25;font-family:var(--heading);font-weight:400;letter-spacing:-.01em;flex:1}
.pf .cb-product-cat{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;opacity:.75}
.pf .cb-product-cat b{color:var(--accent)}
.pf .cb-product-sku{font-size:12px;opacity:.65}
.pf .cb-product-price{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:4px}
.pf .cb-product-price small{font-size:12px;font-weight:400;opacity:.7;margin-left:4px}
.pf .cb-product-ship{font-size:13px;color:#1f6b3a;font-weight:600}
.pf .cb-product-was{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;opacity:.85;margin-top:6px}
.pf .cb-product-was-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;opacity:.7}
.pf .cb-product-was del{text-decoration:line-through;font-weight:600}
.pf .cb-product-badge{display:inline-block;background:#e63946;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:3px 9px;line-height:1.15;white-space:nowrap}
.pf .cb-product-card .cb-product-price{margin-top:0}
.pf .cb-products-pages{display:flex;flex-wrap:wrap;gap:6px;margin-top:34px;font-size:14px;align-items:center}
.pf .cb-products-pages a,.pf .cb-products-pages span{padding:8px 12px;border:1px solid var(--line);background:#fff}
.pf .cb-products-pages a[aria-current]{background:var(--dark);color:#fff;border-color:var(--dark)}
.pf .cb-products-pages span{border-color:transparent;background:transparent}
/* product page */
.pf .cb-product-layout{display:grid;grid-template-columns:minmax(260px,5fr) minmax(320px,7fr);gap:44px;align-items:start}
.pf .cb-product-media{position:sticky;top:24px;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(160deg,#fff,#ecebe4);border:1px solid var(--line)}
.pf .cb-product-media span{font-family:var(--heading);font-size:clamp(44px,6vw,80px);letter-spacing:.08em;color:var(--dark);opacity:.35}
.pf .cb-product-media small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}
.pf .cb-product-info h1{font-size:clamp(30px,3.4vw,50px);max-width:22ch;margin:6px 0 18px}
.pf .cb-product-info .cb-product-price{font-size:clamp(28px,3vw,40px);margin:0 0 16px}
.pf .cb-product-info .cb-product-price>span{font-size:14px;font-weight:400;opacity:.7;margin-left:8px}
.pf .cb-product-info .cb-product-price .amount,.pf .cb-product-info .cb-product-price .amount span{font-size:inherit;font-weight:inherit;opacity:1;margin:0}
.pf .cb-product-info .cb-product-was-line{margin:0 0 4px}
.pf .cb-product-info .cb-product-was{font-size:16px;margin-top:0}
.pf .cb-product-info .cb-product-badge{font-size:13px;padding:4px 11px}
.pf .cb-product-perks{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:6px;font-size:15px;color:#1f6b3a;font-weight:600}
.pf .cb-product-specs{display:grid;grid-template-columns:max-content 1fr;gap:8px 22px;margin:0 0 30px;padding:20px 22px;background:#fff;border:1px solid var(--line);font-size:14px}
.pf .cb-product-specs dt{font-weight:600;opacity:.75}
.pf .cb-product-specs dd{margin:0}
.pf .cb-product-order{padding:28px;background:#fff;border:1px solid var(--line)}
.pf .cb-product-order h2{font-size:26px;margin-bottom:8px}
.pf .cb-product-order p{font-size:14px;margin-bottom:18px}
.pf .cb-product-order label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}
.pf .cb-product-order input:not([type=checkbox]),.pf .cb-product-order textarea{width:100%;border:1px solid var(--ink);padding:10px 12px;font-size:14px;background:#fff}
.pf .cb-product-order textarea{min-height:120px;resize:vertical}
.pf .cb-product-order .cb-field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.pf .cb-product-order .cb-consent{font-weight:400;font-size:13px;margin:16px 0 18px;display:flex;gap:10px;align-items:flex-start}
.pf .cb-product-order .cb-consent a{text-decoration:underline}
.pf .cb-product-order .cb-status{padding:12px 14px;background:#eef6f0;border:1px solid #bcdcc5;font-size:14px}
/* quantity + button on one row; overrides the theme (.cart .single_add_to_cart_button margin/width/line-height) and the generic .pf form input rule (width 100%, margin-bottom) */
.pf .cb-product-cart .cart{display:flex;gap:12px;align-items:stretch;flex-wrap:nowrap;margin:0}
.pf .cb-product-cart .quantity{flex:0 0 auto;width:auto;margin:0}
.pf .cb-product-cart .quantity input.qty{width:84px;height:52px;margin:0;padding:0 12px;border:1px solid var(--ink);border-radius:0;font-size:16px;line-height:1;text-align:center;box-sizing:border-box}
.pf .cb-product-cart .single_add_to_cart_button{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;width:auto;height:52px;margin:0;padding:0 26px;line-height:1;border:0;border-radius:0;background:var(--dark);color:#fff;font-size:16px;font-weight:600;cursor:pointer}
.pf .cb-product-cart .single_add_to_cart_button:hover{background:var(--accent)}
/* footer links: the legal page names wrap, so align the row to the top and keep each link on one line */
.pf .pf-foot nav{flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:12px 25px}
.pf .pf-foot nav a{white-space:nowrap}
@media (max-width:600px){.pf .pf-foot nav{justify-content:flex-start}}
.pf .cb-product-related{margin-top:64px;padding-top:36px;border-top:1px solid var(--line)}
.pf .cb-product-related h2{font-size:30px;margin-bottom:22px}
.pf .cb-product-related .pf-back{display:inline-block;margin-top:24px;font-size:14px}
/* homepage best-seller rail (27 Sept 2026, after bearwood.be: 3 cards visible, horizontal scroll, arrow controls) */
.pf .cb-bestsellers{padding:48px 0 8px}
.pf .cb-bestsellers-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}
.pf .cb-bestsellers-head h2{margin-bottom:8px}
.pf .cb-bestsellers-intro{font-size:15px;opacity:.75;max-width:60ch;margin:0}
.pf .cb-rail-controls{display:flex;gap:10px;flex-shrink:0}
.pf .cb-rail-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;padding:0}
.pf .cb-rail-controls button:hover{border-color:var(--accent);color:var(--accent)}
.pf .cb-rail-controls button:disabled{opacity:.3;cursor:default}
.pf .cb-bestsellers-rail{display:flex;flex-wrap:nowrap;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 16px;margin:0 -2px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.pf .cb-bestsellers-rail>li{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;display:flex;flex-direction:column}
.pf .cb-bestsellers-rail>li>a{height:auto;flex:1;border-bottom:0}
.pf .cb-bestsellers-rail>li>a:hover{transform:none}
.pf .cb-bestsellers-rail .cb-product-save{display:inline-block;align-self:flex-start;background:#eef6f0;color:#1f6b3a;font-size:12px;font-weight:600;padding:5px 9px;margin-top:4px}
.pf .cb-product-actions{display:grid;gap:8px;padding:0 22px 20px;background:#fff;border:1px solid var(--line);border-top:0}
.pf .cb-bestsellers-rail>li:hover .cb-product-actions{border-color:var(--accent)}
/* specificity above the generic .pf .cb-product-card a rule (which paints every card link as a white bordered column) */
.pf .cb-product-card .cb-product-actions a{display:block;height:auto;flex:none;text-align:center;padding:12px 14px;font-size:14px;font-weight:600;text-decoration:none;border-radius:0;transition:none;transform:none}
.pf .cb-product-card .cb-product-actions a.cb-product-add{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.pf .cb-product-card .cb-product-actions a.cb-product-add:hover{border-color:var(--accent);color:var(--accent);transform:none}
.pf .cb-product-card .cb-product-actions a.cb-product-view{background:var(--dark);color:#fff;border:1px solid var(--dark)}
.pf .cb-product-card .cb-product-actions a.cb-product-view:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:none}
.pf .cb-bestsellers-all{text-align:center;margin:8px 0 0;font-size:14px;font-weight:600}
.pf .cb-bestsellers-all a{text-decoration:underline;text-underline-offset:4px}
@media (max-width:1000px){.pf .cb-bestsellers-rail>li{flex-basis:calc((100% - 18px)/2)}}
@media (max-width:640px){.pf .cb-bestsellers-rail>li{flex-basis:84%}.pf .cb-bestsellers-head{flex-direction:column;align-items:flex-start}}
/* homepage block */
.pf .cb-products-home{padding-top:0}
.pf .cb-products-home .cb-products-cats{margin:0 0 22px}
.pf .cb-products-home-cta{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;font-size:14px}
.pf .cb-products-home-cta span{max-width:52ch;opacity:.8}
@media (max-width:860px){.pf .cb-product-layout{grid-template-columns:1fr}.pf .cb-product-media{position:static;aspect-ratio:16/9}.pf .cb-product-order .cb-field-row{grid-template-columns:1fr}.pf .cb-products-tools{flex-direction:column}.pf .cb-products-search{width:100%}}
/* header cart icon (like bearwood.be: icon + count badge, amount hidden) */
.pf .pf-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:4px;color:var(--ink);flex-shrink:0}
.pf .pf-cart:hover{color:var(--accent);text-decoration:none}
.pf .pf-cart svg{width:24px;height:24px}
.pf .pf-cart-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
@media (max-width:860px){.pf .pf-cart{margin-left:auto}}
/* cart, checkout and account pages inside the design */
.pf .cb-commerce{padding:36px 0 80px}
.pf .cb-commerce h1{font-size:clamp(32px,3.6vw,52px);margin-bottom:26px}
.pf .cb-commerce-content{font-size:15px}
.pf .cb-commerce-content .wc-block-components-button,.pf .cb-commerce-content .wp-block-button__link,.pf .cb-commerce-content button.button,.pf .cb-commerce-content .woocommerce-button{background:var(--dark);color:#fff;border-radius:0;font-weight:600}
.pf .cb-commerce-content .wc-block-components-button:hover,.pf .cb-commerce-content .wp-block-button__link:hover{background:var(--accent);color:#fff}
.pf .cb-commerce-content .wc-block-components-product-name,.pf .cb-commerce-content .wc-block-components-totals-item__label{font-family:inherit}
.pf .cb-commerce-content .wc-block-components-sidebar-layout .wc-block-components-sidebar{background:#fff;border:1px solid var(--line);padding:16px}
.pf .cb-commerce-content .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}
.pf .cb-commerce-content .woocommerce-MyAccount-navigation a{display:block;padding:8px 0;border-bottom:1px solid var(--line)}
.pf .cb-commerce-content .wc-block-components-product-metadata__description{opacity:.7}
/* product photos (Saro images, matched by item number) */
/* square photo box whatever the photo ratio: the image is positioned absolutely so tall (uncropped) photos cannot stretch the card */
.pf .cb-product-thumb{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:#fff;margin:-22px -22px 12px;padding:0;border-bottom:1px solid var(--line)}
.pf .cb-product-thumb img{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:contain}
.pf .cb-product-media--photo{aspect-ratio:auto;background:#fff;padding:18px;justify-content:flex-start}
.pf .cb-product-media--photo>img{width:100%;height:auto;max-height:560px;object-fit:contain}
.pf .cb-product-gallery{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.pf .cb-product-gallery img{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);background:#fff}
/* checkout polish */
@media (min-width:900px){.pf .cb-commerce-content .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:40%}.pf .cb-commerce-content .wc-block-components-sidebar-layout .wc-block-components-main{width:60%;padding-right:32px}}
.pf .cb-commerce-content .wc-block-components-order-summary-item__description{overflow-wrap:normal;word-break:normal}
.pf .cb-commerce-content .wc-block-components-product-metadata__description{display:none}
.pf .cb-commerce-content .wc-block-components-order-summary-item__image{width:56px}
.pf .cb-commerce-content .wc-block-components-checkout-step__title,.pf .cb-commerce-content .wc-block-components-title{font-family:var(--heading);font-weight:400}
.pf .cb-commerce-content .wc-block-components-radio-control__option,.pf .cb-commerce-content .wc-block-components-checkbox label{font-size:15px}
.pf .cb-commerce-content .wc-block-components-text-input input,.pf .cb-commerce-content .wc-block-components-textarea textarea{border-radius:0}
/* empty cart + login form (27 Sept 2026) */
.pf .cb-commerce-content .wc-block-cart__empty-cart__title{font-family:var(--heading);font-weight:400;font-size:clamp(26px,3vw,36px);letter-spacing:-.01em}
.pf .cb-commerce-content .wp-block-woocommerce-empty-cart-block p{max-width:52ch;margin:0 auto 22px;opacity:.85}
.pf .cb-commerce-content .wp-block-button__link{border-radius:0;padding:14px 26px;font-size:15px}
.pf .cb-commerce-content .woocommerce-form-login,.pf .cb-commerce-content .woocommerce-form-register,.pf .cb-commerce-content .woocommerce-ResetPassword{max-width:560px}
.pf .cb-commerce-content .woocommerce-form-login .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;margin:6px 0 14px}

/* quote request (products above the quote threshold) */
.pf .cb-quote-link{display:inline-block;font-size:14px;font-weight:600;margin-left:14px;color:var(--accent);text-decoration:underline;letter-spacing:0}
.pf .cb-product-quote{margin-top:26px;background:#faf8f2}
/* legal pages */
.pf .cb-legal{padding:36px 0 80px;max-width:820px}
.pf .cb-legal h1{font-size:clamp(30px,3.4vw,48px);margin:6px 0 22px;overflow-wrap:normal;word-break:normal;hyphens:auto;max-width:none}
.pf .cb-legal-content{font-size:15px;line-height:1.65}
.pf .cb-legal-content h2{font-size:22px;margin:30px 0 8px}
.pf .cb-legal-content p{margin:0 0 14px}
.pf .cb-legal-content .cb-page-intro{font-size:17px}
.pf .cb-legal-content a{text-decoration:underline}
.pf .cb-legal-nav{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;font-weight:600}

/* Storefront audit 27 Sept 2026: no launch banner on cart/checkout/account; compact mobile catalogue and product page */
body.cb-view-commerce .pf-notice{display:none}
@media (max-width:860px){.pf .cb-products-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}.pf .cb-products-cats::-webkit-scrollbar{display:none}.pf .cb-product-media--photo>img{max-height:42vh}.pf .cb-product-cart{position:sticky;bottom:0;z-index:5;margin:0 -8px;padding:10px 8px;background:#fff;box-shadow:0 -10px 18px -14px rgba(0,0,0,.35)}}
