/* ===== Mobile First CSS ===== */
:root {
 --primary-color: #4D6D91;
 --secondary-color: #fea900;
 --background-color: #f8fef7 !important;
 --border-color: #95E982;
 --text-color: #333;
 --link-hover: #0066cc;
 --container-width: 1200px;
 --base-font-size: 15px;
 --font-scale: 1.125;
}

/* ===== Base Reset ===== */
* {
 box-sizing: border-box;
 margin: 0;
 padding: 0;
}

html {
 font-size: var(--base-font-size);
 height: 100%;
}

body {
 min-height: 100%;
 font-family: -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
 line-height: 1.6;
 color: var(--text-color);
 display: flex;
 flex-direction: column;
}

/* ===== Typography Scale ===== */
h1 { font-size: calc(1rem * var(--base-font-size) * 1.8); }
h2 { font-size: calc(1rem * var(--base-font-size) * 1.4); }
h3 { font-size: calc(1rem * var(--base-font-size) * 1.1); }

/* ===== Links & Buttons ===== */
a {
 color: var(--primary-color);
 text-decoration: none;
 transition: all 0.2s ease;
}

a:hover {
 color: var(--secondary-color);
 text-decoration: underline;
}

/* ===== Main Layout ===== */
.container {
 width: 100%;
 max-width: var(--container-width);
 margin: 0 auto;
 padding: 0 1rem;
}
.eTitle {
font-size:1.2rem;
font-weight:bold;
color:#4D6D91; 
padding: 0 0 0 5px; 
background: url('http://www.adygaabaza.ucoz.ru/15.gif') no-repeat 0px 1px;
}
 

/* ===== Глобальный хедер ===== */
.global-header {
 width: 100%;
 margin: 15px auto;
 padding: 5px 5px;
 position: relative;
 background-color: var(--background-color) !important;
}

.global-header-in {
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
 position: relative;
 padding: 0;
 background-color: var(--background-color) !important;
}

/* Декоративная полоса */
.header-decoration {
 display: flex;
 justify-content: space-between;
 align-items: center;
 max-width: var(--container-width);
 margin: 0 auto;
 padding: 10px 0;
 position: relative;
 width: 100%;
 height: 21px;
}

.header-left, 
.header-right {
 flex: 0 0 auto;
 z-index: 2;
 padding: 0;
}

.header-right img {
 width: 119px;
 height: 21px;
 display: block;
 object-fit: contain;
}

.header-left img,
{
 width: 11px;
 height: 21px;
 display: block;
 object-fit: contain;
}

.header-center {
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 background-color: var(--background-color);
 border-top: 1px solid var(--border-color);
 z-index: 1;
 display: flex;
 justify-content: center;
 align-items: center;
 height: 21px;
}

.header-center-content {
 max-width: var(--container-width);
 width: 100%;
 padding: 0 150px; /* 119px + 15px*2 */
 text-align: center;
 font-size: 0.8rem;
 box-sizing: border-box;
}

/* Логотип */
.header-logo {
 width: 100%;
 margin: 0;
 padding: 0;
}

.logo-container {
 height: 60px;
 background: url('/pic/adygaabaza.gif') center/contain no-repeat;
 background-color: var(--background-color);
 margin: 0;
 padding: 0;
 width: 100%;
}
/* Главное меню */
.footer-menu {
 max-width: 1200px;
 margin: 0 auto;
 position: relative;
 padding: 0;
 background-color: var(--background-color);
 border-top: 1px solid var(--border-color);
 border-bottom: 1px solid var(--border-color);
}
.footer-menu-container {
 display: flex;
 flex-wrap: nowrap;
 justify-content: space-between; /* Равномерное распределение */
 align-items: center; /* Вертикальное выравнивание */
 width: 100%;
 max-width: 100%;
 margin: 0;
 padding: 0;
}

.header-menu {
 max-width: 1200px;
 margin: 0 auto;
 position: relative;
 padding: 0;
 background-color: var(--background-color);
 border-top: 1px solid var(--border-color);
 border-bottom: 1px solid var(--border-color);
}

.menu-container {
 display: flex;
 flex-wrap: wrap;
 width: 100%;
 max-width: 100%;
 margin: 0;
 padding: 0;
}

