/**
 * GCL System Integration - responsive layers (mobile first).
 */

/* ---------- Mobile navigation panel ---------- */
@media (max-width: 991px) {
	.gcl-nav {
		display: block;
		position: fixed;
		inset: 0 0 0 auto;
		width: min(340px, 88vw);
		background: var(--gcl-bg);
		box-shadow: var(--gcl-shadow-lg);
		padding: 84px 20px 30px;
		transform: translateX(105%);
		transition: transform var(--gcl-transition);
		overflow-y: auto;
		z-index: 120;
	}
	.gcl-nav.is-open { transform: translateX(0); }

	.gcl-menu { flex-direction: column; align-items: stretch; gap: 2px; }
	.gcl-menu a { padding: 12px 14px; border-bottom: 1px solid var(--gcl-border); border-radius: 0; }
	.gcl-menu .sub-menu {
		position: static; opacity: 1; visibility: visible; transform: none;
		box-shadow: none; border: 0; padding: 0 0 0 14px; min-width: 0;
	}

	.gcl-nav-overlay {
		position: fixed; inset: 0; background: rgba(11, 18, 32, .5);
		opacity: 0; visibility: hidden; transition: opacity var(--gcl-transition); z-index: 110;
	}
	.gcl-nav-overlay.is-visible { opacity: 1; visibility: visible; }
}

/* ---------- Small tablets ---------- */
@media (min-width: 576px) {
	.gcl-grid--3, .gcl-grid--4, .gcl-grid--6 { grid-template-columns: repeat(2, 1fr); }
	.gcl-posts--grid { grid-template-columns: repeat(2, 1fr); }
	.gcl-form__row { grid-template-columns: 1fr 1fr; }
	.gcl-stats__grid { grid-template-columns: repeat(3, 1fr); }
	.gcl-timeline { grid-template-columns: repeat(2, 1fr); }
	.gcl-post-nav { grid-template-columns: 1fr 1fr; }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
	h1 { font-size: 2.5rem; }
	.gcl-hero__title { font-size: 2.7rem; }
}

/* ---------- Tablets ---------- */
@media (min-width: 768px) {
	.gcl-section { padding: 84px 0; }
	.gcl-section-title { font-size: 2.2rem; }
	.gcl-hero { padding: 116px 0 128px; }
	.gcl-hero__title { font-size: 3.1rem; }
	.gcl-hero__subtitle { font-size: 1.15rem; }
	.gcl-mv { grid-template-columns: 1fr 1fr; }
	.gcl-cta__inner { grid-template-columns: 1fr auto; }
	.gcl-footer__bottom { grid-template-columns: 1fr auto; text-align: left; }
	.gcl-footer__menu { justify-content: flex-end; }
	.gcl-stats__grid { grid-template-columns: repeat(5, 1fr); }
	.gcl-timeline { grid-template-columns: repeat(3, 1fr); }
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Desktop ---------- */
@media (min-width: 992px) {
	.gcl-nav { display: block; }
	.gcl-nav-toggle { display: none; }
	.gcl-header__cta { display: inline-flex; }
	.gcl-grid--3 { grid-template-columns: repeat(3, 1fr); }
	.gcl-grid--4 { grid-template-columns: repeat(4, 1fr); }
	.gcl-grid--6 { grid-template-columns: repeat(6, 1fr); }
	.gcl-about__grid { grid-template-columns: 1fr 1.1fr; align-items: center; }
	.gcl-contact__grid { grid-template-columns: 1fr 1fr; }
	.gcl-layout { grid-template-columns: minmax(0, 1fr) 330px; }
	.gcl-layout--full, body.gcl-no-sidebar .gcl-layout--full { grid-template-columns: 1fr; }
	.gcl-posts--grid { grid-template-columns: repeat(2, 1fr); }
	.gcl-pagehead { padding: 60px 0; }
	.gcl-pagehead__title { font-size: 2.4rem; }
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Large desktop ---------- */
@media (min-width: 1200px) {
	.gcl-hero__title { font-size: 3.5rem; }
	.gcl-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; }
	.gcl-timeline { grid-template-columns: repeat(5, 1fr); }
	.woocommerce ul.products { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Print ---------- */
@media print {
	.gcl-topbar, .gcl-header, .gcl-footer, .gcl-back-to-top, .gcl-sidebar, .gcl-cta { display: none !important; }
	body { color: #000; background: #fff; }
}
