/* Stream RV — contact page, ported verbatim from the signed-off design
   (Contact.html). Scoped to the wrapper; review chrome not shipped. */

/* ============================================================================
   STREAM RV — CONTACT v2  ·  wrapper: .srv-contact
   Split-panel take: every fact appears ONCE — dark essentials panel + form,
   wide map below. No department sections (routing = the form select only).
   Self-contained Elementor "HTML" block. All styles scoped under .srv-contact,
   tokens on the wrapper (NOT :root), no global resets. No header/footer.
   DEV: form is a styled shell — inject the real form; route by the select.
        Do NOT print email addresses anywhere on the page.
   ============================================================================ */

.srv-contact{
  --primary:#0d1919; --primary-container:#222e2e; --on-primary:#ffffff;
  --secondary:#81550c; --brass-mid:#96682a; --secondary-container:#fdc171;
  --secondary-fixed:#ffddb5;
  --background:#fbf9f8; --surface:#f5f3f3; --on-surface-variant:#424848;
  --body-text:#1b1c1c; --outline:#c2c7c7;
  --line:rgba(34,46,46,.13); --line-2:rgba(34,46,46,.08);
  --maxw:1220px; --pad:26px;

  font-family:'Libre Franklin',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  color:var(--body-text);background:var(--background);line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.srv-contact *{box-sizing:border-box;}
.srv-contact [hidden]{display:none!important;}
.srv-contact img{display:block;max-width:100%;}
.srv-contact h1,.srv-contact h2{font-family:'Vollkorn','Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;font-weight:600;margin:0;
  color:var(--primary-container);letter-spacing:-.02em;line-height:1.08;text-wrap:balance;}
.srv-contact p{margin:0;}
.srv-contact a{color:inherit;}
.srv-contact a[href^="tel:"]{white-space:nowrap;}
.srv-contact :focus-visible{outline:2px solid var(--brass-mid);outline-offset:2px;border-radius:2px;}

.srv-contact .cw{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.srv-contact .eyebrow{font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--secondary);margin:0 0 16px;display:flex;align-items:center;gap:11px;}
.srv-contact .eyebrow::before{content:"";width:24px;height:1.5px;background:var(--brass-mid);flex:none;}
.srv-contact .eyebrow.on-dark{color:var(--secondary-fixed);}

.srv-contact .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-weight:600;
  font-size:15.5px;font-family:'Libre Franklin',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;padding:14px 24px;min-height:52px;border-radius:4px;
  text-decoration:none;cursor:pointer;border:1.5px solid transparent;white-space:nowrap;}
