/**
 * Unimax Connect product pages (WhatsApp for Business, EventConnect).
 * Builds on the PAYG tokens in payg-pricing.css.
 */

.unimax-payg.unimax-product {
	--payg-max: 1120px;
	padding: 2.5rem 1.25rem 3.5rem;
}

.unimax-product p {
	padding-bottom: 0;
}

.unimax-product h1,
.unimax-product h2,
.unimax-product h3 {
	color: var(--payg-ink);
	font-family: inherit;
	padding-bottom: 0;
}

/* Hero */
.unimax-product__hero {
	align-items: center;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	margin-bottom: 2.5rem;
}

.unimax-product__eyebrow,
.unimax-product__kicker,
.unimax-product__plan-eyebrow {
	color: var(--payg-red);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0 0 0.6rem;
	text-transform: uppercase;
}

.unimax-product__plan-eyebrow {
	font-size: 0.7rem;
	margin-bottom: 0.35rem;
}

.unimax-product__title {
	font-size: clamp(2rem, 4.5vw, 3.1rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.12;
	margin: 0 0 1rem;
}

.unimax-product__title span {
	color: var(--payg-red);
}

.unimax-product__lead {
	color: var(--payg-muted);
	font-size: 1.15rem;
	margin: 0 0 1.5rem;
	max-width: 36rem;
}

.unimax-product__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.unimax-product__ctas .unimax-payg__btn {
	flex: 1 1 14rem;
	width: auto;
}

/* Phone chat mockup */
.unimax-product__phone {
	background: var(--payg-surface);
	border: 10px solid var(--payg-ink);
	border-radius: 2rem;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.14);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	justify-self: center;
	max-width: 300px;
	padding: 0 0 1rem;
	overflow: hidden;
	width: 100%;
}

.unimax-product__phone-head {
	background: var(--payg-red);
	color: #fff;
	display: flex;
	flex-direction: column;
	margin-bottom: 0.4rem;
	padding: 1rem 1rem 0.8rem;
}

.unimax-product__phone-head strong {
	font-size: 0.95rem;
}

.unimax-product__phone-head span {
	font-size: 0.75rem;
	opacity: 0.85;
}

.unimax-product__bubble {
	align-self: flex-start;
	background: var(--payg-bg);
	border-radius: 1rem 1rem 1rem 0.25rem;
	font-size: 0.85rem;
	line-height: 1.35;
	margin: 0 0.85rem;
	max-width: 80%;
	padding: 0.55rem 0.8rem;
}

.unimax-product__bubble--out {
	align-self: flex-end;
	background: var(--payg-red);
	border-radius: 1rem 1rem 0.25rem 1rem;
	color: #fff;
}

.unimax-product__phone-foot {
	color: var(--payg-muted);
	font-size: 0.72rem;
	margin: 0.3rem 0 0;
	text-align: center;
}

/* Key facts strip */
.unimax-product__facts {
	border-bottom: 1px solid var(--payg-line);
	border-top: 1px solid var(--payg-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0 0 1rem;
	padding: 1.5rem 0 !important;
}

.unimax-product__facts li {
	display: flex;
	flex-direction: column;
	padding: 0 !important;
}

.unimax-product__facts strong {
	color: var(--payg-red);
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
}

.unimax-product__facts span {
	color: var(--payg-muted);
	font-size: 0.85rem;
}

/* Sections */
.unimax-product__section {
	border-bottom: 1px solid var(--payg-line);
	padding: 3rem 0;
	scroll-margin-top: 110px;
}

.unimax-product__heading {
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0 0 0.75rem;
	max-width: 46rem;
}

.unimax-product__subheading {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 2.25rem 0 1rem;
}

.unimax-product__intro {
	color: var(--payg-muted);
	font-size: 1.05rem;
	margin: 0 0 1.75rem;
	max-width: 46rem;
}

.unimax-product__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
	margin-bottom: 1.25rem;
}

.unimax-product__card {
	background: var(--payg-surface);
	border: 1px solid var(--payg-line);
	border-radius: 8px;
	padding: 1.25rem 1.35rem;
}

