/* ═══════════════════════════════════════════════
   REALTRAC PUBLIC — BOOTSTRAP 3 COMPAT (временный слой, только утилиты)
   Версия: 1.1.0
   Сетки Bootstrap (container / row / col-*) здесь больше нет: страницы ru/
   получили классы нативной сетки rt-grid / rt-span-N (scripts/migrate-bs3-grid.php,
   css/components.css). Остались утилиты и цветные подложки старого шаблона,
   которые встречаются в контенте до его переверстки (этап 4). Все правила
   ограничены .page-content и не влияют на shell, sidebar, topbar и футер.
   Компоненты, требующие JS Bootstrap (carousel, modal, collapse), не поддерживаются.
═══════════════════════════════════════════════ */

/* Видимость по ширине (брейкпоинты Bootstrap 3) */
.page-content .hidden-xs { display: block; }
@media (max-width: 767px) { .page-content .hidden-xs { display: none !important; } .page-content .visible-xs { display: block !important; } }
.page-content .visible-xs, .page-content .visible-sm, .page-content .visible-md, .page-content .visible-lg { display: none; }
@media (min-width: 768px) and (max-width: 991px) { .page-content .hidden-sm { display: none !important; } .page-content .visible-sm { display: block !important; } }
@media (min-width: 992px) and (max-width: 1199px) { .page-content .hidden-md { display: none !important; } .page-content .visible-md { display: block !important; } }
@media (min-width: 1200px) { .page-content .hidden-lg { display: none !important; } .page-content .visible-lg { display: block !important; } }

