/* Brand-led retail layout: one primary action per decision point. */
.page-cart .inner-hero,.page-checkout .inner-hero,.page-pay .inner-hero { padding-block:28px; min-height:0; }
.page-cart .cart-row { display:grid; grid-template-columns:90px minmax(0,1fr) minmax(160px,auto) auto; gap:18px; align-items:center; }
.page-cart .cart-thumb { width:90px; height:90px; object-fit:contain; }
.quantity-stepper { box-sizing:border-box; display:inline-grid; grid-template-columns:48px minmax(48px,1fr) 48px; grid-template-areas:"decrease quantity increase"; align-items:stretch; width:168px; min-width:146px; max-width:100%; border:1px solid #c7dde5; border-radius:12px; overflow:hidden; background:#fff; min-height:50px; }
.quantity-stepper__button { display:grid; place-items:center; width:48px; min-width:48px; min-height:46px; padding:0; border:0; background:#eef8fb; color:#12384d !important; font-family:Arial,sans-serif; font-size:24px !important; font-weight:700; line-height:1; cursor:pointer; touch-action:manipulation; user-select:none; }
.quantity-stepper > [data-qty-decrement] { grid-area:decrease; }
.quantity-stepper > [data-qty-increment] { grid-area:increase; }
.quantity-stepper__button > span { display:grid; place-items:center; width:1em; height:1em; color:#12384d; font:700 24px/1 Arial,sans-serif; }
.quantity-stepper__button:hover { background:#dff2f7; }
.quantity-stepper__button:focus-visible { outline:3px solid #009ec2; outline-offset:-3px; position:relative; z-index:1; }
.quantity-stepper .qty-input { grid-area:quantity; box-sizing:border-box; width:100%; min-width:0; min-height:48px; padding:8px 4px; border:0; border-inline:1px solid #c7dde5; border-radius:0; text-align:center; direction:ltr; -moz-appearance:textfield; }
.quantity-stepper .qty-input::-webkit-outer-spin-button,.quantity-stepper .qty-input::-webkit-inner-spin-button { margin:0; -webkit-appearance:none; }
.product-price-before { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; color:#758994; font-size:.82rem; }
.product-price-before span { font-size:.75rem; }
.product-price-before del { color:#758994; font-size:1.05rem; }
.product-price-before b { padding:4px 8px; border-radius:999px; background:#fff0ef; color:#b64b46; font-size:.72rem; }
.cart-price-before { display:block; color:#758994; font-size:.78rem; margin-top:5px; }
.cart-price-before del { color:#8a5c5c; }
.page-checkout .form-grid input,.page-checkout .form-grid select,.page-checkout .form-grid textarea { min-height:48px; }
.payment-method-card:has(input:checked) { outline:2px solid #009dc3; background:#edf9fc; }
.payment-method-card:focus-within { outline:3px solid #12384d; }
.payment-method-card__logos { display:flex; align-items:center; justify-content:center; gap:6px; min-height:32px; }
.payment-method-card__logos img { width:auto; max-width:62px; height:28px; object-fit:contain; }
.commerce-steps { display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:700px) {
 .page-cart .cart-row { grid-template-columns:70px minmax(0,1fr); gap:12px; }
 .page-cart .cart-thumb { width:70px; height:70px; }
 .page-cart .cart-line-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
 .page-cart .cta-panel .hero-actions,.page-cart .cta-panel { display:grid; grid-template-columns:minmax(0,1fr); }
 .page-cart .content-card-body { padding:14px; }
 .page-cart .cart-row > .quantity-stepper { grid-column:2; width:100%; grid-template-columns:48px minmax(48px,1fr) 48px; }
 .page-cart .cart-line-actions { grid-column:2; min-height:44px; }
 .page-cart .cta-panel { margin-bottom:14px; padding:16px; gap:16px; }
 .page-cart .cta-panel h2 { font-size:22px; line-height:1.5; }
 .page-cart .cta-panel .hero-actions .btn { width:100%; min-height:48px; }
 .page-checkout .checkout-layout,.page-pay .payment-layout { grid-template-columns:minmax(0,1fr); }
 .page-checkout .form-grid { grid-template-columns:minmax(0,1fr); }
}
.home-retail { --retail-ink:#12384d; --retail-line:#dde8ed; }
.home-retail .hero-section--automotive { min-height:340px; padding-block:48px; }
.home-retail .hero-grid { min-height:260px; }
.home-retail .hero-copy { max-width:650px; }
.home-retail .hero-copy h1 { font-size:clamp(30px,4vw,54px); line-height:1.35; }
.home-retail .hero-copy p { max-width:45ch; font-size:17px; }
.home-retail .listing-section { padding-block:42px; }
.home-retail .section-heading { text-align:start; margin-bottom:24px; }
.home-retail .section-heading h2 { font-size:clamp(24px,2.5vw,34px); }
.home-retail .home-products .content-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-retail .catalogue-card { border:1px solid var(--retail-line); border-radius:16px; box-shadow:none; background:#fff; }
.home-retail .catalogue-card__image img { object-fit:contain; aspect-ratio:1; height:auto; }
.home-retail .catalogue-card__specs { display:none; }
.home-retail .catalogue-card h3 { font-size:17px; line-height:1.6; }
.home-retail .section-action { text-align:center; margin-top:24px; }
.product-retail { background:#f5f8fa; color:#12384d; }
.product-retail .product-breadcrumb { padding:20px 0; background:none; min-height:0; }
.product-breadcrumb nav { display:flex; flex-wrap:wrap; gap:12px; font-size:13px; }
.product-retail>.listing-section { padding-block:20px 40px; }
.product-retail .catalogue-detail { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:start; gap:32px; }
.product-retail .content-card { border:1px solid #e0e9ee; box-shadow:none; border-radius:20px; }
.product-retail .catalogue-detail > * { min-width:0; }
.product-retail__gallery { position:sticky; top:100px; padding:24px; background:#fff; }
.product-retail__gallery>img { display:block; width:100%; height:auto; max-height:580px; aspect-ratio:1; object-fit:contain; }
.product-retail__purchase .content-card-body { padding:30px; }
.product-retail__purchase h1 { font-size:clamp(24px,2.6vw,36px); line-height:1.5; margin:8px 0; overflow-wrap:anywhere; }
.product-retail__availability { color:#22664c; font-size:13px; margin:0; }
.product-retail__size { font-size:22px; font-weight:800; letter-spacing:1px; }
.product-retail .product-pricing { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; border-top:1px solid #e0e9ee; padding-top:18px; }
.product-retail .product-pricing strong { font-size:34px; color:#12384d; }
.product-retail .catalogue-set-price { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; margin-block:18px; padding:18px; background:#eaf6fa; border-radius:12px; }
.product-retail__buy { display:grid; grid-template-columns:168px minmax(0,1fr); gap:12px; align-items:end; margin:24px 0 14px; }
.product-retail__buy > label { display:grid; gap:6px; min-width:0; margin:0; font-size:13px; }
.product-retail__buy .qty-input { width:100%; min-height:48px; }
.product-retail__buy > .btn { min-width:0; min-height:50px; border-radius:12px; padding:12px 16px; white-space:normal; }
.product-retail__buy > .btn-primary { background:#12384d; box-shadow:inset 0 -3px 0 #009ec2; }
.product-retail__buy > .btn-primary:hover { background:#0b4e6b; transform:none; }
.product-retail__buy .quantity-stepper__button:disabled { opacity:.45; cursor:not-allowed; }
.product-retail__stock-note { margin-block:0 18px; color:#526d7c; font-size:13px; line-height:1.7; }
.product-retail__excerpt { border-top:1px solid #e0e9ee; margin-block:22px 0; padding-block:18px; color:#526d7c; line-height:1.85; overflow-wrap:anywhere; }
.product-retail__secondary-actions { display:flex; flex-wrap:wrap; gap:8px 16px; border-top:1px solid #e0e9ee; padding-top:14px; }
.product-retail__secondary-actions > a { display:inline-flex; align-items:center; gap:6px; min-height:44px; color:#14556c; font-size:14px; }
.product-retail__specs { border-top:1px solid #e0e9ee; padding-block:18px; }
.product-retail__specs summary { cursor:pointer; font-weight:800; padding-block:8px; }
.product-retail .spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.product-retail .spec-card { padding:12px; box-shadow:none; background:#f5f8fa; }
.product-retail .detail-actions-grid { display:none; }
.product-retail .hero-actions .btn { min-height:44px; }
.product-retail a:focus-visible,.product-retail button:focus-visible,.product-retail summary:focus-visible { outline:3px solid #009ec2; outline-offset:4px; }
@media(max-width:1000px) {
 .home-retail .home-products .content-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .product-retail .catalogue-detail { gap:18px; }
 .product-retail__purchase .content-card-body { padding:20px; }
 .product-retail__buy { grid-template-columns:minmax(0,1fr); }
 .product-retail__buy > .btn { width:100%; }
}
@media(max-width:820px) {
 .product-retail .catalogue-detail { grid-template-columns:minmax(0,1fr); }
 .product-retail__gallery { position:static; padding:14px; }
 .product-retail__gallery>img { max-height:340px; }
 .product-retail__purchase .content-card-body { padding:20px 16px; }
}
@media(max-width:700px) {
 .home-retail .hero-section--automotive { padding-block:30px; min-height:280px; }
 .home-retail .hero-grid { min-height:220px; }
 .home-retail .listing-section { padding-block:28px; }
 .home-retail .home-products .content-grid { gap:10px; }
 .home-retail .catalogue-card__body { padding:12px; }
 .home-retail .catalogue-card h3 { font-size:14px; }
}
@media(max-width:380px) { .home-retail .home-products .content-grid { grid-template-columns:minmax(0,1fr); } }
.product-information { scroll-margin-top:110px; }
.product-information__grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:24px; align-items:start; }
.product-copy,.product-specifications { padding:clamp(20px,3vw,36px); min-width:0; }
.product-copy h2,.product-specifications h2 { font-size:24px; color:#12384d; margin:0 0 20px; }
.product-copy__body { line-height:1.95; overflow-wrap:anywhere; color:#425766; }
.product-copy__body h3 { font-size:19px; color:#12384d; margin-block:24px 10px; }
.product-copy__body ul,.product-copy__body ol { padding-inline-start:24px; }
.product-specifications table { width:100%; border-collapse:collapse; }
.product-specifications th,.product-specifications td { text-align:start; padding:13px 10px; border-bottom:1px solid #e2edf1; overflow-wrap:anywhere; }
.product-specifications th { font-weight:600; width:48%; }
.product-specifications tr:nth-child(odd) { background:#f4f9fb; }
.product-tags { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin-block:24px 0; }
.product-tags li { background:#edf7fa; color:#14556c; border-radius:8px; padding:5px 12px; font-size:13px; }
@media(max-width:820px) { .product-information__grid { grid-template-columns:minmax(0,1fr); } }
