/*==========================================================

        ÑÀÉÒ ÏÈÑÀÒÅËß ÀËÅÊÑÅß ÊÓÐÑÈÂÍÎÃÎ
        Âåðñèÿ 2.0

==========================================================*/


/*==========================================================

                    ÑÁÐÎÑ

==========================================================*/

*{

margin:0;

padding:0;

box-sizing:border-box;

}


html{

scroll-behavior:smooth;

}


body{

background:#F7F3EB;

color:#2C2A28;

font-family:Georgia,serif;

font-size:18px;

line-height:1.8;

}



/*==========================================================

                ÎÁÙÈÅ ÍÀÑÒÐÎÉÊÈ

==========================================================*/

section{

padding:90px 8%;

}


h1,h2,h3{

font-weight:normal;

}


a{

text-decoration:none;

transition:.35s;

}


img{

max-width:100%;

display:block;

}



/*==========================================================

                    ØÀÏÊÀ

==========================================================*/

header{

position:sticky;

top:0;

z-index:999;

display:flex;

justify-content:space-between;

align-items:center;

padding:22px 8%;

background:rgba(247,243,235,.96);

backdrop-filter:blur(8px);

border-bottom:1px solid #E2D5C3;

}



/*==========================================================

                    ËÎÃÎÒÈÏ

==========================================================*/

.logo h1{

font-size:44px;

color:#5A1F27;

letter-spacing:2px;

line-height:1.05;

}


.logo span{

font-style:italic;

display:block;

color:#8A6A36;

margin-top:4px;

}


.logo p{

margin-top:12px;

font-size:15px;

color:#8B8072;

letter-spacing:1px;

}



/*==========================================================

                    ÌÅÍÞ

==========================================================*/

nav{

display:flex;

gap:28px;

}


nav a{

color:#5A1F27;

font-size:17px;

}


nav a:hover{

color:#C09035;

}



/*==========================================================

                ÏÅÐÂÛÉ ÝÊÐÀÍ

==========================================================*/

#title{

display:flex;

justify-content:center;

align-items:center;

min-height:85vh;

text-align:center;

}



.title-box{

max-width:900px;

}



.pen{

font-size:54px;

margin-bottom:35px;

}



.title-box h2{

font-size:40px;

color:#5A1F27;

line-height:1.5;

margin-bottom:60px;

}



/*==========================================================

                    ÊÍÎÏÊÈ

==========================================================*/

.hero-buttons{

display:flex;

justify-content:center;

gap:25px;

flex-wrap:wrap;

}



.gold-button{

background:#C09035;

color:white;

padding:18px 34px;

border-radius:50px;

font-size:18px;

box-shadow:0 10px 25px rgba(0,0,0,.12);

}


.gold-button:hover{

transform:translateY(-4px);

background:#B28126;

}



.dark-button{

background:#5A1F27;

color:white;

padding:18px 34px;

border-radius:50px;

font-size:18px;

box-shadow:0 10px 25px rgba(0,0,0,.12);

}


.dark-button:hover{

transform:translateY(-4px);

background:#42171D;

}

/*==========================================================

              ÑÒÐÀÍÈÖÀ "ÁÓÄÓ ÊÐÀÒÎÊ"

==========================================================*/

#fragment{

background:#FDFBF6;

}


.page{

max-width:900px;

margin:auto;

background:white;

padding:70px;

border-radius:18px;

box-shadow:0 15px 45px rgba(0,0,0,.08);

}


.page h2{

text-align:center;

font-size:42px;

color:#5A1F27;

margin-bottom:45px;

}


.poem{

font-size:24px;

line-height:2;

text-align:center;

margin-bottom:50px;

white-space:pre-line;

}


.continue{

text-align:center;

font-style:italic;

font-size:22px;

color:#8B8072;

margin-bottom:45px;

}



/*==========================================================

                    ÊÍÈÆÍÀß ÏÎËÊÀ

==========================================================*/

#library{

background:#F7F3EB;

}


#library h2{

text-align:center;

font-size:42px;

color:#5A1F27;

margin-bottom:25px;

}


.library-intro{

max-width:820px;

margin:auto;

text-align:center;

margin-bottom:60px;

font-size:21px;

}


.library-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

gap:35px;

}


.library-card{

background:white;

padding:35px;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.35s;

text-align:center;

}


