/* SayoDevice 3.0 complete-site pages and WooCommerce states. */

:root {
	--sayo-page-shell: 1320px;
	--sayo-page-ink: #171917;
	--sayo-page-copy: #5d625f;
	--sayo-page-line: #daddd8;
	--sayo-page-paper: #f3f4f0;
	--sayo-page-sage: #dce3d6;
	--sayo-page-signal: #b7cbc8;
}

body.sayo-storefront :where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid #1a6f78;
	outline-offset: 3px;
}

body.sayo-storefront :where(button, .sayo-v3-button, .sayo-v3-text-link):active {
	transform: translateY(1px);
}

body.sayo-storefront h1,
body.sayo-storefront h2,
body.sayo-storefront h3,
body.sayo-storefront p,
body.sayo-storefront li {
	text-wrap: pretty;
}

body.sayo-storefront .sayo-collection-hero__copy h1,
body.sayo-storefront .sayo-about-hero h1,
body.sayo-storefront .sayo-rb-shop-story h2,
body.sayo-storefront .sayo-proto-performance__copy h2 {
	color: #fff;
}

body.sayo-storefront a.sayo-v3-button--light {
	color: var(--sayo-v3-ink);
}

body.sayo-storefront .sayo-logo span {
	white-space: nowrap;
}

body.sayo-storefront .sayo-header__categories > a.is-current {
	position: relative;
	color: #171917;
	font-weight: 600;
}

body.sayo-storefront .sayo-announcement {
	background: #171917;
}

body.sayo-storefront .sayo-announcement a {
	justify-content: center;
}

body.sayo-storefront .sayo-header__categories > a.is-current::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: var(--sayo-page-ink);
}

.sayo-breadcrumbs {
	width: min(calc(100% - 72px), var(--sayo-page-shell));
	min-height: 56px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	color: #7a7f7b;
	font-size: 11px;
}

.sayo-breadcrumbs a {
	transition: color 180ms ease;
}

.sayo-breadcrumbs a:hover {
	color: var(--sayo-page-ink);
}

.sayo-inline-empty {
	min-height: 260px;
	padding: 52px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	background: var(--sayo-page-paper);
}

.sayo-inline-empty p {
	max-width: 520px;
	margin: 0 0 22px;
	font-size: 20px;
}

.sayo-inline-empty a {
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	color: var(--sayo-page-ink);
	font-size: 12px;
	font-weight: 600;
}

.sayo-page-cta {
	min-height: 360px;
	padding: 82px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 50px;
	background: var(--sayo-page-sage);
}

.sayo-page-cta p,
.sayo-page-cta h2 {
	margin: 0;
}

.sayo-page-cta p {
	margin-bottom: 20px;
	font-size: 10px;
	font-weight: 650;
}

.sayo-page-cta h2 {
	max-width: 760px;
	font-size: 48px;
	font-weight: 450;
	line-height: 1.04;
}

/* Collection landing pages */
.sayo-collection-hero {
	position: relative;
	height: 760px;
	overflow: hidden;
	color: #fff;
	background: #242724;
}

.sayo-collection-hero > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.74) contrast(1.03) brightness(.77);
}

.sayo-collection-page--productivity .sayo-collection-hero > img {
	object-position: center 60%;
}

.sayo-collection-hero__shade {
	position: absolute;
	inset: 0;
	background: rgba(19, 22, 20, .38);
}

.sayo-collection-hero__copy {
	position: absolute;
	z-index: 2;
	left: max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	bottom: 92px;
	max-width: 720px;
}

.sayo-collection-hero__copy > p,
.sayo-collection-hero__copy h1 {
	color: #fff;
}

.sayo-collection-hero__copy > p,
.sayo-collection-statement > p,
.sayo-collection-products header p,
.sayo-collection-feature__copy > p,
.sayo-collection-software p {
	margin: 0 0 22px;
	font-size: 10px;
	font-weight: 650;
	text-transform: uppercase;
}

.sayo-collection-hero h1 {
	max-width: 700px;
	margin: 0;
	font-size: 66px;
	font-weight: 450;
	line-height: .98;
}

.sayo-collection-hero__copy > div {
	max-width: 540px;
	margin-top: 24px;
	color: rgba(255, 255, 255, .78);
	font-size: 16px;
	line-height: 1.65;
}

.sayo-collection-hero__copy .sayo-v3-button {
	margin-top: 34px;
}

.sayo-collection-statement {
	min-height: 480px;
	padding: 110px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: grid;
	grid-template-columns: .65fr 1.35fr;
	align-items: start;
	gap: 80px;
}

.sayo-collection-statement h2 {
	max-width: 840px;
	margin: 0;
	font-size: 54px;
	font-weight: 450;
	line-height: 1.03;
}

.sayo-collection-products,
.sayo-support-products,
.sayo-guides-list,
.sayo-related-guides,
.sayo-search-products,
.sayo-not-found__products {
	padding: 100px max(36px, calc((100vw - var(--sayo-page-shell)) / 2)) 120px;
	background: var(--sayo-page-paper);
}

.sayo-collection-products > header,
.sayo-guides-list > header,
.sayo-related-guides > header,
.sayo-search-products > header,
.sayo-not-found__products > header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 48px;
}

.sayo-collection-products header p,
.sayo-collection-products header h2 {
	margin-top: 0;
}

.sayo-collection-products header h2,
.sayo-guides-list > header h2,
.sayo-related-guides > header h2,
.sayo-search-products > header h2,
.sayo-not-found__products > header h2 {
	margin-bottom: 0;
	font-size: 46px;
	font-weight: 450;
}

.sayo-collection-products > header > a {
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	font-size: 12px;
	font-weight: 600;
}

.sayo-collection-products .sayo-product-grid,
.sayo-search-products .sayo-product-grid,
.sayo-not-found__products .sayo-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 56px 24px;
}

.sayo-collection-products .sayo-product-grid--count-1 {
	grid-template-columns: minmax(0, 620px);
}

.sayo-collection-products .sayo-product-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sayo-collection-products .sayo-product-grid--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sayo-collection-feature {
	display: grid;
	grid-template-columns: 1.18fr .82fr;
	min-height: 760px;
}

.sayo-collection-feature__media {
	min-width: 0;
	overflow: hidden;
	background: #e8eae5;
}

.sayo-collection-feature__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sayo-collection-feature__copy {
	padding: 90px 11%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	background: #fff;
}

.sayo-collection-feature__copy h2 {
	margin: 0;
	font-size: 48px;
	font-weight: 450;
	line-height: 1.04;
}

.sayo-collection-feature__copy > div {
	max-width: 520px;
	margin-top: 26px;
	font-size: 16px;
	line-height: 1.7;
}

.sayo-collection-feature__copy ul {
	margin: 44px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--sayo-page-line);
}

.sayo-collection-feature__copy li {
	padding: 17px 0;
	border-bottom: 1px solid var(--sayo-page-line);
	color: var(--sayo-page-ink);
	font-size: 13px;
}

.sayo-collection-software {
	min-height: 430px;
	padding: 92px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 52px;
	background: var(--sayo-page-sage);
}

.sayo-collection-software h2 {
	max-width: 820px;
	margin: 0;
	font-size: 50px;
	font-weight: 450;
	line-height: 1.04;
}

/* Software */
.sayo-software-hero {
	position: relative;
	height: 720px;
	overflow: hidden;
	background: #e9ebe7;
}

.sayo-software-hero > img {
	position: absolute;
	right: 2%;
	bottom: -18%;
	width: 64%;
	height: 112%;
	object-fit: contain;
	mix-blend-mode: multiply;
	filter: saturate(.7);
}

.sayo-software-hero__copy {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	max-width: 620px;
	transform: translateY(-50%);
}

.sayo-software-hero__copy > p,
.sayo-software-intro > p,
.sayo-software-capabilities header p,
.sayo-software-device__copy > p,
.sayo-software-compatibility > div > p {
	margin: 0 0 22px;
	font-size: 10px;
	font-weight: 650;
}

.sayo-software-hero h1 {
	margin: 0;
	font-size: 64px;
	font-weight: 450;
	line-height: 1;
}

.sayo-software-hero__copy > div:not(.sayo-software-hero__actions) {
	max-width: 520px;
	margin-top: 26px;
	font-size: 16px;
	line-height: 1.65;
}

.sayo-software-hero__actions {
	margin-top: 36px;
	display: flex;
	align-items: center;
	gap: 28px;
}

.sayo-software-intro {
	min-height: 500px;
	padding: 110px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: grid;
	grid-template-columns: .55fr 1.1fr .55fr;
	gap: 64px;
}

.sayo-software-intro h2 {
	margin: 0;
	font-size: 52px;
	font-weight: 450;
	line-height: 1.03;
}

.sayo-software-intro > div {
	font-size: 15px;
	line-height: 1.7;
}

.sayo-software-capabilities {
	padding: 100px max(36px, calc((100vw - var(--sayo-page-shell)) / 2)) 120px;
	background: var(--sayo-page-paper);
}

.sayo-software-capabilities > header {
	display: grid;
	grid-template-columns: .65fr 1.35fr;
	gap: 60px;
	margin-bottom: 72px;
}

