.tr-announcement {
  min-block-size: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px var(--tr-page-gutter);
  background: var(--tr-near-black);
  color: var(--tr-white);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  text-align: center;
}

.tr-header {
  position: relative;
  z-index: 100;
  border-block-end: 1px solid var(--tr-border);
  background: var(--tr-surface);
}

.tr-header__inner {
  min-block-size: var(--tr-header-height);
  display: flex;
  align-items: center;
  gap: var(--tr-space-8);
}

.tr-logo-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  border-radius: var(--tr-radius-sm);
  text-decoration: none;
}

.brand-logo-frame {
  inline-size: 172px;
  aspect-ratio: 2 / 1;
  display: grid;
  place-items: center;
  overflow: visible;
}

.brand-logo-frame .brand-logo {
  inline-size: 100%;
  block-size: auto;
  display: block;
}

.tr-primary-nav {
  align-self: stretch;
  display: flex;
  align-items: stretch;
  margin-inline-end: auto;
}

.tr-primary-nav__list,
.tr-header-actions,
.tr-footer-list,
.tr-mobile-nav__list,
.tr-mobile-menu__list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.tr-primary-nav__list {
  display: flex;
  align-items: stretch;
  gap: 2px;
}

.tr-primary-nav__item {
  display: flex;
  align-items: stretch;
}

.tr-primary-nav__link,
.tr-mega-trigger {
  min-block-size: 44px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding-inline: 14px;
  border: 0;
  border-radius: var(--tr-radius-sm);
  background: transparent;
  color: var(--tr-ink);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.tr-primary-nav__link:hover,
.tr-mega-trigger:hover,
.tr-mega-trigger[aria-expanded="true"] {
  background: var(--tr-brand-primary-subtle);
  color: var(--tr-brand-primary-hover);
}

.tr-icon {
  inline-size: 22px;
  block-size: 22px;
  flex: 0 0 auto;
}

.tr-header-actions {
  display: flex;
  align-items: center;
  gap: var(--tr-space-1);
}

.tr-header-action {
  position: relative;
  min-inline-size: 44px;
  min-block-size: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 9px;
  border: 0;
  border-radius: var(--tr-radius-sm);
  background: transparent;
  color: var(--tr-ink);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
}

.tr-header-action:hover,
.tr-header-action[aria-expanded="true"] {
  background: var(--tr-brand-primary-subtle);
  color: var(--tr-brand-primary-hover);
}

.tr-header-action__count {
  min-inline-size: 18px;
  block-size: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 4px;
  border-radius: 99px;
  background: var(--tr-brand-primary);
  color: var(--tr-white);
  font-size: 0.6875rem;
  line-height: 1;
}

.tr-menu-trigger {
  display: none;
}

.tr-mega-menu {
  position: absolute;
  z-index: 120;
  inset-block-start: 100%;
  inset-inline: 0;
  border-block-start: 1px solid var(--tr-border);
  border-block-end: 1px solid var(--tr-border);
  background: var(--tr-surface);
  box-shadow: var(--tr-shadow-elevated);
}

.tr-mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(240px, 1.25fr);
  gap: var(--tr-space-10);
  padding-block: var(--tr-space-8) var(--tr-space-10);
}

.tr-mega-menu__heading {
  margin-block-end: var(--tr-space-3);
  color: var(--tr-muted);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.tr-mega-menu__links {
  display: grid;
  gap: 3px;
}

.tr-mega-menu__links a {
  min-block-size: 40px;
  display: flex;
  align-items: center;
  padding: 7px 9px;
  border-radius: var(--tr-radius-sm);
  color: var(--tr-ink);
  font-size: 0.875rem;
  font-weight: 650;
  text-decoration: none;
}

.tr-mega-menu__links a:hover {
  background: var(--tr-brand-primary-subtle);
  color: var(--tr-brand-primary-hover);
}

.tr-mega-menu__links a[aria-current="page"] {
  background: var(--tr-brand-primary-subtle);
  color: var(--tr-brand-primary);
}

.tr-mega-menu__links .tr-mega-menu__all {
  color: var(--tr-brand-primary);
  font-weight: 750;
}

.tr-mega-menu__callout {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--tr-space-6);
  border: 1px solid var(--tr-brand-primary-border);
  border-radius: var(--tr-radius-lg);
  background: var(--tr-brand-primary-subtle);
}

.tr-mega-menu__callout h2 {
  margin-block-end: var(--tr-space-2);
  font-size: 1.25rem;
}

.tr-mega-menu__callout p {
  margin-block-end: var(--tr-space-4);
  color: var(--tr-text-2);
  font-size: 0.875rem;
}

.tr-scrim,
.tr-dialog {
  position: fixed;
}

.tr-scrim {
  z-index: 1000;
  inset: 0;
  border: 0;
  background: rgba(17, 19, 21, 0.55);
}

