/* CONTACT V2 PREMIUM — FLEX PERFORMANCE */

.contact-page{position:relative;z-index:1}

.contact-badge{
  display:inline-flex;width:fit-content;padding:.55rem 1rem;border-radius:999px;
  border:1px solid rgba(255,36,56,.4);background:rgba(255,36,56,.08);
  color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;
}

/* HERO */
.contact-hero{padding:2.8rem 0 1.4rem}

.contact-hero-card{
  position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:1.2rem;
  min-height:430px;border-radius:32px;border:1px solid rgba(255,255,255,.07);
  background:linear-gradient(90deg,rgba(5,5,8,.96),rgba(5,5,8,.78),rgba(5,5,8,.55)),radial-gradient(circle at top right,rgba(255,36,56,.22),transparent 36%);
  box-shadow:0 30px 90px rgba(0,0,0,.75);padding:2.4rem;
}
.contact-hero-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at left center,rgba(255,36,56,.18),transparent 32%);pointer-events:none}
.hero-left,.hero-right{position:relative;z-index:1}
.hero-left{display:flex;flex-direction:column;justify-content:center}
.hero-left h1{max-width:820px;font-size:clamp(2.25rem,5vw,4.5rem);line-height:.98;font-weight:900;letter-spacing:-.05em;margin-bottom:1rem}
.hero-left p{color:#b8b8bf;line-height:1.85;max-width:760px;font-size:1.02rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.hero-right{display:flex;flex-direction:column;justify-content:center;gap:1rem}
.rating-card,.hero-mini-grid div{background:rgba(10,10,16,.88);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:1.2rem;backdrop-filter:blur(10px)}
.rating-stars{color:var(--accent);letter-spacing:.18em;margin-bottom:.75rem}
.rating-card strong{display:block;color:#fff;font-size:1.3rem;margin-bottom:.35rem}
.rating-card span,.hero-mini-grid span{color:var(--muted);line-height:1.6}
.hero-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.hero-mini-grid strong{display:block;color:#fff;margin-bottom:.2rem}

/* QUICK CONTACT */
.quick-contact-section{padding:1rem 0 1.5rem}
.quick-contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.quick-card{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;min-height:105px;border-radius:22px;background:rgba(10,10,16,.96);border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 45px rgba(0,0,0,.38);transition:.22s ease-out}
.quick-card:hover{transform:translateY(-4px);border-color:rgba(255,36,56,.45)}
.quick-card>span{width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,36,56,.1);border:1px solid rgba(255,36,56,.35);color:#fff}
.quick-card strong{display:block;color:#fff;line-height:1.35}
.quick-card small{display:block;color:var(--muted);margin-top:.2rem;line-height:1.45}

/* FORM */
.form-section{padding:1.5rem 0 2rem}
.form-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:1.1rem;align-items:stretch}
.contact-form-card,.contact-side-card,.cities-card,.map-contact-card,.seo-card{background:rgba(10,10,16,.96);border:1px solid rgba(255,255,255,.07);border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.45)}
.contact-form-card{padding:1.8rem}
.contact-form-card h2,.contact-side-card h2,.cities-card h2,.map-copy h2,.seo-card h2{font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.1;font-weight:900;letter-spacing:-.03em;margin-bottom:.75rem}
.contact-form-card p,.contact-side-card p,.map-copy p,.seo-card p{color:var(--muted);line-height:1.85}
.contact-form{display:grid;gap:1rem;margin-top:1.4rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.45rem}
.field label{color:#fff;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #2b2b34;background:#06060b;color:#fff;border-radius:18px;padding:1rem 1.05rem;font-family:inherit;font-size:.95rem;outline:none;transition:.22s ease-out}
.contact-form textarea{min-height:155px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,36,56,.12)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8f8f98}
.consent-line{display:flex;align-items:flex-start;gap:.7rem;color:var(--muted);font-size:.82rem;line-height:1.5}
.consent-line input{width:auto;margin-top:.25rem}
.contact-submit{width:fit-content;border:none;cursor:pointer}
.form-alert{padding:1rem;border-radius:16px;margin:1rem 0;line-height:1.6}
.form-alert.success{border:1px solid rgba(90,255,130,.35);background:rgba(90,255,130,.08);color:#baffc6}
.form-alert.error{border:1px solid rgba(255,36,56,.35);background:rgba(255,36,56,.08);color:#fff}

/* SIDE */
.contact-side-card{padding:1.45rem;background:radial-gradient(circle at top right,rgba(255,36,56,.14),transparent 35%),rgba(10,10,16,.96)}
.steps-list{display:grid;gap:.8rem;margin-top:1.2rem}
.steps-list div,.hours-card{padding:1rem;border-radius:18px;border:1px solid rgba(255,255,255,.07);background:#06060b}
.steps-list strong,.hours-card strong{display:block;color:#fff;margin-bottom:.25rem}
.steps-list span,.hours-card span{display:block;color:var(--muted);line-height:1.6}
.hours-card{display:grid;gap:.25rem;margin-top:1rem}

/* CITIES */
.cities-section{padding:1rem 0 2rem}
.cities-card{padding:1.45rem}
.city-marquee{position:relative;overflow:hidden;margin-top:1.25rem;padding:.25rem 0}
.city-marquee::before,.city-marquee::after{content:"";position:absolute;top:0;width:60px;height:100%;z-index:2;pointer-events:none}
.city-marquee::before{left:0;background:linear-gradient(90deg,rgba(10,10,16,.96),transparent)}
.city-marquee::after{right:0;background:linear-gradient(270deg,rgba(10,10,16,.96),transparent)}
.city-track{display:flex;gap:.65rem;width:max-content;animation:city-scroll 45s linear infinite;will-change:transform}
.city-marquee:hover .city-track{animation-play-state:paused}
.city-track span{display:inline-flex;align-items:center;white-space:nowrap;padding:.6rem .9rem;border-radius:999px;border:1px solid rgba(255,36,56,.32);color:#fff;font-size:.84rem;font-weight:700;background:rgba(255,36,56,.06)}
@keyframes city-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* MAP */
.contact-map-section{padding:0 0 2.5rem}
.map-contact-card{padding:1rem;display:grid;grid-template-columns:.75fr 1.25fr;gap:1rem;align-items:stretch}
.map-copy{padding:1rem;display:flex;flex-direction:column;justify-content:center}
.map-copy .btn-main{width:fit-content;margin-top:1.5rem}
.map-frame-wrap-contact{overflow:hidden;border-radius:20px;border:1px solid #2b2b34;min-height:390px}
.map-frame-contact{width:100%;height:100%;min-height:390px;border:0;display:block;filter:grayscale(.12) contrast(.95)}

/* SEO */
.contact-seo-section{padding:0 0 4rem}
.seo-card{padding:1.5rem}
.seo-card h2{font-size:clamp(1.35rem,2.5vw,2rem)}

/* RESPONSIVE */
@media(max-width:1100px){
  .quick-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-hero-card,.form-layout,.map-contact-card{grid-template-columns:1fr}
}
@media(max-width:760px){
  .contact-hero{padding:1.5rem 0 1rem}
  .contact-hero-card{padding:1.3rem;border-radius:22px;min-height:auto}
  .hero-left h1{font-size:2rem;letter-spacing:-.03em}
  .hero-left p{font-size:.95rem}
  .hero-actions .btn-main,.hero-actions .btn-secondary,.contact-submit,.map-copy .btn-main{width:100%}
  .hero-mini-grid,.quick-contact-grid,.form-row{grid-template-columns:1fr}
  .contact-form-card,.contact-side-card,.cities-card,.seo-card{padding:1.2rem;border-radius:20px}
  .contact-form-card h2,.contact-side-card h2,.cities-card h2,.map-copy h2{font-size:1.75rem}
  .map-contact-card{padding:.8rem;border-radius:20px}
  .map-copy{padding:.7rem}
  .map-frame-wrap-contact,.map-frame-contact{min-height:300px}
  .city-track{animation-duration:58s}
  .city-marquee::before,.city-marquee::after{width:32px}
}
@media(max-width:480px){
  .hero-left h1{font-size:1.82rem}
  .quick-card{min-height:auto}
}
