.spares-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.spares-general-consult{margin-bottom:28px}
.spares-carousel{position:relative}
.spares-carousel-enabled .spares-grid{perspective:1800px;perspective-origin:center;isolation:isolate;overflow:clip}
.spares-carousel-enabled .spare-card{grid-row:1;opacity:0;visibility:hidden;pointer-events:none;backface-visibility:hidden;transform-origin:center;animation-duration:2.6s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:both}
.spares-carousel-enabled .spare-card[aria-hidden=false]{opacity:1;visibility:visible;pointer-events:auto}
.spares-carousel-enabled .spares-enter-forward{z-index:2;animation-name:spares-in-right}
.spares-carousel-enabled .spares-enter-back{z-index:2;animation-name:spares-in-left}
.spares-carousel-enabled .spares-leave-forward{z-index:1;opacity:1;visibility:visible;animation-name:spares-out-left}
.spares-carousel-enabled .spares-leave-back{z-index:1;opacity:1;visibility:visible;animation-name:spares-out-right}
@keyframes spares-in-right{from{opacity:0;transform:translateX(42%) rotateY(16deg)}to{opacity:1;transform:translateX(0) rotateY(0deg)}}
@keyframes spares-out-left{from{opacity:1;transform:translateX(0) rotateY(0deg)}to{opacity:0;transform:translateX(-42%) rotateY(-16deg)}}
@keyframes spares-in-left{from{opacity:0;transform:translateX(-42%) rotateY(-16deg)}to{opacity:1;transform:translateX(0) rotateY(0deg)}}
@keyframes spares-out-right{from{opacity:1;transform:translateX(0) rotateY(0deg)}to{opacity:0;transform:translateX(42%) rotateY(16deg)}}
.spares-carousel-arrow{position:absolute;z-index:4;top:var(--spares-arrow-top,35%);transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 3px 12px #0b2b5424;font-size:24px;line-height:1}
.spares-carousel-arrow:hover{background:#edf3f9}
.spares-carousel-previous{left:-18px}
.spares-carousel-next{right:-18px}
@media(prefers-reduced-motion:reduce){.spares-carousel-enabled:not([data-spares-motion=on]) .spare-card{animation:none;transform:none}}
.spare-card{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;flex-direction:column}
.spare-image-link{display:block;border-radius:9px 9px 0 0;background:#f4f6f8;color:var(--navy)}
.spare-image-link img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:9px 9px 0 0}
.spare-enlarge{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:9px 14px;font-size:11px;line-height:1.5;font-weight:700;border-top:1px solid var(--line)}
.spare-image-link:hover .spare-enlarge{background:#eaf0f6}
.spare-enlarge span{font-size:17px;line-height:1}
.spare-body{padding:19px;display:flex;flex-direction:column;gap:17px;flex:1}
.spare-body h3{font-size:21px;line-height:1.2;margin:0;letter-spacing:-.025em}
.spares-dialog{width:min(1080px,calc(100% - 32px));background:#fff}
.spares-dialog .dialog-close{position:sticky;float:right;top:12px;margin:12px 12px 0 0}
.spares-dialog-figure{margin:0;padding:24px 24px 0;clear:both}
.spares-dialog-figure img{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain}
.spares-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;flex-wrap:wrap}
.spares-dialog-footer>div{flex:1;min-width:min(100%,240px)}
.spares-dialog-footer h2{font-size:28px;line-height:1.15;margin:0 0 10px}
.spares-dialog-footer p{font-size:12px;line-height:1.7;margin:0;max-width:520px}
/* Keep the enlarged brand logos and the additional navigation link comfortably spaced. */
@media(min-width:901px) and (max-width:1200px){
  .site-header .header-inner{min-height:102px}
  .site-header .menu-toggle{display:flex;min-width:76px;min-height:40px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:9px 12px;font-size:12px;align-items:center;gap:11px}
  .site-header #navigation{display:none;position:absolute;top:102px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:22px 24px;box-shadow:0 10px 15px #14365610}
  .site-header #navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}
  .site-header #navigation a{padding-block:5px}
}
@media(max-width:900px){.spares-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:520px){
  .spares-grid{grid-template-columns:1fr;gap:18px}
  .spares-carousel-previous{left:8px}
  .spares-carousel-next{right:8px}
  .spare-body{padding:17px}
  .spare-body h3{font-size:22px}
  .spares-dialog-figure{padding:14px 14px 0}
  .spares-dialog-footer{padding:20px;gap:18px}
  .spares-dialog-footer h2{font-size:25px}
}
