.cx7-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.cx7-shell.no-map { grid-template-columns: minmax(0, 1fr); }
.cx7-shell.no-map .cx7-left { max-width: 46rem; }

.cx7-left { padding: clamp(1.6rem, 3.4vw, 2.8rem); min-width: 0; }
.cx7-left h1, .cx7-left h2 { max-width: none; }
.cx7-left .prose { max-width: 34rem; margin-bottom: 1.6rem; }

.cx7-form .contact-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.cx7-form .contact-form { gap: 1rem; }
.cx7-form .form-actions .button { flex-shrink: 0; white-space: nowrap; }

.cx7-right {
  position: relative;
  min-height: 30rem;
  border-left: 1px solid var(--line);
}
.cx7-right .map-consent { position: absolute; inset: 0; margin: 0; }
.cx7-right .map-frame,
.cx7-right .map-gate {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
}
.cx7-right .map-gate { background: color-mix(in srgb, var(--primary) 6%, var(--background)); }

.cx7-bar {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 1px;
  background: var(--line);
  border-bottom: 1px solid var(--line);
}
.cx7-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  padding: 1.1rem 1.4rem;
  background: white;
  color: var(--text);
  text-decoration: none;
}
.cx7-item .icon { width: 1.3rem; height: 1.3rem; color: var(--primary); }
.cx7-text { display: grid; gap: 0.1rem; min-width: 0; }
.cx7-label { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--primary); }
.cx7-value { font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.cx7-item.is-link:hover .cx7-value { color: var(--primary); }

@media (max-width: 800px) {
  .cx7-shell { grid-template-columns: minmax(0, 1fr); }
  .cx7-right { min-height: 0; height: clamp(280px, 70vw, 360px); border-left: 0; border-top: 1px solid var(--line); }
}
