/* === СОВРЕМЕННЫЙ ДИЗАЙН ЛИДЕР СЕРВИС 21 === */

/* === ОБЩИЕ СТИЛИ === */
body {
 background: #e8f1f8 !important;
 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
 color: #2c3e50 !important;
 margin: 0 !important;
 padding: 0 !important;
}

a {
 color: #3a7bd5 !important;
 text-decoration: none !important;
 transition: color 0.2s !important;
}

a:hover {
 color: #1a5490 !important;
}

/* === ШАПКА САЙТА === */
#header {
 background: linear-gradient(135deg, #0f3d5e 0%, #1a5490 100%) !important;
 padding: 0 !important;
 box-shadow: 0 4px 20px rgba(26, 84, 144, 0.15) !important;
 margin-bottom: 30px !important;
}

#header a {
 color: #ffffff !important;
}

/* Верхняя панель шапки */
.header-bar {
 display: flex !important;
 justify-content: space-between !important;
 align-items: center !important;
 padding: 12px 30px !important;
 background: rgba(0, 0, 0, 0.15) !important;
}

.hb-date {
 color: rgba(255, 255, 255, 0.85) !important;
 font-size: 14px !important;
 background: transparent !important;
 padding: 0 !important;
 margin: 0 !important;
}

.hb-center {
 display: flex !important;
 align-items: center !important;
 gap: 30px !important;
}

.hb-contact {
 display: flex !important;
 align-items: center !important;
 gap: 8px !important;
 color: #ffffff !important;
 font-size: 15px !important;
 background: transparent !important;
 padding: 0 !important;
 margin: 0 !important;
}

.hb-contact a {
 color: #ffffff !important;
 text-decoration: none !important;
 transition: opacity 0.2s !important;
}

.hb-contact a:hover {
 opacity: 0.8 !important;
}

.hb-icon {
 width: 18px !important;
 height: 18px !important;
 flex-shrink: 0 !important;
}

.hb-search {
 display: flex !important;
 align-items: center !important;
 color: #ffffff !important;
 padding: 5px !important;
 transition: transform 0.2s !important;
}

.hb-search:hover {
 transform: scale(1.15) !important;
}

.hb-search .hb-icon {
 width: 20px !important;
 height: 20px !important;
}

/* Ссылка MAX */
.hb-max-link {
 display: flex !important;
 align-items: center !important;
 gap: 8px !important;
 color: #ffffff !important;
 text-decoration: none !important;
 transition: opacity 0.2s !important;
}

.hb-max-link:hover {
 opacity: 0.8 !important;
}

.hb-max-link img {
 background: transparent !important;
 padding: 0 !important;
 margin: 0 !important;
 border: none !important;
}

/* Логотип */
#logo {
 padding: 25px 30px 15px 30px !important;
 background: transparent !important;
 margin: 0 !important;
}

#logo h1 {
 color: #ffffff !important;
 font-size: 36px !important;
 font-weight: 800 !important;
 margin: 0 !important;
 padding: 0 !important;
 border: none !important;
 text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
 background: transparent !important;
}

/* Слоган */
#navBar {
 padding: 0 30px 20px 30px !important;
 background: transparent !important;
 margin: 0 !important;
}

#navBar hr {
 display: none !important;
}

.navLink {
 color: rgba(255, 255, 255, 0.9) !important;
 font-size: 16px !important;
 font-weight: 400 !important;
 line-height: 1.5 !important;
 max-width: 800px !important;
 background: transparent !important;
 padding: 0 !important;
 margin: 0 !important;
}

/* === НАВИГАЦИОННОЕ МЕНЮ === */
#menu, .menu, nav, .nav-menu, .main-menu, #navigation,
[class*="menu"], [id*="menu"] {
 background: #ffffff !important;
 border-radius: 12px !important;
 padding: 4px 6px !important;
 margin: 0 auto 25px auto !important;
 max-width: 1250px !important;
 box-shadow: 0 2px 12px rgba(26, 84, 144, 0.08) !important;
 display: block !important;
}

