/*!
	Theme Name: researchonly.com
	Author: Brons.io
	Version: 1.0.64
	Text Domain: child-theme
	Template: astra
*/

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/instrument-sans-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('assets/fonts/instrument-sans-500.woff2') format('woff2');
}

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('assets/fonts/instrument-sans-600.woff2') format('woff2');
}

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/instrument-sans-700.woff2') format('woff2');
}

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/ibm-plex-mono-400.woff2') format('woff2');
}

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('assets/fonts/ibm-plex-mono-500.woff2') format('woff2');
}

:root {
	--ro-font-sans: 'Instrument Sans', Arial, sans-serif;
	--ro-font-mono: 'IBM Plex Mono', 'Courier New', monospace;
}

html,
html body,
body button,
body input,
body select,
body textarea,
body p,
body .entry-content,
body .elementor-widget-text-editor,
body .elementor-widget-theme-post-content {
	font-family: var(--ro-font-sans) !important;
}

body {
	font-weight: 400;
	line-height: 1.55;
}

body p,
body .entry-content {
	line-height: 1.55;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .entry-title,
body .widget-title,
body .elementor-heading-title {
	font-family: var(--ro-font-sans) !important;
	font-weight: 600;
	line-height: 1.08 !important;
}

body h1,
body h2,
body .entry-title {
	letter-spacing: -0.03em;
}

body button,
body input[type='button'],
body input[type='reset'],
body input[type='submit'],
body .button,
body .wp-element-button,
body .ast-button,
body .ast-custom-button,
body .elementor-button,
body .main-header-menu > .menu-item > .menu-link,
body .ast-builder-menu-mobile .main-navigation .menu-link {
	font-family: var(--ro-font-sans) !important;
	font-weight: 600;
	line-height: 1.2;
}

body .product_title,
body .woocommerce-loop-product__title,
body .wc-block-grid__product-title,
body .wc-block-components-product-name,
body .ro-home__hero-product-name,
body #brez-collection .brez-name {
	font-family: var(--ro-font-sans) !important;
	font-weight: 600;
	line-height: 1.12 !important;
}

body .price,
body .amount,
body .current-price,
body .custom-option-price,
body .ro-home__price,
body .ro-product__price,
body #brez-collection .brez-price {
	font-family: var(--ro-font-sans) !important;
	font-weight: 600;
	line-height: 1.2;
}

.price del,
.regular-price,
.cop-regular,
.ro-home__price del,
#brez-collection .brez-regular-price {
	font-weight: 500;
}

body .ro-home__eyebrow,
body .ro-home__product-type,
body .ro-home__hero-product-label,
body .ro-home__hero-status,
body .ro-collection__count,
body .ro-product__purchase .variations th,
body .ro-product__purchase .variations label,
body .product_meta,
body .product_meta a,
body .sku_wrapper,
body .posted_in,
body .tagged_as,
body .ast-woo-product-category,
body .wc-block-grid__product-category,
body .wc-block-components-product-metadata,
body #brez-collection .brez-subtitle {
	font-family: var(--ro-font-mono) !important;
	font-weight: 500;
	letter-spacing: 0.075em;
	line-height: 1.25;
	text-transform: uppercase;
}

/* Brez collection UI injected by the published WPCode snippet. */
#brez-collection {
	font-family: var(--ro-font-sans);
}

#brez-collection .brez-products-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 24px;
}

#brez-collection .brez-product-card {
	min-width: 0;
	background: #ffffff;
}

#brez-collection .brez-info {
	padding: 18px 0 0;
}

#brez-collection .brez-name {
	margin: 0;
	color: #163545;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.12;
}

/* Remove the unused Astra above-header band and keep primary navigation compact. */
.ast-above-header-wrap,
.ast-above-header-bar {
	display: none !important;
}

.ast-primary-header-bar .site-primary-header-wrap {
	min-height: 64px !important;
	padding-top: 0;
	padding-bottom: 0;
}

.ast-primary-header-bar .site-logo-img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	min-height: 40px;
}

.site-logo-img .research-only-text-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: #0b3d92;
	text-align: center;
	text-decoration: none;
}

.site-logo-img .research-only-text-logo:hover,
.site-logo-img .research-only-text-logo:focus {
	color: #0b3d92;
}

.site-logo-img .research-only-text-logo:focus-visible {
	border-radius: 3px;
	outline: 2px solid #0b3d92;
	outline-offset: 5px;
}

.research-only-text-logo__name {
	font-family: var(--ro-font-sans);
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 0.95;
	white-space: nowrap;
}

.research-only-text-logo__descriptor {
	margin-top: 3px;
	color: #000;
	font-family: var(--ro-font-sans);
	font-size: 7px;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.ast-primary-header-bar .site-branding {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link {
	padding: 0 14px;
	font-size: 15px;
}

.ast-primary-header-bar .ast-header-woo-cart {
	min-height: 44px !important;
}

@media (min-width: 922px) {
	#ast-desktop-header .ast-primary-header-bar .site-primary-header-wrap,
	#ast-desktop-header .ast-primary-header-bar .ast-builder-grid-row,
	#ast-desktop-header .ast-primary-header-bar .site-header-section {
		height: 64px;
		min-height: 64px !important;
	}

	#ast-desktop-header .ast-primary-header-bar .main-header-menu,
	#ast-desktop-header .ast-primary-header-bar .main-header-menu > .menu-item,
	#ast-desktop-header .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link {
		height: 64px;
		line-height: 64px !important;
	}

	#ast-desktop-header .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link {
		line-height: 1.2 !important;
	}

	#ast-desktop-header .ast-primary-header-bar .ast-header-woo-cart {
		height: 44px;
		line-height: 44px;
	}
}

/* Compact, native site search in Astra's primary desktop menu. */
.research-only-header-search {
	display: flex;
	align-items: center;
	margin-left: 4px;
}

.research-only-header-search__details {
	position: relative;
}

.research-only-header-search__toggle {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 6px 8px;
	background: transparent;
	color: #163545;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	list-style: none;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.research-only-header-search__toggle:hover,
.research-only-header-search__toggle:focus-visible,
.research-only-header-search__details.is-open > .research-only-header-search__toggle {
	border-color: #dde3e8;
	background: #f6f8fb;
	color: #163545 !important;
}

.research-only-header-search__toggle:focus-visible,
.research-only-header-search__submit:focus-visible,
.research-only-header-search__close:focus-visible {
	outline: 2px solid #0b3d92;
	outline-offset: 2px;
}

.research-only-header-search__icon,
.research-only-header-search__submit svg,
.research-only-header-search__close svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}

.research-only-header-search__form {
	position: absolute;
	z-index: 1000;
	top: calc(100% + 10px);
	right: 0;
	display: flex;
	width: min(320px, calc(100vw - 32px));
	margin: 0;
	border: 1px solid #dde3e8;
	border-radius: 8px;
	padding: 6px;
	background: #ffffff;
	box-shadow: 0 14px 34px rgba(22, 53, 69, 0.14);
}

.research-only-header-search__form[hidden] {
	display: none !important;
}

