/* =========================================================================
   Digitocrat — responsive.css
   Breakpoints, mobile navigation drawer, table stacking.
   ========================================================================= */

/* Large desktop refinement */
@media (min-width: 1500px) {
	:root { --dig-section-y: 7.5rem; }
}

/* Laptop / small desktop */
@media (max-width: 1080px) {
	.dig-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

/* Tablet landscape */
@media (max-width: 960px) {
	.dig-hero__grid { grid-template-columns: 1fr; }
	.dig-split { grid-template-columns: 1fr; }
	.dig-split--reverse .dig-split__visual { order: 0; }
	.dig-newsletter__grid { grid-template-columns: 1fr; }
	.dig-footer__top { grid-template-columns: 1fr 1fr; }
	.dig-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.dig-toc { position: static; margin-bottom: 2rem; }
	.dig-article--with-toc { display: block; }
}

/* Mobile navigation kicks in */
@media (max-width: 820px) {
	.dig-nav-toggle { display: inline-flex; }
	.dig-header__cta .dig-btn { display: none; }

	.dig-nav {
		position: fixed;
		inset: 74px 0 auto 0;
		background: var(--dig-navy);
		border-bottom: 1px solid var(--dig-line-dark);
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 1rem var(--dig-gutter) 1.75rem;
		transform: translateY(-12px);
		opacity: 0;
		pointer-events: none;
		transition: opacity var(--dig-dur) var(--dig-ease), transform var(--dig-dur) var(--dig-ease);
		max-height: calc(100vh - 74px);
		overflow-y: auto;
	}
	.dig-nav.is-open { opacity: 1; transform: none; pointer-events: auto; }
	.dig-nav__list { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
	.dig-nav__item { border-bottom: 1px solid var(--dig-line-dark); }
	.dig-nav__link { display: block; padding: 1rem 0; font-size: 1.05rem; }
	.dig-nav__link::after { display: none; }
	.dig-nav__cta { display: block; margin-top: 1.25rem; }
	.dig-nav__cta .dig-btn { display: inline-flex; }
}

/* Tablet portrait / large mobile */
@media (max-width: 680px) {
	.dig-grid--2, .dig-grid--3, .dig-grid--4 { grid-template-columns: 1fr; }
	.dig-form__row { grid-template-columns: 1fr; }
	.dig-footer__top { grid-template-columns: 1fr; }
	.dig-cta-band__inner { flex-direction: column; align-items: flex-start; }
	.dig-marketyro__inner { flex-direction: column; align-items: flex-start; }
	.dig-bar { grid-template-columns: 100px 1fr 38px; }

	/* Stacking data tables that opt in */
	.dig-table--stack { min-width: 0; }
	.dig-table--stack thead { position: absolute; left: -9999px; }
	.dig-table--stack tr { display: block; border-bottom: 1px solid var(--dig-line); padding: 0.75rem 0; }
	.dig-table--stack td { display: flex; justify-content: space-between; gap: 1rem; border: 0; padding: 0.4rem 1.25rem; text-align: right; }
	.dig-table--stack td::before { content: attr(data-label); font-weight: 600; color: var(--dig-slate); text-transform: uppercase; font-size: 0.72rem; letter-spacing: 0.08em; }
}

/* Small mobile */
@media (max-width: 400px) {
	:root { --dig-gutter: 1.1rem; }
	.dig-brand { font-size: 1.2rem; }
	.dig-hero__meta { gap: 1.25rem; }
}
