/* ==========================================================================
   Responsive & Multi-Device Optimization - URL Shortener Pro
   Mobile-First Progressive Enhancement
   ========================================================================== */

/* Universal Touch & Performance Optimizations */
@media screen and (max-width: 767.98px) {
  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="url"],
  input[type="number"],
  input[type="search"],
  select.form-select,
  textarea.form-control {
    font-size: 16px !important;
  }

  .hero-section {
    padding: 2rem 0 1.5rem;
  }

  .hero-section h1 {
    font-size: 1.75rem !important;
  }

  .hero-section .lead {
    font-size: 0.95rem;
  }

  .hero-pill-badge {
    font-size: 0.8rem;
    padding: 0.3rem 0.75rem;
    margin-bottom: 1rem;
  }

  .shortener-card {
    padding: 1.5rem 1.25rem;
    border-radius: var(--radius-xl);
  }

  .shortener-input-group {
    flex-direction: column;
    padding: 0.5rem;
    gap: 0.5rem;
    border-radius: var(--radius-lg);
  }

  .shortener-input {
    width: 100%;
    padding: 0.65rem 0.5rem;
    font-size: 1rem;
  }

  .shortener-btn {
    width: 100%;
    padding: 0.75rem 1.25rem;
  }

  .stat-card {
    padding: 1.15rem;
  }

  .stat-number {
    font-size: 1.6rem;
  }

  .stat-icon {
    width: 42px;
    height: 42px;
    font-size: 1.1rem;
  }

  .feature-card {
    padding: 1.5rem 1.25rem;
  }

  .feature-icon-wrapper {
    width: 44px;
    height: 44px;
    font-size: 1.15rem;
    margin-bottom: 1rem;
  }

  .card-body {
    padding: 1.15rem;
  }

  /* CTA section mobile */
  .py-5 .rounded-4 {
    padding: 2rem 1.25rem !important;
  }

  /* Footer mobile */
  footer {
    padding: 2.5rem 0 1.5rem;
  }

  footer .row {
    text-align: center;
  }

  footer h6 {
    margin-top: 0.5rem;
  }
}

/* Smooth Touch Scrolling */
.table-responsive,
.overflow-auto,
.overflow-x-auto,
.overflow-y-auto,
.list-group,
.chat-conversation-list,
.chat-messages {
  -webkit-overflow-scrolling: touch;
}

/* Responsive Table Padding */
@media (max-width: 767.98px) {
  .table thead th,
  .table tbody td {
    padding: 0.7rem 0.85rem !important;
    font-size: 0.85rem !important;
  }

  .table thead th {
    font-size: 0.7rem !important;
  }
}

/* Tablet Optimizations */
@media (min-width: 768px) and (max-width: 991.98px) {
  .hero-section {
    padding: 3rem 0;
  }

  .hero-section h1 {
    font-size: 2.25rem !important;
  }

  .shortener-card {
    padding: 2rem 1.75rem;
  }

  .feature-card {
    padding: 1.75rem 1.5rem;
  }
}

/* Large Desktop Polish */
@media (min-width: 1400px) {
  .hero-section {
    padding: 5rem 0 4rem;
  }

  .feature-card {
    padding: 2.25rem 2rem;
  }
}

/* Touch Action */
a, button, input, select, textarea, .btn, .nav-link, .card {
  touch-action: manipulation;
}

/* Print Styles */
@media print {
  .navbar,
  footer,
  .btn,
  .theme-toggle-animated,
  .notification-bell {
    display: none !important;
  }

  body {
    background: white !important;
    color: black !important;
  }

  .card {
    box-shadow: none !important;
    border: 1px solid #ccc !important;
  }
}
