/* Fix: Remove auto-generated paragraphs that cause black gap before hero on location pages */
body.page-template-elementor_canvas > p {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.page-template-elementor_canvas > div.breadcrumb {
  display: none !important;
}

/* ============================================================
   GLOBAL STYLES: Services, Process, Reviews, Find Us sections
   Applied to all location pages to match home page styling
   ============================================================ */

/* --- Shared Button Styles --- */
.btn-primary{background:linear-gradient(135deg,var(--red,#e8352a),#c8372d);color:#fff;padding:.9rem 2.2rem;border-radius:6px;font-weight:600;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;border:none;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:.6rem;box-shadow:0 0 30px rgba(232,53,42,.35),0 4px 15px rgba(0,0,0,.4);text-decoration:none}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 50px rgba(232,53,42,.45),0 8px 25px rgba(0,0,0,.4);color:#fff}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(232,53,42,.35);padding:.9rem 2.2rem;border-radius:6px;font-weight:600;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}
.btn-ghost:hover{background:rgba(232,53,42,.1);border-color:rgba(232,53,42,.6);color:#fff}

/* --- Services Section --- */
.services{padding:6rem 2rem;background:#0a0a0a}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:1200px;margin:2.5rem auto 0}
.svc-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:.3s}
.svc-card:hover{border-color:rgba(232,53,42,.35);background:rgba(232,53,42,.05);transform:translateY(-3px)}
.svc-icon{width:52px;height:52px;background:rgba(255,255,255,.07);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#fff}
.svc-card h3{font-size:1.15rem;font-weight:700;color:#fff;margin:0}
.svc-card p{color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.6;flex:1;margin:0}
.svc-price{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(255,255,255,.08);padding-top:1rem;margin-top:auto}
.svc-price-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.svc-price-val{font-size:1.6rem;font-weight:800;color:#e8352a}

/* --- Process Section --- */
.process{padding:6rem 2rem;background:#080808}
.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;max-width:1100px;margin:3rem auto 0}
.pstep{display:flex;flex-direction:column;gap:.8rem;padding:1.8rem;background:rgba(255,255,255,.03);border-radius:12px;border:1px solid rgba(255,255,255,.07)}
.pstep-num{font-size:2.5rem;font-weight:900;color:rgba(232,53,42,.35);line-height:1}
.pstep h3{font-size:1rem;font-weight:700;color:#fff;margin:0;text-transform:uppercase;letter-spacing:.04em}
.pstep p{color:rgba(255,255,255,.55);font-size:.88rem;line-height:1.6;margin:0}

/* --- Reviews Section --- */
.reviews-section{padding:6rem 2rem;background:#0a0a0a}
.reviews-stars{font-size:1.4rem;color:#e8352a;letter-spacing:2px;margin:.5rem 0}
.reviews-meta{color:rgba(255,255,255,.5);font-size:.9rem;margin-bottom:2.5rem}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;max-width:1200px;margin:0 auto}
.rcard{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.5rem;display:flex;gap:1rem;transition:.2s}
.rcard:hover{border-color:rgba(232,53,42,.25);background:rgba(232,53,42,.03)}
.g-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#e8352a,#c8372d);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;flex-shrink:0}
.rcard-body{display:flex;flex-direction:column;gap:.4rem;flex:1}
.rcard-name{font-weight:600;color:#fff;font-size:.95rem}
.rcard-loc{color:rgba(255,255,255,.4);font-weight:400;font-size:.82rem;margin-left:.3rem}
.rcard-stars{color:#e8352a;font-size:.9rem;letter-spacing:1px}
.rcard-body p{color:rgba(255,255,255,.65);font-size:.87rem;line-height:1.6;margin:0;font-style:italic}
.rcard-service{font-size:.75rem;color:rgba(255,255,255,.35);letter-spacing:.04em;margin-top:.2rem}
.reviews-actions{text-align:center;margin-top:2.5rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* --- Find Us Section --- */
.find-us{padding:6rem 2rem;background:#080808}
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;max-width:1100px;margin:2.5rem auto 0}
.contact-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.8rem;display:flex;flex-direction:column;gap:.8rem}
.cc-title{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);font-weight:600}
.contact-card p,.contact-card a{color:#fff;font-size:1rem;margin:0;text-decoration:none}
.contact-card a:hover{color:#e8352a}
.hours-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.hours-row:last-child{border-bottom:none}
.hours-day{color:rgba(255,255,255,.6);font-size:.85rem}
.hours-time{color:#fff;font-size:.85rem;font-weight:500}
/* CSS variable fallback for location pages */
:root { --red-glow: rgba(232,53,42,.35); }

/* ============================================================
   MOBILE PERFORMANCE OPTIMIZATIONS
   ============================================================ */

/* Improve rendering performance on mobile */
* { -webkit-tap-highlight-color: transparent; }
img { content-visibility: auto; }

/* Reduce layout shift - reserve space for hero video */
.hero { min-height: 100svh; contain: layout; }
.hero-video { will-change: auto; }

/* Optimize animations for mobile */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Mobile layout optimizations for new sections */
@media (max-width: 768px) {
  .svc-grid { grid-template-columns: 1fr; gap: 1rem; }
  .reviews-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr; gap: 1rem; }
  .contact-cards { grid-template-columns: 1fr; }
  .services, .process, .reviews-section, .find-us { padding: 3.5rem 1.2rem; }
  .svc-price-val { font-size: 1.3rem; }
  .btn-primary, .btn-ghost { padding: .75rem 1.5rem; font-size: .82rem; }
  .reviews-actions { flex-direction: column; align-items: center; }
  .rcard { flex-direction: column; }
  .hours-row { flex-direction: column; gap: .2rem; }
}

@media (max-width: 480px) {
  .svc-grid, .process-steps, .reviews-grid, .contact-cards { gap: .75rem; }
  .svc-card, .pstep, .rcard, .contact-card { padding: 1.2rem; }
  .pstep-num { font-size: 2rem; }
}