/* ==========================================================================
   POUSADA POLYMAR - RESPONSIVE STYLESHEET
   ========================================================================== */

/* --------------------------------------------------------------------------
   TABLET & TELAS MÉDIAS (Max: 1024px)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .nav-menu {
        gap: 18px;
    }
    
    .nav-menu a {
        font-size: 0.82rem;
    }

    .sobre-grid {
        gap: 40px;
    }

    .video-section-grid {
        grid-template-columns: 0.9fr 1.1fr;
        gap: 32px;
    }

    .especiais-grid {
        gap: 20px;
    }

    .depoimentos-layout {
        grid-template-columns: 320px 1fr;
        gap: 24px;
    }

    .footer-columns-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }
}

/* --------------------------------------------------------------------------
   MOBILE & TABLET VERTICAL (Max: 868px)
   -------------------------------------------------------------------------- */
@media (max-width: 868px) {
    html, body {
        overflow-x: hidden;
        width: 100%;
        position: relative;
    }

    :root {
        --header-height: 75px;
        --header-height-sticky: 65px;
    }

    .hero-content-wrapper {
        padding: calc(var(--header-height, 75px) + 25px) 20px 75px 20px;
    }

    .hero-slider-nav {
        bottom: 60px;
    }

    .mobile-nav-toggle {
        display: block;
    }

    .main-navigation {
        position: fixed;
        top: 0;
        right: -100%;
        width: 82%;
        max-width: 340px;
        height: 100vh;
        background-color: var(--color-white);
        box-shadow: -6px 0 30px rgba(15, 59, 70, 0.2);
        padding: 90px 28px 40px 28px;
        transition: right var(--transition-normal);
        z-index: 1000;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        overflow-y: auto;
    }

    .main-navigation.is-open {
        right: 0;
    }

    .nav-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        width: 100%;
    }

    .nav-menu li {
        width: 100%;
        border-bottom: 1px solid var(--color-border);
        padding-bottom: 12px;
    }

    .nav-menu a {
        font-size: 1rem;
        display: block;
        width: 100%;
    }

    /* Grids em coluna única */
    .sobre-grid,
    .video-section-grid,
    .depoimentos-layout,
    .localizacao-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .sobre-content {
        max-width: 100%;
    }

    .video-section-content {
        text-align: center;
    }

    .video-audio-toggle {
        bottom: 16px;
        right: 16px;
        padding: 8px 16px;
        font-size: 0.85rem;
    }

    /* Single Room Showcase Layout (Mobile & Tablet) */
    .room-showcase-grid {
        display: flex;
        flex-direction: column-reverse;
        gap: 40px;
    }
    
    .room-gallery-slider-box {
        position: static;
    }
    
    .single-room-page .room-slider-wrapper {
        border-radius: var(--radius-lg);
    }

    .especiais-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
    }

    .especial-card {
        height: 380px;
    }

    .floating-reservation-bar {
        margin: -40px auto 0 auto;
        padding: 0 12px;
        width: 100%;
        box-sizing: border-box;
    }

    .floating-reservation-bar .polymar-container,
    .booking-bar-container.polymar-container {
        padding-left: 0;
        padding-right: 0;
        width: 100%;
        max-width: 100%;
    }

    .reservation-bar-inner {
        padding: 18px 20px;
    }

    .reservation-cta-btn {
        width: 100%;
        font-size: 1rem;
        padding: 14px 24px;
    }

    .whatsapp-offer-form {
        flex-direction: column;
        width: 100%;
    }

    .whatsapp-form-input,
    .whatsapp-form-btn {
        width: 100%;
        flex: none;
    }

    .booking-score-card {
        padding: 36px 20px;
    }

    .booking-score-number {
        font-size: 3.8rem;
    }

    .testimonials-slider-box {
        padding: 36px 24px;
    }
}

/* --------------------------------------------------------------------------
   SMARTPHONES PEQUENOS (Max: 480px)
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
    .polymar-section {
        padding: 60px 0;
    }

    .section-title {
        font-size: 1.75rem;
    }

    .hero-slider {
        height: clamp(480px, 75vh, 560px);
    }

    .hero-content-wrapper {
        padding: calc(var(--header-height, 75px) + 30px) 16px 70px 16px;
    }

    .hero-slider-nav {
        bottom: 55px;
    }

    .hero-title {
        font-size: 2.3rem;
    }

    .hero-pretitle {
        font-size: 1.25rem;
    }

    .footer-columns-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-bottom-bar {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .sobre-features-list {
        grid-template-columns: 1fr;
    }

    .floating-whatsapp-btn {
        width: 50px;
        height: 50px;
        bottom: 16px;
        right: 16px;
    }

    .floating-reservation-bar {
        padding: 0 8px;
    }

    .floating-whatsapp-btn svg {
        width: 28px;
        height: 28px;
    }

    /* Page Templates Responsive */
    .page-hero-banner {
        height: 300px;
        margin-top: -80px;
        padding-top: 80px;
    }
    .page-hero-content .hero-title {
        font-size: 2.2rem;
    }
    .institucional-cta .cta-banner-inner {
        padding: 40px 20px;
    }
    .institucional-cta h2 {
        font-size: 1.8rem;
    }
    .room-card-horizontal {
        flex-direction: column;
        height: auto;
    }
    .room-image {
        height: 260px;
        flex: 0 0 auto;
        width: 100%;
    }
    .room-card-arrow {
        width: 34px;
        height: 34px;
    }
    .room-card-arrow.prev {
        left: 8px;
    }
    .room-card-arrow.next {
        right: 8px;
    }
    .room-details {
        padding: 24px;
    }
    .room-meta {
        flex-direction: column;
        gap: 12px;
    }
    .contato-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .form-card {
        padding: 32px 24px;
    }
    .category-items-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px 16px;
    }
    .room-nav-carousel {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }
    .room-nav-btn-box.prev,
    .room-nav-btn-box.next {
        text-align: center;
    }
    .room-nav-btn-box.next .room-nav-action-link {
        align-items: center;
    }
    .room-bottom-cta-card {
        flex-direction: column;
        padding: 30px 24px;
        text-align: center;
    }
    .cta-card-buttons {
        flex-direction: column;
        width: 100%;
    }
    .cta-card-buttons .btn-polymar {
        width: 100%;
    }
}