.menu-item {
 flex: 1;
 min-width: fit-content;
 padding: 5px 5px;
 color: var(--primary-color);
 text-decoration: none;
 text-transform: uppercase;
 font-size: 0.7rem;
 text-align: center;
 white-space: nowrap;
 transition: all 0.2s ease;
}

.menu-item:last-child {
 border-right: none;
}

.menu-item:hover {
 color: var(--secondary-color);
 background-color: rgba(0,0,0,0.05);
}

.menu-user {
 display: flex;
 flex: 1;
 min-width: fit-content;
}

.menu-divider {
 color: var(--primary-color);
 padding: 12px 0;
}

/* Бургер-меню */
.menu-toggle {
 display: none;
 background: none;
 border: none;
 cursor: pointer;
 position: absolute;
 top: 5px;
 right: 10px;
 z-index: 1000;
 margin: 0 auto;
}

.burger-line {
 display: block;
 width: 25px;
 height: 3px;
 background: var(--primary-color);
 margin: 5px 0;
 transition: all 0.3s ease;
}

/* Адаптация для мобильных */
@media (max-width: 768px) {
 .menu-toggle {
 display: block;
 }
 
 .header-menu {
 display: none;
 position: absolute;
 top: 100%;
 left: 0;
 width: 100%;
 z-index: 999;
 }
 
 .header-menu.active {
 display: block;
 }
 
 .menu-container {
 flex-direction: column;
 }
 
 .menu-item {
 width: 100%;
 text-align: center;
 padding: 5px;
 border-right: none;
 border-bottom: 1px solid var(--border-color);
 }
 
 .menu-item:last-child {
 border-bottom: none;
 }
 
 .menu-user {
 flex-direction: column;
 align-items: center;
 }
 
 .menu-divider {
 display: none;
 }
 
 .menu-toggle.active .burger-line:nth-child(1) {
 transform: rotate(45deg) translate(5px, 5px);
 }
 
 .menu-toggle.active .burger-line:nth-child(2) {
 opacity: 0;
 }
 
 .menu-toggle.active .burger-line:nth-child(3) {
 transform: rotate(-45deg) translate(7px, -6px);
 }
}

/* Поиск */
.search-container {
 display: flex;
 justify-content: flex-end;

}

.search-toggle {
 display: none;
}

.search-icon {
 cursor: pointer;
 font-size: 20px;
 margin: 8px;
 display: inline-block;
}

.search-field {
 right: 0;
 top: 0;
 width: 0;
 overflow: hidden;
 transition: width 0.3s ease;
 background: white;
}

.search-input {
 width: 240px;
 padding: 8px;
 border: 1px solid #ddd;
 border-radius: 4px;
}

.search-toggle:checked ~ .search-field {
 width: 250px; /* Ширина поля ввода + отступы */
}


.header-search {
 display: flex;
 justify-content: flex-end;
 margin: 0;
 background-color: var(--background-color);
}

.search-form {
 display: flex;
 flex-direction: row-reverse;
 align-items: center;
 gap: 8px;
 width: 100%;
 max-width: 400px;
 margin: 0;
}

.search-input {
 padding: 6px 12px;
 border: 1px solid var(--border-color);
 border-radius: 3px;
 font-size: 0.9rem;
 flex-grow: 1;
 min-width: 120px;
 margin: 0;
}

.search-button {
 padding: 6px 15px;
 background-color: var(--primary-color);
 color: white;
 border: none;
 border-radius: 3px;
 cursor: pointer;
 font-size: 0.9rem;
 margin: 0;
}

.search-button:hover {
 background-color: var(--secondary-color);
}

/* Адаптация для мобильных */
@media (max-width: 768px) {
 .header-menu {
 flex-direction: column;
 gap: 0;
 }
 
 .menu-item {
 width: 100%;
 text-align: center;
 padding: 5px;
 border-right: none;
 border-bottom: 1px solid var(--border-color);
 }
 
 .menu-item:last-child {
 border-bottom: none;
 }
 
 .menu-user {
 flex-direction: column;
 }
 
 .menu-divider {
 display: none;
 }
 
 .search-form {
 gap: 6px;
 }
 
 .search-button {
 width: 100%;
 }
}

@media (max-width: 480px) {
 .header-left, 
 .header-right {
 flex: 0 0 80px;
 }
 
 .header-left img,
 .header-right img {
 height: 21px;
 }
 
 .logo-container {
 height: 50px;
 }
}

