/*
 * Drive.ma decision-desk layer.
 *
 * This final theme layer removes decorative repetition and gives the public
 * product a task-first hierarchy. It deliberately leaves model lead pages and
 * the professional portal structurally unchanged.
 */

body.drive-ma-site,
.editor-styles-wrapper {
  --drive-desk-space-component: 1rem;
  --drive-desk-space-group: 2rem;
  --drive-desk-space-section: clamp(3.5rem, 6vw, 4.75rem);
}

body.drive-ma-site .site :where(h1, h2, h3),
.editor-styles-wrapper :where(h1, h2, h3) {
  font-family: var(--drive-font-family-display);
  font-stretch: semi-condensed;
  font-weight: 700;
}

body.drive-ma-site .site :where(
  .drive-archive-count strong,
  .drive-vehicle-block-card__price strong,
  .drive-news-hero__facts strong,
  .drive-community-stats strong,
  .drive-brand-page__metric strong,
  .drive-pro__metric strong
) {
  font-variant-numeric: tabular-nums;
}

body.drive-ma-site .site :where(
  .drive-eyebrow,
  .drive-composition-kicker,
  .drive-news-live,
  .drive-vehicle-block-card__brand,
  .drive-vehicle-card__meta > span:first-child
) {
  font-size: .78rem;
  letter-spacing: .025em;
  text-transform: none;
}

/* One sober technical canvas for every public hub. */
.drive-news-hero,
.drive-guide-hero,
.drive-ma-site .drive-community-forum__hero,
.drive-finder-page .drive-finder-hero {
  background: #08131f !important;
  background-image: none !important;
  border-bottom-color: rgb(255 255 255 / 16%);
}

.drive-guide-hero::after {
  display: none;
}

.drive-news-motion,
.drive-finder-motion,
.drive-guide-start,
.drive-community-welcome {
  box-shadow: none;
}

.drive-news-motion,
.drive-finder-motion {
  border-radius: .35rem;
}

/* Kadence renders both a text submit value and its decorative search glyph on
 * the 404 form. The glyph occupies the same button pixels as the label, so the
 * child theme keeps the explicit French action and removes the duplicate art. */
.drive-ma-site.error404 .search-form .kadence-search-icon-wrap {
  display: none;
}

/* Home: search first, featured stock second, commercial inventory third. */
.drive-ma-site .drive-portal-hero {
  background: var(--drive-ui-surface) !important;
  background-image: none !important;
  border-block-color: var(--drive-ui-border) !important;
}

.drive-ma-site .drive-portal-hero .drive-portal-finder {
  background: var(--drive-ui-surface-soft) !important;
  border: 1px solid var(--drive-ui-border-strong) !important;
  border-top: 3px solid var(--drive-ui-accent) !important;
  border-radius: .3rem;
  box-shadow: none;
}

.drive-ma-site .drive-portal-hero__signals li {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding-inline: 0;
}

.drive-ma-site .drive-home--composed > :where(
  .drive-vehicle-block,
  .drive-brand-block,
  .drive-promotion-block,
  .drive-composition-section,
  .drive-portal-tools
) {
  padding-block: var(--drive-desk-space-section) !important;
}

.drive-ma-site .drive-home--composed > .drive-ad-slot {
  margin-block: var(--drive-desk-space-group) !important;
}

/* Quick routes behave as a single navigation rail, not four floating cards. */
.drive-ma-site .drive-portal-quick-links {
  border-block: 1px solid var(--drive-ui-border);
  margin-block: var(--drive-desk-space-group) !important;
}

.drive-ma-site .drive-portal-quick-links .wp-block-columns {
  gap: 0;
}

.drive-ma-site .drive-portal-quick-links .wp-block-column + .wp-block-column {
  border-left: 1px solid var(--drive-ui-border);
}

.drive-ma-site .drive-portal-quick-links a {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 0;
  padding: 1rem 1.25rem;
}

.drive-ma-site .drive-portal-quick-links a:hover,
.drive-ma-site .drive-portal-quick-links a:focus-visible {
  background: var(--drive-ui-surface-soft) !important;
  color: var(--drive-ui-link-hover);
}

/* Featured inventory has one lead item; secondary choices stay concise. */
.drive-ma-site .drive-home--composed .drive-vehicle-block__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.drive-ma-site .drive-home--composed .drive-vehicle-block-card:first-child {
  display: grid;
  grid-column: span 2;
  grid-template-columns: minmax(0, 1.35fr) minmax(14rem, .65fr);
}