#menu ul, .menu ul, nav ul,
[class*="menu"] ul, [id*="menu"] ul {
 list-style: none !important;
 margin: 0 !important;
 padding: 0 !important;
 display: flex !important;
 flex-wrap: wrap !important;
 justify-content: center !important;
 gap: 0 !important;
}

#menu li, .menu li, nav li,
[class*="menu"] li, [id*="menu"] li {
 margin: 0 !important;
 padding: 0 !important;
}

#menu a, .menu a, nav a,
[class*="menu"] a, [id*="menu"] a,
#menu li a, .menu li a, nav li a,
[class*="menu"] li a, [id*="menu"] li a {
 display: inline-block !important;
 padding: 8px 14px !important;
 color: #2c3e50 !important;
 background: transparent !important;
 border: none !important;
 border-radius: 8px !important;
 font-weight: 500 !important;
 font-size: 16px !important;
 text-decoration: none !important;
 transition: color 0.2s !important;
 line-height: normal !important;
}

#menu a:hover, .menu a:hover, nav a:hover,
[class*="menu"] a:hover, [id*="menu"] a:hover,
#menu li a:hover, .menu li a:hover, nav li a:hover,
[class*="menu"] li a:hover, [id*="menu"] li a:hover {
 background: transparent !important;
 border: none !important;
 color: #1a5490 !important;
 transform: none !important;
}

#menu ul li::before, .menu ul li::before, nav ul li::before,
[class*="menu"] ul li::before, [id*="menu"] ul li::before {
 content: none !important;
}

/* === ОСНОВНОЙ КОНТЕНТ === */
#container, .container, main,
[class*="content"], [id*="content"],
#body, .body, article,
[class*="post"], [id*="post"] {
 background: #ffffff !important;
 border-radius: 16px !important;
 padding: 40px !important;
 margin: 0 20px 30px !important;
 box-shadow: 0 2px 16px rgba(26, 84, 144, 0.08) !important;
 max-width: 1200px !important;
 margin-left: auto !important;
 margin-right: auto !important;
}

/* === ЗАГОЛОВКИ === */
h1, h2, h3, h4, h5, h6 {
 color: #1a5490 !important;
 font-weight: 700 !important;
 margin-top: 0 !important;
}

h1 {
 font-size: 36px !important;
 margin-bottom: 24px !important;
 border-bottom: 3px solid #3a7bd5 !important;
 padding-bottom: 16px !important;
}

h2 {
 font-size: 28px !important;
 margin-bottom: 20px !important;
 color: #2c3e50 !important;
}

h3 {
 font-size: 22px !important;
 margin-bottom: 16px !important;
}

