/* ==========================================================
   Responsive rules — 1920 / 1440 / 1366 / 1024 / 768 / 576 / 430 / 390 / 360
   ========================================================== */

@media (min-width: 1600px) {
  .container-xxl { max-width: 1520px; }
  .masonry { column-count: 5; }
}

@media (max-width: 1399.98px) {
  .site-header .nav-link { padding: .5rem .6rem !important; font-size: .87rem; }
}

@media (max-width: 1199.98px) {
  .masonry { column-count: 3; }
  .site-header .navbar-collapse { margin-top: .6rem; padding: .6rem; border-radius: 16px; background: var(--rp-surface-solid); border: 1px solid var(--rp-border); max-height: 75vh; overflow-y: auto; }
  .site-header .nav-link.active::after { display: none; }
  .site-header .nav-link.active { background: var(--rp-gradient-soft); }
  .hero-visual { height: 460px; }
  .filter-panel { position: static; }
}

@media (max-width: 1023.98px) {
  .hero { padding: 48px 0 60px; }
  .hero-visual { height: 420px; margin-top: 2.5rem; }
  .section { padding: 60px 0; }
  .account-nav { position: static; }
  .account-nav .nav { flex-direction: row !important; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .account-nav .nav::-webkit-scrollbar { display: none; }
  .account-nav .nav-link { white-space: nowrap; }
  .auth-side { display: none; }
}

@media (max-width: 767.98px) {
  body { font-size: .92rem; }
  .masonry { column-count: 2; column-gap: 12px; }
  .masonry-item { margin-bottom: 12px; }
  .pic-actions { opacity: 1; transform: none; }
  .pic-caption { opacity: 1; transform: none; padding: 1.6rem .7rem .7rem; font-size: .8rem; }
  .pic-caption .btn { display: none; }
  .hero-visual { height: 360px; }
  .hero-float.f3 { display: none; }
  .hero-search .form-control { height: 56px; padding-right: 110px; }
  .list-view .prompt-card { flex-direction: column; }
  .list-view .card-media { width: 100%; aspect-ratio: 16/10; min-height: 0; }
  .lightbox-info { max-height: none; }
  .lightbox-media img { max-height: 60vh; }
  .auth-card { padding: 1.6rem; }
  .cta-band { padding: 2.2rem 1.4rem; border-radius: 22px; }
  .chat-bubble { max-width: 95%; }
  .table-responsive-stack thead { display: none; }
  .table-responsive-stack tr { display: block; border: 1px solid var(--rp-border); border-radius: 14px; margin-bottom: .8rem; padding: .4rem .2rem; }
  .table-responsive-stack td { display: flex; justify-content: space-between; gap: 1rem; border: 0 !important; padding: .35rem .8rem; text-align: right; }
  .table-responsive-stack td::before { content: attr(data-label); font-weight: 600; color: var(--rp-muted); text-align: left; }
}

@media (max-width: 575.98px) {
  .section { padding: 44px 0; }
  .page-hero { padding: 36px 0 20px; }
  .hero h1 { font-size: 2.1rem; }
  .hero-visual { height: 300px; }
  .hero-float.f1 { display: none; }
  .hero-search .btn span { display: none; }
  .hero-search .form-control { padding-right: 70px; font-size: .92rem; }
  .card-content { padding: .85rem; }
  .card-actions { flex-wrap: wrap; }
  .price { font-size: 2.2rem; }
  .meta-grid { grid-template-columns: 1fr 1fr; }
  .cookie-banner { left: 8px; right: 8px; bottom: 8px; }
  .back-to-top { right: 14px; bottom: 14px; }
  .brand-text { font-size: .9rem; }
}

@media (max-width: 430px) {
  .container, .container-xxl, .container-fluid { padding-left: 16px; padding-right: 16px; }
  .prompt-grid > [class*="col-"] { width: 100%; }
  .overview-card { padding: 1rem; }
  .header-icons { gap: 0 !important; }
  .icon-btn { width: 36px; height: 36px; }
}

@media (max-width: 390px) {
  .masonry { column-gap: 10px; }
  .hero h1 { font-size: 1.9rem; }
  .card-stats span:nth-child(2) { display: none; }
}

@media (max-width: 360px) {
  .masonry { column-count: 1; }
  .brand-text { display: none; }
  .meta-grid { grid-template-columns: 1fr; }
}
