body.page-template-contacts-page{
  --rcl-main-width: 1120px;
  --rcl-gap: clamp(16px,2.5vw,28px);
  box-sizing: border-box;
  overflow-x: hidden;
}
body.page-template-contacts-page,
body.page-template-contacts-page .site,
body.page-template-contacts-page .site-content,
body.page-template-contacts-page .content-area{
  background:#1f1f1f !important;
}
body.page-template-contacts-page .site-header{
  background:#101010;
  box-shadow:none;
  transition:none;
  z-index:1000; 
}
.contacts-hero{
  position:relative;
  width:100%;
  min-height:54svh;
  display:grid;
  place-items:center;
  background-image:var(--hero-bg);
  background-size:cover;
  background-position:center;
  isolation:auto;
  margin:0;
  padding:clamp(88px,12vh,160px) 16px 56px;
}
.contacts-hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.50) 0%, rgba(0,0,0,.62) 60%, rgba(0,0,0,.70) 100%);
  z-index:0;
}
.contacts-hero__inner{ position:relative; z-index:1; text-align:center; }
.contacts-hero__title{
  margin:0 0 16px;
  color:#fff; font-weight:900;
  font-size:clamp(32px,6vw,64px); line-height:1.05;
}
.contacts-hero__cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 20px; border-radius:999px; font-weight:800; font-size:15px;
  text-decoration:none; border:0;
  transition:transform .06s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn-cta{ background:#fff; color:#111; box-shadow:0 8px 22px rgba(0,0,0,.35); }
.btn-cta:hover{ transform:translateY(-1px); box-shadow:0 10px 26px rgba(0,0,0,.4); }
.btn-outline{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.75); }
.btn-outline:hover{ background:rgba(255,255,255,.1); }
.btn-dark{ background:#2c2c2c; color:#fff; }
.btn-dark:hover{ background:#3a3a3a; }
.btn-social{ background:#fff; color:#111; }
.contacts-page{ background:#333; color:#fff; width:100%; margin:0; }
.contacts-page__inner{
  max-width:1280px; margin:0 auto;
  padding:32px clamp(16px,3.5vw,48px) 48px;
  box-sizing:border-box;
}
.contacts-card,
.map-card,
.contacts-form{
  max-width:var(--rcl-main-width);
  width:100%;
  margin:0 auto 40px;
  box-sizing:border-box;
}
:root{
  --rcl-card-radius:18px;
  --rcl-card-bg:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  --rcl-card-border:rgba(255,255,255,0.06);
  --rcl-accent:#fff;
  --rcl-muted:#d7d7d7;
  --rcl-shadow:0 18px 40px rgba(0,0,0,0.45);
}
body.page-template-contacts-page .contacts-card{
  padding:clamp(24px,3vw,44px);
  border-radius:var(--rcl-card-radius);
  background:var(--rcl-card-bg);
  border:1px solid var(--rcl-card-border);
  box-shadow:var(--rcl-shadow);
}
body.page-template-contacts-page .contacts-title{
  text-align:center;
  font-size:clamp(36px,6vw,64px);
  margin:-6px 0 22px;
  color:var(--rcl-accent); font-weight:900;
  text-shadow:0 6px 18px rgba(0,0,0,0.6);
}
body.page-template-contacts-page .contacts-list{ list-style:none; margin:0; padding:0; }
body.page-template-contacts-page .c-item{
  display:flex; gap:20px; align-items:flex-start;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,0.03);
}
body.page-template-contacts-page .c-label{
  flex:0 0 180px; color:var(--rcl-muted);
  font-weight:800; font-size:14px;
}
body.page-template-contacts-page .c-value{
  flex:1 1 auto; color:var(--rcl-accent);
  font-weight:800; font-size:15px;
}
body.page-template-contacts-page .c-link{ color:var(--rcl-accent); text-decoration:none; }
body.page-template-contacts-page .c-link:hover{ text-decoration:underline; opacity:.95; }
body.page-template-contacts-page .c-hours{ display:flex; flex-direction:column; gap:8px; margin-top:4px; }
body.page-template-contacts-page .c-hours__row{ display:flex; justify-content:space-between; font-weight:800; }
body.page-template-contacts-page .contacts-cta{ display:flex; justify-content:center; margin-top:18px; }
body.page-template-contacts-page .contacts-cta .btn-cta{
  width:75%; max-width:760px; padding:14px 28px; border-radius:999px; font-size:16px;
  box-shadow:0 18px 40px rgba(0,0,0,0.55); transition:transform .12s ease, box-shadow .12s ease;
}
body.page-template-contacts-page .contacts-cta .btn-cta:hover{ transform:translateY(-3px); box-shadow:0 26px 50px rgba(0,0,0,0.6); }
body.page-template-contacts-page .c-note{ margin-top:10px; color:var(--rcl-muted); text-align:center; font-size:13px; }
body.page-template-contacts-page .contacts-social{
  display:flex; gap:12px; justify-content:center; margin-top:16px; flex-wrap:wrap;
}
body.page-template-contacts-page .btn-social{
  padding:12px 20px; border-radius:40px; font-weight:900; box-shadow:0 18px 40px rgba(0,0,0,0.45);
  display:inline-block; text-align:center; width:40%; max-width:360px;
  background:#fff; color:#111;
}
.map-card{
  overflow:hidden; border-radius:20px; background:#0f0f0f;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.08);
  height:420px;
}
.map-card iframe,
.map-card > div,
.map-card .ymap-container,
.map-card .ya-map{
  width:100% !important; height:100% !important; min-height:320px;
  display:block; box-sizing:border-box;
}
.contacts-form{
  padding:18px; border-radius:20px; background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08); box-shadow:0 8px 22px rgba(0,0,0,.25);
  display:grid; gap:12px;
}
.form-title{ margin:0 0 4px; font-weight:900; color:#fff; font-size:20px; }
.f-row{ display:grid; gap:6px; }
.f-row span{ font-size:14px; color:#e8e8e8; }
input[type="text"], textarea{
  width:100%; border-radius:12px; border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.2); color:#fff; padding:12px; outline:none;
}
input[type="text"]:focus, textarea:focus{ border-color:rgba(255,255,255,.28); }
.f-agree{ display:flex; align-items:center; gap:8px; font-size:13px; color:#e8e8e8; }
@media (max-width:1100px){
  .contacts-hero{ padding:clamp(60px,9vh,120px) 16px 40px; }
  body.page-template-contacts-page .btn-social{ width:48%; max-width:none; }
}
@media (max-width:920px){
  body.page-template-contacts-page .contacts-list{ grid-template-columns:1fr; }
  body.page-template-contacts-page .btn-social{ width:48%; }
}
@media (max-width:620px){
  body.page-template-contacts-page .contacts-page__inner{ padding:28px 16px 36px; }
  .map-card{ aspect-ratio:1/1; height:auto; }
}
body.page-template-contacts-page .site-main,
body.page-template-contacts-page .site-content,
body.page-template-contacts-page .content-area{
  padding:0 !important; margin:0 !important; background:transparent !important; border:0 !important;
}
body.page-template-contacts-page .entry-header,
body.page-template-contacts-page .ast-breadcrumbs-wrapper,
body.page-template-contacts-page .after-footer-widget-area{ display:none !important; }
body.page-template-contacts-page .site-footer{ margin-top:0 !important; }
@media (max-width:960px){
  
  body.page-template-contacts-page .site-header .main-nav .menu {
    position: fixed !important;
    inset: 72px 0 0 0 !important;
    width: 100% !important;
    height: calc(100vh - 72px) !important;
    background: rgba(0,0,0,0.96) !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 2147483647 !important;
    display: none !important; /* 🔴 скрыто по дефолту */
  }
  
  #nav-toggle:checked ~ .main-nav .menu {
    display: flex !important;
  }
  
  body.menu-open {
    overflow: hidden !important;
    height: 100vh !important;
  }
  body.page-template-contacts-page .site-header {
    z-index: 2147483648 !important;
  }
}
@media (max-width: 620px) {
  body.page-template-contacts-page .contacts-list {
    display: grid;
    gap: 18px;
  }
  body.page-template-contacts-page .c-item {
    display: block;
    padding: 0;
    border: none;
  }
  body.page-template-contacts-page .c-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #bfbfbf;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .02em;
  }
  body.page-template-contacts-page .c-value {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    line-height: 1.35;
    margin: 0;
  }
  body.page-template-contacts-page .c-hours__row {
    margin-bottom: 6px;
  }
  body.page-template-contacts-page .c-hours__row span {
    display: block;
    font-size: 12px;
    color: #bfbfbf;
    margin-bottom: 2px;
  }
  body.page-template-contacts-page .c-hours__row strong {
    display: block;
    font-size: 14px;
    color: #fff;
  }
}
.btn,
.btn-cta,
.btn-outline,
.btn-dark,
.btn-social,
a,
a:active,
a:focus {
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
  background-image: none !important; 
}
.btn-outline {
  color: #fff !important;             
  border: 2px solid rgba(255,255,255,.75) !important;
}
.btn-outline:focus,
.btn-outline:active {
  color: #fff !important;
  background: rgba(255,255,255,.1) !important; 
  outline: none !important;
  box-shadow: none !important;
}
input[type="text"], textarea {
  background: rgba(255,255,255,.08); 
  color: #fff;
  border: 1px solid rgba(255,255,255,.15);
  transition: background .2s ease, border-color .2s ease;
}
input[type="text"]:focus,
textarea:focus {
  background: rgba(255,255,255,.15); 
  border-color: rgba(255,255,255,.35);
  outline: none;
}
.f-agree input[type="checkbox"] {
  accent-color: #888; 
}
.f-agree a {
  color: #ddd !important;            
  text-decoration: underline;        
}
.f-agree a:hover {
  color: #fff !important;            
}
input[type="text"], textarea {
  background: rgba(255,255,255,.08);
  color: #fff !important;            
  border: 1px solid rgba(255,255,255,.15);
}
input[type="text"]::placeholder,
textarea::placeholder {
  color: #aaa !important;            
}