/* Desktop stays as designed; these rules fix overflow and make tables readable on phones. */
body.p24-site{max-width:100%}
.p24-nav-check{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.p24-nav-button{display:none}
.p24-toc li:has(a:empty){display:none}
.p24-toc a{overflow-wrap:anywhere}
.p24-lead-photo img,.p24-inline-photo img{width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:8px;display:block}
.p24-article-content iframe,
.p24-article-content video,
.p24-article-content embed{
  max-width:100%;
}
.p24-article-content input,
.p24-article-content select,
.p24-article-content textarea,
.p24-article-content .wpcf7 input,
.p24-article-content .wpcf7 textarea{
  max-width:100%;
  width:100%;
}
.p24-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  max-width:100%;
}
.p24-table-wrap table{min-width:0}
.p24-table-wrap[data-mode="scroll"] table{
  border-collapse:separate;
  border-spacing:0;
  min-width:max(100%, calc(var(--p24-cols, 8) * 4.4rem + 7.5rem));
}
.p24-table-wrap[data-mode="scroll"] th,
.p24-table-wrap[data-mode="scroll"] td{
  white-space:nowrap;
}
.p24-table-wrap[data-mode="scroll"] th[scope="row"],
.p24-table-wrap[data-mode="scroll"] thead th:first-child,
.p24-table-wrap[data-mode="scroll"] tbody th:first-child,
.p24-table-wrap[data-mode="scroll"] tbody td:first-child{
  position:sticky;
  left:0;
  z-index:1;
  background:#fff;
  box-shadow:4px 0 10px rgba(23,26,31,.08);
  white-space:normal;
  min-width:7.5rem;
  max-width:11rem;
}
.p24-table-wrap[data-mode="scroll"] thead th:first-child,
.p24-table-wrap[data-mode="scroll"] thead th[scope="col"]:first-child{
  background:var(--p24-soft);
}

@media (max-width:900px){
  .p24-header-inner{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px 12px;
    min-height:84px;
  }
  .p24-logo{grid-column:1;grid-row:1}
  .p24-nav-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    grid-column:2;
    grid-row:1;
    justify-self:end;
    min-height:44px;
    padding:8px 14px;
    border:1px solid var(--p24-line);
    border-radius:5px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    background:#fff;
  }
  .p24-nav-check:checked + .p24-nav-button{border-color:var(--p24-ink);color:var(--p24-red)}
  .p24-phone{
    grid-column:3;
    grid-row:1;
    font-size:16px;
    white-space:normal;
    text-align:right;
    line-height:1.2;
  }
  .p24-phone span{display:none}
  .p24-logo,.p24-phone,.p24-nav-button{min-width:0}
  .p24-nav{
    display:none;
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    border-top:1px solid var(--p24-line);
    padding:8px 0 6px;
    font-size:16px;
  }
  .p24-nav-check:checked ~ .p24-nav{display:flex}
  .p24-nav .p24-menu{width:100%}
  .p24-nav>a,
  .p24-nav .p24-menu>summary{
    display:block;
    width:100%;
    align-self:stretch;
    text-align:left;
    padding:12px 0;
    border-bottom:1px solid var(--p24-line);
  }
  .p24-megamenu,
  .p24-submenu{
    position:static;
    width:auto;
    left:auto;
    right:auto;
    box-shadow:none;
    border:0;
    border-bottom:1px solid var(--p24-line);
    max-height:none;
    padding:0 0 12px 8px;
    overflow:visible;
  }
  .p24-menu-grid{grid-template-columns:1fr;gap:18px}
  .p24-menu-all{font-size:18px;padding:12px 0 16px;margin-bottom:12px}
}

