/* Homepage parity with the production reference application.
 * This file intentionally scopes every public rule to the homepage or the
 * homepage-loaded chrome so operational and account workspaces are unchanged.
 */

.parity-home {
  color: #181b20;
  font-family: var(--font, var(--font-geist-sans, "Geist", "Geist Fallback", Arial, sans-serif));
  font-weight: 400;
}

/* Match the source fold: the previous parity layer accidentally stretched the
   hero by more than 100px and forced the supporting card to fill that space. */
.parity-home .home-hero-inner {
  min-height: 490px;
  padding-block: 34px 38px;
}
.parity-home .hero-car-support { min-height: 0; }
.parity-home .hero-support-media { position: relative; }
.parity-home .hero-support-media .media-disclosure {
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: 10px;
  left: auto;
  max-width: calc(100% - 20px);
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(24,27,32,.84);
  color: #fff;
  font-size: .625rem;
  font-weight: 650;
  backdrop-filter: blur(7px);
}
.parity-home .hero-support-media.media-is-illustration img { object-fit: contain; }
.parity-home .home-evidence-spotlight.no-featured-evidence {
  grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr);
}
.parity-home .home-evidence-editorial img { object-fit: contain; background: #e8e4dd; }

/* The reference header is compact and uses medium, not display-bold, labels. */
body:has(.parity-home) .parity-header .brand { font-weight: 800; }
body:has(.parity-home) .parity-nav > a,
body:has(.parity-home) .parity-menu > summary { font-weight: 650; }
body:has(.parity-home) .parity-actions .header-location b,
body:has(.parity-home) .header-notifications,
body:has(.parity-home) .account-menu > summary { font-weight: 600; }

/* Editorial type is limited to the hero. Shopping UI remains objective sans. */
.parity-home .home-hero-copy h1 {
  max-width: 780px;
  margin: 10px 0 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.45rem, 4.6vw, 4.1rem);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.055em;
}
.parity-home .home-hero-copy h1 em { color: inherit; font-weight: 500; font-style: italic; }
.parity-home .home-hero-copy > p { max-width: 650px; font-size: 1rem; font-weight: 400; line-height: 1.5; }
.parity-home .home-kicker,
.parity-home .home-section-head > div > span,
.parity-home .hero-support-copy > small { color: #59616c; font-weight: 750; }
.parity-home .home-mode-tabs button { font-weight: 650; }
.parity-home .home-location-control b,
.parity-home .home-query-control input { font-weight: 600; }
.parity-home .home-search-submit { font-weight: 750; }
.parity-home .home-quick-filters a,
.parity-home .home-search-proof { font-weight: 600; }

/* Stable 4:3 media and the same rail density at every desktop width. */
.parity-home .home-car-rail {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(270px, 305px);
  gap: 14px;
  padding: 2px 2px 16px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
}
.parity-home .home-car-rail > .parity-car-card {
  width: auto;
  min-width: 0;
  max-width: none;
  height: auto;
  min-height: 0;
  scroll-snap-align: start;
}
.parity-home .parity-card-image { aspect-ratio: 4 / 3; }
.parity-home .parity-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.parity-home .parity-card-image.media-is-illustration img { object-fit: contain; }
.parity-home .card-image-count { display: none; }
.parity-home .parity-card-image .media-disclosure {
  top: auto;
  right: 9px;
  bottom: 9px;
  left: auto;
  max-width: calc(100% - 18px);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  font-size: .625rem;
  font-weight: 650;
  backdrop-filter: blur(7px);
}
.parity-home .parity-card-image .recently-added { top: 10px; bottom: auto; }
.parity-home .compare-button span { display: none; }
.parity-home .compare-button { width: 29px; height: 29px; padding: 0; border: 1px solid #e2dfd8; border-radius: 50%; font-weight: 600; }
.parity-home .card-assured,
.parity-home .card-verified { font-weight: 700; }
.parity-home .card-assured span { font-weight: 550; }
.parity-home .parity-card-content h3 { font-size: 1rem; font-weight: 650; }
.parity-home .parity-card-content .variant { font-weight: 400; }
.parity-home .card-price-block > small { font-weight: 650; }
.parity-home .card-price-block > strong { font-size: 1.35rem; font-weight: 700; }
.parity-home .home-card-price > .card-emi { display: none; }
.parity-home .card-price-block > span,
.parity-home .card-price-block > span b { font-weight: 600; }
.parity-home .parity-card-content .card-location b { font-weight: 600; }
.parity-home .parity-card-content .card-cta { font-weight: 750; }

/* Match the reference section rhythm and remove the heavy all-bold appearance. */
.parity-home .home-section { padding-block: 44px; }
.parity-home .home-section-head { margin-bottom: 19px; }
.parity-home .home-section-head h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); font-weight: 650; line-height: 1.1; }
.parity-home .home-section-head > a { font-weight: 650; }
.parity-home .home-browse { padding-top: 18px; }
.parity-home .home-browse-grid header b,
.parity-home .home-comparisons h3,
.parity-home .home-research-grid h3 { font-weight: 650; }
.parity-home .home-browse-grid article > a { font-weight: 550; }
.parity-home .home-browse-grid article > a small,
.parity-home .home-comparisons p,
.parity-home .home-research-grid p { font-weight: 400; }