/* === КНОПКИ === */
input[type="submit"],
input[type="button"],
button {
 background: linear-gradient(135deg, #3a7bd5 0%, #1a5490 100%) !important;
 color: #ffffff !important;
 border: none !important;
 padding: 14px 32px !important;
 border-radius: 8px !important;
 font-size: 16px !important;
 font-weight: 600 !important;
 cursor: pointer !important;
 transition: all 0.2s !important;
 box-shadow: 0 4px 12px rgba(58, 123, 213, 0.3) !important;
}

input[type="submit"]:hover,
input[type="button"]:hover,
button:hover {
 background: linear-gradient(135deg, #2d6fc2 0%, #154a80 100%) !important;
 transform: translateY(-2px) !important;
 box-shadow: 0 6px 16px rgba(58, 123, 213, 0.4) !important;
}

a.btn, a.button,
.btn, .button {
 display: inline-block !important;
 background: linear-gradient(135deg, #3a7bd5 0%, #1a5490 100%) !important;
 color: #ffffff !important;
 border: none !important;
 padding: 14px 32px !important;
 border-radius: 8px !important;
 font-size: 16px !important;
 font-weight: 600 !important;
 cursor: pointer !important;
 transition: all 0.2s !important;
 box-shadow: 0 4px 12px rgba(58, 123, 213, 0.3) !important;
 text-decoration: none !important;
}

a.btn:hover, a.button:hover,
.btn:hover, .button:hover {
 background: linear-gradient(135deg, #2d6fc2 0%, #154a80 100%) !important;
 transform: translateY(-2px) !important;
 box-shadow: 0 6px 16px rgba(58, 123, 213, 0.4) !important;
 color: #ffffff !important;
}

/* === ФОРМЫ === */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,
select {
 width: 100% !important;
 padding: 12px 16px !important;
 border: 2px solid #e8f1f8 !important;
 border-radius: 8px !important;
 font-size: 15px !important;
 transition: border-color 0.2s !important;
 box-sizing: border-box !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
 outline: none !important;
 border-color: #3a7bd5 !important;
}

/* === ПОДВАЛ === */
#footer, .footer, footer,
[class*="footer"], [id*="footer"] {
 background: #1a5490 !important;
 color: #ffffff !important;
 padding: 30px 0 !important;
 margin-top: 40px !important;
 text-align: center !important;
}

#footer a, .footer a, footer a {
 color: #ffffff !important;
 text-decoration: underline !important;
}

#footer a:hover, .footer a:hover, footer a:hover {
 color: #e8f1f8 !important;
}

/* === БЛОКИ НОВОСТЕЙ === */
.post, article,
[class*="news"], [id*="news"],
[class*="post"], [id*="post"] {
 margin-bottom: 30px !important;
 padding-bottom: 30px !important;
 border-bottom: 1px solid #e8f1f8 !important;
}

.post:last-child,
article:last-child {
 border-bottom: none !important;
}

/* === ВНИМАНИЕ / ПРЕДУПРЕЖДЕНИЯ === */
.alert, .warning,
[class*="alert"], [class*="warning"],
.notice, [class*="notice"] {
 background: #fff3cd !important;
 border-left: 5px solid #ffc107 !important;
 padding: 20px !important;
 border-radius: 8px !important;
 margin: 20px 0 !important;
}

/* === ТАБЛИЦЫ В КОНТЕНТЕ === */
.eMessage table,
.eText table,
#content table,
.post table,
article table,
.entry-content table,
.boxContent table {
 width: 100% !important;
 border-collapse: collapse !important;
 border-radius: 12px !important;
 overflow: hidden !important;
 margin: 24px 0 !important;
 box-shadow: 0 2px 8px rgba(26, 84, 144, 0.08) !important;
 background: #ffffff !important;
}

.eMessage table th,
.eText table th,
#content table th,
.post table th,
article table th,
.entry-content table th,
.boxContent table th,
.eMessage table td,
.eText table td,
#content table td,
.post table td,
article table td,
.entry-content table td,
.boxContent table td {
 padding: 16px !important;
 text-align: left !important;
 border-bottom: 1px solid #e8f1f8 !important;
}

.eMessage table th,
.eText table th,
#content table th,
.post table th,
article table th,
.entry-content table th,
.boxContent table th {
 background: linear-gradient(135deg, #1a5490 0%, #3a7bd5 100%) !important;
 color: #ffffff !important;
 font-weight: 600 !important;
 text-transform: uppercase !important;
 font-size: 13px !important;
 letter-spacing: 0.5px !important;
}

.eMessage table tr:nth-child(even),
.eText table tr:nth-child(even),
#content table tr:nth-child(even),
.post table tr:nth-child(even),
article table tr:nth-child(even),
.entry-content table tr:nth-child(even),
.boxContent table tr:nth-child(even) {
 background: #f8fbfd !important;
}

.eMessage table tr:hover,
.eText table tr:hover,
#content table tr:hover,
.post table tr:hover,
article table tr:hover,
.entry-content table tr:hover,
.boxContent table tr:hover {
 background: #e8f1f8 !important;
}

/* === АДАПТИВНОСТЬ: ПЛАНШЕТЫ === */
@media (max-width: 992px) {
 #menu, .menu, nav,
 [class*="menu"], [id*="menu"] {
 padding: 4px 6px !important;
 margin: 0 15px 20px 15px !important;
 }

 #menu a, .menu a, nav a,
 [class*="menu"] a, [id*="menu"] a,
 #menu li a, .menu li a, nav li a,
 [class*="menu"] li a, [id*="menu"] li a {
 padding: 8px 14px !important;
 font-size: 15px !important;
 }

 #container, .container, main,
 [class*="content"], [id*="content"] {
 padding: 28px 22px !important;
 margin: 0 15px 22px !important;
 }

 h1 { font-size: 32px !important; }
 h2 { font-size: 26px !important; }
 h3 { font-size: 22px !important; }

 body { font-size: 16px !important; }
}

/* === АДАПТИВНОСТЬ: МОБИЛЬНЫЕ ТЕЛЕФОНЫ === */
@media (max-width: 768px) {
 body {
 font-size: 17px !important;
 line-height: 1.7 !important;
 }

 /* Шапка мобильная */
 .header-bar {
 flex-wrap: wrap !important;
 gap: 10px !important;
 padding: 10px 15px !important;
 }

 .hb-date {
 font-size: 13px !important;
 }

 .hb-center {
 flex-direction: column !important;
 align-items: flex-start !important;
 gap: 8px !important;
 }

 .hb-contact {
 font-size: 14px !important;
 }

 #logo {
 padding: 20px 15px 10px 15px !important;
 }

 #logo h1 {
 font-size: 24px !important;
 }

 #navBar {
 padding: 0 15px 15px 15px !important;
 }

 .navLink {
 font-size: 14px !important;
 }

 /* Меню мобильное */
 #menu, .menu, nav,
 [class*="menu"], [id*="menu"] {
 padding: 6px !important;
 margin: 0 10px 12px 10px !important;
 border-radius: 10px !important;
 }

 #menu ul, .menu ul, nav ul,
 [class*="menu"] ul, [id*="menu"] ul {
 flex-direction: column !important;
 align-items: stretch !important;
 gap: 2px !important;
 }

 #menu li, .menu li, nav li,
 [class*="menu"] li, [id*="menu"] li {
 width: 100% !important;
 }

 #menu a, .menu a, nav a,
 [class*="menu"] a, [id*="menu"] a,
 #menu li a, .menu li a, nav li a,
 [class*="menu"] li a, [id*="menu"] li a {
 display: block !important;
 width: 100% !important;
 text-align: center !important;
 padding: 12px 14px !important;
 font-size: 16px !important;
 margin: 0 !important;
 }

 /* Контент мобильный */
 #container, .container, main,
 [class*="content"], [id*="content"] {
 padding: 18px 15px !important;
 margin: 0 10px 12px !important;
 border-radius: 12px !important;
 }

 h1 {
 font-size: 26px !important;
 margin-bottom: 14px !important;
 padding-bottom: 12px !important;
 }

 h2 { font-size: 22px !important; margin-bottom: 12px !important; }
 h3 { font-size: 20px !important; margin-bottom: 10px !important; }

 p {
 margin: 12px 0 !important;
 line-height: 1.7 !important;
 }

 /* Формы мобильные */
 input[type="text"],
 input[type="email"],
 input[type="tel"],
 input[type="password"],
 textarea,
 select {
 padding: 14px 16px !important;
 font-size: 17px !important;
 }

 input[type="submit"],
 input[type="button"],
 button,
 a.btn, a.button,
 .btn, .button {
 width: 100% !important;
 padding: 16px 20px !important;
 font-size: 17px !important;
 text-align: center !important;
 box-sizing: border-box !important;
 margin: 8px 0 !important;
 }

 /* Подвал мобильный */
 #footer, .footer, footer,
 [class*="footer"], [id*="footer"] {
 padding: 18px 15px !important;
 margin-top: 15px !important;
 font-size: 15px !important;
 }

 /* Новости мобильные */
 .post, article,
 [class*="news"], [id*="news"],
 [class*="post"], [id*="post"] {
 margin-bottom: 15px !important;
 padding-bottom: 15px !important;
 }

 /* Таблицы контент мобильные */
 .eMessage table,
 .eText table,
 #content table,
 .post table,
 article table,
 .entry-content table,
 .boxContent table {
 display: block !important;
 overflow-x: auto !important;
 white-space: nowrap !important;
 font-size: 15px !important;
 margin: 12px 0 !important;
 }

 .eMessage table th,
 .eText table th,
 #content table th,
 .post table th,
 article table th,
 .entry-content table th,
 .boxContent table th,
 .eMessage table td,
 .eText table td,
 #content table td,
 .post table td,
 article table td,
 .entry-content table td,
 .boxContent table td {
 padding: 12px 14px !important;
 }
}

