*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{

scroll-behavior:smooth;

}

section {
    scroll-margin-top: 110px;
}

:root{

--green:#7E8C72;
--green-dark:#55614C;

--cream:#F8F6F2;

--stone:#ECE8DF;

--text:#242424;

}

body{

background:var(--cream);

font-family:'Lora',serif;

color:var(--text);

}

.hero{

    min-height:100vh;

    padding:220px 9% 80px;

}

nav{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    padding:22px 9%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:rgba(248,246,242,.88);

    backdrop-filter:blur(16px);

    -webkit-backdrop-filter:blur(16px);

    z-index:1000;

    border-bottom:1px solid rgba(126,140,114,.15);

}

.logo{

width:170px;

}

nav ul{

display:flex;

gap:45px;

list-style:none;

}

nav a{

text-decoration:none;

color:var(--text);

font-family:'Montserrat',sans-serif;

font-size:.95rem;

transition:.3s;

}

nav a:hover{

color:var(--green);

}

.hero-content{

display:grid;

grid-template-columns:1.2fr 1fr;

align-items:center;

gap:80px;

}

.small-title{

font-family:'Montserrat';

letter-spacing:4px;

text-transform:uppercase;

color:var(--green);

margin-bottom:15px;

}

h1{

font-family:'Cormorant Garamond',serif;

font-size:4.5rem;

font-weight:500;

margin-bottom:10px;

}

h2{

font-family:'Cormorant Garamond',serif;

font-size:2.1rem;

font-weight:400;

margin-bottom:30px;

line-height:1.2;

}

.hero p{

font-size:1.1rem;

line-height:1.9;

max-width:620px;

}

.buttons{

margin-top:45px;

display:flex;

gap:20px;

}

.buttons a{

padding:15px 34px;

text-decoration:none;

border-radius:40px;

transition:.35s;

font-family:'Montserrat';

}

.buttons a:first-child{

background:var(--green);

color:white;

}

.buttons a:last-child{

border:1px solid var(--green);

color:var(--green);

}

.buttons a:hover{

transform:translateY(-4px);

}

.hero-right{

display:flex;

justify-content:center;

}

.hero-right img{

width:340px;

border-radius:10px;

box-shadow:0 25px 60px rgba(0,0,0,.15);

}

/* ===================================================== */
/*                    AUTORA                             */
/* ===================================================== */

.author{

    padding:120px 9%;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

}

.author-image img{

    width:100%;
    height:100%;
    object-fit:cover;

    border-radius:12px;

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}

.section-title{

    font-family:'Montserrat';

    color:var(--green);

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.author h2{

    margin-bottom:30px;

}

.author p{

    line-height:2;

    font-size:1.1rem;

}

/* ===================================================== */
/*                       OBRAS                           */
/* ===================================================== */

.books{

    padding:120px 9%;

    background:var(--stone);

}

.section-heading{

    text-align:center;

    margin-bottom:80px;

}

.book-card{

    display:grid;

    grid-template-columns:350px 1fr;

    gap:70px;

    align-items:center;

}

.book-cover{

    display:flex;

    justify-content:center;

}

.book-cover img{

    width:280px;

    border-radius:10px;

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}

.book-info h3{

    font-family:'Cormorant Garamond';

    font-size:3rem;

    margin-bottom:15px;

}

.book-meta{

    color:var(--green);

    font-family:'Montserrat';

    margin-bottom:25px;

}

.book-description{

    line-height:2;

    margin-bottom:40px;

}

.book-button{

    display:inline-block;

    padding:15px 40px;

    background:var(--green);

    color:white;

    text-decoration:none;

    border-radius:40px;

    transition:.3s;

}

.book-button:hover{

    background:var(--green-dark);

}

.coming-soon{

    margin-top:120px;

    padding:50px;

    border:1px solid rgba(126,140,114,.25);

    border-radius:12px;

    text-align:center;

}

.coming-soon h3{

    font-family:'Cormorant Garamond';

    font-size:2rem;

    margin-bottom:20px;

}

.book-data{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

margin:40px 0;

}

.book-data span{

    display:block;

    color:var(--green);

    font-family:'Montserrat';

    font-size:.85rem;

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:8px;

}

.book-data p{

    font-size:1rem;

}

.book-intro{

    line-height:2;

    margin-bottom:40px;

}

.book-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.primary-button{

    background:var(--green);

    color:white;

    padding:15px 35px;

    border-radius:40px;

    text-decoration:none;

    transition:.3s;

}

.primary-button:hover{

    background:var(--green-dark);

}

.secondary-button{

    background:transparent;

    color:var(--green);

    border:1px solid var(--green);

    padding:15px 35px;

    border-radius:40px;

    text-decoration:none;

    cursor:pointer;

    transition:.3s;

    font-family:'Montserrat';

    font-size:.95rem;

}

.secondary-button:hover{

    background:var(--green);

    color:white;

}

.synopsis{

    max-height:0;

    overflow:hidden;

    transition:.6s;

    margin-top:30px;

}

.synopsis.open{

    max-height:600px;

}

/* ===================================================== */
/*                       TRAILER                         */
/* ===================================================== */

.trailer {

    padding: 120px 9%;

    background: var(--cream);

}

.trailer-content {

    width: 100%;

    margin: 0 auto;

}

.trailer-video {

    width: 100%;

    max-width: 1000px;

    margin: 0 auto;

    aspect-ratio: 16 / 9;

    border-radius: 12px;

    overflow: hidden;

    box-shadow: 0 25px 60px rgba(0,0,0,.15);

}

.trailer-video iframe {

    width: 100%;

    height: 100%;

    display: block;

    border: 0;

}

/* ===================================================== */
/*                     CONTACTO                          */
/* ===================================================== */

.contact {

    padding: 120px 9%;

    background: var(--stone);

}

.contact-content {

    max-width: 700px;

    margin: 0 auto;

    text-align: center;

}

.contact-content p {

    line-height: 2;

    font-size: 1.1rem;

    margin-bottom: 35px;

}

.paypal-button {

    margin-top: 25px;

    max-width: 220px;

}

/* ===================================================== */
/*                       FOOTER                          */
/* ===================================================== */

.footer {

    background: var(--green-dark);

    color: white;

    padding: 70px 9% 25px;

}

.footer-content {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 50px;

}

.footer-brand {

    display: flex;

    align-items: center;

    gap: 25px;

}

.footer-logo {

    width: 130px;

    filter: brightness(0) invert(1);

}

.footer-brand p {

    font-family: 'Montserrat';

    font-size: .9rem;

}

.footer-links {

    display: flex;

    gap: 30px;

    flex-wrap: wrap;

    justify-content: flex-end;

}

.footer-links a {

    color: white;

    text-decoration: none;

    font-family: 'Montserrat';

    font-size: .8rem;

    transition: .3s;

}

.footer-links a:hover {

    opacity: .7;

}

.footer-bottom {

    margin-top: 50px;

    padding-top: 20px;

    border-top: 1px solid rgba(255,255,255,.2);

    text-align: center;

}

.footer-bottom p {

    font-family: 'Montserrat';

    font-size: .75rem;

    opacity: .7;

}

/* ===================================================== */
/*                  PÁGINAS LEGALES                     */
/* ===================================================== */

.legal-header nav {
    position: relative;
}

.legal-page {
    padding: 150px 9% 100px;
    max-width: 1000px;
    margin: 0 auto;
}

.legal-page .section-heading {
    margin-bottom: 60px;
}

.legal-page h1 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 4rem;
    font-weight: 500;
}