.unimax-product__card h3 {
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 0.45rem;
	text-transform: none;
}

.unimax-product__card p {
	color: var(--payg-muted);
	font-size: 0.93rem;
	margin: 0;
}

.unimax-product__card--muted {
	background: var(--payg-bg);
	border-color: transparent;
}

.unimax-product__tag {
	border-top: 1px solid var(--payg-line);
	color: var(--payg-red) !important;
	font-size: 0.8rem !important;
	font-weight: 600;
	margin-top: 0.85rem !important;
	padding-top: 0.6rem !important;
}

.unimax-product__quote {
	border-left: 4px solid var(--payg-red);
	color: var(--payg-ink);
	font-size: 1.15rem;
	font-style: italic;
	font-weight: 500;
	margin: 1.75rem 0 0;
	padding: 0.25rem 0 0.25rem 1.25rem;
}

.unimax-product__note,
.unimax-product__result {
	background: var(--payg-bg);
	border-radius: 8px;
	font-size: 0.95rem;
	margin: 1.25rem 0 0;
	padding: 1rem 1.25rem;
}

.unimax-product__result {
	border-left: 4px solid var(--payg-red);
}

.unimax-product__fine {
	color: var(--payg-muted);
	font-size: 0.8rem;
	line-height: 1.5;
	margin: 1rem 0 0;
}

.unimax-product__card .unimax-product__fine {
	font-size: 0.78rem;
	margin-top: 0.75rem;
}

.unimax-product__highlight {
	background: var(--payg-ink);
	border-radius: 8px;
	color: #fff;
	margin: 1.25rem 0;
	padding: 1.5rem 1.6rem;
}

.unimax-product__highlight h3 {
	color: #fff;
	font-size: 1.25rem;
	margin: 0 0 0.4rem;
}

.unimax-product__highlight p {
	color: rgba(255, 255, 255, 0.85);
	margin: 0.4rem 0 0;
}

.unimax-product__highlight .unimax-product__plan-eyebrow {
	color: #ff6b70;
	margin: 0 0 0.4rem;
}

/* Lists */
.unimax-product ul,
.unimax-product ol {
	list-style: none !important;
}

.unimax-product__ticks,
.unimax-product__dots {
	margin: 0.75rem 0 0;
	padding: 0 !important;
}

.unimax-product__ticks li,
.unimax-product__dots li {
	font-size: 0.92rem;
	line-height: 1.4;
	padding: 0.28rem 0 0.28rem 1.6rem !important;
	position: relative;
}

.unimax-product__ticks li::before {
	color: var(--payg-red);
	content: "✓";
	font-weight: 700;
	left: 0;
	position: absolute;
	top: 0.28rem;
}

.unimax-product__dots li::before {
	background: var(--payg-red);
	border-radius: 50%;
	content: "";
	height: 6px;
	left: 0.35rem;
	position: absolute;
	top: 0.8rem;
	width: 6px;
}

.unimax-product__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0 !important;
}

.unimax-product__chips li {
	background: var(--payg-bg);
	border: 1px solid var(--payg-line);
	border-radius: 999px;
	font-size: 0.88rem;
	font-weight: 600;
	padding: 0.4rem 0.9rem !important;
}

/* Problem → solution pairs */
.unimax-product__pairs {
	counter-reset: pair;
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0 !important;
}

.unimax-product__pairs li {
	border: 1px solid var(--payg-line);
	border-radius: 8px;
	counter-increment: pair;
	display: grid;
	grid-template-columns: 1fr;
	overflow: hidden;
	padding: 0 !important;
}

.unimax-product__pair-problem,
.unimax-product__pair-fix {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 1rem 1.25rem;
}

.unimax-product__pair-problem {
	background: var(--payg-bg);
}

.unimax-product__pair-problem strong::before {
	color: var(--payg-red);
	content: counter(pair, decimal-leading-zero) "  ";
	font-weight: 700;
}

.unimax-product__pair-fix strong {
	color: var(--payg-red);
}