.drive-ma-site .drive-home--composed .drive-vehicle-block-card:first-child .drive-vehicle-block-card__media {
  aspect-ratio: auto;
  min-height: 100%;
}

.drive-ma-site .drive-home--composed .drive-vehicle-block-card:first-child .drive-vehicle-block-card__media img {
  height: 100%;
  object-fit: cover;
}

.drive-ma-site .drive-home--composed .drive-vehicle-block-card:first-child .drive-vehicle-block-card__body {
  align-content: center;
  display: grid;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.drive-ma-site .drive-home--composed .drive-vehicle-block-card:first-child h3 {
  font-size: clamp(1.45rem, 2.4vw, 2rem) !important;
}

.drive-ma-site :where(
  .drive-vehicle-block-card,
  .drive-vehicle-card,
  .drive-promotion-card,
  .drive-media-card,
  .drive-community-model,
  .drive-brand-card,
  .drive-brand-block__card
) {
  border-radius: .25rem !important;
  box-shadow: none !important;
}

.drive-ma-site :where(
  .drive-vehicle-block-card,
  .drive-vehicle-card,
  .drive-promotion-card,
  .drive-media-card,
  .drive-community-model,
  .drive-brand-card,
  .drive-brand-block__card
):hover {
  border-color: var(--drive-ui-border-strong) !important;
  box-shadow: none !important;
  transform: none !important;
}

.drive-ma-site .drive-vehicle-block-card__cta {
  align-items: center;
  background: var(--drive-ui-heading);
  border: 1px solid var(--drive-ui-heading);
  border-radius: .25rem;
  color: var(--drive-ui-surface) !important;
  justify-content: center;
  min-height: 2.5rem;
  padding: .55rem .8rem;
  width: fit-content;
}

.drive-ma-site .drive-vehicle-block-card__cta:hover,
.drive-ma-site .drive-vehicle-block-card__cta:focus-visible {
  background: var(--drive-ui-link-hover);
  border-color: var(--drive-ui-link-hover);
  color: #fff !important;
}

html[data-drive-theme="light"] body.drive-ma-site .site a.drive-vehicle-block-card__cta:link,
html[data-drive-theme="light"] body.drive-ma-site .site a.drive-vehicle-block-card__cta:visited {
  color: #fff !important;
}

html[data-drive-theme="dark"] body.drive-ma-site .site a.drive-vehicle-block-card__cta:link,
html[data-drive-theme="dark"] body.drive-ma-site .site a.drive-vehicle-block-card__cta:visited {
  color: var(--drive-ui-canvas) !important;
}

html[data-drive-theme] body.drive-ma-site .site a.drive-vehicle-block-card__cta:hover,
html[data-drive-theme] body.drive-ma-site .site a.drive-vehicle-block-card__cta:focus-visible {
  color: #fff !important;
}

/* Brand inventory is dense and scannable without an icon-card wall. */
.drive-ma-site .drive-home--composed .drive-brand-block__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.drive-ma-site .drive-brand-directory .drive-brand-block__grid,
.drive-ma-site .page-template-brands .drive-brand-block__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.drive-ma-site .drive-brand-block__logo {
  background: var(--drive-ui-surface) !important;
  height: 5.25rem !important;
  padding: .8rem !important;
}

.drive-ma-site .drive-brand-block__logo img {
  height: 3.35rem !important;
  width: 7rem !important;
}

.drive-ma-site .drive-brand-block__models {
  background: var(--drive-ui-surface-soft);
}

/* Tools and trust become structured reference bands. */
.drive-ma-site .drive-portal-tools {
  background: #0b1725 !important;
}

.drive-ma-site .drive-portal-tools .drive-composition-cards {
  gap: 0;
}

.drive-ma-site .drive-portal-tools .drive-composition-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 1rem 1.5rem;
}

.drive-ma-site .drive-portal-tools .drive-composition-card + .drive-composition-card {
  border-left: 1px solid rgb(255 255 255 / 18%) !important;
}

.drive-ma-site .drive-composition-trust {
  background: var(--drive-ui-surface-soft) !important;
  border-block: 1px solid var(--drive-ui-border) !important;
}

.drive-ma-site .drive-composition-trust .wp-block-columns {
  gap: 0;
}

.drive-ma-site .drive-composition-trust .wp-block-column {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: .85rem 1.25rem !important;
}