/* ===== Header Container ===== */
.header-container {
 background-color: var(--background-color);
 border-bottom: 1px solid var(--border-color);
 padding: 1rem 0;
}

/* ===== Content Blocks ===== */
.content-wrapper {
 display: flex;
 flex-direction: column;
 gap: 1.5rem;
 margin: 1.5rem 0;
}

.content-block {
 width: 100%;
 margin-bottom: 2rem;
}

.section-header {
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 0.5rem;
 margin-bottom: 1rem;
}

.section-header i {
 font-size: 1.5rem;
 color: var(--primary-color);
}

/* ===== Tables (Legacy Support) ===== */
.table-element {
 width: 100%;
 border-collapse: collapse;
 border-spacing:2px;
 margin: 0.5rem 0;
 padding:1px;
}

.td-element, .th-element {
 padding: 0.5rem;
 border: 1px solid var(--border-color);
}

/* Сообщения */
.eMessage {
 font-family: var(--font-family);
 font-size: var(--font-size-base);
 text-align: justify;
 padding: 0 5px 10px 5px;
 color: var(--link-color);
}

.eMessage table {
 width: 100% !important; 
 max-width: 100% !important;
 overflow-x: auto !important;
 -webkit-overflow-scrolling: touch !important;
 display: block !important;
 border-collapse: collapse !important;
 margin-bottom: 24px !important;
 border: 1px solid var(--silver) !important;
}

.eMessage td, 
.eMessage th {
 vertical-align: top !important;
 border: 1px solid silver !important;
 padding-left: 5px !important;
 padding-right: 3px !important;
 text-align: left !important;
} 

/* Основной текст */
.eText {
 text-align: justify;
 padding: 5px 0;
 border-top: 1px dashed var(--secondary-color);
 font-size: var(--font-size-small);
}

/* Детали (основной) */
.eDetails,
.eDetails1 {
 border-top: 1px dashed var(--border-color);
 border-bottom: 1px dashed var(--border-color);
 font-family: var(--font-family);
 color: var(--text-color);
 padding: 3px 0 5px;
 text-align: left;
}

/* Детали (менее значимые) */
.eDetails2 {
 border-bottom: 1px dashed var(--secondary-color);
 font-family: var(--font-family);
 color: var(--text-color);
 padding: 3px 0 5px;
 text-align: left;
 font-size: var(--font-size-small);
}

/* Рейтинг */
.eRating {
 font-size: var(--font-size-xsmall);
}

/* Прикрепленные файлы */
.eAttach {
 margin: 16px 0 0 0;
 padding-left: 15px;
 background: url('http://src.ucoz.ru/t/121/16.gif') no-repeat 0 0;
}

/* Класс для верхней границы */
.topBorder {
 border-left: 1px solid var(--border-color);
 border-right: 1px solid var(--border-color);
 padding-left: var(--padding);
 padding-top: var(--padding);
 padding-bottom: var(--padding);
 background-color: var(--background-color);
 vertical-align: top;
 margin: auto;
}

.gTable {
 background: var(--background-color);
 width: 100%;
}

.gTableTop {
 padding: 0.5rem;
 background: var(--background-color);
 color: #445588;
 text-transform: uppercase;
 font-size: 0.75rem;
 text-align: center;
 font-weight: bold;
}

/* ===== Forms ===== */
input, textarea, select {
 width: 100%;
 padding: 0.5rem;
 margin: 0.5rem 0;
 border: 1px solid var(--border-color);
 border-radius: 3px;
 font-size: 1rem;
}

/* ===== Footer (Fixed Version) ===== */
.footer-decoration {
 display: flex;
 justify-content: space-between;
 align-items: center;
 max-width: var(--container-width);
 margin: 0 auto;
 padding: 10px 0;
 position: relative;
 width: 100%;
 height: 21px;
}

.footer-left, 
.footer-right {
 flex: 0 0 auto;
 z-index: 2;
 padding: 0;
}

.footer-left img,
.footer-right img {
 width: 119px;
 height: 21px;
 display: block;
 object-fit: contain;
}

.footer-center {
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 background-color: var(--background-color);
 border-top: 1px solid var(--border-color);
 z-index: 1;
 display: flex;
 justify-content: center;
 align-items: center;
 height: 21px;
}

.footer-center-content {
 max-width: var(--container-width);
 width: 100%;
 padding: 0 150px; /* 119px + 15px*2 */
 text-align: center;
 font-size: 0.8rem;
 box-sizing: border-box;
}