/* Recently viewed and purposeful recommendations are one balanced workspace. */
.parity-home .home-personal {
  padding-top: 32px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}
.parity-home .home-recent-panel,
.parity-home .home-recommended-panel { min-width: 0; padding: 24px; }
.parity-home .home-personal .home-section-head h2 { font-size: 1.55rem; }
.parity-home .home-personal-intro { margin: -5px 0 10px; color: #59616c; font-size: .75rem; line-height: 1.5; }
.parity-home .home-purpose-links b,
.parity-home .home-empty-card b { font-weight: 650; }
.parity-home .home-purpose-links small,
.parity-home .home-empty-card p { font-weight: 400; }
.parity-home .home-recent-panel > .home-car-rail { grid-auto-columns: minmax(250px, 290px); }

/* Recreate the reference two-choice comparison card instead of a text link. */
.parity-home .home-comparisons article { padding: 22px; }
.parity-home .home-comparisons h3 { margin: 7px 0; font-size: 1.25rem; letter-spacing: -.035em; }
.parity-home .home-comparisons article > div {
  margin-top: 17px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
}
.parity-home .home-comparisons article > div a {
  min-height: 38px;
  padding: 6px;
  display: grid;
  place-items: center;
  border: 1px solid #e2dfd8;
  border-radius: 7px;
  color: #181b20;
  font-size: .6875rem;
  font-weight: 650;
  text-align: center;
}
.parity-home .home-comparisons article > div a:hover { border-color: #b94722; color: #b94722; }
.parity-home .home-comparisons article > div i { color: #7a8088; font-size: .625rem; font-style: normal; font-weight: 700; text-align: center; }

@media (max-width: 900px) {
  .parity-home .home-personal { grid-template-columns: 1fr; }
  .parity-home .home-evidence-spotlight.no-featured-evidence { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .parity-home .home-car-rail,
  .parity-home .home-recent-panel > .home-car-rail {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding: 2px 16px 16px 0;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: 0;
    scroll-snap-type: inline mandatory;
  }
  .parity-home .home-car-rail > .parity-car-card,
  .parity-home .home-recent-panel > .home-car-rail > .parity-car-card {
    width: min(84vw, 340px);
    min-width: 270px;
    max-width: 340px;
    flex: 0 0 min(84vw, 340px);
  }
}

@media (max-width: 560px) {
  body:has(.parity-home) .site-header.parity-header,
  body:has(.parity-home) .parity-header .parity-header-inner { height: 62px; }
  body:has(.parity-home) .site-header.parity-header.compact,
  body:has(.parity-home) .parity-header.compact .parity-header-inner { height: 54px; }
  /* Keep the complete search module in the first mobile viewport. These
     values are taken from the 390px reference layout; the desktop rules
     above were otherwise winning the cascade and adding roughly 70px. */
  .parity-home .home-hero-inner {
    gap: 28px;
    padding-block: 23px 26px;
  }
  .parity-home .home-hero-copy h1 {
    margin-top: 8px;
    font-size: clamp(2.25rem, 10vw, 2.45rem);
  }
  .parity-home .home-hero-copy > p { font-size: .875rem; }
  .parity-home .home-location-control,
  .parity-home .home-query-control {
    height: 52px;
    min-height: 52px;
  }
  .parity-home .home-search-submit {
    height: 48px;
    min-height: 48px;
  }
  .parity-home .home-quick-filters a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .parity-home .home-quick-filters { scrollbar-width: none; }
  .parity-home .home-quick-filters::-webkit-scrollbar { display: none; }
  .parity-home .home-section { padding-block: 39px; }
  .parity-home .home-section-head { align-items: flex-start; }
  .parity-home .home-section-head h2 { font-size: 1.65rem; }
  .parity-home .home-section-head > a { margin-top: 19px; }
  .parity-home .home-recent-panel,
  .parity-home .home-recommended-panel { padding: 18px; }
  .parity-home .home-comparisons,
  .parity-home .home-research-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: 14px;
    overflow: visible;
    padding: 0;
  }
  .parity-home .home-comparisons article,
  .parity-home .home-research-grid > a { width: 100%; min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .parity-home .parity-car-card,
  .parity-home .hero-car-support,
  .parity-home .home-evidence-photo img { transition: none !important; }
}
