/* =====================================================
   RESPONSIVE.CSS
   All responsive breakpoints for the site.
   This file must be linked LAST in <head>.
===================================================== */


/* =====================================================
   GLOBAL RESPONSIVE FIXES
===================================================== */

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

img,
video {
    max-width: 100%;
}


/* =====================================================
   NAVBAR — TABLET & MOBILE (≤900px)
===================================================== */

@media (max-width: 900px) {

    .navbar {
        width: 100%;
        min-height: auto;
        padding: 15px 0;
    }

    .navbar .container {
        width: 100%;
        max-width: 100%;

        display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 15px;
        padding: 12px 20px;
    }

    .logo {
        display: block;
        text-align: center;
    }

    .logo-text {
        font-size: 1.8rem;
        white-space: nowrap;
    }

    .nav-links {
        position: static;

        width: 100%;
        height: auto;

        display: flex;
        flex-direction: row;

        align-items: center;
        justify-content: center;

        flex-wrap: wrap;

        gap: 10px 25px;

        margin: 0;
        padding: 0;

        background: transparent;
        box-shadow: none;

        transform: none;
        transition: none;
    }

    .nav-links.open {
        transform: none;
    }

    .nav-links li {
        display: block;
        margin: 0;
        padding: 0;
    }

    .nav-links a {
        display: block;

        font-size: 1rem;
        padding: 7px 4px;

        white-space: nowrap;
    }

    .nav-toggle {
        display: none;
    }
}


/* =====================================================
   NAVBAR — SMALL PHONES (≤600px)
===================================================== */

@media (max-width: 600px) {

    .navbar .container {
        padding: 12px 15px;
        gap: 12px;
    }

    .logo-text {
        font-size: 1.55rem;
        letter-spacing: 1.5px;
    }

    .nav-links {
        width: 100%;
        gap: 6px 17px;
    }

    .nav-links a {
        font-size: 0.9rem;
        padding: 6px 2px;
    }
}


/* =====================================================
   NAVBAR — VERY SMALL PHONES (≤400px)
===================================================== */

@media (max-width: 400px) {

    .navbar .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .logo-text {
        font-size: 1.35rem;
    }

    .nav-links {
        gap: 5px 13px;
    }

    .nav-links a {
        font-size: 0.82rem;
    }
}


/* =====================================================
   BOOK CAROUSEL
   RESTORED ORIGINAL STYLING
===================================================== */

/*
   IMPORTANT:
   Do NOT change .slide, .book-image, .book-content,
   h1, h2, description, or buttons here.

   Those styles belong to Home.css and are allowed to
   control the original desktop book layout.
*/


/* =====================================================
   BOOK CAROUSEL — MOBILE ONLY
   Minimal responsive changes
===================================================== */

@media (max-width: 900px) {

    /*
       Only stack the book image and content on smaller
       screens. The original desktop styling remains intact.
    */

    .slide.active {
        flex-direction: column;
    }

    .book-image img {
        width: 260px;
        max-width: 80%;
        height: auto;
    }

    .buttons {
        justify-content: center;
    }
}


@media (max-width: 768px) {

    .slide.active {
        flex-direction: column;
    }

    .book-image img {
        width: 240px;
        max-width: 75%;
    }

    .buttons {
        justify-content: center;
    }
}


/* =====================================================
   BOOK CAROUSEL — SMALL PHONES
===================================================== */

@media (max-width: 480px) {

    .slide {
        padding: 60px 5% 40px;
    }

    .book-image img {
        width: 200px;
        max-width: 70%;
    }

    .book-content h1 {
        font-size: clamp(2rem, 9vw, 2.6rem);
        margin: 12px 0;
    }

    .book-content h2 {
        font-size: 1.3rem;
    }

    .book-content .description {
        font-size: 1rem;
        line-height: 1.8;

        text-indent: 0;

        margin-bottom: 28px;
    }

    .buttons {
        flex-direction: column;
        gap: 14px;

        width: 100%;

        justify-content: center;
        align-items: center;
    }

    .btn {
        text-align: center;

        padding: 14px 20px;

        width: 100%;
        max-width: 300px;
    }

    .prev,
    .next {
        width: 42px;
        height: 42px;

        font-size: 18px;
    }

    .prev {
        left: 10px;
    }

    .next {
        right: 10px;
    }
}


/* =====================================================
   AUTHOR SECTION — MOBILE (≤768px)
===================================================== */

