html,body{max-width:100%;overflow-x:clip}
.container,.prose,main,.section,.section-pad-top{min-width:0;max-width:100%}

/* Tables: scroll locally, never letter-wrap Russian words */
.table-wrap{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #D5DEE6;
  border-radius:16px
}
.table-wrap table,
.price-table{
  width:100%;
  min-width:760px;
  max-width:none;
  border-collapse:collapse;
  table-layout:auto;
  box-sizing:border-box
}
.price-table th,
.price-table td,
.table-wrap th,
.table-wrap td{
  text-align:left;
  padding:16px 18px;
  vertical-align:top;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:manual;
  white-space:normal;
  color:#25313D;
  line-height:1.45
}
.price-table th,
.table-wrap th{
  text-transform:none;
  font-size:0.9rem;
  letter-spacing:0.01em;
  font-weight:700;
  background:#F2F6F8;
  color:#25313D
}
.price-table td:first-child,
.price-table th:first-child{
  min-width:180px;
  width:180px;
  white-space:normal
}
.price-table td:nth-child(2),
.price-table th:nth-child(2),
.price-table td:nth-child(3),
.price-table th:nth-child(3),
.price-table td:nth-child(4),
.price-table th:nth-child(4),
.price-table td:nth-child(5),
.price-table th:nth-child(5){
  min-width:220px
}
.svc-card .svc-price{font-size:clamp(0.92rem,3.2vw,1.25rem);line-height:1.2;white-space:nowrap}

/* Notice: cream bg + dark ink (hashed .cta-band p was washing this out) */
body.site-krasnodar p.visit-warn,
body.site-krasnodar .visit-warn,
body.site-krasnodar .cta-band .visit-warn,
body.site-krasnodar .cta-band p.visit-warn,
body.site-krasnodar .hero-panel .visit-warn,
body.site-krasnodar .site-footer .visit-warn{
  margin:16px 0 12px;
  padding:18px 20px;
  border-radius:16px;
  background:#FFF7EB;
  border:1px solid #C97736;
  border-left:4px solid #C97736;
  color:#25313D;
  font-weight:600;
  font-size:1.05rem;
  line-height:1.55;
  box-shadow:none
}
.hero-panel .visit-warn{max-width:38rem}
.cta-band .visit-warn{margin:16px 0 0;max-width:42rem}
.site-footer .visit-warn{margin:12px 0 8px;font-size:1rem}

