/* Products page - reference-matched layout. */
:root {
	--products-orange: var(--aditi-brand-orange-cta);
	--products-navy: var(--aditi-text-heading);
	--products-body: var(--aditi-text-primary);
	--products-border: var(--aditi-border-default);
}

.products-page,
.products-page > .wp-block-shortcode {
	max-width: none !important;
	margin: 0 !important;
}

.products-page {
	background: var(--aditi-surface-primary);
	color: var(--products-body);
}

.products-page *,
.products-page *::before,
.products-page *::after {
	box-sizing: border-box;
}

.products-hero {
	position: relative;
	min-height: 306px;
	overflow: hidden;
	border-bottom: 1px solid #f0f2f5;
	background: var(--aditi-surface-primary);
}

.products-hero__inner {
	position: relative;
	z-index: 2;
	width: min(1378px, calc(100% - 48px));
	min-height: 306px;
	display: grid;
	grid-template-columns: minmax(420px, 1.12fr) minmax(280px, .72fr) minmax(350px, .9fr);
	align-items: center;
	gap: var(--aditi-space-30);
	margin: 0 auto;
}

.products-hero__dots {
	position: absolute;
	z-index: 1;
	top: 21px;
	bottom: 35px;
	left: 0;
	width: 72px;
	background-image: radial-gradient(var(--products-orange) 1.55px, transparent 1.85px);
	background-size: 18px 19px;
	opacity: .92;
}

.products-hero__waves {
	position: absolute;
	z-index: 1;
	right: -3%;
	bottom: -116px;
	left: 25%;
	height: 180px;
	border: 1px solid rgba(246, 83, 11, .15);
	border-radius: var(--aditi-radius-round);
	box-shadow: 0 -8px 0 var(--aditi-brand-orange-cta-alpha-035), 0 -16px 0 var(--aditi-brand-orange-cta-alpha-03), 0 -24px 0 var(--aditi-brand-orange-cta-alpha-025), 0 -32px 0 rgba(246, 83, 11, .02);
	transform: rotate(-2deg);
}

.products-hero__copy {
	padding: var(--aditi-space-28) 0 var(--aditi-space-30) var(--aditi-space-24);
}

.products-eyebrow {
	position: relative;
	display: inline-block;
	margin: 0 0 var(--aditi-space-12);
	padding-bottom: var(--aditi-space-9);
	color: var(--products-orange);
	font-size: var(--aditi-font-size-076);
	font-weight: var(--aditi-font-weight-black);
	letter-spacing: .025em;
	line-height: 1.2;
	text-transform: uppercase;
}

.products-eyebrow::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 39px;
	height: 2px;
	background: var(--products-orange);
	content: "";
}

.products-hero h1 {
	margin: 0 0 var(--aditi-space-14);
	color: var(--products-navy);
	font-size: clamp(2.25rem, 3.45vw, 3.04rem);
	letter-spacing: -.052em;
	line-height: 1.08;
}

.products-hero h1 span {
	color: var(--products-orange);
}

.products-hero__copy > p:last-child {
	max-width: 540px;
	margin: 0;
	color: var(--aditi-text-strong-alt);
	font-size: .89rem;
	line-height: 1.7;
}

.products-hero__emblem {
	position: relative;
	display: grid;
	place-items: center;
	justify-self: center;
	width: 246px;
	height: 246px;
	border: 1px dashed rgba(246, 83, 11, .72);
	border-radius: var(--aditi-radius-round);
}

.products-hero__emblem::before,
.products-hero__emblem::after {
	position: absolute;
	border-radius: var(--aditi-radius-round);
	content: "";
}

.products-hero__emblem::before {
	inset: 10px;
	border: 4px solid var(--products-orange);
	box-shadow: inset 0 0 0 8px var(--aditi-surface-primary), inset 0 0 0 10px rgba(246, 83, 11, .28);
}

.products-hero__emblem::after {
	inset: 19px;
	border: 1px solid rgba(246, 83, 11, .55);
}

.products-hero__emblem span {
	position: relative;
	z-index: 2;
	width: 170px;
	height: 170px;
	display: block;
}

.products-hero__emblem img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.products-hero__benefits {
	display: grid;
	gap: var(--aditi-space-15);
	padding-right: var(--aditi-space-10);
}

.products-benefit {
	position: relative;
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr);
	align-items: center;
	gap: var(--aditi-space-17);
}

