/* ════════════════════════════════════════════════════════════
   Reviews — Ellwanger Painting
   Page-scoped styles. Header/footer handled by header_footer.css.
   ════════════════════════════════════════════════════════════ */

.rev-main,
.rev-hero,
.rev-crumbs {
  --rev-primary: #2e5f84;
  --rev-primary-dark: #234b69;
  --rev-accent: #c48416;
  --rev-dark: #640505;
  --rev-ink: #0f172a;
  --rev-muted: #475569;
  --rev-line: #e2e8f0;
  --rev-bg-soft: #f6f8fa;
  --rev-star: #f5a623;
  --rev-google: #4285F4;
  --rev-radius: 16px;
  --rev-shadow: 0 10px 30px rgba(15, 23, 42, .08);
}

/* ── BREADCRUMBS ── */
.rev-crumbs { max-width: 1100px; margin: 0 auto; padding: 1rem 1.25rem .25rem; }
.rev-crumbs ol {
  list-style: none; display: flex; flex-wrap: wrap; align-items: center;
  gap: .45rem; margin: 0; padding: 0; font-size: .85rem; color: var(--rev-muted);
}
.rev-crumbs a { color: var(--rev-primary); text-decoration: none; }
.rev-crumbs a:hover { text-decoration: underline; }
.rev-crumbs [aria-current="page"] { color: var(--rev-ink); font-weight: 600; }

/* ── HERO ── */
.rev-hero {
  background:
    radial-gradient(1100px 380px at 80% -20%, rgba(196,132,22,.18), transparent 60%),
    linear-gradient(135deg, var(--rev-primary) 0%, var(--rev-primary-dark) 60%, #1b3850 100%);
  color: #fff;
  padding: 2.5rem 1.25rem 3rem;
}
.rev-hero__inner { max-width: 800px; margin: 0 auto; text-align: center; }
.rev-eyebrow {
  display: inline-block; text-transform: uppercase; letter-spacing: .12em;
  font-size: .72rem; font-weight: 700; color: #ffd9a3; margin-bottom: .9rem;
}
.rev-hero h1 { font-size: clamp(1.9rem, 6vw, 3rem); line-height: 1.1; margin: 0 0 1rem; font-weight: 800; }
.rev-hero__lede { font-size: clamp(1rem, 2.6vw, 1.18rem); line-height: 1.6; color: #e8eef4; max-width: 580px; margin: 0 auto 1.75rem; }

/* ── SUMMARY ── */
.rev-summary {
  display: inline-flex; flex-direction: column; align-items: center; gap: .35rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--rev-radius);
  padding: 1.25rem 2rem;
  backdrop-filter: blur(4px);
}
.rev-summary__value { font-size: 3rem; font-weight: 800; line-height: 1; color: #fff; }
.rev-summary__stars { font-size: 1.5rem; color: var(--rev-star); letter-spacing: .1em; }
.rev-summary__meta { font-size: .92rem; color: #e8eef4; }
.rev-summary__meta strong { color: #fff; }

/* ── BUTTONS ── */
.rev-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .75rem 1.4rem; border-radius: 999px;
  font-weight: 700; font-size: .95rem; text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.rev-btn--google { background: #fff; color: #1f2937; box-shadow: 0 6px 18px rgba(0,0,0,.18); margin-top: .65rem; }
.rev-btn--google .fa-google { color: var(--rev-google); }
.rev-btn--google:hover { transform: translateY(-2px); }
.rev-btn--primary { background: var(--rev-accent); color: #fff; box-shadow: 0 8px 20px rgba(196,132,22,.35); }
.rev-btn--primary:hover { transform: translateY(-2px); }
.rev-btn--ghost { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.65); }
.rev-btn--ghost:hover { background: rgba(255,255,255,.12); }

/* ── MAIN ── */
.rev-main { color: var(--rev-ink); }

/* ── REVIEW LIST ── */
.rev-list {
  max-width: 1100px; margin: 0 auto; padding: 3rem 1.25rem 1rem;
  display: grid; grid-template-columns: 1fr; gap: 1.25rem;
}
.rev-card {
  background: #fff; border: 1px solid var(--rev-line);
  border-radius: var(--rev-radius); box-shadow: var(--rev-shadow);
  padding: 1.5rem;
  display: flex; flex-direction: column;
}
.rev-card__top { display: flex; align-items: center; gap: .85rem; margin-bottom: .75rem; }
.rev-card__avatar {
  flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%;
  background: linear-gradient(135deg, var(--rev-primary), var(--rev-primary-dark));
  color: #fff; font-weight: 800; font-size: 1.2rem;
  display: inline-flex; align-items: center; justify-content: center;
}
.rev-card__name { font-size: 1.05rem; margin: 0; font-weight: 700; }
.rev-card__service { font-size: .82rem; color: var(--rev-muted); }
.rev-card__gicon { margin-left: auto; color: var(--rev-google); font-size: 1.15rem; }
.rev-card__stars { color: var(--rev-star); font-size: 1.05rem; letter-spacing: .08em; margin-bottom: .6rem; }
.rev-card__body { color: #1f2937; line-height: 1.65; margin: 0; font-size: .98rem; }

/* ── TRUST ── */
.rev-trust {
  background: var(--rev-bg-soft);
  border-top: 1px solid var(--rev-line); border-bottom: 1px solid var(--rev-line);
  margin-top: 2rem; padding: 3rem 1.25rem;
}
.rev-trust__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.rev-kicker {
  display: inline-block; text-transform: uppercase; letter-spacing: .1em;
  font-size: .72rem; font-weight: 700; color: var(--rev-accent); margin-bottom: .5rem;
}
.rev-trust h2 { font-size: clamp(1.5rem, 4.5vw, 2.1rem); margin: 0 0 1rem; font-weight: 800; }
.rev-trust p { color: var(--rev-muted); line-height: 1.7; margin: 0 0 1rem; }

/* ── CTA ── */
.rev-cta {
  background:
    radial-gradient(900px 320px at 15% 120%, rgba(196,132,22,.2), transparent 60%),
    linear-gradient(135deg, var(--rev-primary-dark), #1b3850);
  color: #fff; padding: 3rem 1.25rem; text-align: center;
}
.rev-cta__inner { max-width: 720px; margin: 0 auto; }
.rev-cta h2 { font-size: clamp(1.5rem, 4.5vw, 2.1rem); margin: 0 0 .8rem; font-weight: 800; }
.rev-cta p { color: #e8eef4; line-height: 1.6; margin: 0 0 1.5rem; }
.rev-cta__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.rev-cta__sub { font-size: .9rem; color: #b9c8d6; margin-top: 1.5rem; }
.rev-cta__sub a { color: #ffd9a3; font-weight: 600; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (min-width: 700px) {
  .rev-list { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1100px) {
  .rev-list { grid-template-columns: repeat(3, 1fr); }
}