.sayo-software-capabilities header h2 {
	max-width: 820px;
	margin: 0;
	font-size: 50px;
	font-weight: 450;
	line-height: 1.04;
}

.sayo-software-capabilities__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 1px solid var(--sayo-page-line);
	border-left: 1px solid var(--sayo-page-line);
}

.sayo-software-capabilities__grid article {
	min-height: 310px;
	padding: 34px;
	border-right: 1px solid var(--sayo-page-line);
	border-bottom: 1px solid var(--sayo-page-line);
}

.sayo-software-capabilities__grid article > span {
	font-size: 11px;
}

.sayo-software-capabilities__grid h3 {
	margin: 100px 0 16px;
	font-size: 27px;
	font-weight: 500;
}

.sayo-software-capabilities__grid p {
	max-width: 470px;
	margin: 0;
	line-height: 1.65;
}

.sayo-software-device {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 760px;
}

.sayo-software-device__media {
	background: #e8ebe6;
}

.sayo-software-device__media img {
	width: 100%;
	height: 100%;
	padding: 8%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.sayo-software-device__copy {
	padding: 90px 10%;
}

.sayo-software-device__copy h2 {
	margin: 0;
	font-size: 47px;
	font-weight: 450;
	line-height: 1.05;
}

.sayo-software-device__copy ol {
	margin: 52px 0 0;
	padding: 0;
	list-style: none;
}

.sayo-software-device__copy li {
	padding: 23px 0;
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 22px;
	border-top: 1px solid var(--sayo-page-line);
}

.sayo-software-device__copy li > span {
	font-size: 11px;
}

.sayo-software-device__copy strong {
	color: var(--sayo-page-ink);
	font-size: 15px;
}

.sayo-software-device__copy li p {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.6;
}

.sayo-software-compatibility {
	padding: 90px max(36px, calc((100vw - var(--sayo-page-shell)) / 2)) 100px;
	background: #fff;
}

.sayo-software-compatibility > div {
	display: grid;
	grid-template-columns: .7fr 1.3fr;
	gap: 60px;
}

.sayo-software-compatibility h2 {
	margin: 0;
	font-size: 46px;
	font-weight: 450;
}

.sayo-software-compatibility ul {
	margin: 60px 0 20px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	list-style: none;
	border-top: 1px solid var(--sayo-page-line);
	border-bottom: 1px solid var(--sayo-page-line);
}

.sayo-software-compatibility li {
	padding: 24px 10px;
	border-right: 1px solid var(--sayo-page-line);
	color: var(--sayo-page-ink);
	text-align: center;
}

.sayo-software-compatibility li:last-child {
	border-right: 0;
}

.sayo-software-compatibility > p {
	margin: 0;
	font-size: 12px;
}

/* Support and downloads */
.sayo-support-hero,
.sayo-help-hero {
	padding: 90px max(36px, calc((100vw - var(--sayo-page-shell)) / 2)) 104px;
	background: #fff;
}

.sayo-support-hero > div > p,
.sayo-help-hero > p,
.sayo-support-products > header p,
.sayo-support-faq > header p,
.sayo-download-primary p,
.sayo-download-list > header p,
.sayo-contact-hero > div > p,
.sayo-contact-body__intro > p,
.sayo-about-hero > div > p,
.sayo-about-intro > p,
.sayo-about-products__copy > p,
.sayo-guides-hero > div > p,
.sayo-guides-list > header > p,
.sayo-related-guides > header > p,
.sayo-search-results__hero > p,
.sayo-search-products > header > p,
.sayo-search-content > header > p,
.sayo-standard-hero > p,
.sayo-commerce-header > p,
.sayo-not-found__products > header > p {
	margin: 0 0 22px;
	font-size: 10px;
	font-weight: 650;
}

.sayo-support-hero h1,
.sayo-help-hero h1,
.sayo-contact-hero h1,
.sayo-guides-hero h1,
.sayo-search-results__hero h1,
.sayo-standard-hero h1,
.sayo-commerce-header h1 {
	max-width: 880px;
	margin: 0;
	font-size: 62px;
	font-weight: 450;
	line-height: 1;
}

.sayo-support-hero > div > div,
.sayo-help-hero > div,
.sayo-guides-hero > div > div,
.sayo-search-results__hero > div,
.sayo-standard-hero > div,
.sayo-commerce-header > div {
	max-width: 620px;
	margin-top: 25px;
	font-size: 16px;
	line-height: 1.65;
}

.sayo-support-hero form,
.sayo-guides-hero form,
.sayo-search-results__hero form,
.sayo-not-found__hero form {
	max-width: 920px;
	height: 68px;
	margin-top: 52px;
	display: grid;
	grid-template-columns: 1fr 116px;
	border: 1px solid #bfc4bf;
	background: #fff;
}

.sayo-support-hero input,
.sayo-guides-hero input,
.sayo-search-results__hero input,
.sayo-not-found__hero input {
	min-width: 0;
	padding: 0 22px;
	border: 0;
	background: transparent;
}

body.sayo-storefront .sayo-support-hero button,
body.sayo-storefront .sayo-guides-hero button,
body.sayo-storefront .sayo-search-results__hero button,
body.sayo-storefront .sayo-not-found__hero button {
	border: 0;
	border-radius: 0;
	color: #fff;
	background: var(--sayo-page-ink);
	font-size: 12px;
	font-weight: 600;
}

.sayo-support-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 1px solid var(--sayo-page-line);
	border-left: 1px solid var(--sayo-page-line);
}

.sayo-support-actions > a {
	min-height: 210px;
	padding: 34px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: grid;
	grid-template-columns: 42px 1fr 28px;
	align-items: start;
	gap: 22px;
	border-right: 1px solid var(--sayo-page-line);
	border-bottom: 1px solid var(--sayo-page-line);
	transition: background-color 220ms ease;
}

.sayo-support-actions > a:nth-child(odd) {
	padding-left: max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	padding-right: 52px;
}

.sayo-support-actions > a:nth-child(even) {
	padding-left: 52px;
	padding-right: max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
}

.sayo-support-actions > a:hover {
	background: var(--sayo-page-sage);
}

.sayo-support-actions > a > span,
.sayo-support-actions > a > i {
	font-size: 11px;
	font-style: normal;
}

.sayo-support-actions strong {
	color: var(--sayo-page-ink);
	font-size: 21px;
	font-weight: 500;
}

.sayo-support-actions p {
	max-width: 410px;
	margin: 12px 0 0;
	line-height: 1.6;
}

.sayo-support-products {
	background: var(--sayo-page-paper);
}

.sayo-support-products > header,
.sayo-support-faq > header,
.sayo-download-list > header {
	display: grid;
	grid-template-columns: .65fr 1.35fr;
	gap: 60px;
	margin-bottom: 55px;
}

.sayo-support-products > header h2,
.sayo-support-faq > header h2,
.sayo-download-list > header h2 {
	margin: 0;
	font-size: 48px;
	font-weight: 450;
}

.sayo-support-products > div {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.sayo-support-products article {
	min-width: 0;
}

.sayo-support-products article > a {
	display: block;
}

.sayo-support-products article img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #fff;
}

.sayo-support-products article span {
	display: block;
	margin-top: 20px;
	font-size: 9px;
	font-weight: 650;
}

.sayo-support-products article h3 {
	margin: 8px 0 0;
	font-size: 20px;
	font-weight: 500;
}

.sayo-support-products article p {
	min-height: 58px;
	margin: 12px 0 16px;
	font-size: 13px;
	line-height: 1.55;
}

.sayo-support-products article strong {
	font-size: 11px;
	font-weight: 600;
}

.sayo-support-faq {
	padding: 100px max(36px, calc((100vw - var(--sayo-page-shell)) / 2)) 120px;
}

.sayo-support-faq > div {
	margin-left: 34%;
	border-top: 1px solid var(--sayo-page-line);
}

.sayo-support-faq details {
	border-bottom: 1px solid var(--sayo-page-line);
}

.sayo-support-faq summary {
	position: relative;
	padding: 24px 46px 24px 0;
	color: var(--sayo-page-ink);
	font-size: 17px;
	cursor: pointer;
	list-style: none;
}

.sayo-support-faq summary::-webkit-details-marker {
	display: none;
}

.sayo-support-faq summary span,
.sayo-support-faq summary span::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 4px;
	width: 15px;
	height: 1px;
	background: var(--sayo-page-ink);
}

.sayo-support-faq summary span::after {
	top: 0;
	right: 0;
	transform: rotate(90deg);
}

.sayo-support-faq details[open] summary span::after {
	transform: rotate(0);
}

.sayo-support-faq details p {
	max-width: 720px;
	margin: 0;
	padding: 0 46px 26px 0;
	line-height: 1.7;
}

.sayo-download-primary {
	min-height: 370px;
	padding: 76px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 60px;
	background: var(--sayo-page-sage);
}

.sayo-download-primary h2 {
	max-width: 780px;
	margin: 0;
	font-size: 48px;
	font-weight: 450;
}

.sayo-download-primary > div > div {
	max-width: 620px;
	margin-top: 22px;
	line-height: 1.65;
}

