/* SantehMir v378 — site-wide proportion audit.
   Цель: убрать посимвольные переносы, выровнять сетки/таблицы и сохранить
   единые пропорции интерфейса, не меняя утверждённую шапку. */

:root{
  --stm-frame:1156px;
  --stm-prop-gap:clamp(10px,1.35vw,18px);
}

/* 1. Нормальные переносы: слова не должны ломаться по буквам. */
:where(h1,h2,h3,h4,h5,h6,button,.btn,[role="button"],summary,label,
       .nav-link,.site-breadcrumbs__link,.product-admin-catalog-link,
       .account-main-nav button,.solutions-switcher__link){
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
:where(p,li,td,th){
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
}
:where(pre,code,.code-pair,.quick-issue-path,.account-profile-email,
       .newsletter-upload-state,.stm-placeholder){
  overflow-wrap:anywhere;
  word-break:break-word;
}
:where(button,.btn,[role="button"],summary){
  line-height:1.25;
}

/* 2. Защита сеток и колонок от схлопывания. */
:where(.panel,.card,.stat,.product-row,.solution-product,.solution-stage,
       .solutions-hub-card,.solution-frequent-card,.account-card,
       .seasonal-home-card,.catalog-product-card,.cb-row,.delivery-card){
  min-width:0;
}
:where(.panel-grid,.stats-grid,.toolbar,.form-grid,.account-grid-2,
       .account-overview-grid,.account-stats,.solution-products-grid,
       .solution-stages,.solutions-switcher,.solution-subgroup-grid,
       .seasonal-home__grid,.cb-grid){
  min-width:0;
}
:where(input,select,textarea){
  min-width:0;
}

/* 3. Хлебные крошки — ровно по границам основной шапки. */
.site-breadcrumbs-wrap{
  max-width:1200px; /* 1200 - 44 px внутренних отступов = 1156 px */
}
.site-breadcrumbs__current{
  overflow-wrap:normal;
  word-break:normal;
}

/* 4. Главная: одинаковая геометрия товарных блоков. */
.page-home .seasonal-home,
.page-home .home-trusted-brands,
.page-home .systems-home{
  box-sizing:border-box;
}
.page-home .seasonal-home__grid > *,
.page-home .home-trusted-brands__grid > *,
.page-home .systems-home__grid > *{
  min-width:0;
}
.page-home .seasonal-home-card .product-card-controls{
  min-width:0;
}

/* 5. О компании: карточки и CTA не должны сжимать соседний текст. */
.page-about :where(.about-modern,.about-hero,.about-final-cta,
                   .about-benefit,.about-stm-card,.about-advantage-card){
  min-width:0;
}
.page-about .about-final-cta__actions{
  min-width:max-content;
}
@media(max-width:760px){
  .page-about .about-final-cta{align-items:flex-start;flex-direction:column;}
  .page-about .about-final-cta__actions{min-width:0;width:100%;}
}

/* 6. Каталог: фильтры, панели и карточки не перетягивают ширину друг у друга. */
.page-catalog .catalog-toolbar,
.page-catalog .catalog-data-bar,
.page-catalog .catalog-data-bar__controls{
  gap:10px;
  min-width:0;
}
.page-catalog .catalog-toolbar{flex-wrap:wrap;}
.page-catalog .catalog-toolbar-left{flex:1 1 320px;}
.page-catalog .catalog-toolbar-right{flex:0 1 auto;}
.page-catalog :where(.product-card-controls,.product-cell__actions,.product-cell__qty){min-width:0;}

/* 7. Доставка/контакты/корзина: предсказуемые колонки и переносы. */
.page-delivery :where(.delivery-content,.delivery-coverage,.delivery-card,.map-container) > *,
.page-contacts :where(.contact-block,.cb-grid,.cb-row,.feedback-row) > *,
.page-cart :where(.cart-grid,.cart-card,.cart-item,.cart-item__left) > *{
  min-width:0;
}
.page-cart .cart-item__title{
  overflow-wrap:break-word;
  word-break:normal;
}
.page-contacts .cb-row :where(a,strong,span){
  word-break:normal;
  overflow-wrap:break-word;
}

/* 8. Решения: 5 инженерных систем — одна ровная строка на десктопе. */
.page-solutions .solutions-switcher{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.page-solutions .solutions-switcher__link{
  min-width:0;
  padding-inline:13px;
}
.page-solutions .solutions-switcher__link > :last-child{
  min-width:0;
}
.page-solutions :where(.solution-subgroup-card,.solution-stage,.solution-frequent-card,
                      .solution-wizard-option,.solution-wizard-task){
  word-break:normal;
  overflow-wrap:break-word;
}
@media(max-width:1050px){
  .page-solutions .solutions-switcher{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:820px){
  .page-solutions .solutions-switcher{grid-template-columns:1fr;}
}

/* 9. Сравнение: содержимое ячеек переносится по словам, а не посимвольно. */
.page-compare .compare-table :where(th,td,.compare-value){
  word-break:normal;
  overflow-wrap:break-word;
}
.page-compare .compare-product-card__actions > *{
  white-space:nowrap;
}

/* 10. Личный кабинет: навигация и товарные карточки держат пропорции. */
.page-account .account-main-nav{
  align-items:stretch;
}
.page-account .account-main-nav button{
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
}
.page-account :where(.account-panel__head,.account-selection__actions,.account-actions){
  gap:10px 12px;
  flex-wrap:wrap;
}
.page-account .account-selection-product__footer{
  flex-wrap:wrap;
}
.page-account .account-selection-product__qty{
  flex:0 0 112px;
}
.page-account .account-selection-product__remove{
  margin-left:auto;
  white-space:nowrap;
}
@media(max-width:680px){
  .page-account .account-main-nav button{white-space:normal;}
  .page-account .account-selection-product__footer{align-items:stretch;}
}

/* 11. Админка: главное — не сжимать правые колонки до букв. */
.page-admin .main,
.page-admin .section,
.page-admin .panel,
.page-admin .panel-grid,
.page-admin .stats-grid,
.page-admin .toolbar,
.page-admin .table-wrap{
  min-width:0;
}
.page-admin .panel__head{
  flex-wrap:wrap;
  gap:12px 16px;
}
.page-admin .panel__head > :first-child{
  min-width:min(100%,260px);
  flex:1 1 360px;
}
.page-admin .panel__head > :last-child{
  flex:0 0 auto;
}
.page-admin table :where(th,td){
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
  line-height:1.35;
}
.page-admin table th{
  white-space:normal;
}
.page-admin table td :where(.btn,button:not(.icon-btn):not(.page-btn)){
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}
.page-admin .table-wrap{
  scrollbar-gutter:stable;
}
.page-admin .toolbar > *,
.page-admin .toolbar--products > *,
.page-admin .form-grid > *,
.page-admin .stats-grid > *,
.page-admin .panel-grid > *{
  min-width:0;
}
.page-admin .actions-col{
  min-width:108px;
}
.page-admin .product-name{
  min-width:min(260px,42vw);
}
.page-admin .side-nav__group .side-nav__item,
.page-admin .side-nav__group>.side-nav__group-toggle{
  overflow-wrap:normal;
  word-break:normal;
}
.page-admin .row-actions__menu button{
  white-space:normal;
}

/* Сезонность: сохраняем v377, но делаем действие чуть свободнее. */
.page-admin .seasonal-products-table .season-col-product{width:42%;}
.page-admin .seasonal-products-table .season-col-seasons{width:10%;}
.page-admin .seasonal-products-table .season-col-priority{width:9%;}
.page-admin .seasonal-products-table .season-col-period{width:12%;}
.page-admin .seasonal-products-table .season-col-behavior{width:15%;}
.page-admin .seasonal-products-table .season-col-action{width:12%;}
.page-admin .seasonal-products-table .btn{
  min-width:96px;
  white-space:nowrap;
}

/* 12. Редактор контента: боковые панели не должны забирать рабочую область. */
.simple-app,.simple-workspace,.simple-preview-stage,.simple-panel{min-width:0;}
@media(min-width:1281px){
  .simple-app{grid-template-columns:210px minmax(560px,1fr) minmax(310px,350px);}
}
.simple-panel :where(button,label,strong,summary){word-break:normal;overflow-wrap:normal;}

/* 13. Юридические страницы: длинные заголовки/реквизиты без разрыва слов. */
.stm-legal-page :where(h1,h2,h3,.stm-legal-back){
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.stm-legal-page :where(p,li){
  word-break:normal;
  overflow-wrap:break-word;
}
.stm-legal-page .stm-placeholder{overflow-wrap:anywhere;word-break:break-word;}

/* Общий мобильный режим: действия занимают доступную ширину без узких колонок. */
@media(max-width:620px){
  .page-admin .panel__head > :last-child{width:100%;}
  .page-admin .panel__head > :last-child:is(.btn,button){width:100%;}
  .page-admin .inline-actions > :where(.btn,button){flex:1 1 160px;}
  .page-cart :where(.btn,button),
  .page-account .account-actions > :where(.account-btn,button){max-width:100%;}
}