/* Цветные подложки старого шаблона → токены дизайн-системы */
.page-content .bg-base { background: var(--color-surface); color: var(--color-text); }
.page-content .bg-primary { background: var(--color-primary); color: #fff; }
.page-content .bg-primary2 { background: var(--color-hero-to); color: #fff; }
.page-content .bg-primary3 { background: var(--color-primary-active); color: #fff; }
.page-content .bg-success2 { background: var(--color-success); color: #fff; }
.page-content .bg-warning2 { background: #FBAD26; color: #fff; }
.page-content .bg-danger2, .page-content .bg-danger3 { background: var(--rt-red); color: #fff; }
.page-content .bg-success { background: var(--color-success-bg); }
.page-content .bg-danger, .page-content .bg-warning { background: var(--color-error-bg); }
.page-content .bg-info { background: var(--color-primary-highlight); }
.page-content .bg-image { background: var(--color-hero-to) url('../images/bg/open-cast-mining.jpg') center / cover no-repeat; color: #fff; }
.page-content .bg-primary a, .page-content .bg-primary2 a, .page-content .bg-primary3 a,
.page-content .bg-success2 a, .page-content .bg-warning2 a, .page-content .bg-danger3 a, .page-content .bg-image a { color: #fff; text-decoration: underline; }
.page-content .bg-primary h1, .page-content .bg-primary h2, .page-content .bg-primary h3, .page-content .bg-primary h4,
.page-content .bg-primary2 h1, .page-content .bg-primary2 h2, .page-content .bg-primary2 h3, .page-content .bg-primary2 h4,
.page-content .bg-primary3 h1, .page-content .bg-primary3 h2, .page-content .bg-primary3 h3, .page-content .bg-primary3 h4,
.page-content .bg-image h1, .page-content .bg-image h2, .page-content .bg-image h3, .page-content .bg-image h4 { color: #fff; }
/* Цветная строка-сетка — это полоса на всю ширину, ей нужны внутренние отступы */
.page-content .rt-grid[class*="bg-"] { padding: var(--space-6) var(--space-8); }
.page-content .bg-primary .lead, .page-content .bg-primary2 .lead, .page-content .bg-primary3 .lead, .page-content .bg-image .lead { color: rgba(255,255,255,.85); }

/* Текстовые утилиты */
.page-content .text-base { color: var(--color-text); }
.page-content .text-justify { text-align: justify; }
.page-content .text-nowrap { white-space: nowrap; }
.page-content .text-uppercase { text-transform: uppercase; }
.page-content .row-flex { display: flex; flex-flow: row wrap; }
.page-content .img-responsive { display: block; max-width: 100%; height: auto; }
.page-content .img-rounded { border-radius: 0; }
.page-content .img-thumbnail { padding: 4px; background: var(--color-surface); border: 1px solid var(--color-border); max-width: 100%; height: auto; }
.page-content .center-block { display: block; margin-left: auto; margin-right: auto; }
.page-content .pull-left { float: left !important; }
.page-content .pull-right { float: right !important; }
.page-content .clearfix::before, .page-content .clearfix::after { content: " "; display: table; }
.page-content .clearfix::after { clear: both; }
.page-content .list-unstyled { list-style: none; margin-left: 0; }
.page-content .list-inline { list-style: none; margin-left: 0; }
.page-content .list-inline > li { display: inline-block; padding: 0 5px; }
.page-content .h1, .page-content .h2, .page-content .h3 { font-family: var(--font-display); font-weight: 400; letter-spacing: .02em; line-height: 1.1; display: block; margin: var(--space-6) 0 var(--space-3); }
.page-content .h1 { font-size: var(--text-2xl); }
.page-content .h2 { font-size: var(--text-xl); }
.page-content .h3 { font-size: var(--text-lg); }
.page-content .h4, .page-content .h5 { display: block; font-family: var(--font-display); font-weight: 400; letter-spacing: .04em; margin: var(--space-4) 0 var(--space-2); }
.page-content .h4 { font-size: var(--text-base); }
.page-content .h5 { font-size: var(--text-sm); }
.page-content .small, .page-content small { font-size: 85%; }

/* Кнопки Bootstrap → кнопки дизайн-системы */
.page-content .btn { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); }
.page-content .btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.page-content .btn.btn-primary { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.page-content .btn.btn-primary:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: #fff; }
.page-content .btn.btn-default { background: none; color: var(--color-primary); border-color: var(--color-primary); }
.page-content .btn.btn-default:hover { background: var(--color-primary); color: #fff; }
.page-content .btn.btn-danger { background: var(--color-error); color: #fff; border-color: var(--color-error); }
.page-content .btn.btn-success { background: var(--color-success); color: #fff; border-color: var(--color-success); }
.page-content .btn.btn-link { background: none; border-color: transparent; color: var(--color-primary); }
.page-content .btn-lg { padding: var(--space-3) var(--space-6); font-size: var(--text-base); }
.page-content .btn-sm, .page-content .btn-xs { padding: var(--space-1) var(--space-3); font-size: var(--text-xs); }
.page-content .btn-block { display: flex; width: 100%; }

/* Панели, well, alert, label, badge, thumbnail, таблицы, embed, формы */
.page-content .well { padding: var(--space-5); background: var(--color-surface); border: 1px solid var(--color-border); margin-bottom: var(--space-5); }
.page-content .panel { background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: var(--shadow-sm); margin-bottom: var(--space-5); }
.page-content .panel-heading { padding: var(--space-3) var(--space-5); border-bottom: 1px solid var(--color-divider); font-weight: 600; }
.page-content .panel-primary > .panel-heading { background: var(--color-primary); color: #fff; }
.page-content .panel-body { padding: var(--space-5); }
.page-content .panel-footer { padding: var(--space-3) var(--space-5); border-top: 1px solid var(--color-divider); background: var(--color-surface-2); }
.page-content .panel-title { margin: 0; font-size: var(--text-base); }
.page-content .alert { padding: var(--space-4) var(--space-5); border: 1px solid var(--color-border); margin-bottom: var(--space-5); background: var(--color-surface); }
.page-content .alert-info { background: var(--color-primary-highlight); border-color: var(--color-primary); }
.page-content .alert-success { background: var(--color-success-bg); border-color: var(--color-success); }
.page-content .alert-danger, .page-content .alert-warning { background: var(--color-error-bg); border-color: var(--color-error); }
.page-content .label { display: inline-block; padding: .2em .6em; font-size: 75%; font-weight: 600; line-height: 1; color: #fff; background: var(--color-text-muted); vertical-align: middle; }
.page-content .label-primary { background: var(--color-primary); }
.page-content .label-danger { background: var(--color-error); }
.page-content .label-success { background: var(--color-success); }
.page-content .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: var(--text-xs); font-weight: 600; line-height: 1; color: #fff; background: var(--color-text-muted); vertical-align: middle; }
.page-content .thumbnail { display: block; padding: 4px; margin-bottom: var(--space-5); background: var(--color-surface); border: 1px solid var(--color-border); }
.page-content .thumbnail > img { margin-left: auto; margin-right: auto; }
.page-content .thumbnail .caption { padding: var(--space-3); }
.page-content .table { width: 100%; }
.page-content .table-responsive { overflow-x: auto; min-height: .01%; }
.page-content .table-bordered { border: 1px solid var(--color-border); }
.page-content .table-striped > tbody > tr:nth-of-type(odd) { background: var(--color-surface-2); }
.page-content .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; }
.page-content .embed-responsive .embed-responsive-item, .page-content .embed-responsive iframe, .page-content .embed-responsive video { position: absolute; top: 0; left: 0; bottom: 0; height: 100%; width: 100%; border: 0; }
.page-content .embed-responsive-16by9 { padding-bottom: 56.25%; }
.page-content .embed-responsive-4by3 { padding-bottom: 75%; }
.page-content .form-control { display: block; width: 100%; padding: var(--space-2) var(--space-3); font: inherit; font-size: var(--text-sm); color: var(--color-text); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 0; }
.page-content .form-control:focus { border-color: var(--color-primary); outline: none; }
.page-content .form-group { margin-bottom: var(--space-4); }
.page-content .control-label, .page-content label { display: inline-block; font-weight: 600; font-size: var(--text-sm); margin-bottom: var(--space-1); }
.page-content .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.page-content iframe { max-width: 100%; }

/* Карусель без JS: показываем первый слайд как статичное изображение */
.page-content .carousel .carousel-inner > .item { display: none; }
.page-content .carousel .carousel-inner > .item.active { display: block; position: relative; }
.page-content .carousel-indicators, .page-content .carousel-control { display: none; }
.page-content .carousel-caption { padding: var(--space-4) 0; }
