/* ===================== Responsive ===================== */
@media (max-width: 900px) {
  .contact__inner { grid-template-columns: 1fr; }
  .pricing-showcase { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .main-nav {
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--bg);
    flex-direction: column;
    padding: 16px 24px;
    border-bottom: 1px solid var(--border);
    display: none;
    gap: 16px;
  }
  .main-nav.is-open { display: flex; }
  .nav-toggle { display: flex; }
  .header__actions .btn--sm { display: none; }
  .hero { padding: 70px 0 50px; }
  .hero__cta .btn { flex: 1; }
  .templates-section, .work-section, .how-section, .pricing-section, .contact-section { padding: 60px 0; }
  .pricing-showcase__main, .pricing-showcase__addons { padding: 30px 24px; }
}

@media (max-width: 480px) {
  .hero__stats { gap: 22px; }
  .type-switch { grid-template-columns: 1fr; }
  .sections-info__list { grid-template-columns: 1fr; }
  .custom-wedding-block { padding: 22px 16px; }
  .custom-wedding-title { font-size: 1.3rem; }
}

/* ---- Systems block: three-up switch and mock dashboard on small screens ---- */
@media (max-width: 940px) {
  .type-switch { grid-template-columns: 1fr; }
  .sys-hero { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 560px) {
  .sys-hero { padding: 24px 18px; }
  .sys-hero__title { font-size: 1.35rem; }
  .sys-mock__body { grid-template-columns: 1fr; }
  .sys-mock__side { border-inline-end: none; border-bottom: 1px solid var(--on-dark-line); }
  .sys-mock__side ul { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .sys-mock__kpis { grid-template-columns: 1fr; }
  .sys-request { flex-direction: column; align-items: stretch; }
  .sys-request__actions .btn { flex: 1; justify-content: center; }
}
