/* Mobile Fixes CSS - Prevents horizontal scrolling and fixes floating elements */

/* Global mobile overflow prevention */
@media (max-width: 767px) {
  html {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  
  body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    position: relative;
  }
  
  /* Container fixes */
  .container, .container-fluid {
    padding-left: 10px !important;
    padding-right: 10px !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  
  /* Navigation bar fixes */
  .navbar {
    padding-left: 10px !important;
    padding-right: 10px !important;
    overflow-x: hidden !important;
  }
  
  .navbar-header {
    margin-right: 0 !important;
  }
  
  .navbar-brand {
    padding-left: 0 !important;
    max-width: 60% !important;
  }
  
  .navbar-brand img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Hamburger menu icon styling */
  .navbar-toggle {
    float: right !important;
    margin-right: 0 !important;
    padding: 9px 10px !important;
    background-color: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
  }
  
  .navbar-toggle .icon-bar {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background-color: #ff1949 !important;
    border-radius: 1px !important;
    margin-bottom: 4px !important;
  }
  
  .navbar-toggle .icon-bar:last-child {
    margin-bottom: 0 !important;
  }
  
  .navbar-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }
  
  .navbar-brand {
    flex: 1 !important;
    max-width: calc(100% - 60px) !important;
  }
  
  .attr-nav {
    display: none !important;
  }
  
  /* Floating icons positioning */
  #certificateFloat,
  #contactFloat,
  #whatsappFloat,
  #scrollToTop {
    position: fixed !important;
    right: 10px !important;
    width: 45px !important;
    height: 45px !important;
    z-index: 9998 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
  }
  
  #certificateFloat {
    bottom: 180px !important;
  }
  
  #contactFloat {
    bottom: 130px !important;
  }
  
  #whatsappFloat {
    bottom: 80px !important;
  }
  
  #scrollToTop {
    bottom: 30px !important;
  }
  
  /* Icon sizes */
  #certificateFloat i,
  #contactFloat i,
  #whatsappFloat i,
  #scrollToTop i {
    font-size: 16px !important;
  }
  
  /* Show tooltips on mobile with proper positioning */
  .tooltip-float {
    right: 55px !important;
    font-size: 11px !important;
    padding: 6px 10px !important;
    white-space: nowrap !important;
    max-width: 120px !important;
  }
  
  /* Modal positioning fixes */
  .modal {
    padding-right: 0 !important;
  }
  
  .modal-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: 90vw !important;
    max-width: 300px !important;
    margin: 0 !important;
  }
  
  .modal-dialog.modal-sm {
    width: 85vw !important;
    max-width: 280px !important;
  }
  
  .modal-content {
    max-width: 100% !important;
  }
  
  /* Top bar fixes */
  .top-bar-area {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  
  .top-bar-area .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Extra small devices (phones, less than 480px) */
@media (max-width: 480px) {
  .container, .container-fluid {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  
  .navbar {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  
  /* Smaller floating icons */
  #certificateFloat,
  #contactFloat,
  #whatsappFloat,
  #scrollToTop {
    right: 5px !important;
    width: 40px !important;
    height: 40px !important;
  }
  
  #certificateFloat i,
  #contactFloat i,
  #whatsappFloat i,
  #scrollToTop i {
    font-size: 14px !important;
  }
  

  
  .modal-dialog {
    width: 95vw !important;
    max-width: 280px !important;
  }
  
  .modal-dialog.modal-sm {
    width: 90vw !important;
    max-width: 260px !important;
  }
}

/* Landscape orientation adjustments */
@media (max-width: 767px) and (orientation: landscape) {
  #certificateFloat,
  #contactFloat,
  #whatsappFloat,
  #scrollToTop {
    right: 5px !important;
    width: 35px !important;
    height: 35px !important;
  }
  
  #certificateFloat i,
  #contactFloat i,
  #whatsappFloat i,
  #scrollToTop i {
    font-size: 12px !important;
  }
  
  /* Adjust vertical spacing for landscape */
  #certificateFloat {
    bottom: 140px !important;
  }
  
  #contactFloat {
    bottom: 100px !important;
  }
  
  #whatsappFloat {
    bottom: 60px !important;
  }
  
  #scrollToTop {
    bottom: 20px !important;
  }
}

/* Prevent any element from causing horizontal scroll */
@media (max-width: 767px) {
  #mobile-canvas-menu * {
    max-width: 100% !important;
  }
  
  /* Specific fixes for common overflow causes */
  .row {
    margin-left: -5px !important;
    margin-right: -5px !important;
  }
  
  .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1,
  .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2,
  .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3,
  .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4,
  .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5,
  .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6,
  .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7,
  .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8,
  .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9,
  .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10,
  .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11,
  .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  
  #mobile-canvas-menu {
    width: 90% !important;
    max-width: 340px !important;
  }
}