/* Footer: light surface + dark type */
body.site-krasnodar .site-footer{
  background:#ffffff;
  color:#17212A;
  border-top:1px solid #D7E0E7;
  box-shadow:0 -8px 24px rgba(15,32,44,0.04)
}
body.site-krasnodar .site-footer p,
body.site-krasnodar .site-footer h3,
body.site-krasnodar .site-footer li,
body.site-krasnodar .site-footer .footer-legal,
body.site-krasnodar .site-footer .footer-legal-meta,
body.site-krasnodar .site-footer .footer-legal>p:first-child{
  color:#17212A
}
body.site-krasnodar .site-footer a{
  color:#244F70;
  text-decoration:underline;
  text-underline-offset:0.15em
}
body.site-krasnodar .site-footer a:hover{color:#0F202C;opacity:1}
body.site-krasnodar .prose,
body.site-krasnodar .prose p,
body.site-krasnodar .prose li,
body.site-krasnodar .hero-panel,
body.site-krasnodar .hero-panel p,
body.site-krasnodar .hero-panel h1{
  color:#17212A
}

/* Header */
body.site-krasnodar .site-header{
  color:#ffffff;
  background:linear-gradient(180deg,#0F202C 0%,#123447 100%)
}
body.site-krasnodar .site-header .container.header-inner{
  align-items:center;
  overflow:visible
}
body.site-krasnodar .site-header .brand{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  color:#ffffff;
  min-width:0;
  flex:0 0 auto;
  text-decoration:none
}
body.site-krasnodar .brand-logo{
  display:block;
  height:auto;
  max-height:52px;
  width:auto;
  max-width:220px;
  flex:0 0 auto;
  object-fit:contain
}
body.site-krasnodar .brand-text,
body.site-krasnodar .brand-phone,
body.site-krasnodar .header-cta-short{
  display:none !important
}
body.site-krasnodar .brand-name,
body.site-krasnodar .brand-tag,
body.site-krasnodar .nav-desktop a,
body.site-krasnodar .nav-desktop a:visited{color:#ffffff}
body.site-krasnodar .nav-desktop{
  flex:1 1 auto;
  justify-content:flex-end;
  min-width:0;
  flex-wrap:nowrap;
  align-items:center
}
body.site-krasnodar .nav-desktop a{
  font-weight:600;
  font-size:0.86rem;
  border-bottom-color:transparent;
  white-space:nowrap
}
body.site-krasnodar .nav-desktop a:hover{
  color:rgba(255,255,255,0.84);
  border-bottom-color:#41958C
}
body.site-krasnodar .site-header a:focus-visible,
body.site-krasnodar .burger:focus-visible,
body.site-krasnodar .header-phone-btn:focus-visible{
  outline:2px solid #ffffff;
  outline-offset:3px
}
body.site-krasnodar .burger{
  width:46px;
  height:46px;
  min-width:46px;
  padding:0;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.28);
  border-radius:12px
}
body.site-krasnodar .burger span{background:#ffffff}
body.site-krasnodar .header-phone-btn{
  display:none;
  background:#244F70;
  color:#ffffff;
  border:0;
  border-radius:14px;
  min-height:44px;
  padding:12px 20px;
  font-weight:700;
  box-shadow:0 8px 16px rgba(15,32,44,0.16);
  justify-content:center;
  white-space:nowrap;
  flex-shrink:0
}
body.site-krasnodar .header-phone-btn:hover,
body.site-krasnodar .header-phone-btn:focus{
  background:#1c3e59;
  color:#ffffff;
  filter:none
}
body.site-krasnodar .header-cta-full{display:inline;white-space:nowrap}
body.site-krasnodar .mobile-nav{
  background:#ffffff;
  border-top:1px solid #D7E0E7
}
body.site-krasnodar .mobile-nav a{
  color:#17212A;
  min-height:44px;
  display:flex;
  align-items:center;
  padding:12px 16px;
  font-weight:600
}
body.site-krasnodar .breadcrumbs{
  position:relative;
  z-index:1;
  margin-top:0
}

@media (max-width:768px){
  body.site-krasnodar .site-header .container.header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    grid-template-areas:"brand burger";
    gap:0 12px;
    align-items:center;
    min-height:72px;
    padding:12px 16px;
    box-sizing:border-box;
    width:100%;
    max-width:100%
  }
  body.site-krasnodar .brand{grid-area:brand;min-width:0;overflow:hidden}
  body.site-krasnodar .brand-text,
  body.site-krasnodar .brand-phone,
  body.site-krasnodar .header-phone-btn,
  body.site-krasnodar .header-cta-short,
  body.site-krasnodar .header-cta-full,
  body.site-krasnodar .nav-desktop{
    display:none
  }
  body.site-krasnodar .brand-logo{
    max-height:48px;
    max-width:min(220px,calc(100vw - 92px));
    height:auto
  }
  body.site-krasnodar .burger{
    display:grid;
    grid-area:burger;
    justify-self:end;
    z-index:2
  }
  body.site-krasnodar .container{
    padding-left:20px;
    padding-right:20px
  }
  body.site-krasnodar .site-header .container.header-inner{
    padding-left:16px;
    padding-right:16px
  }
  body.site-krasnodar h1{
    font-size:clamp(2rem,8vw,2.5rem);
    line-height:1.12
  }
  body.site-krasnodar h2{font-size:clamp(1.6rem,6vw,2rem);line-height:1.18}
  body.site-krasnodar h3{font-size:clamp(1.25rem,5vw,1.5rem);line-height:1.22}
  body.site-krasnodar .prose p,
  body.site-krasnodar .lede,
  body.site-krasnodar .hero-lead{
    font-size:1.0625rem;
    line-height:1.6
  }
  body.site-krasnodar .site-footer{
    padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))
  }
  body.site-krasnodar .mobile-nav{
    padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))
  }
}

