/* ==========================================================
   RESPONSIVE - TABLET
========================================================== */

@media (max-width: 991.98px) {
  .section {
    padding: 50px 0;
  }
}

/* ==========================================================
   RESPONSIVE - MOBILE
========================================================== */

@media (max-width: 767.98px) {
  /* NAVBAR */
  .navbar {
    min-height: 64px;
  }

  .navbar-brand {
    font-size: 20px;
  }

  /* SECTION */
  .section {
    padding: 40px 0;
  }

  .section-title {
    font-size: 26px;
  }

  /* FOOTER */
  .site-footer {
    padding-top: 45px;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  /* BÀI VIẾT + THƯ VIỆN */
  .post-page-hero,
  .gallery-public-hero {
    padding: 45px 0;
  }

  .post-page-hero h1,
  .gallery-public-hero h1 {
    font-size: 32px;
  }

  .public-post-detail-title {
    font-size: 32px;
  }

  .public-post-detail-excerpt {
    font-size: 16px;
  }

  .public-post-content {
    font-size: 16px;
  }

  .public-gallery-grid {
    columns: 2 150px;
    column-gap: 10px;
  }

  .public-gallery-item {
    margin-bottom: 10px;
    border-radius: 12px;
  }

  /* CONTACT SOCIAL */
  .contact-social-list {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* ==========================================================
   RESPONSIVE - PHONE NHỎ
========================================================== */

@media (max-width: 575.98px) {
  /* AUTH */
  .auth-section {
    padding: 30px 0;
  }

  .auth-card {
    padding: 24px 18px;
    border-radius: 18px;
  }

  .auth-title {
    font-size: 26px;
  }

  /* CONTACT */
  .contact-card {
    padding: 20px;
  }

  /* SOCIAL */
  .contact-social-wrap {
    padding: 16px;
  }

  .contact-social-title {
    font-size: 18px;
  }

  .contact-social-link {
    width: 100%;
    max-width: 240px;
  }

  /* FLOATING CONTACT */
  .contact-widget {
    right: 14px;
    bottom: 14px;
  }

  .contact-widget-panel {
    width: min(300px, calc(100vw - 28px));
  }
}
