/* ---- Seitenspezifisch [4/5]: ram-gmbh-kontakt.html ----
   Seitenmodule (Subhero, Breadcrumb, Sektionen) inkl. eigener Breakpoints. */
  /* ===== subpage hero (shared) ===== */
  

  /* ===== contact ===== */
  .contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:start;margin-top:50px}
  .cinfo .clabel{font-family:"IBM Plex Mono";font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin-bottom:22px}
  .cinfo .row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
  .cinfo .row.first{padding-top:0}
  .cinfo .ic{width:44px;height:44px;border:1px solid var(--line);display:grid;place-items:center;color:var(--brand);flex:none}
  .cinfo .ic svg{width:20px;height:20px}
  .cinfo .lbl{font-family:"IBM Plex Mono";font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:5px}
  .cinfo .val{font-size:1.04rem;font-weight:500;color:var(--ink);line-height:1.4}
  .cinfo .val a:hover{color:var(--brand)}
  .cinfo .sub{color:var(--muted);font-size:.9rem;margin-top:4px}
  .vdma{display:flex;align-items:center;gap:14px;margin-top:28px;padding:16px 18px;border:1px solid var(--line);background:var(--paper-2)}
  .vdma .badge{font-family:"Archivo";font-weight:900;font-size:1rem;color:var(--ink);border:2px solid var(--ink);padding:5px 9px;letter-spacing:.06em;flex:none}
  .vdma .vt{font-size:.86rem;color:var(--muted)}
  .vdma .vt a{color:var(--brand)}

  .cform{background:var(--paper-2);border:1px solid var(--line);padding:38px 36px;position:relative}
  .cform::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--signal)}
  .cform h3{font-family:"Archivo";font-size:1.5rem;font-weight:800;font-stretch:108%;margin-bottom:6px}
  .cform .fintro{color:var(--muted);font-size:.96rem;margin-bottom:26px}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .field{margin-bottom:16px;display:flex;flex-direction:column}
  .field.full{grid-column:1/-1}
  .field label{font-family:"IBM Plex Mono";font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
  .field label .req{color:var(--brand)}
  .field input,.field textarea{font-family:"IBM Plex Sans";font-size:.96rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:13px 14px;transition:.25s;width:100%}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(200,0,16,.08)}
  .field textarea{resize:vertical;min-height:132px}
  .submit-row{display:flex;align-items:center;gap:18px;margin-top:6px;flex-wrap:wrap}
  .chat-cta .fintro{margin-bottom:30px}
  .btn .ic-chat{width:17px;height:17px;flex:none}
  .chat-alt{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem;line-height:1.55}
  .formnote{font-size:.82rem;color:var(--muted)}
  .formok{display:none;margin-top:16px;padding:13px 16px;border:1px solid var(--brand);color:var(--brand);font-family:"IBM Plex Mono";font-size:.82rem;letter-spacing:.02em}
  .formok.show{display:block}

  .map-wrap{position:relative;border:1px solid var(--line);overflow:hidden;height:430px;background:#0f0f0f}
  .map-wrap iframe{width:100%;height:100%;border:0;display:block}
  .map-tag{position:absolute;top:16px;left:16px;background:var(--ink);color:#fff;font-family:"IBM Plex Mono";font-size:.7rem;letter-spacing:.08em;padding:9px 14px;text-transform:uppercase;z-index:2;display:flex;gap:.55em;align-items:center}
  .map-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 8px var(--signal)}

  @media(max-width:980px){.contact-grid{grid-template-columns:1fr;gap:40px}}
  @media(max-width:680px){.frow{grid-template-columns:1fr}.cform{padding:28px 22px}.map-wrap{height:340px}}

/* === nav-dropdown === */
.nav{position:relative}

/* Zwei-Klick-Loesung fuer die Google-Maps-Karte */
.map-consent{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:var(--ink);text-align:center;padding:26px
}
.map-consent::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--line-d) 1px,transparent 1px),linear-gradient(90deg,var(--line-d) 1px,transparent 1px);
  background-size:48px 48px;opacity:.4
}
.mc-inner{position:relative;z-index:2;max-width:46ch}
.mc-inner h4,
.mc-inner h3.hx{
  font-family:"Archivo",sans-serif;font-size:1.15rem;font-weight:800;color:#fff;margin-bottom:9px
}
.mc-inner p{color:#b9babb;font-size:.87rem;line-height:1.7;margin-bottom:20px}
.mc-link{
  display:block;margin-top:14px;font-family:"IBM Plex Mono",monospace;
  font-size:.72rem;letter-spacing:.08em;color:#8b8c8d;text-decoration:underline
}
.mc-link:hover{color:#fff}

/* Foto im Panel */
.panel .ph.ph-img{background:#000}
.panel .ph.ph-img img{width:100%;height:100%;object-fit:cover;display:block}
.panel .ph.ph-img .label{
  position:absolute;left:14px;bottom:12px;z-index:2;
  background:rgba(20,20,20,.6);padding:4px 8px
}
