/* =========================================================
	INGRID LOHMAN
	PAGES 2026
========================================================= */


/* =========================================================
	SHARED PAGE COMPONENTS
========================================================= */


/* ============================
	PAGE SECTIONS
============================ */

.section--offer-group,
.section--offer-routes,
.section--page-intro,
.section--recovery,
.section--research-detail,
.section--support-compact {
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.section--page-intro,
.section--recovery {
	background-color: var(--color-grey-warm-soft);
}

.section--offer-group {
	background-color: var(--color-grey-warm-soft);
}

.section--offer-routes,
.section--research-detail,
.section--support-compact {
	background-color: var(--color-white);
}

.offer--card[id],
.treatment--item[id] {
	scroll-margin-top: 7rem;
}



/* ============================
	PAGE INTRO
============================ */

.section--page-intro {
	overflow: hidden;
}

.page-intro--content {
	max-width: 720px;
}

.page-intro--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.85rem, 4vw, 4.25rem);
	letter-spacing: -.055rem;
	line-height: 1.02;
	margin-bottom: 1.35rem;
}

.page-intro--lead {
	color: var(--color-brown-dark);
	font-size: 1.2rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.75;
	margin-bottom: 1rem;
}

.page-intro--text {
	color: var(--color-text);
	font-size: 1.075rem;
	line-height: 1.8;
	margin-bottom: 0;
}

.page-intro--actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.75rem;
}

.page-intro--image {
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
	position: relative;
}

.page-intro--image picture,
.page-intro--image img {
	display: block;
	height: 100%;
	width: 100%;
}

.page-intro--image img {
	aspect-ratio: 4 / 3.25;
	object-fit: cover;
	object-position: center center;
	transition: var(--transition-slow);
}

.page-intro--image:hover img {
	transform: scale(1.025);
}



/* ============================
	PAGE SECTION HEAD
============================ */

.page-section--head {
	margin-left: auto;
	margin-right: auto;
	max-width: 1080px;
}

.page-section--title {
	color: var(--color-brown-dark);
	font-size: 2.6rem;
	letter-spacing: -.04rem;
	line-height: 1.08;
	margin-bottom: .75rem;
}

.page-section--intro {
	color: var(--color-text);
	font-size: 1.15rem;
	line-height: 1.75;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
}



/* ============================
	OFFER ROUTES
============================ */

.section--offer-routes .route--card {
	background-color: var(--color-white);
	min-height: 100%;
}

.section--offer-routes .route--content h2 {
	font-size: 1.35rem;
	line-height: 1.2;
}

.section--offer-routes .route--content p {
	font-size: 1rem;
	line-height: 1.7;
}



/* ============================
	OFFER CARDS
============================ */

.offer--card {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	transition: var(--transition);
}

.offer--card:hover {
	border-color: var(--color-primary-light);
	box-shadow: var(--shadow-hover);
}

.offer--card-header {
	border-bottom: 1px solid var(--color-border);
	padding: 1.85rem 1.85rem 1.65rem;
}

.offer--card-meta {
	color: var(--color-primary-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.3;
	margin-bottom: .6rem;
}

.offer--card-header h3 {
	color: var(--color-brown-dark);
	font-size: 2rem;
	letter-spacing: -.02rem;
	line-height: 1.15;
	margin-bottom: .8rem;
}

.offer--card-header p {
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1.7;
	margin: 0;
}

.offer--card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 1.4rem;
	padding: 1.65rem 1.85rem;
}

.offer--card-block {
	border-bottom: 1px solid var(--color-border-soft);
	padding-bottom: 1.4rem;
}

