.contacts,
.contacts-map {
  background:#1f1f1f;
  color:#fff;
}
.entry-content > .contacts,
.entry-content > .contacts-map {
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.contacts-inner {
  max-width:none;
  padding:28px clamp(16px,3.5vw,48px) 24px;
}
.contacts-title {
  margin:0 0 14px 0;
  color:#fff;
  text-align:center;
  font-weight:900;
  line-height:1.05;
  font-size:clamp(28px,5vw,56px);
}
.contacts-card.modern {
  max-width:min(980px,92vw);
  margin:0 auto;
  padding:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.contacts-flex {
  display:grid;
  grid-template-columns:1fr 240px;
  gap:16px;
  align-items:stretch; 
}
.contacts-list {
  list-style:none; margin:0; padding:0;
  display:grid; gap:12px;
}
.contacts-list li {
  display:flex; align-items:center; gap:10px;
  font-size:15px; font-weight:700; color:#fff;
}
.c-ico svg { display:block; color:#fff; }
.c-ico.metro svg { flex-shrink:0; }
.contacts-actions.modern {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
}
.c-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:40px;
  padding:0 16px;
  border-radius:999px;
  font-weight:600;   
  font-size:14px;
  color:#fff !important;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.12);
  transition:transform .06s ease, box-shadow .2s ease, opacity .2s ease, background .2s ease;
}
.c-btn svg { flex:0 0 18px; }
.c-btn:hover { box-shadow:0 8px 24px rgba(0,0,0,.35); opacity:.95; }
.c-btn:active{ transform:translateY(1px); }
.c-btn.tel,
.c-btn.wa { background:#25D366; border-color:transparent; }
.c-btn.tg,
.c-btn.book { background:#229ED9; border-color:transparent; }
.contacts a,
.contacts a:visited,
.contacts a:hover,
.contacts a:active,
.contacts-map a,
.contacts-map a:visited,
.contacts-map a:hover,
.contacts-map a:active {
  color:#fff !important;
  text-decoration:none !important;
}
.contacts-map { padding:0 0 28px; }
.map-card {
  max-width:min(980px,92vw);
  margin:0 auto 0;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  overflow:hidden;
  padding:0;
}
.rcl-map {
  width:100%;
  aspect-ratio:16/9; 
  height:auto;
  display:block;
  outline:none;
  border:none;
}
@media (max-width:900px){
  .contacts-flex { grid-template-columns:1fr; }
  .contacts-actions.modern {
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .c-btn { flex:1 1 calc(50% - 8px); min-width:120px; }
  .c-btn.book { flex-basis:100%; }
}
@media (max-width:620px){
  .contacts-inner { padding:24px 16px 18px; }
  .contacts-card { padding:14px; }
  .c-btn { height:38px; font-size:13.5px; }
  .rcl-map { aspect-ratio:1/1; } 
}
.rcl-map-marker {
  width:20px; height:20px; border-radius:50%;
  background:#fff; border:4px solid #000000;
  box-shadow:0 0 10px rgba(255,255,255,.6);
  transform:translate(-50%, -100%);
  position:relative;
}
.rcl-map-marker::after {
  content:''; position:absolute; top:50%; left:50%;
  width:100%; height:100%; border-radius:50%;
  background:rgba(0,0,0,.4);
  transform:translate(-50%,-50%);
  animation:pulse 2s infinite;
}
@keyframes pulse {
  0%{ transform:translate(-50%,-50%) scale(1); opacity:.8; }
  100%{ transform:translate(-50%,-50%) scale(2.4); opacity:0; }
}
.ymaps3x0--map-copyrights__container {
  background:transparent !important;
  padding:0 !important; margin:0 !important;
}
.ymaps3x0--map-copyrights__text,
.ymaps3x0--map-copyrights__user-agreements {
  color:#fff !important;
  font-size:12px !important;
  font-family:inherit !important;
  margin:0 !important; padding:0 !important;
  opacity:.7 !important;
  text-decoration:none !important;
}
.ymaps3x0--map-copyrights__user-agreements:hover { opacity:1 !important; }