/* KazelOnline / stages 2-4. Only the three .kzf roots are styled.
   Shared header, navigation, footer, home, admin and Stage 1 are not overridden. */
body:has(main.kzf) { background-color:#fff; }
.kzf { --kf-ink:#142032; --kf-muted:#647080; --kf-line:#e5e9ee; --kf-soft:#f7f9fb; --kf-accent:var(--accent,var(--red,#e31837)); --kf-sticky-top:110px;
  width:min(var(--page-max,1400px),calc(100% - 64px)); margin:0 auto; padding:28px 0 64px; color:var(--kf-ink); background:#fff; font-size:14px; line-height:1.55; }
.kzf *, .kzf *::before, .kzf *::after { box-sizing:border-box; }
.kzf [hidden] { display:none !important; }
.kzf :is(h1,h2,h3,p,dl,dd,form) { margin:0; }
.kzf :is(h1,h2,h3) { color:var(--kf-ink); letter-spacing:-.02em; line-height:1.3; }
.kzf a { color:inherit; text-decoration:none; }
.kzf button, .kzf input, .kzf select, .kzf textarea { font:inherit; }
.kzf button { cursor:pointer; }
.kzf button:disabled { cursor:not-allowed; }
.kzf :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--kf-accent); outline-offset:3px; }
.kzf .kzf-icon { width:20px; height:20px; flex:0 0 auto; vertical-align:middle; }
.kzf .kzf-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.kzf .kzf-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; font-size:12px; color:var(--kf-muted); }
.kzf .kzf-breadcrumb a:hover { color:var(--kf-accent); }
.kzf .kzf-page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin:0 0 32px; }
.kzf .kzf-eyebrow { color:var(--kf-accent); font-size:11px; letter-spacing:.14em; font-weight:750; margin:0 0 8px; }
.kzf .kzf-page-heading h1 { display:flex; align-items:center; flex-wrap:wrap; gap:13px; font-size:clamp(28px,2.7vw,38px); letter-spacing:-.035em; font-weight:750; margin:0 0 8px; }
.kzf .kzf-page-heading p:not(.kzf-eyebrow) { color:var(--kf-muted); font-size:14px; max-width:720px; }
.kzf .kzf-text-link { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:650; color:var(--kf-ink); }
.kzf .kzf-text-link:hover { color:var(--kf-accent); }
.kzf .kzf-heading-link { flex-shrink:0; padding-bottom:4px; }
.kzf .kzf-heading-link .kzf-icon { width:17px; height:17px; }
.kzf .kzf-count { display:inline-grid; place-items:center; min-width:34px; height:34px; padding:0 8px; border-radius:8px; background:#fff0f2; color:var(--kf-accent); font-size:17px; letter-spacing:0; }
.kzf .kzf-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; border:1px solid transparent; border-radius:7px; padding:11px 20px; font-size:14px; line-height:1.4; font-weight:750; text-align:center; transition:background .16s,border-color .16s,box-shadow .16s; }
.kzf .kzf-btn-primary { color:#fff; background:var(--kf-accent); }
.kzf .kzf-btn-primary:hover:not(:disabled) { filter:brightness(.94); box-shadow:0 4px 12px #14203213; }
.kzf .kzf-btn-outline { background:#fff; border-color:#d8dfe7; color:var(--kf-ink); }
.kzf .kzf-btn-outline:hover { border-color:var(--kf-accent); color:var(--kf-accent); }
.kzf .kzf-btn-dark { color:#fff; background:var(--kf-ink); }
.kzf .kzf-btn:disabled { background:#d4d9e1; color:#596579; border-color:transparent; box-shadow:none; }
.kzf .kzf-btn .kzf-icon { width:18px; height:18px; }
.kzf .kzf-wide { width:100%; min-height:50px; }
.kzf .kzf-note { display:block; color:var(--kf-muted); font-size:12px; line-height:1.6; }
.kzf .kzf-alert { display:flex; gap:12px; align-items:flex-start; padding:15px 18px; background:#fff8ec; border:1px solid #eed7af; border-radius:8px; color:#7d4d1c; margin:0 0 22px; }
.kzf .kzf-alert a { text-decoration:underline; font-weight:700; }
.kzf .kzf-field { display:flex; flex-direction:column; gap:8px; min-width:0; color:var(--kf-ink); font-size:13px; font-weight:650; }
.kzf :is(input:not([type=checkbox]):not([type=hidden]),select,textarea) { display:block; width:100%; min-width:0; border:1px solid #d5dde7; border-radius:7px; background:#fff; color:var(--kf-ink); padding:11px 13px; min-height:46px; box-shadow:none; font-size:14px; font-weight:450; }
.kzf select { padding-right:32px; }
.kzf textarea { resize:vertical; line-height:1.6; }
.kzf input::placeholder, .kzf textarea::placeholder { color:#7e8997; font-weight:400; }
.kzf select:disabled, .kzf input:disabled { background:#f2f4f7; color:#7a8594; cursor:not-allowed; }
.kzf .kzf-field input:focus, .kzf .kzf-field select:focus, .kzf .kzf-field textarea:focus { border-color:#8899ac; }
.kzf .kzf-field [aria-invalid=true] { border-color:#ce263a; }
.kzf .kzf-field-error { display:block; min-width:0; font-weight:450; color:#bb1e35; font-size:12px; }
.kzf .kzf-field-error:empty { display:none; }
.kzf .kzf-optional { color:var(--kf-muted); font-weight:400; font-size:11px; }
.kzf .kzf-field:has(>.kzf-optional) { position:relative; }
.kzf .kzf-field > .kzf-optional { position:absolute; top:1px; right:0; }
.kzf .kzf-check { display:flex; align-items:flex-start; gap:9px; color:#334056; font-size:13px; line-height:1.55; font-weight:450; cursor:pointer; }
.kzf .kzf-check input[type=checkbox] { flex:0 0 auto; width:17px; height:17px; margin:2px 0 0; accent-color:var(--kf-accent); cursor:pointer; }
/* Stage 2: vehicle discovery */
.kzf .kzf-vehicle-search { display:grid; grid-template-columns:52px minmax(0,1fr); gap:0 20px; padding:25px 26px; border:1px solid var(--kf-line); border-radius:10px; background:var(--kf-soft); }
.kzf .kzf-vehicle-symbol { width:52px; height:52px; display:grid; place-items:center; margin-top:23px; border-radius:9px; color:var(--kf-accent); background:#fff; border:1px solid var(--kf-line); }
.kzf .kzf-vehicle-symbol .kzf-icon { width:29px; height:29px; }
.kzf .kzf-vehicle-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto; gap:16px; align-items:end; }
.kzf .kzf-vehicle-form .kzf-btn { min-height:48px; padding-inline:28px; }
.kzf .kzf-finder-status { grid-column:2; color:#9c4528; font-size:12px; }
.kzf .kzf-finder-status:not(:empty) { margin-top:12px; }
.kzf .kzf-vehicle-search noscript { grid-column:1/-1; padding-top:10px; }
.kzf .kzf-selected-vehicle { display:flex; align-items:center; gap:12px; padding:22px 0; margin:0 0 4px; border-bottom:1px solid var(--kf-line); }
.kzf .kzf-selected-icon { width:32px; height:32px; background:#eaf5ef; color:#17754b; display:grid; place-items:center; border-radius:50%; }
.kzf .kzf-selected-vehicle > div { display:grid; gap:3px; }
.kzf .kzf-selected-vehicle strong { font-size:16px; }
.kzf .kzf-selected-vehicle > a { margin-left:auto; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.kzf .kzf-micro-label { font-size:10px; letter-spacing:.1em; color:var(--kf-muted); font-weight:700; }
.kzf .kzf-results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 0 8px; }
.kzf .kzf-results-toolbar h2 { font-size:21px; white-space:nowrap; }
.kzf .kzf-result-filters { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; }
.kzf .kzf-compact-select select { width:auto; max-width:220px; min-height:39px; padding-block:8px; font-size:12px; }
.kzf .kzf-stock-filter { align-items:center; white-space:nowrap; font-size:12px; margin-right:4px; }
.kzf .kzf-fitment-note { display:flex; align-items:flex-start; gap:7px; color:var(--kf-muted); margin:9px 0 23px; font-size:12px; }
.kzf .kzf-fitment-note .kzf-icon { width:16px; height:16px; margin-top:1px; }
.kzf .kzf-filter-submit { min-height:39px; padding:8px 12px; font-size:12px; }
.kzf.is-enhanced .kzf-filter-submit { display:none; }
.kzf .kzf-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; align-items:stretch; }
.kzf .kzf-product-card { border:1px solid var(--kf-line); border-radius:10px; background:#fff; overflow:hidden; display:flex; flex-direction:column; min-width:0; transition:border-color .17s,box-shadow .17s; }
.kzf .kzf-product-card:hover { border-color:#cbd3de; box-shadow:0 7px 22px #14203209; }
.kzf .kzf-product-media { position:relative; border-bottom:1px solid #f1f3f6; }
.kzf .kzf-product-media > a:first-child { display:block; aspect-ratio:1.25; padding:23px; background:#fff; }
.kzf .kzf-product-media img { width:100%; height:100%; display:block; object-fit:contain; }
.kzf .kzf-product-body { display:flex; flex-direction:column; padding:18px; flex:1; min-width:0; }
.kzf .kzf-product-brand { color:#606b7a; font-size:11px; font-weight:750; letter-spacing:.04em; margin:0 0 6px; }
.kzf .kzf-product-body h3 { font-size:15px; font-weight:700; line-height:1.5; margin:0 0 7px; min-height:45px; overflow-wrap:anywhere; }
.kzf .kzf-product-body h3 a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.kzf .kzf-product-code { color:var(--kf-muted); font-size:11px; overflow-wrap:anywhere; margin:0 0 10px; font-weight:400; }
.kzf .kzf-stock { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:650; }
.kzf .kzf-stock:before { content:''; width:5px; height:5px; background:currentColor; border-radius:50%; flex:0 0 auto; }
.kzf .is-in { color:#16724a; }
.kzf .is-out { color:#a13b38; }
.kzf .kzf-card-price { margin-top:auto; padding-top:15px; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 9px; min-height:42px; }
.kzf .kzf-card-price strong { font-size:21px; line-height:1.3; font-weight:750; letter-spacing:-.025em; }
.kzf .kzf-card-price del { color:var(--kf-muted); font-size:12px; }
.kzf .kzf-product-link { display:flex; width:100%; min-height:41px; padding:9px 12px; margin-top:14px; font-size:12px; }
.kzf .kzf-product-link .kzf-icon { width:15px; height:15px; margin-left:auto; }
.kzf .kzf-card-favorite { position:absolute; right:11px; top:11px; }
.kzf .kzf-card-favorite, .kzf .kzf-card-favorite button { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff; color:#67768a; border:1px solid var(--kf-line); }
.kzf form.kzf-card-favorite { border:0; }
.kzf .kzf-card-favorite button { padding:6px; }
.kzf .kzf-card-favorite .kzf-icon { width:17px; height:17px; }
.kzf .kzf-card-favorite:hover { color:var(--kf-accent); }
.kzf .kzf-sale-badge { position:absolute; top:12px; left:12px; border-radius:4px; color:#ae142a; background:#fff0f2; padding:4px 7px; font-size:10px; font-weight:750; }
.kzf .kzf-pagination { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:30px; font-size:13px; }
.kzf .kzf-pagination a { display:flex; align-items:center; gap:7px; border:1px solid var(--kf-line); padding:9px 12px; border-radius:6px; }
.kzf .kzf-pagination a:hover { color:var(--kf-accent); border-color:var(--kf-accent); }
.kzf .kzf-empty { padding:54px 24px; text-align:center; max-width:650px; margin:12px auto; }
.kzf .kzf-empty-icon { width:66px; height:66px; display:grid; place-items:center; color:var(--kf-accent); background:#fff2f4; border-radius:16px; margin:0 auto 21px; }
.kzf .kzf-empty-icon .kzf-icon { width:32px; height:32px; }
.kzf .kzf-empty h2, .kzf .kzf-empty h3 { font-size:23px; margin:0 0 12px; }
.kzf .kzf-empty p { font-size:14px; color:var(--kf-muted); max-width:460px; margin:0 auto; line-height:1.8; }
.kzf .kzf-empty-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin-top:26px; align-items:center; }
/* Stage 3: cart */
.kzf .kzf-commerce-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:40px; align-items:start; }
.kzf .kzf-cart-content { min-width:0; }
.kzf .kzf-cart-table-heading { display:grid; grid-template-columns:minmax(0,1fr) 135px 144px; gap:18px; border-bottom:1px solid var(--kf-line); padding:0 0 13px; font-size:11px; color:var(--kf-muted); }
.kzf .kzf-cart-table-heading span:nth-child(2) { text-align:center; }
.kzf .kzf-cart-table-heading span:last-child { text-align:right; }
.kzf .kzf-cart-row { display:grid; grid-template-columns:112px minmax(0,1fr) 135px 144px; gap:18px; padding:26px 0; align-items:center; border-bottom:1px solid var(--kf-line); }
.kzf .kzf-cart-photo { display:grid; place-items:center; width:112px; height:112px; padding:10px; background:#fff; border:1px solid var(--kf-line); border-radius:8px; }
.kzf .kzf-cart-photo img { width:100%; height:100%; object-fit:contain; }
.kzf .kzf-cart-info { min-width:0; }
.kzf .kzf-cart-info h2 { font-size:15px; font-weight:700; line-height:1.5; margin:0 0 8px; overflow-wrap:anywhere; }
.kzf .kzf-cart-info h2 a:hover { color:var(--kf-accent); }
.kzf .kzf-unit-price { font-size:11px; color:var(--kf-muted); margin:10px 0 0; }
.kzf .kzf-unit-price strong { color:#354258; font-weight:650; }
.kzf .kzf-cart-quantity { display:flex; flex-direction:column; align-items:center; gap:8px; margin:0; }
.kzf .kzf-stepper { display:grid; grid-template-columns:35px minmax(0,1fr) 35px; width:132px; height:43px; border:1px solid #d5dde7; border-radius:6px; overflow:hidden; }
.kzf .kzf-stepper button { display:grid; place-items:center; color:var(--kf-ink); padding:0; background:#fff; border:0; border-radius:0; }
.kzf .kzf-stepper button:hover:not(:disabled) { background:var(--kf-soft); color:var(--kf-accent); }
.kzf .kzf-stepper button:disabled { color:#bcc5d0; }
.kzf .kzf-stepper .kzf-icon { width:15px; height:15px; }
.kzf .kzf-stepper input { border:0; border-radius:0; padding:0 1px; height:41px; min-height:0; text-align:center; font-weight:650; appearance:textfield; -moz-appearance:textfield; font-variant-numeric:tabular-nums; }
.kzf .kzf-stepper input::-webkit-inner-spin-button, .kzf .kzf-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.kzf .kzf-quantity-save { border:0; color:var(--kf-accent); padding:4px 8px; background:transparent; font-size:11px; font-weight:700; min-height:27px; }
.kzf .kzf-quantity-save:disabled { color:#8a96a5; }
.kzf .kzf-quantity-note { font-size:10px; text-align:center; color:var(--kf-muted); max-width:150px; }
.kzf .kzf-row-end { display:flex; flex-direction:column; gap:16px; align-items:flex-end; }
.kzf .kzf-line-total { font-size:20px; font-weight:750; letter-spacing:-.03em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.kzf .kzf-remove { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:0; background:transparent; color:var(--kf-muted); font-size:11px; padding:5px 0; min-height:27px; }
.kzf .kzf-remove:hover { color:var(--kf-accent); }
.kzf .kzf-remove .kzf-icon { width:15px; height:15px; }
.kzf .kzf-mobile-label { display:none; }
.kzf .kzf-coupon { margin-top:25px; border:1px solid var(--kf-line); border-radius:8px; padding:0 18px; }
.kzf .kzf-coupon summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; padding:16px 0; font-size:13px; font-weight:650; }
.kzf .kzf-coupon summary::-webkit-details-marker { display:none; }
.kzf .kzf-coupon summary>span { display:flex; align-items:center; gap:9px; }
.kzf .kzf-coupon summary>.kzf-icon { width:16px; height:16px; }
.kzf .kzf-coupon[open] summary>.kzf-icon { transform:rotate(45deg); }
.kzf .kzf-coupon-body { padding:0 0 17px; }
.kzf .kzf-coupon-body form { display:flex; gap:10px; max-width:480px; }
.kzf .kzf-coupon-body input { text-transform:uppercase; font-size:13px; }
.kzf .kzf-coupon-body input::placeholder { text-transform:none; }
.kzf .kzf-coupon-body .kzf-note { margin-top:8px; }
.kzf .kzf-cart-help { display:flex; gap:8px; margin:20px 0 0; color:var(--kf-muted); font-size:12px; }
.kzf .kzf-cart-help .kzf-icon { width:16px; height:16px; }
.kzf .kzf-summary { position:sticky; top:var(--kf-sticky-top); border:1px solid var(--kf-line); border-radius:12px; padding:26px; background:#fff; box-shadow:0 8px 25px #14203207; min-width:0; }
.kzf .kzf-summary h2 { font-size:22px; line-height:1.35; }
.kzf .kzf-summary-count { display:block; color:var(--kf-muted); font-size:12px; margin:7px 0 22px; }
.kzf .kzf-totals { margin:0 0 20px; }
.kzf .kzf-totals>div { display:flex; align-items:baseline; justify-content:space-between; gap:14px; font-size:13px; margin:0 0 13px; }
.kzf .kzf-totals dd { text-align:right; font-weight:650; flex:0 0 auto; font-variant-numeric:tabular-nums; }
.kzf .kzf-totals .kzf-shipping-pending dd { flex:0 1 140px; color:var(--kf-muted); font-size:11px; font-weight:450; }
.kzf .kzf-totals .kzf-discount { color:#16724a; }
.kzf .kzf-totals .kzf-total { margin-top:20px; padding-top:18px; border-top:1px solid var(--kf-line); align-items:center; }
.kzf .kzf-total dt { font-size:15px; font-weight:750; }
.kzf .kzf-total dd { font-size:26px; font-weight:780; letter-spacing:-.035em; }
.kzf .kzf-secure-note { display:flex; align-items:flex-start; justify-content:center; gap:7px; color:var(--kf-muted); font-size:11px; line-height:1.6; margin:14px 0 0; }
.kzf .kzf-secure-note .kzf-icon { width:14px; height:14px; margin-top:2px; }
.kzf .kzf-applied-coupon { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border-radius:6px; background:#f0f8f3; color:#17623f; margin:0 0 18px; }
.kzf .kzf-applied-coupon>span { display:flex; gap:7px; align-items:center; font-weight:700; font-size:12px; overflow-wrap:anywhere; }
.kzf .kzf-applied-coupon button { font-size:11px; color:inherit; padding:5px 0 5px 5px; border:0; background:transparent; text-decoration:underline; }
.kzf .kzf-summary-warning { font-size:12px; line-height:1.6; color:#954331; margin:0 0 15px; }
/* Stage 4: a single form, not a multi-step wizard. */
.kzf .kzf-checkout-form { grid-template-columns:minmax(0,1fr) 385px; gap:clamp(30px,5vw,72px); }
.kzf .kzf-form-section { padding:24px 0 28px; border-top:1px solid var(--kf-line); }
.kzf .kzf-form-section:first-child { padding-top:0; border-top:0; }
.kzf .kzf-form-section-title { display:flex; align-items:flex-start; gap:13px; margin-bottom:22px; }
.kzf .kzf-form-section-title>.kzf-icon { color:var(--kf-accent); margin-top:4px; width:21px; height:21px; }
.kzf .kzf-form-section-title h2 { font-size:19px; margin-bottom:5px; }
.kzf .kzf-form-section-title p { color:var(--kf-muted); font-size:12px; line-height:1.65; }
.kzf .kzf-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.kzf .kzf-col-full { grid-column:1/-1; }
.kzf .kzf-saved-address { margin-bottom:21px; }
.kzf .kzf-saved-address .kzf-note { font-weight:450; font-size:11px; }
.kzf .kzf-extra-address { margin-top:18px; }
.kzf .kzf-extra-address summary { width:fit-content; cursor:pointer; color:#526177; font-size:12px; font-weight:650; padding:5px 0; }
.kzf .kzf-extra-address .kzf-optional { margin-left:6px; }
.kzf .kzf-extra-address .kzf-field { margin-top:10px; }
.kzf .kzf-same-address { padding:13px 14px; border:1px solid var(--kf-line); border-radius:6px; background:var(--kf-soft); }
.kzf .kzf-billing-fields { padding-top:20px; }
.kzf .kzf-billing-section:has([data-kzf-billing-same]:checked) .kzf-billing-fields { display:none; }
.kzf .kzf-legal { display:grid; gap:14px; padding:22px 0 0; border-top:1px solid var(--kf-line); }
.kzf .kzf-legal .kzf-check { display:grid; grid-template-columns:17px minmax(0,1fr); align-items:start; gap:0 10px; }
.kzf .kzf-legal a { color:#273b54; text-decoration:underline; text-underline-offset:3px; }
.kzf .kzf-legal a:hover { color:var(--kf-accent); }
.kzf .kzf-legal .kzf-field-error { grid-column:2; margin-top:3px; }
.kzf .kzf-legal>.kzf-note { font-size:11px; margin-left:27px; }
.kzf .kzf-summary-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.kzf .kzf-summary-heading a { color:var(--kf-muted); font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.kzf .kzf-summary-products { margin:0 0 21px; border-top:1px solid var(--kf-line); }
.kzf .kzf-summary-product { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:10px; padding:16px 0; border-bottom:1px solid var(--kf-line); align-items:center; }
.kzf .kzf-summary-product>img { width:52px; height:52px; object-fit:contain; padding:4px; border:1px solid #eef1f5; border-radius:6px; }
.kzf .kzf-summary-product>div { min-width:0; }
.kzf .kzf-summary-product strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:11px; line-height:1.5; font-weight:650; overflow-wrap:anywhere; }
.kzf .kzf-summary-product small { display:block; font-size:10px; color:var(--kf-muted); margin-top:4px; }
.kzf .kzf-summary-product>b { font-size:11px; white-space:nowrap; font-weight:700; }
.kzf .kzf-coupon-return { display:flex; gap:7px; align-items:center; margin:0 0 20px; font-size:11px; color:var(--kf-muted); }
.kzf .kzf-coupon-return .kzf-icon { width:15px; height:15px; }
.kzf .kzf-coupon-return:hover { color:var(--kf-accent); }
.kzf .kzf-submit-status { font-size:12px; color:var(--kf-muted); text-align:center; }
.kzf .kzf-submit-status:not(:empty) { margin-top:12px; }
.kzf .kzf-checkout-fields { min-width:0; }
.kzf .kzf-cart-empty { padding-block:48px 70px; }
@media (min-width:1700px) { .kzf .kzf-product-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:1200px) {
 .kzf .kzf-commerce-layout { grid-template-columns:minmax(0,1fr) 325px; gap:28px; }
 .kzf .kzf-cart-row { grid-template-columns:86px minmax(0,1fr) 116px; gap:14px; }
 .kzf .kzf-cart-photo { width:86px; height:90px; }
 .kzf .kzf-cart-quantity { grid-column:2; align-items:flex-start; }
 .kzf .kzf-row-end { grid-column:3; grid-row:1/3; align-self:center; }
 .kzf .kzf-cart-table-heading { grid-template-columns:1fr 116px; }
 .kzf .kzf-cart-table-heading span:nth-child(2) { display:none; }
 .kzf .kzf-results-toolbar { align-items:flex-start; flex-direction:column; }
 .kzf .kzf-result-filters { justify-content:flex-start; }
 .kzf .kzf-product-grid { gap:14px; }
 .kzf .kzf-summary { padding:22px; }
 .kzf .kzf-summary-product { grid-template-columns:44px minmax(0,1fr); }
 .kzf .kzf-summary-product>img { width:44px; height:44px; grid-row:1/3; }
 .kzf .kzf-summary-product>b { grid-column:2; margin-top:-5px; }
}
@media (max-width:960px) {
 .kzf .kzf-commerce-layout { grid-template-columns:1fr; gap:28px; }
 .kzf .kzf-summary { position:static; }
 .kzf .kzf-cart-table-heading { display:none; }
 .kzf .kzf-cart-row { grid-template-columns:96px minmax(0,1fr) 135px 130px; }
 .kzf .kzf-cart-photo { width:96px; height:100px; }
 .kzf .kzf-cart-quantity { grid-column:auto; align-items:center; }
 .kzf .kzf-row-end { grid-column:auto; grid-row:auto; }
 .kzf .kzf-vehicle-search { grid-template-columns:1fr; padding:22px; }
 .kzf .kzf-vehicle-symbol { display:none; }
 .kzf .kzf-finder-status { grid-column:1; }
 .kzf .kzf-vehicle-form { grid-template-columns:1fr 1fr; }
 .kzf .kzf-vehicle-form .kzf-btn { grid-column:1/-1; }
 .kzf .kzf-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .kzf .kzf-summary-product { grid-template-columns:52px minmax(0,1fr) auto; }
 .kzf .kzf-summary-product>img { width:52px; height:52px; grid-row:auto; }
 .kzf .kzf-summary-product>b { grid-column:auto; margin:0; }
}
@media (max-width:680px) {
 .kzf { width:calc(100% - 32px); padding:22px 0 40px; }
 .kzf .kzf-breadcrumb { margin-bottom:22px; font-size:11px; }
 .kzf .kzf-page-heading { display:block; margin-bottom:24px; }
 .kzf .kzf-page-heading h1 { font-size:28px; }
 .kzf .kzf-page-heading p:not(.kzf-eyebrow) { font-size:13px; }
 .kzf .kzf-heading-link { margin-top:16px; font-size:12px; }
 .kzf .kzf-vehicle-search { padding:18px; }
 .kzf .kzf-vehicle-form { grid-template-columns:1fr; gap:16px; }
 .kzf .kzf-vehicle-form :is(select,input) { font-size:16px; }
 .kzf .kzf-selected-vehicle { gap:9px; }
 .kzf .kzf-selected-vehicle strong { font-size:14px; }
 .kzf .kzf-selected-vehicle > a { font-size:11px; max-width:80px; text-align:right; }
 .kzf .kzf-results-toolbar { padding-top:22px; gap:14px; }
 .kzf .kzf-results-toolbar h2 { font-size:20px; }
 .kzf .kzf-result-filters { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:10px; }
 .kzf .kzf-stock-filter { grid-column:1/-1; margin-bottom:3px; }
 .kzf .kzf-compact-select select { width:100%; max-width:none; font-size:12px; padding-right:22px; }
 .kzf .kzf-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
 .kzf .kzf-product-body { padding:13px; }
 .kzf .kzf-product-media>a:first-child { padding:18px 12px; aspect-ratio:1.07; }
 .kzf .kzf-product-body h3 { font-size:13px; min-height:39px; }
 .kzf .kzf-product-brand { font-size:10px; }
 .kzf .kzf-product-code { font-size:10px; }
 .kzf .kzf-card-price strong { font-size:18px; }
 .kzf .kzf-product-link { font-size:11px; padding:9px 7px; gap:4px; }
 .kzf .kzf-card-favorite { right:6px; top:6px; }
 .kzf .kzf-sale-badge { left:6px; top:6px; max-width:90px; font-size:9px; }
 .kzf .kzf-fitment-note { font-size:11px; margin-bottom:18px; }
 .kzf .kzf-cart-row { grid-template-columns:80px minmax(0,1fr); gap:14px 13px; padding:22px 0; }
 .kzf .kzf-cart-photo { width:80px; height:86px; align-self:start; }
 .kzf .kzf-cart-info h2 { font-size:14px; }
 .kzf .kzf-cart-info .kzf-product-code { font-size:10px; margin-bottom:7px; }
 .kzf .kzf-cart-quantity { grid-column:1; grid-row:2; align-items:flex-start; width:132px; max-width:none; }
 .kzf .kzf-row-end { grid-column:2; grid-row:2; align-self:start; gap:8px; margin-left:auto; }
 .kzf .kzf-mobile-label { display:block; font-size:10px; color:var(--kf-muted); margin-bottom:-5px; }
 .kzf .kzf-line-total { font-size:20px; }
 .kzf .kzf-stepper { width:132px; height:44px; }
 .kzf .kzf-stepper input { height:42px; font-size:16px; }
 .kzf .kzf-coupon { padding-inline:15px; }
 .kzf .kzf-summary { padding:22px; border-radius:9px; box-shadow:none; }
 .kzf .kzf-field-grid { gap:16px 12px; }
 .kzf .kzf-field input, .kzf .kzf-field textarea, .kzf .kzf-field select { font-size:16px; }
 .kzf .kzf-form-section { padding-bottom:24px; }
 .kzf .kzf-form-section-title { gap:10px; margin-bottom:18px; }
 .kzf .kzf-form-section-title h2 { font-size:18px; }
 .kzf .kzf-legal { gap:16px; }
 .kzf .kzf-empty { padding:38px 14px; }
 .kzf .kzf-empty h2, .kzf .kzf-empty h3 { font-size:21px; }
 .kzf .kzf-empty-actions { flex-direction:column; }
}
@media (max-width:390px) {
 .kzf .kzf-field-grid { grid-template-columns:1fr; }
 .kzf .kzf-product-link .kzf-icon { display:none; }
 .kzf .kzf-product-body { padding:11px; }
 .kzf .kzf-total dd { font-size:24px; }
 .kzf .kzf-summary { padding:18px; }
 .kzf .kzf-card-price strong { font-size:16px; }
 .kzf .kzf-row-end { gap:8px; }
 .kzf .kzf-line-total { font-size:18px; }
}
@media (prefers-reduced-motion:reduce) { .kzf *, .kzf *::before, .kzf *::after { scroll-behavior:auto !important; transition:none !important; } }