/* === АДАПТИВНОСТЬ: ОЧЕНЬ МАЛЕНЬКИЕ ЭКРАНЫ === */
@media (max-width: 480px) {
 body { font-size: 16px !important; }

 .header-bar {
 padding: 8px 10px !important;
 }

 #logo {
 padding: 15px 10px 8px 10px !important;
 }

 #logo h1 {
 font-size: 20px !important;
 }

 #navBar {
 padding: 0 10px 12px 10px !important;
 }

 .navLink {
 font-size: 13px !important;
 }

 #container, .container, main,
 [class*="content"], [id*="content"] {
 padding: 16px 12px !important;
 margin: 0 8px 10px !important;
 }

 h1 { font-size: 24px !important; }
 h2 { font-size: 20px !important; }
 h3 { font-size: 18px !important; }

 .eMessage table,
 .eText table,
 #content table,
 .post table,
 article table,
 .entry-content table,
 .boxContent table {
 font-size: 14px !important;
 }

 .eMessage table th,
 .eText table th,
 #content table th,
 .post table th,
 article table th,
 .entry-content table th,
 .boxContent table th,
 .eMessage table td,
 .eText table td,
 #content table td,
 .post table td,
 article table td,
 .entry-content table td,
 .boxContent table td {
 padding: 10px 12px !important;
 }

 #menu a, .menu a, nav a,
 [class*="menu"] a, [id*="menu"] a,
 #menu li a, .menu li a, nav li a,
 [class*="menu"] li a, [id*="menu"] li a {
 padding: 10px 12px !important;
 font-size: 15px !important;
 }
}
/* === ОКНО COOKIE-ПОЛИТИКИ === */
#bottomInfoBar,
.bottom-info-wrapper,
.bottom-info-block,
#cookiePolicy {
 border-radius: 12px !important;
 box-shadow: 0 4px 20px rgba(26, 84, 144, 0.15) !important;
 padding: 2px !important;
 border: none !important;
 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.bottom-info-block-content {
 color: #2c3e50 !important;
 font-size: 15px !important;
 line-height: 1.6 !important;
 padding: 5px !important;
}