.products-benefit::before {
	position: absolute;
	top: 50%;
	right: calc(100% + 4px);
	width: 60px;
	border-top: 1px dashed var(--products-orange);
	content: "";
}

.products-benefit__icon {
	width: 70px;
	height: 70px;
	display: grid;
	place-items: center;
	border: 1px solid var(--products-orange);
	border-radius: var(--aditi-radius-round);
	background: var(--aditi-surface-glass-94);
	color: var(--products-orange);
}

.products-benefit__icon .aditi-icon {
	width: 39px;
	height: 39px;
	stroke-width: 1.75;
}

.products-benefit h2 {
	margin: 0 0 var(--aditi-space-4);
	color: var(--products-navy);
	font-size: var(--aditi-font-size-098);
	letter-spacing: -.02em;
	line-height: 1.25;
}

.products-benefit p {
	max-width: 275px;
	margin: 0;
	color: var(--aditi-text-strong-alt);
	font-size: var(--aditi-font-size-074);
	line-height: 1.55;
}

.products-catalog {
	width: min(1392px, calc(100% - 48px));
	margin: 0 auto;
	padding: 0 0 var(--aditi-space-18);
}

.products-section-heading {
	position: relative;
	z-index: 3;
	margin: -1px auto var(--aditi-space-7);
	text-align: center;
}

.products-section-heading h2 {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: var(--aditi-space-7) 0 var(--aditi-space-9);
	color: var(--products-orange);
	font-size: var(--aditi-font-size-078);
	font-weight: var(--aditi-font-weight-black);
	letter-spacing: .025em;
	line-height: 1.2;
	text-transform: uppercase;
}

.products-section-heading h2::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 38px;
	height: 2px;
	background: var(--products-orange);
	content: "";
	transform: translateX(-50%);
}

.products-catalog__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 19px;
}

.products-card {
	--card-accent: var(--products-orange);
	scroll-margin-top: 96px;
	min-width: 0;
	min-height: 404px;
	display: flex;
	flex-direction: column;
	padding: var(--aditi-space-4) var(--aditi-space-34) var(--aditi-space-18);
	border: 1px solid var(--aditi-border-medium);
	border-radius: var(--aditi-radius-xl);
	background: var(--aditi-surface-primary);
	box-shadow: 0 2px 10px rgb(var(--aditi-shadow-rgb) / .04);
	transition: transform .2s ease, box-shadow .2s ease;
}

.products-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgb(var(--aditi-shadow-rgb) / .08);
}