.sayo-download-list {
	padding: 100px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
}

.sayo-download-list > div {
	border-top: 1px solid var(--sayo-page-line);
}

.sayo-download-list article {
	min-height: 190px;
	padding: 25px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 40px;
	border-bottom: 1px solid var(--sayo-page-line);
}

.sayo-download-list__product {
	display: grid;
	grid-template-columns: 140px 1fr;
	align-items: center;
	gap: 28px;
}

.sayo-download-list__product img {
	width: 140px;
	height: 140px;
	object-fit: contain;
	background: var(--sayo-page-paper);
}

.sayo-download-list__product span {
	font-size: 9px;
	font-weight: 650;
}

.sayo-download-list__product h3 {
	margin: 8px 0 0;
	font-size: 23px;
	font-weight: 500;
}

.sayo-download-list nav {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	gap: 15px;
}

.sayo-download-list nav a {
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
	font-size: 12px;
}

.sayo-download-note {
	padding: 50px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: grid;
	grid-template-columns: .65fr 1.35fr;
	gap: 60px;
	background: var(--sayo-page-paper);
}

.sayo-download-note strong {
	color: var(--sayo-page-ink);
}

.sayo-download-note p {
	max-width: 720px;
	margin: 0;
	line-height: 1.65;
}

/* Contact and about */
.sayo-contact-hero {
	min-height: 520px;
	padding: 92px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	align-items: end;
	gap: 90px;
}

.sayo-contact-hero > div > div {
	max-width: 560px;
	margin-top: 24px;
	line-height: 1.65;
}

.sayo-contact-hero aside {
	padding: 30px;
	border-top: 1px solid var(--sayo-page-line);
	border-bottom: 1px solid var(--sayo-page-line);
}

.sayo-contact-hero aside strong {
	color: var(--sayo-page-ink);
	font-size: 13px;
}

.sayo-contact-hero aside ul {
	margin: 18px 0 0;
	padding-left: 18px;
}

.sayo-contact-hero aside li {
	margin: 10px 0;
	font-size: 12px;
	line-height: 1.55;
}

.sayo-contact-body {
	padding: 100px max(36px, calc((100vw - var(--sayo-page-shell)) / 2)) 120px;
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	gap: 90px;
	background: var(--sayo-page-paper);
}

.sayo-contact-body__intro h2 {
	max-width: 430px;
	margin: 0;
	font-size: 46px;
	font-weight: 450;
	line-height: 1.04;
}

.sayo-contact-body__intro > div {
	margin-top: 42px;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 12px;
}

.sayo-contact-body__intro a {
	color: var(--sayo-page-ink);
	font-size: 15px;
}

.sayo-contact-body__intro span {
	max-width: 360px;
	font-size: 12px;
	line-height: 1.6;
}

.sayo-form-status {
	margin-bottom: 24px;
	padding: 16px 18px;
	border-left: 3px solid #48794e;
	background: #edf4eb;
	font-size: 13px;
}

.sayo-form-status--error {
	border-left-color: #a84a42;
	background: #f8ecea;
}

.sayo-contact-form {
	padding: 36px;
	background: #fff;
}

.sayo-contact-form label {
	display: block;
	color: var(--sayo-page-ink);
	font-size: 12px;
	font-weight: 600;
}

.sayo-contact-form label > span {
	margin-left: 6px;
	color: #858984;
	font-weight: 400;
}

.sayo-contact-form input,
.sayo-contact-form select,
.sayo-contact-form textarea {
	width: 100%;
	margin-top: 9px;
	padding: 13px 14px;
	border: 1px solid #cfd3ce;
	border-radius: 2px;
	background: #fff;
}

.sayo-contact-form input,
.sayo-contact-form select {
	height: 50px;
}

.sayo-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 22px;
}

.sayo-contact-form > label {
	margin-bottom: 24px;
}

.sayo-contact-form__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}

.sayo-contact-form__footer p {
	max-width: 430px;
	margin: 0;
	font-size: 11px;
	line-height: 1.5;
}

body.sayo-storefront .sayo-contact-form__footer button {
	min-width: 150px;
	height: 50px;
	border: 0;
	border-radius: 2px;
	color: #fff;
	background: var(--sayo-page-ink);
	font-size: 12px;
	font-weight: 600;
}

body.sayo-storefront .sayo-contact-form__footer button:hover {
	color: var(--sayo-page-ink);
	background: var(--sayo-page-signal);
}

.sayo-honeypot {
	position: absolute;
	left: -10000px;
}

.sayo-about-hero {
	position: relative;
	height: 720px;
	overflow: hidden;
	background: #222;
}

.sayo-about-hero > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.62) brightness(.72);
}

.sayo-about-hero > div {
	position: absolute;
	left: max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	bottom: 86px;
	max-width: 820px;
}

.sayo-about-hero h1,
.sayo-about-hero p {
	color: #fff;
}

.sayo-about-hero h1 {
	margin: 0;
	font-size: 66px;
	font-weight: 450;
	line-height: 1;
}

.sayo-about-intro {
	min-height: 570px;
	padding: 120px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: grid;
	grid-template-columns: .55fr 1.2fr .45fr;
	gap: 70px;
}

.sayo-about-intro h2 {
	margin: 0;
	font-size: 51px;
	font-weight: 450;
	line-height: 1.03;
}

.sayo-about-intro > div {
	font-size: 15px;
	line-height: 1.7;
}

.sayo-about-principles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--sayo-page-line);
	border-left: 1px solid var(--sayo-page-line);
}

.sayo-about-principles article {
	min-height: 390px;
	padding: 42px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	border-right: 1px solid var(--sayo-page-line);
	border-bottom: 1px solid var(--sayo-page-line);
}

.sayo-about-principles article:nth-child(1) {
	padding-left: max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	padding-right: 42px;
}

.sayo-about-principles article:nth-child(2) {
	padding-right: 42px;
	padding-left: 42px;
}

.sayo-about-principles article:nth-child(3) {
	padding-right: max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	padding-left: 42px;
}

.sayo-about-principles article > span {
	font-size: 11px;
}

.sayo-about-principles h3 {
	margin: 150px 0 16px;
	font-size: 27px;
	font-weight: 500;
}

.sayo-about-principles p {
	max-width: 340px;
	margin: 0;
	line-height: 1.65;
}

.sayo-about-products {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	min-height: 760px;
}

.sayo-about-products__media {
	display: grid;
	place-items: center;
	overflow: hidden;
	background: #fff;
}

.sayo-about-products__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.sayo-about-products__copy {
	padding: 90px 11%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	background: var(--sayo-page-paper);
}

.sayo-about-products__copy h2 {
	margin: 0;
	font-size: 48px;
	font-weight: 450;
	line-height: 1.04;
}

.sayo-about-products__copy > div {
	margin-top: 25px;
	line-height: 1.7;
}

.sayo-about-products__copy .sayo-v3-text-link {
	width: max-content;
	margin-top: 34px;
}

/* Guides, articles and search */
.sayo-guides-hero,
.sayo-search-results__hero {
	min-height: 470px;
	padding: 90px max(36px, calc((100vw - var(--sayo-page-shell)) / 2));
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	align-items: end;
	gap: 80px;
}

.sayo-guides-hero form {
	width: 100%;
	margin: 0;
}

.sayo-guides-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 64px 24px;
}

.sayo-guide-card {
	min-width: 0;
}

.sayo-guide-card__media {
	aspect-ratio: 4 / 3;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: #e1e5dd;
}

.sayo-guide-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.72);
	transition: transform 900ms cubic-bezier(.22, 1, .36, 1), filter 300ms ease;
}

.sayo-guide-card:hover .sayo-guide-card__media img {
	transform: scale(1.025);
	filter: saturate(.9);
}

.sayo-guide-card__media > span {
	font-size: 11px;
	font-weight: 650;
}

.sayo-guide-card__body {
	padding-top: 20px;
}

.sayo-guide-card__body > p {
	margin: 0 0 12px;
	font-size: 9px;
	font-weight: 650;
}

.sayo-guide-card h2 {
	margin: 0;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.16;
}

.sayo-guide-card__body > div {
	min-height: 72px;
	margin-top: 15px;
	font-size: 13px;
	line-height: 1.6;
}

.sayo-guide-card__body > a {
	display: inline-block;
	margin-top: 16px;
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
	font-size: 11px;
	font-weight: 600;
}

.sayo-pagination {
	margin-top: 70px;
}

.sayo-pagination ul,
.sayo-pagination .nav-links {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	list-style: none;
}

.sayo-pagination a,
.sayo-pagination .current {
	min-width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 1px solid var(--sayo-page-line);
	background: #fff;
}

.sayo-pagination .current {
	color: #fff;
	background: var(--sayo-page-ink);
}

.sayo-article-header {
	padding: 88px max(36px, calc((100vw - 980px) / 2)) 78px;
}

.sayo-article-header > p {
	margin: 0 0 24px;
	font-size: 10px;
	font-weight: 650;
}

.sayo-article-header h1 {
	max-width: 940px;
	margin: 0;
	font-size: 62px;
	font-weight: 450;
	line-height: 1.02;
}