.research-only-header-search__form:focus-within {
	border-color: #0b3d92;
	box-shadow: 0 0 0 2px rgba(11, 61, 146, 0.16), 0 14px 34px rgba(22, 53, 69, 0.14);
}

.research-only-header-search__input[type='search'] {
	flex: 1;
	min-width: 0;
	height: 42px;
	margin: 0;
	border: 0;
	border-radius: 5px;
	padding: 0 10px;
	background: transparent;
	color: #163545;
	font-size: 15px;
	box-shadow: none;
}

.research-only-header-search__input[type='search']::placeholder {
	color: #7a8491;
	opacity: 1;
}

.research-only-header-search__input[type='search']:focus {
	outline: 0;
	box-shadow: none;
}

.research-only-header-search__submit {
	display: inline-flex;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0;
	border: 0;
	border-radius: 5px;
	padding: 0;
	background: #163545;
	color: #ffffff;
	cursor: pointer;
	transition: background-color 160ms ease;
}

.research-only-header-search__submit:hover,
.research-only-header-search__submit:focus-visible {
	background: #0b3d92;
}

.research-only-header-search__close {
	display: inline-flex;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0;
	border: 0;
	border-radius: 5px;
	padding: 0;
	background: transparent;
	color: #53606f;
	font-size: 0;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 160ms ease, color 160ms ease;
}

.research-only-header-search__close:hover,
.research-only-header-search__close:focus-visible {
	background: #edf1f6;
	color: #163545;
}

.research-only-product-search-results {
	position: absolute;
	z-index: 1100;
	top: calc(100% + 8px);
	right: 0;
	box-sizing: border-box;
	width: min(460px, 100%);
	border: 1px solid #d9e0e8;
	border-radius: 8px;
	padding: 6px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(22, 53, 69, 0.18);
}

.research-only-product-search-results[hidden] {
	display: none !important;
}

.research-only-product-search-results__list {
	max-height: min(430px, calc(100vh - 120px));
	overflow-y: auto;
	overscroll-behavior: contain;
}

.research-only-product-search-results__option {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	min-height: 66px;
	border-radius: 6px;
	padding: 6px 10px 6px 6px;
	color: #163545;
	text-decoration: none;
	transition: background-color 120ms ease;
}

.research-only-product-search-results__option:hover,
.research-only-product-search-results__option:focus-visible,
.research-only-product-search-results__option.is-active {
	background: #f0f4fb;
	color: #163545;
	outline: 0;
}

.research-only-product-search-results__image {
	display: block;
	width: 54px;
	height: 54px;
	border-radius: 5px;
	background: #f3f6f9;
	object-fit: cover;
}

.research-only-product-search-results__image--placeholder {
	display: grid;
	place-items: center;
	color: #6c7683;
	font-family: var(--ro-font-mono);
	font-size: 12px;
	font-weight: 600;
}

.research-only-product-search-results__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 3px;
}

.research-only-product-search-results__name {
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.research-only-product-search-results__price {
	color: #687482;
	font-family: var(--ro-font-mono);
	font-size: 11px;
	line-height: 1.35;
}

.research-only-product-search-results__message {
	margin: 0;
	padding: 16px;
	color: #687482;
	font-size: 13px;
	text-align: center;
}

@media (min-width: 922px) {
	#ast-desktop-header .main-header-menu {
		position: relative;
	}

	#ast-desktop-header .research-only-header-search,
	#ast-desktop-header .research-only-header-search__details {
		position: static;
	}

	#ast-desktop-header .research-only-header-search__details {
		display: flex;
		align-items: center;
		height: 100%;
	}

	#ast-desktop-header .research-only-header-search__form {
		top: 50%;
		right: 0;
		left: 0;
		box-sizing: border-box;
		align-items: center;
		width: 100%;
		height: 46px;
		padding: 4px;
		transform: translateY(-50%);
		transform-origin: right center;
		animation: research-only-desktop-search-reveal 160ms ease-out;
	}

	#ast-desktop-header .research-only-header-search__details.is-open > .research-only-header-search__toggle {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	#ast-desktop-header .research-only-header-search__input[type='search'] {
		height: 36px;
		padding: 0 12px;
		font-size: 14px;
	}

	#ast-desktop-header .research-only-header-search__submit,
	#ast-desktop-header .research-only-header-search__close {
		flex-basis: 36px;
		width: 36px;
		height: 36px;
	}
}