.bottom-info-block-content a {
 color: #3a7bd5 !important;
 text-decoration: underline !important;
}

.bottom-info-block-content a:hover {
 color: #1a5490 !important;
}

/* Кнопки в окне */
.bottom-info-block-action {
 margin-top: 10px !important;
 padding: 0 5px 5px 5px !important;
 display: flex !important;
 align-items: center !important;
 gap: 12px !important;
}

.bottom-info-button-agree {
 background: linear-gradient(135deg, #3a7bd5 0%, #1a5490 100%) !important;
 color: #ffffff !important;
 border: none !important;
 padding: 8px 20px !important;
 border-radius: 8px !important;
 font-size: 15px !important;
 font-weight: 600 !important;
 cursor: pointer !important;
 transition: all 0.2s !important;
 text-decoration: none !important;
 display: inline-block !important;
 line-height: 1.4 !important;
}

.bottom-info-button-agree:hover {
 background: linear-gradient(135deg, #2d6fc2 0%, #154a80 100%) !important;
 transform: translateY(-1px) !important;
}

.bottom-info-button-hide {
 color: #6b7c8f !important;
 font-size: 14px !important;
 text-decoration: none !important;
 padding: 8px !important;
 cursor: pointer !important;
 transition: color 0.2s !important;
}

.bottom-info-button-hide:hover {
 color: #1a5490 !important;
}

/* Мобильная версия окна */
@media (max-width: 768px) {
 #bottomInfoBar,
 .bottom-info-wrapper,
 .bottom-info-block,
 #cookiePolicy {
 padding: 2px !important;
 border-radius: 10px !important;
 }

 .bottom-info-block-content {
 font-size: 14px !important;
 }

 .bottom-info-block-action {
 flex-direction: column !important;
 align-items: stretch !important;
 gap: 8px !important;
 }

 .bottom-info-button-agree {
 width: 100% !important;
 text-align: center !important;
 padding: 10px 20px !important;
 box-sizing: border-box !important;
 }

 .bottom-info-button-hide {
 text-align: center !important;
 }
}