/* Для мобильной адаптации */
@media (max-width: 768px) {
 .footer-decoration {
 flex-wrap: wrap;
 justify-content: center;
 }
 
 .footer-left, 
 .footer-right {
 order: 1;
 padding: 5px;
 }
 
 .footer-center {
 position: static;
 order: 2;
 width: 100%;
 padding: 10px 0;
 }
 
 .footer-center-content {
 padding: 0 15px;
 }
}

/* ===== Media Elements ===== */
.mejs-container {
 width: 100% !important;
 max-width: 44px;
 height: 21px !important;
 margin: 0 0 0 1rem !important;
}

/* ===== Utility Classes ===== */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }
.hidden { display: none; }

/* ===== Page Frame ===== */
.page-frame {
 display: flex;
 min-height: auto;
 max-width: 1400px;
 margin: 0 auto;
 position: relative;
}

.frame-decoration {
 flex: 0 0 auto;
 width: 60px;
 display: flex;
 align-items: flex-start;
 padding: 10px;
}

.frame-left {
 justify-content: flex-start;
}

.frame-right {
 justify-content: flex-end;
}

.frame-decoration img {
 max-width: 100%;
 height: auto;
}

.main-content {
 flex: 1 1 auto;
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
 padding: 0 15px;
 padding-bottom: 2rem; 
 background-color: var(--background-color);
 border-top: 1px solid var(--border-color);
 border-bottom: 1px solid var(--border-color);
 white-space: normal;
}


.main-content img {
 height: auto !important;
 max-width: 100% !important;
}


.message-content {
color: var(--text-color) !important;
background-color: var(--background-color) !important;
font-family: -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
line-height: 1.6 !important;
font-size: var(--base-font-size) !important;
}

.message-content p,
.message-content span,
.message-content font,
.message-content pre {
color: var(--text-color) !important;
background-color: var(--background-color) !important;
font-family: -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
line-height: 1.6 !important;
font-size: var(--base-font-size) !important;
}

.message-content table {
 width: 100% !important; 
 max-width: 100% !important;
 overflow-x: auto !important;
 -webkit-overflow-scrolling: touch !important;
 display: block !important;
}

.message-content td, 
.message-content th {
 vertical-align: top !important;
 padding-left: 5px !important;
 padding-right: 3px !important;
 text-align: left !important;
} 

.sorting-row {
text-align: right;
}

/* ===== Content Columns ===== */
.content-columns {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 margin: 10px 0;
}

.content-col {
 flex: 1 1 100%;
 min-width: 0;
}

.content-section {
 margin-bottom: 0;
}

.section-title {
 display: flex;
 align-items: center;
 gap: 10px;
 margin-bottom: 22px;
}

.section-title i {
 font-size: 1.5rem;
 color: var(--primary-color);
}

.section-title h2 {
 font-size: 1.25rem;
 margin: 0;
}

.section-body {
 text-align: justify;

}

.section-spacer {
 height: 30px;
}

/* ===== Responsive Breakpoints ===== */
@media (min-width: 576px) {
 :root {
 --base-font-size: 15px;
 }
 
 .section-header {
 flex-direction: row;
 text-align: left;
 }
 
 /* Адаптация хедера */
 .header-menu {
 gap: 4px;
 padding: 0;
 }
 
 .menu-item {
 padding: 5px 5px;
 font-size: 0.65rem;
 }
}

@media (min-width: 768px) {
 :root {
 --base-font-size: 16px;
 }
 
 .content-wrapper {
 flex-direction: row;
 flex-wrap: wrap;
 }
 
 .content-block {
 flex: 1 1 45%;
 }
 
 .content-col {
 flex: 1 1 calc(50% - 15px);
 }
}

@media (min-width: 992px) {
 .content-block {
 flex: 1 1 30%;
 }
 
.header-center {
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 background-color: var(--background-color);
 border-top: 1px solid var(--border-color);
 z-index: 1;
 display: flex;
 justify-content: center;
 align-items: center;
 height: 21px;
} 
 
 .header-left, 
 .header-right {
 flex: 0 0 120px;
 }
 
 .header-left img,
 .header-right img {
 height: 21px;
 }
}

@media (min-width: 1200px) {
 .container {
 padding: 0;
 }
}

