/**
 * responsive.css — FacultyPage Theme
 * Media queries for tablet and mobile breakpoints.
 * Breakpoints:
 *   1200px — wide desktop
 *   1050px — laptop / collapse right widget col
 *    960px — tablet (hero stacks, nav center hides)
 *    768px — sidebar hidden, mobile nav active
 *    600px — small mobile refinements
 */

/* ═══════════════════════════════════════════════════════════
   1200px — Wide Desktop
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
  .fp-main--two-col {
    grid-template-columns: 1fr 280px;
  }
}

/* ═══════════════════════════════════════════════════════════
   1050px — Laptop / Collapse Right Column
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1050px) {
  /* Dashboard */
  .fp-main--two-col {
    grid-template-columns: 1fr;
  }
  .fp-sidebar-right { display: none; }

  /* Profile */
  .fp-main--profile {
    grid-template-columns: 1fr;
  }
  /*.fp-col-right { display: none; }*/
  .fp-profile-hero-stats { display: none; }
}

/* ═══════════════════════════════════════════════════════════
   960px — Tablet
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 960px) {
  /* Homepage hero stacks */
  .fp-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .fp-hero-left {
    border-right: none;
    border-bottom: 1px solid var(--fp-border);
  }

  /* Features: 2 cols */
  .fp-features {
    grid-template-columns: 1fr 1fr;
  }

  /* Steps: single column */
  .fp-steps-grid { grid-template-columns: 1fr; }

  /* Footer stacks */
  .fp-footer {
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem;
  }
  .fp-footer-links {
    flex-wrap: wrap;
    gap: 1rem;
  }

  /* Front nav */
  .fp-front-nav { padding: 0 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════
   768px — Mobile
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Sidebar hides off-canvas */
  .fp-sidebar {
    transform: translateX(-100%);
    z-index: var(--fp-z-overlay);
    width: min(var(--fp-sidebar-w), 85vw);
    box-shadow: var(--fp-shadow-lg);
  }
  .fp-sidebar.is-open {
    transform: translateX(0);
  }
  .fp-sidebar-overlay { display: block; }

  /* Hamburger visible */
  .fp-nav-hamburger { display: flex; }

  /* Main content no longer offset by sidebar */
  .fp-main {
    margin-left: 0;
    padding: 1rem;
  }

  /* Hide search in topnav on very small screens */
  .fp-nav-search { max-width: none; flex: 1; }

  /* Profile info grid: single column */
  .fp-info-grid { grid-template-columns: 1fr; }

  /* Profile hero body stacks */
  .fp-profile-hero-body {
    flex-direction: column;
    align-items: flex-start;
  }
  .fp-avatar-wrap { margin-top: -40px; }
  .fp-profile-hero-stats {
    display: flex;
    margin-left: 0;
    gap: 1rem;
  }

  /* Mini stats in profile card: 3 cols stays but smaller */
  .fp-profile-mini-stats {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Front page */
  .fp-hero-left  { padding: 2rem 1.5rem; }
  .fp-hero-right { padding: 2rem 1.5rem; }
  .fp-hero-title { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .fp-how { padding: 4rem 1.5rem; }
  .fp-sec-title { font-size: 2rem; margin-bottom: 2.5rem; }

  /* Post action buttons: wrap to 2×2 */
  .fp-action-btn {
    flex-basis: calc(50% - 0.25rem);
    flex-grow: 0;
  }

  /* RSS row stacks */
  .fp-rss-row { flex-direction: column; }

  /* Invite form stacks */
  .fp-invite-form { flex-direction: column; }
  .fp-invite-btn { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════
   600px — Small Mobile
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  /* Registration form row: single column */
  .fp-form-row { grid-template-columns: 1fr; }

  /* Features: single column */
  .fp-features { grid-template-columns: 1fr; }
  .fp-feat {
    border-right: none;
    border-bottom: 1px solid var(--fp-border);
  }
  .fp-feat:last-child { border-bottom: none; }

  /* Nav icons: hide messages on small mobile */
  .fp-nav-icon-btn.fp-messages-btn { display: none; }

  /* Hero stats: single column */
  .fp-hero-stats {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .fp-stat-b {
    border-right: none;
    border-bottom: 1px solid var(--fp-border);
    padding: 0 0 1rem 0;
  }
  .fp-stat-b:last-child { border-bottom: none; padding-bottom: 0; padding-left:0}
  .fp-stat-b:nth-child(2) { padding-left: 0; }

  /* Dashboard two-col page header: stack */
  .fp-page-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  /* Profile actions wrap */
  .fp-profile-actions { gap: 0.4rem; }
  .fp-profile-actions .fp-btn-primary,
  .fp-profile-actions .fp-btn-secondary {
    flex: 1;
    text-align: center;
    justify-content: center;
  }

  /* Front nav: hide logo text on very small screens */
  @media (max-width: 360px) {
    .fp-front-logo { font-size: 1.15rem; }
  }

  /* People tabs: font adjustments */
  .fp-ptab { font-size: 0.74rem; padding: 0.6rem 0.5rem; }

  /* Topnav: tighten gap */
  .fp-topnav { gap: 0.75rem; padding: 0 1rem; }
  .fp-nav-logo { font-size: 1.15rem; }
}

/* ═══════════════════════════════════════════════════════════
   Print
   ═══════════════════════════════════════════════════════════ */
@media print {
  .fp-topnav,
  .fp-sidebar,
  .fp-sidebar-overlay,
  .fp-nav-hamburger,
  .fp-composer,
  .fp-post-actions,
  .fp-profile-actions,
  .fp-invite-card,
  .fp-widget { display: none !important; }

  .fp-main {
    margin-left: 0 !important;
    padding: 0 !important;
  }
  .fp-layout { padding-top: 0 !important; }
  .fp-post { border: 1px solid #ccc; page-break-inside: avoid; }
}