.sayo-article-header > div,
.sayo-article-header .wp-block-post-excerpt__excerpt {
	max-width: 720px;
	margin: 28px 0 0;
	font-size: 18px;
	line-height: 1.65;
}

.sayo-article-image {
	width: min(calc(100% - 72px), var(--sayo-page-shell));
	height: 700px;
	margin: 0 auto;
	overflow: hidden;
	background: var(--sayo-page-paper);
}

.sayo-article-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sayo-article-layout {
	width: min(calc(100% - 72px), 1080px);
	margin: 0 auto;
	padding: 100px 0 120px;
	display: grid;
	grid-template-columns: 210px 1fr;
	align-items: start;
	gap: 80px;
}

.sayo-article-layout > aside {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--sayo-page-line);
}

.sayo-article-layout > aside strong,
.sayo-article-layout > aside a {
	padding: 13px 0;
	border-bottom: 1px solid var(--sayo-page-line);
	font-size: 11px;
}

.sayo-article-content {
	max-width: 740px;
	font-size: 17px;
	line-height: 1.8;
}

.sayo-article-content h2 {
	margin: 72px 0 22px;
	font-size: 38px;
	font-weight: 500;
	line-height: 1.14;
}

.sayo-article-content h3 {
	margin: 46px 0 16px;
	font-size: 25px;
	font-weight: 500;
}

.sayo-article-content p,
.sayo-article-content ul,
.sayo-article-content ol {
	margin-bottom: 24px;
}

.sayo-article-content a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sayo-search-results__hero {
	display: block;
}

.sayo-search-results__hero form {
	margin-top: 48px;
}

.sayo-search-content {
	padding: 100px max(36px, calc((100vw - var(--sayo-page-shell)) / 2)) 120px;
}

.sayo-search-content > header {
	display: grid;
	grid-template-columns: .65fr 1.35fr;
	gap: 60px;
	margin-bottom: 48px;
}

.sayo-search-content > header h2 {
	margin: 0;
	font-size: 46px;
	font-weight: 450;
}

.sayo-search-content > div {
	border-top: 1px solid var(--sayo-page-line);
}

.sayo-search-content article {
	padding: 30px 0;
	display: grid;
	grid-template-columns: 120px 1fr 1.2fr 70px;
	align-items: start;
	gap: 28px;
	border-bottom: 1px solid var(--sayo-page-line);
}

.sayo-search-content article > span,
.sayo-search-content article > a {
	font-size: 10px;
	font-weight: 650;
}

.sayo-search-content h3 {
	margin: 0;
	font-size: 21px;
	font-weight: 500;
}

.sayo-search-content article p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
}

.sayo-search-empty {
	min-height: 600px;
	padding: 100px 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
}

.sayo-search-empty > span {
	color: #d6d9d4;
	font-size: 150px;
	font-weight: 500;
	line-height: 1;
}

.sayo-search-empty h2 {
	margin: 12px 0 0;
	font-size: 42px;
	font-weight: 450;
}

.sayo-search-empty p {
	max-width: 560px;
	margin: 20px 0 0;
	line-height: 1.65;
}

.sayo-search-empty > div {
	margin-top: 34px;
	display: flex;
	align-items: center;
	gap: 28px;
}

/* Standard, policy and commerce pages */
.sayo-page-main {
	padding: 0;
}

.sayo-standard-hero,
.sayo-commerce-header {
	min-height: 390px;
	padding: 82px max(36px, calc((100vw - 1120px) / 2));
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
}

.sayo-standard-content {
	width: min(calc(100% - 72px), 780px);
	margin: 0 auto;
	padding: 80px 0 120px;
	font-size: 16px;
	line-height: 1.75;
}

.sayo-standard-content h2 {
	margin: 58px 0 18px;
	font-size: 34px;
	font-weight: 500;
}

.sayo-policy-layout {
	width: min(calc(100% - 72px), 1120px);
	margin: 0 auto;
	padding: 82px 0 120px;
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: start;
	gap: 90px;
}

.sayo-policy-layout > nav {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--sayo-page-line);
}

.sayo-policy-layout > nav strong,
.sayo-policy-layout > nav a {
	padding: 13px 0;
	border-bottom: 1px solid var(--sayo-page-line);
	font-size: 11px;
}

.sayo-policy-layout > nav a.is-current {
	color: var(--sayo-page-ink);
	font-weight: 650;
}

.sayo-policy-content {
	max-width: 760px;
	font-size: 16px;
	line-height: 1.75;
}

.sayo-policy-content h2 {
	margin: 58px 0 18px;
	font-size: 34px;
	font-weight: 500;
}

.sayo-policy-content h2:first-child {
	margin-top: 0;
}

.sayo-policy-content h3 {
	margin: 40px 0 14px;
	font-size: 23px;
	font-weight: 500;
}

.sayo-policy-content a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sayo-commerce-page {
	background: #f6f7f4;
}

.sayo-commerce-header {
	min-height: 330px;
	background: #fff;
}

.sayo-commerce-content {
	width: min(calc(100% - 72px), 1120px);
	margin: 0 auto;
	padding: 72px 0 120px;
}

body.sayo-storefront .woocommerce table.shop_table {
	border: 0;
	border-radius: 0;
	background: #fff;
}

body.sayo-storefront .woocommerce table.shop_table th {
	font-size: 11px;
	font-weight: 650;
	text-transform: uppercase;
}

body.sayo-storefront .woocommerce table.shop_table th,
body.sayo-storefront .woocommerce table.shop_table td {
	padding: 20px;
	border-color: #e2e4df;
}

body.sayo-storefront .woocommerce-cart-form__cart-item .product-thumbnail img {
	width: 100px;
	height: 100px;
	object-fit: contain;
	background: var(--sayo-page-paper);
}

body.sayo-storefront .woocommerce-cart-form__cart-item .product-name a {
	color: var(--sayo-page-ink);
	font-weight: 600;
}

body.sayo-storefront .woocommerce .quantity .qty {
	min-height: 46px;
	border: 1px solid #ced2cd;
}

body.sayo-storefront .woocommerce .cart-collaterals .cart_totals {
	width: min(100%, 470px);
	padding: 30px;
	background: #fff;
}

body.sayo-storefront .woocommerce .cart-collaterals .cart_totals h2,
body.sayo-storefront .woocommerce-checkout h3,
body.sayo-storefront.sayo-account-view .woocommerce h2 {
	font-size: 28px;
	font-weight: 500;
}

body.sayo-storefront .woocommerce a.checkout-button,
body.sayo-storefront .woocommerce #place_order {
	width: 100%;
	min-height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
	background: var(--sayo-page-ink);
}

body.sayo-storefront .woocommerce a.checkout-button:hover,
body.sayo-storefront .woocommerce #place_order:hover {
	color: var(--sayo-page-ink);
	background: var(--sayo-page-signal);
}

body.sayo-storefront .woocommerce-checkout .col2-set,
body.sayo-storefront .woocommerce-checkout .col2-set .col-1,
body.sayo-storefront .woocommerce-checkout .col2-set .col-2 {
	width: 100%;
	float: none;
}

body.sayo-storefront .woocommerce-checkout .col2-set,
body.sayo-storefront .woocommerce-checkout-review-order {
	padding: 34px;
	background: #fff;
}

body.sayo-storefront .woocommerce-checkout .col2-set {
	margin-bottom: 30px;
}

body.sayo-storefront .woocommerce-checkout #order_review_heading {
	margin-top: 48px;
}

body.sayo-storefront .woocommerce-checkout #payment {
	border-radius: 2px;
	background: #eceee9;
}

body.sayo-storefront .woocommerce-checkout #payment div.payment_box {
	background: #fff;
}

body.sayo-storefront .woocommerce form .form-row label {
	color: var(--sayo-page-ink);
	font-size: 12px;
	font-weight: 600;
}

body.sayo-storefront .woocommerce form .form-row input.input-text,
body.sayo-storefront .woocommerce form .form-row textarea,
body.sayo-storefront .woocommerce form .form-row select,
body.sayo-storefront .select2-container .select2-selection--single {
	border-radius: 2px;
}

body.sayo-storefront.sayo-account-view .sayo-commerce-content > .woocommerce {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 54px;
}

body.sayo-storefront.sayo-account-view .sayo-commerce-content > .woocommerce::before,
body.sayo-storefront.sayo-account-view .sayo-commerce-content > .woocommerce::after {
	display: none;
}

body.sayo-storefront.sayo-account-view .woocommerce-MyAccount-navigation,
body.sayo-storefront.sayo-account-view .woocommerce-MyAccount-content {
	width: auto;
	float: none;
}

body.sayo-storefront.sayo-account-view .woocommerce-MyAccount-navigation ul {
	border-top: 1px solid var(--sayo-page-line);
}

body.sayo-storefront.sayo-account-view .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--sayo-page-line);
}

body.sayo-storefront.sayo-account-view .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--sayo-page-ink);
	font-weight: 650;
}

body.sayo-storefront.sayo-account-view .woocommerce-MyAccount-content {
	padding: 34px;
	background: #fff;
}

body.sayo-storefront .woocommerce-form-login,
body.sayo-storefront .woocommerce-form-register {
	padding: 32px;
	border: 0;
	border-radius: 0;
	background: #fff;
}