@keyframes research-only-desktop-search-reveal {
	from {
		opacity: 0;
		transform: translateY(-50%) scaleX(0.78);
	}

	to {
		opacity: 1;
		transform: translateY(-50%) scaleX(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	#ast-desktop-header .research-only-header-search__form {
		animation: none;
	}
}

.research-only-mobile-search,
.research-only-mobile-search__panel {
	display: none;
}

@media (max-width: 921px) {
	#ast-mobile-header .ast-primary-header-bar {
		position: relative;
	}

	#ast-mobile-header .ast-primary-header-bar > .ast-builder-grid-row {
		position: relative;
		grid-template-columns: 44px minmax(0, 1fr) auto !important;
		column-gap: 4px;
		width: 100%;
	}

	#ast-mobile-header .site-header-primary-section-left {
		z-index: 2;
		grid-column: 1;
	}

	#ast-mobile-header .site-header-primary-section-center {
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 50%;
		width: max-content;
		transform: translate(-50%, -50%);
	}

	#ast-mobile-header .site-header-primary-section-right {
		z-index: 2;
		grid-column: 3;
	}

	.ast-mobile-header-wrap .site-primary-header-wrap {
		min-height: 58px !important;
		padding-top: 0;
		padding-bottom: 0;
	}

	#ast-mobile-header .ast-primary-header-bar {
		min-height: 58px !important;
	}

	.ast-primary-header-bar .site-logo-img {
		width: 100%;
		max-width: 116px;
		min-height: 36px;
	}

	.research-only-text-logo__name {
		font-size: 18px;
	}

	.research-only-text-logo__descriptor {
		margin-top: 2px;
		font-size: 6px;
	}

	.ast-mobile-header-wrap .menu-toggle,
	.ast-mobile-header-wrap .ast-header-woo-cart,
	.ast-mobile-header-wrap .ast-site-header-cart,
	.ast-mobile-header-wrap .cart-container {
		box-sizing: border-box;
		min-height: 44px;
		height: 44px !important;
	}

	.ast-mobile-header-wrap .menu-toggle,
	.ast-mobile-header-wrap [data-section='section-header-mobile-trigger'] {
		box-sizing: border-box;
		width: 44px !important;
		min-width: 44px !important;
		max-width: 44px;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.ast-mobile-header-wrap [data-section='section-header-mobile-trigger'] .ast-button-wrap {
		width: 44px;
	}

	.ast-mobile-header-wrap .ast-header-woo-cart,
	.ast-mobile-header-wrap .ast-site-header-cart,
	.ast-mobile-header-wrap .cart-container {
		width: 44px !important;
		min-width: 44px;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	#ast-mobile-header .site-header-primary-section-right {
		gap: 2px;
	}

	.research-only-mobile-search {
		display: flex;
		align-items: center;
		order: -1;
	}

	.research-only-mobile-search__trigger,
	.research-only-mobile-search__submit,
	.research-only-mobile-search__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		border: 0;
		padding: 0;
		font-size: 0;
		line-height: 1;
		cursor: pointer;
	}

	.research-only-mobile-search__trigger {
		width: 44px;
		height: 44px;
		border-radius: 6px;
		background: transparent;
		color: #163545;
		transition: background-color 160ms ease, color 160ms ease;
	}

	.research-only-mobile-search__trigger:hover,
	.research-only-mobile-search__trigger:focus-visible,
	.research-only-mobile-search__trigger[aria-expanded='true'] {
		background: #e9edf4;
		color: #0b3d92;
	}

	.research-only-mobile-search__trigger:focus-visible,
	.research-only-mobile-search__submit:focus-visible,
	.research-only-mobile-search__close:focus-visible {
		outline: 2px solid #0b3d92;
		outline-offset: 2px;
	}

	.research-only-mobile-search__trigger svg,
	.research-only-mobile-search__submit svg,
	.research-only-mobile-search__close svg {
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
		stroke-linecap: round;
	}

	.research-only-mobile-search__panel {
		position: absolute;
		z-index: 100;
		inset: 0;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 8px 14px;
		background: #f5f6f8;
		box-shadow: 0 8px 24px rgba(22, 53, 69, 0.14);
	}

	.research-only-mobile-search__panel[hidden] {
		display: none;
	}

	.research-only-mobile-search__form {
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
		min-width: 0;
		margin: 0;
		border: 1px solid #d4dbe5;
		border-radius: 8px;
		padding: 4px;
		background: #fff;
		box-shadow: 0 2px 8px rgba(22, 53, 69, 0.06);
	}

	.research-only-mobile-search__form:focus-within {
		border-color: #0b3d92;
		box-shadow: 0 0 0 2px rgba(11, 61, 146, 0.15), 0 2px 8px rgba(22, 53, 69, 0.06);
	}

	.research-only-mobile-search__input[type='search'] {
		flex: 1;
		min-width: 0;
		height: 40px;
		margin: 0;
		border: 0;
		border-radius: 0;
		padding: 0 10px;
		background: transparent;
		color: #163545;
		font-size: 16px;
		font-weight: 500;
		line-height: 1;
		box-shadow: none;
	}

	.research-only-mobile-search__input[type='search']::placeholder {
		color: #7a8491;
		opacity: 1;
	}

	.research-only-mobile-search__input[type='search']:focus {
		outline: 0;
		box-shadow: none;
	}

	.research-only-mobile-search__input[type='search']::-webkit-search-cancel-button {
		display: none;
	}

	.research-only-mobile-search__submit,
	.research-only-mobile-search__close {
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
		border-radius: 6px;
	}

	.research-only-mobile-search__submit {
		background: #163545;
		color: #fff;
		transition: background-color 160ms ease;
	}

	.research-only-mobile-search__submit:hover,
	.research-only-mobile-search__submit:focus-visible {
		background: #0b3d92;
	}

	.research-only-mobile-search__close {
		background: transparent;
		color: #53606f;
		transition: background-color 160ms ease, color 160ms ease;
	}

	.research-only-mobile-search__close:hover,
	.research-only-mobile-search__close:focus-visible {
		background: #edf1f6;
		color: #163545;
	}

	.research-only-mobile-search__form .research-only-product-search-results {
		right: 0;
		left: 0;
		width: auto;
	}

	.research-only-mobile-search-is-open .ast-mobile-header-content {
		display: none !important;
	}

	.ast-builder-menu-mobile .research-only-header-search {
		display: block;
		margin: 4px 0 0;
		padding: 8px 20px 14px;
	}

	.ast-builder-menu-mobile .research-only-header-search__toggle {
		width: 100%;
		justify-content: flex-start;
	}

	.ast-builder-menu-mobile .research-only-header-search__form {
		position: static;
		width: 100%;
		margin-top: 8px;
		box-shadow: none;
	}

	.ast-builder-menu-mobile .research-only-header-search__close {
		display: none;
	}
}

@media (max-width: 360px) {
	#ast-mobile-header .site-header-primary-section-right {
		gap: 0;
	}

	#ast-mobile-header .research-only-mobile-search {
		padding-right: 0 !important;
	}

	#ast-mobile-header .research-only-text-logo__name {
		font-size: 16px;
	}
}

.research-only-customer-support {
	padding: 14px 20px 18px;
	text-align: center;
}

.research-only-footer-disclaimers {
	padding: 56px 0;
	border-top: 1px solid #dde3e8;
	background: #f6f8fb;
	color: #163545;
}

.research-only-footer-disclaimers__inner {
	width: min(1160px, calc(100% - 48px));
	margin: 0 auto;
}

.research-only-footer-disclaimers__eyebrow {
	margin: 0 0 12px;
	color: #0b3d92;
	font-family: var(--ro-font-mono) !important;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
}

.research-only-footer-disclaimers h2 {
	margin: 0 0 28px;
	font-size: clamp(28px, 3vw, 40px);
}

.research-only-footer-disclaimers__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.research-only-footer-disclaimers__grid p {
	margin: 0;
	padding: 20px;
	border: 1px solid #dde3e8;
	background: #ffffff;
	color: #5f6b78;
	font-size: 14px;
	line-height: 1.6;
}

.research-only-footer-disclaimers__grid strong {
	color: #163545;
}

.research-only-customer-support .ast-container {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 6px;
}

.research-only-customer-support p {
	margin: 0;
}

.research-only-customer-support__contact {
	display: flex;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px 7px;
}

.research-only-customer-support__policies {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px 18px;
	font-size: 13px;
}

.research-only-customer-support a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.research-only-customer-support a:hover,
.research-only-customer-support a:focus-visible {
	color: #0b3d92;
}

@media (max-width: 480px) {
	.research-only-customer-support__contact {
		gap: 3px 6px;
	}

	.research-only-customer-support__contact > span:first-child {
		flex-basis: 100%;
	}

	.research-only-customer-support__policies {
		align-items: center;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: clamp(6px, 2vw, 12px);
		font-size: clamp(10px, 3vw, 12px);
		line-height: 1.3;
	}

	.research-only-customer-support__policies a {
		white-space: nowrap;
	}
}

#brez-collection .brez-subtitle {
	margin: 8px 0;
	color: #53606f;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
}

#brez-collection .brez-price {
	display: block;
	margin-bottom: 16px;
	color: #163545;
	font-size: 18px;
	font-weight: 600;
}

#brez-collection .brez-regular-price {
	margin-left: 8px;
	color: #7a8491;
	font-size: 14px;
	font-weight: 500;
}

#brez-collection .brez-btn {
	display: inline-block;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	color: #163545;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
}

@media (max-width: 767px) {
	.research-only-footer-disclaimers {
		padding: 48px 0;
	}

	.single-product .research-only-customer-support {
		padding-bottom: calc(96px + env(safe-area-inset-bottom));
	}

	.research-only-footer-disclaimers__inner {
		width: min(100% - 32px, 1160px);
	}

	.research-only-footer-disclaimers__grid {
		grid-template-columns: 1fr;
	}

	#brez-collection .brez-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
	}

	#brez-collection .brez-name {
		font-size: 18px;
	}
}