.tr-dialog {
  z-index: 1001;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: min(calc(100% - 32px), 620px);
  max-block-size: min(82vh, 720px);
  overflow-y: auto;
  transform: translate(-50%, -50%);
  border: 1px solid var(--tr-border);
  border-radius: var(--tr-radius-lg);
  background: var(--tr-surface);
  box-shadow: var(--tr-shadow-elevated);
}

.tr-dialog__header {
  min-block-size: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--tr-space-4);
  padding: 12px 16px 12px 24px;
  border-block-end: 1px solid var(--tr-border);
}

.tr-dialog__title {
  margin: 0;
  font-size: 1.25rem;
}

.tr-icon-button {
  min-inline-size: 44px;
  min-block-size: 44px;
  display: inline-grid;
  place-items: center;
  padding: 8px;
  border: 0;
  border-radius: var(--tr-radius-sm);
  background: transparent;
  color: var(--tr-ink);
}

.tr-icon-button:hover {
  background: var(--tr-surface-2);
}

.tr-dialog__body {
  padding: var(--tr-space-6);
}

.tr-search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--tr-space-3);
}

.tr-placeholder-note {
  margin: var(--tr-space-4) 0 0;
  color: var(--tr-muted);
  font-size: 0.8125rem;
}

.tr-mobile-menu {
  inset-block: 0;
  inset-inline-start: auto;
  inset-inline-end: 0;
  inline-size: min(100%, 420px);
  max-block-size: none;
  transform: none;
  border-radius: 0;
}

.tr-mobile-menu__list {
  display: grid;
  gap: 2px;
}

.tr-mobile-menu__list a {
  min-block-size: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: var(--tr-radius-sm);
  color: var(--tr-ink);
  font-weight: 700;
  text-decoration: none;
}

.tr-mobile-menu__list a:hover {
  background: var(--tr-brand-primary-subtle);
  color: var(--tr-brand-primary-hover);
}

.tr-mobile-menu__list a[aria-current="page"] {
  background: var(--tr-brand-primary-subtle);
  color: var(--tr-brand-primary);
}

.tr-mobile-menu__heading {
  margin: var(--tr-space-5) 12px var(--tr-space-2);
  color: var(--tr-muted);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.tr-mobile-menu__heading:first-child {
  margin-block-start: 0;
}

.tr-mobile-menu__categories {
  padding-block-end: var(--tr-space-4);
  border-block-end: 1px solid var(--tr-border);
}

.tr-footer {
  padding-block: var(--tr-space-16) var(--tr-space-8);
  background: var(--tr-near-black);
  color: var(--tr-footer-text);
}

.tr-footer__grid {
  display: grid;
  grid-template-columns: 1.45fr repeat(3, minmax(130px, 1fr));
  gap: var(--tr-space-12);
}

.tr-footer .brand-logo-frame {
  inline-size: 172px;
}

.tr-footer__summary {
  max-inline-size: 32rem;
  margin-block: var(--tr-space-4) 0;
  color: var(--tr-footer-muted);
  font-size: 0.875rem;
}

.tr-footer__heading {
  margin-block-end: var(--tr-space-3);
  color: var(--tr-white);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tr-footer-list {
  display: grid;
  gap: var(--tr-space-2);
}

.tr-footer-list a {
  min-block-size: 34px;
  display: inline-flex;
  align-items: center;
  color: var(--tr-footer-text);
  font-size: 0.875rem;
  text-decoration: none;
}

.tr-footer-list a:hover {
  color: var(--tr-white);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.tr-footer__legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--tr-space-4);
  margin-block-start: var(--tr-space-12);
  padding-block-start: var(--tr-space-6);
  border-block-start: 1px solid var(--tr-footer-border);
  color: var(--tr-footer-subtle);
  font-size: 0.75rem;
}

.tr-footer__legal nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tr-space-4);
}

.tr-footer__legal a {
  min-block-size: 34px;
  display: inline-flex;
  align-items: center;
  color: var(--tr-footer-text);
  text-decoration: none;
}

.tr-footer__legal a:hover {
  color: var(--tr-white);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.tr-checkout-header {
  border-block-end: 1px solid var(--tr-border);
  background: var(--tr-surface);
}

.tr-checkout-header__inner {
  min-block-size: 72px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--tr-space-6);
}

.tr-checkout-header .brand-logo-frame {
  inline-size: 160px;
}

.tr-checkout-header__secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--tr-space-2);
  color: var(--tr-text-2);
  font-size: 0.8125rem;
  font-weight: 700;
}

.tr-checkout-header__back {
  justify-self: end;
  min-block-size: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--tr-brand-primary);
  font-size: 0.8125rem;
  font-weight: 700;
}

.tr-mobile-nav {
  display: none;
}

@media (max-width: 1100px) {
  .brand-logo-frame {
    inline-size: 150px;
  }

  .tr-header__inner {
    gap: var(--tr-space-4);
  }

  .tr-primary-nav {
    display: none;
  }

  .tr-header-actions {
    margin-inline-start: auto;
  }

  .tr-menu-trigger {
    display: inline-flex;
  }
}

