/* style_drama.css - Объединённые стили для всех страниц */

/* ========== ОСНОВНЫЕ СТИЛИ ========== */
body {
    background-color: #2E0C1A; /* Темно-бордовый фон */
    color: #F5DAB4; /* Светлый текст */
    font-family: Georgia, serif;
    font-size: 16px;
    line-height: 1.2;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

/* ========== ШАПКА САЙТА ========== */
header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

h1 {
    font-size: 2.2em;
    margin: 0;
    color: #FFD7B3;
}

.h1 {
    font-size: 28pt;
    margin: 0;
    color: #F5DAB4;
    font-family: Georgia, serif;
    font-weight: bold;
}

.logo {
    width: 120px;
    height: auto;
    margin-right: 30px;
}

/* ========== НАВИГАЦИЯ ========== */
.nav-links {
    margin: 20px 0;
    padding: 10px;
    text-align: center;
}

.nav-links a {
    background-color: #CC8866;
    color: #2E0C1A;
    text-decoration: none;
    margin: 0 10px;
    padding: 5px 10px;
    border: 1px solid #CCAA88;
    border-radius: 3px;

}

.nav-links a:hover {
    background-color: #FFD7B3;
}

/* ========== ФОРМЫ ========== */
form {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 20px 0;
}

.top-row {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.bottom-row {
    display: flex;
    justify-content: center;
}

label {
    font-size: 1em;
    margin-right: 5px;
}

input[type="text"],
select {
    padding: 3px;
    margin-right: 5px;
    border-radius: 5px;
    border: 1px solid #CC8866;
    height: 18px;
    width: 160px;
}

.textlabel {
    padding: 3px;
    margin-right: 5px;
    border-radius: 5px;
    border: 1px solid #CC8866;
    height: 25px;
    width: 120px;
}

.texttags {
    margin-top: 5px;
    padding: 3px;
    margin-right: 5px;
    border-radius: 5px;
    border: 1px solid #CC8866;
    height: 18px;
    width: 400px;
}

.textyear {
    padding: 3px;
    margin-right: 5px;
    border-radius: 5px;
    border: 1px solid #CC8866;
    height: 18px;
    width: 35px;
}

.textroules {
    padding: 3px;
    margin-right: 5px;
    border-radius: 5px;
    border: 1px solid #CC8866;
    height: 18px;
    width: 35px;
}

.textdrama {
    padding: 3px;
    margin-right: 5px;
    border-radius: 5px;
    border: 1px solid #CC8866;
    height: 18px;
    width: 220px;
}

/* Стили для кнопок в формах */
button[type="submit"] {
    padding: 3px 15px;
    background-color: #FFD7B3;
    color: #2E0C1A;
    font-size: 10pt;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-left: 10px;
    height: 25px;
    width: 70px;
    font-family: Georgia, serif;
}

button[type="submit"]:hover {
    background-color: #CC8866;
    color: #FFD7B3;
}

/* ========== КНОПКА СБРОСА ========== */
.reset-button {
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 15px;
    padding: 6px 10px;
    background-color: #FFD7B3;
    color: #2E0C1A;
    font-size: 0.8em;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    float: right;
    display: flex;
    align-items: center;
    justify-content: center;
}

.reset-button:hover {
    background-color: #CC8866;
    color: #FFD7B3;
}

/* ========== СОРТИРОВКА ========== */
.sort-container {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 0px;
    margin-bottom: 20px;
}

/* Для index.php - центрируем блок сортировки с шириной как у статьи */
.sort-container.index-sort {
    display: flex;
    justify-content: center;
    margin: 0 auto 20px auto;
}

.sort-container.index-sort table {
    width: 700px;
    margin: 0 auto;
}

/* Общие стили для таблиц сортировки */
.sort-container table {
    border-collapse: collapse;
}

.sort-field {
    display: flex;
    align-items: center;
}

.sort-link {
    color: #FFD7B3;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    padding-right: 0px;
}

.sort-link:hover {
    color: #CC8866;
}

.strelka {
    width: 18px;
min-width: 18px;
    text-align: right;
}

/* ========== ОСНОВНОЙ КОНТЕНТ ========== */
main {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 20px;
}

/* Для index.php - центрируем статьи */
main.index-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

article {
    width: 700px;
    margin: 10px auto;
    background-color: #451225;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Для страницы отзывов */
.gb-article {
    width: 700px;
    margin: 10px auto;
    background-color: #451225;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Специальный стиль для формы отзыва */
.article_form {
    width: 700px;
    margin: 0 auto;
    background-color: #451225;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    display: flex;
}

/* ========== ЭЛЕМЕНТЫ ПЬЕС ========== */
.author {
    font-size: 1.2em;
    font-weight: normal;
    margin-bottom: 5px;
}

.title {
    font-size: 1.8em;
    font-style: normal;
    margin-bottom: 5px;
}

.description {
    font-size: 0.9em;
    color: #CC8866;
    margin-bottom: 5px;
}

.details {
    font-size: 0.9em;

    font-style: italic;
    margin-bottom: 5px;
}


/* ========== КНОПКИ СКАЧИВАНИЯ И ОТЗЫВОВ ========== */
.download {
    float: right;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    margin-bottom: 0px;
    margin-right: 5px;
}

.counter {
    font-size: 9pt;
    font-style: italic;
    color: #CCAA88;
    margin-left: 10px;

}

button.downloadbtn, button.reviewbtn {
    background-color: #CC8866;
    color: #2E0C1A;
    font-size: 1em;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    padding: 10px 20px;
    font-family: Georgia, serif;
    white-space: nowrap;
}

button.downloadbtn:hover, button.reviewbtn:hover {
    background-color: #FFCBA4;
    color: #2E0C1A;
}

button.downloadbtn {
    padding: 10px 30px;
}





.obr {
    margin: 0px;
    text-align: center;
    font-size: 12px;
    font-family: Georgia, serif;
}

/* ========== ТАБЛИЦЫ ========== */
table {
    width: calc(100% - 20px);
    margin: 0;
}

td {
    padding-left: 3px;
}

.name1 {
    width: 1%;
    min-width: 58px;
}

.pole1 {

}

.name2 {
    width: 14%;

    min-width: 41px;
}

.pole2 {
    width: 17%;

    min-width: 113px;
}

/* ========== ФИЛЬТРЫ ========== */
.filter-form {
    margin: 20px auto;
    padding: 15px;
    background-color: #2E0C1A;
    border-radius: 5px;
    width: 700px;
}

.filter-form select, .filter-form button {
    padding: 8px;
    margin-right: 10px;
    border-radius: 3px;
    border: 1px solid #CCAA88;
}

.filter-form button {
    background-color: #CC8866;
    color: #2E0C1A;
    cursor: pointer;
    border: none;
    padding: 8px 20px;
}

.filter-form button:hover {
    background-color: #FFCBA4;
    color: #2E0C1A;
}

/* Специальный класс для кнопки поиска в фильтре отзывов */
.filter-form button[name="search"],
.search-button {
    background-color: #FFD7B3 !important;
    color: #2E0C1A !important;
}

.filter-form button[name="search"]:hover,
.search-button:hover {
    background-color: #CC8866 !important;
    color: #FFD7B3 !important;
}

/* ========== ОТЗЫВЫ ========== */
.review-meta {
    display: flex;
    justify-content: space-between;
    margin-top: 0px;
    padding-top: 10px;
    font-size: 0.9em;
    color: #CC8866;
}

.review-date {
    font-style: italic;
    color: #FFD7B3;
}

.review-author {
    font-style: italic;
    color: #FFD7B3;
}

.review-content {
    font-size: 0.9em;
    color: #CC8866;
    margin-bottom: 5px;
    margin-top: 15px;
}

.review-header {
    font-size: 13pt;

}

/* ========== СООБЩЕНИЯ ========== */
.message {
    padding: 10px;
    margin: 10px 0;
    border-radius: 5px;
}

/* ========== МОДАЛЬНОЕ ОКНО ========== */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 30px;
    border: 2px solid #CC8866;
    width: 400px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.modal-content p {
    font-size: 1.2em;
    color: #2E0C1A;
    margin-bottom: 25px;
    line-height: 1.5;
}

.modal-content button {
    background-color: #CC8866;
    color: #2E0C1A;
    border: none;
    padding: 12px 40px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 1.1em;
    font-weight: bold;
}

.modal-content button:hover {
    background-color: #FFCBA4;
    color: #2E0C1A;
}

.success-icon {
    font-size: 3em;
    color: #4CAF50;
    margin-bottom: 15px;
}

/* ========== ВСПОМОГАТЕЛЬНЫЕ СТИЛИ ========== */
.header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.toprow {
    display: flex;
    justify-content: center;
    margin-bottom: 0px;
}



/* ========== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ STRANITSY Oтзывов ========== */

/* Уменьшаем отступы между ячейками таблицы формы */
.article_form table td {
    padding: 5px 3px !important;
}

/* Увеличиваем ширину поля выбора пьесы в форме */
.article_form select[name="play_id"] {
    width: 100% !important;
    min-width: 300px;
}

/* Уменьшаем ширину поля имени */
.article_form input[name="author"] {
    width: 80% !important;
}

/* Выравниваем кнопку Отправить по ширине с полем имени */
.article_form button[name="submit_feedback"] {
    width: 45% !important;

}

/* Уменьшаем отступ после формы Оставить отзыв */
.article_form {
    margin-bottom: 15px !important;
}

/* Уменьшаем отступ между фильтром и отзывами */
.filter-form {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

/* Уменьшаем отступ между сортировкой и отзывами */
.sort-container {
    margin-bottom: 10px !important;
}

/* Выравнивание надписи поиска по левому краю поля */
.search-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

.search-label {
    white-space: nowrap;
    min-width: 180px;
    text-align: left;
}

.search-select {
    flex: 1;
}

/* Уменьшаем отступы в форме фильтра */
.filter-form .top-row {
    margin-bottom: 0 !important;
}

.filter-form form {
    margin: 0 !important;
}

/* Дополнительные улучшения для мобильных устройств */
@media only screen and (max-width: 768px) {
    .search-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .search-label {
        white-space: normal;
        min-width: auto;
    }
    
    .article_form select[name="play_id"] {
        min-width: auto;
    }
    
    .article_form input[name="author"],
    .article_form button[name="submit_feedback"] {
        width: 100% !important;
    }
}