/* Checkout research details and required acknowledgement. */
.woocommerce-checkout .research-only-checkout-layout,
.woocommerce-checkout .research-only-checkout-layout__customer,
.woocommerce-checkout .research-only-checkout-layout__order {
	min-width: 0;
}

.woocommerce-checkout .research-only-checkout-layout__order {
	margin-top: 32px;
}

.woocommerce-checkout .research-only-checkout-layout #customer_details,
.woocommerce-checkout .research-only-checkout-layout #customer_details .col-1,
.woocommerce-checkout .research-only-checkout-layout #customer_details .col-2,
.woocommerce-checkout .research-only-checkout-layout #order_review_heading,
.woocommerce-checkout .research-only-checkout-layout #order_review {
	float: none !important;
	clear: none !important;
	width: 100% !important;
}

.woocommerce-checkout .research-only-checkout-layout #customer_details .col-2 {
	margin-top: 24px;
}

.woocommerce-checkout .research-only-checkout-layout #customer_details .col-2:empty {
	display: none;
}

.woocommerce-checkout .research-only-checkout-layout #order_review {
	padding-right: clamp(12px, 1.5vw, 20px) !important;
	padding-left: clamp(12px, 1.5vw, 20px) !important;
}

.woocommerce-checkout .research-only-checkout-layout #order_review_heading {
	margin-top: 0;
}

@media (min-width: 922px) {
	.woocommerce-checkout .research-only-checkout-layout {
		display: grid;
		grid-template-columns: minmax(0, 3fr) minmax(360px, 2fr);
		align-items: start;
		gap: clamp(32px, 4vw, 52px);
	}

	.woocommerce-checkout .research-only-checkout-layout__order {
		margin-top: 0;
	}
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .sa-fw-checkout-product {
	flex: 1 1 190px;
	width: 190px;
	max-width: 100%;
	min-width: 0;
	gap: 6px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .sa-fw-checkout-product__thumbnail {
	flex: 0 0 32px !important;
	width: 32px !important;
	height: 32px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .sa-fw-checkout-product__name {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity {
	flex: 0 0 100%;
	white-space: nowrap;
}

.research-only-estimated-shipping th,
.research-only-estimated-shipping td {
	vertical-align: top;
}

.research-only-estimated-shipping__note {
	display: block;
	margin-top: 4px;
	color: #52606d;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
}

.woocommerce-checkout .research-only-payment-trust {
	margin: 0 0 14px;
	padding: 14px;
	border: 1px solid #d5dce3;
	border-radius: 8px;
	background: #ffffff;
}

.woocommerce-checkout .research-only-payment-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
	gap: 9px;
}

.woocommerce-checkout .research-only-payment-card {
	position: relative;
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 40px;
	overflow: hidden;
	border: 1px solid #c8d0d9;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(22, 53, 69, 0.08);
}

.woocommerce-checkout .research-only-payment-card--visa {
	color: #16388f;
	font-family: Arial, sans-serif;
	font-size: 19px;
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.08em;
}

.woocommerce-checkout .research-only-payment-card--visa::after {
	position: absolute;
	right: 14px;
	bottom: 7px;
	left: 14px;
	height: 2px;
	background: #e2a400;
	content: '';
}

.woocommerce-checkout .research-only-payment-card--mastercard {
	gap: 0;
}

.woocommerce-checkout .research-only-payment-card__circle {
	width: 23px;
	height: 23px;
	border-radius: 50%;
}

.woocommerce-checkout .research-only-payment-card__circle--red {
	margin-right: -7px;
	background: #e4002b;
}

.woocommerce-checkout .research-only-payment-card__circle--orange {
	background: #f79e1b;
}

.woocommerce-checkout .research-only-payment-card--amex {
	border-color: #2477b3;
	background: #2477b3;
	color: #ffffff;
	font-family: Arial, sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.04em;
}

.woocommerce-checkout .research-only-payment-card--amex::before,
.woocommerce-checkout .research-only-payment-card--amex::after {
	position: absolute;
	left: -7px;
	width: calc(100% + 14px);
	height: 1.5px;
	background: #c62828;
	box-shadow: 0 0 0 0.5px rgba(255, 255, 255, 0.78);
	content: '';
}

.woocommerce-checkout .research-only-payment-card--amex::before {
	transform: rotate(31deg);
}

.woocommerce-checkout .research-only-payment-card--amex::after {
	transform: rotate(-31deg);
}

.woocommerce-checkout .research-only-trust-icons {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #e1e6eb;
}

.woocommerce-checkout .research-only-trust-icons__item {
	min-width: 0;
	text-align: center;
}

.woocommerce-checkout .research-only-trust-icons__icon {
	display: block;
	width: 100%;
	height: clamp(96px, 28vw, 128px);
	background-image: url('assets/payment-trust-icons-v1.png');
	background-repeat: no-repeat;
	background-position-y: center;
	background-size: 300% auto;
}

.woocommerce-checkout .research-only-trust-icons__icon--verified {
	background-position-x: left;
}

.woocommerce-checkout .research-only-trust-icons__icon--encrypted {
	background-position-x: center;
}

.woocommerce-checkout .research-only-trust-icons__icon--privacy {
	background-position-x: right;
}

.woocommerce-checkout .research-only-trust-icons__label {
	display: block;
	color: #364556;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.25;
}

.woocommerce-checkout .research-only-payment-assurance {
	margin: 12px 0 14px;
	padding: 12px 14px;
	border: 1px solid #c8d9ce;
	border-radius: 7px;
	background: #f1f7f3;
	color: #254333;
	font-size: 13px;
	line-height: 1.45;
}

.woocommerce-checkout .research-only-payment-assurance strong {
	font-weight: 700;
}

.woocommerce-checkout .research-only-payment-preview {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(96px, 0.34fr);
	gap: 10px;
	margin: 0 0 14px;
	padding: 14px;
	border: 1px solid #d5dce3;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: inset 0 0 0 1px rgba(22, 53, 69, 0.02);
}

.woocommerce-checkout .research-only-payment-preview__field:first-child {
	grid-column: 1 / -1;
}

.woocommerce-checkout .research-only-payment-preview__label,
.woocommerce-checkout .research-only-payment-preview__value {
	display: block;
}

.woocommerce-checkout .research-only-payment-preview__label {
	margin-bottom: 5px;
	color: #52606d;
	font-size: 11px;
	font-weight: 600;
}

.woocommerce-checkout .research-only-payment-preview__value {
	min-height: 38px;
	padding: 9px 11px;
	border: 1px solid #c8d0d9;
	border-radius: 5px;
	background: #f7f9fb;
	color: #7a8795;
	font-family: var(--ro-font-mono);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 18px;
}

.woocommerce-checkout .payment_box.payment_method_sa_fw_container:has([data-sa-pc-initialized]) .research-only-payment-preview,
.woocommerce-checkout .payment_box.payment_method_sa_fw_container:has(iframe) .research-only-payment-preview {
	display: none;
}

.woocommerce-checkout .payment_box.payment_method_sa_fw_container {
	padding: 10px !important;
}

.woocommerce-checkout .payment_box.payment_method_sa_fw_container .sa-fw-payment-container {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 12px !important;
}

.woocommerce-checkout .payment_box.payment_method_sa_fw_container .sa-pc-card-field {
	padding-right: 10px !important;
	padding-left: 10px !important;
}

/*
 * SellAbroad keeps this full-size layer over the card widget until the
 * required checkout fields are complete. Keep that click protection while
 * making the disabled payment form visible underneath it.
 */
.woocommerce-checkout .payment_box.payment_method_sa_fw_container .sa-fw-gate {
	align-items: flex-end !important;
	justify-content: flex-start !important;
	padding: 0 !important;
	background: rgba(247, 249, 251, 0.58) !important;
	backdrop-filter: grayscale(0.2);
	cursor: not-allowed;
}

.woocommerce-checkout .payment_box.payment_method_sa_fw_container .sa-fw-gate__msg {
	box-sizing: border-box;
	width: 100%;
	max-width: 420px !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	border-color: #d6a84e !important;
	background: #fff8e7 !important;
	color: #684d19 !important;
	box-shadow: 0 2px 8px rgba(22, 53, 69, 0.12);
	line-height: 1.45;
}

.research-only-checkout-details {
	clear: both;
	margin: 0 0 28px;
	padding: 24px;
	border: 1px solid #d9e0e7;
	border-radius: 10px;
	background: #f7f9fb;
}

.research-only-checkout-details h3 {
	margin: 0 0 6px;
}

.research-only-checkout-details__intro {
	margin: 0 0 20px;
	color: #52606d;
}

.research-only-checkout-details__fields .form-row {
	margin-bottom: 16px;
}

.woocommerce-checkout .research-only-checkout-details__requirement {
	margin: 20px 0 8px !important;
	color: #52606d;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

.woocommerce-checkout #research_only_acknowledgement_field {
	margin: 0 !important;
	padding: 16px 18px !important;
	border: 1px solid #bdc9d5;
	border-radius: 8px;
	background: #ffffff;
}

.woocommerce-checkout #research_only_acknowledgement_field .woocommerce-input-wrapper {
	display: block;
}

.woocommerce-checkout #research_only_acknowledgement_field label.checkbox {
	position: relative;
	display: block;
	max-width: 680px;
	margin: 0;
	padding: 0 0 0 34px;
	font-size: 16px !important;
	font-weight: 600;
	line-height: 1.45 !important;
	letter-spacing: 0;
	text-wrap: pretty;
}

.woocommerce-checkout #research_only_acknowledgement_field input[type='checkbox'] {
	position: absolute;
	top: 2px;
	left: 0;
	width: 22px;
	height: 22px;
	margin: 0 !important;
}