.library-card:hover{

transform:translateY(-10px);

}


.card-icon{

font-size:48px;

margin-bottom:20px;

}


.library-card h3{

font-size:28px;

color:#5A1F27;

margin-bottom:20px;

}


.library-card p{

margin-bottom:25px;

}


.library-card a{

color:#B28126;

font-weight:bold;

}

/*==========================================================
            ÏÈÑÀÒÅËÜÑÊÈÉ ÏÐÈÍÖÈÏ
==========================================================*/

#principle{
    background:#FDFBF6;
}

.principle-box{
    max-width:850px;
    margin:auto;
    padding:75px 8%;
    text-align:center;
    border-top:1px solid #D8BE87;
    border-bottom:1px solid #D8BE87;
}

.principle-box h2{
    font-size:42px;
    color:#5A1F27;
    margin-bottom:45px;
}

.principle-main{
    font-size:28px;
    line-height:1.7;
    font-style:italic;
    color:#5A1F27;
    margin-bottom:35px;
}

.principle-box p:not(.principle-main){
    max-width:700px;
    margin:20px auto;
    font-size:20px;
}


/*==========================================================
            ÏÐÎÄÎËÆÈÒÜ ÇÍÀÊÎÌÑÒÂÎ
==========================================================*/

#contacts{
    text-align:center;
    background:#F7F3EB;
}

#contacts h2{
    font-size:42px;
    color:#5A1F27;
    margin-bottom:25px;
}

#contacts > p{
    max-width:700px;
    margin:0 auto 45px;
    font-size:21px;
}

.contact-buttons{
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}

.contact-buttons a{
    display:inline-block;
    min-width:140px;
    padding:14px 25px;
    border:1px solid #C09035;
    border-radius:40px;
    color:#5A1F27;
    background:#FFFDF9;
}

.contact-buttons a:hover{
    background:#C09035;
    color:white;
    transform:translateY(-3px);
}


/*==========================================================
                        ÏÎÄÂÀË
==========================================================*/

footer{
    padding:60px 8%;
    text-align:center;
    background:#5A1F27;
    color:#F7F3EB;
}

footer p{
    margin:8px 0;
    font-size:18px;
}

footer .copyright{
    margin-top:30px;
    font-size:15px;
    color:#D8BE87;
}


/*==========================================================
                    ÊÍÎÏÊÀ "ÍÀÂÅÐÕ"
==========================================================*/

#toTop{
    position:fixed;
    right:25px;
    bottom:25px;
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:#C09035;
    color:white;
    font-size:24px;
    cursor:pointer;
    box-shadow:0 8px 25px rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:.35s;
    z-index:1000;
}

#toTop.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

#toTop:hover{
    background:#5A1F27;
    transform:translateY(-4px);
}


/*==========================================================
                    ÀÄÀÏÒÀÖÈß
                    ÒÅËÅÔÎÍ
==========================================================*/

@media (max-width:900px){

    header{
        flex-direction:column;
        gap:20px;
        text-align:center;
    }

    nav{
        justify-content:center;
        flex-wrap:wrap;
        gap:14px 20px;
    }

    .logo h1{
        font-size:36px;
    }

    .title-box h2{
        font-size:32px;
    }

    section{
        padding:70px 6%;
    }

}


/*==========================================================
                    ÌÀËÅÍÜÊÈÉ ÝÊÐÀÍ
==========================================================*/

@media (max-width:600px){

    body{
        font-size:16px;
    }

    header{
        padding:18px 5%;
    }

    .logo h1{
        font-size:30px;
    }

    .logo p{
        font-size:13px;
    }

    nav{
        gap:9px 14px;
    }

    nav a{
        font-size:14px;
    }

    #title{
        min-height:75vh;
    }

    .pen{
        font-size:44px;
        margin-bottom:25px;
    }

    .title-box h2{
        font-size:26px;
        margin-bottom:40px;
    }

    .gold-button,
    .dark-button{
        width:100%;
        max-width:320px;
        padding:15px 20px;
    }

    .page{
        padding:40px 22px;
    }

    .page h2,
    #library h2,
    .principle-box h2,
    #contacts h2{
        font-size:32px;
    }

    .poem{
        font-size:20px;
    }

    .library-grid{
        grid-template-columns:1fr;
    }

    .principle-box{
        padding:50px 20px;
    }

    .principle-main{
        font-size:23px;
    }

    .contact-buttons{
        flex-direction:column;
        align-items:center;
    }

    .contact-buttons a{
        width:220px;
    }

}

