/* PlaidCars homepage — pillar modules (HP-5..HP-6, dispatch 2026-06-04).
   Mobile-first (375px baseline). The finders inside reuse .pc-rent-finder
   (rent.css); this file styles only the hero + the Buy/Rent switch. */

/* ---- HP-5 hero ---------------------------------------------------------- */
.pc-home-hero {
  padding: 28px 16px 24px;
  background: linear-gradient(180deg, #fafafa 0%, #f3f3f3 100%);
  border-bottom: 1px solid #e7e7e7;
}
.pc-home-hero__inner { max-width: 720px; margin: 0 auto; }
.pc-home-hero__title {
  margin: 0 0 8px;
  font-size: clamp(26px, 7vw, 40px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: #0a0a0a;
}
.pc-home-hero__sub {
  margin: 0 0 18px;
  font-size: clamp(15px, 4vw, 18px);
  line-height: 1.45;
  color: #555;
}
.pc-home-hero__counter {
  margin: 14px 2px 0;
  font-size: 13px;
  line-height: 1.5;
  color: #666;
}

/* ---- HP-5 Buy/Rent switch (no-JS CSS tabs) ------------------------------ */
.pc-home-finder {
  position: relative;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}
/* radios drive the tabs but stay visually hidden (still keyboard-operable) */
.pc-home-finder__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  opacity: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
}
.pc-home-finder__tabs {
  display: flex;
  border-bottom: 1px solid #e5e5e5;
}
.pc-home-finder__tab {
  flex: 1 1 50%;
  padding: 13px 12px;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  color: #555;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  transition: color 0.12s ease, border-color 0.12s ease, background 0.12s ease;
  -webkit-tap-highlight-color: transparent;
}
.pc-home-finder__tab:hover { background: #fafafa; }
/* active tab follows the checked radio */
.pc-home-finder__radio--buy:checked ~ .pc-home-finder__tabs .pc-home-finder__tab:first-child,
.pc-home-finder__radio--rent:checked ~ .pc-home-finder__tabs .pc-home-finder__tab:last-child {
  color: #990000;
  border-bottom-color: #990000;
}
/* keyboard focus ring on the active tab when its radio is focused */
.pc-home-finder__radio--buy:focus-visible ~ .pc-home-finder__tabs .pc-home-finder__tab:first-child,
.pc-home-finder__radio--rent:focus-visible ~ .pc-home-finder__tabs .pc-home-finder__tab:last-child {
  outline: 2px solid #990000;
  outline-offset: -3px;
}
/* panels: show only the one whose radio is checked */
.pc-home-finder__panel { display: none; padding: 16px; }
.pc-home-finder__radio--buy:checked ~ .pc-home-finder__panels .pc-home-finder__panel--buy,
.pc-home-finder__radio--rent:checked ~ .pc-home-finder__panels .pc-home-finder__panel--rent {
  display: block;
}
/* the finder forms inside reuse .pc-rent-finder — drop its outer chrome since
   it already sits inside the switch panel */
.pc-home-finder__panel .pc-rent-finder {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.pc-home-finder__panel .pc-rent-finder__heading { display: none; }

@media (min-width: 600px) {
  .pc-home-hero { padding: 44px 24px 36px; }
  .pc-home-finder__panel { padding: 22px; }
}

/* ---- HP-6 shared section chrome ----------------------------------------- */
.pc-home { display: block; }
.pc-home-sec { padding: 28px 16px; }
.pc-home-sec:nth-of-type(even) { background: #fafafa; }
.pc-home-sec__inner { max-width: 1080px; margin: 0 auto; }
.pc-home-sec__title {
  margin: 0 0 16px;
  font-size: clamp(20px, 5vw, 28px);
  font-weight: 800;
  line-height: 1.2;
  color: #0a0a0a;
}
.pc-home-sec__more { margin: 14px 0 0; font-size: 15px; font-weight: 700; }
.pc-home-sec__more a, .pc-home-charger__cta { color: #990000; text-decoration: none; }
.pc-home-sec__more a:hover { text-decoration: underline; }

/* ---- Module 2 · snapshot ------------------------------------------------ */
.pc-home-snapshot__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.pc-home-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
}
.pc-home-stat__k { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: #777; }
.pc-home-snapshot__alert { margin: 16px 0 0; font-size: 15px; color: #333; }
.pc-home-alert-slot:empty { display: none; }

/* FX-2 — [pc_data] fragments read as clean stacked lines. The shortcode emits a
   bare .pc-data (value/label/stamp); pc-data.css only targets the --inline/
   --block variants it doesn't emit, so lay them out here (scoped to the home). */
.pc-home-stat .pc-data { display: flex; flex-direction: column; gap: 2px; }
.pc-home-stat .pc-data__value { font-size: 20px; font-weight: 800; line-height: 1.2; color: #0a0a0a; }
.pc-home-stat .pc-data__label { font-size: 13px; color: #555; }
.pc-home-stat .pc-data__stamp { font-size: 11px; font-style: italic; color: #999; }
.pc-home-model__fact .pc-data { display: block; }
.pc-home-model__fact .pc-data__value { font-weight: 700; color: #0a0a0a; }
.pc-home-model__fact .pc-data__label { display: block; font-size: 12px; color: #666; }
.pc-home-model__fact .pc-data__stamp { display: none; } /* redundant ×2 per model card */

/* ---- Module 3 · browse by model ----------------------------------------- */
.pc-home-models__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.pc-home-model {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.pc-home-model:hover { border-color: #990000; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); }
.pc-home-model__name { font-size: 17px; font-weight: 800; color: #0a0a0a; }
.pc-home-model__facts { display: flex; flex-direction: column; gap: 6px; }
.pc-home-models__note { margin: 14px 0 0; font-size: 13px; color: #777; }

/* ---- Module 4 · best deals ---------------------------------------------- */
.pc-home-deals__grid { display: block; } /* [pc_vehicles] is single-column (SE-8) */
.pc-home-deals__pending {
  margin: 0;
  padding: 18px;
  background: #fff;
  border: 1px dashed #d8d8d8;
  border-radius: 6px;
  color: #555;
  font-size: 15px;
}
.pc-home-deals__note { margin: 12px 0 0; font-size: 13px; color: #777; }

/* ---- Module 5 · trust --------------------------------------------------- */
.pc-home-trust__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pc-home-trust__item {
  padding: 14px 16px;
  background: #fff;
  border-left: 3px solid #990000;
  border-radius: 0 6px 6px 0;
  font-size: 15px;
  line-height: 1.5;
  color: #333;
}
.pc-home-trust__lead { color: #0a0a0a; }

/* ---- Module 6 · charger map (LCP-safe placeholder) ---------------------- */
.pc-home-charger__card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.pc-home-charger__preview {
  display: block;
  position: relative;
  min-height: 150px;
  background:
    radial-gradient(circle at 30% 40%, rgba(153, 0, 0, 0.18), transparent 40%),
    radial-gradient(circle at 70% 65%, rgba(153, 0, 0, 0.12), transparent 45%),
    linear-gradient(135deg, #1a1a1a 0%, #2e2e2e 100%);
}
.pc-home-charger__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pc-home-charger__body { display: block; padding: 16px; }
.pc-home-charger__line { display: block; font-size: 16px; font-weight: 700; color: #0a0a0a; margin-bottom: 6px; }
.pc-home-charger__cta { display: inline-block; font-weight: 700; }

/* ---- Module 7 · latest articles ----------------------------------------- */
.pc-home-articles__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.pc-home-article {
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  overflow: hidden;
}
.pc-home-article__media { flex: 0 0 96px; }
.pc-home-article__media .pc-home-article__img { display: block; width: 96px; height: 72px; object-fit: cover; }
.pc-home-article__title { font-size: 15px; font-weight: 700; line-height: 1.35; padding: 10px 12px 10px 0; color: #0a0a0a; }
.pc-home-article:hover .pc-home-article__title { color: #990000; }

/* ---- Module 8 · dealer overview ----------------------------------------- */
.pc-home-dealers__body { margin: 0 0 16px; font-size: 16px; color: #333; }
.pc-home-dealers__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.pc-home-dealer {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  text-decoration: none;
  color: #333;
  font-weight: 700;
  text-align: center;
}
.pc-home-dealer:hover { border-color: #990000; }
.pc-home-dealer__logo { max-width: 100%; height: auto; max-height: 40px; object-fit: contain; }
/* HP-D1 monogram fallback (no logo) — left-aligned initials chip + name */
.pc-home-dealer--mono { justify-content: flex-start; gap: 8px; text-align: left; }
.pc-home-dealer__mono {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #990000;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
  border-radius: 6px;
}
.pc-home-dealer__name { font-size: 13px; line-height: 1.2; }
.pc-home-dealers__micro { margin: 12px 0 0; font-size: 13px; color: #777; }

@media (min-width: 700px) {
  .pc-home-sec { padding: 44px 24px; }
  .pc-home-snapshot__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pc-home-models__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .pc-home-trust__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-home-articles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-home-dealers__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  .pc-home-articles__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pc-home-dealers__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* ---- HP-7 lead-magnet capture (mounted by pc-home.js) ------------------- */
.pc-home-alert { margin: 12px 0 0; }
.pc-home-alert__label { font-size: 14px; font-weight: 700; color: #0a0a0a; margin-bottom: 6px; }
.pc-home-alert__row { display: flex; gap: 8px; flex-wrap: wrap; }
.pc-home-alert__email {
  flex: 1 1 200px;
  min-width: 0;
  padding: 10px 12px;
  font-size: 15px;
  border: 1px solid #cfcfcf;
  border-radius: 4px;
}
.pc-home-alert__email:focus { outline: 2px solid #990000; outline-offset: -1px; border-color: #990000; }
.pc-home-alert__btn { flex: 0 0 auto; white-space: nowrap; }
.pc-home-alert__msg { margin: 8px 0 0; font-size: 13px; min-height: 1.2em; }
.pc-home-alert__msg.is-ok { color: #157347; }
.pc-home-alert__msg.is-err { color: #990000; }
.pc-home-alert__msg:empty { display: none; }