.drive-ma-site .drive-composition-trust .wp-block-column + .wp-block-column {
  border-left: 1px solid var(--drive-ui-border) !important;
}

/* Editorial topics are navigation rails, not repeated icon cards. */
.drive-news-topics,
.drive-guide-topics {
  border-block: 1px solid var(--drive-ui-border);
  gap: 0;
}

.drive-news-topics > a,
.drive-guide-topics > a {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  padding: 1rem;
}

.drive-news-topics > a + a,
.drive-guide-topics > a + a {
  border-left: 1px solid var(--drive-ui-border);
}

.drive-news-topics > a:hover,
.drive-news-topics > a:focus-visible,
.drive-guide-topics > a:hover,
.drive-guide-topics > a:focus-visible {
  background: var(--drive-ui-surface-soft);
  border-color: var(--drive-ui-border);
  box-shadow: none;
  transform: none;
}

.drive-news-topics span,
.drive-guide-topics span {
  background: transparent;
  border-radius: 0;
  height: auto;
  justify-content: flex-start;
  margin-right: .45rem;
  width: auto;
}

/* Community/finder utility information is flat; interactive forms stay raised. */
.drive-community-welcome {
  backdrop-filter: none;
  background: transparent;
  border: 0;
  border-block: 1px solid rgb(255 255 255 / 20%);
  border-radius: 0;
  padding-inline: 0;
}

.drive-community-stats {
  border-radius: 0;
  box-shadow: none;
  margin-top: 0;
}

.drive-finder-hero__trust {
  gap: 0;
}

.drive-finder-hero__trust li {
  background: transparent;
  border: 0;
  border-left: 2px solid rgb(255 255 255 / 28%);
  border-radius: 0;
  padding: .25rem .9rem;
}

.drive-finder-progress {
  border-radius: .25rem;
  box-shadow: none;
}

body.drive-ma-site :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--drive-ui-focus) !important;
  outline-offset: 3px;
}

@media (max-width: 64rem) {
  .drive-ma-site .drive-brand-directory .drive-brand-block__grid,
  .drive-ma-site .page-template-brands .drive-brand-block__grid,
  .drive-ma-site .drive-home--composed .drive-brand-block__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 48rem) {
  .drive-ma-site .drive-home--composed .drive-vehicle-block__grid {
    grid-template-columns: 1fr;
  }

  .drive-ma-site .drive-home--composed .drive-vehicle-block-card:first-child {
    display: block;
    grid-column: auto;
  }

  .drive-ma-site .drive-home--composed .drive-vehicle-block-card:first-child .drive-vehicle-block-card__media {
    aspect-ratio: 16 / 10;
    min-height: 0;
  }

  .drive-ma-site .drive-portal-quick-links .wp-block-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .drive-ma-site .drive-portal-quick-links .wp-block-column + .wp-block-column {
    border-left: 0;
  }

  .drive-ma-site .drive-portal-quick-links .wp-block-column:nth-child(even) {
    border-left: 1px solid var(--drive-ui-border);
  }

  .drive-ma-site .drive-portal-quick-links .wp-block-column:nth-child(n + 3) {
    border-top: 1px solid var(--drive-ui-border);
  }

  .drive-ma-site .drive-home--composed .drive-brand-block__grid,
  .drive-ma-site .drive-brand-directory .drive-brand-block__grid,
  .drive-ma-site .page-template-brands .drive-brand-block__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .drive-ma-site .drive-portal-tools .drive-composition-card + .drive-composition-card,
  .drive-ma-site .drive-composition-trust .wp-block-column + .wp-block-column {
    border-left: 0 !important;
    border-top: 1px solid var(--drive-ui-border) !important;
  }

  .drive-news-topics,
  .drive-guide-topics {
    grid-template-columns: minmax(12rem, 78vw);
  }

  .drive-news-topics > a + a,
  .drive-guide-topics > a + a {
    border-left: 0;
  }
}

/*
 * The two-column buyer filter remains comfortable on normal phones, but at
 * the required 320px support width its select values become unreadable. Keep
 * the task order intact and give every control the full available measure.
 */
@media (max-width: 22.5rem) {
  .drive-ma-site .drive-portal-hero .drive-portal-finder__form {
    grid-template-columns: minmax(0, 1fr);
  }

  .drive-ma-site .drive-portal-hero .drive-portal-finder button {
    grid-column: 1;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .drive-ma-site :where(*, *::before, *::after) {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
