/**
 * Jisento — Responsive
 * Mobile-first adjustments layered on top of layout.css and
 * components.css. Designed for real breakpoints, not just "shrink
 * the desktop layout".
 */

/* -----------------------------------------------------------
   Laptop / small desktop
----------------------------------------------------------- */

@media (max-width: 1200px) {
	.jisento-container {
		--jisento-container: 960px;
	}

	.jisento-footer-inner,
	.jisento-footer-inner--fluxi {
		grid-template-columns: 1fr 1fr;
	}

	.jisento-footer-inner--fluxi .jisento-footer-branding,
	.jisento-footer-social,
	.jisento-footer-inner--fluxi .jisento-footer-nav,
	.jisento-footer-newsletter {
		grid-column: auto;
		grid-row: auto;
	}

	.jisento-hub-layout {
		grid-template-columns: 1fr;
	}

	.jisento-hub-sidebar,
	.jisento-hub-navcol,
	.jisento-hub-railcol {
		position: static;
	}

	.jisento-hub-support__grid,
	.jisento-home-insights-grid {
		grid-template-columns: 1fr;
	}

	.jisento-hub-more {
		flex-direction: column;
		align-items: flex-start;
	}

	.jisento-home-insights-grid {
		grid-template-columns: 1fr;
	}

	.jisento-footer-widgets {
		grid-column: 1 / -1;
	}
}

/* -----------------------------------------------------------
   Tablet
----------------------------------------------------------- */

@media (max-width: 960px) {

	h1 { font-size: var(--jisento-fs-2xl); }
	h2 { font-size: var(--jisento-fs-xl); }

	.jisento-post-grid,
	.jisento-no-sidebar .jisento-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	body:not(.jisento-no-sidebar) .jisento-main > .jisento-container {
		grid-template-columns: 1fr;
	}

	body:not(.jisento-no-sidebar) .jisento-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.jisento-sidebar {
		margin-top: var(--jisento-space-6);
	}
}

/* -----------------------------------------------------------
   Mobile navigation
----------------------------------------------------------- */

@media (max-width: 782px) {

	.jisento-menu-toggle {
		display: flex;
	}

	.jisento-primary-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		background: var(--jisento-bg);
		border-bottom: 1px solid var(--jisento-border);
		box-shadow: var(--jisento-shadow-md);
		max-height: 0;
		overflow: hidden;
		transition: max-height var(--jisento-duration-base) var(--jisento-ease);
	}

	.jisento-primary-nav.is-open {
		max-height: none;
		overflow-y: auto;
		margin: 8px 12px 0;
		border-radius: 16px;
		background: #fff;
		border: 1px solid var(--jisento-border);
		box-shadow: 0 18px 50px rgba(27, 33, 64, 0.14);
		padding: 8px 0 12px;
	}

	.jisento-primary-menu a {
		display: block;
		padding: 0.85rem 1.1rem;
		color: var(--jisento-dark);
		border-radius: 10px;
		margin: 0 8px;
	}

	.jisento-primary-menu .current-menu-item > a,
	.jisento-primary-menu a:hover {
		background: rgba(61, 91, 255, 0.08);
		color: var(--jisento-primary);
	}

	.jisento-header-actions {
		display: none;
	}

	.jisento-header .jisento-primary-nav.is-open .jisento-header-cta--mobile {
		display: inline-flex !important;
		margin: var(--jisento-space-3);
		width: calc(100% - 2rem);
	}

	.jisento-primary-menu > li > a::after {
		display: none;
	}

	.jisento-primary-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: var(--jisento-space-3);
	}

	.jisento-primary-menu li {
		border-bottom: 1px solid var(--jisento-border);
	}

	.jisento-primary-menu li:last-child {
		border-bottom: none;
	}

	.jisento-primary-menu a {
		display: block;
		padding: var(--jisento-space-3) var(--jisento-space-1);
		color: var(--jisento-dark);
	}

	.jisento-primary-menu > li > ul {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		background: var(--jisento-bg-soft);
		display: none;
	}

	.jisento-primary-menu > li.jisento-submenu-open > ul {
		display: block;
	}

	.jisento-menu-toggle[aria-expanded="true"] .jisento-menu-toggle-bar:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.jisento-menu-toggle[aria-expanded="true"] .jisento-menu-toggle-bar:nth-child(2) {
		opacity: 0;
	}

	.jisento-menu-toggle[aria-expanded="true"] .jisento-menu-toggle-bar:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}
}

/* -----------------------------------------------------------
   Mobile
----------------------------------------------------------- */

@media (max-width: 600px) {

	:root {
		--jisento-container-padding: 1.25rem;
	}

	h1 { font-size: clamp(2.1rem, 8vw, 2.75rem); }
	h2 { font-size: var(--jisento-fs-lg); }

	.jisento-404-actions .jisento-btn {
		width: 100%;
	}

	.jisento-main {
		padding-block: var(--jisento-space-5);
	}

	.jisento-post-grid,
	.jisento-no-sidebar .jisento-post-grid,
	body:not(.jisento-no-sidebar) .jisento-post-grid {
		grid-template-columns: 1fr;
	}

	.jisento-footer-inner,
	.jisento-footer-inner--fluxi {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.jisento-footer-social {
		justify-content: flex-start;
	}

	.nav-links {
		grid-template-columns: 1fr;
	}

	.nav-links .nav-next {
		text-align: left;
	}
}

/* Avoid horizontal overflow from any wide inline elements (tables, code, embeds). */
.jisento-entry-content table,
.jisento-entry-content pre,
.jisento-entry-content iframe,
.jisento-entry-content embed,
.jisento-entry-content object,
.jisento-entry-content video {
	max-width: 100%;
	overflow-x: auto;
}
