.geipel-map {
  border: 1px solid #d6d7d3;
  border-radius: 4px;
  background: #f5f5f2;
  padding: 24px;
  color: #41433f;
}
.geipel-map [hidden] { display: none !important; }
.geipel-map__label {
  display: block;
  margin-bottom: 12px;
  color: #616459;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.geipel-map h4 { margin: 0 0 12px; font-size: 22px; color: #bc0d32; }
.geipel-map p { text-align: left !important; }
.geipel-map__address { font-weight: 600; }
.geipel-map__privacy { font-size: 14px; line-height: 1.65; }
.geipel-map a { color: #a00b2b; text-decoration: underline; text-underline-offset: 2px; }
.geipel-map__load {
  display: inline-block;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #a00b2b;
  border-radius: 3px;
  background: #bc0d32;
  color: white;
  font: inherit;
  font-weight: 600;
  line-height: 1.45;
  cursor: pointer;
}
.geipel-map__load:hover { background: #950a27; }
.geipel-map__load:focus-visible,
.geipel-map__withdraw:focus-visible,
.geipel-map a:focus-visible,
.geipel-services a:focus-visible { outline: 3px solid #616459; outline-offset: 4px; }
.geipel-map__canvas { height: 340px; background: #e6e7e2; }
.geipel-map__canvas iframe { width: 100%; height: 100%; border: 0; display: block; }
.geipel-map__active { padding-top: 16px; }
.geipel-map__active p { font-size: 14px; padding-bottom: 8px; }
.geipel-map__withdraw { padding: 0; border: 0; background: none; color: #a00b2b; font: inherit; font-size: 14px; text-align: left; text-decoration: underline; cursor: pointer; }
.geipel-map__external { margin-top: 18px; font-size: 14px; }
.geipel-map__external span { color: #616459; }
.geipel-map__status { padding: 0 !important; margin-top: 12px; font-size: 13px; line-height: 1.5; }
.geipel-map__status:empty { display: none; }
.geipel-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 28px 0; }
.geipel-services__card { display: flex; flex-direction: column; align-items: flex-start; padding: 26px; border-top: 4px solid #bc0d32; background: #f3f4f1; }
.geipel-services__card h2 { margin-top: 0 !important; font-size: 21px; line-height: 1.4; }
.geipel-services__card a { margin-top: auto; padding-top: 18px; color: #a00b2b; text-decoration: underline; }
@media (max-width: 980px) { .geipel-services { grid-template-columns: 1fr; } }
@media (max-width: 479px) { .geipel-map { padding: 18px; } .geipel-map__canvas { height: 300px; } }