.legal-content {
    max-width: 850px;
    margin: 0 auto;
}

.legal-content h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.8rem;
    margin-top: 45px;
    margin-bottom: 15px;
}

.legal-content p {
    line-height: 2;
    margin-bottom: 20px;
}

.legal-content a {
    color: var(--green-dark);
}

/* ===================================================== */
/*                    RESPONSIVE                         */
/* ===================================================== */

.menu-toggle {
    display: none;
}

@media (max-width: 768px) {

    nav {
        padding: 15px 6%;
    }

    .logo {
        width: 130px;
    }

    .menu-toggle {
        display: block;
        background: none;
        border: none;
        font-size: 1.8rem;
        color: var(--text);
        cursor: pointer;
        z-index: 1001;
    }

    nav ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: var(--cream);
        flex-direction: column;
        gap: 0;
        padding: 15px 0;
        border-bottom: 1px solid rgba(126,140,114,.15);
    }

    nav ul.open {
        display: flex;
    }

    nav ul li {
        width: 100%;
        text-align: center;
    }

    nav ul li a {
        display: block;
        padding: 14px 0;
    }

    nav a {
        font-size: .8rem;
    }

    .hero {
        padding: 190px 7% 70px;
    }

    .hero-content {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }

    .hero-left p {
        margin-left: auto;
        margin-right: auto;
    }

    .buttons {
        justify-content: center;
        flex-wrap: wrap;
    }

    .hero-right img {
        width: min(280px, 80%);
    }

    .author {
        padding: 90px 7%;
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .author-text {
        text-align: center;
    }

    .books {
        padding: 90px 7%;
    }

    .book-card {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .book-cover img {
        width: min(260px, 80%);
    }

    .book-info {
        text-align: center;
    }

    .book-data {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .book-buttons {
        justify-content: center;
    }

    .trailer-video {

    width: 100%;

    max-width: 1000px;

    margin: 0 auto;

    aspect-ratio: 16 / 9;

    border-radius: 12px;

    overflow: hidden;

    box-shadow: 0 25px 60px rgba(0,0,0,.15);

}

.trailer-video iframe {

    width: 100%;

    height: 100%;

    display: block;

    border: 0;

}

.contact {
    padding: 90px 7%;
}

    .coming-soon {
        margin-top: 80px;
        padding: 35px 25px;
    }

    .footer {

    padding: 55px 7% 25px;

}

.footer-content {

    flex-direction: column;

    text-align: center;

}

.footer-brand {

    flex-direction: column;

    gap: 15px;

}

.footer-links {

    justify-content: center;

    gap: 15px 25px;

}

.legal-page {
    padding: 80px 7% 70px;
}

.legal-page h1 {
    font-size: 3rem;
}

.legal-content h3 {
    font-size: 1.6rem;
}

}

