/* =========================================================
   JUBAYER GLASS PRO — RESPONSIVE (Mobile First Overrides)
   ========================================================= */

@media (max-width: 1100px){
	.jgp-grid-4{ grid-template-columns:repeat(2,1fr); }
	.jgp-grid-3{ grid-template-columns:repeat(2,1fr); }
	.jgp-categories-grid{ grid-template-columns:repeat(3,1fr); }
	.jgp-footer-grid{ grid-template-columns:1fr 1fr; }
	.jgp-content-layout{ grid-template-columns:1fr; }
}

@media (max-width: 860px){
	#jgp-primary-menu{ display:none; }
	.jgp-mobile-toggle{ display:flex; }
	.jgp-hero-panel{ padding:50px 24px; }
	.jgp-section{ padding:70px 0; }
}

@media (max-width: 640px){
	.jgp-grid-4, .jgp-grid-3, .jgp-grid-2{ grid-template-columns:1fr; }
	.jgp-categories-grid{ grid-template-columns:repeat(2,1fr); }
	.jgp-footer-grid{ grid-template-columns:1fr; gap:30px; }
	.jgp-contact-form .row-2{ grid-template-columns:1fr; }
	#jgp-header .jgp-header-inner{ padding:12px 18px; }
	.jgp-newsletter-panel, .jgp-contact-panel{ padding:32px 20px; }
	.jgp-entry-content{ padding:22px; font-size:16px; }
	.jgp-author-box{ flex-direction:column; text-align:center; align-items:center; }
	.jgp-footer-bottom{ flex-direction:column; text-align:center; }
	.jgp-hero-cta{ flex-direction:column; align-items:stretch; }
	.jgp-hero-cta .jgp-btn{ justify-content:center; }
}

/* Mobile slide-in nav */
#jgp-mobile-menu{
	position:fixed; top:0; right:-100%; width:82%; max-width:340px; height:100vh; z-index:1200;
	background:rgba(11,15,25,0.85);
	backdrop-filter:blur(24px) saturate(160%);
	-webkit-backdrop-filter:blur(24px) saturate(160%);
	border-left:1px solid var(--jgp-border);
	padding:30px 26px;
	transition:right .4s cubic-bezier(.2,.8,.2,1);
	overflow-y:auto;
}
#jgp-mobile-menu.is-open{ right:0; }
#jgp-mobile-menu ul li a{
	display:block; padding:16px 6px; font-size:18px; color:var(--jgp-text);
	border-bottom:1px solid var(--jgp-border);
}
.jgp-mobile-overlay{
	position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:1100; opacity:0; visibility:hidden; transition:all .3s ease;
}
.jgp-mobile-overlay.is-open{ opacity:1; visibility:visible; }
.jgp-mobile-close{ background:none; border:none; color:var(--jgp-text); font-size:26px; float:right; cursor:pointer; }

/* Touch friendly tap targets */
@media (hover:none){
	.jgp-card:hover{ transform:none; }
	a, button{ min-height:40px; }
}