body.sayo-checkout-view .sayo-announcement,
body.sayo-checkout-view .sayo-header__categories,
body.sayo-checkout-view .sayo-search-button,
body.sayo-checkout-view .sayo-header__actions > a:not(.sayo-cart-link),
body.sayo-checkout-view .sayo-menu-button,
body.sayo-checkout-view .sayo-footer__newsletter-band,
body.sayo-checkout-view .sayo-footer__main {
	display: none !important;
}

body.sayo-checkout-view .sayo-header__inner {
	grid-template-columns: 1fr auto;
}

body.sayo-checkout-view .sayo-header__actions {
	grid-column: 2;
}

body.sayo-checkout-view .sayo-commerce-header {
	min-height: 240px;
}

body.sayo-checkout-view .sayo-footer {
	min-height: 0;
	padding-top: 0;
}

body.sayo-checkout-view .sayo-footer__bottom {
	margin-top: 0;
}

.sayo-footer__bottom > nav {
	display: flex;
	align-items: center;
	gap: 18px;
}

.sayo-footer__bottom > nav a:hover {
	color: var(--sayo-page-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.sayo-storefront .woocommerce-notices-wrapper:empty {
	display: none;
}

body.sayo-storefront .woocommerce-error,
body.sayo-storefront .woocommerce-info,
body.sayo-storefront .woocommerce-message {
	margin: 0 0 28px;
	padding: 18px 20px 18px 52px;
	border: 0;
	border-left: 3px solid var(--sayo-page-ink);
	background: #fff;
	color: var(--sayo-page-ink);
	line-height: 1.55;
}

body.sayo-storefront .woocommerce-error {
	position: relative;
	list-style: none;
	border-left-color: #a84a42;
	background: #f8ecea;
}

body.sayo-storefront .woocommerce-error li {
	list-style: none;
}

body.sayo-storefront .woocommerce-error li::marker,
body.sayo-storefront .woocommerce-error li::before {
	display: none;
	content: none;
}

body.sayo-storefront .woocommerce-message {
	border-left-color: #55784f;
	background: #edf4eb;
}

body.sayo-storefront .woocommerce-error::before,
body.sayo-storefront .woocommerce-info::before,
body.sayo-storefront .woocommerce-message::before {
	top: 18px;
	left: 20px;
	color: currentColor;
}

body.sayo-storefront .woocommerce-error::before {
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	content: "!" !important;
}

body.sayo-storefront .woocommerce-cart-form .coupon {
	display: grid;
	grid-template-columns: minmax(150px, 220px) auto;
	gap: 8px;
}

body.sayo-storefront .woocommerce-cart-form .coupon .input-text {
	width: 100%;
	min-height: 46px;
	border: 1px solid #ced2cd;
	border-radius: 2px;
}

body.sayo-storefront .woocommerce .cart-empty {
	margin: 0;
	padding: 80px 24px 24px;
	border: 0;
	background: transparent;
	text-align: center;
}

body.sayo-storefront .woocommerce .return-to-shop {
	margin: 0;
	padding: 0 24px 80px;
	text-align: center;
}

body.sayo-storefront .woocommerce .return-to-shop .button {
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 26px;
	border-radius: 2px;
	background: var(--sayo-page-ink);
	color: #fff;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order {
	padding: clamp(34px, 4vw, 56px);
	border: 1px solid #dde1dc;
	background: #fff;
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(380px, 1.15fr);
	gap: 30px 56px;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-thankyou-order-received {
	grid-column: 1 / -1;
	margin: 0;
	padding: 18px 20px;
	border-left: 3px solid #55784f;
	background: #edf4eb;
	font-weight: 600;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-overview {
	grid-column: 1;
	margin: 0 !important;
	padding: 6px 0 !important;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 24px;
	list-style: none;
	border-top: 1px solid #dde1dc;
	border-bottom: 1px solid #dde1dc;
	background: transparent;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-overview li {
	width: auto;
	margin: 0;
	padding: 18px 0;
	float: none;
	border: 0;
	list-style: none;
	color: #68706c;
	font-size: 10px;
	font-weight: 650;
	line-height: 1.35;
	text-transform: uppercase;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-overview li::marker,
body.sayo-storefront.woocommerce-order-received .woocommerce-order-overview li::before {
	display: none;
	content: none;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-overview li strong {
	margin-top: 7px;
	display: block;
	color: var(--sayo-page-ink);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
	text-transform: none;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-details,
body.sayo-storefront.woocommerce-order-received .woocommerce-customer-details {
	grid-column: 2;
	margin: 0;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-details {
	grid-row: 2 / span 3;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-details h2,
body.sayo-storefront.woocommerce-order-received .woocommerce-customer-details h2 {
	margin: 0;
	padding: 0 0 20px;
	border-bottom: 1px solid #dde1dc;
	font-size: 27px;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-details table.shop_table {
	margin: 0;
	border: 0;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-details table.shop_table th,
body.sayo-storefront.woocommerce-order-received .woocommerce-order-details table.shop_table td {
	padding: 18px 0;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-details table.shop_table th:first-child,
body.sayo-storefront.woocommerce-order-received .woocommerce-order-details table.shop_table td:first-child {
	padding-right: 24px;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order-details table.shop_table th:last-child,
body.sayo-storefront.woocommerce-order-received .woocommerce-order-details table.shop_table td:last-child {
	text-align: right;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order > p:last-child {
	grid-column: 1;
	margin: 0;
}

body.sayo-storefront.woocommerce-order-received .woocommerce-order > p:last-child .button {
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	padding: 0 24px;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .woocommerce {
	display: block;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

body.sayo-storefront .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 8px;
}

body.sayo-storefront .woocommerce form .show-password-input {
	top: .8em;
}

body.sayo-storefront .woocommerce :where(button.button, a.button, input.button):focus-visible {
	outline: 2px solid #1a6f78;
	outline-offset: 3px;
}

/* Cart and checkout refinement */
body.sayo-storefront :where(
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button
) {
	min-height: 56px;
	border: 1px solid var(--sayo-page-ink) !important;
	border-radius: 2px;
	color: #fff !important;
	background: var(--sayo-page-ink) !important;
	font-weight: 650;
	text-decoration: none;
	transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

body.sayo-storefront :where(
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button
) .wc-block-components-button__text {
	color: inherit !important;
}

body.sayo-storefront :where(
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button
):not([aria-disabled="true"]):not(:disabled):hover {
	border-color: var(--sayo-page-signal) !important;
	color: var(--sayo-page-ink) !important;
	background: var(--sayo-page-signal) !important;
}

body.sayo-storefront :where(
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button
):is([aria-disabled="true"], :disabled) {
	border-color: #d7dad5 !important;
	color: #5d625f !important;
	background: #e4e6e2 !important;
	cursor: not-allowed;
	opacity: 1 !important;
}

body.sayo-storefront.woocommerce-cart .sayo-commerce-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
	align-items: start;
	gap: 32px;
}

body.sayo-storefront.woocommerce-cart .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form,
body.sayo-storefront.woocommerce-cart .cart-collaterals,
body.sayo-storefront.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form,
body.sayo-storefront.woocommerce-cart .cart-collaterals .cart_totals {
	border: 1px solid #dde1dc;
	background: #fff;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.sayo-storefront.woocommerce-cart .cart-collaterals table.shop_table {
	margin: 0;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form table.shop_table thead th {
	padding-top: 18px;
	padding-bottom: 18px;
	background: #f1f3f0;
	color: #68706c;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form__cart-item td {
	vertical-align: middle;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a {
	display: flex;
	align-items: center;
	gap: 18px;
	line-height: 1.35;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail,
body.sayo-storefront.woocommerce-cart .woocommerce-cart-form__cart-item .product-name img {
	width: 112px;
	height: 112px;
	flex: 0 0 112px;
	object-fit: contain;
	background: #f0f2ef;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form__cart-item td:not(.product-name),
body.sayo-storefront.woocommerce-cart .cart_totals td {
	font-variant-numeric: tabular-nums;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form .quantity .qty {
	width: 78px;
	min-height: 48px;
	padding: 0 12px;
	text-align: center;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form td.actions {
	padding: 22px;
	background: #fafbf9;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form .coupon {
	grid-template-columns: minmax(150px, 1fr) auto;
	gap: 10px;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form .coupon .input-text,
body.sayo-storefront.woocommerce-cart .woocommerce-cart-form .coupon .button {
	min-height: 50px;
}

body.sayo-storefront.woocommerce-cart .woocommerce-cart-form .coupon .button {
	padding-right: 24px;
	padding-left: 24px;
}

body.sayo-storefront.woocommerce-cart .cart-collaterals {
	position: sticky;
	top: 104px;
}

body.sayo-storefront.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
	padding: 28px;
}

body.sayo-storefront.woocommerce-cart .cart_totals h2 {
	margin: 0 0 18px;
	padding-bottom: 20px;
	border-bottom: 1px solid #dde1dc;
	font-size: 26px;
}

body.sayo-storefront.woocommerce-cart .cart_totals table.shop_table th,
body.sayo-storefront.woocommerce-cart .cart_totals table.shop_table td {
	padding: 15px 0;
}

body.sayo-storefront.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right;
}

body.sayo-storefront.woocommerce-cart .cart_totals .order-total th,
body.sayo-storefront.woocommerce-cart .cart_totals .order-total td {
	padding-top: 20px;
	border-top: 1px solid #dde1dc;
	font-size: 18px;
}

body.sayo-storefront.woocommerce-cart .wc-proceed-to-checkout {
	padding: 18px 0 0;
}

body.sayo-storefront.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
	align-items: start;
	gap: 0 32px;
}

body.sayo-storefront.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
body.sayo-storefront.woocommerce-checkout form.checkout > .woocommerce-error,
body.sayo-storefront.woocommerce-checkout form.checkout > .woocommerce-info {
	grid-column: 1 / -1;
}

body.sayo-storefront.woocommerce-checkout .col2-set {
	grid-column: 1;
	grid-row: 2 / span 2;
	margin: 0;
	border: 1px solid #dde1dc;
}

body.sayo-storefront.woocommerce-checkout #order_review_heading {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	padding: 34px 34px 20px;
	border: 1px solid #dde1dc;
	border-bottom: 0;
	background: #fff;
}

body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order {
	grid-column: 2;
	grid-row: 3;
	padding: 0 34px 34px;
	border: 1px solid #dde1dc;
	border-top: 0;
}

body.sayo-storefront.woocommerce-checkout .woocommerce-billing-fields > h3,
body.sayo-storefront.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.sayo-storefront.woocommerce-checkout .woocommerce-additional-fields > h3 {
	margin: 0 0 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid #dde1dc;
}

body.sayo-storefront.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.sayo-storefront.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 18px;
}

body.sayo-storefront.woocommerce-checkout form .form-row,
body.sayo-storefront.woocommerce-checkout form .form-row-first,
body.sayo-storefront.woocommerce-checkout form .form-row-last {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

body.sayo-storefront.woocommerce-checkout form .form-row-wide,
body.sayo-storefront.woocommerce-checkout form .create-account,
body.sayo-storefront.woocommerce-checkout form #billing_address_2_field {
	grid-column: 1 / -1;
}

body.sayo-storefront.woocommerce-checkout form .form-row label {
	display: block;
	margin: 0 0 8px;
	line-height: 1.35;
}

body.sayo-storefront.woocommerce-checkout form .woocommerce-input-wrapper,
body.sayo-storefront.woocommerce-checkout form input.input-text,
body.sayo-storefront.woocommerce-checkout form textarea,
body.sayo-storefront.woocommerce-checkout form select,
body.sayo-storefront.woocommerce-checkout form .select2-container {
	width: 100% !important;
}

body.sayo-storefront.woocommerce-checkout form input.input-text,
body.sayo-storefront.woocommerce-checkout form select,
body.sayo-storefront.woocommerce-checkout .select2-container .select2-selection--single {
	min-height: 54px;
}

body.sayo-storefront.woocommerce-checkout form input.input-text:focus,
body.sayo-storefront.woocommerce-checkout form textarea:focus,
body.sayo-storefront.woocommerce-checkout form select:focus {
	border-color: #53605b;
	box-shadow: 0 0 0 3px rgba(83, 96, 91, .12);
	outline: 0;
}

body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table {
	margin: 0 0 24px;
	border-top: 1px solid #dde1dc;
	border-bottom: 1px solid #dde1dc;
}

body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table th,
body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table td {
	padding: 16px 0;
	font-variant-numeric: tabular-nums;
}

body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table th:last-child,
body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table td:last-child {
	text-align: right;
}

body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order .order-total th,
body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order .order-total td {
	padding-top: 20px;
	font-size: 18px;
}

body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-payment {
	border: 1px solid #dde1dc;
}

body.sayo-storefront.woocommerce-checkout #payment ul.payment_methods,
body.sayo-storefront.woocommerce-checkout #payment ul.wc_payment_methods {
	padding: 20px;
	border: 0;
	list-style: none !important;
}

body.sayo-storefront.woocommerce-checkout #payment ul.payment_methods li,
body.sayo-storefront.woocommerce-checkout #payment ul.wc_payment_methods li {
	margin: 0;
	padding: 0;
	list-style: none !important;
}

body.sayo-storefront.woocommerce-checkout #payment ul.payment_methods li::marker,
body.sayo-storefront.woocommerce-checkout #payment ul.payment_methods li::before,
body.sayo-storefront.woocommerce-checkout #payment ul.wc_payment_methods li::marker,
body.sayo-storefront.woocommerce-checkout #payment ul.wc_payment_methods li::before {
	display: none !important;
	content: none !important;
}

body.sayo-storefront.woocommerce-checkout #payment ul.payment_methods li > input,
body.sayo-storefront.woocommerce-checkout #payment ul.payment_methods li > label {
	vertical-align: middle;
}

body.sayo-storefront.woocommerce-checkout #payment div.payment_box {
	margin: 14px 0 0;
	padding: 14px 16px;
	color: #4f5854;
	font-size: 13px;
	line-height: 1.55;
}

body.sayo-storefront.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

body.sayo-storefront.woocommerce-checkout #payment .place-order {
	margin: 0;
	padding: 0 20px 20px;
}

body.sayo-storefront .woocommerce a.checkout-button,
body.sayo-storefront .woocommerce #place_order {
	transition: color 220ms ease, background-color 220ms ease, transform 220ms ease;
}

body.sayo-storefront .woocommerce a.checkout-button:active,
body.sayo-storefront .woocommerce #place_order:active {
	transform: translateY(1px);
}

/* Not found */
.sayo-not-found__hero {
	min-height: 680px;
	padding: 80px 36px 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
}

.sayo-not-found__hero > span {
	color: #d8dbd5;
	font-size: 170px;
	font-weight: 500;
	line-height: .9;
}

.sayo-not-found__hero > p {
	margin: 28px 0 0;
	font-size: 10px;
	font-weight: 650;
}

.sayo-not-found__hero h1 {
	margin: 18px 0 0;
	font-size: 48px;
	font-weight: 450;
}

.sayo-not-found__hero > div {
	margin-top: 16px;
}

.sayo-not-found__hero form {
	width: min(100%, 720px);
	margin-top: 34px;
}

.sayo-not-found__hero nav {
	margin-top: 30px;
	display: flex;
	gap: 26px;
}

.sayo-not-found__hero nav a {
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
	font-size: 11px;
	font-weight: 600;
}

@media (max-width: 1080px) {
	.sayo-collection-hero h1,
	.sayo-software-hero h1,
	.sayo-about-hero h1,
	.sayo-support-hero h1,
	.sayo-help-hero h1,
	.sayo-contact-hero h1,
	.sayo-guides-hero h1,
	.sayo-search-results__hero h1,
	.sayo-standard-hero h1,
	.sayo-commerce-header h1,
	.sayo-article-header h1 {
		font-size: 52px;
	}

	.sayo-collection-products .sayo-product-grid,
	.sayo-search-products .sayo-product-grid,
	.sayo-not-found__products .sayo-product-grid,
	.sayo-support-products > div {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sayo-collection-products .sayo-product-grid--count-1 {
		grid-template-columns: minmax(0, 620px);
	}

	.sayo-collection-products .sayo-product-grid--count-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sayo-software-hero > img {
		right: -12%;
		width: 72%;
	}

	.sayo-guides-hero {
		grid-template-columns: 1fr;
	}

	.sayo-guides-hero form {
		margin-top: 8px;
	}
}

@media (max-width: 820px) {
	body.sayo-storefront .sayo-logo span {
		font-size: 17px;
	}

	.sayo-breadcrumbs {
		width: calc(100% - 40px);
	}

	.sayo-page-cta {
		padding: 70px 22px 82px;
		align-items: flex-start;
		flex-direction: column;
	}

	.sayo-page-cta h2 {
		font-size: 39px;
	}

	.sayo-collection-hero,
	.sayo-software-hero,
	.sayo-about-hero {
		height: 680px;
	}

	.sayo-collection-hero__copy,
	.sayo-about-hero > div {
		left: 22px;
		right: 22px;
		bottom: 64px;
	}

	.sayo-collection-hero h1,
	.sayo-about-hero h1 {
		font-size: 47px;
	}

	.sayo-collection-statement,
	.sayo-software-intro,
	.sayo-about-intro,
	.sayo-software-capabilities > header,
	.sayo-software-compatibility > div,
	.sayo-support-products > header,
	.sayo-support-faq > header,
	.sayo-download-list > header,
	.sayo-download-note,
	.sayo-search-content > header {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.sayo-collection-statement,
	.sayo-software-intro,
	.sayo-about-intro {
		min-height: 0;
		padding: 82px 22px 94px;
	}

	.sayo-collection-statement h2,
	.sayo-software-intro h2,
	.sayo-about-intro h2,
	.sayo-collection-software h2,
	.sayo-download-primary h2,
	.sayo-about-products__copy h2,
	.sayo-contact-body__intro h2 {
		font-size: 40px;
	}

	.sayo-collection-products,
	.sayo-support-products,
	.sayo-guides-list,
	.sayo-related-guides,
	.sayo-search-products,
	.sayo-not-found__products,
	.sayo-software-capabilities,
	.sayo-support-faq,
	.sayo-download-list,
	.sayo-search-content {
		padding: 76px 22px 90px;
	}

	.sayo-collection-products .sayo-product-grid,
	.sayo-collection-products .sayo-product-grid--count-3,
	.sayo-search-products .sayo-product-grid,
	.sayo-not-found__products .sayo-product-grid,
	.sayo-support-products > div,
	.sayo-guides-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sayo-collection-feature,
	.sayo-software-device,
	.sayo-about-products {
		grid-template-columns: 1fr;
	}

	.sayo-collection-feature__media,
	.sayo-software-device__media,
	.sayo-about-products__media {
		min-height: 560px;
	}

	.sayo-collection-feature__copy,
	.sayo-software-device__copy,
	.sayo-about-products__copy {
		padding: 76px 22px 88px;
	}

	.sayo-collection-software,
	.sayo-download-primary {
		padding: 76px 22px 88px;
		align-items: flex-start;
		grid-template-columns: 1fr;
		flex-direction: column;
	}

	.sayo-software-hero > img {
		right: -22%;
		bottom: -22%;
		width: 104%;
		height: 76%;
	}

	.sayo-software-hero__copy {
		top: 72px;
		left: 22px;
		right: 22px;
		transform: none;
	}

	.sayo-software-hero h1 {
		font-size: 45px;
	}

	.sayo-software-capabilities__grid {
		grid-template-columns: 1fr;
	}

	.sayo-software-capabilities__grid article {
		min-height: 250px;
	}

	.sayo-software-capabilities__grid h3 {
		margin-top: 70px;
	}

	.sayo-software-compatibility ul {
		grid-template-columns: 1fr 1fr;
	}

	.sayo-software-compatibility li {
		border-bottom: 1px solid var(--sayo-page-line);
	}

	.sayo-support-hero,
	.sayo-help-hero,
	.sayo-guides-hero,
	.sayo-search-results__hero,
	.sayo-standard-hero,
	.sayo-commerce-header {
		min-height: 0;
		padding: 72px 22px 82px;
	}

	.sayo-support-actions {
		grid-template-columns: 1fr;
	}

	.sayo-support-actions > a,
	.sayo-support-actions > a:nth-child(odd),
	.sayo-support-actions > a:nth-child(even) {
		min-height: 170px;
		padding: 30px 22px;
	}

	.sayo-support-faq > div {
		margin-left: 0;
	}

	.sayo-download-list article {
		grid-template-columns: 1fr;
	}

	.sayo-download-list nav {
		align-items: flex-start;
	}

	.sayo-contact-hero,
	.sayo-contact-body {
		grid-template-columns: 1fr;
		gap: 50px;
		padding: 72px 22px 82px;
	}

	.sayo-about-principles {
		grid-template-columns: 1fr;
	}

	.sayo-about-principles article,
	.sayo-about-principles article:nth-child(1),
	.sayo-about-principles article:nth-child(2),
	.sayo-about-principles article:nth-child(3) {
		min-height: 280px;
		padding: 32px 22px;
	}

	.sayo-about-principles h3 {
		margin-top: 90px;
	}

	.sayo-article-header {
		padding: 70px 22px 64px;
	}

	.sayo-article-image {
		width: calc(100% - 40px);
		height: 500px;
	}

	.sayo-article-layout {
		width: calc(100% - 40px);
		padding: 72px 0 90px;
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.sayo-article-layout > aside,
	.sayo-policy-layout > nav {
		position: static;
	}

	.sayo-search-content article {
		grid-template-columns: 90px 1fr;
	}

	.sayo-search-content article p,
	.sayo-search-content article > a {
		grid-column: 2;
	}

	.sayo-policy-layout {
		width: calc(100% - 40px);
		padding: 62px 0 90px;
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.sayo-policy-layout > nav {
		overflow-x: auto;
		flex-direction: row;
		border-bottom: 1px solid var(--sayo-page-line);
	}

	.sayo-policy-layout > nav strong {
		display: none;
	}

	.sayo-policy-layout > nav a {
		flex: 0 0 auto;
		padding: 13px 18px;
		border-bottom: 0;
	}

	.sayo-commerce-content {
		width: calc(100% - 40px);
	}

	body.sayo-storefront.sayo-account-view .sayo-commerce-content > .woocommerce {
		grid-template-columns: 1fr;
		gap: 34px;
	}
}

@media (max-width: 560px) {
	body.sayo-storefront .sayo-header__inner {
		width: calc(100% - 28px);
		grid-template-columns: 116px 1fr;
		gap: 8px;
	}

	body.sayo-storefront .sayo-logo span {
		font-size: 15px;
	}

	body.sayo-storefront .sayo-header__actions > a:not(.sayo-cart-link) {
		display: none;
	}

	.sayo-announcement strong {
		font-size: 10px;
	}

	.sayo-page-cta h2,
	.sayo-collection-statement h2,
	.sayo-software-intro h2,
	.sayo-about-intro h2,
	.sayo-collection-software h2,
	.sayo-download-primary h2,
	.sayo-about-products__copy h2,
	.sayo-contact-body__intro h2,
	.sayo-support-products > header h2,
	.sayo-support-faq > header h2,
	.sayo-download-list > header h2,
	.sayo-search-content > header h2 {
		font-size: 34px;
	}

	.sayo-collection-hero,
	.sayo-software-hero,
	.sayo-about-hero {
		height: 610px;
	}

	.sayo-collection-hero h1,
	.sayo-software-hero h1,
	.sayo-about-hero h1,
	.sayo-support-hero h1,
	.sayo-help-hero h1,
	.sayo-contact-hero h1,
	.sayo-guides-hero h1,
	.sayo-search-results__hero h1,
	.sayo-standard-hero h1,
	.sayo-commerce-header h1,
	.sayo-article-header h1 {
		font-size: 40px;
	}

	.sayo-collection-products .sayo-product-grid,
	.sayo-collection-products .sayo-product-grid--count-2,
	.sayo-collection-products .sayo-product-grid--count-3,
	.sayo-search-products .sayo-product-grid,
	.sayo-not-found__products .sayo-product-grid,
	.sayo-support-products > div,
	.sayo-guides-grid {
		grid-template-columns: 1fr;
	}

	.sayo-collection-feature__media,
	.sayo-software-device__media,
	.sayo-about-products__media {
		min-height: 420px;
	}

	.sayo-support-hero form,
	.sayo-guides-hero form,
	.sayo-search-results__hero form,
	.sayo-not-found__hero form {
		height: 58px;
		grid-template-columns: 1fr 88px;
	}

	.sayo-support-products article p,
	.sayo-guide-card__body > div {
		min-height: 0;
	}

	.sayo-download-list__product {
		grid-template-columns: 96px 1fr;
	}

	.sayo-download-list__product img {
		width: 96px;
		height: 96px;
	}

	.sayo-form-row {
		grid-template-columns: 1fr;
	}

	.sayo-contact-form {
		padding: 22px;
	}

	.sayo-contact-form__footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.sayo-contact-form__footer button {
		width: 100%;
	}

	.sayo-article-image {
		height: 340px;
	}

	.sayo-article-content {
		font-size: 16px;
	}

	.sayo-article-content h2,
	.sayo-policy-content h2,
	.sayo-standard-content h2 {
		font-size: 30px;
	}

	.sayo-search-content article {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.sayo-search-content article p,
	.sayo-search-content article > a {
		grid-column: 1;
	}

	.sayo-search-empty > span,
	.sayo-not-found__hero > span {
		font-size: 110px;
	}

	.sayo-search-empty h2,
	.sayo-not-found__hero h1 {
		font-size: 34px;
	}

	.sayo-search-empty > div {
		align-items: flex-start;
		flex-direction: column;
	}

	.sayo-standard-content {
		width: calc(100% - 40px);
	}

	body.sayo-storefront .woocommerce table.shop_table_responsive tr,
	body.sayo-storefront .woocommerce-page table.shop_table_responsive tr {
		margin-bottom: 18px;
		display: block;
		background: #fff;
	}

	body.sayo-storefront .woocommerce table.shop_table_responsive thead,
	body.sayo-storefront .woocommerce-page table.shop_table_responsive thead {
		display: none;
	}

	body.sayo-storefront .woocommerce table.shop_table_responsive tbody,
	body.sayo-storefront .woocommerce-page table.shop_table_responsive tbody,
	body.sayo-storefront .woocommerce table.shop_table_responsive td,
	body.sayo-storefront .woocommerce-page table.shop_table_responsive td {
		width: 100%;
		display: block;
	}

	body.sayo-storefront .woocommerce table.shop_table_responsive td[data-title],
	body.sayo-storefront .woocommerce-page table.shop_table_responsive td[data-title] {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		text-align: right;
	}

	body.sayo-storefront .woocommerce table.shop_table_responsive td[data-title]::before,
	body.sayo-storefront .woocommerce-page table.shop_table_responsive td[data-title]::before {
		content: attr(data-title);
		font-size: 11px;
		font-weight: 650;
		text-transform: uppercase;
	}

	body.sayo-storefront .woocommerce table.shop_table_responsive td.actions,
	body.sayo-storefront .woocommerce-page table.shop_table_responsive td.actions {
		text-align: left;
	}

	body.sayo-storefront .woocommerce-cart-form .coupon,
	body.sayo-storefront:not(.logged-in).sayo-account-view .u-columns {
		grid-template-columns: 1fr;
	}

	body.sayo-storefront .woocommerce-cart-form .coupon .button {
		width: 100%;
	}

	body.sayo-storefront .woocommerce form .form-row,
	body.sayo-storefront .woocommerce form .form-row-first,
	body.sayo-storefront .woocommerce form .form-row-last {
		display: block;
		float: none;
		width: 100%;
		margin-right: 0;
		margin-left: 0;
	}

	body.sayo-storefront .woocommerce form .form-row > label:not(.woocommerce-form-login__rememberme),
	body.sayo-storefront .woocommerce form .form-row .woocommerce-input-wrapper,
	body.sayo-storefront .woocommerce form .form-row .password-input,
	body.sayo-storefront .woocommerce form .form-row input.input-text,
	body.sayo-storefront .woocommerce form .form-row textarea,
	body.sayo-storefront .woocommerce form .form-row select,
	body.sayo-storefront .woocommerce form .form-row .select2-container {
		display: block;
		width: 100% !important;
	}

	body.sayo-storefront .woocommerce form .form-row > label:not(.woocommerce-form-login__rememberme) {
		margin-bottom: 8px;
	}

	.sayo-footer__bottom > nav {
		flex-wrap: wrap;
	}

	body.sayo-storefront .woocommerce-checkout .col2-set,
	body.sayo-storefront .woocommerce-checkout-review-order,
	body.sayo-storefront.sayo-account-view .woocommerce-MyAccount-content,
	body.sayo-storefront .woocommerce-form-login,
	body.sayo-storefront .woocommerce-form-register {
		padding: 22px;
	}

	body.sayo-checkout-view .sayo-header__inner {
		grid-template-columns: 1fr auto;
	}
}

@media (max-width: 900px) {
	body.sayo-storefront.woocommerce-cart .sayo-commerce-content > .woocommerce {
		grid-template-columns: 1fr;
	}

	body.sayo-storefront.woocommerce-cart .cart-collaterals {
		position: static;
	}

	body.sayo-storefront.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	body.sayo-storefront.woocommerce-checkout .col2-set,
	body.sayo-storefront.woocommerce-checkout #order_review_heading,
	body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order {
		grid-column: 1;
		grid-row: auto;
	}

	body.sayo-storefront.woocommerce-checkout #order_review_heading {
		margin-top: 28px;
	}

	body.sayo-storefront.woocommerce-order-received .woocommerce-order {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	body.sayo-storefront.woocommerce-order-received .woocommerce-order-overview,
	body.sayo-storefront.woocommerce-order-received .woocommerce-order-details,
	body.sayo-storefront.woocommerce-order-received .woocommerce-customer-details,
	body.sayo-storefront.woocommerce-order-received .woocommerce-order > p:last-child {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (max-width: 620px) {
	body.sayo-storefront.woocommerce-order-received .woocommerce-order {
		padding: 26px 22px 30px;
	}

	body.sayo-storefront.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr;
	}

	body.sayo-storefront.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	body.sayo-storefront.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	body.sayo-storefront.woocommerce-checkout form .form-row,
	body.sayo-storefront.woocommerce-checkout form .form-row-wide,
	body.sayo-storefront.woocommerce-checkout form .create-account,
	body.sayo-storefront.woocommerce-checkout form #billing_address_2_field {
		grid-column: 1;
	}

	body.sayo-storefront.woocommerce-cart .woocommerce-cart-form__cart-item .product-name a {
		align-items: flex-start;
		flex-direction: column;
	}

	body.sayo-storefront.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail,
	body.sayo-storefront.woocommerce-cart .woocommerce-cart-form__cart-item .product-name img {
		width: 132px;
		height: 132px;
		flex-basis: 132px;
	}

	body.sayo-storefront.woocommerce-cart .woocommerce .cart-collaterals .cart_totals,
	body.sayo-storefront.woocommerce-checkout .col2-set,
	body.sayo-storefront.woocommerce-checkout #order_review_heading,
	body.sayo-storefront.woocommerce-checkout .woocommerce-checkout-review-order {
		padding-right: 22px;
		padding-left: 22px;
	}
}

/* Account experience */
body.sayo-storefront.sayo-account-view .sayo-commerce-header {
	min-height: 280px;
}

body.sayo-storefront.sayo-account-view .sayo-commerce-content {
	padding-top: 56px;
}

body.sayo-storefront.sayo-account-view .sayo-commerce-content > .woocommerce {
	width: 100%;
	min-width: 0;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .u-columns {
	width: 100%;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 0;
	overflow: hidden;
	border: 1px solid #dfe2dd;
	background: #fff;
	box-shadow: 0 26px 70px rgb(38 52 48 / 7%);
}

body.sayo-storefront:not(.logged-in).sayo-account-view :where(.u-column1, .u-column2) {
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 46px 50px 50px;
	float: none;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .u-column1 {
	grid-column: 1;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .u-column2 {
	grid-column: 2;
	border-left: 1px solid #dfe2dd;
}

body.sayo-storefront:not(.logged-in).sayo-account-view :where(.u-column1, .u-column2) > h2 {
	margin: 0 0 30px;
	padding-bottom: 22px;
	border-bottom: 1px solid #e2e5e0;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.15;
}

body.sayo-storefront:not(.logged-in).sayo-account-view :where(.woocommerce-form-login, .woocommerce-form-register) {
	min-height: 0;
	margin: 0;
	padding: 0;
	background: transparent;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .woocommerce form .form-row {
	width: 100%;
	margin: 0 0 22px;
	padding: 0;
	display: block;
	float: none;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .woocommerce form .form-row > label:not(.woocommerce-form-login__rememberme) {
	margin: 0 0 9px;
	display: block;
	font-size: 12px;
	font-weight: 650;
}

body.sayo-storefront:not(.logged-in).sayo-account-view :where(.password-input, input.input-text) {
	width: 100%;
	display: block;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .woocommerce form .form-row input.input-text {
	min-height: 56px;
	padding: 0 16px;
	border: 1px solid #d3d8d2;
	background: #f7f8f6;
	font-size: 16px;
	transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .woocommerce form .form-row input.input-text:focus {
	border-color: #1a6f78;
	outline: 0;
	background: #fff;
	box-shadow: 0 0 0 3px rgb(26 111 120 / 12%);
}

body.sayo-storefront:not(.logged-in).sayo-account-view .woocommerce-form-login__rememberme {
	margin: 0 0 18px;
	font-size: 13px;
}

body.sayo-storefront:not(.logged-in).sayo-account-view :where(.woocommerce-form-login__submit, .woocommerce-form-register__submit) {
	width: 100%;
	min-height: 54px;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
}

body.sayo-storefront:not(.logged-in).sayo-account-view :where(.woocommerce-LostPassword, .woocommerce-privacy-policy-text, .woocommerce-form-register > p) {
	color: #68706c;
	font-size: 13px;
	line-height: 1.65;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .woocommerce-LostPassword {
	margin: 18px 0 0;
}

body.sayo-storefront:not(.logged-in).sayo-account-view .woocommerce-LostPassword a {
	color: #1c2321;
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.sayo-storefront.logged-in.sayo-account-view .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 32px;
}

body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-navigation,
body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-content {
	width: 100%;
	min-width: 0;
	float: none;
	border: 1px solid #dfe2dd;
	background: #fff;
}

body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-navigation {
	padding: 10px 22px;
}

body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-navigation ul {
	border-top: 0;
}

body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: 0;
}

body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-navigation a {
	padding: 17px 0;
	font-size: 13px;
}

body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-content {
	min-height: 360px;
	padding: 44px 48px;
	word-break: normal;
	overflow-wrap: break-word;
	line-height: 1.7;
}

body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

@media (max-width: 760px) {
	body.sayo-storefront.sayo-account-view .sayo-commerce-header {
		min-height: 0;
	}

	body.sayo-storefront:not(.logged-in).sayo-account-view .u-columns,
	body.sayo-storefront.logged-in.sayo-account-view .woocommerce {
		grid-template-columns: 1fr;
	}

	body.sayo-storefront:not(.logged-in).sayo-account-view .u-column2 {
		grid-column: 1;
		border-top: 1px solid #dfe2dd;
		border-left: 0;
	}
}

@media (max-width: 560px) {
	body.sayo-storefront.sayo-account-view .sayo-commerce-content {
		padding-top: 34px;
	}

	body.sayo-storefront:not(.logged-in).sayo-account-view :where(.u-column1, .u-column2),
	body.sayo-storefront.logged-in.sayo-account-view .woocommerce-MyAccount-content {
		padding: 28px 24px 32px;
	}

	body.sayo-storefront:not(.logged-in).sayo-account-view :where(.woocommerce-form-login, .woocommerce-form-register) {
		padding: 0;
	}
}