@media (max-width:760px){
  body.p24-site .p24-article-content{overflow-wrap:break-word;word-break:normal}
  body.p24-site .p24-article-content table,
  body.p24-site .p24-prices table,
  body.p24-site .p24-prices #season table,
  body.p24-site .p24-prices #operations table{
    min-width:0;
  }
  body.p24-site h1{font-size:clamp(32px,8.5vw,42px)}
  body.p24-site .p24-hero h1{font-size:clamp(32px,9vw,44px)}
  body.p24-site .p24-article h1{font-size:clamp(28px,7.5vw,36px)}
  body.p24-site h2{font-size:clamp(26px,6vw,36px)}
  .p24-top .p24-container{flex-wrap:wrap;gap:6px 16px}
  .p24-service-grid{grid-template-columns:1fr 1fr}
  .p24-work-grid,.p24-extra-grid{grid-template-columns:1fr 1fr}
  .p24-work-shot:last-child{grid-column:1 / -1}
  .p24-work-shot img{height:180px}
  .p24-card-photo{height:140px}
  .p24-step-photo{height:150px}
  .p24-article,
  .p24-site .p24-article{padding-bottom:110px}
  .p24-lead-photo img,.p24-inline-photo img{max-height:220px}
  .p24-price-nav a{flex:1 1 calc(50% - 12px);text-align:center}
  .p24-table-wrap{
    margin-left:-18px;
    margin-right:-18px;
    padding:0 18px 4px;
  }
  .p24-table-wrap[data-mode="scroll"]{
    padding-bottom:8px;
  }
  .p24-table-wrap[data-mode="scroll"]::after{
    content:"Листайте таблицу вправо →";
    display:block;
    font-size:13px;
    color:var(--p24-muted);
    padding:8px 0 0;
    white-space:normal;
  }
  .p24-table-wrap[data-mode="cards"] table,
  .p24-table-wrap[data-mode="cards"] tbody,
  .p24-table-wrap[data-mode="cards"] thead{
    display:block;
    width:100%;
    min-width:0;
  }
  .p24-table-wrap[data-mode="cards"] caption{
    display:block;
    margin-bottom:12px;
  }
  .p24-table-wrap[data-mode="cards"] thead{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .p24-table-wrap[data-mode="cards"] tbody tr{
    display:block;
    background:#fff;
    border:1px solid var(--p24-line);
    border-radius:8px;
    margin:0 0 12px;
    overflow:hidden;
  }
  .p24-table-wrap[data-mode="cards"] tbody th,
  .p24-table-wrap[data-mode="cards"] tbody td{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    width:100%;
    min-width:0;
    border:0;
    border-bottom:1px solid var(--p24-line);
    padding:11px 14px;
    white-space:normal;
    background:#fff;
    position:static;
    box-shadow:none;
    max-width:none;
  }
  .p24-table-wrap[data-mode="cards"] tbody tr>:last-child{border-bottom:0}
  .p24-table-wrap[data-mode="cards"] tbody th[scope="row"]{
    display:block;
    background:var(--p24-soft);
    font-weight:700;
    font-size:16px;
  }
  .p24-table-wrap[data-mode="cards"] tbody th[scope="row"]::before{content:none}
  .p24-table-wrap[data-mode="cards"] tbody th::before,
  .p24-table-wrap[data-mode="cards"] tbody td::before{
    content:attr(data-label);
    font-weight:700;
    flex:0 1 46%;
    color:var(--p24-ink);
  }
  .p24-table-wrap[data-mode="cards"] tbody th:not([data-label])::before,
  .p24-table-wrap[data-mode="cards"] tbody td:not([data-label])::before{content:none}
  .p24-table-wrap[data-mode="cards"] tbody td[colspan],
  .p24-table-wrap[data-mode="cards"] tbody th[colspan]{
    display:block;
    font-size:14px;
    color:var(--p24-muted);
  }
  .p24-table-wrap[data-mode="cards"] tbody td[colspan]::before,
  .p24-table-wrap[data-mode="cards"] tbody th[colspan]::before{content:none}
  .p24-prices tbody tr:hover td,
  .p24-prices tbody tr:hover th{background:#fff}
}

@media (max-width:480px){
  .p24-container{width:calc(100% - 28px)}
  .p24-logo img{width:132px}
  .p24-phone{font-size:15px}
  .p24-service-grid,.p24-work-grid,.p24-extra-grid{grid-template-columns:1fr}
  .p24-work-shot:last-child{grid-column:auto}
  .p24-service-card{min-height:0}
  .p24-card-photo{height:180px}
  .p24-hero-photo{height:240px}
  .p24-actions .p24-button{width:100%;justify-content:space-between}
  .p24-price-nav a{flex-basis:100%}
  .p24-table-wrap{
    margin-left:-14px;
    margin-right:-14px;
    padding-left:14px;
    padding-right:14px;
  }
  .p24-calculation dd{white-space:normal;text-align:right}
  .p24-calc-form .p24-button{width:100%;justify-content:space-between}
}
.p24-location .p24-actions{margin:8px 0 32px}
.p24-location-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;padding-left:20px;margin:20px 0 32px}
.p24-location .p24-area-list{margin:16px 0 36px}
.p24-sitemap-section>h3{font-size:22px;margin:32px 0 12px}
@media(max-width:760px){.p24-location-links{grid-template-columns:1fr}}
