/* Drive.ma homepage: a restrained marketplace and editorial front page. */
.drive-ma-site .drive-home--composed .drive-composed-content > .drive-portal-hero:first-child,
.drive-ma-site.home .drive-market-rail { display: none; }

.drive-home--composed { background: #fff; color: #000; }
.drive-home-lead { background: #fff; padding: 2.5rem 0 0; }

.drive-home-shop {
  background: linear-gradient(262deg, #0b193f -8%, #1e47a2 107%);
  border: 1px solid #2960c5;
  border-radius: 1.5rem;
  box-shadow: none;
  color: #fff;
  margin-bottom: 2rem;
  min-height: 12.5rem;
  padding: 1.25rem 2rem;
}
.drive-home-shop__intro { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; }
.drive-ma-site .site .drive-home-shop__intro h1 { color: #fff; font-family: var(--drive-font-family-display); font-size: clamp(1.75rem, 2.4vw, 2.25rem) !important; font-weight: 600; letter-spacing: 0; line-height: 1.12; margin: 0; max-inline-size: none; }
.drive-home-shop__intro p { color: #fff; font-size: .8125rem; line-height: 1.5; margin: 0; }
.drive-home-shop form { align-items: stretch; background: #fff; border: 1px solid rgb(255 255 255 / 55%); border-radius: .5rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(10rem, auto); margin: 1rem 0 0; overflow: hidden; }
.drive-home-shop label { border-right: 1px solid #efefef; margin: 0; min-width: 0; padding: .45rem .75rem; }
.drive-home-shop label > span { color: #666; display: block; font-size: .75rem; font-weight: 500; line-height: 1.25; }
.drive-home-shop select { appearance: auto; background: #fff; border: 0; color: #000; font-size: 1rem; font-weight: 500; height: 2rem; max-width: 100%; min-height: 2rem; padding: 0 .25rem 0 0; width: 100%; }
.drive-home-shop [data-drive-model-hint] { color: #475467; display: block; font-size: .6875rem; line-height: 1.3; margin-top: .125rem; }
.drive-home-shop [data-drive-model-hint][hidden] { display: none; }
.drive-home-shop button { align-items: center; align-self: stretch; background: #2960c5; border: 0; border-radius: .5rem; color: #fff; display: inline-flex; font-size: .875rem; font-weight: 600; gap: .5rem; justify-content: center; margin: .25rem; min-height: 3rem; padding: .625rem 1.25rem; white-space: nowrap; }
.drive-home-shop button:hover { background: #1e47a2; }
.drive-home-shop__quick { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: .75rem; }
.drive-home-shop__quick strong { color: #fff; font-size: .75rem; font-weight: 500; }
.drive-home-shop__quick a { color: #fff; font-size: .8125rem; font-weight: 500; text-decoration-thickness: 1px; text-underline-offset: .2em; }

.drive-home-lead__layout { background: #fff; padding-bottom: 2.75rem; }
.drive-home-slider { min-width: 0; position: relative; }
.drive-home-slider__stage { display: grid; height: 25rem; overflow: hidden; }
.drive-home-slide { background: #fff; display: grid; gap: 2.5rem; grid-area: 1 / 1; grid-template-columns: minmax(0, 2fr) minmax(20rem, 1fr); opacity: 0; pointer-events: none; transition: opacity 300ms ease; visibility: hidden; }
.drive-home-slide.is-active { opacity: 1; pointer-events: auto; visibility: visible; }
.drive-home-slide__media { background: #f7f7f7; display: block; height: 25rem; overflow: hidden; }
.drive-home-slide__media img { height: 100%; object-fit: cover; transform: scale(1.005); transition: transform 7s linear; width: 100%; }
.drive-home-slide.is-active .drive-home-slide__media img { transform: scale(1.035); }
.drive-home-slide__shade { display: none; }
.drive-home-slide__fallback { align-items: center; background: #f7f7f7; color: #767676; display: flex; font-size: 2rem; font-weight: 600; height: 100%; justify-content: center; }
.drive-home-slide__content { align-self: center; color: #000; padding: 0; }
.drive-home-slide__content > span { background: #000; border-radius: .25rem; color: #fff; display: inline-block; font-size: .75rem; font-weight: 600; line-height: 1.2; margin-bottom: 1rem; padding: .35rem .5rem; text-transform: uppercase; }
.drive-home-slide__content > span b { color: #fff; margin-inline: .25rem; }
.drive-ma-site .site .drive-home-slide__content h2 { color: #000; font-size: 2rem !important; font-weight: 500; letter-spacing: -.015em; line-height: 1.3125; margin: 0; overflow-wrap: normal; word-break: normal; }
.drive-home-slide__content h2 a { color: inherit; text-decoration: none; }
.drive-home-slide__content p { color: #666; font-size: 1rem; line-height: 1.5; margin: 1rem 0 1.25rem; }
.drive-home-slide__cta { color: #2960c5; font-size: 1rem; font-weight: 600; text-decoration: none; }
.drive-home-slide__cta span { display: inline-block; transition: transform 180ms ease; }
.drive-home-slide__cta:hover span { transform: translateX(.25rem); }
.drive-home-slider__bar { align-items: center; bottom: 1rem; display: flex; gap: .625rem; left: 1rem; position: absolute; z-index: 3; }
.drive-home-slider__controls { display: flex; gap: .375rem; }
.drive-home-slider__controls button { align-items: center; background: rgb(0 0 0 / 78%); border: 1px solid rgb(255 255 255 / 70%); border-radius: 50%; color: #fff; display: inline-flex; height: 2.75rem; justify-content: center; min-width: 2.75rem; padding: 0; }
.drive-home-slider__controls button:hover { background: #fff; color: #000; }
.drive-home-slider__bar > span { color: #fff; font-size: .75rem; font-variant-numeric: tabular-nums; text-shadow: 0 1px 3px #000; }
.drive-home-slider__progress { background: rgb(255 255 255 / 45%); height: 3px; overflow: hidden; width: 5rem; }
.drive-home-slider__progress i { background: #fff; display: block; height: 100%; transform: scaleX(0); transform-origin: left; }
.drive-home-slider.is-running .drive-home-slider__progress i { animation: drive-home-progress 6.5s linear forwards; }
@keyframes drive-home-progress { to { transform: scaleX(1); } }
.drive-home-lead__rail { display: none; }

.drive-home-lead__empty { background: #f7f7f7; border: 1px solid #efefef; border-radius: .5rem; margin-bottom: 2.75rem; padding: clamp(2rem, 5vw, 4rem); }
.drive-ma-site .site .drive-home-lead__empty h2 { margin: .5rem 0 .8rem; max-width: 24ch; }
.drive-home-lead__empty p { color: #666; margin: 0 0 1.25rem; max-width: 62ch; }

.drive-home-models { background: #fff; border-bottom: 1px solid #efefef; padding: .25rem 0 4rem; }
.drive-home-models__heading { align-items: baseline; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.drive-ma-site .site .drive-home-models__heading h2 { color: #2960c5; font-size: 1.25rem !important; font-weight: 600; line-height: 1.2; margin: 0; }
.drive-home-models__heading a { color: #2960c5; font-size: .8125rem; font-weight: 600; }
.drive-home-models__rail { display: grid; gap: 1rem; grid-template-columns: repeat(8, minmax(7.5rem, 1fr)); overflow-x: auto; padding: .25rem 0 .75rem; scrollbar-width: thin; }
.drive-home-models__item { color: #000; display: flex; flex-direction: column; min-width: 7.5rem; text-align: center; text-decoration: none; }
.drive-home-models__media { align-items: center; aspect-ratio: 16 / 8; display: flex; justify-content: center; margin-bottom: .5rem; overflow: hidden; }
.drive-home-models__media img { height: 100%; object-fit: contain; transition: transform 180ms ease; width: 100%; }
.drive-home-models__media b { color: #767676; font-size: .75rem; font-weight: 600; }
.drive-home-models__item:hover img { transform: translateY(-.2rem) scale(1.03); }
.drive-home-models__item strong { font-size: .8125rem; line-height: 1.35; }
.drive-home-models__item small { color: #666; font-size: .75rem; margin-top: .125rem; }

.drive-home--composed .drive-composed-content, .drive-home-news, .drive-home-guides { background: #fff !important; }
.drive-home-news :where(h2, .drive-section-heading a), .drive-home-guides :where(h2, .drive-section-heading a) { color: #000; }
.drive-home-news .drive-section-heading p, .drive-home-guides .drive-section-heading p, .drive-home-news .drive-media-card__content > p, .drive-home-guides .drive-media-card__content > p { color: #666 !important; }
.drive-home-news .drive-eyebrow, .drive-home-guides .drive-eyebrow { color: #1e47a2; }

.drive-home-membership { background: #f7f7f7; border-block: 1px solid #efefef; color: #000; padding-block: 4rem; }
.drive-home-membership__grid { align-items: center; display: grid; gap: 2rem 4rem; grid-template-columns: minmax(0, 1.25fr) minmax(14rem, .9fr) minmax(13rem, .7fr); }
.drive-home-membership__grid > div:first-child > span { color: #1e47a2; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body.drive-ma-site .drive-home-membership h2 { color: #000; font-size: 2rem !important; font-weight: 500; line-height: 1.3125; margin: .5rem 0 .8rem; }
.drive-home-membership p { color: #666; margin: 0; max-width: 45ch; }
.drive-home-membership ul { display: grid; gap: .75rem; list-style: none; margin: 0; padding: 0; }
.drive-home-membership li { padding-left: 1.5rem; position: relative; }
.drive-home-membership li::before { color: #2960c5; content: "✓"; font-weight: 700; left: 0; position: absolute; }
.drive-home-membership__actions { display: grid; gap: .75rem; }
body.drive-ma-site .drive-home-membership__actions .drive-button { align-items: center; background: #2960c5 !important; border: 1px solid #2960c5 !important; color: #fff !important; display: inline-flex; justify-content: center; min-height: 3rem; padding: .75rem 1.15rem; text-decoration: none; }
.drive-home-membership__actions > a:last-child { color: #2960c5; font-size: .8125rem; font-weight: 600; text-align: center; }

.drive-ma-site .site :where(.drive-home-slider button, .drive-home-shop select, .drive-home-shop button, .drive-home-shop a, .drive-home-models a, .drive-home-membership a):focus-visible { outline: 3px solid #447be1; outline-offset: 3px; }

@media (max-width: 64rem) {
  .drive-home-shop form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .drive-home-shop form button { grid-column: 1 / -1; }
  .drive-home-slide { gap: 2rem; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .9fr); }
  .drive-home-membership__grid { grid-template-columns: 1fr 1fr; }
  .drive-home-membership__actions { grid-column: 1 / -1; grid-template-columns: auto 1fr; }
}

@media (max-width: 47.99rem) {
  .drive-home-lead { padding-top: 0; }
  .drive-home-shop { border: 0; border-radius: 0; margin-inline: 0; min-height: 0; padding: 1.25rem; width: 100%; }
  .drive-home-shop__intro { align-items: start; display: block; }
  .drive-ma-site .site .drive-home-shop__intro h1 { font-size: 1.75rem !important; line-height: 1.2; }
  .drive-home-shop__intro p { margin-top: .25rem; }
  .drive-home-shop form { background: transparent; border: 0; border-radius: 0; gap: .5rem; grid-template-columns: 1fr; overflow: visible; }
  .drive-home-shop label { background: #fff; border: 1px solid #efefef; border-radius: 0; min-height: 3.25rem; padding: .45rem .75rem; }
  .drive-home-shop form button { border-radius: .5rem; grid-column: auto; margin: 0; min-height: 3rem; }
  .drive-home-shop__quick { flex-wrap: wrap; gap: .5rem .75rem; overflow-x: visible; padding-bottom: 0; }
  .drive-home-shop__quick strong { flex-basis: 100%; }
  .drive-home-shop__quick a { display: inline-flex; min-height: 2.75rem; align-items: center; padding: .45rem .7rem; border: 1px solid rgb(255 255 255 / 55%); border-radius: 999px; text-decoration: none; }
  .drive-home-slider__stage { height: auto; min-height: 0; }
  .drive-home-slide { display: block; }
  .drive-home-slide__media { height: 13.75rem; }
  .drive-home-slide__content { padding: 1.25rem 0 .25rem; }
  .drive-ma-site .site .drive-home-slide__content h2 { font-size: 1.5rem !important; line-height: 1.25; }
  .drive-home-slider__bar { bottom: auto; left: .75rem; top: 10.25rem; }
  .drive-home-slider__progress { display: none; }
  .drive-home-models { padding-bottom: 2.5rem; }
  .drive-home-models__rail { grid-template-columns: repeat(8, 8rem); }
  .drive-home-membership { padding-block: 2.5rem; }
  .drive-home-membership__grid { grid-template-columns: 1fr; }
  .drive-home-membership__actions { grid-column: auto; grid-template-columns: 1fr; }
}

@media (max-width: 20rem) {
  .drive-home-slide__media { height: 11rem; }
  .drive-home-slider__bar { top: 7.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .drive-home-slide, .drive-home-slide__media img, .drive-home-slide__cta span, .drive-home-models__media img { transition: none; }
  .drive-home-slider__progress i { animation: none !important; }
}
