/* Page-specific rules for happy-customers, lifted from the reference page. */


:root{
  --ra-ink:#141b26;
  --ra-paper:#ffffff;
  --ra-border:#e4e7eb;
  --ra-red:#1f93dd;
  --ra-navy:#1c2634;
  --ra-cream:#eef0f3;
  --ra-gold:#4bb8f2;
  --ra-soft:#f5f6f8;
  --ra-muted:#6b7178;
  --ra-green:#0f766e;
  --shadow:0 18px 55px rgba(20,27,38,.10);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(75,184,242,.13), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f3efe5 100%);
  color:var(--ra-ink);
}
a{color:inherit}
.reviews-page{padding:34px 16px 64px;}
.reviews-wrap{max-width:1180px;margin:0 auto;}
.reviews-hero{
  border:1px solid var(--ra-border);
  border-radius:30px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(20,27,38,.98),rgba(24,54,95,.96));
  color:#fff;
  box-shadow:var(--shadow);
  position:relative;
}
.reviews-hero:before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 86% 18%, rgba(75,184,242,.35), transparent 31%),
    linear-gradient(90deg, rgba(255,255,255,.05), transparent 55%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1;padding:46px 38px;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.68);font-weight:900;margin-bottom:12px;}
.reviews-hero h1{font-size:clamp(38px,5vw,70px);line-height:.95;margin:0 0 14px;font-weight:900;letter-spacing:-.06em;}
.reviews-hero p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.78);max-width:700px;margin:0;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.hero-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:13px 18px;font-weight:900;font-size:14px;}
.hero-btn.primary{background:linear-gradient(135deg,var(--ra-red),#1573b4);color:#fff;box-shadow:0 14px 30px rgba(31,147,221,.24);}
.hero-btn.secondary{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff;}
.rating-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:24px;backdrop-filter:blur(8px);}
.rating-card .stars{font-size:24px;color:#4bb8f2;letter-spacing:2px;margin-bottom:14px;}
.rating-card h2{font-size:48px;line-height:1;margin:0;font-weight:900;letter-spacing:-.05em;}
.rating-card p{font-size:14px;color:rgba(255,255,255,.72);margin-top:8px;}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;}
.stat{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.09);border-radius:18px;padding:14px;}
.stat strong{display:block;color:#fff;font-size:20px;font-weight:900;}
.stat span{display:block;color:rgba(255,255,255,.62);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;margin-top:3px;}
.section-head{display:flex;justify-content:space-between;gap:22px;align-items:end;margin:34px 0 18px;}
.section-head h2{font-size:clamp(26px,3vw,42px);letter-spacing:-.045em;line-height:1;margin:0;font-weight:900;}
.section-head p{margin:0;color:var(--ra-muted);line-height:1.6;max-width:540px;font-size:14px;}
/* A photo wall: columns rather than a grid, so every shot keeps its own
   shape instead of being cropped to one ratio. */
.reviews-grid{display:block;columns:3;column-gap:20px;}
.review-card{background:#fff;border:1px solid var(--ra-border);border-radius:26px;box-shadow:0 12px 34px rgba(20,27,38,.07);overflow:hidden;display:block;min-height:0;break-inside:avoid;margin:0 0 20px;padding:0;}
.review-photo-wrap{position:relative;background:#f5f6f8;overflow:hidden;}
.review-car-photo{width:100%;height:auto;display:block;transition:transform .35s ease;}
.review-card:hover .review-car-photo{transform:scale(1.04);}
.photo-badge{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.92);color:var(--ra-ink);border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.16);}
.photo-badge span{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--ra-green);color:#fff;font-size:11px;}
.review-content{padding:20px;display:flex;flex-direction:column;flex:1;}
.client-info{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.client-name{font-size:16px;font-weight:900;letter-spacing:-.015em;color:var(--ra-ink);}
.review-date{font-size:12px;color:var(--ra-muted);font-weight:700;margin-top:3px;}
.review-stars{color:#4bb8f2;letter-spacing:1px;font-size:14px;white-space:nowrap;}
.vehicle-label{display:inline-flex;align-self:flex-start;border:1px solid var(--ra-border);background:var(--ra-soft);color:var(--ra-navy);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;margin-bottom:13px;}
.review-text{color:#465160;line-height:1.7;font-size:14px;margin:0 0 18px;flex:1;}
.discount-badge{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;border:1px solid rgba(15,118,110,.16);background:#f0f8fe;color:#0f766e;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:900;}
.discount-badge span{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#0f766e;color:#fff;font-size:11px;}
.review-cta{margin-top:28px;border-radius:28px;background:linear-gradient(135deg,var(--ra-red),#1573b4);color:#fff;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 16px 40px rgba(31,147,221,.18);}
.review-cta h2{margin:0 0 6px;font-size:26px;letter-spacing:-.035em;}.review-cta p{margin:0;color:rgba(255,255,255,.78);line-height:1.6;}.review-cta a{background:#fff;color:var(--ra-red);text-decoration:none;border-radius:999px;padding:13px 18px;font-weight:900;white-space:nowrap;}
.google-review-box{margin-top:18px;text-align:center;}
.google-review-box a{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:#fff;border:1px solid var(--ra-border);color:var(--ra-ink);border-radius:999px;padding:13px 18px;font-weight:900;box-shadow:0 10px 26px rgba(20,27,38,.06);}
@media(max-width:1050px){.reviews-grid{display:block;columns:2;}.hero-inner{grid-template-columns:1fr}.rating-card{max-width:520px}}
@media(max-width:760px){
  .reviews-page{padding:22px 10px 46px;}
  .reviews-wrap{max-width:100%;overflow:hidden;}
  .hero-inner{padding:28px 20px;}
  .reviews-hero{border-radius:22px;}
  .reviews-grid{display:block;columns:1;width:100%;}
  .section-head{display:block;}
  .section-head p{margin-top:10px;}
  .review-card{width:100%;min-height:0;border-radius:22px;overflow:hidden;}

  /* Mobile image fix: show full customer/car photo instead of hiding/cropping */
  .review-photo-wrap{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:auto;
    background:#f5f6f8;
    overflow:hidden;
  }
  .review-car-photo{
    width:100%;
    height:auto;
    max-width:100%;
    max-height:none;
    object-fit:contain;
    display:block;
    transform:none!important;
  }
  .review-card:hover .review-car-photo{transform:none!important;}

  .photo-badge{left:10px;top:10px;font-size:10px;padding:7px 9px;}
  .review-content{padding:16px;}
  .review-cta{display:block;border-radius:22px;padding:22px;}
  .review-cta a{display:inline-flex;margin-top:16px;}
  .stat-grid{grid-template-columns:1fr;}
  .client-info{display:block;}
  .review-stars{margin-top:8px;}
}
@media(max-width:420px){
  .reviews-page{padding-left:8px;padding-right:8px;}
  .review-card{border-radius:18px;}
  .photo-badge{font-size:9px;padding:6px 8px;}
}
@media(max-width:640px){.review-card{padding:0;}}
