/* =====================================================================
   ProVirtual Stage — Responsive (Elementor breakpoints)
   ===================================================================== */

/* Tablet & below */
@media (max-width: 1024px) {
	.hero__inner { grid-template-columns: 1fr; }
	.hero__visual { max-width: 520px; margin-inline: auto; }
	.why__inner, .order__inner, .faq__inner { grid-template-columns: 1fr; }
	.section-header--left { text-align: center; }
	.showcase__grid, .how__steps, .credit-grid, .testimonials__grid { grid-template-columns: repeat(2, 1fr); }
	.stats__grid { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile */
@media (max-width: 767px) {
	:root { --space-section: 3.25rem; }

	.site-nav { display: none; }
	.site-header__actions .btn-cta { display: none; }
	.nav-toggle { display: flex; }
	.site-header__actions { margin-left: auto; }
	.mobile-nav.is-open { display: block; }

	.hero__actions .btn { flex: 1 1 auto; }
	.hero__floating { display: none; }

	.showcase__grid, .how__steps, .credit-grid, .testimonials__grid,
	.site-footer__top, .site-footer__widgets, .form-grid-2 { grid-template-columns: 1fr; }

	.credit-card__foot { flex-wrap: wrap; }
	.site-footer__bottom { flex-direction: column; text-align: center; }
}

/* Small phones */
@media (max-width: 420px) {
	.stats__grid { grid-template-columns: 1fr; }
	.hero__badges { gap: 0.75rem; }
}

/* Small phones — compact header so the logo fits cleanly */
@media (max-width: 480px) {
	.site-header__inner { gap: 0.5rem; min-height: 62px; }
	.site-logo { font-size: 1rem; gap: 0.45rem; }
	.site-logo__mark { width: 26px; height: 26px; border-radius: 8px; }
	.site-header__actions { gap: 0.4rem; }
	.pvs-lang__btn { padding: 0.38rem 0.55rem; font-size: 0.78rem; gap: 0.3rem; }
	.pvs-lang__caret { display: none; }
	.nav-toggle { width: 42px; height: 40px; }
}

@media (max-width: 360px) {
	.site-logo { font-size: 0.92rem; }
	.pvs-lang__btn .pvs-lang__code { display: none; }
}
