/* 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 input{flex:1;border:0;padding:11px 14px;font-size:14px;background:transparent;min-width:0}
.pf .cb-products-search button{border:0;background:var(--dark);color:#fff;padding:0 18px;font-size:13px;font-weight:600}
.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-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-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}
.pf .cb-product-cart .cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pf .cb-product-cart .quantity input{width:80px;padding:12px;border:1px solid var(--ink);font-size:16px}
.pf .cb-product-cart .single_add_to_cart_button{background:var(--dark);color:#fff;border:0;padding:16px 26px;font-weight:600;cursor:pointer}
.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 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%}}