@media (max-width: 768px) {

    .author-container {
        width: 100%;

        display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center;

        text-align: center;

        gap: 25px;
    }

    .author-image {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .author-image img {
        width: 140px;
        height: 140px;
        object-fit: cover;
    }

    .author-content {
        width: 100%;
        max-width: 650px;

        text-align: center;
    }

    .author-content h2 {
        font-size: 2rem;
    }

    .author-content span {
        font-size: 14px;
    }
}


/* =====================================================
   BOOK TRAILER SECTION — MOBILE
===================================================== */

@media (max-width: 768px) {

    .book-trailer-section {
        width: 100%;

        display: flex;
        align-items: center;
        justify-content: center;

        padding: 50px 15px;
    }

    .trailer-container {
        width: 100%;
        max-width: 100%;

        display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center;

        text-align: center;
    }

    .trailer-heading {
        width: 100%;
        max-width: 650px;

        margin-left: auto;
        margin-right: auto;

        text-align: center;
    }

    .trailer-heading h2 {
        font-size: 2.2rem;
    }

    .trailer-heading span {
        display: block;
        line-height: 1.6;
    }

    .trailer-video-wrapper {
        width: 100%;
        max-width: 900px;

        margin-left: auto;
        margin-right: auto;
    }

    .trailer-video {
        display: block;

        width: 100%;
        height: auto;

        margin: 0 auto;

        border-radius: 12px;
    }
}


/* =====================================================
   FOOTER — MOBILE
===================================================== */

@media (max-width: 768px) {

    .site-footer {
        width: 100%;
        padding: 60px 0 20px;
    }

    .footer-container {
        width: 100%;

        display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center;

        text-align: center;

        gap: 45px;

        padding: 0 25px;
    }

    .footer-brand,
    .footer-navigation,
    .footer-contact {
        width: 100%;
        max-width: 500px;

        text-align: center;

        margin-left: 0;
        left: 0;
    }

    .footer-brand p {
        max-width: 100%;

        margin-left: auto;
        margin-right: auto;
    }

    .footer-navigation {
        margin-left: 0;
    }

    .footer-navigation h3 {
        margin-left: 0;
    }

    .footer-contact {
        left: 0;
    }

    .footer-contact p {
        justify-content: center;
    }

    .footer-bottom {
        width: 100%;

        display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center;

        text-align: center;

        padding: 20px 25px 0;
    }
}


/* =====================================================
   FOOTER — SMALL PHONES (≤480px)
===================================================== */

@media (max-width: 480px) {

    .site-footer {
        padding: 45px 0 20px;
    }

    .footer-brand h2,
    .footer-navigation h3,
    .footer-contact h3 {
        font-size: 1.4rem;
    }

    .footer-navigation a,
    .footer-contact p {
        font-size: 1.05rem;
    }

    .footer-bottom p,
    .footer-bottom span {
        font-size: 1rem;

        text-align: center;
    }
}

 /* =====================================================
   BOOK CAROUSEL — CENTER IMAGE, DESCRIPTION & BUTTONS
===================================================== */

@media (max-width: 900px) {

    /* Center the entire book slide */
    .book-carousel .slide.active {
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    /* Make book image slightly bigger */
    .book-carousel .book-image {
        width: 100%;

        display: flex;
        align-items: center;
        justify-content: center;

        text-align: center;
        margin: 0 auto;

        /* Cancels the desktop-only translateX(50px) "cinematic"
           offset set in Home.css, which was pushing the book
           image off-center on smaller screens */
        transform: none;
    }

    .book-carousel .book-image img {
        display: block;

        width: 300px;
        max-width: 85%;

        height: auto;

        margin: 0 auto;
    }

    /* Center book content */
    .book-carousel .book-content {
        width: 100%;
        max-width: 650px;

        display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center;

        text-align: center;

        margin: 0 auto;

        /* Cancels the desktop-only translateX(-50px) "cinematic"
           offset set in Home.css, which was pushing the
           description and Amazon button off-center */
        transform: none;
    }

    /* Center description */
    .book-carousel .book-content .description {
        width: 100%;
        max-width: 600px;

        margin-left: auto;
        margin-right: auto;

        text-align: center;
    }

    /* Center buttons */
    .book-carousel .buttons {
        width: 100%;

        display: flex;
        align-items: center;
        justify-content: center;

        flex-wrap: wrap;

        margin-left: auto;
        margin-right: auto;
    }

    .book-carousel .buttons .btn {
        display: inline-flex;

        align-items: center;
        justify-content: center;

        text-align: center;
    }
}


/* =====================================================
   BOOK CAROUSEL — TABLET
===================================================== */

@media (min-width: 601px) and (max-width: 900px) {

    .book-carousel .book-image img {
        width: 300px;
        max-width: 80%;
    }

    .book-carousel .book-content .description {
        max-width: 600px;
    }

    .book-carousel .buttons {
        gap: 15px;
    }
}


/* =====================================================
   BOOK CAROUSEL — MOBILE
===================================================== */

@media (max-width: 600px) {

    .book-carousel .book-image img {
        width: 270px;
        max-width: 78%;
    }

    .book-carousel .book-content {
        max-width: 550px;
    }

    .book-carousel .book-content .description {
        width: 100%;
        max-width: 500px;

        text-align: center;

        margin-left: auto;
        margin-right: auto;

        text-indent: 0;
    }

    .book-carousel .buttons {
        width: 100%;

        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 14px;
    }

    .book-carousel .buttons .btn {
        width: 100%;
        max-width: 300px;

        margin-left: auto;
        margin-right: auto;
    }
}


/* =====================================================
   BOOK CAROUSEL — VERY SMALL PHONES
===================================================== */

@media (max-width: 400px) {

    .book-carousel .book-image img {
        width: 245px;
        max-width: 75%;
    }

    .book-carousel .book-content .description {
        max-width: 350px;
        font-size: 1rem;
        line-height: 1.7;
    }

    .book-carousel .buttons .btn {
        max-width: 280px;
    }
}