/* ==========================================================
   ÊÍÈÃÀ «ÕÓËÈÃÀÍÊÈ»
   ========================================================== */

.book-hero {
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 8%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 70px;
}

.book-cover {
    flex: 0 0 300px;
    text-align: center;
}

.book-cover img {
    width: 300px;
    max-height: 430px;
    object-fit: contain;
    margin: 0 auto;
    border-radius: 5px;
    box-shadow: 0 15px 35px rgba(0,0,0,.18);
}

.book-intro {
    max-width: 500px;
}

.book-label {
    color: #8A6A36;
    font-size: 14px;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.book-intro h2 {
    color: #5A1F27;
    font-size: 52px;
    line-height: 1.1;
    margin-bottom: 20px;
}

.book-subtitle {
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 25px;
}

.book-author {
    color: #8B8072;
    font-size: 20px;
    margin-bottom: 35px;
}


/* ==========================================================
   ÑÒÐÀÍÈÖÀ ÊÍÈÃÈ
   ========================================================== */

.book-description,
.book-fragments,
.book-thought {
    background: #FDFBF6;
}

.book-page {
    max-width: 850px;
    margin: 0 auto;
    padding: 60px 8%;
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.book-page h2 {
    text-align: center;
    color: #5A1F27;
    font-size: 40px;
    margin-bottom: 35px;
}

.book-page p {
    margin-bottom: 25px;
}

.book-epigraph {
    margin: 45px 0 10px;
    padding-top: 30px;
    border-top: 1px solid #D8BE87;
    text-align: center;
    color: #5A1F27;
    font-size: 28px;
    font-style: italic;
}

.fragment {
    margin: 45px 0;
    padding: 35px;
    background: #F7F3EB;
    border-radius: 10px;
}

.fragment h3 {
    color: #5A1F27;
    font-size: 25px;
    margin-bottom: 25px;
}

.poem-text {
    white-space: pre-line;
    font-size: 20px;
    line-height: 1.9;
}

.fragment-note {
    text-align: center;
    margin-bottom: 45px;
}

.thought-final {
    color: #5A1F27;
    font-style: italic;
    font-size: 22px;
}

.book-buy {
    padding: 80px 8%;
    text-align: center;
    background: #F7F3EB;
}

.buy-box {
    max-width: 700px;
    margin: 0 auto;
}

.buy-box h2 {
    color: #5A1F27;
    font-size: 42px;
    margin-bottom: 20px;
}

.buy-format {
    color: #8A6A36;
    font-size: 20px;
}

.price {
    margin: 30px 0;
    color: #5A1F27;
    font-size: 28px;
}

.buy-note {
    max-width: 500px;
    margin: 25px auto 0;
    font-size: 15px;
    color: #8B8072;
}

.book-contact {
    padding: 70px 8%;
    text-align: center;
    background: #FDFBF6;
}

.book-contact h2 {
    color: #5A1F27;
    font-size: 38px;
    margin-bottom: 20px;
}


/* ==========================================================
   ÒÅËÅÔÎÍ
   ========================================================== */

@media (max-width: 700px) {

    .book-hero {
        flex-direction: column;
        gap: 40px;
        padding: 60px 6%;
        text-align: center;
    }

    .book-cover {
        flex-basis: auto;
    }

    .book-cover img {
        width: 240px;
        max-height: 350px;
    }

    .book-intro h2 {
        font-size: 40px;
    }

    .book-subtitle {
        font-size: 20px;
    }

    .book-page {
        padding: 40px 25px;
    }

    .book-page h2 {
        font-size: 32px;
    }

    .fragment {
        padding: 25px 20px;
    }

}

.book-cover img {
    width: 300px !important;
    height: auto !important;
    max-width: 300px !important;
    max-height: 430px !important;
    object-fit: contain !important;
}

.welcome-quote {
    width: min(820px, 86%);
    margin: 55px auto 45px;
    padding: 8px 0 8px 34px;
    border-left: 4px solid #b08a4c;
    text-align: left;
}

.welcome-quote blockquote {
    margin: 0;
    color: #5a1f27;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1.5;
    font-style: italic;
    font-weight: normal;
}

.quote-author {
    margin: 18px 0 0;
    color: #8a7763;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    letter-spacing: 0.5px;
}

.featured-huliganka {
    max-width: 900px;
    margin: 45px auto 70px;
    padding: 45px 30px 55px;
    text-align: center;
}

.featured-huliganka h2 {
    margin: 0 0 28px;
    color: #6b2929;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: normal;
    letter-spacing: 1px;
}

.featured-poem {
    color: #37312d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.65;
}

.featured-source {
    margin: 32px 0 18px;
    color: #8a7763;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-style: italic;
}

.featured-link {
    display: inline-block;
    color: #6b2929;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    text-decoration: none;
    border-bottom: 1px solid #b08a4c;
    padding-bottom: 3px;
}

.featured-link:hover {
    color: #9a6b2f;
}


/* Êàðòî÷êà ðîìàíà íà ñòðàíèöå "Ïðîçà" */

.proza-book {
    max-width: 900px;
    margin: 36px auto 60px;
    padding: 36px;
    display: flex;
    align-items: center;
    gap: 46px;
    background: #efe1c3;
    border-radius: 14px;
    box-sizing: border-box;
}

.proza-cover {
    flex: 0 0 270px;
}

.proza-cover img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

.proza-info {
    flex: 1;
    text-align: left;
}

.proza-info h2 {
    margin: 8px 0 22px;
    color: #6b2228;
    font-size: 32px;
    font-weight: normal;
}

.proza-info p {
    font-size: 18px;
    line-height: 1.6;
}

.proza-genre {
    margin: 0;
    color: #996b2b;
    letter-spacing: 2px;
    font-size: 14px !important;
}

.proza-info .h-button {
    display: inline-block;
    margin-top: 14px;
}

@media (max-width: 700px) {
    .proza-book {
        flex-direction: column;
        padding: 25px;
    }

    .proza-cover {
        flex: none;
        width: 240px;
        max-width: 100%;
    }

    .proza-info {
        text-align: center;
    }
}

/* Ñòðàíèöà ÷òåíèÿ ðîìàíà */

.novel-reader {
    max-width: 860px;
    margin: 36px auto 60px;
    padding: 55px 70px 70px;
    background: #fffaf0;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.novel-heading {
    text-align: center;
    margin-bottom: 42px;
}

.novel-genre {
    color: #996b2b;
    letter-spacing: 2px;
    font-size: 14px;
}

.novel-heading h1 {
    margin: 12px 0;
    color: #6b2228;
    font-size: 38px;
    font-weight: normal;
}

.novel-author {
    color: #776b5e;
    font-size: 18px;
}

.novel-divider {
    margin: 25px 0;
    color: #b98a42;
    font-size: 22px;
}

.novel-heading h2 {
    color: #6b2228;
    font-size: 28px;
    font-weight: normal;
}

.novel-text {
    max-width: 700px;
    margin: 0 auto;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    line-height: 1.8;
    color: #342e29;
}

.novel-text p {
    margin: 0 0 1.15em;
    text-indent: 1.8em;
}

@media (max-width: 700px) {
    .novel-reader {
        margin: 20px 12px 40px;
        padding: 35px 22px 45px;
    }

    .novel-heading h1 {
        font-size: 30px;
    }

    .novel-text {
        font-size: 18px;
    }
}

.chapter-subtitle {
    text-align: center;
    text-indent: 0 !important;
    margin: -18px 0 38px !important;
    color: #776b5e;
    font-size: 20px;
    font-style: italic;
}

.translation-note {
    margin: 18px 0 30px;
    padding: 14px 20px;
    background: #f3ead8;
    border-left: 3px solid #b98a42;
    font-size: 16px;
    line-height: 1.55;
    color: #5f5549;
}

.translation-note p {
    margin: 5px 0;
    text-indent: 0;
}

.translation-label {
    margin-bottom: 8px;
    color: #8a5e25;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.foreign-text {
    font-style: italic;
}

.chapter-block {
    margin-top: 55px;
}

.chapter-heading {
    margin-top: 35px;
}

/* Àâòîðñêîå ÷òåíèå */

.audio-showcase {
    max-width: 920px;
    margin: 38px auto 60px;
    padding: 45px 55px;
    background: #f1e3c5;
    border-radius: 14px;
    box-sizing: border-box;
}

.audio-intro {
    text-align: center;
    margin-bottom: 35px;
}

.audio-intro h2 {
    margin: 8px 0 15px;
    color: #6b2228;
    font-size: 32px;
    font-weight: normal;
}

.audio-intro p {
    font-size: 18px;
    line-height: 1.6;
}

.audio-list {
    max-width: 720px;
    margin: 0 auto;
}

.audio-item {
    margin: 18px 0;
    padding: 18px 22px;
    background: #fffaf0;
    border-radius: 10px;
}

.audio-info {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.audio-number {
    color: #a47732;
    font-size: 14px;
}

.audio-info h3 {
    margin: 0;
    color: #6b2228;
    font-size: 20px;
    font-weight: normal;
}

.audio-item audio {
    width: 100%;
}

.audio-note {
    margin: 32px auto 0;
    text-align: center;
    font-style: italic;
    color: #776b5e;
    font-size: 17px;
    line-height: 1.6;
}

.audio-more {
    margin-top: 28px;
    text-align: center;
}

/* Ãàëåðåÿ */

.gallery-showcase {
    max-width: 1120px;
    margin: 38px auto 60px;
    padding: 45px;
    background: #f1e3c5;
    border-radius: 14px;
    box-sizing: border-box;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.gallery-item {
    margin: 0;
    padding: 12px 12px 16px;
    background: #fffaf0;
    border-radius: 10px;
    box-sizing: border-box;
    transition: transform 0.2s ease;
}

.gallery-item:hover {
    transform: translateY(-4px);
}

.gallery-item img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: contain;
    border-radius: 7px;
    background: #f8f1e4;
}

.gallery-item figcaption {
    margin-top: 13px;
    text-align: center;
    color: #6b2228;
    font-size: 18px;
}

.gallery-afterword {
    margin: 38px 0 0;
    text-align: center;
    color: #776b5e;
    font-size: 18px;
    font-style: italic;
}

@media (max-width: 800px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .gallery-grid {
        grid-template-columns: 1fr;
    }
}

/* Îá àâòîðå */

.about-text {
    max-width: 900px;
    margin: 38px auto 60px;
    padding: 45px 60px;
    background: #f1e3c5;
    border-radius: 14px;
    box-sizing: border-box;
}

.about-text h2 {
    margin: 0 0 30px;
    text-align: center;
    color: #6b2228;
    font-size: 32px;
    font-weight: normal;
}

.about-text p {
    margin: 0 0 22px;
    font-size: 19px;
    line-height: 1.75;
    color: #443b34;
}

.about-text .about-signature {
    margin-top: 35px;
    margin-bottom: 0;
    text-align: right;
    color: #6b2228;
    font-style: italic;
    font-size: 20px;
}

/* Êîíòàêòû */

.contacts-page {
    max-width: 900px;
    margin: 38px auto 60px;
    padding: 45px 60px;
    background: #f1e3c5;
    border-radius: 14px;
    box-sizing: border-box;
    text-align: center;
}

.contacts-page h2 {
    margin: 0 0 18px;
    color: #6b2228;
    font-size: 32px;
    font-weight: normal;
}

.contacts-intro {
    margin: 0 auto 35px;
    max-width: 650px;
    font-size: 19px;
    line-height: 1.65;
    color: #443b34;
}

.contacts-buttons {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}

.contact-card {
    display: flex;
    flex-direction: column;
    min-width: 230px;
    padding: 18px 28px;
    border: 1px solid #c99436;
    border-radius: 12px;
    background: #fffaf0;
    color: #6b2228;
    text-decoration: none;
    box-sizing: border-box;
}

.contact-card span {
    margin-bottom: 6px;
    font-size: 21px;
}

.contact-card small {
    color: #776b5e;
    font-size: 15px;
}

.contact-card:hover {
    background: #f5e7ca;
}

.contacts-afterword {
    margin: 35px 0 0;
    color: #776b5e;
    font-size: 17px;
    font-style: italic;
}

@media (max-width: 600px) {
    .contacts-page {
        padding: 35px 22px;
    }

    .contact-card {
        width: 100%;
    }
}