.srv-contact .btn:active{transform:translateY(1px);}
.srv-contact .btn--primary{background:var(--primary-container);color:#fff;}
.srv-contact .btn--primary:hover{background:var(--primary);}
@media (prefers-reduced-motion: no-preference){
  .srv-contact .btn{transition:background .18s,color .18s,border-color .18s;}
}

/* ===== SPLIT ===== */
.srv-contact .split{display:grid;grid-template-columns:1fr 1fr;min-height:640px;position:relative;}
/* legacy #sales/#service/#parts anchors — abs-pos so they never become grid items */
.srv-contact .split > span[id]{position:absolute;top:0;left:0;width:0;height:0;}
/* dark essentials panel */
.srv-contact .info{background:var(--primary-container);color:var(--background);
  display:flex;align-items:center;justify-content:flex-end;
  padding:clamp(48px,5.5vw,84px) clamp(26px,4vw,76px);}
.srv-contact .info__inner{width:100%;max-width:calc(var(--maxw)/2 - 50px);}
.srv-contact .info h1{color:var(--background);font-size:clamp(34px,3.6vw,50px);letter-spacing:-.025em;max-width:13ch;}
.srv-contact .info h1 em{font-style:italic;color:var(--secondary-container);font-weight:500;}
.srv-contact .info__sub{color:#CFC6B8;font-size:16px;max-width:42ch;margin:18px 0 34px;}
/* the one big phone */
.srv-contact .info__phone{display:block;font-family:'Vollkorn','Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;font-weight:600;
  font-size:clamp(32px,3.2vw,44px);letter-spacing:-.015em;color:var(--secondary-container);
  text-decoration:none;line-height:1.1;}
.srv-contact .info__phone:hover{color:var(--secondary-fixed);}
.srv-contact .info__tollfree{font-size:14px;color:#CFC6B8;margin:8px 0 0;}
.srv-contact .info__tollfree a{color:var(--secondary-fixed);font-weight:600;text-decoration:none;}
.srv-contact .info__tollfree a:hover{color:var(--secondary-container);}
/* facts — each stated once */
.srv-contact .facts{margin-top:34px;border-top:1px solid rgba(255,255,255,.16);}
.srv-contact .fact{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:baseline;
  padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.srv-contact .fact span{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--secondary-fixed);}
.srv-contact .fact b{font-size:15px;font-weight:500;color:var(--background);line-height:1.5;}

/* form panel */
.srv-contact .ask{background:var(--background);display:flex;align-items:center;justify-content:flex-start;
  padding:clamp(48px,5.5vw,84px) clamp(26px,4vw,76px);}
.srv-contact .ask__inner{width:100%;max-width:calc(var(--maxw)/2 - 50px);}
.srv-contact .ask h2{font-size:clamp(24px,2.4vw,31px);margin-bottom:8px;}
.srv-contact .ask__intro{font-size:15px;color:var(--on-surface-variant);margin-bottom:26px;max-width:44ch;}
/* DEV: styled shell — inject real form; route internally by the select */
.srv-contact .form{display:flex;flex-direction:column;gap:16px;}
.srv-contact .form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.srv-contact .field{display:flex;flex-direction:column;gap:6px;}
.srv-contact .field label{font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  color:var(--on-surface-variant);}
.srv-contact .field input,.srv-contact .field select,.srv-contact .field textarea{
  font:inherit;font-size:15px;color:var(--body-text);background:var(--surface);
  border:1px solid var(--outline);border-radius:6px;padding:12px 14px;width:100%;}
.srv-contact .field select{appearance:none;background-image:linear-gradient(45deg,transparent 49%,var(--secondary) 50%),linear-gradient(135deg,var(--secondary) 50%,transparent 51%);
  background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px;}
.srv-contact .field input:focus,.srv-contact .field select:focus,.srv-contact .field textarea:focus{
  outline:2px solid var(--brass-mid);outline-offset:0;border-color:var(--brass-mid);}
.srv-contact .field textarea{min-height:130px;resize:vertical;}
.srv-contact .form .btn{width:100%;}
.srv-contact .form__note{font-size:12.5px;color:var(--on-surface-variant);text-align:center;}

/* ===== MAP BAND ===== */
.srv-contact .map{position:relative;border-top:1px solid var(--line-2);
  background:repeating-linear-gradient(135deg,rgba(34,46,46,.05) 0 12px,rgba(34,46,46,.085) 12px 24px),var(--surface);
  min-height:380px;display:flex;align-items:flex-end;}
.srv-contact .map__tag{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:11px;letter-spacing:.04em;
  color:var(--on-surface-variant);background:rgba(255,255,255,.85);border-top:1px solid var(--line);
  border-right:1px solid var(--line);padding:5px 10px;border-radius:0 6px 0 0;}
/* floating address card */
.srv-contact .map__card{position:absolute;right:clamp(20px,5vw,72px);top:50%;transform:translateY(-50%);
  background:var(--background);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 28px 60px -28px rgba(13,25,25,.45);padding:clamp(22px,2.4vw,30px);max-width:380px;}
.srv-contact .map__card h2{font-size:22px;margin-bottom:6px;}
.srv-contact .map__card p{font-size:14.5px;color:var(--on-surface-variant);margin-bottom:18px;}
.srv-contact .map__card .btn{width:100%;}

/* ===== RESPONSIVE ===== */
@media (max-width:940px){
  .srv-contact .split{grid-template-columns:1fr;}
  .srv-contact .info,.srv-contact .ask{justify-content:center;}
  .srv-contact .info__inner,.srv-contact .ask__inner{max-width:640px;}
  .srv-contact .map{min-height:520px;align-items:flex-end;}
  .srv-contact .map__card{position:static;transform:none;margin:24px auto 56px;}
  .srv-contact .map::before{content:"";position:absolute;inset:0;}
}
@media (max-width:560px){
  .srv-contact{--pad:20px;}
  .srv-contact .form__row{grid-template-columns:1fr;}
  .srv-contact .fact{grid-template-columns:1fr;gap:2px;}
}
/* full-bleed map embed (production swap for the striped placeholder) — the
   card paints above it at every breakpoint */
.srv-contact .map iframe{z-index:0;}
.srv-contact .map__card{z-index:1;}
@media (max-width:860px){.srv-contact .map__card{position:relative;right:auto;}}
