/* ═══════════════════════════════════════════
   RESPONSIVE - compatibil orice ecran
   ════════════════════════════════════════ */

/* MOBIL mic < 480px */
@media (max-width: 480px) {
  .topbar { padding: 0 10px; gap: 6px; }
  .tb-brand { font-size: 13px; padding-right: 8px; }
  .tb-brand-ico { width: 28px; height: 28px; font-size: 14px; }
  .tb-nav a { padding: 4px 7px; font-size: 11px; }
  .layout { grid-template-columns: 1fr !important; padding: 0 10px; margin: 12px auto; gap: 10px; }
  .sidebar, .col-l, .col-r { display: none !important; }
  .row-3 { grid-template-columns: 1fr !important; }
  .modal { max-width: 95vw !important; margin: 10px; }
  .fr2 { grid-template-columns: 1fr !important; }
  .hero { padding: 14px !important; }
  .hero-name { font-size: 18px !important; }
  .stats-bar { grid-template-columns: repeat(2,1fr) !important; }
  .page-wrap { padding: 0 10px !important; }
  .ctrl-grid { grid-template-columns: 1fr !important; }
  .chat-wrap { grid-template-columns: 1fr !important; }
  .chat-sidebar { display: none !important; }
  .pbox-bot { flex-wrap: wrap; }
  .btn-post { width: 100%; justify-content: center; margin-top: 6px; }
}

/* MOBIL 480-768px */
@media (max-width: 768px) {
  .layout { grid-template-columns: 1fr !important; padding: 0 12px; }
  .sidebar, .col-l, .col-r { display: none !important; }
  .row-3 { grid-template-columns: 1fr !important; }
  .stats-bar { grid-template-columns: repeat(3,1fr) !important; }
  .ctrl-grid { grid-template-columns: 1fr !important; }
  .chat-wrap { grid-template-columns: 1fr !important; }
  .chat-sidebar { display: none !important; }
  .fr2 { grid-template-columns: 1fr !important; }
  .hero-top { flex-direction: column; gap: 12px; }
  .hero-acts { flex-wrap: wrap; width: 100%; }
  .pm-opts { grid-template-columns: repeat(3,1fr); }
}

/* TABLET 768-1024px */
@media (max-width: 1024px) and (min-width: 769px) {
  .layout { grid-template-columns: 200px 1fr !important; }
  .col-r { display: none !important; }
  .row-3 { grid-template-columns: 1fr 1fr !important; }
  .ctrl-grid { grid-template-columns: repeat(2,1fr) !important; }
  .stats-bar { grid-template-columns: repeat(3,1fr) !important; }
}

/* Topbar responsive */
@media (max-width: 900px) {
  .tb-nav { display: none !important; }
}
@media (max-width: 768px) {
  .tb-r { gap: 6px; }
  .tb-r > div { display: none; }
}

/* Index.html specific */
@media (max-width: 768px) {
  .services-row { grid-template-columns: repeat(2,1fr) !important; }
  .hero-left { padding: 20px 16px !important; }
  .stats-strip { flex-direction: column; gap: 10px !important; }
  .podium { display: none; }
  .top-card { padding: 10px !important; }
  .gov-cards-grid { grid-template-columns: 1fr !important; }
  .tab-bar { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 480px) {
  .services-row { grid-template-columns: 1fr !important; }
  .svc { padding: 16px 14px !important; }
}

/* ANPC panel */
@media (max-width: 768px) {
  .firms-header { flex-direction: column !important; gap: 8px !important; }
  .firms-header .sbox { width: 100%; }
  .fcard { padding: 12px !important; }
  .anpc-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
}

/* Chat */
@media (max-width: 700px) {
  .chat-main { height: 100%; }
  .messages-wrap { padding: 10px !important; }
  .input-wrap { padding: 8px 10px !important; }
}

/* Firm page */
@media (max-width: 768px) {
  .row-3 { display: flex !important; flex-direction: column !important; }
  #col-chirie, #col-amenzi, #col-pen, #col-ctrl { margin-bottom: 12px; }
}

/* Universal helpers */
* { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; height: auto; }
input, select, textarea, button { font-size: 16px !important; } /* evita zoom pe iOS */
@media (max-width: 768px) {
  input, select, textarea { font-size: 16px !important; }
}

@media (max-width: 900px) {
  #p-fines > div:last-child { grid-template-columns: 1fr !important; }
}
