/* Top-level layout containers, footer, global responsive breakpoints. */

.app { position: relative; z-index: 2; max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.view { display: none; }
.view.active { display: block; }

.page-head { padding: 32px 0 24px; }
.page-head h1 { font-size: 28px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 6px; }
.page-head .sub { font-size: 14px; color: var(--text-secondary); }

/* ─── Footer ────────────────────────────────────────────────── */
footer { text-align: center; padding: 24px 0; border-top: 1px solid var(--border); font-size: 13px; color: var(--text-muted); }
footer a { color: var(--accent-bright); text-decoration: none; }

/* ─── Responsive ────────────────────────────────────────────── */
@media (max-width: 768px) {
  header { flex-wrap: wrap; }
  nav { order: 3; width: 100%; justify-content: center; padding-top: 12px; border-top: 1px solid var(--border); margin-top: 12px; }
  .options-grid { grid-template-columns: 1fr; }
  .sites-grid { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
  .dropzone { padding: 36px 20px; }
  .deploy-result .site-url-block { flex-direction: column; }
}