@media (max-width: 900px) {
  .tr-announcement {
    min-block-size: 32px;
    padding-block: 6px;
  }

  .tr-saved-vehicle-action {
    display: none;
  }

  .tr-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .tr-header-action__label {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .tr-checkout-header__inner {
    min-block-size: 64px;
  }

  .tr-checkout-header .brand-logo-frame {
    inline-size: 126px;
  }

  .tr-checkout-header__secure span,
  .tr-checkout-header__back {
    font-size: 0;
  }

  .tr-checkout-header__back::after {
    content: "Cart";
    font-size: 0.75rem;
  }
}

@media (max-width: 600px) {
  body:not(.tr-checkout-layout) {
    padding-block-end: calc(72px + env(safe-area-inset-bottom));
  }

  .brand-logo-frame {
    inline-size: 118px;
  }

  .tr-header__inner {
    gap: var(--tr-space-2);
  }

  .tr-header-actions {
    gap: 0;
  }

  .tr-header-action {
    padding-inline: 8px;
  }

  .tr-header-action__count {
    position: absolute;
    transform: translate(10px, -10px);
  }

  .tr-footer {
    padding-block: 46px 28px;
  }

  .tr-footer__grid {
    grid-template-columns: 1fr;
    gap: var(--tr-space-8);
  }

  .tr-footer .brand-logo-frame {
    inline-size: 150px;
  }

  .tr-footer__legal {
    align-items: flex-start;
    flex-direction: column;
    margin-block-start: var(--tr-space-8);
  }

  .tr-mobile-nav {
    position: fixed;
    z-index: 900;
    inset-inline: 0;
    inset-block-end: 0;
    min-block-size: 72px;
    display: block;
    padding-block-end: env(safe-area-inset-bottom);
    border-block-start: 1px solid var(--tr-border);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 -6px 18px rgba(17, 19, 21, 0.08);
  }

  .tr-mobile-nav__list {
    min-block-size: 72px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tr-mobile-nav__list > li {
    min-inline-size: 0;
    display: flex;
  }

  .tr-mobile-nav a,
  .tr-mobile-nav button {
    inline-size: 100%;
    min-inline-size: 44px;
    min-block-size: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    padding: 6px 4px;
    border: 0;
    background: transparent;
    color: var(--tr-text-2);
    font-size: 0.6875rem;
    font-weight: 750;
    text-decoration: none;
  }

  .tr-mobile-nav a > span,
  .tr-mobile-nav button > span {
    max-inline-size: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tr-mobile-nav a:hover,
  .tr-mobile-nav button:hover,
  .tr-mobile-nav [aria-current="page"] {
    color: var(--tr-brand-primary);
  }

  .tr-mobile-nav .tr-icon {
    inline-size: 21px;
    block-size: 21px;
  }

  .tr-search-form {
    grid-template-columns: 1fr;
  }

  .tr-checkout-header .brand-logo-frame {
    inline-size: 112px;
  }
}

@media (max-width: 430px) {
  .brand-logo-frame {
    inline-size: 108px;
  }

  .tr-header__inner {
    gap: 4px;
  }

  .tr-header-action {
    min-inline-size: 44px;
    padding-inline: 6px;
  }

  .tr-footer .brand-logo-frame {
    inline-size: 142px;
  }

  .tr-dialog__body {
    padding: var(--tr-space-4);
  }

  .tr-dialog__header {
    padding-inline-start: var(--tr-space-4);
  }
}
.tr-vehicle-context { padding: var(--tr-space-4); border: 1px solid var(--tr-brand-primary-border); border-radius: var(--tr-radius-sm); background: var(--tr-brand-primary-subtle); }
.tr-vehicle-context__label { margin: 0; font-weight: 750; }
.tr-vehicle-context__details { margin: 4px 0 0; color: var(--tr-text-2); font-size: .875rem; }
.tr-saved-vehicles { display: grid; gap: var(--tr-space-3); margin-block-start: var(--tr-space-4); }
.tr-saved-vehicles h3 { margin: 0; font-size: 1rem; }
.tr-saved-vehicles [data-tr-saved-vehicles] { display: grid; gap: var(--tr-space-2); }
.tr-saved-vehicle-option { display: grid; gap: 4px; inline-size: 100%; min-block-size: 48px; padding: var(--tr-space-3); border: 1px solid var(--tr-border); border-radius: var(--tr-radius-sm); background: var(--tr-surface); color: var(--tr-text); text-align: start; }
.tr-saved-vehicle-option span { color: var(--tr-text-2); font-size: .8125rem; }
.tr-saved-vehicle-option[aria-pressed="true"] { border-color: var(--tr-brand-primary); background: var(--tr-brand-primary-subtle); }
.tr-saved-vehicle-option:hover { border-color: var(--tr-brand-primary-border); }
.tr-saved-vehicle-row { display: flex; align-items: center; justify-content: space-between; gap: var(--tr-space-3); padding: var(--tr-space-3); border: 1px solid var(--tr-border); border-radius: var(--tr-radius-sm); }
