/* Shared outer frame. Inner text columns retain their readable line lengths. */
/* stylelint-disable no-descending-specificity */
:root {
	--viewix-header-wide: 1224px;
	--viewix-wide: var(--viewix-header-wide);
	--viewix-category-wide: var(--viewix-header-wide);
	--viewix-gutter: 24px;
	--viewix-page-inset: max(var(--viewix-gutter), calc((100% - var(--viewix-header-wide)) / 2));
}

/* These sections own the gutter, so their children must not add another one. */
.viewix-category-section,
.viewix-flagship,
.viewix-comparison,
.viewix-solutions-carousel,
.viewix-about-values,
.viewix-about-story,
.viewix-about-presence,
.viewix-reviews-hero,
.viewix-reviews-grid-section,
.viewix-blog-shell,
.viewix-support-services,
.viewix-support-contact,
.viewix-support-faq,
.viewix-support-ticket,
.viewix-cart-page,
.viewix-checkout-page,
.viewix-products-page .viewix-catalog-shell,
.viewix-product-page .viewix-product-specs,
.viewix-product-page .viewix-trust-section {
	padding-inline: var(--viewix-page-inset);
}

.viewix-category-mosaic,
.viewix-flagship__layout,
.viewix-comparison__layout,
.viewix-solution-cards,
.viewix-products-page .viewix-catalog-layout,
.viewix-product-page .viewix-specs-container,
.viewix-product-page .viewix-trust-grid,
.viewix-cart-page > .alignwide,
.viewix-checkout-page > .alignwide,
.viewix-checkout-page > .wp-block-post-content,
.viewix-checkout-progress,
.viewix-checkout-intro {
	margin-inline: auto !important;
	max-width: var(--viewix-header-wide) !important;
	width: 100%;
}

/* Standalone containers include the gutter in their width, without padding. */
.viewix-footer-grid,
.viewix-content-shell,
.viewix-article-content,
.viewix-article-navigation,
.viewix-product-page .viewix-expert-reviews,
.viewix-product-page .viewix-split-features {
	margin-inline: auto !important;
	max-width: var(--viewix-header-wide) !important;
	padding-inline: 0;
	width: min(100% - 48px, var(--viewix-header-wide));
}

.viewix-content-shell > *,
.viewix-content-shell > .wp-block-post-content > *,
.viewix-article-content > * {
	max-width: 100% !important;
}

.viewix-article-content > figure,
.viewix-article-content > .wp-block-image {
	margin-inline: 0 !important;
	width: 100%;
}

.viewix-article-hero__overlay,
.viewix-footer-meta {
	padding-inline: var(--viewix-page-inset);
}

.viewix-article-hero__overlay > * {
	margin-inline: 0 !important;
}

/* Full brand lockup supplied by the site owner. */
.viewix-site-logo {
	margin-left: 0 !important;
	width: 160px;
}

.viewix-footer-brand .wp-block-image {
	max-width: 100%;
	width: 180px;
}

.viewix-footer-brand .wp-block-image img {
	display: block;
	height: auto;
	width: 100%;
}

@media (max-width: 760px) {

	.viewix-site-logo {
		width: 140px;
	}
}

/* September review: consistent typography, spacing and completed review UI. */
.viewix-about-cta .wp-block-buttons {
	display: flex;
	justify-content: center;
}

.viewix-video-title,
.viewix-video-meta {
	letter-spacing: normal;
	line-height: 1.5;
}

.viewix-support-contact__grid {
	align-items: stretch;
}

.viewix-support-contact__grid figure img {
	height: 100%;
	min-height: 360px;
	object-fit: cover;
}

.viewix-support-ticket,
.viewix-support-ticket aside {
	background: #fff;
}

.viewix-support-ticket aside > div {
	border: 1px solid #e5e7eb;
}

.viewix-solution-controls {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: center;
	margin: 28px auto 0;
}

.viewix-solution-controls[hidden],
.viewix-reviews-more-btn[hidden] {
	display: none;
}

.viewix-solution-controls button {
	background: #fff;
	border: 1px solid #d6d9de;
	border-radius: 50%;
	color: #202124;
	cursor: pointer;
	font-size: 24px;
	height: 48px;
	width: 48px;
}

.viewix-solution-controls button:hover {
	background: #edf5ff;
	border-color: var(--viewix-blue);
}

/* Align cards with the header and place desktop arrows in the gutters. */
@media (min-width: 1360px) {

	.viewix-solutions-carousel {
		position: relative;
	}

	.viewix-solution-controls button {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}

	.viewix-solution-controls [data-viewix-slide="previous"] {
		left: max(8px, calc((100% - var(--viewix-header-wide)) / 2 - 60px));
	}

	.viewix-solution-controls [data-viewix-slide="next"] {
		right: max(8px, calc((100% - var(--viewix-header-wide)) / 2 - 60px));
	}
}

.viewix-customer-reviews {
	padding: 64px var(--viewix-page-inset);
	scroll-margin-top: 120px;
}

.viewix-customer-reviews > .alignwide {
	margin-inline: auto;
	max-width: var(--viewix-header-wide);
}

.viewix-customer-reviews h2 {
	font-size: clamp(28px, 3vw, 40px);
	margin: 0 0 16px;
}

.viewix-review-filters {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-block: 32px 20px;
}

.viewix-review-filters label {
	display: grid;
	font-size: 14px;
	gap: 8px;
	max-width: 100%;
}

.viewix-review-filters select,
.viewix-review-filters button {
	background: #fff;
	border: 1px solid #d6d9de;
	border-radius: 8px;
	color: #202124;
	font: inherit;
	max-width: 100%;
	min-height: 44px;
	padding: 10px 16px;
}

.viewix-review-filters button {
	background: var(--viewix-blue);
	border-color: var(--viewix-blue);
	color: #fff;
	cursor: pointer;
}

.viewix-customer-review-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.viewix-customer-review-card {
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	line-height: 1.6;
	overflow-wrap: anywhere;
	padding: 24px;
}

.viewix-customer-review-card h3 {
	font-size: 18px;
	margin-block: 16px;
}

.viewix-review-demo {
	background: #fff3cd;
	border-radius: 6px;
	color: #664d03;
	display: inline-block;
	font-size: 12px;
	padding: 3px 8px;
}

.viewix-review-author {
	color: #616773;
	font-size: 13px;
}

.viewix-review-rating {
	min-height: 24px;
}

.viewix-share-setup {
	background: #f5f8fc;
	border-radius: 16px;
	margin-top: 64px;
	padding: 40px 24px;
	text-align: center;
}

.viewix-contact-page h1 {
	font-size: clamp(36px, 5vw, 64px);
	margin: 12px 0;
}

@media (max-width: 760px) {

	.viewix-customer-review-grid {
		grid-template-columns: 1fr;
	}

	.viewix-support-contact__grid figure img {
		aspect-ratio: 1.45 / 1;
		height: auto;
		min-height: 0;
	}

	.viewix-review-filters label,
	.viewix-review-filters select {
		width: 100%;
	}
}