.unimax-product__pair-problem span,
.unimax-product__pair-fix span {
	color: var(--payg-muted);
	font-size: 0.9rem;
}

/* Plans and packages */
.unimax-product__plan {
	background: var(--payg-surface);
	border: 1px solid var(--payg-line);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	padding: 1.6rem 1.5rem 1.5rem;
	position: relative;
}

.unimax-product__plan.is-recommended {
	border: 2px solid var(--payg-red);
	box-shadow: 0 16px 36px rgba(237, 28, 36, 0.12);
}

.unimax-product__badge {
	background: var(--payg-red);
	border-radius: 999px;
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0.3rem 0.8rem;
	position: absolute;
	right: 1.25rem;
	text-transform: uppercase;
	top: -0.8rem;
}

.unimax-product__plan-name {
	font-size: 1.3rem !important;
	font-weight: 700;
	margin: 0 0 0.35rem;
}

.unimax-product__plan-price {
	color: var(--payg-ink);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 0.5rem;
}

.unimax-product__plan-price span {
	color: var(--payg-muted);
	font-size: 0.95rem;
	font-weight: 500;
}

.unimax-product__plan-text {
	color: var(--payg-muted);
	font-size: 0.92rem;
	margin: 0;
}

.unimax-product__plan .unimax-product__ticks {
	border-top: 1px solid var(--payg-line);
	flex: 1;
	margin-top: 1rem;
	padding-top: 0.75rem !important;
}

.unimax-product__plan-note {
	color: var(--payg-muted);
	font-size: 0.8rem;
	margin: 1rem 0;
}

/* Tables */
.unimax-product__table-wrap {
	margin: 0 0 1.25rem;
	overflow-x: auto;
}

.unimax-product__card .unimax-product__table-wrap {
	margin: 0;
}

.unimax-product__table {
	border: 1px solid var(--payg-line) !important;
	border-collapse: collapse;
	font-size: 0.92rem;
	margin: 0 !important;
	min-width: 520px;
	width: 100%;
}

.unimax-product__card .unimax-product__table {
	min-width: 0;
}

.unimax-product__table th,
.unimax-product__table td {
	border: 0 !important;
	border-bottom: 1px solid var(--payg-line) !important;
	padding: 0.75rem 1rem !important;
	text-align: left;
	vertical-align: top;
}

.unimax-product__table thead th {
	background: var(--payg-ink);
	color: #fff;
	font-weight: 600;
}

.unimax-product__table tbody th {
	font-weight: 500;
}

.unimax-product__table th span,
.unimax-product__table td span {
	color: var(--payg-muted);
	display: block;
	font-size: 0.8rem;
	font-weight: 400;
	margin-top: 0.15rem;
}

