/* ========================================
   MOBILE OPTIMIZATION STYLESHEET
   Apuí Taxi Aéreo - Responsive Enhancements
   ======================================== */

/* ========================================
   1. GLOBAL MOBILE FIXES
   ======================================== */

@media (max-width: 991px) {

  /* Remove horizontal overflow */
  body {
    overflow-x: hidden !important;
  }

  html,
  body {
    max-width: 100vw !important;
  }

  /* Fix containers that cause overflow */
  .w-container,
  .brix---container-default,
  .brix---container-default-2,
  .brix---container-default-3,
  .brix---container-default-6,
  .brix---container-default-7 {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Ensure all grid layouts stack on mobile */
  .w-layout-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* ========================================
   2. HEADER & NAVIGATION MOBILE MENU
   ======================================== */

@media (max-width: 991px) {

  /* Header adjustments */
  .brix---header-wrapper {
    padding: 15px 0 !important;
  }

  /* Logo sizing */
  .brix---header-logo {
    max-height: 40px !important;
    width: auto !important;
  }

  /* Hide desktop menu */
  .brix---header-nav-menu-list {
    display: none !important;
  }

  /* Show hamburger menu */
  .brix---hamburger-menu-wrapper {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    cursor: pointer;
    padding: 10px;
  }

  .brix---hamburger-menu-bar-top,
  .brix---hamburger-menu-bar-bottom {
    width: 24px;
    height: 2px;
    background-color: #4169E1;
    margin: 3px 0;
    transition: all 0.3s ease;
  }

  /* Mobile menu overlay */
  .w-nav-overlay {
    display: none;
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.98);
    padding: 20px;
    z-index: 999;
    overflow-y: auto;
  }

  .w-nav-overlay.w--open {
    display: block !important;
  }

  /* Mobile menu items */
  .w-nav-overlay .brix---header-nav-menu-list {
    display: flex !important;
    flex-direction: column;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .w-nav-overlay .brix---header-nav-list-item {
    width: 100%;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
  }

  .w-nav-overlay .brix---header-nav-link {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    padding: 10px 0 !important;
    display: block !important;
  }

  .w-nav-overlay .image-12 {
    display: none !important;
  }
}

/* ========================================
   3. HERO SECTIONS - ALL PAGES
   ======================================== */

@media (max-width: 991px) {

  /* Hero section grid */
  .topo-titulo,
  .titulo-home {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 20px 0 !important;
  }

  /* Hero titles */
  .brix---heading-h1-size-4 {
    font-size: 28px !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
  }

  /* Hero images */
  .image_11 {
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }

  /* Hero icons and text */
  .div-block-16 {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  .text-block-18 {
    font-size: 16px !important;
  }

  .image-15 {
    max-width: 40px !important;
  }
}

/* ========================================
   4. FORMS - MOBILE OPTIMIZATION
   ======================================== */

@media (max-width: 991px) {

  /* All form grids to single column */
  .form-pesquisa,
  .form_orcamento,
  .brix---form-grid-2-columns,
  .brix---form-grid-2-columns-4,
  .passageiros-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Form card adjustments */
  .brix---card,
  .brix---card-form,
  .brix---card-form-3 {
    padding: 24px 20px !important;
    margin: 0 !important;
  }

  .form-contact {
    margin-top: 30px !important;
  }

  .brix---grid-2-columns---pricing-v10 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Form inputs */
  .brix---input,
  .brix---input-4,
  .brix---input-6,
  .text-field,
  .text-field-2,
  .text-field-3,
  .udesly-text-field-3,
  .udesly-dropdown-field-3 {
    width: 100% !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
    min-height: 48px !important;
  }

  /* Text areas */
  .brix---text-area-4,
  .brix---text-area-5 {
    min-height: 120px !important;
    font-size: 16px !important;
  }

  /* Form labels */
  .data-de-volta,
  .brix---input-label,
  .brix---input-label-4 {
    font-size: 14px !important;
    margin-bottom: 8px !important;
  }

  /* Submit buttons */
  .brix---btn-primary,
  .brix---btn-primary-6,
  .brix---btn-primary-8,
  .w-button {
    width: 100% !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    min-height: 52px !important;
    margin-top: 10px !important;
  }
}

/* ========================================
   5. CARDS & CONTENT SECTIONS
   ======================================== */

@media (max-width: 991px) {

  /* Team slider / Nossos Roteiros */
  .team-slider-wrapper {
    margin: 0 -20px !important;
  }

  .team-block {
    margin: 0 10px !important;
  }

  .team-member-image-two {
    width: 100% !important;
    height: auto !important;
  }

  /* CTA Section */
  .brix---grid-cta-v16 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    text-align: center !important;
  }

  .brix---heading-h2-size-3 {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }

  /* CTA Buttons */
  .brix---buttons-large-row {
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
  }

  .brix---btn-large-icon,
  .brix---btn-large-icon-transparent {
    width: 100% !important;
    justify-content: center !important;
    padding: 16px 24px !important;
  }

  .text-block-15,
  .text-block-16 {
    font-size: 16px !important;
  }

  /* Logo clients section */
  .clients-wrapper-three {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  .clients-image-three {
    max-width: 100px !important;
  }
}

/* ========================================
   6. FOOTER SECTION
   ======================================== */

@media (max-width: 991px) {

  /* Footer grid */
  .brix---grid-2-contact-v9 {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  /* Footer contact cards */
  .brix---card-link-icon-wrapper {
    padding: 20px !important;
  }

  .brix---text-201 {
    font-size: 14px !important;
  }

  .brix---text-200-bold-3 {
    font-size: 16px !important;
  }

  /* Social media grid */
  .brix---social-media-grid-left-2 {
    justify-content: center !important;
  }

  /* Footer logo */
  .image-14 {
    max-width: 150px !important;
  }
}

/* ========================================
   7. HOMEPAGE SPECIFIC
   ======================================== */

@media (max-width: 991px) {

  /* Passagens Aéreas form */
  .brix---card {
    margin: 20px 0 !important;
  }

  .brix---display-3 {
    font-size: 22px !important;
  }

  /* Voe Apui section */
  .voe-apui {
    padding: 20px !important;
  }

  .centered-heading {
    font-size: 28px !important;
  }
}

/* ========================================
   8. NOSSA EQUIPE PAGE - MOBILE
   ======================================== */

@media (max-width: 991px) {

  .team-section {
    padding: 40px 20px !important;
  }

  .team-intro h2 {
    font-size: 32px !important;
  }

  .team-intro p {
    font-size: 16px !important;
  }

  .team-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .team-card {
    padding: 24px !important;
  }

  .team-card h3 {
    font-size: 18px !important;
  }

  .certifications-section {
    padding: 40px 24px !important;
    margin-top: 30px !important;
  }

  .cert-header h3 {
    font-size: 26px !important;
  }

  .cert-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* ========================================
   9. ORCAMENTO PAGES SPECIFIC
   ======================================== */

@media (max-width: 991px) {

  /* Sidebar contact info */
  .brix---card-pricing-popular,
  .contato_box {
    margin-top: 30px !important;
    padding: 24px !important;
  }

  .heading,
  .heading-2,
  .heading-3 {
    font-size: 20px !important;
  }

  /* Contact cards */
  .contato {
    padding: 16px !important;
    gap: 12px !important;
  }

  .brix---big-icon-left-2 {
    max-width: 40px !important;
  }
}

/* ========================================
   10. TOUCH TARGETS & ACCESSIBILITY
   ======================================== */

@media (max-width: 991px) {

  /* Minimum touch target size */
  a,
  button,
  input,
  select,
  textarea {
    min-height: 44px !important;
  }

  /* Increase link padding for easier tapping */
  .brix---header-nav-link,
  .w-nav-link {
    padding: 12px 16px !important;
  }
}

/* ========================================
   11. PREVENT TEXT SIZE ADJUSTMENT ON IOS
   ======================================== */

@media (max-width: 991px) {
  html {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
  }
}

/* ========================================
   12. FIX SPECIFIC OVERFLOW ISSUES
   ======================================== */

@media (max-width: 991px) {

  /* Section backgrounds that extend too far */
  .section-2,
  .fundo-voo,
  .ofertas,
  .logos-clientes,
  .conato {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  /* Images that might overflow */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Fix for specific wide elements */
  .w-slider-mask,
  .team-slider-wrapper,
  .w-slider {
    max-width: 100% !important;
    overflow: visible !important;
  }
}

/* ========================================
   13. CENTRALIZE CONTACT COMPONENTS
   ======================================== */

/* Centralize phone and email cards on all pages */
.brix---grid-1-column-2 {
  justify-items: center !important;
}

.brix---card-link-icon-wrapper {
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
}

.brix---big-icon-left-3 {
  margin: 0 auto 12px auto !important;
}

.div-block-17,
.div-block-18,
.div-block-19 {
  text-align: center !important;
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Sidebar contact cards centralization */
.contato {
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.contato .div-block-18 {
  flex-direction: column !important;
  align-items: center !important;
}

.contato .brix---big-icon-left-2 {
  margin: 0 auto 12px auto !important;
}

/* Footer contact section */
.div-block-20 {
  text-align: center !important;
}

.brix---inner-container-400px-2 {
  margin: 0 auto !important;
}

/* Ensure text alignment in contact info */
.brix---text-201,
.brix---text-200,
.brix---text-200-bold-3,
.text {
  text-align: center !important;
}

/* Contact box in pricing cards */
.contato_box {
  text-align: center !important;
}

.brix---inner-container-410px {
  text-align: center !important;
}