.woocommerce-checkout .research-only-required-field-empty,
.wc-block-checkout .research-only-required-field-empty {
	border-color: #c62828 !important;
	background: #fff0f0 !important;
	box-shadow: 0 0 0 1px #c62828 !important;
}

.woocommerce-checkout .research-only-required-field-row .select2-selection,
.wc-block-checkout .research-only-required-field-row .select2-selection {
	border-color: #c62828 !important;
	background: #fff0f0 !important;
	box-shadow: 0 0 0 1px #c62828 !important;
}

.woocommerce-checkout .research-only-checkout-details__acknowledgement.research-only-required-field-row,
.wc-block-checkout .research-only-required-field-row.wc-block-components-checkbox {
	border-color: #c62828 !important;
	background: #fff0f0 !important;
}

@media (max-width: 544px) {
	.woocommerce-checkout .research-only-payment-preview {
		grid-template-columns: 1fr 1fr;
	}

	.research-only-checkout-details {
		padding: 18px;
	}

	.woocommerce-checkout #research_only_acknowledgement_field {
		padding: 14px !important;
	}

	.woocommerce-checkout #research_only_acknowledgement_field label.checkbox {
		padding-left: 32px;
		font-size: 15px !important;
	}
}

/* Keep the mobile order summary compact and easy to scan. */
@media (max-width: 767px) {
	.woocommerce-cart .cart-collaterals .cart_totals {
		box-sizing: border-box;
		width: 100%;
		margin: 0 0 24px;
		border: 1px solid #dfe5ec;
		border-radius: 12px;
		padding: 20px;
		background: #fff;
		box-shadow: 0 4px 18px rgba(22, 53, 69, 0.04);
	}

	.woocommerce-cart .cart_totals > h2 {
		margin: 0;
		border: 0;
		border-bottom: 1px solid #e5e9ef;
		padding: 0 0 16px;
		font-size: 26px;
		font-weight: 600;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}

	.woocommerce-cart .cart_totals .shop_table {
		width: 100%;
		margin: 0;
		border: 0;
	}

	.woocommerce-cart .cart_totals .shop_table tbody,
	.woocommerce-cart .cart_totals .shop_table tr {
		display: block;
	}

	.woocommerce-cart .cart_totals .shop_table tr {
		display: grid;
		grid-template-columns: minmax(88px, 0.4fr) minmax(0, 1fr);
		align-items: start;
		gap: 12px;
		border-bottom: 1px solid #edf0f4;
		padding: 15px 0;
	}

	.woocommerce-cart .cart_totals .shop_table th,
	.woocommerce-cart .cart_totals .shop_table td {
		display: block;
		width: 100% !important;
		border: 0;
		padding: 0;
		font-size: 15px;
		line-height: 1.45;
	}

	.woocommerce-cart .cart_totals .shop_table th {
		color: var(--ro-muted);
		font-weight: 600;
		text-align: left;
		white-space: nowrap;
	}

	.woocommerce-cart .cart_totals .shop_table td {
		color: var(--ro-ink);
		text-align: right;
	}

	.woocommerce-cart .cart_totals .shop_table td::before {
		display: none;
	}

	.woocommerce-cart .cart_totals .shop_table tr.woocommerce-shipping-totals {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.woocommerce-cart .cart_totals .shop_table tr.woocommerce-shipping-totals td {
		text-align: left !important;
	}

	.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
		margin: 0;
		padding: 0;
	}

	.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
		margin: 0;
		line-height: 1.45;
	}

	.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
		display: block;
		font-size: 14px;
		line-height: 1.45;
	}

	.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
		margin: 7px 0 0;
		color: var(--ro-muted);
		font-size: 13px;
		line-height: 1.45;
	}

	.woocommerce-cart .cart_totals .shipping-calculator-button {
		display: inline-flex;
		margin-top: 9px;
		color: var(--ro-accent);
		font-size: 13px;
		font-weight: 600;
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	.woocommerce-cart .cart_totals .order-total {
		border-bottom: 0;
		padding-bottom: 0;
	}

	.woocommerce-cart .cart_totals .order-total th,
	.woocommerce-cart .cart_totals .order-total td {
		color: var(--ro-ink);
		font-size: 18px;
		font-weight: 700;
	}

	.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
		margin: 0;
		padding: 20px 0 0;
	}

	.woocommerce-cart .cart_totals .checkout-button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 54px;
		margin: 0;
		border-radius: 999px;
		padding: 12px 20px;
		font-size: 16px;
		line-height: 1.2;
	}
}

