/* Roberts Collision Center — shared styles */
:root{
  --charcoal:#1a1d21;
  --charcoal-2:#23272d;
  --red:#c8102e;
  --red-dark:#a00d24;
  --gray:#5b6168;
  --light:#f4f5f7;
  --white:#ffffff;
  --line:#e4e7eb;
  --shadow:0 6px 24px rgba(0,0,0,.08);
  --radius:10px;
  --maxw:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  color:var(--charcoal);background:var(--white);line-height:1.6;
}
a{color:var(--red);text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.section{padding:72px 0}
.section.alt{background:var(--light)}
h1,h2,h3{line-height:1.2;color:var(--charcoal);font-weight:800}
h1{font-size:2.6rem}
h2{font-size:2rem;margin-bottom:14px}
h3{font-size:1.25rem}
.lead{font-size:1.15rem;color:var(--gray)}
.center{text-align:center}
.eyebrow{color:var(--red);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;margin-bottom:8px}

/* Buttons */
.btn{display:inline-block;padding:14px 28px;border-radius:8px;font-weight:700;
  font-size:1rem;cursor:pointer;border:2px solid transparent;transition:.2s;text-align:center}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-dark)}
.btn-outline{background:transparent;color:#fff;border-color:#fff}
.btn-outline:hover{background:#fff;color:var(--charcoal)}
.btn-dark{background:var(--charcoal);color:#fff}
.btn-dark:hover{background:var(--charcoal-2)}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.08);border-bottom:3px solid var(--red)}
.topbar{background:var(--charcoal);color:#cfd3d8;font-size:.8rem}
.topbar-inner{max-width:var(--maxw);margin:0 auto;padding:7px 20px;display:flex;
  align-items:center;justify-content:space-between;gap:14px}
.topbar a{color:#fff;font-weight:700;text-decoration:none}
.topbar a:hover{color:var(--red)}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;max-width:var(--maxw);margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;color:var(--charcoal);font-weight:800;font-size:1.15rem}
.brand .logo{height:84px;width:auto;display:block}
.foot-logo{height:62px;width:auto;background:#fff;padding:6px 10px;border-radius:8px;margin-bottom:14px}
@media(max-width:560px){
  .brand .logo{height:66px}
  .nav-cta .btn{padding:8px 13px;font-size:.8rem}
}
.brand .mark{background:var(--red);color:#fff;width:40px;height:40px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:900}
.brand small{display:block;color:#9aa1aa;font-weight:500;font-size:.72rem;letter-spacing:.05em}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none}
.nav-links a{color:var(--charcoal);font-weight:600;font-size:.95rem}
.nav-links a:hover,.nav-links a.active{color:var(--red)}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-phone{color:var(--red);font-weight:800;font-size:1.05rem;white-space:nowrap;text-decoration:none}
.nav-phone span{display:block;color:var(--gray);font-weight:500;font-size:.7rem}
.menu-toggle{display:none;background:none;border:none;color:var(--charcoal);font-size:1.6rem;cursor:pointer}

/* Hero */
.hero{position:relative;background-color:var(--charcoal);
  background-image:linear-gradient(rgba(20,22,26,.78),rgba(20,22,26,.86)), url('hero.jpg');
  background-size:cover;background-position:center;
  color:#fff;padding:96px 0}
.hero h1{color:#fff;max-width:760px}
.hero p{color:#d4d8dd;font-size:1.2rem;margin:18px 0 28px;max-width:620px}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}

/* Trust bar */
.trust{background:var(--charcoal-2);color:#fff;padding:26px 0}
.trust .row{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
.trust .item{display:flex;flex-direction:column;align-items:center;flex:1;min-width:150px;text-align:center}
.trust .num{font-size:1.8rem;font-weight:900;color:#fff}
.trust .lbl{color:#9aa1aa;font-size:.85rem;letter-spacing:.03em}

/* Cards grid */
.grid{display:grid;gap:24px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.card .ic{width:52px;height:52px;border-radius:10px;background:rgba(200,16,46,.1);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:900;margin-bottom:16px}
.card .ic svg{width:26px;height:26px;stroke:var(--red);fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.info-line .ic svg{width:22px;height:22px;stroke:var(--red);fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.card h3{margin-bottom:8px}
.card p{color:var(--gray)}

/* Equipment & capabilities */
.caps-wrap{margin-top:50px}
.caps-head{text-align:center;font-size:1.3rem;font-weight:800;color:var(--charcoal)}
.caps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1000px;margin:22px auto 0}
.cap{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:14px 16px;font-weight:600;font-size:.95rem;box-shadow:var(--shadow)}
.cap svg{width:20px;height:20px;stroke:var(--red);fill:none;stroke-width:3;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
@media(max-width:860px){.caps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.caps{grid-template-columns:1fr}}

/* Badges */
.badges{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:8px}
.badge{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;
  text-align:center;min-width:150px;box-shadow:var(--shadow)}
.badge .b-title{font-weight:800;color:var(--charcoal)}
.badge .b-sub{color:var(--gray);font-size:.85rem}

/* CTA band */
.cta-band{background:var(--red);color:#fff;text-align:center;padding:60px 0}
.cta-band h2{color:#fff}
.cta-band p{color:#ffd9df;margin-bottom:22px;font-size:1.1rem}

/* Rotating carousel */
.carousel{position:relative;max-width:1000px;margin:0 auto;border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);background:#111}
.carousel .slides{position:relative;width:100%;aspect-ratio:16/9}
.carousel .slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;
  display:flex;align-items:center;justify-content:center}
.carousel .slide.active{opacity:1}
.carousel .slide img{width:100%;height:100%;object-fit:cover}
.carousel .ph-slide{width:100%;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:#fff;text-align:center;padding:20px}
.carousel .ph-slide b{font-size:1.4rem}
.carousel .ph-slide small{color:#c9ced4;font-weight:500;margin-top:6px}
.carousel .car-cap{position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;
  padding:46px 22px 18px;font-weight:700;font-size:1.05rem}
.car-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);
  color:#fff;border:0;width:46px;height:46px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:3}
.car-nav:hover{background:var(--red)}
.car-nav svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.car-prev{left:14px}.car-next{right:14px}
.dots{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:8px;justify-content:center;z-index:3}
.dots .dot{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.5);
  border:0;cursor:pointer;padding:0;transition:background .2s}
.dots .dot.active{background:#fff}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-grid .ph{aspect-ratio:4/3;background:var(--light);border:2px dashed #c9ced4;border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;color:#9aa1aa;font-weight:600;text-align:center;padding:16px}

/* Carwise/CCC scheduling widget */
.book-wrap{max-width:840px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;overflow:hidden}
.book-wrap .CWScheduling{width:100%}
.book-wrap iframe{width:100%!important;max-width:100%;border:0}

/* Certification grid (logo list) */
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto}
.cert-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center}
.cert-logo{width:100%;height:96px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.cert-logo img{max-height:96px;max-width:100%;object-fit:contain}
.cert-logo .ph-logo{width:100%;height:96px;border:2px dashed #c9ced4;border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:#9aa1aa;font-size:.78rem;
  font-weight:600;text-align:center;padding:8px}
.cert-card h3{font-size:1.1rem;margin-bottom:4px}
.cert-card p{color:var(--gray);font-size:.9rem}
@media(max-width:860px){.cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cert-grid{grid-template-columns:1fr}}

/* OEM certification accordion */
.oem-accordion{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.oem-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden}
.oem-item summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;
  align-items:center;justify-content:space-between;font-weight:700;font-size:1.1rem;color:var(--charcoal)}
.oem-item summary::-webkit-details-marker{display:none}
.oem-item summary:hover{background:var(--light)}
.oem-item summary .chev{width:22px;height:22px;transition:transform .25s;flex-shrink:0;
  stroke:var(--red);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.oem-item[open] summary .chev{transform:rotate(180deg)}
.oem-item[open] summary{border-bottom:1px solid var(--line);background:var(--light)}
.oem-item .body{padding:20px 24px;color:var(--gray)}
.oem-item .body .tag{display:inline-block;background:rgba(200,16,46,.1);color:var(--red);
  font-weight:700;font-size:.8rem;padding:4px 12px;border-radius:20px;margin-bottom:10px}

/* Reviews */
.cw-review-badge{display:flex;justify-content:center;margin:0 auto 40px;flex-wrap:wrap}
.cw-review-badge .shop-review-box{max-width:100%}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.review .stars{color:#f5a623;font-size:1.1rem;margin-bottom:8px}
.review p{color:var(--charcoal);font-style:italic}
.review .who{margin-top:10px;font-weight:700;color:var(--gray);font-style:normal}

/* Contact / form */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.info-line{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}
.info-line .ic{color:var(--red);font-size:1.2rem;min-width:24px}
.info-line b{display:block}
form .field{margin-bottom:16px}
form label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}
form input,form textarea,form select{width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:8px;font-size:1rem;font-family:inherit}
form input:focus,form textarea:focus{outline:2px solid var(--red);border-color:var(--red)}
.note{background:#fff8e1;border:1px solid #f0e0a8;border-radius:8px;padding:12px 14px;font-size:.9rem;color:#7a6500;margin-bottom:18px}
.map{width:100%;border:0;border-radius:var(--radius);min-height:300px}

/* Footer */
footer.site{background:var(--charcoal);color:#c2c7ce;padding:48px 0 24px}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
footer.site h4{color:#fff;margin-bottom:12px;font-size:1rem}
footer.site a{color:#c2c7ce}
footer.site a:hover{color:#fff}
footer.site ul{list-style:none}
footer.site li{margin-bottom:8px}
.foot-bottom{border-top:1px solid #33373d;margin-top:32px;padding-top:18px;text-align:center;color:#7d838b;font-size:.85rem}

/* Responsive */
@media(max-width:860px){
  .grid-3,.gallery-grid{grid-template-columns:repeat(2,1fr)}
  .contact-wrap,footer.site .cols{grid-template-columns:1fr}
  h1{font-size:2rem}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;padding:18px 20px;gap:16px;border-top:1px solid var(--line);
    box-shadow:0 8px 16px rgba(0,0,0,.1)}
  .nav-links.open{display:flex}
  .menu-toggle{display:block}
  .nav-phone span{display:inline}
  .topbar-inner .addr{display:none}
}
@media(max-width:560px){
  .grid-3,.grid-2,.gallery-grid{grid-template-columns:1fr}
  .nav-phone{display:none}
}
