@charset "UTF-8";
body.ckcp-source-product { --paper:#f2f0eb; --ink:#24262a; --muted:#62676e; --line:#d5d4d0; margin:0; background:var(--paper); color:var(--ink); font:400 15px/1.65 "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.ckcp-source-product * { box-sizing:border-box; }
.ckcp-source-product :is(h1,h2,h3,p,figure,dl,dd) { margin:0; }
.ckcp-source-product :is(h1,h2,h3) { font-family:inherit; font-weight:400; letter-spacing:-.04em; }
.ckcp-source-product :is(a,button,input,select,summary):focus-visible { outline:2px solid #8ca8c0; outline-offset:5px; }
.ckcp-source-product a { color:inherit; text-decoration:none; }
.ckcp-source-product :is(button,input,select) { font:inherit; }
.ckcp-source-product svg { display:block; flex-shrink:0; }
.ckcp-source-product [hidden] { display:none!important; }
.ckcp-source-product main { padding:0; }
.catalog-shell { width:calc(100% - 112px); max-width:1400px; margin-inline:auto; }
.catalog-skip { position:absolute; top:0; left:24px; padding:12px; background:#fff; color:#202124!important; transform:translateY(-120%); z-index:5; }
.catalog-skip:focus { transform:translateY(0); }
.catalog-masthead { background:#111214; color:#f2f0eb; }
.catalog-header { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.catalog-brand-group { display:flex; align-items:center; gap:24px; }
.catalog-brand { font-size:28px; line-height:1; font-weight:750; letter-spacing:-1px; }
.catalog-brand span { display:block; font-size:6px; letter-spacing:1.7px; margin:7px 0 0 1px; font-weight:500; }
.catalog-preview-label { color:#959aa2; font-size:8px; letter-spacing:1.3px; padding-left:23px; border-left:1px solid #383b40; }
.catalog-header nav { display:flex; gap:32px; font-size:13px; }
.catalog-header nav a { padding:15px 0; color:#adb2ba; }
.catalog-header nav a:is(:hover,.active) { color:#fff; }
.catalog-account { display:flex; align-items:center; gap:17px; font-size:13px; }
.catalog-breadcrumb { display:flex; gap:14px; flex-wrap:wrap; align-items:center; padding:30px 0; color:var(--muted); font-size:9px; letter-spacing:1.1px; }
.catalog-breadcrumb a { border-bottom:1px solid #9fa3aa; }
.catalog-product-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:64px; align-items:start; scroll-margin-top:94px; }
.catalog-media { min-width:0; background:#fff; }
.catalog-main-photo { display:flex; align-items:center; justify-content:center; width:100%; height:580px; padding:24px; background:#fff; }
.catalog-main-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.catalog-photo-list { display:flex; gap:10px; padding:14px 20px; border-top:1px solid #e3e3e0; overflow-x:auto; }
.catalog-photo-list a { display:block; flex:0 0 64px; height:74px; padding:4px; border:1px solid #d4d6da; }
.catalog-photo-list a[aria-current=true] { border:2px solid #25272b; padding:3px; }
.catalog-photo-list img { display:block; width:100%; height:100%; object-fit:contain; }
.catalog-photo-caption { display:flex; align-items:center; justify-content:space-between; gap:10px 20px; flex-wrap:wrap; padding:10px 20px 15px; color:var(--muted); }
.catalog-photo-caption span { font-size:8px; letter-spacing:1px; }
.catalog-photo-caption a { display:inline-flex; align-items:center; gap:16px; min-height:38px; font-size:11px; }
.catalog-photo-caption a svg { width:14px; }
.catalog-photo-empty { min-height:400px; display:grid; place-items:center; color:var(--muted); }
.catalog-product-copy { padding:34px 0 20px; min-width:0; }
.catalog-eyebrow { font-size:10px; letter-spacing:1.5px; color:var(--muted); }
.ckcp-source-product h1 { font-size:clamp(36px,3.6vw,54px); line-height:1.08; margin:24px 0; overflow-wrap:anywhere; }
.catalog-summary { color:var(--muted); font-size:14px; line-height:1.85; max-width:46ch; }
.catalog-product-facts { margin:28px 0 0!important; padding:18px 0; border-block:1px solid var(--line); }
.catalog-product-facts>div { display:grid; grid-template-columns:96px 1fr; gap:20px; padding:8px 0; }
.catalog-product-facts dt { color:var(--muted); font-size:11px; }
.catalog-product-facts dd { font-size:12px; overflow-wrap:anywhere; }
.catalog-price { padding:29px 0 25px; }
.catalog-price strong { font-size:30px; font-weight:400; letter-spacing:-.7px; }
.catalog-price p { margin-top:9px; font-size:12px; line-height:1.8; color:var(--muted); max-width:43ch; }
.catalog-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.catalog-button { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:52px; min-width:250px; padding:14px 22px; background:#24262a; color:#f2f0eb!important; font-size:13px; border:1px solid #24262a; transition:background .2s; }
.catalog-button:hover { background:#454951; }
.catalog-button:active { transform:translateY(1px); }
.catalog-text-link { display:inline-flex; align-items:center; gap:26px; min-height:44px; font-size:13px; border-bottom:1px solid #999ea6; }
.catalog-local-note { color:#747a82; font-size:10px; margin-top:22px!important; }
.catalog-fitment { margin-top:25px; border-top:1px solid var(--line); padding-top:16px; }
.catalog-fitment summary { cursor:pointer; font-size:12px; }
.catalog-fitment p { margin-top:12px; font-size:12px; color:var(--muted); line-height:1.8; }
.catalog-fitment span { font-variant-numeric:tabular-nums; }
.catalog-installation { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:48px; margin-top:70px; background:#202226; color:#f2f0eb; }
.catalog-installation .catalog-eyebrow { color:#a6adb6; }
.catalog-installation h2 { font-size:38px; line-height:1.16; margin-top:22px; }
.catalog-installation>div:last-child { align-self:center; }
.catalog-installation>div:last-child p { font-size:14px; color:#b6bec8; max-width:41ch; line-height:1.85; }
.catalog-installation .catalog-text-link { margin-top:22px; border-color:#777f8a; }
.catalog-related { padding:68px 0 78px; }
.catalog-section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:30px; }
.catalog-section-heading h2 { font-size:37px; line-height:1.2; margin-top:15px; }
.catalog-section-heading>p { color:var(--muted); font-size:12px; max-width:320px; }
.catalog-related-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.catalog-related-product { min-width:0; }
.catalog-related-photo { display:grid; place-items:center; background:#fff; height:270px; padding:16px; color:var(--muted); font-size:12px; }
.catalog-related-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.catalog-related-reason { margin-top:21px!important; font-size:10px; color:var(--muted); }
.catalog-related h3 { font-size:23px; line-height:1.25; margin-top:11px; }
.catalog-related-price { margin-top:12px!important; font-size:13px; }
.catalog-related-guide { display:inline-flex; align-items:center; gap:18px; min-height:40px; font-size:12px; border-bottom:1px solid #9fa3a9; margin-top:8px; }
.catalog-related-guide svg { width:14px; }
.catalog-footer { margin-top:70px; background:#111214; color:#f2f0eb; }
.catalog-related+.catalog-footer { margin-top:0; }
.catalog-footer>.catalog-shell { display:grid; grid-template-columns:160px 1fr auto; gap:32px; align-items:center; padding:42px 0 30px; }
.catalog-footer p { font-size:14px; color:#b0b7c2; }
.catalog-footer small { grid-column:1/-1; border-top:1px solid #363b43; padding-top:22px; margin-top:6px; color:#a1a9b5; font-size:10px; line-height:1.8; }
.ckcp-source-product #wpadminbar { display:none!important; }
html:has(body.ckcp-source-product) { margin-top:0!important; }
@media(max-width:1100px) {
 .catalog-shell { width:calc(100% - 64px); }
 .catalog-preview-label { display:none; }
 .catalog-product-layout { gap:38px; }
 .catalog-main-photo { height:520px; padding:18px; }
 .catalog-product-copy { padding-top:20px; }
 .catalog-installation { gap:40px; padding:40px; }
 .catalog-related-list { gap:22px; }
}
@media(max-width:760px) {
 .catalog-shell { width:calc(100% - 40px); }
 .catalog-header { min-height:92px; flex-wrap:wrap; gap:4px 18px; padding-top:16px; }
 .catalog-header .catalog-brand { font-size:26px; }
 .catalog-header nav { order:3; width:100%; gap:24px; justify-content:space-between; font-size:12px; }
 .catalog-header nav a { padding:10px 0 13px; }
 .catalog-account { font-size:12px; gap:10px; }
 .catalog-breadcrumb { padding:25px 0; gap:10px; font-size:8px; }
 .catalog-product-layout { grid-template-columns:1fr; gap:24px; }
 .catalog-main-photo { height:400px; padding:16px; }
 .catalog-photo-list { padding:12px 14px; gap:8px; }
 .catalog-photo-caption { padding:8px 14px 12px; }
 .catalog-photo-caption span { font-size:7px; }
 .catalog-photo-caption a { font-size:10px; gap:9px; }
 .catalog-product-copy { padding-top:9px; }
 .ckcp-source-product h1 { font-size:38px; margin:20px 0; }
 .catalog-product-facts { margin-top:23px!important; }
 .catalog-product-facts>div { grid-template-columns:82px 1fr; gap:14px; }
 .catalog-price { padding:25px 0; }
 .catalog-price strong { font-size:29px; }
 .catalog-actions { align-items:stretch; }
 .catalog-button { min-width:0; }
 .catalog-actions .catalog-text-link { align-self:flex-start; }
 .catalog-installation { grid-template-columns:1fr; gap:28px; padding:32px 24px; margin-top:45px; }
 .catalog-installation h2 { font-size:33px; margin-top:18px; }
 .catalog-installation>div:last-child p { font-size:13px; }
 .catalog-related { padding:50px 0 20px; }
 .catalog-section-heading { display:block; margin-bottom:26px; }
 .catalog-section-heading h2 { font-size:31px; }
 .catalog-section-heading>p { margin-top:17px; }
 .catalog-related-list { grid-template-columns:1fr; gap:34px; }
 .catalog-related-photo { height:260px; }
 .catalog-related h3 { font-size:23px; }
 .catalog-footer { margin-top:45px; }
 .catalog-footer>.catalog-shell { grid-template-columns:1fr; gap:25px; padding-top:35px; }
 .catalog-footer .catalog-text-link { justify-content:space-between; }
 .catalog-footer small { margin:0; }
}
@media(max-width:360px) {
 .catalog-header nav { gap:15px; font-size:11px; }
 .catalog-main-photo { height:350px; }
 .ckcp-source-product h1 { font-size:33px; }
 .catalog-product-facts>div { grid-template-columns:76px 1fr; gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .ckcp-source-product *, .ckcp-source-product *::before, .ckcp-source-product *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Compact recommendations immediately after product details. */
.catalog-related { padding:30px 0 0; margin-top:28px; border-top:1px solid var(--line); }
.catalog-related .catalog-section-heading { margin-bottom:18px; gap:24px; }
.catalog-related .catalog-section-heading h2 { font-size:26px; margin-top:8px; }
.catalog-related-list { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:16px; padding:6px 4px 18px; }
.catalog-related-product { flex:0 0 350px; display:grid; grid-template-columns:96px minmax(0,1fr); column-gap:15px; align-content:start; padding:14px; border:1px solid var(--line); background:#faf9f6; scroll-snap-align:start; }
.catalog-related-photo { grid-row:1/5; height:96px; width:96px; padding:5px; }
.catalog-related-product .catalog-related-reason { font-size:9px; margin-top:0!important; }
.catalog-related-product h3 { font-size:15px; line-height:1.35; margin-top:6px; }
.catalog-related-product .catalog-related-price { font-size:11px; margin-top:7px!important; }
.catalog-related-product .catalog-related-guide { font-size:10px; min-height:30px; justify-self:start; margin-top:5px; gap:8px; }
@media(max-width:720px) {
 .catalog-related-product { flex-basis:280px; grid-template-columns:78px minmax(0,1fr); gap:0 12px; }
 .catalog-related-photo { width:78px; height:78px; }
 .catalog-related .catalog-section-heading { display:block; }
 .catalog-related .catalog-section-heading>p { margin-top:10px; font-size:11px; }
}