.unimax-product__table-group th {
	background: var(--payg-bg);
	color: var(--payg-red);
	font-size: 0.75rem;
	font-weight: 700 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.unimax-product__table--addons td:last-child {
	white-space: nowrap;
}

/* Steps */
.unimax-product__steps {
	counter-reset: step;
	display: grid;
	gap: 1rem;
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0 !important;
}

.unimax-product__steps li {
	background: var(--payg-surface);
	border: 1px solid var(--payg-line);
	border-radius: 8px;
	counter-increment: step;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 1.25rem 1.25rem 1.25rem 4.25rem !important;
	position: relative;
}

.unimax-product__steps li::before {
	align-items: center;
	background: var(--payg-red);
	border-radius: 50%;
	color: #fff;
	content: counter(step);
	display: flex;
	font-weight: 700;
	height: 2.2rem;
	justify-content: center;
	left: 1.15rem;
	position: absolute;
	top: 1.15rem;
	width: 2.2rem;
}

.unimax-product__steps span {
	color: var(--payg-muted);
	font-size: 0.92rem;
}

/* Worked examples */
.unimax-product__example {
	display: flex;
	flex-direction: column;
}

.unimax-product__example dl {
	margin: 0.75rem 0 0.9rem;
	padding: 0;
}

.unimax-product__example dl div {
	align-items: baseline;
	border-bottom: 1px dashed var(--payg-line);
	display: flex;
	font-size: 0.88rem;
	gap: 1rem;
	padding: 0.4rem 0;
}

.unimax-product__example dt {
	color: var(--payg-muted);
	flex: 1 1 auto;
	font-weight: 400;
	min-width: 0;
}

.unimax-product__example dd {
	font-weight: 600;
	margin: 0;
	text-align: right;
	white-space: nowrap;
}

.unimax-product__example-total {
	align-items: baseline;
	border-top: 2px solid var(--payg-ink);
	display: flex;
	gap: 0.5rem;
	margin: auto 0 0 !important;
	padding-top: 0.75rem;
}

.unimax-product__example-total strong {
	color: var(--payg-red);
	font-size: 1.6rem;
}

/* Back link on detail pages */
.unimax-product__back {
	font-size: 0.88rem;
	font-weight: 600;
	margin: 0 0 1.5rem;
}

.unimax-product__back a {
	color: var(--payg-red);
	text-decoration: none;
}

.unimax-product__back a:hover,
.unimax-product__back a:focus-visible {
	text-decoration: underline;
}

/* Landing product showcase */
.unimax-product__showcase .unimax-product__plan-name a {
	color: inherit;
	text-decoration: none;
}

.unimax-product__showcase .unimax-product__plan-name a:hover,
.unimax-product__showcase .unimax-product__plan-name a:focus-visible {
	color: var(--payg-red);
}

.unimax-product__showcase-tagline {
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0 0 0.6rem;
}

.unimax-product__showcase .unimax-product__plan-price {
	font-size: 1.6rem;
	margin: 1rem 0 0;
}

.unimax-product__showcase .unimax-product__plan-price span {
	display: block;
	font-size: 0.85rem;
}

.unimax-product__mini-chat {
	background: var(--payg-bg);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin: 0 0 1.25rem;
	padding: 0.9rem 0;
}

/* Closing call to action */
.unimax-product__cta {
	background: var(--payg-bg);
	border-radius: 12px;
	margin-top: 3rem;
	padding: 2.25rem 1.5rem;
}

.unimax-product__cta > p {
	color: var(--payg-muted);
	font-size: 0.95rem;
	margin: 0 0 0.85rem;
}

.unimax-product__cta a:not(.unimax-payg__btn) {
	color: var(--payg-red);
}

.unimax-product__summary {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 1.25rem 0 1.5rem;
	padding: 0 !important;
}

.unimax-product__summary li {
	background: var(--payg-surface);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	padding: 0.85rem 1rem !important;
}

.unimax-product__summary span {
	color: var(--payg-red);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.unimax-product__summary strong {
	font-size: 0.95rem;
}

.unimax-product__next {
	color: var(--payg-ink) !important;
	font-size: 1.15rem !important;
	font-weight: 700;
	margin: 1.25rem 0 1rem !important;
}

.unimax-product__contact {
	font-size: 0.88rem !important;
	margin: 1rem 0 0 !important;
}

@media (min-width: 640px) {
	.unimax-product__facts {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.unimax-product__grid--2,
	.unimax-product__grid--3,
	.unimax-product__grid--4,
	.unimax-product__summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.unimax-product__pairs li {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 981px) {
	.unimax-product__hero {
		grid-template-columns: 1.4fr 1fr;
	}

	.unimax-product__hero--landing {
		grid-template-columns: minmax(0, 46rem);
	}

	.unimax-product__grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	@supports (grid-template-rows: subgrid) {
		.unimax-product__grid--examples .unimax-product__example {
			display: grid;
			grid-row: span 5;
			grid-template-rows: subgrid;
			row-gap: 0;
		}

		.unimax-product__grid--examples .unimax-product__example dl {
			align-self: start;
		}

		.unimax-product__grid--examples .unimax-product__example-total {
			margin-top: 0 !important;
		}
	}

	.unimax-product__grid--4,
	.unimax-product__summary {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.unimax-product__steps {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
}
