/* Mobile-first overrides para manter os efeitos do site original e melhorar a usabilidade no mobile */

/* Header */
@media (max-width: 1200px) {
  .header .cta-btn { margin-left: 12px; }
}
@media (max-width: 768px) {
  .header { padding: 15px 0; }
  .header .logo img { max-height: 44px; }
  .header .cta-btn { font-size: 12px; padding: 6px 14px; }
}
@media (max-width: 576px) {
  .header .logo img { max-height: 40px; }
  .header .cta-btn { display: none !important; } /* CTA some no xs, mantendo espaço no header */
}

/* Hero */
@media (max-width: 768px) {
  .hero h2 { font-size: 28px; line-height: 1.3; padding: 0 16px; }
  .hero p { font-size: 16px; line-height: 1.5; padding: 0 16px; }
  .hero .about-info { padding: 28px 0; }
  .hero .about-info p { font-size: 14px; line-height: 1.6; padding: 0 16px; }
}
@media (max-width: 576px) {
  .hero h2 { font-size: 22px; }
  .hero p { font-size: 14px; }
  .hero .about-info p { font-size: 13px; }
}

/* Speakers cards */
@media (max-width: 768px) {
  .speakers .member .member-info-content h4 { font-size: 15px; }
}

/* Modals */
@media (max-width: 768px) {
  .modal-dialog { margin: 12px; }
  .modal-body { padding: 16px !important; }
  .modal-body img.rounded-circle { max-width: 150px !important; }
  .modal-header h5, .modal-body h6 { font-size: 1rem; }
  .modal-body p { font-size: 0.95rem; line-height: 1.5; }
}
@media (max-width: 576px) {
  .modal-dialog { margin: 8px; }
  .modal-body img.rounded-circle { max-width: 120px !important; }
  .modal-body p { font-size: 0.9rem; }
}

/* Schedule */
@media (max-width: 768px) {
  .schedule .nav-tabs a { padding: 8px 36px; font-size: 14px; border-radius: 50px; }
  .schedule .schedule-item { padding: 14px 8px; }
  .schedule .schedule-item time { display: block; margin-bottom: 8px; font-weight: 600; font-size: 14px; color: var(--accent-color); }
  .schedule .schedule-item .speaker { width: 52px; height: 52px; margin: 0 10px 6px 0; }
  .schedule .schedule-item h4 { font-size: 16px; }
  .schedule .schedule-item p { font-size: 14px; line-height: 1.5; }
}
@media (max-width: 576px) {
  .schedule .nav-tabs a { padding: 8px 24px; font-size: 13px; }
  .schedule .schedule-item h4 { font-size: 15px; }
  .schedule .schedule-item p { font-size: 13px; }
}

/* Venue */
@media (max-width: 768px) {
  .venue .container-fluid div { height: 300px; }
  .venue .venue-info { padding-top: 40px; padding-bottom: 40px; }
  .venue .venue-info h3 { font-size: 24px; }
  .venue .venue-info p { font-size: 14px; }
}
@media (max-width: 576px) {
  .venue .container-fluid div { height: 260px; }
  .venue .venue-map iframe { min-height: 240px; }
}

/* Sponsors logos */
@media (max-width: 768px) {
  .sponsors .client-logo img { max-width: 90%; height: auto; }
  .gold .client-logo img { width: 180px; max-width: 100%; }
  .supporters .client-logo img { width: 80px; height: auto; }
}
@media (max-width: 576px) {
  .gold .client-logo img { width: 150px; }
  .supporters .client-logo img { width: 72px; }
}

/* Footer */
@media (max-width: 768px) {
  .footer .copyright { padding: 22px 0; }
}

/* Ensure mobile nav container is visible when active, even if Bootstrap adds d-none */
@media (max-width: 1199px) {
  .mobile-nav-active #navmenu {
    display: block !important;
  }
}
