/* =========================================================================
   Insightistic Marketing — responsive layer (progressive enhancement).
   Base styles (theme.css) are mobile-first; these add larger layouts.
   ========================================================================= */

/* ---- ≥ 600px : two-column grids --------------------------------------- */
@media (min-width: 600px) {
	.ins-grid--features { grid-template-columns: repeat(2, 1fr); }
	.ins-grid--posts { grid-template-columns: repeat(2, 1fr); }
	.ins-grid--testimonials { grid-template-columns: repeat(2, 1fr); }
	.ins-steps { grid-template-columns: repeat(2, 1fr); }
	.ins-footer__cols { grid-template-columns: repeat(3, 1fr); }
	.ins-contact__grid { grid-template-columns: 1.4fr 1fr; }
	.ins-preview__lower { grid-template-columns: 1.6fr 1fr; }
}

/* ---- ≥ 820px : pricing 3-up, footer split, larger preview ------------- */
@media (min-width: 820px) {
	.ins-grid--pricing { grid-template-columns: repeat(3, 1fr); align-items: stretch; }
	.ins-grid--testimonials { grid-template-columns: repeat(3, 1fr); }
	.ins-footer__top { grid-template-columns: 1.2fr 2fr; gap: 3rem; }
	.ins-footer__bottom { flex-direction: row; align-items: center; justify-content: space-between; }
	.ins-ctaband__card { grid-template-columns: 1.6fr 1fr; align-items: center; }
	.ins-ctaband__actions { justify-content: flex-end; }
	.ins-ecosystem-band__inner { grid-template-columns: 1.5fr 1fr; }
	.ins-ecosystem-band__links { justify-content: flex-end; }
}

/* ---- ≥ 1024px : desktop header + side-by-side splits ------------------ */
@media (min-width: 1024px) {
	.ins-burger { display: none; }
	.ins-mobile { display: none !important; }
	.ins-nav { display: block; }
	.ins-header__actions { display: flex; }
	.ins-header__inner { gap: 2rem; }
	.ins-nav { margin-left: 0; }
	.ins-menu { margin-left: 0; }
	.ins-header__actions { margin-left: auto; }

	.ins-grid--features { grid-template-columns: repeat(4, 1fr); }
	.ins-steps { grid-template-columns: repeat(3, 1fr); }
	.ins-split__inner { grid-template-columns: 1fr 1fr; }
	.ins-split--reverse .ins-split__text { order: 2; }
	.ins-split--reverse .ins-split__visual { order: 1; }
	.ins-preview__metrics { grid-template-columns: repeat(4, 1fr); }
	.ins-blog__layout { grid-template-columns: 1fr 320px; align-items: start; }
	.ins-grid--posts { grid-template-columns: repeat(2, 1fr); }
}

/* ---- ≥ 1200px : a touch more room ------------------------------------- */
@media (min-width: 1200px) {
	.ins-grid--posts { gap: 1.75rem; }
}

/* Respect users who reduce motion. */
@media (prefers-reduced-motion: reduce) {
	* { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

/* Light-by-default already; keep the print stylesheet explicit anyway. */
@media print {
	.ins-header, .ins-footer, .ins-hero__actions, .ins-burger { display: none !important; }
	body { background: #fff; color: #000; }
}


/* =========================================================================
   1.4.1 integration + footer refresh
   ========================================================================= */

/* Integration catalog */
.ins-integrations__page-header { margin-bottom: 0; }
.ins-integrations-hero {
	padding-top: clamp(1.25rem, 4vw, 2.25rem);
	padding-bottom: clamp(2rem, 6vw, 4rem);
}
.ins-integrations-hero h2 {
	max-width: 760px;
	margin-inline: auto;
}
.ins-integrations-hero .ins-lead {
	max-width: 680px;
	margin-inline: auto;
}
.ins-integrations__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1.5rem;
}
.ins-integrations__proof {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.7rem 1.25rem;
	margin: 1.4rem 0 0;
	padding: 0;
	color: var(--fg-muted);
	font-size: 0.9rem;
}
.ins-integrations__proof li,
.ins-integration-card__footer span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}
.ins-integrations__proof .ins-icon,
.ins-integration-card__footer .ins-icon {
	color: var(--brand-ink);
	flex: 0 0 auto;
}
.ins-integration-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
.ins-integration-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100%;
	padding: clamp(1.15rem, 3vw, 1.45rem);
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: 0 16px 34px -30px rgba(17, 27, 44, 0.35);
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.ins-integration-card:hover {
	transform: translateY(-3px);
	border-color: rgba(4, 210, 192, 0.38);
	box-shadow: 0 22px 40px -28px rgba(17, 27, 44, 0.36);
}
.ins-integration-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}
.ins-integration-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	border-radius: 13px;
	background: rgba(4, 210, 192, 0.12);
	color: var(--brand-ink);
}
.ins-integration-card__type {
	color: var(--brand-ink);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: right;
	text-transform: uppercase;
}
.ins-integration-card h3 {
	margin-bottom: 0.55rem;
}
.ins-integration-card p {
	color: var(--fg-muted);
	margin: 0;
}
.ins-integration-card__footer {
	margin-top: auto;
	padding-top: 1.25rem;
	border-top: 1px solid var(--line);
	color: var(--fg-muted);
	font-size: 0.84rem;
}
.ins-integration-trust {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	max-width: 760px;
	margin: 1.5rem auto 0;
	padding: 1rem 1.1rem;
	background: linear-gradient(120deg, rgba(4, 210, 192, 0.08), rgba(0, 100, 249, 0.07));
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
}
.ins-integration-trust__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	border-radius: 12px;
	background: rgba(4, 210, 192, 0.13);
	color: var(--brand-ink);
}
.ins-integration-trust strong {
	display: block;
	margin-bottom: 0.2rem;
}
.ins-integration-trust p {
	margin: 0;
	color: var(--fg-muted);
	font-size: 0.93rem;
}

