/* Design changes made on purpose after the Framer copy. The compiled pages
   are 1:1 with the live site; every difference from it lives here, with the
   date and the reason. Loaded after each page's own stylesheet. */

/* 2026-10-15 (Alin): home, "Everything a dealer visit would tell you" — same
   space below the cards as above the heading. Desktop only: Framer had
   80px top / 40px bottom; tablet (40px) and mobile (30px) were already equal. */
.framer-m2IZ0.framer-1u45aut:not(.framer-v-1g2ne7p):not(.framer-v-8kn9pb) {
  padding-bottom: 80px;
}

/* 2026-10-15 (Alin): hover states animate. Framer tweens its hover variants
   (0.2s, ease 0.44,0,0.56,1); the compiled pages switched instantly. Applies to
   every Framer component root and its layers. Inline transitions set by the
   scripts (appear, slideshow) still win. */
[class*="framer-v-"],
[class*="framer-v-"] * {
  transition-property: background-color, border-color, color, box-shadow, gap, transform, opacity, fill, stroke, scale, translate;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.44, 0, 0.56, 1);
}

/* 2026-10-15 (Alin): the cookie banner showed up in printed reports. Nothing
   mounted on <body> by the site scripts (cookie banner) is printed. */
@media print {
  [data-island] {
    display: none !important;
  }
}

/* 2026-10-15 (Alin): micro-interactions (scripts/micro.js). Quick and quiet:
   160-240 ms on interaction, 480 ms for a section entering. `scale` and
   `translate` are separate CSS properties, so they stack with any transform a
   Framer layer already has instead of replacing it. */
:root {
  --cv-ease-out: cubic-bezier(0.22, 0.8, 0.24, 1);
}
/* Zero specificity (:where), so it never replaces a transition an element
   already has: Framer buttons are component roots and keep the eased hover of
   the rule above, with scale and translate added to it there. */
:where(a[href], button, [role="button"]) {
  transition: scale 0.16s var(--cv-ease-out), translate 0.24s var(--cv-ease-out), opacity 0.2s ease;
}
.cv-pressed {
  scale: 0.97;
}
@media (hover: hover) {
  .cv-lift:hover {
    translate: 0 -2px;
  }
}
a.framer-text {
  transition: color 0.2s ease, opacity 0.2s ease, text-decoration-color 0.2s ease;
}
a[href]:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid rgba(1, 144, 202, 0.55);
  outline-offset: 3px;
}
.cv-reveal {
  opacity: 0;
  translate: 0 12px;
  transition: opacity 0.48s var(--cv-ease-out), translate 0.48s var(--cv-ease-out);
}
.cv-reveal.cv-revealed {
  opacity: 1;
  translate: 0 0;
}
.cv-img {
  opacity: 0;
  transition: opacity 0.24s ease;
}
.cv-img.cv-img-in {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .cv-reveal, .cv-img { opacity: 1 !important; translate: none !important; }
  .cv-pressed, .cv-lift:hover { scale: none; translate: none; }
}
@media print {
  .cv-reveal, .cv-img { opacity: 1 !important; translate: none !important; }
}

/* Navbar: the current page's link is blue and underlined (scripts/nav.js marks it). */
nav a.cv-nav-active .framer-text {
  color: #0190CA !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px;
}

/* Home, "Everything a dealer visit would tell you" (Alin, 2026-10-15): no NEW
   badge on the Report summary card, and that card looks like the others. */
.framer-XNDCV .framer-om4j5x { display: none !important; }
.framer-XNDCV.framer-v-3bztyw {
  background: #fff !important;
  --border-color: rgb(226, 234, 237) !important;
}

/* The same cards on phones: one under another (scripts/slideshow.js builds the
   list), styled as the report features list of the VIN decoder result. */
.cv-feat { display: none; }
@media (max-width: 768.98px) {
  section[data-cv-stacked] { display: none !important; }
  /* The slideshow's container has a fixed height (377px) sized for the
     carousel; the list is taller. */
  .cv-feat-host { height: auto !important; }
  .cv-feat {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
    width: 100%;
    box-sizing: border-box;
    background: #E2EAED;
    border: 1px solid #E2EAED;
    border-radius: 12px;
    box-shadow: 0 0 15px rgba(18, 54, 68, 0.05);
    overflow: hidden;
    font-family: Parkinsans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }
  .cv-feat__row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .cv-feat__img {
    width: 100px;
    height: 80px;
    flex: none;
    object-fit: cover;
    object-position: top left;
    border-radius: 4px;
    box-sizing: border-box;
    display: block;
  }
  .cv-feat__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
  .cv-feat__title { font-weight: 600; font-size: 16px; line-height: 22px; color: #27292A; }
  .cv-feat__body { font-weight: 400; font-size: 12px; line-height: 17px; color: #647479; }
}

/* Maintenance page: team access (scripts/maintenance-access.js). */
.cv-unlock { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; max-width: 360px; margin: 24px auto 0; font-family: Parkinsans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.cv-unlock[hidden] { display: none; }
.cv-unlock__label { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #647479; }
.cv-unlock__row { display: flex; gap: 8px; width: 100%; }
.cv-unlock__input { flex: 1; min-width: 0; height: 44px; padding: 0 16px; box-sizing: border-box; border: 1px solid #E2EAED; border-radius: 8px; background: #fff; font: inherit; font-size: 16px; color: #27292A; outline: none; }
.cv-unlock__input:focus { border-color: #0190CA; }
.cv-unlock__btn { height: 44px; padding: 0 20px; border: 0; border-radius: 8px; background: #27292A; color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.cv-unlock__btn:disabled { opacity: .6; cursor: default; }
.cv-unlock__msg { min-height: 16px; margin: 0; font-size: 12px; line-height: 16px; color: #647479; }
.cv-unlock__msg--bad { color: #D93D3D; }

/* Reminder for the team while maintenance mode is on and they are let through. */
.cv-mbadge { position: fixed; left: 16px; bottom: 16px; z-index: 10000; padding: 8px 12px; border-radius: 8px; background: #27292A; color: #fff; font: 600 12px/16px Parkinsans, -apple-system, BlinkMacSystemFont, sans-serif; box-shadow: 0 0 15px rgba(18, 54, 68, .15); pointer-events: none; }
@media (max-width: 768.98px) {
  .cv-mbadge { left: 50%; bottom: auto; top: 8px; transform: translateX(-50%); white-space: nowrap; font-size: 11px; padding: 6px 10px; }
}
