/* 
* Kopchyonaya-morkovka - Polska - Przewodnik turystyczny
* Responsive Stylesheet
* Copyright 2025 Kopchyonaya-morkovka
*/

/*--------------------------------------------------------------
# MEDIA QUERIES
--------------------------------------------------------------*/

/* Extra large devices (large desktops, 1200px and up) */
@media (max-width: 1400px) {
    .container {
        max-width: 1140px;
    }
    
    .banner__title {
        font-size: 2.5rem;
    }
    
    .banner__subtitle {
        font-size: 1.25rem;
    }
}

/* Large devices (desktops, 992px and up) */
@media (max-width: 1199.98px) {
    .container {
        max-width: 960px;
    }
    
    .section {
        padding: 4rem 0;
    }
    
    .banner {
        height: 70vh;
        min-height: 500px;
    }
    
    h1 {
        font-size: 2.25rem;
    }
    
    h2 {
        font-size: 1.875rem;
    }
    
    h3 {
        font-size: 1.5rem;
    }
    
    .about__content {
        gap: 3rem;
    }
    
    .landmark-card__image {
        height: 200px;
    }
    
    .blog-card__image {
        height: 180px;
    }
    
    .newsletter__inner {
        gap: 2rem;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (max-width: 991.98px) {
    .container {
        max-width: 720px;
    }
    
    .nav {
        position: fixed;
        top: 80px;
        left: 0;
        width: 100%;
        height: 0;
        background-color: var(--color-white);
        box-shadow: var(--shadow-md);
        overflow: hidden;
        transition: height var(--transition-normal);
        z-index: 99;
    }
    
    .nav.active {
        height: auto;
    }
    
    .nav__list {
        flex-direction: column;
        align-items: flex-start;
        padding: 1.5rem;
    }
    
    .nav__item {
        margin: 0;
        width: 100%;
        border-bottom: 1px solid var(--color-gray-200);
    }
    
    .nav__link {
        display: block;
        padding: 1rem 0;
    }
    
    .burger {
        display: block;
    }
    
    .burger.active .burger__line:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }
    
    .burger.active .burger__line:nth-child(2) {
        opacity: 0;
    }
    
    .burger.active .burger__line:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }
    
    .banner {
        height: 60vh;
        min-height: 450px;
    }
    
    .banner__title {
        font-size: 2.25rem;
    }
    
    .banner__subtitle {
        font-size: 1.125rem;
        margin-bottom: 1.5rem;
    }
    
    .about__content {
        flex-direction: column;
        gap: 2rem;
    }
    
    .about__text, .about__image {
        flex: none;
        width: 100%;
    }
    
    .about__image {
        order: -1;
    }
    
    .landmarks__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .blog__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .newsletter__inner {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .newsletter__form {
        width: 100%;
    }
    
    .footer__top {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .landmark {
        flex-direction: column;
    }
    
    .contact-section__inner {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    .cookie-consent__container {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .cookie-consent__actions {
        width: 100%;
        justify-content: center;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (max-width: 767.98px) {
    .container {
        max-width: 540px;
    }
    
    .section {
        padding: 3rem 0;
    }
    
    .banner {
        height: 50vh;
        min-height: 400px;
        margin-top: 60px;
    }
    
    .banner__content {
        max-width: 100%;
        text-align: center;
    }
    
    .landmarks__grid {
        grid-template-columns: 1fr;
    }
    
    .blog__grid {
        grid-template-columns: 1fr;
    }
    
    .testimonials__grid {
        grid-template-columns: 1fr;
    }
    
    .footer__top {
        grid-template-columns: 1fr;
    }
    
    .footer__col:not(:last-child) {
        margin-bottom: 2rem;
    }
    
    .article__title {
        font-size: 2rem;
    }
    
    .article__footer {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .related-posts__grid {
        grid-template-columns: 1fr;
    }
    
    .newsletter__form {
        flex-direction: column;
    }
    
    .newsletter__form .btn {
        width: 100%;
    }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .container {
        max-width: 100%;
        padding: 0 1.25rem;
    }
    
    h1 {
        font-size: 1.875rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    h3 {
        font-size: 1.25rem;
    }
    
    .section__subtitle {
        font-size: 1rem;
    }
    
    .header {
        padding: 0.75rem 0;
    }
    
    .logo img {
        max-width: 150px;
    }
    
    .banner {
        height: 60vh;
        min-height: 350px;
        margin-top: 60px;
    }
    
    .banner__title {
        font-size: 1.75rem;
    }
    
    .banner__subtitle {
        font-size: 1rem;
    }
    
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
    
    .newsletter {
        padding: 2.5rem 0;
    }
    
    .newsletter__title {
        font-size: 1.5rem;
    }
    
    .cookie-consent__options {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .map-wrapper {
        height: 300px;
    }
    
    .page-header {
        padding: 6rem 0 3rem;
    }
    
    .page-header__title {
        font-size: 1.875rem;
    }
    
    .thanks-icon {
        width: 80px;
        height: 80px;
    }
    
    .thanks-title {
        font-size: 1.75rem;
    }
    
    .thanks-text {
        font-size: 1rem;
    }
    
    .cookie-consent__actions {
        flex-direction: column;
        width: 100%;
    }
    
    .cookie-consent__actions .btn {
        width: 100%;
    }
}
