/**
 * Site-wide mobile polish — load after udemy-premium.css
 */

@media (max-width: 1023px) {
  .ud-nav-search {
    display: none !important;
  }
}

@media (max-width: 767px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body.site-shell {
    font-size: 15px;
    line-height: 1.55;
  }

  #main-content {
    padding-bottom: 5.5rem;
  }

  /* Headings — readable on small screens */
  h1 {
    font-size: clamp(1.65rem, 7vw, 2.25rem) !important;
    line-height: 1.15 !important;
  }

  h2 {
    font-size: clamp(1.35rem, 5.5vw, 1.75rem) !important;
  }

  h3 {
    font-size: clamp(1.125rem, 4.5vw, 1.4rem) !important;
  }

  /* Hero */
  .ud-hero--premium .ud-hero__title {
    max-width: none !important;
    font-size: clamp(1.65rem, 7vw, 2.35rem) !important;
    line-height: 1.12 !important;
  }

  .ud-hero--premium .ud-hero__lead {
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
  }

  .ud-hero-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .ud-hero-actions .ud-btn-primary,
  .ud-hero-actions .ud-btn-outline-light,
  .ud-hero-actions .ud-btn-secondary {
    width: 100%;
    justify-content: center;
    min-height: 48px;
    font-size: 0.9375rem !important;
  }

  .ud-hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
  }

  .ud-hero-stats__item span {
    font-size: 0.75rem !important;
  }

  /* Sections & cards */
  .ud-section {
    padding: 2rem 1rem !important;
  }

  .ud-section__title {
    font-size: 1.35rem !important;
  }

  .ud-section__sub {
    font-size: 0.9375rem !important;
  }

  .glass-card,
  .ud-learning-card,
  .ud-tool-card,
  .ud-instructor-card {
    border-radius: 1rem;
  }

  /* Navbar actions */
  .ud-nav-bar {
    flex-wrap: nowrap;
    gap: 0.5rem !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  .btn-gradient {
    padding: 0.5rem 0.85rem !important;
    font-size: 0.8125rem !important;
    white-space: nowrap;
  }

  /* Mobile menu */
  #mobileMenu {
    max-height: min(70vh, 520px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  .ud-mobile-search {
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e2e8f0;
  }

  .ud-mobile-search .ud-nav-search {
    display: flex !important;
    max-width: none;
    width: 100%;
  }

  /* Footer */
  .site-footer__wrap {
    padding: 2rem 1rem 1.75rem !important;
  }

  .site-footer__legal {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  /* Auth */
  .auth-shell {
    min-height: 100dvh;
  }

  .auth-shell__main {
    padding: 1.25rem 1rem 2rem !important;
  }

  .auth-shell__card {
    padding: 1.5rem 1.15rem !important;
  }

  .auth-head__title {
    font-size: 1.5rem !important;
  }

  .auth-pill {
    min-height: 48px;
    font-size: 0.9375rem !important;
  }

  .auth-submit {
    min-height: 48px;
    font-size: 1rem !important;
  }

  /* CAT portal hero */
  .cat-hero {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .cat-hero h1 {
    font-size: clamp(1.5rem, 7vw, 2rem) !important;
  }

  .cat-hero .flex.flex-wrap.gap-3 {
    flex-direction: column;
    align-items: stretch;
  }

  .cat-hero .flex.flex-wrap.gap-3 a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  /* Tables & wide content */
  .prose,
  .ud-table-wrap,
  table {
    overflow-x: auto;
    display: block;
    max-width: 100%;
  }

  /* AI mentor */
  #aiAssistantRoot {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  #aiAssistantToggle {
    width: 3.25rem;
    height: 3.25rem;
  }

  .ai-assistant-input-row {
    flex-wrap: wrap;
  }

  .ai-assistant-input-row input {
    flex: 1 1 100%;
    min-width: 0;
    order: 1;
  }

  .ai-assistant-input-row #aiAssistantSend {
    flex: 1 1 auto;
    order: 2;
    min-width: 5rem;
  }

  .ai-assistant-input-row #aiAssistantAttachment,
  .ai-assistant-input-row #aiAssistantVoice {
    order: 3;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
  }

  .ai-assistant-panel {
    max-width: calc(100vw - 1.5rem) !important;
    height: min(85dvh, 640px) !important;
  }

  /* Prevent accidental horizontal scroll */
  .ud-quick-nav__inner,
  .ud-strip__scroll {
    padding-bottom: 0.25rem;
  }
}

@media (max-width: 380px) {
  .brand-logo__mark {
    font-size: 1.25rem;
  }

  .btn-gradient {
    padding: 0.45rem 0.65rem !important;
    font-size: 0.75rem !important;
  }
}

body.mobile-menu-open {
  overflow: hidden;
  touch-action: none;
}
