/* KnigiLubvi — светлая книжная тема */
:root {
    --bg: #faf7f2;
    --bg-brighter: #f0ebe3;
    --bg-3: #2c1810;
    --tt: #2c1810;
    --tt-brighter: #1a0f08;
    --tt-fader: #7a6551;
    --tt-fader-gray: #9a8a7a;
    --bdc: rgba(44,24,16,0.13);
    --bdc-lighter: rgba(44,24,16,0.35);
    --gradient: radial-gradient(circle closest-side at center, #e8e0d5 0%, transparent 100%);
    --gradient-top: linear-gradient(to top, #faf7f2 0%, transparent 100%);
    --accent: #c0392b;
    --accent-text: #fff;
    --btn-bg: #c0392b;
    --btn-bg-hover: #a93226;
    --btn-tt: #fff;
    --ui-bg: #fff;
    --ui-bg-darker: #f0ebe3;
    --ui-bg-darkest: #e0d8cc;
    --ui-bg-accent: #c0392b;
    --ui-text-color-on-accent: #fff;
    --ui-bdc: #d5ccc0;
    --secondary-color: #f0ebe3;
    --indent-negative: -120px;
    --indent: 120px;
    --max-width: 1366px;
}
@media screen and (max-width: 1220px) {
    :root { --indent-negative: -20px; --indent: 20px; }
}

* {background: transparent; margin: 0; padding: 0; outline: none; border: 0; box-sizing: border-box;}
ol, ul {list-style: none;}
table {border-collapse: collapse; border-spacing: 0;}
img, table, iframe, video, frame, embed, object {max-width: 100%;}
body {
    font: 16px 'PT Sans', Arial, sans-serif;
    line-height: normal; padding: 0; margin: 0;
    color: var(--tt); background: var(--bg);
    min-height: 100%; width: 100%; font-weight: 400;
    overflow-x: hidden; letter-spacing: 0.01em;
}
a {color: var(--tt); text-decoration: none;}
a:hover, a:focus {color: var(--accent); text-decoration: none;}
h1, h2, h3, h4, h5 {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    font-weight: 700; font-size: 24px;
}
::selection {background: #c0392b; color: #fff;}
b, strong, .bolder {font-weight: 700;}

button, select, textarea, input[type="text"], input[type="password"],
input[type="button"], input[type="submit"]
    {appearance: none; -webkit-appearance: none; font-size: 16px; font-family: inherit;}
button, .btn, input[type="button"], input[type="reset"], input[type="submit"], .form__btn,
.qq-upload-button, .pm__links a, .usp__btn a {
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; text-align: center; padding: 0 22px; height: 42px;
    font-size: 15px; font-weight: 700; white-space: nowrap;
    background-color: var(--btn-bg); color: var(--btn-tt);
    border-radius: 4px; box-shadow: none; letter-spacing: 0.03em;
}
button:hover, .btn:hover, input[type="button"]:hover, input[type="reset"]:hover,
input[type="submit"]:hover, .form__btn:hover, .qq-upload-button:hover,
.pm__links a:hover, .usp__btn a:hover
    {background-color: var(--btn-bg-hover); color: var(--btn-tt);}
button:active, input[type="button"]:active, input[type="submit"]:active
    {box-shadow: inset 0 2px 5px rgba(0,0,0,0.2);}
.color-btn, [class*=fr], [class*=plyr], [class*=owl-], [id*=mceu]
    {padding: 0; margin: 0; line-height: normal; border: 0;
     box-shadow: none; background: none; border-radius: 0;}

input[type="text"], input[type="password"]
    {height: 40px; line-height: 40px; border-radius: 4px; padding: 0 15px;}
select {height: 40px; padding: 0 15px; display: block;}
select:not([multiple]) {
    background-image: url(../dleimages/chevron.svg); padding-right: 30px;
    background-repeat: no-repeat; background-position: right 15px top 50%;
    background-size: .6em auto;
}
select option {padding: 6px 10px;}
select[multiple] {padding: 0 5px;}
textarea {padding: 15px; overflow: auto; vertical-align: top; resize: vertical;}
input[type="text"], input[type="password"], select, textarea {
    width: 100%; background-color: var(--ui-bg); color: var(--tt);
    box-shadow: inset 0 0 0 1px var(--ui-bdc), inset 1px 2px 4px rgba(0,0,0,0.05);
}
input[type="text"]:focus, input[type="password"]:focus, textarea:focus
    {box-shadow: inset 0 0 0 2px var(--accent), inset 1px 2px 4px rgba(0,0,0,0.03);}
input::placeholder, textarea::placeholder
    {color: var(--tt-fader); opacity: 0.5; font-size: 15px;}
input:focus::placeholder, textarea:focus::placeholder {color: transparent;}

.img-box, .img-wide, .img-responsive, .img-fit-cover {overflow: hidden; position: relative;}
.img-responsive {padding-top: 60%;}
.img-responsive--portrait {padding-top: 150%;}
.img-box > img, .img-responsive > img {width: 100%; min-height: 100%; display: block;}
.img-responsive > img {position: absolute; left: 0; top: 0;}
.img-wide img, .img-wide > a {width: 100%; display: block;}
.img-fit-cover img {width: 100%; height: 100%; object-fit: cover;}
.clr {clear: both;}
.clearfix::after {content: ""; display: table; clear: both;}
.ws-nowrap {white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;}
.line-clamp {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.vw100 {margin: 0 calc((100% - 100vw)/2); padding: 0 calc((100vw - 100%)/2);}
.img-mask::before {
    content: ''; position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; height: 60%;
    background: linear-gradient(to top, rgba(44,24,16,0.75) 0%, transparent 100%); opacity: 0.85;
}
.d-flex, .fx-row, #dle-content {display: flex; flex-wrap: wrap; flex-direction: row;}
.fd-column, .fx-col {flex-direction: column; flex-wrap: nowrap;}
.jc-space-between, .fx-row {justify-content: space-between;}
.jc-flex-start, .fx-start, #dle-content {justify-content: flex-start;}
.jc-center, .fx-center {justify-content: center;}
.jc-flex-end {justify-content: flex-end;}
.ai-flex-start {align-items: flex-start;}
.ai-center, .fx-middle {align-items: center;}
.ai-flex-end {align-items: flex-end;}
.order-first {order: -1;}
.order-last {order: 10;}
.flex-grow-1, .fx-1, .stretch-free-width {flex: 1 1 0; max-width: 100%; min-width: 50px;}
.btn-icon, .centered-content {display: inline-flex; justify-content: center; align-items: center;}
.icon-at-left [class*="fa-"], .icon-left .icon {margin-right: 0.5em;}
.icon-at-right [class*="fa-"], .icon-right .icon {margin-left: 0.5em;}
.hidden, #dofullsearch, .form__header .form__btn, .comment-item__main .quote + br, .d-none
    {display: none;}
.anim, button, .btn, a, a img, .btn-accent, .header__btn-search
    {transition: all 0.2s ease;}

#dle-content, .grid-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    grid-gap: 30px 30px;
}
.grid-items > *:not(.grid-item), #dle-content > *:not(.grid-item) {grid-column: 1 / -1;}

/* Шрифты — Google Fonts загружаются в main.tpl */

.header__btn-menu, .header__login-pm, .item-slide__text, .item-poster__meta,
.filter-block__cell-caption, .pmovie__list, .pmovie__text,
.pmovie__list a:not(:hover), .pmovie__devices, .pmovie__caption, .site-desc
    {color: var(--tt-fader);}
.logo {color: var(--accent); font-family: 'Playfair Display', Georgia, serif;}
.logo span {color: var(--tt);}
.logo, .item-slide__title, .pmovie__header-main h1
    {font-family: 'Playfair Display', Georgia, serif; font-weight: 700;}
.site-desc, .item-slide__text, .pmovie__text, .pmovie__caption
    {color: var(--tt-fader-gray);}

.item-slide__img:hover .item__play-btn {opacity: 0 !important;}
.item:hover .item__play-btn, .item:hover .item-poster__desc-btn {opacity: 1;}
.item-poster__desc-btn:hover
    {color: var(--accent); border-color: var(--accent); transform: scale(1.3, 1.3);}

/* Переключатель тем — скрываем */
.theme-toggle {display: none !important;}

/* Карточки книг — тёплая тень */
.item-poster__img {
    box-shadow: 3px 4px 12px rgba(44,24,16,0.18), 1px 2px 4px rgba(44,24,16,0.10);
    border-radius: 4px;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.item-poster:hover .item-poster__img {
    box-shadow: 6px 8px 24px rgba(44,24,16,0.28), 2px 3px 8px rgba(44,24,16,0.14);
    transform: translateY(-3px);
}