/* ===== Mobile Adjustments ===== */
@media (max-width: 767px) {
 .frame-decoration {
 width: 40px;
 padding: 5px;
 }
 
 .footer-left, 
 .footer-right {
 flex: 0 0 80px;
 }
 
 .footer-left img,
 .footer-right img {
 width: 80px;
 height: 15px;
 }
 
 .footer-center {
 font-size: 0.7rem;
 }
 
 /* Адаптация хедера для мобильных */
 .header-menu {
 flex-direction: column;
 gap: 3px;
 }
 
 .menu-item {
 width: 100%;
 text-align: center;
 padding: 8px;
 }
 
 .menu-user {
 flex-direction: column;
 }
 
 .menu-divider {
 display: none;
 }

}

@media (max-width: 480px) {
 .header-left, 
 .header-right {
 flex: 0 0 80px;
 }
 
 .header-left img,
 .header-right img {
 height: 18px;
 }
 
 .logo-container {
 height: 50px;
 }
 
 .menu-item {
 font-size: 0.75rem;
 }
}

/* ===== Print Styles ===== */
@media print {
 .no-print {
 display: none !important;
 }
 
 body {
 font-size: 12pt;
 color: black;
 background: white;
 }
 
 a {
 color: black;
 text-decoration: underline;
 }
}

/* ===== Files Info Styles ===== */
.files-info {
 margin: 0.5rem 0;
 padding: 0.3rem;
 background-color: var(--background-color);
 border-bottom: 1px dashed var(--border-color);
 border-radius: 3px;
}

.files-info-row {
 display: flex;
 flex-wrap: wrap;
 flex-direction: row;
 gap: 0.5rem;
 margin-bottom: 0.1rem;
 font-size: 0.7rem;
}

.files-info-row span {
 display: flex;
 align-items: center;
 gap: 0.3rem;
 font-size: 0.7rem 
}
/* ===== Audio Page Styles ===== */

.breadcrumbs {
 padding: 0.5rem 0;
 font-size: 0.9rem;
 color: var(--primary-color);
 border-bottom: 1px solid var(--border-color);
 margin-bottom: 1rem;
}

.breadcrumbs a {
 color: var(--primary-color);
}

.breadcrumbs a:hover {
 color: var(--secondary-color);
}

.add-entry {
 margin-left: 1rem;
 color: var(--secondary-color);
}

.track-name h3 {
 margin-bottom: 0.5rem;
 color: var(--primary-color);
}
.audio-section {
 margin-bottom: 1rem;
}

.music-download {
 display: inline-block;
 padding: 0.5rem 1rem;
 background-color: var(--primary-color);
 color: white;
 border-radius: 3px;
 transition: all 0.2s ease;
}

.music-download:hover {
 background-color: var(--secondary-color);
 color: white;
 text-decoration: none;
}

.audio-player {
 margin: 1rem 0;
 width: 100%;
}

.track-info {

 margin: 0.5rem 0;
 padding: 0.3rem;
 background-color: var(--background-color);
 border-top: 1px dashed var(--border-color);
 border-bottom: 1px dashed var(--border-color);
 border-radius: 3px;
}

.info-row {
 display: flex;
 flex-wrap: wrap;
 flex-direction: row;
 gap: 0.5rem;
 margin-bottom: 0.1rem;
 font-size: 0.7rem;
}

.info-row span {
 display: flex;
 align-items: center;
 gap: 0.3rem;
 font-size: 0.7rem 
}

.tags, .date, .downloads {
 font-size: 0.9rem;
}

.entry-content {
 margin: 1.5rem 0;
 line-height: 1.6;
}

.related-tracks {
 margin: 2rem 0;
}

.related-tracks h3 {
 margin-bottom: 1rem;
 color: var(--primary-color);
}

.related-list {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
 gap: 1rem;
 padding: 10px;
}

.comments-section {
 margin-top: 2rem;
 padding-top: 1rem;
 border-top: 1px solid var(--border-color);
}

.comments-header {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: 1rem;
}

.comments-count,
.comments-pagination {
 font-size: 0.9rem;
}

.commReg {
 text-align: center;
 padding: 1rem;
 background-color: var(--background-color);
 border: 1px solid var(--border-color);
 border-radius: 3px;
 margin: 1rem 0;
}

/* Responsive */
@media (max-width: 768px) {
 .info-row {
 gap: 0.3rem;
 }

 .related-list {
 grid-template-columns: 1fr;
 }
}