/* Integration FAQ accordions */
.ins-integration-faqs {
	display: grid;
	gap: 0.75rem;
}
.ins-integration-faq {
	background: rgba(255, 255, 255, 0.76);
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	padding: 0 1.1rem;
}
.ins-integration-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.05rem 0;
	color: var(--fg);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.ins-integration-faq summary::-webkit-details-marker { display: none; }
.ins-integration-faq summary::after {
	content: '+';
	color: var(--brand-ink);
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
}
.ins-integration-faq[open] summary::after { content: '−'; }
.ins-integration-faq__answer {
	padding: 0 0 1.1rem;
	color: var(--fg-muted);
}
.ins-integration-faq__answer p { margin: 0; }
.ins-integration-faq__answer a {
	color: var(--brand-ink);
	font-weight: 700;
	text-decoration: underline;
}

/* Footer: flatten widget-in-widget output and keep every column readable. */
.ins-footer__cols {
	grid-template-columns: 1fr;
	align-items: start;
	gap: 1.5rem;
}
.ins-footer__col {
	min-width: 0;
}
.ins-footer__col .widget,
.ins-footer__col .wp-block-group,
.ins-footer__col .widget_nav_menu,
.ins-footer__col .widget_text,
.ins-footer__col .wp-block-paragraph {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.ins-footer__col .widget + .widget {
	margin-top: 1.25rem;
}
.ins-footer__col h2.widgettitle,
.ins-footer__col h3.widget-title,
.ins-footer__col .widgettitle {
	margin: 0 0 0.85rem;
	color: var(--brand-ink);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}
.ins-footer__col ul,
.ins-footer__col .menu {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ins-footer__col li { margin: 0; }
.ins-footer__col a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	color: var(--fg-muted);
	font-size: 0.92rem;
}
.ins-footer__col a:hover {
	color: var(--fg);
	text-decoration: none;
	transform: translateX(2px);
}
.ins-footer__col .widget_text p {
	margin: 1.25rem 0 0;
	color: var(--fg-muted);
	line-height: 1.7;
}
.ins-footer__newsletter {
	margin-top: 1.5rem;
}
.ins-footer__newsletter h3 {
	margin-bottom: 0.7rem;
}
.ins-footer__newsletter form,
.ins-footer__newsletter .wpistic-formistic-newsletter {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.5rem;
	max-width: 430px;
}
.ins-footer__newsletter input {
	width: 100%;
	min-width: 0;
	min-height: 46px;
	padding: 0 0.9rem;
	border: 1px solid var(--line-2);
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.72);
	color: var(--fg);
	font: inherit;
}
.ins-footer__newsletter button {
	min-height: 46px;
	padding: 0 1rem;
	border: 1px solid transparent;
	border-radius: 11px;
	background: var(--brand-2);
	color: #FFFFFF;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.ins-footer__newsletter button:hover {
	background: #0055D4;
}
.ins-footer__newsletter [role='status'] {
	grid-column: 1 / -1;
	font-size: 0.82rem;
	color: var(--fg-muted);
}
.ins-footer__bottom {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 1rem 1.5rem;
}
.ins-footer__entity {
	margin: 0;
	color: var(--fg-muted);
	font-size: 0.78rem;
	line-height: 1.55;
	font-style: normal;
}
.ins-footer__legal,
.ins-footer__social {
	align-items: center;
}
.ins-footer__social a,
.ins-footer__legal a {
	min-height: 28px;
}

/* Slightly tighter final CTA rhythm on this page. */
.ins-integrations-page .ins-finalcta {
	padding-top: 1rem;
}

@media (min-width: 600px) {
	.ins-integration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ins-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ins-footer__bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ins-footer__newsletter form,
	.ins-footer__newsletter .wpistic-formistic-newsletter {
		max-width: 460px;
	}
}

@media (min-width: 820px) {
	.ins-integration-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ins-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ins-footer__top { grid-template-columns: minmax(220px, 1.1fr) minmax(0, 2fr); gap: clamp(2rem, 5vw, 4rem); }
	.ins-footer__bottom {
		grid-template-columns: minmax(180px, 1fr) minmax(260px, 1.35fr) minmax(0, 1.6fr) auto;
		align-items: center;
	}
	.ins-footer__newsletter form,
	.ins-footer__newsletter .wpistic-formistic-newsletter {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (min-width: 1024px) {
	.ins-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 599px) {
	.ins-integrations__actions .ins-btn,
	.ins-integrations-page .ins-finalcta .ins-btn {
		width: 100%;
	}
	.ins-footer__newsletter form,
	.ins-footer__newsletter .wpistic-formistic-newsletter {
		grid-template-columns: 1fr;
	}
	.ins-footer__newsletter button { width: 100%; }
	.ins-footer__bottom { gap: 0.8rem; }
}