/* Present the mobile checkout review as a compact, readable receipt. */
@media (max-width: 767px) {
	.woocommerce-checkout .entry-header {
		margin-bottom: 16px;
	}

	.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
		margin: 0 0 20px;
		border-radius: 8px;
		padding: 14px 16px 14px 48px;
		line-height: 1.45;
	}

	.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
		top: 14px;
		left: 16px;
	}

	.woocommerce-checkout .woocommerce-billing-fields > h3 {
		margin: 0 0 18px !important;
		padding: 0 0 12px !important;
	}

	.woocommerce-checkout .research-only-checkout-layout #order_review_heading {
		margin: 0;
		padding: 24px 16px 18px;
		font-size: 24px;
		font-weight: 600;
		letter-spacing: -0.02em;
		line-height: 1.2;
		text-align: center;
	}

	.woocommerce-checkout .research-only-checkout-layout #order_review {
		padding: 0 16px 20px !important;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table {
		width: 100%;
		margin: 0 0 24px;
		border: 0;
		border-collapse: collapse;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table thead tr,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 86px;
		align-items: center;
		gap: 12px;
		border-bottom: 1px solid #e8edf2;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table th,
	.woocommerce-checkout .woocommerce-checkout-review-order-table td {
		display: block;
		box-sizing: border-box;
		width: 100% !important;
		border: 0;
		padding: 14px 0;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
		color: var(--ro-muted);
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.05em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table thead .product-name,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
		text-align: left;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table thead .product-total,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-total,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
		text-align: right;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item {
		align-items: center;
		min-height: 80px;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item td {
		padding: 16px 0;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .sa-fw-checkout-product {
		display: grid !important;
		grid-template-columns: 48px minmax(0, 1fr);
		align-items: center;
		gap: 11px;
		width: 100%;
		max-width: none;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .sa-fw-checkout-product__thumbnail {
		width: 48px !important;
		height: 48px !important;
		border: 1px solid #e4e9ef;
		border-radius: 6px;
		object-fit: cover;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .sa-fw-checkout-product__name {
		overflow: visible;
		color: var(--ro-ink);
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
		text-overflow: clip;
		white-space: normal;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity {
		display: block;
		margin-top: 5px;
		padding-left: 59px;
		color: var(--ro-muted);
		font-size: 13px;
		font-weight: 500;
		line-height: 1.3;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-total {
		color: var(--ro-ink);
		font-size: 15px;
		font-weight: 600;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
		color: var(--ro-muted);
		font-size: 14px;
		line-height: 1.45;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.research-only-estimated-shipping {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.research-only-estimated-shipping td {
		padding-top: 0;
		text-align: left !important;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
		margin: 0;
		padding: 0;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods label {
		display: block;
		color: var(--ro-ink);
		font-size: 14px;
		line-height: 1.45;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total {
		border-bottom: 0;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total .amount {
		color: var(--ro-ink);
		font-size: 17px;
		font-weight: 700;
	}
}

/* Optional shipping insurance: keep the supporting copy aligned with its label. */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.wsi-insurance-control {
	grid-template-columns: minmax(0, 1fr);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .wsi-insurance-control th {
	text-align: left !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .wsi-insurance-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-align: left;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .wsi-insurance-help {
	margin: 6px 0 0 25px;
	text-align: left;
}

.woocommerce-checkout .research-only-shipping-insurance__amount {
	white-space: nowrap;
}

/* This row exposes the live quote to shipping-insurance.js. It is a data hook,
 * not a checkout line item; keep it out of the visual order summary. */
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.research-only-shipping-insurance-projection {
	display: none !important;
}

@media (min-width: 922px) {
	.woocommerce-checkout .woocommerce-checkout-review-order-table .wsi-insurance-control th {
		padding-top: 10px;
		padding-bottom: 10px;
	}
}

/* Lightweight, viewport-triggered content reveals. Checkout deliberately opts out. */
@media (prefers-reduced-motion: no-preference) {
	[data-ro-reveal] {
		opacity: 0;
		transform: translateY(14px);
		transition: opacity 360ms ease var(--ro-reveal-delay, 0ms), transform 420ms cubic-bezier(0.22, 1, 0.36, 1) var(--ro-reveal-delay, 0ms);
		will-change: opacity, transform;
	}

	[data-ro-reveal='lift'] {
		transform: translateY(12px) scale(0.985);
	}

	[data-ro-reveal].ro-reveal--visible {
		opacity: 1;
		transform: none;
	}
}

/* PDP-inspired cart: keep WooCommerce's form behavior while making review effortless. */
.woocommerce-cart .entry-header {
	display: none;
}

.woocommerce-cart .site-content {
	background: linear-gradient(180deg, #f4f7fb 0, #ffffff 42rem);
}

.woocommerce-cart .entry-content {
	box-sizing: border-box;
	width: min(1160px, calc(100% - 48px));
	margin: 0 auto;
	padding: 72px 0 88px;
}

.woocommerce-cart .entry-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
	align-items: start;
	gap: clamp(32px, 5vw, 64px);
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .ro-cart__hero,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop {
	grid-column: 1 / -1;
}

.ro-cart__hero {
	max-width: 680px;
	margin: 0;
}

.ro-cart__eyebrow {
	margin: 0 0 12px;
	color: #0b3d92;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ro-cart__hero h1 {
	margin: 0;
	color: #163545;
	font-size: clamp(38px, 5vw, 62px);
	font-weight: 700;
	letter-spacing: -0.055em;
	line-height: 0.98;
}

.ro-cart__hero > p:last-child {
	margin: 18px 0 0;
	color: #667589;
	font-size: 18px;
	line-height: 1.5;
}

.woocommerce-cart .woocommerce-cart-form {
	min-width: 0;
	overflow: hidden;
	border: 1px solid #dce3ea;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(22, 53, 69, 0.08);
}

.woocommerce-cart table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
}

.woocommerce-cart .shop_table thead {
	background: #f4f7fa;
}

.woocommerce-cart .shop_table thead th {
	border: 0;
	padding: 15px 12px;
	color: #667589;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.woocommerce-cart .shop_table tbody > tr.cart_item > td {
	border: 0;
	border-bottom: 1px solid #e8edf2;
	padding: 20px 12px;
	vertical-align: middle;
}

.woocommerce-cart .shop_table .product-remove {
	width: 36px;
	padding-right: 0 !important;
	text-align: center;
}

.woocommerce-cart .shop_table a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border: 1px solid #dce3ea;
	border-radius: 50%;
	color: #667589 !important;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.woocommerce-cart .shop_table a.remove:hover,
.woocommerce-cart .shop_table a.remove:focus-visible {
	border-color: #9c1726;
	background: #9c1726;
	color: #fff !important;
	transform: scale(1.06);
}

.woocommerce-cart .shop_table .product-thumbnail {
	width: 92px;
}

.woocommerce-cart .shop_table .product-thumbnail img {
	display: block;
	width: 76px;
	max-width: 100%;
	margin: 0;
	border-radius: 6px;
	background: #f3f6f9;
}

.woocommerce-cart .shop_table .product-name a {
	color: #163545;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}

.woocommerce-cart .shop_table .product-name a:hover,
.woocommerce-cart .shop_table .product-name a:focus-visible {
	color: #0b3d92;
}

.woocommerce-cart .shop_table .variation {
	margin: 8px 0 0;
	color: #667589;
	font-size: 12px;
	line-height: 1.35;
}

.woocommerce-cart .shop_table .variation dt,
.woocommerce-cart .shop_table .variation dd {
	margin: 0;
}

.woocommerce-cart .shop_table .product-price,
.woocommerce-cart .shop_table .product-subtotal {
	color: #163545;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

.woocommerce-cart .shop_table .product-quantity .quantity {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	border: 1px solid #dce3ea;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
}

.woocommerce-cart .shop_table .product-quantity input.qty {
	width: 48px;
	min-height: 40px;
	border: 0;
	padding: 0 4px;
	color: #163545;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	box-shadow: none;
}

.woocommerce-cart .shop_table .actions {
	border: 0;
	padding: 18px !important;
	background: #f8fafd;
}

.woocommerce-cart .shop_table .coupon {
	display: flex;
	align-items: center;
	gap: 10px;
}

.woocommerce-cart .shop_table .coupon #coupon_code {
	width: 156px;
	min-height: 42px;
	margin: 0;
	border: 1px solid #d6dee7;
	border-radius: 6px;
	padding: 8px 12px;
	color: #163545;
	font-size: 13px;
}

.woocommerce-cart .shop_table .actions button,
.woocommerce-cart .shop_table .actions input[type='submit'] {
	min-height: 42px;
	border: 1px solid #163545;
	border-radius: 6px;
	padding: 9px 14px;
	background: #fff;
	color: #163545;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.woocommerce-cart .shop_table .actions button[name='update_cart'],
.woocommerce-cart .shop_table .actions input[name='update_cart'] {
	margin-left: auto;
}

.woocommerce-cart .cart-collaterals {
	width: auto;
	margin: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	position: sticky;
	top: 92px;
	box-sizing: border-box;
	float: none;
	width: 100%;
	margin: 0;
	border: 1px solid #dce3ea;
	border-radius: 10px;
	padding: 26px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(22, 53, 69, 0.08);
}

.woocommerce-cart .cart_totals > h2 {
	margin: 0;
	border: 0;
	border-bottom: 1px solid #e6ebf0;
	padding: 0 0 18px;
	color: #163545;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.1;
}

.woocommerce-cart .cart_totals .shop_table {
	margin: 0;
	border: 0;
}

.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td {
	border: 0;
	border-bottom: 1px solid #edf0f3;
	padding: 15px 0;
	color: #667589;
	font-size: 14px;
	line-height: 1.45;
}

.woocommerce-cart .cart_totals .shop_table th {
	font-weight: 600;
	text-align: left;
}

.woocommerce-cart .cart_totals .shop_table td {
	color: #163545;
	font-weight: 600;
	text-align: right;
}

.woocommerce-cart .cart_totals .shop_table .order-total th,
.woocommerce-cart .cart_totals .shop_table .order-total td {
	border-bottom: 0;
	padding-top: 20px;
	padding-bottom: 4px;
	color: #163545;
	font-size: 20px;
	font-weight: 700;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods li + li {
	margin-top: 7px;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
	color: #0b3d92;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
	margin: 0;
	padding: 24px 0 0;
}

.woocommerce-cart .cart_totals .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	margin: 0 !important;
	border: 1px solid #0b3d92;
	border-radius: 7px;
	padding: 14px 20px;
	background: linear-gradient(110deg, #163545 0%, #0b3d92 52%, #163545 100%);
	background-size: 180% 100%;
	box-shadow: 0 10px 20px rgba(11, 61, 146, 0.2);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-position 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.woocommerce-cart .cart_totals .checkout-button:hover,
.woocommerce-cart .cart_totals .checkout-button:focus-visible {
	background-position: 100% 0;
	box-shadow: 0 14px 26px rgba(11, 61, 146, 0.28);
	color: #fff !important;
	transform: translateY(-1px);
}

/* Astra offsets this heading by default; keep every summary element on one inset. */
body.woocommerce-cart .cart-collaterals .cart_totals > h2 {
	width: auto;
	margin: 0 !important;
	padding: 0 0 18px !important;
	background: transparent;
}

body.woocommerce-cart .cart-collaterals .cart_totals .checkout-button {
	display: flex !important;
	min-height: 56px !important;
	padding: 14px 20px !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	white-space: nowrap;
}

.woocommerce-cart .cart-empty {
	margin: 0;
	border: 1px solid #dce3ea;
	border-radius: 10px;
	padding: 28px 32px 28px 60px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(22, 53, 69, 0.06);
	color: #163545;
}

.woocommerce-cart .return-to-shop {
	margin: -46px 0 0;
}

.woocommerce-cart .return-to-shop .button {
	border-radius: 7px;
	padding: 14px 20px;
	background: #163545;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Cart and checkout one-click upsell: intentionally familiar product-tile anatomy. */
.ro-cart-upsell {
	margin: 26px 0 0;
	border-top: 1px solid #e4ebf1;
	padding: 24px 0 0;
}

.ro-cart-upsell__intro {
	margin: 0 0 14px;
}

.ro-cart-upsell__eyebrow {
	margin: 0 0 5px;
	color: #0b3d92;
	font-family: var(--ro-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.09em;
	line-height: 1.25;
	text-transform: uppercase;
}

.ro-cart-upsell__intro h3 {
	margin: 0;
	color: #163545;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.ro-cart-upsell__intro > p:last-child {
	margin: 6px 0 0;
	color: #667589;
	font-size: 13px;
	line-height: 1.4;
}

.ro-cart-upsell__tile {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	border: 1px solid #dce4eb;
	border-radius: 8px;
	padding: 12px;
	background: #fff;
	box-shadow: 0 7px 18px rgba(22, 53, 69, 0.05);
}

.ro-cart-upsell__image {
	display: block;
	overflow: hidden;
	border-radius: 5px;
	background: #f4f7fa;
}

.ro-cart-upsell__image img {
	display: block;
	width: 70px;
	height: 70px;
	object-fit: cover;
}

.ro-cart-upsell__details {
	min-width: 0;
}

.ro-cart-upsell__details h4 {
	margin: 0;
	font-size: 15px;
	line-height: 1.25;
}

.ro-cart-upsell__details h4 a {
	color: #163545;
	text-decoration: none;
}

.ro-cart-upsell__details h4 a:hover,
.ro-cart-upsell__details h4 a:focus-visible {
	color: #0b3d92;
}

.ro-cart-upsell__proof {
	display: inline-block;
	margin-top: 5px;
	color: #397549;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
}

.ro-cart-upsell__price {
	margin-top: 5px;
	color: #163545;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.ro-cart-upsell__price del {
	margin-right: 5px;
	color: #7a8794;
	font-size: 12px;
	font-weight: 500;
}

.ro-cart-upsell__price ins {
	background: transparent;
	color: inherit;
	text-decoration: none;
}

.ro-cart-upsell__add {
	min-height: 40px;
	border: 1px solid #163545 !important;
	border-radius: 5px !important;
	padding: 9px 12px !important;
	background: #163545 !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	line-height: 1.15 !important;
	text-transform: uppercase;
	white-space: nowrap;
}

.ro-cart-upsell__add:hover,
.ro-cart-upsell__add:focus-visible {
	border-color: #0b3d92 !important;
	background: #0b3d92 !important;
}

.ro-cart-upsell__add.is-loading {
	opacity: 0.7;
	cursor: wait;
}

.woocommerce-checkout .ro-cart-upsell {
	margin: 22px 0 24px;
	border-top: 1px solid #e8edf2;
}

/* The cart hook follows WooCommerce's action row, so make the upsell a
 * deliberate continuation of the card instead of leaving a detached gap. */
.woocommerce-cart .ro-cart-upsell {
	margin: 0;
	border-top: 1px solid #e8edf2;
	padding: 28px 36px 34px;
}

@media (max-width: 767px) {
	.woocommerce-cart .ro-cart-upsell {
		padding: 24px 16px 28px;
	}

	.ro-cart-upsell__tile {
		grid-template-columns: 58px minmax(0, 1fr);
		gap: 11px;
		padding: 14px;
	}

	.ro-cart-upsell__image img {
		width: 58px;
		height: 58px;
	}

	.ro-cart-upsell__add {
		grid-column: 1 / -1;
		width: 100%;
		min-height: 42px;
	}
}

@media (max-width: 767px) {
	.woocommerce-cart .entry-content {
		width: min(100% - 32px, 560px);
		padding: 42px 0 56px;
	}

	.woocommerce-cart .entry-content > .woocommerce {
		display: block;
	}

	.woocommerce-cart .woocommerce-notices-wrapper,
	.woocommerce-cart .ro-cart__hero,
	.woocommerce-cart .wc-empty-cart-message,
	.woocommerce-cart .cart-empty,
	.woocommerce-cart .return-to-shop {
		margin-bottom: 26px;
	}

	.ro-cart__eyebrow {
		font-size: 11px;
	}

	.ro-cart__hero h1 {
		font-size: 40px;
	}

	.ro-cart__hero > p:last-child {
		margin-top: 14px;
		font-size: 16px;
	}

	.woocommerce-cart .woocommerce-cart-form {
		margin-bottom: 24px;
		border-radius: 8px;
	}

	.woocommerce-cart .shop_table thead {
		display: none;
	}

	.woocommerce-cart .shop_table tbody > tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 70px minmax(0, 1fr) auto;
		column-gap: 12px;
		row-gap: 8px;
		padding: 18px 16px;
	}

	.woocommerce-cart .shop_table tbody > tr.cart_item > td {
		display: block;
		width: auto !important;
		min-height: 0 !important;
		border: 0;
		padding: 0 !important;
		text-align: left !important;
	}

	.woocommerce-cart .shop_table tbody > tr.cart_item > td::before {
		display: none !important;
		content: none !important;
	}

	.woocommerce-cart .shop_table .product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce-cart .shop_table .product-name { grid-column: 2 / -1; grid-row: 1; padding-right: 34px !important; }
	.woocommerce-cart .shop_table .product-remove { position: absolute; top: 18px; right: 16px; }
	.woocommerce-cart .shop_table .product-price { grid-column: 2; grid-row: 2; align-self: center; }
	.woocommerce-cart .shop_table .product-quantity { grid-column: 3; grid-row: 2; justify-self: end; }
	.woocommerce-cart .shop_table .product-subtotal { grid-column: 2 / -1; grid-row: 3; border-top: 1px solid #edf0f3 !important; padding-top: 10px !important; text-align: right !important; }

	.woocommerce-cart .shop_table .product-thumbnail {
		width: auto;
	}

	.woocommerce-cart .shop_table .product-thumbnail img {
		width: 70px;
		border-radius: 5px;
	}

	.woocommerce-cart .shop_table .product-name a {
		font-size: 16px;
	}

	.woocommerce-cart .shop_table .product-price,
	.woocommerce-cart .shop_table .product-subtotal {
		font-size: 14px;
	}

	.woocommerce-cart .shop_table .product-quantity .quantity {
		min-height: 36px;
	}

	.woocommerce-cart .shop_table .product-quantity input.qty {
		width: 40px;
		min-height: 34px;
		font-size: 14px;
	}

	.woocommerce-cart .shop_table .actions {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		padding: 16px !important;
	}

	.woocommerce-cart .shop_table .coupon {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		width: 100%;
	}

	.woocommerce-cart .shop_table .coupon .screen-reader-text {
		position: absolute !important;
	}

	.woocommerce-cart .shop_table .coupon #coupon_code {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
		width: 100% !important;
	}

	.woocommerce-cart .shop_table .coupon button[name='apply_coupon'] {
		grid-column: 2;
		grid-row: 1;
		width: auto !important;
		margin: 0 !important;
		float: none;
	}

	.woocommerce-cart .shop_table .actions button,
	.woocommerce-cart .shop_table .actions input[type='submit'] {
		min-width: max-content;
		font-size: 11px;
		line-height: 1.1;
		white-space: nowrap;
	}

	.woocommerce-cart .shop_table .actions button[name='update_cart'],
	.woocommerce-cart .shop_table .actions input[name='update_cart'] {
		width: 100%;
		margin-left: 0;
	}

	.woocommerce-cart .cart-collaterals .cart_totals {
		position: static;
		margin: 0;
		border-radius: 8px;
		padding: 20px;
	}

	.woocommerce-cart .cart_totals > h2 {
		font-size: 24px;
	}

	.woocommerce-cart .cart_totals .shop_table tr {
		display: grid;
		grid-template-columns: minmax(78px, 0.4fr) minmax(0, 1fr);
		gap: 12px;
		border-bottom: 1px solid #edf0f3;
		padding: 14px 0;
	}

	.woocommerce-cart .cart_totals .shop_table th,
	.woocommerce-cart .cart_totals .shop_table td {
		display: block;
		width: 100% !important;
		border: 0;
		padding: 0;
	}

	.woocommerce-cart .cart_totals .shop_table tr.woocommerce-shipping-totals {
		display: block;
	}

	.woocommerce-cart .cart_totals .shop_table tr.woocommerce-shipping-totals th {
		margin-bottom: 7px;
	}

	.woocommerce-cart .cart_totals .shop_table tr.woocommerce-shipping-totals td {
		text-align: left;
	}

	.woocommerce-cart .cart_totals .shop_table .order-total {
		border-bottom: 0;
	}

	.woocommerce-cart .cart_totals .checkout-button {
		min-height: 54px;
		font-size: 13px;
	}

	.woocommerce-cart .cart-empty {
		padding: 22px 20px 22px 50px;
	}

	.woocommerce-cart .return-to-shop {
		margin-top: -8px;
	}
}