.products-card--doc {
	--card-accent: #146cf4;
	background: radial-gradient(circle at 50% 4%, var(--aditi-surface-info) 0%, var(--aditi-surface-primary) 58%);
}
.products-card--school { --card-accent: #6b15ad; }
.products-card--study { --card-accent: #f41467; }
.products-card--survey { --card-accent: #f65b0a; }

.products-card__art {
	width: 100%;
	height: 116px;
	display: block;
	object-fit: contain;
	margin: 0 auto 1px;
}

.products-card h3 {
	margin: 0;
	color: var(--card-accent);
	font-size: 1.11rem;
	letter-spacing: -.025em;
	line-height: 1.2;
	text-align: center;
}

.products-card__subtitle {
	margin: 1px 0 var(--aditi-space-8);
	color: var(--products-navy);
	font-size: .73rem;
	font-weight: var(--aditi-font-weight-semibold);
	line-height: 1.35;
	text-align: center;
}

.products-card__description {
	min-height: 48px;
	margin: 0 0 var(--aditi-space-7);
	color: var(--aditi-text-strong-alt);
	font-size: var(--aditi-font-size-074);
	line-height: 1.55;
}

.products-card ul {
	display: grid;
	gap: var(--aditi-space-5);
	margin: 0 0 var(--aditi-space-14);
	padding: 0;
	list-style: none;
}

.products-card li {
	display: grid;
	grid-template-columns: 15px minmax(0, 1fr);
	align-items: center;
	gap: var(--aditi-space-7);
	color: var(--aditi-text-heading);
	font-size: var(--aditi-font-size-072);
	line-height: 1.35;
}

.products-card li .aditi-icon {
	width: 15px;
	height: 15px;
	fill: var(--card-accent);
	color: var(--aditi-text-inverse);
	stroke-width: 2.7;
}

.products-card__action {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: auto;
}

.products-card__action > a {
	width: 100%;
	min-height: 39px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--aditi-space-14);
	padding: var(--aditi-space-7) var(--aditi-space-14);
	border: 1px solid var(--card-accent);
	border-radius: var(--aditi-radius-control);
	color: var(--card-accent);
	font-size: var(--aditi-font-size-075);
	font-weight: var(--aditi-font-weight-extrabold);
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s ease, color .2s ease;
}

.products-card__action > a .aditi-icon {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	stroke-width: 2.2;
}

.products-card__action > a:hover {
	background: var(--card-accent);
	color: var(--aditi-text-inverse);
}

.products-card--doc .products-card__art {
	height: 124px;
}

.products-card__action--stores {
	flex-direction: column;
	gap: var(--aditi-space-8);
	padding-top: var(--aditi-space-12);
	border-top: 1px solid var(--products-border);
}

.products-card__action--stores > a {
	min-height: 49px;
	justify-content: flex-start;
	gap: var(--aditi-space-10);
	padding: var(--aditi-space-6) var(--aditi-space-12);
}

.products-card__store-icon {
	width: 31px;
	height: 31px;
	display: grid;
	flex: 0 0 31px;
	place-items: center;
	padding-right: var(--aditi-space-9);
	border-right: 1px solid color-mix(in srgb, var(--card-accent) 54%, transparent);
	color: var(--card-accent);
}

.products-card__store-icon .aditi-icon {
	width: 22px;
	height: 22px;
	flex-basis: 22px;
}

.products-card__store--android .products-card__store-icon {
	color: var(--aditi-accent-green);
}

.products-card__store-copy {
	min-width: 0;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1px;
	line-height: 1.05;
	text-align: left;
}

.products-card__store-copy small {
	font-size: .61rem;
	font-weight: var(--aditi-font-weight-medium);
}

.products-card__store-copy strong {
	font-size: .72rem;
	font-weight: var(--aditi-font-weight-black);
}

.products-card__store > .aditi-icon:last-child {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.products-cta {
	width: min(1392px, calc(100% - 48px));
	min-height: 125px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px minmax(0, 1.02fr);
	align-items: center;
	gap: var(--aditi-space-25);
	margin: 0 auto var(--aditi-space-10);
	padding: var(--aditi-space-15) var(--aditi-space-40);
	border-radius: var(--aditi-radius-xl);
	background: linear-gradient(100deg, #fff7f0 0%, var(--aditi-brand-orange-soft-4) 52%, var(--aditi-brand-orange-soft-5) 100%);
}

.products-cta__item {
	min-width: 0;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	align-items: center;
	gap: var(--aditi-space-20);
}

.products-cta__icon {
	width: 86px;
	height: 86px;
	display: grid;
	place-items: center;
	border: 1px solid #f1e4d9;
	border-radius: var(--aditi-radius-round);
	background: var(--aditi-surface-primary);
	box-shadow: 0 4px 12px rgb(var(--aditi-shadow-rgb) / .07);
	color: var(--products-orange);
}

.products-cta__icon .aditi-icon {
	width: 45px;
	height: 45px;
	stroke-width: 1.75;
}

.products-cta h2 {
	margin: 0 0 var(--aditi-space-5);
	color: var(--products-navy);
	font-size: 1.01rem;
	letter-spacing: -.025em;
	line-height: 1.3;
}

.products-cta p {
	margin: 0;
	color: var(--aditi-text-strong-alt);
	font-size: .73rem;
	line-height: 1.55;
}

.products-cta__action {
	min-height: 72px;
	display: grid;
	place-items: center;
	padding: 0 35px;
	border-right: 1px solid var(--aditi-border-product-warm);
	border-left: 1px solid var(--aditi-border-product-warm);
}

.products-cta__action > a {
	width: 100%;
	min-height: 55px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--aditi-space-20);
	padding: var(--aditi-space-10) var(--aditi-space-24);
	border-radius: var(--aditi-radius-control);
	background: linear-gradient(90deg, #ff6811, var(--aditi-brand-orange-hover));
	color: var(--aditi-text-inverse);
	font-size: var(--aditi-font-size-098);
	font-weight: var(--aditi-font-weight-extrabold);
	text-decoration: none;
}

.products-cta__action > a:hover {
	background: var(--aditi-brand-orange-deep);
	color: var(--aditi-text-inverse);
}

.products-cta__action .aditi-icon {
	width: 23px;
	height: 23px;
}

.products-cta__phone {
	display: inline-flex;
	align-items: center;
	gap: var(--aditi-space-9);
	margin-top: var(--aditi-space-6);
	color: var(--products-navy);
	font-size: 1.18rem;
	font-weight: var(--aditi-font-weight-black);
	line-height: 1.2;
	text-decoration: none;
}

.products-cta__phone .aditi-icon {
	width: 23px;
	height: 23px;
	fill: var(--products-orange);
	color: var(--products-orange);
	stroke-width: 1.6;
}

/* Remove empty nodes introduced by wpautop in cached shortcode markup. */
.products-benefit > p:empty,
.products-card > p:empty,
.products-cta > p:empty,
.products-cta__item > p:empty {
	display: none !important;
	margin: 0 !important;
}

@media (max-width: 1220px) {
	.products-hero__inner { grid-template-columns: minmax(380px, 1.1fr) 235px minmax(310px, .85fr); gap: var(--aditi-space-22); }
	.products-hero__emblem { width: 220px; height: 220px; }
	.products-hero__emblem span { width: 150px; height: 150px; }
	.products-benefit::before { width: 43px; }
	.products-card { padding-right: var(--aditi-space-24); padding-left: var(--aditi-space-24); }
	.products-cta { grid-template-columns: minmax(0, 1fr) 230px minmax(0, 1fr); padding-right: var(--aditi-space-26); padding-left: var(--aditi-space-26); }
	.products-cta__action { padding-right: var(--aditi-space-24); padding-left: var(--aditi-space-24); }
}

@media (max-width: 1020px) {
	.products-hero { padding: var(--aditi-space-36) 0; }
	.products-hero__inner { min-height: 0; grid-template-columns: minmax(0, 1fr) 235px; }
	.products-hero__benefits { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: var(--aditi-space-8) 0 0 var(--aditi-space-24); }
	.products-benefit { grid-template-columns: 58px minmax(0, 1fr); gap: var(--aditi-space-12); }
	.products-benefit::before { display: none; }
	.products-benefit__icon { width: 58px; height: 58px; }
	.products-benefit__icon .aditi-icon { width: 31px; height: 31px; }
	.products-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.products-card { min-height: 388px; }
	.products-cta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.products-cta__action { grid-column: 1 / -1; grid-row: 2; min-height: auto; padding: var(--aditi-space-14) 0 0; border: 0; border-top: 1px solid var(--aditi-border-product-warm); }
	.products-cta__action > a { width: min(300px, 100%); min-height: 48px; }
}

@media (max-width: 720px) {
	.products-hero { padding: var(--aditi-space-25) 0 var(--aditi-space-34); }
	.products-hero__inner { width: calc(100% - 32px); grid-template-columns: 1fr; }
	.products-hero__copy { padding: var(--aditi-space-20) var(--aditi-space-4) 0 var(--aditi-space-16); }
	.products-hero__emblem { grid-row: 2; width: 190px; height: 190px; margin: var(--aditi-space-3) auto var(--aditi-space-10); }
	.products-hero__emblem span { width: 128px; height: 128px; }
	.products-hero__benefits { grid-column: auto; grid-template-columns: 1fr; padding-left: var(--aditi-space-16); }
	.products-benefit { grid-template-columns: 62px minmax(0, 1fr); }
	.products-benefit__icon { width: 62px; height: 62px; }
	.products-benefit p { max-width: none; }
	.products-catalog,
	.products-cta { width: calc(100% - 32px); }
	.products-catalog { padding-top: var(--aditi-space-8); }
	.products-catalog__grid { grid-template-columns: 1fr; }
	.products-card { min-height: 0; padding: var(--aditi-space-8) var(--aditi-space-32) var(--aditi-space-20); }
	.products-card__description { min-height: 0; }
	.products-cta { grid-template-columns: 1fr; padding: var(--aditi-space-22); }
	.products-cta__item { grid-template-columns: 78px minmax(0, 1fr); }
	.products-cta__icon { width: 70px; height: 70px; }
	.products-cta__icon .aditi-icon { width: 38px; height: 38px; }
	.products-cta__action { grid-column: auto; grid-row: auto; padding-top: var(--aditi-space-16); }
}

@media (max-width: 430px) {
	.products-hero h1 { font-size: 2.15rem; }
	.products-hero__copy > p:last-child { font-size: var(--aditi-font-size-082); }
	.products-card { padding-right: 23px; padding-left: 23px; }
	.products-cta__item { display: block; }
	.products-cta__icon { margin-bottom: var(--aditi-space-14); }
	.products-cta__action > a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.products-card,
	.products-card__action > a { transition: none; }
}