.offer--card-block:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.offer--card-block strong {
	color: var(--color-brown-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	margin-bottom: .7rem;
}

.offer--card-block ul {
	display: flex;
	flex-direction: column;
	gap: .45rem;
}

.offer--card-block li {
	color: var(--color-text);
	font-size: .975rem;
	line-height: 1.6;
	padding-left: 1.2rem;
	position: relative;
}

.offer--card-block li::before {
	background-color: var(--color-primary);
	border-radius: var(--radius-full);
	content: '';
	height: .38rem;
	left: 0;
	position: absolute;
	top: .6rem;
	width: .38rem;
}

.offer--card-footer {
	background-color: var(--color-white);
	border-top: 1px solid var(--color-border);
	margin-top: auto;
	padding: 1.4rem 1.85rem 1.85rem;
}

.offer--price {
	align-items: flex-end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.2rem;
}

.offer--price span {
	color: var(--color-text);
	font-size: .9rem;
	line-height: 1.45;
	max-width: 70%;
}

.offer--price strong {
	color: var(--color-brown-dark);
	flex: 0 0 auto;
	font-family: var(--font-family-heading);
	font-size: 1.3rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	white-space: nowrap;
}

.offer--consult-prices {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.offer--consult-price {
	border-bottom: 1px solid var(--color-border-soft);
	padding-bottom: 1rem;
}

.offer--consult-price:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.offer--consult-price p {
	color: var(--color-text);
	font-size: .92rem;
	line-height: 1.6;
	margin: 0;
}

.offer--consult-price p+p {
	margin-top: .3rem;
}

.offer--consult-price strong {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
}



/* =========================================================
	RESEARCH DETAIL
========================================================= */

.section--research-detail {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.research-detail--aside {
	position: sticky;
	top: 9rem;
}

.research-detail--title {
	color: var(--color-brown-dark);
	font-size: 2.55rem;
	letter-spacing: -.04rem;
	line-height: 1.08;
	margin-bottom: 1rem;
	margin-top: 1rem;
}

.research-detail--image {
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	margin-bottom: 1.75rem;
	margin-top: 2rem;
	overflow: hidden;
	position: relative;
}

.research-detail--image img {
	aspect-ratio: 4 / 3;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: var(--transition-slow);
	width: 100%;
}

.research-detail--text {
	color: var(--color-text);
	font-size: 1.05rem;
	line-height: 1.8;
	margin: 0;
	margin-bottom: 1rem;
}

.research-accordion {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.section--research-detail .treatment--item {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	cursor: pointer;
	margin: 0;
	overflow: hidden;
	padding: 0;
	transition: var(--transition);
}

.section--research-detail .treatment--item+.treatment--item {
	margin-top: 0;
}

.section--research-detail .treatment--item:hover {
	background: var(--color-white);
	border-color: var(--color-primary-light);
	box-shadow: var(--shadow-medium);
	transform: none;
}

.section--research-detail .treatment--item.open {
	background: var(--color-white);
	border-color: var(--color-primary-light);
	box-shadow: var(--shadow-medium);
}

.section--research-detail .treatment--question {
	align-items: center !important;
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	min-height: 90px;
	padding: 1rem;
	position: relative;
	width: 100%;
}

.section--research-detail .treatment--heading {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.section--research-detail .research-accordion--meta {
	color: var(--color-secondary);
	display: block;
	font-family: var(--font-family-heading);
	font-size: .78rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: .075rem;
	line-height: 1.4;
	text-transform: uppercase;
}

.section--research-detail .treatment--heading h3 {
	color: var(--color-brown-dark);
	font-size: 1.45rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: -.02rem;
	line-height: 1.25;
	margin: .45rem 0 0;
	padding: 0;
}

.section--research-detail .treatment--icon {
	align-items: center;
	align-self: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-secondary-light);
	border-radius: var(--radius-sm);
	color: var(--color-secondary-dark);
	display: inline-flex;
	flex: 0 0 42px;
	height: 42px;
	justify-content: center;
	margin: 0;
	position: relative;
	transition: var(--transition);
	width: 42px;
}

.section--research-detail .treatment--item:hover .treatment--icon {
	background-color: var(--color-secondary-soft);
	border-color: var(--color-secondary-light);
	color: var(--color-secondary-dark);
}

.section--research-detail .treatment--item.open .treatment--icon {
	background-color: var(--color-secondary);
	border-color: var(--color-secondary);
	color: var(--color-white);
}

.section--research-detail .treatment--icon .ico {
	align-items: center;
	display: flex;
	font-size: .9rem;
	height: 100%;
	inset: 0;
	justify-content: center;
	line-height: 1;
	margin: auto;
	position: absolute;
	transition: opacity .2s ease;
	width: 100%;
}

.section--research-detail .treatment--icon .ico-minus {
	opacity: 0;
}

.section--research-detail .treatment--icon .ico-plus {
	opacity: 1;
}

.section--research-detail .treatment--item.open .treatment--icon .ico-minus {
	opacity: 1;
}

.section--research-detail .treatment--item.open .treatment--icon .ico-plus {
	opacity: 0;
}

.section--research-detail .treatment--answer {
	background-color: transparent;
	border-top: 0;
	display: none;
	overflow: hidden;
	padding: .5rem !important;
}

.section--research-detail .accordion-detail {
	background-color: var(--color-grey-warm);
	border-radius: var(--radius-md);
	padding: 2rem;
}

.section--research-detail .accordion-detail--intro {
	color: var(--color-text);
	font-size: 1.025rem;
	line-height: 1.75;
	margin: 0 0 2rem;
	max-width: 780px;
	padding: 0;
}

.section--research-detail .treatment--answer p {
	padding-top: 0;
}

.section--research-detail .accordion-detail--grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.section--research-detail .accordion-detail--block,
.section--research-detail .accordion-detail--block:nth-child(2) {
	background: var(--color-white);
	background-image: none;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: none;
	padding: 1.75rem;
}

.section--research-detail .accordion-detail--block h4 {
	color: var(--color-brown-dark);
	font-size: 1.15rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.35;
	margin: 0 0 1.25rem;
}

.section--research-detail .accordion-detail--block p {
	color: var(--color-text);
	font-size: .975rem;
	line-height: 1.7;
	margin: 0;
	padding: 0;
}

.section--research-detail .accordion-detail--block ul {
	display: grid;
	gap: .7rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.section--research-detail .accordion-detail--block ul li {
	color: var(--color-text);
	font-size: .975rem;
	line-height: 1.6;
	margin: 0;
	padding: 0 0 0 1.35rem;
	position: relative;
}

.section--research-detail .accordion-detail--block ul li::before {
	background-color: var(--color-primary);
	border-radius: var(--radius-full);
	content: '';
	height: 6px;
	left: 0;
	position: absolute;
	top: .75em;
	transform: translateY(-50%);
	width: 6px;
}

.section--research-detail .accordion-detail--block ol {
	counter-reset: research-process;
	display: grid;
	gap: .7rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.section--research-detail .accordion-detail--block ol li {
	color: var(--color-text);
	counter-increment: research-process;
	font-size: .975rem;
	line-height: 1.6;
	margin: 0;
	padding: 0 0 0 2rem;
	position: relative;
}

.section--research-detail .accordion-detail--block ol li::before {
	color: var(--color-primary-dark);
	content: counter(research-process) '.';
	font-family: var(--font-family-heading);
	font-size: .95rem;
	font-weight: var(--font-weight-bold);
	left: 0;
	line-height: 1.6;
	position: absolute;
	text-align: right;
	top: 0;
	width: 1.3rem;
}

.section--research-detail .accordion-detail--meta {
	align-items: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	margin-top: 1.25rem;
	padding: 1.5rem 1.75rem;
}

.section--research-detail .accordion-detail--meta>div {
	display: flex;
	flex-direction: column;
	gap: .35rem;
}

.section--research-detail .accordion-detail--meta span {
	color: var(--color-secondary);
	font-family: var(--font-family-heading);
	font-size: .75rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: .075rem;
	line-height: 1.4;
	text-transform: uppercase;
}

.section--research-detail .accordion-detail--meta strong {
	color: var(--color-brown-dark);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.5;
}

.section--research-detail .accordion-detail--meta p {
	color: var(--color-text);
	font-size: .925rem;
	line-height: 1.65;
	margin: 0;
	padding: 0;
}

.section--research-detail .accordion-detail--actions {
	display: flex;
	margin-top: 1.5rem;
}



/* ============================
	RESEARCH FIGURE
============================ */

.research-detail--figure {
	margin-top: 1.75rem;
}

.research-detail--figure:hover .research-detail--image img {
	transform: scale(1.025);
}

.research-detail--figure figcaption {
	color: var(--color-text-muted);
	font-size: .9rem;
	line-height: 1.6;
	padding: .8rem .15rem 0;
}



/* ============================
	RESEARCH ACCORDION DETAIL
============================ */

.research-accordion .treatment--item {
	margin-top: 0;
	padding: 1.25rem 1rem;
}

.research-accordion .treatment--answer {
	padding-right: 0;
}

.research-accordion--meta {
	color: var(--color-primary-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: .8rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.35;
	margin-bottom: .3rem;
}

.research-accordion .treatment--heading h3 {
	font-size: 1.3rem;
}

.accordion-detail {
	padding-top: 1rem;
}

.accordion-detail--intro {
	color: var(--color-text);
	font-size: 1.025rem;
	line-height: 1.75;
	margin-bottom: 1.25rem;
	padding: 0;
}

.accordion-detail--grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.accordion-detail--block {
	background-color: var(--color-grey-warm-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1.25rem;
}

.accordion-detail--block h4 {
	color: var(--color-brown-dark);
	font-size: 1.1rem;
	line-height: 1.35;
	margin-bottom: .75rem;
}

.accordion-detail--block p {
	color: var(--color-text);
	font-size: .975rem;
	line-height: 1.7;
	margin: 0;
	padding: 0;
}

.accordion-detail--block ol,
.accordion-detail--block ul {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

.accordion-detail--block li {
	color: var(--color-text);
	font-size: .95rem;
	line-height: 1.65;
	padding-left: 1.25rem;
	position: relative;
}

.accordion-detail--block ul li::before {
	background-color: var(--color-primary);
	border-radius: var(--radius-full);
	content: '';
	height: .38rem;
	left: 0;
	position: absolute;
	top: .6rem;
	width: .38rem;
}

.accordion-detail--block ol {
	counter-reset: accordion-step;
}

.accordion-detail--block ol li {
	counter-increment: accordion-step;
	padding-left: 1.65rem;
}

.accordion-detail--block ol li::before {
	color: var(--color-primary-dark);
	content: counter(accordion-step) '.';
	font-family: var(--font-family-heading);
	font-size: .9rem;
	font-weight: var(--font-weight-bold);
	left: 0;
	position: absolute;
	top: .05rem;
}

.accordion-detail--meta {
	align-items: flex-start;
	background-color: var(--color-primary-soft);
	border: 1px solid var(--color-primary-light);
	border-radius: var(--radius-md);
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	margin-top: 1rem;
	padding: 1.15rem 1.25rem;
}

.accordion-detail--meta>div {
	flex: 1 1 auto;
}

.accordion-detail--meta span {
	color: var(--color-primary-dark);
	display: block;
	font-size: .8rem;
	line-height: 1.4;
	margin-bottom: .2rem;
}

.accordion-detail--meta strong {
	color: var(--color-brown-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.45;
}

.accordion-detail--meta p {
	color: var(--color-text);
	flex: 0 1 360px;
	font-size: .9rem;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}

.accordion-detail--actions {
	display: flex;
	margin-top: 1rem;
}



/* ============================
	PAGE SPLIT
============================ */

.page-split--content {
	max-width: 720px;
}

.page-split--title {
	color: var(--color-brown-dark);
	font-size: 2.55rem;
	letter-spacing: -.04rem;
	line-height: 1.08;
	margin-bottom: 1rem;
}

.page-split--text {
	color: var(--color-text);
	font-size: 1.075rem;
	line-height: 1.8;
	margin-bottom: 1rem;
}

.page-split--actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.6rem;
}

.page-split--image {
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
	position: relative;
}

.page-split--image img {
	aspect-ratio: 4 / 3.35;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: var(--transition-slow);
	width: 100%;
}

.page-split--image:hover img {
	transform: scale(1.025);
}

.page--text-link {
	align-items: center;
	color: var(--color-primary-dark);
	display: inline-flex;
	font-family: var(--font-family-heading);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	gap: .55rem;
	line-height: 1.4;
	margin-top: 1.2rem;
}

.page--text-link:hover {
	color: var(--color-brown-dark);
}

.page--text-link i {
	font-size: .85rem;
	transition: var(--transition);
}

.page--text-link:hover i {
	transform: translateX(4px);
}



/* ============================
	PHASE CARDS
============================ */

.phase--card {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	display: flex;
	flex-direction: column;
	min-height: 245px;
	padding: 1.5rem;
	transition: var(--transition);
}

.phase--card:hover {
	border-color: var(--color-primary-light);
	box-shadow: var(--shadow-hover);
	transform: translateY(-3px);
}

.phase--number {
	align-items: center;
	background-color: var(--color-green-soft);
	border-radius: var(--radius-sm);
	color: var(--color-brown-dark);
	display: inline-flex;
	font-family: var(--font-family-heading);
	font-size: .9rem;
	font-weight: var(--font-weight-bold);
	height: 2.7rem;
	justify-content: center;
	margin-bottom: 1.15rem;
	width: 2.7rem;
}

.phase--card h3 {
	color: var(--color-brown-dark);
	font-size: 1.25rem;
	line-height: 1.25;
	margin-bottom: .65rem;
}

.phase--card p {
	color: var(--color-text);
	font-size: .975rem;
	line-height: 1.7;
	margin: 0;
}



/* ============================
	RECOVERY DETAILS
============================ */

.recovery--audience {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	padding: 2.25rem;
}

.recovery--audience h3 {
	color: var(--color-brown-dark);
	font-size: 2rem;
	letter-spacing: -.03rem;
	line-height: 1.1;
	margin-bottom: .9rem;
}

.recovery--audience>p {
	color: var(--color-text);
	font-size: 1.05rem;
	line-height: 1.75;
	margin-bottom: 1.3rem;
}

.check--list {
	display: flex;
	flex-direction: column;
	gap: .65rem;
}

.check--list li {
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1.65;
	padding-left: 1.6rem;
	position: relative;
}

.check--list li::before {
	color: var(--color-secondary);
	content: '\f00c';
	font-family: 'Font Awesome 7 Pro';
	font-size: .85rem;
	font-weight: 900;
	left: 0;
	position: absolute;
	top: .15rem;
}

.recovery--summary {
	background-color: var(--color-primary-soft);
	border: 1px solid var(--color-primary-light);
	border-radius: var(--radius-xl);
	padding: 2rem;
}

.recovery--label {
	color: var(--color-primary-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: .85rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.3;
	margin-bottom: .75rem;
}

.recovery--price {
	align-items: flex-end;
	border-bottom: 1px solid var(--color-primary-light);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
}

.recovery--price span {
	color: var(--color-text);
	font-size: .95rem;
	line-height: 1.4;
}

.recovery--price strong {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: 2rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	white-space: nowrap;
}

.recovery--summary>ul {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	margin-bottom: 1.4rem;
}

.recovery--summary>ul li {
	color: var(--color-text);
	font-size: .95rem;
	line-height: 1.6;
	padding-left: 1.4rem;
	position: relative;
}

.recovery--summary>ul li::before {
	color: var(--color-primary-dark);
	content: '\f00c';
	font-family: 'Font Awesome 7 Pro';
	font-size: .8rem;
	font-weight: 900;
	left: 0;
	position: absolute;
	top: .15rem;
}

.recovery--payment {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	margin-bottom: 1.25rem;
	padding: 1rem;
}

.recovery--payment strong {
	color: var(--color-brown-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: .95rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	margin-bottom: .25rem;
}

.recovery--payment span {
	color: var(--color-text);
	display: block;
	font-size: .9rem;
	line-height: 1.5;
}



/* ============================
	PAGE FAQ
============================ */

.section--faq--page {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.section--faq--page .faq--head {
	margin-left: auto;
	margin-right: auto;
	max-width: 920px;
}

.section--faq--page .faq--intro {
	margin-left: auto;
	margin-right: auto;
}



/* =========================================================
	EDITORIAL PAGES
	WERKWIJZE + OVER MIJ
========================================================= */


/* ============================
	EDITORIAL PAGE BASE
============================ */

.page--ingrid-editorial .section--faq {
	background-color: var(--color-white);
}

.page--ingrid-editorial .section--page-intro {
	background-color: var(--color-grey-warm-soft);
	padding-bottom: 7rem;
	padding-top: 7.5rem;
}



/* ============================
	EDITORIAL SECTION RHYTHM
============================ */

.page--ingrid-editorial .section--editorial-split {
	background-color: var(--color-white);
}

.page--over-mij .section--editorial-feature--vision,
.page--over-mij .section--credentials,
.page--werkwijze .section--editorial-feature--care,
.page--werkwijze .section--process {
	background-color: var(--color-grey-warm-soft);
}

.page--over-mij .section--feature-grid,
.page--werkwijze .section--principles {
	background-color: var(--color-white);
}

.page--over-mij .credentials--card {
	background-color: var(--color-white);
}



/* ============================
	EDITORIAL PAGE INTRO
============================ */

.page--ingrid-editorial .page-intro--content {
	max-width: 1200px;
}

.page--ingrid-editorial .page-intro--image {
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
	position: relative;
}

.page--ingrid-editorial .page-intro--image img,
.page--ingrid-editorial .page-intro--image picture {
	display: block;
	height: 100%;
	width: 100%;
}

.page--ingrid-editorial .page-intro--image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center center;
}

.page--ingrid-editorial .page-intro--lead {
	color: var(--color-brown-dark);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.7;
	margin-bottom: 1.1rem;
}

.page--ingrid-editorial .page-intro--text {
	color: var(--color-text);
	font-size: 1.1rem;
	line-height: 1.8;
	margin-bottom: 0;
}

.page--ingrid-editorial .page-intro--text+.page-intro--text {
	margin-top: 1rem;
}

.page--ingrid-editorial .page-intro--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.65rem, 4.3vw, 4.35rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.055rem;
	line-height: 1;
	margin-bottom: 1.35rem;
}



/* ============================
	EDITORIAL SPLIT
============================ */

.section--editorial-split {
	background-color: var(--color-grey-warm-soft);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.section--editorial-split.is-white {
	background-color: var(--color-white);
}

.editorial-split--content {
	max-width: 680px;
}

.editorial-split--image {
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
}

.editorial-split--image img {
	aspect-ratio: 4 / 3;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.editorial-split--lead {
	color: var(--color-brown-dark);
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.75;
	margin-bottom: 1.1rem;
}

.editorial-split--text {
	color: var(--color-text);
	font-size: 1.08rem;
	line-height: 1.82;
	margin-bottom: 1rem;
}

.editorial-split--text:last-child {
	margin-bottom: 0;
}

.editorial-split--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.15rem, 3vw, 3rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.035rem;
	line-height: 1.08;
	margin-bottom: 1.2rem;
}



/* ============================
	PROCESS
============================ */

.section--process {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.process--card {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 2rem;
}

.process--card h3 {
	color: var(--color-brown-dark);
	font-size: 1.45rem;
	font-weight: var(--font-weight-heading);
	line-height: 1.2;
	margin-bottom: .8rem;
}

.process--card p {
	color: var(--color-text);
	font-size: 1.02rem;
	line-height: 1.72;
	margin: 0;
	margin-bottom: 1.25rem;
}

.process--head {
	margin-bottom: 2.75rem;
	max-width: 1000px;
}

.process--icon {
	align-items: center;
	background-color: color-mix(in srgb, var(--color-secondary-light) 40%, transparent);
	border: 1px solid var(--color-secondary-light);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	display: inline-flex;
	font-size: 1.15rem;
	height: 48px;
	justify-content: center;
	margin-bottom: 1.4rem;
	width: 48px;
}

.process--intro {
	color: var(--color-text);
	font-size: 1.15rem;
	line-height: 1.78;
	margin: 0;
}

.process--number {
	align-self: flex-start;
	background-color: var(--color-secondary);
	border-radius: var(--radius-sm);
	color: var(--color-white);
	display: inline-flex;
	font-family: var(--font-family-heading);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .06rem;
	line-height: 1;
	margin-top: auto;
	padding: .55rem .7rem .5rem;
	text-transform: uppercase;
}

.process--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.25rem, 3.2vw, 3.15rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.04rem;
	line-height: 1.08;
	margin-bottom: 1rem;
}



/* ============================
	PRINCIPLES
============================ */

.section--principles {
	background-color: var(--color-grey-warm-soft);
	padding-bottom: 6rem;
	padding-top: 6rem;
}

.principles--head {
	margin-bottom: 2.5rem;
}

.principles--intro {
	color: var(--color-text);
	font-size: 1.1rem;
	line-height: 1.75;
	margin: 0;
}

.principles--item {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	height: 100%;
	padding: 1.55rem;
}

.principles--item h3 {
	color: var(--color-white);
	font-size: 1.25rem;
	font-weight: var(--font-weight-heading);
	line-height: 1.25;
	margin: 0 0 .55rem;
}

.principles--item p {
	color: var(--color-text);
	font-size: .98rem;
	line-height: 1.68;
	margin: 0;
}

.principles--number {
	color: var(--color-primary-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .09rem;
	margin-bottom: .8rem;
	text-transform: uppercase;
}

.principles--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.15rem, 3vw, 2.95rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.035rem;
	line-height: 1.08;
	margin-bottom: .95rem;
}

.page--werkwijze .principles--item {
	background-color: color-mix(in srgb, var(--color-secondary-light) 40%, transparent);
	border-color: var(--color-secondary);
	box-shadow: var(--shadow-soft);
}

.page--werkwijze .principles--item h3,
.page--werkwijze .principles--item p {
	color: var(--color-text);
}



/* ============================
	EDITORIAL FEATURE
============================ */

.section--editorial-feature {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.editorial-feature {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft-equal);
	overflow: hidden;
}

.editorial-feature--actions {
	margin-top: auto;
	padding-top: .35rem;
}

.editorial-feature--content {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 4rem;
}

.editorial-feature--highlights {
	display: grid;
	gap: .9rem;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.editorial-feature--highlights li {
	align-items: flex-start;
	display: flex;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
}

.editorial-feature--highlights li>i {
	align-items: center;
	background-color: var(--color-secondary);
	border-radius: var(--radius-sm);
	color: var(--color-white);
	display: inline-flex;
	flex: 0 0 1.45rem;
	font-size: .68rem;
	height: 1.45rem;
	justify-content: center;
	margin-top: .16rem;
	width: 1.45rem;
}

.editorial-feature--highlights li div {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: .18rem;
	min-width: 0;
}

.editorial-feature--highlights li strong {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
}

.editorial-feature--highlights li span {
	color: var(--color-text);
	font-size: .98rem;
	line-height: 1.62;
}

.editorial-feature--image {
	height: 100%;
	min-height: 100%;
	overflow: hidden;
}

.editorial-feature--image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: var(--transition-slow);
	width: 100%;
}

.page--omega-3 .section--omega-product-quality .editorial-feature--image img {
	object-position: 68% center;
}

.page--omega-3 .section--omega-experience .editorial-feature--image img {
	object-position: 28% center;
}

.editorial-feature:hover .editorial-feature--image img {
	transform: scale(1.02);
}

.editorial-feature--intro {
	color: var(--color-brown-dark);
	font-size: 1.18rem;
	line-height: 1.72;
	margin: 0 0 1rem;
	max-width: 860px;
}

.editorial-feature--intro strong {
	color: var(--color-brown-dark);
	display: block;
	font-weight: var(--font-weight-bold);
}

.editorial-feature--quote {
	align-items: flex-start;
	background-color: var(--color-grey-warm-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	display: flex;
	gap: 1rem;
	margin: 2rem 0;
	padding: 1.35rem 1.5rem;
}

.editorial-feature--quote i {
	color: var(--color-primary-dark);
	flex: 0 0 auto;
	font-size: 1.15rem;
	margin-top: .22rem;
}

.editorial-feature--quote p {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: 1.08rem;
	font-weight: 600;
	line-height: 1.65;
	margin: 0;
}

.editorial-feature--text {
	color: var(--color-text);
	font-size: 1.08rem;
	line-height: 1.8;
	margin: 0;
	max-width: 860px;
}

.editorial-feature--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.25rem, 3vw, 3.15rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.045rem;
	line-height: 1.07;
	margin: 1rem 0 1.35rem;
	max-width: 900px;
}



/* ============================
	FEATURE PANEL
============================ */

.section--feature-panel {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.feature-panel--inner {
	background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
	padding: 1rem;
}

.feature-panel--card {
	background-color: rgba(255, 255, 255, .97);
	border: 1px solid rgba(255, 255, 255, .4);
	border-radius: calc(var(--radius-xl) - .35rem);
	padding: 3rem;
}

.feature-panel--card .button--ghost {
	background-color: transparent;
	border-color: var(--color-white);
	color: var(--color-white);
}

.feature-panel--content {
	background-color: var(--color-primary-dark);
	border-radius: var(--radius-lg);
	color: var(--color-white);
	padding: 2.75rem;
}

.feature-panel--content .section--label,
.feature-panel--content h2,
.feature-panel--content p {
	color: var(--color-white);
}

.feature-panel--content h2 {
	font-size: clamp(2.1rem, 3vw, 3rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.035rem;
	line-height: 1.08;
	margin-bottom: 1.1rem;
}

.feature-panel--content p {
	font-size: 1.1rem;
	line-height: 1.8;
	margin-bottom: 1.4rem;
	opacity: .94;
}

.feature-panel--content p:last-of-type {
	margin-bottom: 1.75rem;
}

.feature-panel--note {
	color: var(--color-text);
	font-size: 1.08rem;
	line-height: 1.8;
	margin: 0;
}

.feature-panel--quote {
	color: var(--color-brown-dark);
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.65;
	margin: 0;
}



/* ============================
	FEATURE GRID
============================ */

.section--feature-grid {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.feature-grid--card {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	height: 100%;
	padding: 2rem;
}

.feature-grid--card h3 {
	color: var(--color-brown-dark);
	font-size: 1.35rem;
	font-weight: var(--font-weight-heading);
	line-height: 1.25;
	margin-bottom: .75rem;
}

.feature-grid--card p {
	color: var(--color-text);
	font-size: 1.02rem;
	line-height: 1.72;
	margin: 0;
}

.feature-grid--head {
	margin-bottom: 2.75rem;
	max-width: 1200px;
}

.feature-grid--icon {
	align-items: center;
	background-color: color-mix(in srgb, var(--color-secondary-light) 40%, transparent);
	border: 1px solid var(--color-secondary-light);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	display: inline-flex;
	font-size: 1.1rem;
	height: 46px;
	justify-content: center;
	margin-bottom: 1.25rem;
	width: 46px;
}

.feature-grid--intro {
	color: var(--color-text);
	font-size: 1.12rem;
	line-height: 1.75;
	margin: 0;
}

.feature-grid--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.2rem, 3vw, 3rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.035rem;
	line-height: 1.08;
	margin-bottom: 1rem;
}

.page--over-mij .feature-grid--card,
.page--appointment .feature-grid--card {
	background-color: color-mix(in srgb, var(--color-secondary-light) 40%, transparent);
	border-color: var(--color-secondary-light);
}

.page--over-mij .feature-grid--card h3,
.page--over-mij .feature-grid--card p,
.page--appointment .feature-grid--card h3,
.page--appointment .feature-grid--card p {
	color: var(--color-text);
}

.page--over-mij .feature-grid--icon,
.page--appointment .feature-grid--icon {
	background-color: rgba(255, 255, 255, .85);
	border: 1px solid var(--color-secondary);
	color: var(--color-text);
}



/* ============================
	CREDENTIALS
============================ */

.section--credentials {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.credentials--card {
	background-color: var(--color-grey-warm-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	height: 100%;
	padding: 2rem;
}

.credentials--card h3 {
	color: var(--color-brown-dark);
	font-size: 1.45rem;
	font-weight: var(--font-weight-heading);
	line-height: 1.25;
	margin-bottom: 1rem;
}

.credentials--card li {
	color: var(--color-text);
	font-size: 1.08rem;
	line-height: 1.68;
	padding-left: 1.65rem;
	position: relative;
}

.credentials--card li+li {
	margin-top: .8rem;
}

.credentials--card li::before {
	color: var(--color-primary-dark);
	content: "\f00c";
	font-family: "Font Awesome 7 Pro";
	font-size: .78rem;
	font-weight: 400;
	left: 0;
	position: absolute;
	top: .28rem;
}

.credentials--card ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.credentials--head {
	margin-bottom: 2.75rem;
}

.credentials--intro {
	color: var(--color-text);
	font-size: 1.12rem;
	line-height: 1.76;
	margin: 0;
}

.credentials--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.2rem, 3vw, 3rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.035rem;
	line-height: 1.08;
	margin-bottom: 1rem;
}



/* ============================
	EDITORIAL NOTICE
============================ */

.editorial--notice {
	align-items: flex-start;
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	display: flex;
	gap: 1.15rem;
	margin-top: 2rem;
	padding: 1.5rem;
}

.editorial--notice i {
	align-items: center;
	border: 2px solid var(--color-secondary);
	border-radius: 50%;
	color: var(--color-secondary);
	display: inline-flex;
	flex: 0 0 42px;
	font-size: 1rem;
	height: 42px;
	justify-content: center;
	margin-top: .15rem;
	width: 42px;
}

.editorial--notice p {
	color: var(--color-black);
	font-size: 1rem;
	line-height: 1.72;
	margin: 0;
}



/* =========================================================
	ZAKELIJK PAGE
========================================================= */

.page--zakelijk .fittalk--highlights {
	margin-bottom: 0;
}

.page--zakelijk .fittalk--highlights li {
	align-items: flex-start;
}

.page--zakelijk .fittalk--highlights li>i {
	align-items: center;
	background-color: color-mix(in srgb, var(--color-secondary-light) 40%, transparent);
	border: 1px solid var(--color-secondary-light);
	border-radius: 10px;
	color: var(--color-text);
	display: inline-flex;
	flex: 0 0 44px;
	font-size: 16px;
	height: 44px;
	justify-content: center;
	margin-top: 1px;
	width: 44px;
}



/* =========================================================
	CONTACT PAGE
========================================================= */


/* ============================
	CONTACT INTRO
============================ */

.page--contact .section--contact-intro {
	background-color: var(--color-grey-warm-soft);
	padding-bottom: 5.5rem;
	padding-top: 5.5rem;
}

.page--contact .contact-intro--content {
	margin-left: auto;
	margin-right: auto;
	max-width: 980px;
	text-align: center;
}

.page--contact .contact-intro--title {
	color: var(--color-brown-dark);
	display: flex;
	flex-direction: column;
	font-size: 3.75rem;
	font-weight: var(--font-weight-heading);
	letter-spacing: -.055rem;
	line-height: .98;
	margin: 0 auto 1.5rem;
	max-width: 880px;
}

.page--contact .contact-intro--title span {
	display: block;
}

.page--contact .contact-intro--title-second {
	font-size: 1.05em;
}

.page--contact .contact-intro--text {
	color: var(--color-text);
	font-size: 1.22rem;
	line-height: 1.75;
	margin: 0 auto;
	max-width: 880px;
}

.page--contact .contact-intro--actions {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem;
	justify-content: center;
	margin-top: 2rem;
}

.page--contact .contact-intro--actions .button {
	font-size: 1.2rem;
	min-height: 54px;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.page--contact .button--whatsapp {
	background-color: var(--color-secondary-dark);
	border-color: var(--color-secondary-dark);
	color: var(--color-white);
}

.page--contact .button--whatsapp:hover,
.page--contact .button--whatsapp:focus {
	background-color: var(--color-brown-dark);
	border-color: var(--color-brown-dark);
	color: var(--color-white);
}

.page--contact .button--whatsapp i {
	align-items: center;
	background-color: #25D366;
	border-radius: var(--radius-full);
	color: var(--color-white);
	display: inline-flex;
	font-size: .9rem;
	height: 1.65rem;
	justify-content: center;
	width: 1.65rem;
}



/* ============================
	CONTACT FORM SECTION
============================ */

.page--contact .section--contact-form {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--contact .form--details {
	position: sticky;
	top: 9rem;
}



/* ============================
	CONTACT CLOSING
============================ */

.page--contact .section--contact-closing {
	background-color: var(--color-white);
	padding-bottom: 6rem;
	padding-top: 6rem;
}

.page--contact .section--contact-closing .editorial-feature--content {
	padding-bottom: 3.25rem;
	padding-top: 3.25rem;
}

.page--contact .section--contact-closing .editorial-feature--title {
	font-size: clamp(2rem, 3vw, 2.75rem);
}

.page--contact .section--contact-closing .editorial-feature--intro {
	font-size: 1.1rem;
}



/* =========================================================
	OMEGA-3 PAGE
========================================================= */


/* ============================
	OMEGA-3 RECOGNITION
============================ */

.page--omega-3 .section--omega-recognition {
	background-color: var(--color-grey-warm-soft);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--omega-3 .omega-recognition--card {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	height: 100%;
	padding: 2rem;
}

.page--omega-3 .omega-recognition--card h2 {
	color: var(--color-brown-dark);
	font-size: 1.5rem;
	font-weight: var(--font-weight-heading);
	line-height: 1.2;
	margin-bottom: 1.25rem;
}

.page--omega-3 .omega-recognition--list {
	display: flex;
	flex-direction: column;
	gap: .7rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.page--omega-3 .omega-recognition--list li {
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1.55;
	padding-left: 1.35rem;
	position: relative;
}

.page--omega-3 .omega-recognition--list li::before {
	background-color: var(--color-secondary);
	border-radius: var(--radius-full);
	content: '';
	height: .45rem;
	left: 0;
	position: absolute;
	top: .52rem;
	width: .45rem;
}

.page--omega-3 #herkenning .recognition--card,
.page--omega-3 #vetzurenbalans .recognition--card {
	background-color: color-mix(in srgb, var(--color-secondary-light) 28%, var(--color-white));
	border-color: var(--color-secondary-light);
}

.page--omega-3 #herkenning .recognition--need,
.page--omega-3 #vetzurenbalans .recognition--need {
	background-color: rgba(255, 255, 255, .72);
	border-top-color: var(--color-secondary-light);
}

.page--omega-3 .omega-recognition--closing {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft-equal);
	padding: 2rem 2.25rem;
}

.page--omega-3 .omega-recognition--closing h2 {
	color: var(--color-brown-dark);
	font-size: 1.55rem;
	font-weight: var(--font-weight-heading);
	margin-bottom: 1rem;
}

.page--omega-3 .omega-recognition--closing p {
	color: var(--color-text);
	font-size: 1.05rem;
	line-height: 1.75;
	margin-bottom: .85rem;
}

.page--omega-3 .omega-recognition--closing p:last-child {
	margin-bottom: 0;
}



/* ============================
	OMEGA-3 EXPERIENCES
============================ */

.page--omega-3 .section--omega-experiences {
	background-color: var(--color-white);
	overflow: hidden;
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--omega-3 .omega-experiences--slider {
	overflow: hidden;
	touch-action: pan-y;
	width: 100%;
}

.page--omega-3 .omega-experiences--track {
	display: flex;
	gap: 1rem;
	transform: translate3d(0, 0, 0);
	transition: transform .55s cubic-bezier(.22, .61, .36, 1);
	will-change: transform;
}

.page--omega-3 .omega-experiences--card {
	background-color: var(--color-grey-warm-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	flex: 0 0 calc((100% - 1rem) / 2);
	min-width: 0;
	padding: 2rem;
}

.page--omega-3 .omega-experiences--card>i {
	color: var(--color-secondary);
	font-size: 1.4rem;
	margin-bottom: 1rem;
}

.page--omega-3 .omega-experiences--card blockquote,
.page--omega-3 .omega-experiences--card p {
	margin: 0;
}

.page--omega-3 .omega-experiences--card p {
	color: var(--color-text);
	font-size: 1.02rem;
	line-height: 1.75;
}

.page--omega-3 .omega-experiences--card footer {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: .95rem;
	font-weight: var(--font-weight-bold);
	margin-top: 1.15rem;
}

.page--omega-3 .omega-experiences--title {
	color: var(--color-brown-dark);
	font-size: clamp(2.25rem, 3.2vw, 3.15rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.04rem;
	line-height: 1.08;
	margin-bottom: 0;
}



/* ============================
	OMEGA-3 BASIS
============================ */

.page--omega-3 .section--omega-basis {
	background-color: var(--color-grey-warm-soft);
}

.page--omega-3 .omega-basis--question {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	margin-top: 1.5rem;
	padding: 1.25rem 1.4rem;
}

.page--omega-3 .omega-basis--question h2 {
	color: var(--color-brown-dark);
	font-size: 1.15rem;
	font-weight: var(--font-weight-heading);
	line-height: 1.35;
	margin-bottom: .55rem;
}

.page--omega-3 .omega-basis--question p {
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1.7;
	margin: 0;
}

.page--omega-3 .omega-basis--subtitle {
	color: var(--color-brown-dark);
	font-size: 1.45rem;
	font-weight: var(--font-weight-heading);
	line-height: 1.3;
	margin-bottom: .8rem;
	margin-top: 1.75rem;
}



/* ============================
	OMEGA-3 SECTION RHYTHM
============================ */

.page--omega-3 .section--omega-balance {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--omega-3 .section--omega-food {
	background-color: var(--color-grey-warm-soft);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--omega-3 .section--omega-product-quality {
	background-color: var(--color-white);
}

.page--omega-3 .section--omega-test {
	background-color: var(--color-white);
}

.page--omega-3 .section--omega-guidance {
	background-color: var(--color-grey-warm-soft);
}

.page--omega-3 .section--omega-experience {
	background-color: var(--color-white);
	padding-bottom: 0;
	padding-top: 9rem;
}

.page--omega-3 .section--faq {
	padding-bottom: 7rem;
	padding-top: 7rem;
}



/* ============================
	OMEGA-3 FOOD
============================ */

.page--omega-3 .section--omega-food .philosophy--content {
	padding-left: 1rem;
}



/* ============================
	OMEGA-3 ANCHORS
============================ */

.page--omega-3 #eqology,
.page--omega-3 #vetzurenanalyse,
.page--omega-3 #vetzurenbalans {
	scroll-margin-top: 7rem;
}



/* =========================================================
	EDITORIAL FAQ TWEAKS
========================================================= */

.page--ingrid-editorial .faq--header {
	max-width: 850px;
}

.page--ingrid-editorial .faq--title {
	color: var(--color-brown-dark);
}

.page--ingrid-editorial .section--faq .section--label {
	color: var(--color-primary-dark);
}



/* =========================================================
	SHOP PAGE
========================================================= */


/* ============================
	SHOP SECTION RHYTHM
============================ */

.page--shop .section--shop-intro {
	background-color: var(--color-white);
	padding-bottom: 4.5rem;
	padding-top: 4.5rem;
}

.page--shop .section--shop-products {
	background-color: var(--color-grey-feather);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--shop .section--shop-partners {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--shop .section--shop-order {
	background-color: var(--color-grey-warm-soft);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--shop .section--shop-advice {
	background-color: var(--color-white);
}



/* ============================
	SHOP INTRO
============================ */

.page--shop .shop-intro--panel {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft-equal);
	padding: 2.4rem 2.5rem;
}

.page--shop .shop-intro--title {
	color: var(--color-brown-dark);
	font-size: clamp(2rem, 3vw, 2.25rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.04rem;
	line-height: 1.08;
	margin-bottom: .5rem;
}

.page--shop .shop-intro--text {
	color: var(--color-text);
	font-size: 1.05rem;
	line-height: 1.75;
	margin: 0;
}

.page--shop .shop-intro--text strong {
	color: var(--color-brown-dark);
	font-weight: var(--font-weight-bold);
}



/* ============================
	BASKET QUICK LINK
============================ */

.page--shop .shop-basket-link {
	align-items: center;
	background-color: color-mix(in srgb, var(--color-secondary-light) 40%, transparent);
	border: 1px solid rgba(123, 128, 100, .24);
	border-radius: var(--radius-lg);
	color: var(--color-brown-dark);
	display: flex;
	gap: .95rem;
	min-height: 96px;
	padding: 1.1rem 1.2rem;
	transition: var(--transition);
}

.page--shop .shop-basket-link:hover,
.page--shop .shop-basket-link:focus {
	background-color: var(--color-secondary);
	border-color: var(--color-secondary);
	color: var(--color-white);
	transform: translateY(-2px);
}

.page--shop .shop-basket-link--arrow {
	font-size: .9rem;
	margin-left: auto;
}

.page--shop .shop-basket-link--content {
	display: flex;
	flex-direction: column;
	gap: .2rem;
}

.page--shop .shop-basket-link--content strong {
	font-family: var(--font-family-heading);
	font-size: 1.05rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
}

.page--shop .shop-basket-link--content span {
	font-size: .9rem;
	line-height: 1.35;
}

.page--shop .shop-basket-link--icon {
	align-items: center;
	background-color: var(--color-white);
	border-radius: var(--radius-full);
	color: var(--color-secondary-dark);
	display: inline-flex;
	flex: 0 0 48px;
	height: 48px;
	justify-content: center;
	transition: var(--transition);
	width: 48px;
}

.page--shop .shop-basket-link:hover .shop-basket-link--icon,
.page--shop .shop-basket-link:focus .shop-basket-link--icon {
	color: var(--color-secondary-dark);
}



/* ============================
	PRODUCTS HEAD
============================ */

.page--shop .shop-products--head {
	margin-bottom: 3rem;
}

.page--shop .shop-products--head-card {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: 0 12px 32px rgba(51, 41, 34, .055);
	padding: 2.75rem 3rem;
}

.page--shop .shop-products--head-card .page-section--title {
	font-size: 2.35rem;
	margin-bottom: 1rem;
}

.page--shop .shop-products--intro {
	color: var(--color-text);
	font-size: 1.1rem;
	line-height: 1.75;
	margin: 0 auto;
}

.page--shop .shop-products--intro p {
	font-size: 1.1rem;
	margin-bottom: .75rem !important;
}

.page--shop .shop-products--intro p:last-child {
	margin-bottom: 0;
}



/* ============================
	SHOP PRODUCTS INFO
============================ */

.page--shop .shop-products--explanation--icons {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	margin-top: 2rem;
	padding: 0;
}

.page--shop .shop-products--info-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page--shop .shop-products--info-item {
	align-items: flex-start;
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: 0 8px 24px rgba(51, 41, 34, .035);
	display: flex;
	gap: 1rem;
	height: 100%;
	padding: 1.35rem;
}

.page--shop .shop-products--info-item p {
	color: var(--color-text);
	font-size: .96rem;
	line-height: 1.65;
	margin: 0;
}

.page--shop .shop-products--info-icon {
	align-items: center;
	background-color: color-mix(in srgb,
			var(--color-secondary-light) 40%,
			transparent);
	border: 1px solid var(--color-secondary-light);
	border-radius: var(--radius-sm);
	color: var(--color-secondary-dark);
	display: inline-flex;
	flex: 0 0 46px;
	font-size: 1.05rem;
	height: 46px;
	justify-content: center;
	width: 46px;
}

.page--shop .shop-products--info-icon i {
	line-height: 1;
}



/* ============================
	PRODUCT GROUPS
============================ */

.page--shop .shop-products--contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	justify-content: center;
	margin-top: 1.5rem;
}

.page--shop .shop-product-group {
	margin-top: 4.5rem;
}

.page--shop .shop-product-group:first-of-type {
	margin-top: 0;
}

.page--shop .shop-product-group--head {
	margin-bottom: 1.75rem;
	max-width: 920px;
}

.page--shop .shop-product-group--head h2 {
	color: var(--color-brown-dark);
	font-size: clamp(1.9rem, 2.6vw, 2.25rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.035rem;
	line-height: 1.1;
	margin-bottom: .25rem;
}

.page--shop .shop-product-group--head p {
	color: var(--color-text);
	font-size: 1.1rem;
	line-height: 1.7;
	margin: 0;
}

.page--shop .shop-products--explanation {
	background-color: var(--color-white);
	border: 1px solid rgba(196, 161, 102, .65);
	border-radius: var(--radius-lg);
	margin-top: 2.5rem;
	padding: 1.35rem 1.5rem;
}

.page--shop .shop-products--explanation p {
	color: var(--color-text);
	font-size: .98rem;
	line-height: 1.7;
	margin-bottom: .75rem;
}

.page--shop .shop-products--explanation p:last-child {
	margin-bottom: 0;
}

.page--shop .shop-products--partner-button {
	background-color: var(--color-brown-dark);
	border-color: var(--color-brown-dark);
	color: var(--color-white);
	min-width: 340px;
}

.page--shop .shop-products--partner-button:hover,
.page--shop .shop-products--partner-button:focus {
	background-color: var(--color-secondary-dark);
	border-color: var(--color-secondary-dark);
	color: var(--color-white);
}

.page--shop .shop-product-group--practice {
	border-top: 1px solid var(--color-border);
	padding-top: 4.5rem;
}

.page--shop .shop-product--image--brand {
	padding: 1.4rem;
}

.page--shop .shop-product--image--brand img {
	object-fit: contain;
}

.page--shop .shop-product--image--static {
	cursor: default;
}

.page--shop .shop-product--image--static:hover,
.page--shop .shop-product--image--static:focus {
	border-color: var(--color-border-soft);
}

.page--shop .shop-product--image--static:hover img,
.page--shop .shop-product--image--static:focus img {
	transform: none;
}

.page--shop .shop-product--price-note:empty {
	display: none;
}

.page--shop .shop-product--route--practice {
	background-color: var(--color-primary-soft);
	color: var(--color-primary-dark);
}



/* ============================
	SHOP PARTNER CTA
============================ */

.page--shop .shop-products--partner-cta {
	align-items: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-soft);
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-top: 3rem;
	padding: 1.5rem 1.65rem;
}

.page--shop .shop-products--partner-cta p {
	color: var(--color-brown-dark);
	flex: 1 1 auto;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.65;
	margin: 0;
	max-width: 760px;
}

.page--shop .shop-products--partner-cta .button {
	flex: 0 0 auto;
	margin: 0;
	white-space: nowrap;
}

.page--shop .shop-products--partner-cta .button--ghost {
	background-color: var(--color-brown-dark);
	border-color: var(--color-brown-dark);
	color: var(--color-white);
}

.page--shop .shop-products--partner-cta .button--ghost:hover,
.page--shop .shop-products--partner-cta .button--ghost:focus {
	background-color: var(--color-secondary-dark);
	border-color: var(--color-secondary-dark);
	color: var(--color-white);
}

.page--shop .shop-products--partner-cta .button i {
	font-size: .9rem;
	margin-left: .15rem;
}



/* ============================
	PRODUCT FILTER
============================ */

.page--shop .shop-filter {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	justify-content: flex-end;
}

.page--shop .shop-filter--button {
	background-color: var(--color-white);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-full);
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: 1.05rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	padding: .8rem 1rem .7rem 1rem;
	transition: var(--transition-fast);
}

.page--shop .shop-filter--button:hover,
.page--shop .shop-filter--button:focus {
	background-color: var(--color-primary-soft);
	border-color: var(--color-primary);
	color: var(--color-text);
}

.page--shop .shop-filter--button.active,
.page--shop .shop-filter--button[aria-pressed='true'] {
	background-color: var(--color-secondary);
	border-color: var(--color-secondary);
	color: var(--color-white);
}



/* ============================
	PRODUCT LIST
============================ */

.page--shop .shop-products--list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.page--shop .shop-product {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: 0 6px 20px rgba(51, 41, 34, .035);
	opacity: 1;
	padding: 1.5rem;
	transform: translateY(0);
	transition: opacity .18s ease, transform .18s ease, box-shadow .3s ease, border-color .3s ease;
}

.page--shop .shop-product:hover {
	border-color: var(--color-primary-light);
	box-shadow: var(--shadow-soft);
}

.page--shop .shop-product.is-filtered-out {
	opacity: 0;
	pointer-events: none;
	transform: translateY(6px);
}



/* ============================
	PRODUCT IMAGE
============================ */

.page--shop .shop-product--image {
	align-items: center;
	aspect-ratio: 1 / 1;
	background-color: var(--color-white);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-lg);
	display: flex;
	justify-content: center;
	overflow: hidden;
	padding: 0;
	position: relative;
	transition: var(--transition);
	width: 100%;
}

.page--shop .shop-product--image:hover,
.page--shop .shop-product--image:focus {
	border-color: var(--color-primary-light);
}

.page--shop .shop-product--image img {
	display: block;
	height: 100%;
	object-fit: contain;
	transition: var(--transition-slow);
	width: 100%;
}

.page--shop .shop-product--image:hover img,
.page--shop .shop-product--image:focus img {
	transform: scale(1.025);
}

.page--shop .shop-product--zoom {
	align-items: center;
	background-color: rgba(255, 255, 255, .94);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-full);
	bottom: .8rem;
	color: var(--color-primary-dark);
	display: inline-flex;
	height: 38px;
	justify-content: center;
	position: absolute;
	right: .8rem;
	transition: var(--transition);
	width: 38px;
}

.page--shop .shop-product--image:hover .shop-product--zoom,
.page--shop .shop-product--image:focus .shop-product--zoom {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
}



/* ============================
	PRODUCT CONTENT
============================ */

.page--shop .shop-product--content {
	padding-bottom: .35rem;
	padding-top: .35rem;
}

.page--shop .shop-product--description {
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1.72;
	margin-bottom: 1rem;
}

.page--shop .shop-product--details {
	align-items: center;
	background: #FFFFFF;
	border: 1px solid #E4E4E1;
	border-radius: 10px;
	color: #3C2F2F;
	display: inline-flex;
	font-size: 15px;
	font-weight: 600;
	gap: 8px;
	justify-content: center;
	line-height: 1;
	padding: 12px 18px;
	text-decoration: none;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.page--shop .shop-product--details:hover {
	background: #FAFAF9;
	border-color: #D7D7D3;
	color: #3C2F2F;
}

.page--shop .shop-product--meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-bottom: .55rem;
}

.page--shop .shop-product--meta>span:first-child {
	color: var(--color-text-muted);
	font-family: var(--font-family-heading);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .07rem;
	text-transform: uppercase;
}

.page--shop .shop-product--properties {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .55rem;
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
}

.page--shop .shop-product--properties li {
	background-color: color-mix(in srgb, var(--color-secondary-light) 30%, transparent);
	border: 1px solid var(--color-secondary-light);
	border-radius: var(--radius-full);
	color: var(--color-secondary-dark);
	font-size: .85rem;
	line-height: 1.3;
	padding: .4rem .8rem .45rem .8rem;
}

.page--shop .shop-product--properties strong {
	color: var(--color-brown-dark);
	font-weight: var(--font-weight-bold);
}

.page--shop .shop-product--route {
	border-radius: var(--radius-full);
	font-family: var(--font-family-heading);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .04rem;
	line-height: 1;
	padding: .5rem .7rem .4rem .7rem;
	text-transform: uppercase;
}

.page--shop .shop-product--route--ingrid {
	background-color: var(--color-secondary-soft);
	color: var(--color-secondary-dark);
}

.page--shop .shop-product--route--partner {
	background-color: var(--color-gold-soft);
	color: var(--color-gold-dark);
}

.page--shop .shop-product--title {
	color: var(--color-brown-dark);
	font-size: clamp(1.7rem, 2.3vw, 2.2rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.035rem;
	line-height: 1.08;
	margin-bottom: .7rem;
}



/* ============================
	PRODUCT HIGHLIGHT
============================ */

.page--shop .shop-product--highlight {
	background-color: color-mix(in srgb,
			var(--color-secondary-light) 35%,
			transparent);
	border: 1px solid var(--color-secondary-light);
	border-radius: .75rem;
	color: var(--color-secondary-dark);
	font-family: var(--font-family-heading);
	font-size: .9rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.5;
	margin-bottom: 1.25rem;
	margin-top: -.25rem;
	padding: .75rem .9rem;
}



/* ============================
	PRODUCT ASIDE
============================ */

.page--shop .shop-product--aside {
	border-left: 1px solid var(--color-border);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	padding-left: 1.6rem;
}

.page--shop .shop-product--aside .button {
	margin-top: .5rem;
}

.page--shop .shop-product--add.is-added {
	background-color: var(--color-secondary-dark);
	border-color: var(--color-secondary-dark);
	color: var(--color-white);
}

.page--shop .shop-product--choice {
	appearance: none;
	background-color: var(--color-white);
	border: 1px solid var(--color-border-strong);
	border-radius: .7rem;
	color: var(--color-brown-dark);
	font-family: var(--font-family-text);
	font-size: .9rem;
	height: 46px;
	margin-bottom: .7rem;
	padding: .6rem 2.6rem .6rem .8rem;
	width: 100%;
}

.page--shop .shop-product--choice-label {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: .85rem;
	font-weight: var(--font-weight-bold);
	margin-bottom: .35rem;
}

.page--shop .shop-product--discount {
	color: var(--color-secondary-dark);
	font-family: var(--font-family-heading);
	font-size: .875rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	margin-bottom: .85rem;
}

.page--shop .shop-product--partner-link {
	align-items: center;
	color: var(--color-primary-dark);
	display: inline-flex;
	font-size: .85rem;
	gap: .4rem;
	justify-content: center;
	line-height: 1.35;
	margin-top: .65rem;
	text-align: center;
	transition: var(--transition-fast);
}

.page--shop .shop-product--partner-link:hover,
.page--shop .shop-product--partner-link:focus {
	color: var(--color-brown-dark);
}

.page--shop .shop-product--price {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: 1.65rem;
	font-weight: var(--font-weight-heading);
	letter-spacing: -.025rem;
	line-height: 1.1;
	margin-bottom: .2rem;
}

.page--shop .shop-product--price--text {
	font-size: 1.35rem;
}

.page--shop .shop-product--price-label {
	color: var(--color-text-muted);
	font-family: var(--font-family-heading);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .065rem;
	line-height: 1.2;
	margin-bottom: .35rem;
	text-transform: uppercase;
}

.page--shop .shop-product--price-note {
	color: var(--color-text-muted);
	font-size: .875rem;
	line-height: 1.4;
	margin-bottom: .9rem;
}



/* ============================
	PRODUCT EMPTY STATE
============================ */

.page--shop .shop-products--empty {
	align-items: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	color: var(--color-text-muted);
	display: flex;
	flex-direction: column;
	gap: .75rem;
	margin-top: 1rem;
	padding: 2.5rem;
	text-align: center;
}

.page--shop .shop-products--empty i {
	color: var(--color-secondary);
	font-size: 1.5rem;
}

.page--shop .shop-products--empty p {
	margin: 0;
}



/* ============================
	PARTNERS
============================ */

.page--shop .shop-partners--grid {
	margin-top: 2.25rem;
}

.page--shop .shop-partners--intro {
	color: var(--color-text);
	font-size: 1.15rem;
	line-height: 1.75;
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;
}

.page--shop .shop-partner {
	background-color: var(--color-white);
	border: 1px solid var(--color-secondary-light);
	border-radius: var(--radius-lg);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.25rem;
	text-align: center;
	transition: var(--transition);
}

.page--shop .shop-partner:hover {
	background-color: var(--color-white);
	border-color: var(--color-primary-light);
	box-shadow: var(--shadow-soft);
	transform: translateY(-3px);
}

.page--shop .shop-partner a {
	color: var(--color-primary-dark);
	font-family: var(--font-family-heading);
	font-size: .8rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	margin-top: auto;
	padding-top: .7rem;
	transition: var(--transition-fast);
}

.page--shop .shop-partner a:hover,
.page--shop .shop-partner a:focus {
	color: var(--color-brown-dark);
}

.page--shop .shop-partner h3 {
	color: var(--color-brown-dark);
	font-size: 1.05rem;
	font-weight: var(--font-weight-heading);
	letter-spacing: -.0125rem;
	line-height: 1.2;
	margin-bottom: .45rem;
}

.page--shop .shop-partner p {
	color: var(--color-text);
	font-size: .9rem;
	line-height: 1.55;
	margin-bottom: .2rem;
}

.page--shop .shop-partner--logo {
	align-items: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	display: flex;
	height: 130px;
	justify-content: center;
	margin-bottom: 1rem;
	overflow: hidden;
	padding: 1.5rem;
}

.page--shop .shop-partner--logo img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.page--shop .shop-partner--logo--wordmark {
	background-color: var(--color-grey-white);
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
}

.page--shop .shop-partner--logo--wordmark strong {
	font-size: 1.45rem;
	font-weight: var(--font-weight-heading);
	letter-spacing: -.03rem;
}



/* ============================
	ORDER DETAILS
============================ */

.page--shop .shop-order--details {
	position: sticky;
	top: 9rem;
}

.page--shop .shop-order--fieldset {
	background-color: var(--color-white);
}

.page--shop .shop-order--confirm {
	background-color: var(--color-grey-warm-soft);
	border: 1px solid var(--color-border);
	border-radius: .8rem;
	padding: 1rem;
}

.page--shop .shop-order--confirm label strong {
	color: var(--color-brown-dark);
	font-weight: var(--font-weight-bold);
}

.page--shop .shop-order--validation {
	color: var(--color-error);
	display: none;
	font-size: .9rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.45;
	margin-bottom: 1rem;
}

.page--shop .shop-order--validation.is-visible {
	display: block;
}



/* ============================
	ORDER PROCESS
============================ */

.page--shop .shop-order--process {
	margin-bottom: 0;
}

.page--shop .shop-order--process h3 {
	margin-bottom: 1.25rem;
}

.page--shop .shop-order--steps {
	counter-reset: shop-order-step;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.page--shop .shop-order--steps li {
	counter-increment: shop-order-step;
	color: var(--color-text);
	font-size: .93rem;
	line-height: 1.58;
	min-height: 2.3rem;
	padding-left: 3rem;
	position: relative;
}

.page--shop .shop-order--steps li::before {
	align-items: center;
	background-color: var(--color-secondary);
	border: 1px solid var(--color-secondary);
	border-radius: var(--radius-full);
	color: var(--color-white);
	content: counter(shop-order-step);
	display: inline-flex;
	font-family: var(--font-family-heading);
	font-size: .78rem;
	font-weight: 800;
	height: 2.15rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: .05rem;
	width: 2.15rem;
}

.page--shop .shop-order--steps strong {
	color: var(--color-brown-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: .95rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.45;
}

.page--shop .shop-order--steps span {
	color: var(--color-text);
	display: block;
	font-size: .9rem;
	line-height: 1.6;
	margin-top: .15rem;
}

.page--shop .shop-order--help {
	background-color: var(--color-secondary-soft);
	border: 1px solid var(--color-secondary-light);
	border-radius: .8rem;
	color: var(--color-text);
	font-size: .92rem;
	line-height: 1.6;
	margin: 1.5rem 0 0;
	padding: .9rem 1rem;
}

.page--shop .shop-order--help strong {
	color: var(--color-secondary-dark);
}



/* ============================
	BASKET
============================ */

.page--shop .shop-basket {
	margin-top: .5rem;
}

.page--shop .shop-basket--empty {
	align-items: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-secondary-light);
	border-radius: var(--radius-md);
	color: var(--color-text-muted);
	display: flex;
	gap: .9rem;
	padding: 1.1rem;
}

.page--shop .shop-basket--empty>i {
	align-items: center;
	background-color: var(--color-secondary-soft);
	border-radius: var(--radius-full);
	color: var(--color-secondary-dark);
	display: inline-flex;
	flex: 0 0 44px;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.page--shop .shop-basket--empty p {
	font-size: .86rem;
	line-height: 1.5;
	margin: .15rem 0 0;
}

.page--shop .shop-basket--empty strong {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: .95rem;
	font-weight: var(--font-weight-bold);
}

.page--shop .shop-basket--items {
	display: flex;
	flex-direction: column;
	gap: .65rem;
}

.page--shop .shop-basket-item {
	align-items: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	display: grid;
	gap: .85rem;
	grid-template-columns: 64px minmax(0, 1fr) auto auto;
	padding: .65rem;
}

.page--shop .shop-basket-item--content {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.page--shop .shop-basket-item--content small {
	color: var(--color-primary-dark);
	font-size: .78rem;
	font-weight: 600;
	line-height: 1.35;
	margin-top: .15rem;
}

.page--shop .shop-basket-item--content span {
	color: var(--color-text-muted);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .045rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.page--shop .shop-basket-item--content strong {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: .95rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.3;
}

.page--shop .shop-basket-item--image {
	align-items: center;
	background-color: var(--color-grey-white);
	border-radius: .65rem;
	display: flex;
	height: 64px;
	justify-content: center;
	overflow: hidden;
	width: 64px;
}

.page--shop .shop-basket-item--image img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.page--shop .shop-basket-item--quantity {
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-full);
	display: flex;
	overflow: hidden;
}

.page--shop .shop-basket-item--quantity button {
	align-items: center;
	background-color: var(--color-white);
	border: 0;
	color: var(--color-brown-dark);
	display: inline-flex;
	height: 34px;
	justify-content: center;
	transition: var(--transition-fast);
	width: 34px;
}

.page--shop .shop-basket-item--quantity button:hover,
.page--shop .shop-basket-item--quantity button:focus {
	background-color: var(--color-primary-soft);
	color: var(--color-primary-dark);
}

.page--shop .shop-basket-item--quantity span {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: .85rem;
	font-weight: var(--font-weight-bold);
	min-width: 28px;
	text-align: center;
}

.page--shop .shop-basket-item--remove {
	align-items: center;
	background-color: transparent;
	border: 0;
	border-radius: var(--radius-full);
	color: var(--color-text-muted);
	display: inline-flex;
	height: 36px;
	justify-content: center;
	transition: var(--transition-fast);
	width: 36px;
}

.page--shop .shop-basket-item--remove:hover,
.page--shop .shop-basket-item--remove:focus {
	background-color: var(--color-taupe-soft);
	color: var(--color-error);
}



/* ============================
	PRODUCT MODAL
============================ */

.page--shop .shop-modal .modal-content {
	background-color: var(--color-white);
	border: 0;
	border-radius: var(--radius-lg);
	box-shadow: 0 24px 70px rgba(51, 41, 34, .18);
	overflow: hidden;
}

.page--shop .shop-modal--body {
	padding: 1.75rem 2rem 2rem;
}

.page--shop .shop-modal--brand {
	color: var(--color-primary-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .075rem;
	line-height: 1.2;
	margin-bottom: .25rem;
	text-transform: uppercase;
}

.page--shop .shop-modal--choice {
	margin-bottom: .85rem;
}

.page--shop .shop-modal--choice label {
	color: var(--color-brown-dark);
	display: block;
	font-family: var(--font-family-heading);
	font-size: .85rem;
	font-weight: var(--font-weight-bold);
	margin-bottom: .35rem;
}

.page--shop .shop-modal--copy p {
	color: var(--color-text);
	font-size: .98rem;
	line-height: 1.72;
	margin-bottom: .8rem;
}

.page--shop .shop-modal--fact {
	align-items: flex-start;
	border-bottom: 1px solid var(--color-border-soft);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: .65rem 0;
}

.page--shop .shop-modal--fact:last-child {
	border-bottom: 0;
}

.page--shop .shop-modal--fact span {
	color: var(--color-text);
	font-size: .875rem;
}

.page--shop .shop-modal--fact strong {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: .88rem;
	font-weight: var(--font-weight-bold);
	text-align: right;
}

.page--shop .shop-modal--facts {
	background-color: var(--color-white);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	margin: 1.15rem 0;
	padding: .55rem 1rem;
}

.page--shop .shop-modal--header {
	align-items: flex-start;
	border-bottom: 1px solid var(--color-border);
	padding: 1.35rem 1.5rem;
}

.page--shop .shop-modal--image {
	align-items: center;
	aspect-ratio: 1 / 1;
	background-color: var(--color-grey-white);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-lg);
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.page--shop .shop-modal--image img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.page--shop .shop-modal--lead {
	color: var(--color-brown-dark);
	font-size: 1.08rem;
	font-weight: 600;
	line-height: 1.65;
	margin-bottom: .9rem;
}

.page--shop .shop-modal--notice {
	align-items: flex-start;
	background-color: var(--color-gold-soft);
	border: 1px solid rgba(196, 161, 102, .3);
	border-radius: var(--radius-md);
	color: var(--color-text);
	display: flex;
	gap: .7rem;
	margin: 1rem 0;
	padding: .9rem 1rem;
}

.page--shop .shop-modal--notice i {
	color: var(--color-gold-dark);
	flex: 0 0 auto;
	margin-top: .15rem;
}

.page--shop .shop-modal--notice p {
	font-size: .84rem;
	line-height: 1.55;
	margin: 0;
}

.page--shop .shop-modal--order {
	border-top: 1px solid var(--color-border);
	margin-top: 1.2rem;
	padding-top: 1.2rem;
}

.page--shop .shop-modal--actions {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
}

.page--shop .shop-modal--price {
	display: flex;
	flex-direction: column;
	margin-bottom: .85rem;
}

.page--shop .shop-modal--price span {
	color: var(--color-text-muted);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .05rem;
	text-transform: uppercase;
}

.page--shop .shop-modal--price strong {
	color: var(--color-brown-dark);
	font-family: var(--font-family-heading);
	font-size: 1.2rem;
	font-weight: var(--font-weight-heading);
}

.page--shop .shop-modal--route {
	color: var(--color-secondary-dark);
	font-family: var(--font-family-heading);
	font-size: .9rem;
	font-weight: var(--font-weight-bold);
	margin-bottom: .55rem;
}

.page--shop .shop-modal--title {
	color: var(--color-brown-dark);
	font-size: clamp(1.7rem, 2.5vw, 2rem);
	font-weight: var(--font-weight-heading);
	letter-spacing: -.035rem;
	line-height: 1.08;
}



/* ============================
	SHOP WHATSAPP BUTTON
============================ */

.page--shop .button--whatsapp {
	background-color: var(--color-secondary-dark);
	border-color: var(--color-secondary-dark);
	color: var(--color-white);
}

.page--shop .button--whatsapp:hover,
.page--shop .button--whatsapp:focus {
	background-color: var(--color-brown-dark);
	border-color: var(--color-brown-dark);
	color: var(--color-white);
}

.page--shop .button--whatsapp i {
	align-items: center;
	background-color: #25D366;
	border-radius: var(--radius-full);
	color: var(--color-white);
	display: inline-flex;
	font-size: .9rem;
	height: 1.65rem;
	justify-content: center;
	width: 1.65rem;
}



/* ============================
	MOBILE SHOP CART BASE
============================ */

.page--shop .shop-mobile-cart {
	align-items: center;
	background-color: var(--color-secondary);
	border: 0;
	border-radius: .5rem;
	bottom: 5.5rem;
	color: var(--color-white);
	display: none;
	height: 48px;
	justify-content: center;
	padding: 0;
	position: fixed;
	right: 1rem;
	width: 48px;
	z-index: 1050;
}

.page--shop .shop-mobile-cart:hover,
.page--shop .shop-mobile-cart:focus {
	background-color: var(--color-secondary-dark);
	color: var(--color-white);
}

.page--shop .shop-mobile-cart>i {
	color: var(--color-white);
	font-size: 1.1rem;
	line-height: 1;
	margin: 0;
}

.page--shop .shop-mobile-cart--count {
	align-items: center;
	background-color: var(--color-gold);
	border: 2px solid var(--color-white);
	border-radius: 50%;
	color: var(--color-brown-dark);
	display: inline-flex;
	font-family: var(--font-family-heading);
	font-size: .65rem;
	font-weight: 800;
	height: 1.35rem;
	justify-content: center;
	line-height: 1;
	min-width: 1.35rem;
	padding: 0 .2rem;
	position: absolute;
	right: -.35rem;
	top: -.35rem;
}



/* =========================================================
	APPOINTMENT PAGE
========================================================= */

.page--appointment .section--contact-form {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 2rem;
}

.page--appointment .form--details {
	position: sticky;
	top: 9rem;
}



/* =========================================================
	LEGAL PAGES
========================================================= */

.page--legal .section--legal-intro {
	padding: 6rem 0;
}

.page--legal .legal-intro--content {
	max-width: 1200px;
}

.page--legal .section--legal-content {
	background-color: var(--color-white);
	padding-bottom: 8rem;
	padding-top: 8rem;
}

.page--legal .legal--navigation {
	align-self: flex-start;
	background-color: var(--color-grey-warm-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 1.75rem;
	position: sticky;
	top: 150px;
}

.page--legal .legal--navigation-label {
	color: var(--color-brown-dark);
	display: block;
	font-size: .85rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: .06rem;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.page--legal .legal--navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.page--legal .legal--navigation li+li {
	border-top: 1px solid var(--color-border);
}

.page--legal .legal--navigation a {
	color: var(--color-text);
	display: block;
	font-size: .95rem;
	line-height: 1.45;
	padding: .7rem 0;
	text-decoration: none;
	transition: color .2s ease;
}

.page--legal .legal--navigation a:hover {
	color: var(--color-primary);
}

.page--legal .legal--document {
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
}

.page--legal .legal--section {
	scroll-margin-top: 7rem;
}

.page--legal .legal--section+.legal--section {
	border-top: 1px solid var(--color-border);
	margin-top: 2.75rem;
	padding-top: 2.75rem;
}

.page--legal .legal--section h2 {
	color: var(--color-brown-dark);
	font-size: clamp(1.55rem, 2.5vw, 2rem);
	letter-spacing: -.025rem;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.page--legal .legal--section h3 {
	color: var(--color-brown-dark);
	font-size: 1.05rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.45;
	margin-bottom: .7rem;
	margin-top: 1.5rem;
}

.page--legal .legal--section p,
.page--legal .legal--section li {
	color: var(--color-text);
	font-size: 1.05rem;
	line-height: 1.75;
}

.page--legal .legal--section p {
	margin-bottom: 1rem;
}

.page--legal .legal--section ul {
	margin-bottom: 1.25rem;
	padding-left: 1.25rem;
}

.page--legal .legal--section li+li {
	margin-top: .45rem;
}

.page--legal .legal--section a {
	color: var(--color-primary-dark);
	font-weight: 600;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}



/* =========================================================
	THANK YOU PAGES
========================================================= */

.page--thank-you .section--page-intro {
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--thank-you .section--thank-you-social {
	background-color: var(--color-white);
	padding-bottom: 7rem;
	padding-top: 7rem;
}

.page--thank-you .thank-you-social--panel {
	margin: 0 auto;
	max-width: 760px;
}

.page--thank-you .thank-you-social--title {
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	margin-bottom: 1rem;
}

.page--thank-you .thank-you-social--text {
	font-size: 1.05rem;
	line-height: 1.75;
	margin: 0 auto 1.75rem;
	max-width: 640px;
}

.page--thank-you .thank-you-social--actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	justify-content: center;
}



/* END CSS */