/* =========================================================
   Responsive layer
   Base CSS above targets small screens by default (single
   column, stacked nav). These breakpoints progressively
   enhance the layout for larger viewports.

   Grid column counts for cards (.job-grid, .post-card-grid,
   .content-grid) are driven by the Customizer "Card Design"
   settings via --jck-card-cols-mobile/tablet/desktop, defined
   inline by inc/template-functions.php::jck_dynamic_css().
   ========================================================= */

/* ---- Small phones tightening (≤ 380px) ---- */
@media (max-width: 380px) {
	.container { padding-inline: 16px; }
	.hero { padding-block: 56px 64px; }
	.advanced-search__tabs { padding-inline: 4px; }
}

/* ---- Mobile default state (< 782px): force single-column, hide desktop nav ---- */
@media (max-width: 781px) {
	.site-header__inner { height: var(--jck-header-height-mobile, 64px); }

	.job-grid, .job-grid--archive,
	.content-grid,
	.categories-grid,
	.testimonials-grid,
	.footer-grid { grid-template-columns: repeat(var(--jck-card-cols-mobile, 1), 1fr); }

	.advanced-search__fields { grid-template-columns: 1fr; }
	.single-article__layout { grid-template-columns: 1fr; }
	.single-article__toc { display: none !important; }
	.post-nav { grid-template-columns: 1fr; }
	.post-nav__item--next { grid-column: 1; flex-direction: row; text-align: start; }

	.footer-grid { grid-template-columns: 1fr 1fr; }
	.footer-col--about { grid-column: 1 / -1; }

	.newsletter-inner { flex-direction: column; align-items: flex-start; }
	.newsletter-form { width: 100%; }
	.newsletter-form input[type="email"] { flex: 1; min-width: 0; }

	.telegram-cta { flex-direction: column; align-items: flex-start; text-align: start; }
}

/* ---- Tablet / iPad portrait (782px+) ---- */
@media (min-width: 782px) {
	.content-layout { grid-template-columns: 1fr var(--jck-sidebar-width, 320px); }
	.job-grid, .job-grid--archive, .content-grid { grid-template-columns: repeat(var(--jck-card-cols-tablet, 2), 1fr); }
	.categories-grid { grid-template-columns: repeat(3, 1fr); }
	.testimonials-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Desktop / laptop (1024px+) ---- */
@media (min-width: 1024px) {
	.main-navigation { display: block; }
	.mobile-menu-toggle { display: none; }
	.header-cta { display: inline-flex; }

	.job-grid, .content-grid { grid-template-columns: repeat(var(--jck-card-cols-desktop, 2), 1fr); }
	.job-grid--archive { grid-template-columns: repeat(var(--jck-card-cols-desktop, 2), 1fr); }
	.categories-grid { grid-template-columns: repeat(4, 1fr); }
	.testimonials-grid { grid-template-columns: repeat(3, 1fr); }
	.footer-grid { grid-template-columns: repeat(var(--jck-footer-columns, 4), 1fr); }

	.single-article__toc { display: block; }
}

/* ---- Large desktop (1280px+) refinements ---- */
@media (min-width: 1280px) {
	.hero__inner { max-width: 900px; }
}

/* ---- Landscape phones: reduce vertical hero padding ---- */
@media (max-width: 900px) and (orientation: landscape) {
	.hero { padding-block: 48px; }
}

/* ---- Touch-friendly tap targets ---- */
@media (hover: none) and (pointer: coarse) {
	.btn, .job-card__link, .post-card__link, .category-card, .primary-menu > li > a { min-height: 44px; }
	.mobile-menu-toggle, .header-search-toggle { min-width: 44px; min-height: 44px; }
}

/* ---- Print ---- */
@media print {
	.site-header, .site-footer, .mobile-drawer, .newsletter-section, .jck-share, .telegram-cta, .load-more-wrap { display: none !important; }
	.entry-content { max-width: 100%; }
}
