/* Desktop Styles (min-width: 1024px) */
@media (min-width: 1024px) {

    /* 1. Hero Section Background */
    /* 1. Hero Section Background */
    .hero-section {
        background-image: url('assets/images/bg-hero-desktop.png');
        background-position: center center !important;
        /* Fix focus */
        /* Start from top */
        background-size: cover !important;
        /* Fix distortion - no stretch */
        /* Ensures no distortion */
        height: 897px;
        /* Exact height requested */
        min-height: 897px;
        max-height: 897px;
        justify-content: flex-start;
        padding-top: 150px;
    }

    /* Top Bar Desktop Adjustments */
    .top-bar {
        font-size: 1.2rem !important;
        /* Increased font size */
        padding: 12px 0 !important;
        font-weight: 800 !important;
    }

    /* 2. Header Layout (Floating Pill) - Dark Glass Effect */
    .main-header {
        position: absolute;
        top: 30px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        /* Wider as requested */
        max-width: 1250px;
        /* Increased width */
        background: rgba(0, 0, 0, 0.45);
        /* Darker background */
        backdrop-filter: blur(8px);
        /* Reduced blur */
        -webkit-backdrop-filter: blur(8px);
        border-radius: 15px;
        /* Less rounded corners */
        padding: 15px 40px;
        /* Increased height/padding */
        display: flex;
        justify-content: space-between;
        align-items: center;
        z-index: 1000;
        border: 1px solid rgba(255, 255, 255, 0.15);
        /* Gray stroke/border */
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    }

    /* Logo in Header */
    .logo {
        height: 45px;
        /* Slightly smaller to fit pill */
        margin-right: 20px;
    }

    /* 3. Navigation (Show on Desktop) */
    .mobile-menu {
        position: static;
        background: none;
        clip-path: none;
        width: auto;
        height: auto;
        flex: 1;
        /* Take up space */
        display: flex;
        justify-content: center;
        /* Center links */
        padding: 0;
        overflow: visible;
    }

    .mobile-menu ul {
        display: flex;
        flex-direction: row;
        gap: 25px;
        /* Space between links */
        width: auto;
        align-items: center;
    }

    .mobile-menu li {
        margin: 0;
        opacity: 1;
        transform: none;
    }

    .mobile-menu ul li a {
        font-size: 1rem;
        /* Larger font */
        color: rgba(255, 255, 255, 0.9);
        font-weight: 500;
        padding: 5px 0;
        font-family: var(--font-inter);
        /* Clean font */
        text-transform: capitalize;
        /* Keep as is */
    }

    .mobile-menu ul li a:hover {
        color: white;
        transform: translateY(-2px);
        text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
    }

    /* Hide Hamburger */
    .menu-toggle {
        display: none !important;
    }

    /* 4. Desktop CTA Button in Header */
    .header-cta.pc-only {
        display: flex !important;
        /* Show flex */
        align-items: center;
        gap: 8px;
        background: #00AEEF;
        /* Bright Cyan */
        background: linear-gradient(90deg, #00AEEF 0%, #009AC4 100%);
        color: white;
        font-family: var(--font-inter);
        font-weight: 700;
        font-size: 0.8rem;
        padding: 10px 20px;
        border-radius: 30px;
        text-decoration: none;
        transition: transform 0.2s, box-shadow 0.2s;
        white-space: nowrap;
        height: 40px;
    }

    .header-cta.pc-only:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(0, 174, 239, 0.4);
    }

    .hero-content {
        margin-top: -200px !important;
        /* Move UP significantly to clear boat */
        padding-top: 0;
        zoom: 1;
        /* Reset zoom to reduce coarseness */
    }

    .hero-content h1 {
        font-size: 2.5rem !important;
        /* Reduced by ~25% as requested */
        margin-bottom: 10px;
        line-height: 1.1;
    }

    /* Refine Hero Button */
    .hero-content .cta-button {
        font-size: 0.9rem !important;
        /* Smaller, elegant font */
        padding: 12px 28px !important;
        /* Reduced padding */
        border-radius: 50px;
    }

    .hero-content .subtitle {
        font-size: 1.2rem;
        /* Reduced from 1.5rem */
        margin-bottom: 25px;
        /* Reduced from 40px to bring button closer */
    }

    /* Center Badge at Bottom - Ensure Visibility */
    /* On Desktop, the badge is inside .about-us .badge-container, but visually it should be ON the wave */
    .badge-container {
        top: -190px;
        /* Moved further up to align with wave cut */
        bottom: auto;
        z-index: 50;
        /* Above wave */
    }

    .trust-badge-img {
        width: 150px;
        /* Standard reference size */
        filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.2));
    }

    /* 6. Refined About Us Section (Desktop) */
    .about-us {
        padding-bottom: 250px !important;
        /* Force generous padding */
    }

    .about-us .container {
        width: 56% !important;
        max-width: 1250px !important;
        margin-left: auto !important;

        /* Desktop sizing for Popup */
        @media (min-width: 1024px) {

            .booking-icon-wrapper {
                width: 55px;
                height: 55px;
                font-size: 1.5rem;
            }

            .booking-title {
                font-size: 1rem;
                margin-bottom: 4px;
            }

            .booking-message {
                font-size: 1.1rem;
            }
        }

        margin-right: auto !important;
        text-align: left;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .about-us h2 {
        text-align: center;
        /* Title stays centered */
        font-size: 2.5rem;
        margin-bottom: 50px;
    }

    .about-us p {
        font-size: 1.7rem;
        /* Significantly larger font (+30%) */
        line-height: 1.5;
        margin-bottom: 30px;
        color: #333;
        width: 100% !important;
        max-width: 100% !important;
        /* constrained by container */
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Logos Footer in About Us */
    .desktop-logos.pc-only {
        display: flex !important;
        justify-content: space-between;
        align-items: flex-end;
        margin-top: 80px;
        width: 140%;
        /* Significantly wider than text block to push logos apart */
        margin-left: -20%;
        /* Center the wider block */
        margin-right: -20%;
        /* Center the wider block */
        padding-bottom: 10px;
    }

    .logo-turismo {
        height: 140px;
        /* Further increased */
        width: auto;
    }

    .logo-costtur-gray {
        height: 95px;
        /* Further increased */
        width: auto;
    }

    /* 7. Roteiros Side-by-Side (Desktop) */
    .roteiros-section .container {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 40px !important;
        /* Space between cards */
        row-gap: 20px !important;
        align-items: start !important;
        max-width: 1200px !important;
        /* Ensure content isn't too wide */
        margin: 0 auto !important;
        justify-items: center !important;
        /* Center content in columns */
    }

    /* Main Title spreads across top */
    .roteiros-section .section-title {
        grid-column: 1 / -1 !important;
        /* Full width */
        margin-bottom: 50px !important;
    }

    /* Subtitles (Roteiro Sul / Norte) */
    .roteiros-section .roteiro-subtitle {
        text-align: center !important;
        margin-bottom: 10px !important;
        width: 100% !important;
    }

    /* Roteiro Sul Elements - Column 1 */
    .roteiros-section .roteiro-subtitle:nth-of-type(1) {
        /* Sul Title is first h3 */
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    #roteiro-sul {
        grid-column: 1 !important;
        grid-row: 3 !important;
        width: 100% !important;
        max-width: 500px !important;
        /* Reasonable card width */
        margin: 0 !important;
    }

    /* Roteiro Norte Elements - Column 2 */
    .roteiros-section .roteiro-subtitle:nth-of-type(2) {
        /* Norte Title is second h3 */
        grid-column: 2 !important;
        grid-row: 2 !important;
        margin-top: 0 !important;
        /* Override any mobile top margin */
    }

    #roteiro-norte {
        grid-column: 2 !important;
        grid-row: 3 !important;
        width: 100% !important;
        max-width: 500px !important;
        margin: 0 !important;
    }

    /* Hide the spacer div */
    .roteiros-section .container>div[style*="height"] {
        display: none !important;
    }

    /* 8. Roteiros Refinements (Desktop) */
    .roteiros-section {
        padding-top: 40px !important;
        /* Restore safe spacing */
        margin-top: 0 !important;
        /* Remove negative margin that hid the title */
        padding-bottom: 250px !important;
        /* Reduced bottom spacing */
        height: auto !important;
        /* Allow expansion */
    }

    .roteiros-section .container {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 40px !important;
        /* Space between cards */
        row-gap: 20px !important;
        align-items: start !important;
        max-width: 1200px !important;
        /* Ensure content isn't too wide */
        margin: 0 auto !important;
        margin-top: -40px !important;
        /* Move container UP slightly */
        justify-items: center !important;
        /* Center content in columns */
        padding-bottom: 0 !important;
    }

    .roteiros-section .section-title {
        font-size: 3rem !important;
        white-space: nowrap !important;
        /* Force single line */
        width: 100% !important;
        max-width: none !important;
        line-height: 1.2 !important;
    }

    /* Force BR to hide on desktop to ensure single line if HTML has BR */
    .roteiros-section .section-title br {
        display: none !important;
    }

    .roteiro-card {
        max-width: 380px !important;
        /* Compact card width */
        width: 100% !important;
        margin: 0 auto !important;
    }

    .roteiro-card .slide {
        height: 250px !important;
        object-fit: cover !important;
    }

    /* 9. Incluso no Passeio (Side-by-Side Desktop) */
    /* 9. Incluso no Passeio (Side-by-Side Desktop) */
    /* 9. Incluso no Passeio (Side-by-Side Desktop) */
    /* 9. Incluso no Passeio (Side-by-Side Desktop) */
    /* 9. Incluso no Passeio (Side-by-Side Desktop) */
    /* 9. Incluso no Passeio (Desktop Overrides) */
    .incluso-section {
        position: relative;
        overflow: visible !important;
        /* Allow wave to show */
        padding: 100px 0 280px 0 !important;
        /* Significantly increased padding bottom */
        z-index: 10 !important;
    }

    .incluso-top-curve {
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        transform: translateY(-99%) !important;
        z-index: 20 !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

    /* Container Pai - Switch to Row for Desktop */
    .section-incluso-content {
        display: flex !important;
        /* Force flex again to be sure */
        flex-direction: row !important;
        /* Forces side-by-side */
        align-items: center !important;
        justify-content: center !important;
        gap: 60px !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
    }

    /* Coluna Esquerda (Texto - 35% to allow big image) */
    .incluso-left-col {
        width: 35% !important;
        /* Reduced to give space to image */
        display: block !important;
        text-align: left !important;
    }

    .incluso-left-col h2 {
        font-size: 46px !important;
        /* 46px Font */
        max-width: 300px !important;
        /* Force break */
        line-height: 1 !important;
        margin-bottom: 30px !important;
    }

    /* Coluna Direita (Mídia - 60% Nuclear Option) */
    .incluso-right-col {
        width: 60% !important;
        /* Aggressively expanded */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    /* Image - Allow larger size on Desktop */
    /* Image - Allow larger size on Desktop */
    .incluso-right-col img {
        width: 100% !important;
        max-width: 750px !important;
        /* Nuclear increase */
        height: auto !important;
        margin: 0 !important;
    }

    /* GLOBAL DESKTOP BUTTON SIZE INCREASE */
    .cta-button {
        padding: 22px 50px !important;
        font-size: 1.3rem !important;
        border-radius: 60px !important;
    }

    .btn-agendar {
        margin-top: 35px !important;
        width: 100% !important;
        max-width: 450px !important;
        /* Increased width limit */
    }

    .incluso-list {
        margin: 0 !important;
        display: block !important;
        text-align: left !important;
        padding-left: 0 !important;
        width: 100% !important;
    }

    .incluso-item {
        justify-content: flex-start !important;
        font-size: 1.2rem !important;
        padding: 6px 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Decorations (Absolute) */
    .charcoal-decor {
        position: absolute !important;
        top: 170px !important;
        /* User requested top positioning */
        bottom: auto !important;
        /* Override bottom */
        left: -133px !important;
        /* User requested left */
        width: 300px !important;
        z-index: 1 !important;
        opacity: 1 !important;
    }

    .ice-decor {
        position: absolute !important;
        top: 0% !important;
        /* User requested 0% */
        right: -120px !important;
        /* Updated right position */
        bottom: auto !important;
        width: 278px !important;
        /* Updated width */
        z-index: 1 !important;
        opacity: 1 !important;
    }


    /* 10. Reserva em 4 Passos Desktop Layout */
    .reserva-section {
        padding: 100px 0 120px 0 !important;
    }

    .reserva-section .section-title {
        font-size: 3rem !important;
        /* Increased font size */
        margin-bottom: 40px !important;
    }

    .arrow-divider {
        margin-bottom: 60px !important;
    }

    .steps-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        /* 4 columns side by side */
        gap: 30px !important;
        max-width: 1200px !important;
        margin: 0 auto 60px auto !important;
        width: 100% !important;
    }

    .step-card {
        height: 100% !important;
        padding: 40px 20px !important;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08) !important;
    }

    .step-icon {
        width: 60px !important;
        height: 60px !important;
        margin-bottom: 25px !important;
    }

    .step-title {
        font-size: 1.1rem !important;
        margin-bottom: 15px !important;
    }

    .step-desc {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
    }

    .reserva-btn {
        margin-top: 30px !important;
        min-width: 400px !important;
        /* Increased min-width */
        font-size: 1.3rem !important;
        /* Ensure visibility */
    }

    /* 11. Lanchas Grid Layout (Desktop) */
    .lanchas-section .slide-content {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 60px 40px !important;
        /* Row gap 60px, Col gap 40px */
        max-width: 1100px !important;
        margin: 0 auto !important;
        justify-items: center !important;
    }

    .lanchas-section .section-title {
        grid-column: 1 / -1 !important;
        margin-bottom: 60px !important;
        font-size: 3.5rem !important;
        white-space: nowrap !important;
    }

    .ice-decor {
        right: -90px !important;
        top: -21% !important;
        width: 300px !important;
        display: block !important;
    }

    .lanchas-section .section-title br {
        display: none !important;
        /* Remove line break */
    }

    /* Hide spacers on desktop */
    .lanchas-section .slide-content>div[style*="height"] {
        display: none !important;
    }

    .roteiro-card {
        width: 100% !important;
        max-width: 480px !important;
        /* Ensure uniform size */
        margin: 0 !important;
        /* Remove older margins */
    }

    /* Center the last card (assuming 5 cards, it will be the 5th) */
    .roteiro-card:last-of-type {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
    }

    /* Fix Image Aspect Ratio on Desktop (avoid squashing/cropping) */
    .roteiro-card .slider-container {
        height: auto !important;
        /* Allow growing */
        aspect-ratio: 4 / 3 !important;
        /* Standard photo ratio */
    }

    .roteiro-card img.slide {
        height: 100% !important;
        width: 100% !important;
        object-fit: cover !important;
        /* Fills the box cleanly */
        /* If user REALLY wants 100% of image content without ANY crop, use 'contain', but 'cover' with correct aspect ratio usually fixes "squashed" look. 
           User said "card está muito achatado" (squashed verticaly). Increasing height via aspect-ratio fixes this. */
    }

    /* 12. Depoimentos Adjustments (Desktop) */
    .depoimentos-section .section-title {
        font-size: 3.5rem !important;
        /* Increased title size */
        margin-bottom: 60px !important;
        max-width: 800px !important;
    }

    .reviews-slider-wrapper {
        width: 100% !important;
        margin: 0 auto !important;
        transform: none !important;
    }

    .reviews-slider {
        justify-content: center !important;
        /* Center the images */
        padding: 0 !important;
    }

    .review-card-img {
        width: auto !important;
        max-width: 500px !important;
        /* Reduced image size */
        margin: 0 15px !important;
        /* Spacing between cards */
        flex: 0 1 auto !important;
        /* Allow shrinking if needed, but maintain size */
    }
}

/* Base styles for PC Only elements (hidden on mobile) */
.pc-only {
    display: none;
}

@media (min-width: 1024px) {

    /* 12. Depoimentos Adjustments (Desktop - Layout Fix) [WRAPPED CORRECTLY] */
    .depoimentos-section {
        padding: 140px 0 280px 0 !important;
        /* Huge padding to clear waves */
    }

    .depoimentos-container {
        max-width: 100% !important;
        /* Full width */
        margin: 0 auto !important;
        width: 100% !important;
        padding: 0 60px !important;
        /* Space for arrows */
        box-sizing: border-box !important;
    }

    .reviews-slider-wrapper {
        width: 100% !important;
        max-width: 1600px !important;
        /* Cap huge width */
        margin: 0 auto !important;
        transform: none !important;
    }

    /* Duplicate slider rules removed */

    .reviews-slider::-webkit-scrollbar {
        display: none;
    }

    .review-card-img {
        flex: 0 0 33.333% !important;
        /* Exactly 3 per view */
        width: 33.333% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 10px !important;
        /* Decreased spacing as requested */
        box-sizing: border-box !important;
    }

    /* Review Slider Navigation - Desktop Outside Position */
    .reviews-slider-wrapper {
        overflow: visible !important;
        /* Allow buttons to sit outside */
        position: relative !important;
        margin: 0 auto !important;
        /* Centered */
        max-width: 1200px !important;
        /* Cap width */
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }

    .review-nav-btn {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 10001 !important;
        /* Super High Z-Index */
        pointer-events: auto !important;
        /* Force Clickable */
        width: 45px !important;
        /* Requested smaller size */
        height: 45px !important;
        font-size: 1.5rem !important;
        cursor: pointer !important;
        background: rgba(255, 255, 255, 0.95) !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding-bottom: 4px !important;
    }

    .review-prev,
    .review-next {
        display: none !important;
        /* Hide arrows on desktop */
    }

    .reviews-dots {
        display: none !important;
        /* Hide dots on desktop */
    }

    /* Infinite Marquee Scroll (Desktop) */
    .reviews-slider {
        display: flex !important;
        gap: 0 !important;
        overflow: visible !important;
        padding-right: 50px !important;
        /* Buffer */
        animation: marquee 60s linear infinite !important;
        cursor: grab;
    }

    .reviews-slider:active {
        cursor: grabbing;
    }

    .review-card-img {
        width: 220px !important;
        /* Reduced to 220px as requested */
        height: auto !important;
        flex-shrink: 0 !important;
        pointer-events: none;
        /* Prevent image dragging interference */
    }

    /* Wrapper masks the overflow */
    .reviews-slider-wrapper {
        overflow: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
        -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    }

    @keyframes marquee {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-50%);
        }
    }

    /* Force Center Parent */
    .depoimentos-section .container {
        margin-left: auto !important;
        margin-right: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        max-width: 100% !important;
        /* Allow full width flow */
        padding: 0 !important;
        /* Remove padding to let marquee touch edges if needed */
    }

    .google-rating-container {
        margin-bottom: 50px !important;
        /* More space below Google Logo */
    }

    .depoimentos-section .section-title {
        font-size: 3rem !important;
        /* Slightly reduced from 3.5rem */
        margin-bottom: 40px !important;
        /* Balanced space above Google Logo */
        max-width: 900px !important;
    }

    /* 13. Proximo Section Adjustments (Desktop) */
    .proximo-section .container {
        max-width: 100% !important;
        /* Unrestricted width */
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .proximo-title {
        font-size: 3rem !important;
        /* Slightly reduced */
        white-space: nowrap !important;
        margin-bottom: 50px !important;
        text-align: center !important;
    }

    .proximo-title br {
        display: none !important;
    }

    .proximo-img-container {
        max-width: 100% !important;
        /* Unlocks the 500px limit from style.css */
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }

    .proximo-board-img.img-desktop {
        display: block !important;
        width: 70% !important;
        /* Reduced to 70% as requested */
        max-width: 1800px !important;
        height: auto !important;
        margin-top: 30px !important;
        margin-bottom: 30px !important;
    }

    .proximo-board-img.img-mobile {
        display: none !important;
    }

    /* 14. FAQ Section Adjustments (Desktop) */
    .faq-list {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 60px !important;
        /* Space on sides to not touch edge */
        box-sizing: border-box !important;
    }

    .faq-question {
        font-size: 1.3rem !important;
        /* Increased font size */
        padding: 30px 40px !important;
        /* Increased padding */
    }

    .faq-answer p {
        font-size: 1.15rem !important;
        /* Increased inner text size */
        padding: 30px 40px !important;
        line-height: 1.8 !important;
    }

    /* 15. Footer Adjustments (Desktop) */
    .footer-content {
        justify-content: center !important;
        background-color: #00233A;
        /* Ensure match */
        gap: 30px !important;
        /* Space between text and link */
    }

    .footer-content p {
        font-size: 1.1rem !important;
        flex: initial !important;
        /* Remove the 70% width constraint */
        width: auto !important;
        text-align: right !important;
        /* Align towards center gap */
    }

    .footer-social {
        font-size: 1.1rem !important;
        flex: initial !important;
        /* Remove the 30% width constraint */
        width: auto !important;
        justify-content: flex-start !important;
        /* Align towards center gap */
        text-align: left !important;
    }
}