/* 
   MOBILE.CSS - DEFINITIVE RESPONSIVE FIX (NO SCROLL - V2)
   This file ONLY affects mobile viewports and MUST NOT be removed or moved.
   It overrides desktop styles from style.css without modifying the original files.
*/

@media (max-width: 768px) {
    /* 1. Reset & Force Viewport Fit */
    html, body {
        width: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        overflow: hidden !important; /* NO SCROLL */
        display: flex !important;
        flex-direction: column !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: #F8F9FA !important;
    }

    /* 2. Main Teaser Area - Flex distribution */
    .teaser {
        flex: 1 !important;
        height: auto !important;
        min-height: 0 !important; /* Force items to shrink if needed */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding-top: 100px !important; /* Space for the logo */
        padding-bottom: 20px !important;
        overflow: hidden !important; 
        position: relative !important;
        width: 100% !important;
        max-width: 100vw !important;
    }

    /* 3. Logo - Fixed but compact */
    .logo, .logo-utopias {
        position: fixed !important;
        top: 0 !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        height: 90px !important;
        width: auto !important;
        z-index: 1000 !important;
        border-radius: 0 0 15px 15px !important;
        background-color: white !important;
        padding: 5px 25px !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .logo img, .logo-utopias img {
        height: 80px !important;
        width: auto !important;
    }

    /* 3.1 Background Fix */
    .fundo-overlay {
        background-position: 70% center !important; /* Balanced focus to avoid cutting subjects */
        background-size: cover !important;
        background-attachment: scroll !important;
        width: 100% !important;
        max-width: 100vw !important;
        left: 0 !important;
    }

    /* 4. Hero Content - Push to bottom via flex auto margin on the <a> parent */
    .teaser > a {
        margin-top: auto !important;
    }

    .reserva-box {
        position: relative !important;
        top: 25% !important;
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        width: 90% !important;
        max-width: 400px !important;
        margin: 0 auto 6px auto !important; /* Minimal gap to address box below */
        padding: 20px 15px !important;
        border-left: 8px solid #0290a4;
        background-color: rgba(255, 255, 255, 0.85) !important;
        backdrop-filter: blur(10px) !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 5 !important;
    }

    .reserva-texto {
        font-size: 22px !important;
        line-height: 1.3 !important;
        text-align: center !important;
        color: #0290a4 !important;
        white-space: normal !important;
        width: 100% !important;
        margin: 0 !important;
        text-shadow: none !important;
    }

    /* 5. Address / Contact - Pinned to the BOTTOM of Teaser */
    .teaser aside, aside {
        position: absolute !important;
        width: 92% !important;
        margin: 0 auto 0 auto !important; /* Colado ao reserva-box, sem gap extra */
        display: block !important;
        height: auto !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 10%;
        top: auto !important;
        transform: none !important; /* Small visual correction to the left */
    }

    .teaser aside .box.address, 
    .teaser aside .box,
    .box.address {
        position: relative !important;
        width: 100% !important;
        background-color: #F8F9FA;
        border: 1px solid #0290a4 !important;
        border-radius: 10px !important;
        padding: 12px !important;
    }
    .teaser aside { padding-left: 0; }
    .teaser aside .box.address .content { padding: 0; }
    .teaser aside .box.address h5 { font-family: 'Montserrat', sans-serif; font-size: 14px !important; }

    .contact-list, ul.list-unstyled {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .teaser aside h5, h5 {
        font-size: 13px !important; 
        line-height: 1.5 !important;
        color: #333333 !important;
        margin: 4px 0 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    /* 6. Footer - Compact but respecting original styles */
    footer, .teaser footer {
        flex-shrink: 0 !important;
        height: auto !important;
        position: relative !important;
        bottom: auto !important;
        width: 100% !important;
        padding: 15px 10px !important;
        text-align: center !important;
        background-color: #C41230 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
        display: flex !important;
        flex-direction: column !important; /* Stack footer elements vertically to save width */
        align-items: center !important;
        gap: 5px !important;
        z-index: 50 !important;
    }

    footer p, footer span, .teaser footer h6 {
        margin: 0 !important;
        font-size: 10px !important; /* Closer to original 12px but compact */
        color: #FFF !important;
    }

    /* Decorative / Space-saving */
    .logo-secondary, 
    .teaser aside .box.address .content::before {
        display: none !important;
    }

    /* 7. Social Buttons Refinement */
    .social-icons-top {
        top: 10px !important;
        right: 10px !important;
        gap: 8px !important;
    }

    .social-btn {
        width: 38px !important;
        height: 38px !important;
        font-size: 18px !important;
    }
}