@media (min-width:769px){
  body.site-krasnodar .header-inner{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:12px 16px
  }
  body.site-krasnodar .header-phone-btn{display:inline-flex}
  body.site-krasnodar .nav-desktop{display:flex;flex-wrap:nowrap;gap:4px 12px}
  body.site-krasnodar .nav-desktop a{font-size:0.8rem}
  body.site-krasnodar .burger{display:none}
}

@media (min-width:1024px){
  body.site-krasnodar .nav-desktop a{font-size:0.86rem}
  body.site-krasnodar .brand-logo{max-width:230px;max-height:52px}
}

/* Buttons: one shape system */
body.site-krasnodar .btn{
  border-radius:14px;
  min-height:48px;
  font-weight:700;
  padding:12px 20px;
  box-shadow:0 6px 14px rgba(15,32,44,0.08)
}
body.site-krasnodar .btn-primary{
  background:#244F70;
  color:#ffffff;
  white-space:nowrap
}
body.site-krasnodar .btn-primary:hover{background:#1c3e59;color:#ffffff}
body.site-krasnodar .btn-accent{
  background:#244F70;
  color:#ffffff;
  white-space:nowrap
}
body.site-krasnodar .btn-accent:hover{background:#1c3e59;color:#ffffff}
body.site-krasnodar .hero-cta,
body.site-krasnodar .cta-band .hero-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:12px;
  max-width:36rem
}
body.site-krasnodar .cta-band .hero-cta .btn-primary{display:none}
body.site-krasnodar .cta-band .btn-accent,
body.site-krasnodar .hero-cta .btn-primary{
  max-width:100%
}
body.site-krasnodar .cta-band .messengers,
body.site-krasnodar .site-footer .messengers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
  max-width:28rem
}
body.site-krasnodar .cta-band .messengers .btn,
body.site-krasnodar .site-footer .messengers .btn,
body.site-krasnodar .hero-cta .btn-wa,
body.site-krasnodar .hero-cta .btn-tg,
body.site-krasnodar .hero-cta .btn-max{
  width:100%;
  min-height:48px;
  justify-content:center;
  font-weight:700;
  border:0;
  border-radius:14px;
  color:#fff;
  padding:12px 16px;
  box-shadow:0 6px 14px rgba(15,32,44,0.1)
}
body.site-krasnodar .btn-max{background:#3b4aa8}

/* Sticky bar */
body.site-krasnodar .sticky-bar{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:#0F202C;
  box-sizing:border-box
}
body.site-krasnodar .sticky-bar .btn{
  flex:none;
  width:100%;
  min-height:52px;
  max-width:none;
  border-radius:14px;
  font-weight:700;
  justify-content:center;
  border:0;
  box-shadow:none
}
body.site-krasnodar .sticky-bar .btn-accent{
  background:#244F70;
  color:#ffffff;
  width:100%;
  max-width:none
}
body.site-krasnodar .sticky-bar .btn-accent:hover{background:#1c3e59;color:#ffffff}
body.site-krasnodar .sticky-bar .btn-max{background:#3b4aa8}

@media (max-width:360px){
  body.site-krasnodar .cta-band .messengers,
  body.site-krasnodar .site-footer .messengers{
    grid-template-columns:1fr
  }
}

/* Cards / figures */
body.site-krasnodar .figure,
body.site-krasnodar .svc-card,
body.site-krasnodar .prose .figure{
  border-radius:16px;
  overflow:hidden
}

body.site-krasnodar.page-404 .notfound-kicker{
  margin:0 0 8px;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#C97736
}
body.site-krasnodar.page-404 .notfound-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:20px 0 24px;
  padding:0;
  list-style:none
}
body.site-krasnodar.page-404 .notfound-links a{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:12px 16px;
  border-radius:14px;
  background:#fff;
  border:1px solid #D7E0E7;
  text-decoration:none;
  color:#244F70;
  font-weight:700;
  box-shadow:0 8px 20px rgba(15,32,44,0.04)
}
@media (max-width:640px){
  body.site-krasnodar.page-404 .notfound-links{grid-template-columns:1fr}
}
