/* =====================================================
   RESPONSIVE FIXES - Targeted overrides for mobile/tablet
   Loaded AFTER all other stylesheets.
   These rules fix layout/overflow/readability on small screens
   without changing the desktop design.
   ===================================================== */

/* Prevent horizontal scroll globally */
html, body {
  overflow-x: hidden;
}

/* --------------------------------------------------
   Mobile (max-width: 767px)
   -------------------------------------------------- */
@media (max-width: 767px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
    width: 100% !important;
  }

  .banner_siteinfo .col-md-4,
  .banner_siteinfo .col-sm-4,
  .banner_siteinfo .col-sm-5,
  .banner_siteinfo .col-sm-3 {
    width: 100%;
    text-align: center;
    border-right: none !important;
    margin-bottom: 15px;
  }

  .page-title h1 {
    font-size: 1.5rem;
    line-height: 1.3;
    word-wrap: break-word;
  }

  .breadcrumb {
    flex-wrap: wrap;
    font-size: 0.85rem;
  }

  #slider h1, .slide h1 {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }

  #slider p, .slide p {
    font-size: 0.95rem !important;
  }

  .speakers-box {
    margin-bottom: 20px;
  }

  .speakers-box .icon img {
    max-width: 100%;
    height: auto;
  }

  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .session-individual .s-titel {
    font-size: 1.2rem;
    word-wrap: break-word;
  }

  .team-member {
    margin-bottom: 15px;
  }

  .team-member .team-image img {
    max-width: 100%;
    height: auto;
  }

  .speakers-box-lg .top {
    flex-direction: column;
    text-align: center;
  }

  .speakers-box-lg .top .icon {
    margin-bottom: 15px;
  }

  .speakers-box-lg .top .icon img {
    max-width: 150px;
    margin: 0 auto;
  }

  .btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .btn-group .btn,
  .btn-group a.btn {
    white-space: nowrap;
    font-size: 0.85rem;
  }

  .inquiry-box-1 {
    padding: 15px;
  }

  .form-control {
    font-size: 16px; /* Prevent iOS zoom */
  }

  #footer .col-md-3,
  #footer .col-md-6,
  #footer .col-md-7 {
    width: 100%;
    float: none;
    text-align: center;
  }

  .footer-nav ul {
    text-align: center;
  }

  .footer-seal {
    justify-content: center;
    margin-top: 10px;
  }

  .icon-bar {
    display: none;
  }

  .watsapp-box {
    bottom: 10px;
    right: 10px;
  }

  .watsapp-box img {
    width: 45px;
    height: 45px;
  }

  .scroll-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .horizontal-scroll {
    display: flex;
    gap: 15px;
    padding-bottom: 10px;
  }

  .video-card {
    min-width: 260px;
    flex-shrink: 0;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .m-w-290 {
    min-width: auto !important;
  }

  .comment {
    flex-direction: column;
  }

  .comment .image {
    margin-bottom: 10px;
  }

  .comment .image img.avatar {
    max-width: 80px;
  }

  .m-t_70 {
    margin-top: 0 !important;
  }

  .lg-mt-m140,
  .xs-mt-m200 {
    margin-top: 0 !important;
  }

  .p-t-80 {
    padding-top: 20px !important;
  }

  .p-t-120 {
    padding-top: 60px !important;
  }

  .p-b-120 {
    padding-bottom: 60px !important;
  }

  .over-slider-top {
    margin-top: 0;
  }

  .over-slider-top-inner {
    margin-top: 0;
  }

  .highlights-box {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }

  .past-info-row {
    flex-direction: column;
  }

  .past-info-row .past-links ul {
    flex-wrap: wrap;
    justify-content: center;
  }

  .schedule-item .time {
    font-size: 0.9rem;
    margin-bottom: 5px;
  }

  /* Registration pricing table - horizontal scroll on mobile */
  .RegTabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .RegTabs .titel-heading,
  .RegTabs .body-sec {
    min-width: 600px;
  }
  .RegTabs .titel-heading .col-xs-12 {
    width: 25%;
    float: left;
  }
}

/* --------------------------------------------------
   Tablet (768px - 991px)
   -------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  .container {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .speakers-box {
    margin-bottom: 15px;
  }

  .banner_siteinfo .col-sm-4,
  .banner_siteinfo .col-sm-5,
  .banner_siteinfo .col-sm-3 {
    padding: 10px;
  }

  .col-members {
    width: 50%;
  }

  #slider h1, .slide h1 {
    font-size: 2rem !important;
  }
}

/* --------------------------------------------------
   Tailwind fallbacks for homepage (when CDN not loaded)
   -------------------------------------------------- */
@media (max-width: 639px) {
  .flex-col {
    flex-direction: column !important;
  }

  .gap-6 {
    gap: 10px !important;
  }

  .gap-3 {
    gap: 8px !important;
  }

  .text-4xl {
    font-size: 1.5rem !important;
  }

  .px-6 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .mb-8 {
    margin-bottom: 1.5rem !important;
  }
}

/* Print */
@media print {
  .icon-bar,
  .watsapp-box,
  #goToTop,
  #mainMenu-trigger {
    display: none !important;
  }
}
