/*
Theme Name: Entai Jewelry Child
Description: Inquiry-only jewellery catalogue child theme for WoodMart.
Author: Entai Jewelry
Template: woodmart
Version: 1.0.46
Text Domain: entaijewelry
Requires at least: 6.4
Requires PHP: 7.4
*/

@font-face {
	font-family: "Entai Lora";
	src: url("assets/lora-400.ttf") format("truetype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Entai Lora";
	src: url("assets/lora-600.ttf") format("truetype");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Entai Marcellus SC";
	src: url("assets/marcellus-sc-400.ttf") format("truetype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

:root {
	--ent-color-ink: #202532;
	--ent-color-navy: #2b3967;
	--ent-color-gold: #a98252;
	--ent-color-muted: #6f7279;
	--ent-color-line: #e7e3dc;
	--ent-color-wash: #f7f5f1;
	--ent-color-paper: #fff;
	--ent-font-display: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
	--ent-font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ent-content-wide: 83.625rem;
	--ent-content: 74.5rem;
	--ent-space-1: clamp(0.5rem, 0.4rem + 0.35vw, 0.75rem);
	--ent-space-2: clamp(0.875rem, 0.75rem + 0.45vw, 1.25rem);
	--ent-space-3: clamp(1.5rem, 1.2rem + 0.9vw, 2.25rem);
	--ent-space-4: clamp(2.5rem, 2rem + 1.7vw, 4rem);
	--ent-space-5: clamp(4rem, 3rem + 3vw, 7rem);
	--ent-radius: 0.375rem;
	--ent-transition: 180ms ease;
}

html {
	scroll-behavior: smooth;
}

body {
	min-width: 0;
	color: var(--ent-color-ink);
	background: var(--ent-color-paper);
	font-family: var(--ent-font-body);
	font-size: clamp(0.9375rem, 0.9rem + 0.12vw, 1rem);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
	font-family: var(--ent-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.title,
.product_title,
.woocommerce-loop-product__title,
.wd-entities-title {
	color: var(--ent-color-ink);
	font-family: var(--ent-font-display);
	font-weight: 400;
	letter-spacing: 0.02em;
}

h1,
.title-size-large {
	font-size: clamp(2.25rem, 1.65rem + 2.1vw, 4rem);
	line-height: 1.08;
}

h2 {
	font-size: clamp(1.75rem, 1.4rem + 1.25vw, 2.75rem);
	line-height: 1.18;
}

h3,
.woocommerce-loop-product__title,
.wd-entities-title {
	font-size: clamp(1.125rem, 1.04rem + 0.32vw, 1.375rem);
	line-height: 1.35;
}

a {
	text-underline-offset: 0.2em;
}

img {
	height: auto;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 0.1875rem solid var(--ent-color-gold);
	outline-offset: 0.1875rem;
}

::selection {
	color: var(--ent-color-paper);
	background: var(--ent-color-navy);
}

.container,
.ent-page__inner {
	width: min(var(--ent-content-wide), calc(100% - 2.5rem));
	margin-inline: auto;
}

.site-content,
.ent-page {
	min-width: 0;
}

.ent-page__inner {
	padding-block: var(--ent-space-5);
}

.ent-page--home .ent-page__inner {
	width: min(90rem, calc(100% - 2rem));
	padding-block-start: 0;
}

body.home .wd-content-layout {
	padding-block-start: 0;
}

.ent-page__header {
	max-width: 52rem;
	margin-bottom: var(--ent-space-4);
}

.ent-page__title {
	margin: 0;
}

.ent-page__content {
	max-width: 64rem;
	margin-inline: auto;
}

.ent-page__content > :where(section, .wp-block-group, .wp-block-cover, .wp-block-columns) + :where(section, .wp-block-group, .wp-block-cover, .wp-block-columns) {
	margin-top: var(--ent-space-5);
}

.ent-page__content > :where(h2, h3) {
	margin-top: var(--ent-space-4);
}

.ent-page__content > :where(p, ul, ol) {
	max-width: 48rem;
}

.ent-page__content :where(p, ul, ol, .wp-block-details) + :where(p, ul, ol, .wp-block-details) {
	margin-top: var(--ent-space-2);
}

.ent-page__content :where(h2, h3, h4) + :where(p, ul, ol, .wp-block-details) {
	margin-top: var(--ent-space-1);
}

.ent-page__content .wp-block-details {
	border-block-end: 0.0625rem solid var(--ent-color-line);
	padding-block: var(--ent-space-1);
}

.ent-page__content .wp-block-details summary {
	min-height: 2.75rem;
	display: flex;
	align-items: center;
	cursor: pointer;
	font-weight: 650;
}

.ent-page__content .wp-block-details > :last-child,
.ent-page__empty {
	margin-bottom: 0;
}

.ent-page__empty {
	padding: var(--ent-space-2);
	border: 0.0625rem solid var(--ent-color-line);
	background: var(--ent-color-wash);
}

.ent-page--home .ent-page__content {
	max-width: none;
}

/* The inquiry route follows the same full content surface as the reference page. */
.ent-page--inquiry .ent-page__inner,
.ent-page--inquiry .ent-page__content,
.ent-page--inquiry .entai-inquiry,
.ent-page--inquiry .entai-inquiry-items,
.ent-page--inquiry .entai-inquiry-form {
	width: 100%;
	max-width: none;
}

/* Policy pages inherit WoodMart's standard content surface; do not cap it twice. */
.ent-page--policy .ent-page__inner,
.ent-page--policy .ent-page__content {
	width: 100%;
	max-width: none;
}

/* Reference-aligned content pages */
.ent-content-wide {
	max-width: var(--ent-content-wide);
}

.ent-page__header--center,
.ent-section-heading {
	max-width: 54rem;
	margin-inline: auto;
	text-align: center;
}

.ent-page__header--center > p:last-child,
.ent-section-heading > p:last-child {
	max-width: 42rem;
	margin-inline: auto;
}

.ent-about-hero {
	padding: clamp(3.5rem, 8vw, 7rem) var(--ent-space-4);
	color: rgb(255 255 255 / 88%);
	background: var(--ent-color-navy);
	text-align: center;
}

.ent-about-hero h1 {
	margin: 0 0 var(--ent-space-2);
	color: var(--ent-color-paper);
	font-size: clamp(2.5rem, 4.6vw, 4.5rem);
}

.ent-about-hero > p:not(.ent-home-eyebrow) {
	max-width: 44rem;
	margin: 0 auto var(--ent-space-3);
	font-family: var(--ent-font-display);
	font-size: clamp(1.05rem, 1rem + 0.3vw, 1.35rem);
}

.ent-about-hero .button {
	border-color: var(--ent-color-paper);
	color: var(--ent-color-navy);
	background: var(--ent-color-paper);
}

.ent-page--custom-jewelry .ent-page__inner {
	width: 100%;
	max-width: none;
	padding-block-start: 0;
}

.ent-custom-banner {
	min-height: clamp(32rem, 55vw, 50rem);
	display: flex;
	align-items: center;
	padding: var(--ent-space-4) clamp(2rem, 12vw, 12rem);
	background: url("assets/custom-jewelry-hero-rings.webp") center 42% / cover no-repeat;
}

.ent-custom-banner h1 {
	margin: 0;
	color: var(--ent-color-navy);
	font-size: clamp(2.25rem, 4.2vw, 4rem);
}

.ent-custom-content,
.ent-about-content,
.ent-faq-content {
	max-width: none;
}

.ent-custom-content {
	width: min(var(--ent-content-wide), calc(100% - 2.5rem));
	margin-inline: auto;
}

.ent-custom-overview,
.ent-custom-section,
.ent-custom-intro,
.ent-custom-faq,
.ent-custom-contact,
.ent-about-section,
.ent-faq-contact {
	margin-top: var(--ent-space-5);
}

.ent-custom-overview {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.ent-custom-overview > *,
.ent-custom-step > *,
.ent-stage-card > * {
	min-width: 0;
}

.ent-custom-overview__media,
.ent-stage-card__media {
	margin: 0;
	overflow: hidden;
	background: var(--ent-color-wash);
}

.ent-custom-overview__image,
.ent-stage-card__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

.ent-custom-overview__heading h2 {
	margin-bottom: var(--ent-space-1);
}

.ent-custom-overview__experience {
	margin: 0 0 0.35rem;
	color: var(--ent-color-gold);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.ent-custom-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem;
	margin-top: var(--ent-space-2);
}

.ent-custom-step {
	display: grid;
	grid-template-columns: 2.125rem minmax(0, 1fr);
	gap: var(--ent-space-1);
	align-items: center;
	padding-block: 0.35rem;
}

.ent-custom-step__icon {
	width: 2.125rem;
	height: 2.125rem;
	object-fit: contain;
}

.ent-custom-step h3,
.ent-about-section h2 {
	margin: 0;
}

.ent-stage-card__content p,
.ent-about-section p {
	color: var(--ent-color-muted);
}

.ent-custom-step h3 {
	font-family: var(--ent-font-body);
	font-size: 1rem;
	font-weight: 400;
}

.ent-page-cta,
.ent-faq-contact {
	padding: clamp(2.5rem, 5vw, 5rem) var(--ent-space-4);
	background: var(--ent-color-wash);
	text-align: center;
}

.ent-custom-intro {
	max-width: 60rem;
	margin-inline: auto;
	padding-inline: var(--ent-space-3);
	text-align: center;
}

.ent-custom-intro h2,
.ent-page-cta h2,
.ent-faq-contact h2 {
	margin: 0 0 var(--ent-space-2);
}

.ent-custom-intro > p,
.ent-page-cta > p:not(.ent-home-eyebrow),
.ent-faq-contact__copy > p:not(.ent-home-eyebrow) {
	max-width: 48rem;
	margin-inline: auto;
	color: var(--ent-color-muted);
}

.ent-stage-list {
	display: grid;
	gap: clamp(4rem, 8vw, 8rem);
	margin-top: var(--ent-space-3);
}

.ent-stage-card {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 6vw, 7rem);
	align-items: center;
}

.ent-stage-card:nth-child(odd) .ent-stage-card__media {
	order: 2;
}

.ent-stage-card__content {
	padding: clamp(1rem, 3vw, 3rem);
}

.ent-stage-card__content h2 {
	margin: 0 0 var(--ent-space-2);
	font-size: clamp(1.6rem, 2.6vw, 2.5rem);
}

.ent-stage-card__content p {
	margin: 0;
}

.ent-stage-card__content p + p {
	margin-top: var(--ent-space-1);
}

.ent-custom-faq__title {
	margin: 0;
	text-align: center;
}

.ent-custom-faq__groups {
	max-width: 70rem;
	margin: var(--ent-space-3) auto 0;
}

.ent-custom-contact {
	max-width: 70rem;
	margin-inline: auto;
}

.ent-faq-group + .ent-faq-group {
	margin-top: var(--ent-space-4);
}

.ent-faq-group h2 {
	margin: 0 0 var(--ent-space-2);
	font-size: clamp(1.45rem, 1.25rem + 0.65vw, 2rem);
}

.ent-faq-list {
	border-top: 0.0625rem solid var(--ent-color-line);
}

.ent-faq-item {
	border-bottom: 0.0625rem solid var(--ent-color-line);
}

.ent-faq-item summary {
	min-height: 3.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ent-space-2);
	padding-block: var(--ent-space-1);
	cursor: pointer;
	font-weight: 650;
	list-style: none;
}

.ent-faq-item summary::-webkit-details-marker {
	display: none;
}

.ent-faq-item summary:focus-visible {
	outline: 0.125rem solid var(--ent-color-gold);
	outline-offset: 0.1875rem;
}

.ent-faq-item summary::after {
	content: "+";
	flex: 0 0 auto;
	color: var(--ent-color-gold);
	font-family: var(--ent-font-display);
	font-size: 1.5rem;
	font-weight: 400;
}

.ent-faq-item[open] summary::after {
	content: "−";
}

.ent-faq-item__answer {
	max-width: 54rem;
	padding: 0 2.5rem var(--ent-space-2) 0;
	color: var(--ent-color-muted);
}

.ent-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
	gap: var(--ent-space-5);
	align-items: start;
}

.ent-contact-faq > h2 {
	margin-top: 0;
}

.ent-contact-faq .ent-faq-group {
	margin-top: var(--ent-space-3);
}

.ent-contact-panel {
	display: grid;
	gap: var(--ent-space-3);
}

.ent-contact-card {
	padding: var(--ent-space-4) var(--ent-space-3);
	border: 0.0625rem solid var(--ent-color-line);
	border-radius: 1rem;
	background: var(--ent-color-wash);
	text-align: center;
}

.ent-contact-card__avatar {
	width: 4.5rem;
	height: 4.5rem;
	display: grid;
	place-items: center;
	margin-inline: auto;
	border-radius: 50%;
	color: var(--ent-color-paper);
	background: var(--ent-color-navy);
	font-family: var(--ent-font-display);
	font-size: 2rem;
	object-fit: cover;
}

.ent-contact-card h2 {
	margin: var(--ent-space-2) 0 var(--ent-space-1);
	font-family: var(--ent-font-body);
	font-size: 1.15rem;
	font-weight: 700;
}

.ent-contact-card > p {
	max-width: 20rem;
	margin: 0 auto var(--ent-space-2);
	color: var(--ent-color-muted);
}

.ent-contact-card__links {
	display: grid;
	gap: var(--ent-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ent-contact-card__links a {
	display: flex;
	justify-content: space-between;
	gap: var(--ent-space-2);
	padding: 0.9rem 1rem;
	border: 0.0625rem solid var(--ent-color-line);
	border-radius: 0.5rem;
	color: var(--ent-color-ink);
	background: var(--ent-color-paper);
	overflow-wrap: anywhere;
	text-decoration: none;
}

.ent-contact-card__links a span:last-child {
	text-align: end;
}

body.ent-home-contact-dialog-open {
	overflow: hidden;
}

.ent-home-contact-dialog {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 1rem;
	border: 0;
	background: transparent;
	color: var(--ent-color-ink);
	overflow: auto;
}

.ent-home-contact-dialog[open] {
	display: grid;
	place-items: center;
}

.ent-home-contact-dialog::backdrop {
	background: rgb(15 23 42 / 58%);
}

.ent-home-contact-dialog__panel {
	position: relative;
	width: min(28rem, 100%);
	max-height: calc(100vh - 2rem);
	max-block-size: calc(100dvh - 2rem);
	border: 0.0625rem solid var(--ent-color-line);
	border-radius: 1rem;
	background: var(--ent-color-paper);
	box-shadow: 0 1.5rem 4rem rgb(15 23 42 / 28%);
	overflow: auto;
}

.ent-home-contact-dialog__close-form {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 1;
	margin: 0;
}

.ent-home-contact-dialog__close {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: var(--ent-color-ink);
	background: var(--ent-color-paper);
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.ent-home-contact-dialog__close:focus-visible {
	outline: 0.125rem solid var(--ent-color-gold);
	outline-offset: 0.1875rem;
}

.ent-home-contact-dialog .ent-contact-card {
	padding-top: calc(var(--ent-space-4) + 1.5rem);
	border: 0;
	border-radius: inherit;
	background: var(--ent-color-paper);
}

.ent-contact-form-wrap {
	padding: var(--ent-space-3);
	border: 0.0625rem solid var(--ent-color-line);
	background: var(--ent-color-paper);
}

.ent-contact-form-wrap > h2 {
	margin: 0 0 var(--ent-space-2);
	font-size: clamp(1.5rem, 1.3rem + 0.7vw, 2rem);
}

.ent-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--ent-space-2);
}

.ent-contact-form p {
	margin: 0 0 var(--ent-space-2);
}

.ent-contact-form label {
	display: block;
	font-weight: 650;
}

.ent-contact-form label span {
	margin-inline-start: 0.25rem;
	color: #a33f3f;
}

.ent-contact-form :where(input, textarea) {
	display: block;
	width: 100%;
	margin-top: 0.4rem;
	border: 0.0625rem solid #cbc7c0;
	background: var(--ent-color-paper);
}

.ent-contact-form :where(input, textarea):focus-visible {
	border-color: var(--ent-color-gold);
}

.ent-contact-form__message {
	grid-column: 1 / -1;
}

.ent-contact-form__status {
	margin: 0 0 var(--ent-space-2);
	padding: var(--ent-space-1) var(--ent-space-2);
	border-inline-start: 0.25rem solid var(--ent-color-gold);
	background: var(--ent-color-wash);
}

.ent-contact-form__status--error {
	border-inline-start-color: #a33f3f;
}

.ent-faq-contact {
	text-align: start;
}

.ent-faq-contact__copy {
	margin-bottom: var(--ent-space-3);
	text-align: center;
}

/* The FAQ contact panel is a light surface; keep its eyebrow readable. */
.ent-faq-contact__copy .ent-home-eyebrow {
	color: var(--ent-color-ink);
}

.ent-faq-contact .ent-contact-form-wrap {
	max-width: 62rem;
	margin-inline: auto;
}

.ent-about-content {
	max-width: 58rem;
	margin-inline: auto;
}

.ent-about-workshop {
	margin-top: var(--ent-space-5);
	padding: clamp(2rem, 5vw, 4rem);
	background: var(--ent-color-wash);
}

.ent-about-workshop__heading {
	max-width: 42rem;
	margin: 0 auto var(--ent-space-4);
	text-align: center;
}

.ent-about-workshop__heading h2 {
	margin: 0 0 var(--ent-space-1);
}

.ent-about-workshop__heading > p:last-child {
	margin: 0;
	color: var(--ent-color-muted);
}

.ent-about-gallery {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--ent-space-2);
}

.ent-about-gallery__item {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	background: var(--ent-color-paper);
}

.ent-about-gallery__item--wide {
	grid-column: 1 / -1;
	aspect-ratio: 16 / 7;
}

.ent-about-gallery__item--half {
	grid-column: span 6;
	aspect-ratio: 4 / 3;
}

.ent-about-gallery__item--third {
	grid-column: span 4;
	aspect-ratio: 4 / 5;
}

.ent-about-gallery__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.ent-about-gallery__item:nth-child(1) .ent-about-gallery__image {
	object-position: 50% 55%;
}

.ent-about-gallery__item:nth-child(3) .ent-about-gallery__image,
.ent-about-gallery__item:nth-child(7) .ent-about-gallery__image {
	object-position: 50% 42%;
}

.ent-about-section + .ent-about-section {
	margin-top: var(--ent-space-4);
}

.ent-about-section p + p {
	margin-top: var(--ent-space-2);
}

.ent-about-section ul {
	margin: var(--ent-space-2) 0 0;
	padding-inline-start: 1.25rem;
}

.ent-about-closing {
	padding: var(--ent-space-4);
	background: var(--ent-color-wash);
	text-align: center;
}

.ent-coming-soon {
	max-width: 48rem;
	margin-inline: auto;
	padding: clamp(3rem, 8vw, 6rem) var(--ent-space-4);
	border: 0.0625rem solid var(--ent-color-line);
	background: var(--ent-color-wash);
	text-align: center;
}

.ent-coming-soon__label {
	margin: 0 0 var(--ent-space-2);
	color: var(--ent-color-gold);
	font-family: var(--ent-font-display);
	font-size: clamp(1.75rem, 1.4rem + 1vw, 2.75rem);
}

.wp-block-cover,
.ent-hero {
	min-height: clamp(28rem, 65vw, 40.625rem);
	overflow: hidden;
	border-radius: var(--ent-radius);
}

.wp-block-cover__inner-container,
.ent-hero__content {
	max-width: 36rem;
	padding: var(--ent-space-4);
}

.wp-block-button__link,
.button,
.wp-element-button,
.entai-inquiry button,
.entai-inquiry-add,
input[type="button"],
input[type="submit"] {
	min-height: 44px;
	border: 0.0625rem solid var(--ent-color-navy);
	border-radius: 0;
	color: var(--ent-color-paper);
	background: var(--ent-color-navy);
	font-size: 0.8125rem;
	font-weight: 650;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	transition: color var(--ent-transition), background-color var(--ent-transition), border-color var(--ent-transition), transform var(--ent-transition);
}

.wp-block-button__link:hover,
.button:hover,
.wp-element-button:hover,
.entai-inquiry button:hover,
.entai-inquiry-add:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
	border-color: var(--ent-color-gold);
	color: var(--ent-color-paper);
	background: var(--ent-color-gold);
}

/* Entai site frame */
.ent-frame {
	width: min(var(--ent-content-wide), calc(100% - 2.5rem));
	margin-inline: auto;
}

.ent-topbar {
	color: var(--ent-color-paper);
	background: var(--ent-color-navy);
}

.ent-topbar__inner {
	min-height: 3.125rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.ent-topbar p {
	margin: 0;
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
}

.ent-site-header {
	position: sticky;
	top: 0;
	z-index: 390;
	border-bottom: 0.0625rem solid var(--ent-color-line);
	background: rgb(255 255 255 / 97%);
	transition: transform 0.3s ease;
}

.ent-site-header.is-scroll-hidden {
	transform: translateY(-100%);
}

.admin-bar .ent-site-header {
	top: 2rem;
}

.ent-header__inner {
	min-height: 7.125rem;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-auto-flow: column;
	grid-auto-columns: auto;
	gap: var(--ent-space-3);
	align-items: center;
}

.ent-logo,
.ent-footer__logo {
	color: inherit;
	font-family: var(--ent-font-display);
	font-size: clamp(1.25rem, 1.05rem + 0.65vw, 1.75rem);
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-decoration: none;
}

.ent-desktop-nav {
	min-width: 0;
	justify-self: end;
}

.ent-nav-list,
.ent-mobile-nav__list,
.ent-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ent-nav-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0 var(--ent-space-3);
}

.ent-nav-list a {
	min-height: 2.75rem;
	display: flex;
	align-items: center;
	color: var(--ent-color-ink);
	font-size: 0.8125rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

.ent-nav-list a:hover,
.ent-nav-list a:focus-visible,
.ent-nav-list a.is-current {
	color: var(--ent-color-gold);
}

.ent-mobile-nav {
	display: none;
	position: relative;
	justify-self: end;
}

.ent-mobile-nav summary {
	min-width: 4.75rem;
	min-height: 2.75rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	border: 0.0625rem solid var(--ent-color-line);
	padding-inline: 0.875rem;
	cursor: pointer;
	font-size: 0.8125rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	list-style: none;
	text-transform: uppercase;
}

.ent-mobile-nav summary::-webkit-details-marker {
	display: none;
}

.ent-mobile-nav summary::after {
	content: "+";
	font-size: 1.125rem;
	font-weight: 400;
}

.ent-mobile-nav[open] summary::after {
	content: "−";
}

.ent-mobile-nav__backdrop {
	display: none;
}

.ent-mobile-nav nav {
	width: min(22rem, calc(100vw - 1.25rem));
	position: absolute;
	top: calc(100% + 0.625rem);
	inset-inline-end: 0;
	max-height: calc(100vh - 6rem);
	overflow-y: auto;
	border: 0.0625rem solid var(--ent-color-line);
	background: var(--ent-color-paper);
	box-shadow: 0 1rem 2.5rem rgb(31 37 50 / 12%);
}

.ent-mobile-nav__list a {
	min-height: 3rem;
	display: flex;
	align-items: center;
	padding-inline: var(--ent-space-2);
	border-bottom: 0.0625rem solid var(--ent-color-line);
	color: var(--ent-color-ink);
	text-decoration: none;
}

.ent-mobile-nav__list li:last-child a {
	border-bottom: 0;
}

.ent-language-switcher {
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	max-inline-size: 100%;
	font-size: 0.8125rem;
}

.ent-language-switcher--header {
	justify-self: end;
}

.ent-language-switcher .gtranslate_wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	max-inline-size: 100%;
}

.ent-language-switcher :where(a, button, select) {
	max-inline-size: 100%;
	color: var(--ent-color-ink);
	font: inherit;
}

.ent-language-switcher :where(button, select) {
	min-block-size: 2.75rem;
	border: 0.0625rem solid var(--ent-color-line);
	padding-inline: 0.75rem;
	background: var(--ent-color-paper);
}

.ent-language-switcher a {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	text-decoration: none;
}

.ent-language-switcher :where(a, button, select):focus-visible {
	outline: 0.125rem solid var(--ent-color-gold);
	outline-offset: 0.1875rem;
}

.ent-site-footer.footer-container {
	margin-top: 0;
	border-top: 0;
	color: rgb(255 255 255 / 82%);
	background: var(--ent-color-navy);
}

.ent-site-footer .ent-footer__inner {
	width: min(1192px, calc(100vw - 30px));
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(8rem, 0.8fr) minmax(12.75rem, 1.45fr) repeat(2, minmax(8rem, 0.9fr));
	gap: var(--ent-space-4);
	padding-block: var(--ent-space-5);
}

.ent-footer__address {
	max-width: 27rem;
}

.ent-footer__address p {
	margin: var(--ent-space-2) 0 0;
}

.ent-footer__address a {
	display: inline-block;
	margin-top: var(--ent-space-1);
	color: inherit;
	text-decoration: none;
}

.ent-footer__address h2,
.ent-footer__group h2 {
	margin: 0 0 var(--ent-space-2);
	color: var(--ent-color-paper);
	font-family: var(--ent-font-body);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ent-footer__links {
	display: grid;
	gap: 0.45rem;
}

.ent-footer__links a {
	min-height: 2.75rem;
	display: flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.ent-footer__links a:hover,
.ent-footer__links a:focus-visible,
.ent-footer__links a.is-current {
	color: var(--ent-color-paper);
	text-decoration: underline;
}

.ent-footer__bottom {
	border-top: 0.0625rem solid rgb(255 255 255 / 16%);
}

.ent-footer__bottom p {
	margin: 0;
	padding-block: var(--ent-space-2);
	font-size: 0.75rem;
	letter-spacing: 0.05em;
}

/* Product-led homepage */
.ent-home {
	display: grid;
	gap: 0;
}

/* Grid items default to min-width:auto; full-resolution product imagery
   would otherwise force sections wider than the mobile viewport. */
.ent-home > * {
	min-width: 0;
}

.ent-home > * + * {
	margin-block-start: var(--ent-space-5);
}

.ent-home-hero + .ent-home-featured {
	margin-block-start: var(--ent-space-2);
}

.ent-home-hero,
.ent-home-featured__grid {
	inline-size: calc(100vw - var(--wd-scroll-w, 0px) - 1rem);
	margin-inline: calc((100% - (100vw - var(--wd-scroll-w, 0px) - 1rem)) / 2);
}

.ent-home-hero {
	position: relative;
	min-height: 46.5rem;
	padding-block-end: 7.25rem;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	overflow: hidden;
	border-radius: var(--ent-radius);
	background: var(--ent-color-wash);
	isolation: isolate;
}

.ent-home-hero--text-only {
	grid-template-columns: minmax(0, 44rem);
	align-content: center;
	background: var(--ent-color-navy);
}

.ent-home-hero__copy {
	position: relative;
	z-index: 1;
	inline-size: min(36rem, calc(100% - (var(--ent-space-3) * 2)));
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--ent-space-4);
	margin-block: var(--ent-space-3);
	margin-inline-start: var(--ent-space-3);
	color: rgb(255 255 255 / 82%);
	background: rgb(43 57 103 / 88%);
}

.ent-home-hero--text-only .ent-home-hero__copy {
	margin: 0;
	background: transparent;
}

.ent-home-hero__copy h1 {
	margin: 0 0 var(--ent-space-2);
	color: var(--ent-color-paper);
}

.ent-home-hero__copy > p:not(.ent-home-eyebrow) {
	max-width: 35rem;
	margin-bottom: var(--ent-space-3);
}

.ent-home-hero__assurances {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ent-space-1);
	padding: 0;
	margin: 0 0 var(--ent-space-3);
	list-style: none;
}

.ent-home-hero__assurances li {
	min-width: 0;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.45rem;
	align-items: start;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.35;
	text-transform: uppercase;
}

.ent-home-hero__assurances span,
.ent-home-trust__item > span {
	font-family: var(--ent-font-display);
	font-size: 1.25rem;
	line-height: 1;
}

.ent-home-hero__trust {
	position: absolute;
	z-index: 1;
	bottom: 0;
	inset-inline: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 0.0625rem solid rgb(43 57 103 / 14%);
	background: rgb(255 253 248 / 94%);
	color: var(--ent-color-navy);
}

.ent-home-trust__item {
	min-width: 0;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.65rem;
	align-items: center;
	padding: 1rem clamp(0.75rem, 1.5vw, 1.5rem);
	border-inline-end: 0.0625rem solid rgb(43 57 103 / 14%);
}

.ent-home-trust__item:last-child {
	border-inline-end: 0;
}

.ent-home-trust__item p,
.ent-home-trust__item strong,
.ent-home-trust__item small {
	display: block;
	margin: 0;
}

.ent-home-trust__item strong {
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	line-height: 1.35;
	text-transform: uppercase;
}

.ent-home-trust__item small {
	margin-top: 0.12rem;
	color: var(--ent-color-muted);
	font-size: 0.6875rem;
	line-height: 1.35;
}

.ent-home-eyebrow {
	margin: 0 0 var(--ent-space-1);
	color: var(--ent-color-gold);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ent-home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ent-space-1);
}

.ent-home-button.button {
	border-color: var(--ent-color-paper);
	color: var(--ent-color-navy);
	background: var(--ent-color-paper);
}

.ent-home-button--outline.button {
	color: var(--ent-color-paper);
	background: transparent;
}

/* The intro section sits on a light background, unlike the dark hero. */
.ent-home-intro .ent-home-button.button {
	color: var(--ent-color-paper);
	border-color: var(--ent-color-navy);
	background: var(--ent-color-navy);
}

.ent-home-intro .ent-home-button--outline.button {
	color: var(--ent-color-navy);
	border-color: var(--ent-color-navy);
	background: transparent;
}

.ent-home-story__media {
	min-width: 0;
	display: grid;
	place-items: center;
	background: var(--ent-color-wash);
}

.ent-home-story__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ent-home-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	background: var(--ent-color-wash);
}

.ent-home-hero__media:focus-visible {
	outline-offset: -0.25rem;
}

.ent-home-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 66% 55%;
}

.ent-home-section {
	margin: 0;
}

.ent-home-intro {
	max-inline-size: 58rem;
	margin-inline: auto;
	padding-inline: var(--ent-space-3);
	text-align: center;
}

.ent-home-intro h2 {
	margin: 0 0 var(--ent-space-2);
}

.ent-home-intro > p:not(.ent-home-eyebrow) {
	max-inline-size: 48rem;
	margin: 0 auto var(--ent-space-3);
	color: var(--ent-color-muted);
}

.ent-home-intro__actions {
	justify-content: center;
}

.ent-home-featured {
	min-width: 0;
}

.ent-home-discovery {
	padding-inline: var(--ent-space-2);
}

.ent-home-heading {
	max-width: 52rem;
	margin: 0 auto var(--ent-space-3);
	text-align: center;
}

.ent-home-heading h2,
.ent-home-heading p:last-child {
	margin-bottom: var(--ent-space-1);
}

.ent-home-featured__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ent-space-2);
}

.ent-home-card {
	min-width: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 0.0625rem solid var(--ent-color-line);
	border-radius: var(--ent-radius);
	color: var(--ent-color-ink);
	background: var(--ent-color-paper);
	text-decoration: none;
	transition: transform var(--ent-transition), box-shadow var(--ent-transition);
}

.ent-home-card__media {
	overflow: hidden;
	background: var(--ent-color-wash);
}

.ent-home-card__image {
	width: 100%;
	aspect-ratio: 1 / 1.08;
	object-fit: contain;
	transition: transform 300ms ease;
}

.ent-home-card__body {
	min-width: 0;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: var(--ent-space-2);
	text-align: center;
}

.ent-home-card__body h3 {
	min-block-size: calc(3 * 1.35em);
	display: -webkit-box;
	overflow: hidden;
	margin: 0 0 var(--ent-space-1);
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ent-home-card__body span {
	margin-top: auto;
}

.ent-home-card__body span,
.ent-home-text-link {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-transform: uppercase;
	text-underline-offset: 0.3em;
}

.ent-home-card--text-only {
	min-height: 16rem;
	display: grid;
	place-items: center;
}

.ent-home-story {
	min-height: 34rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: var(--ent-color-wash);
}

.ent-home-story--text-only {
	grid-template-columns: minmax(0, 48rem);
}

.ent-home-story__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--ent-space-5);
}

.ent-home-story__copy h2 {
	margin: 0 0 var(--ent-space-2);
}

.ent-home-story__copy > p:not(.ent-home-eyebrow) {
	color: var(--ent-color-muted);
}

.ent-home-lab {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: var(--ent-space-4);
	align-items: center;
	padding: var(--ent-space-4);
	background: var(--ent-color-wash);
}

.ent-home-lab__copy h2 {
	margin: 0 0 var(--ent-space-2);
}

.ent-home-lab__copy > p:not(.ent-home-eyebrow) {
	margin-bottom: var(--ent-space-3);
	color: var(--ent-color-muted);
}

.ent-home-lab__media {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ent-space-1);
}

.ent-home-lab__card {
	display: block;
	overflow: hidden;
	background: var(--ent-color-paper);
}

.ent-home-lab__image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.12;
	object-fit: contain;
	transition: transform 300ms ease;
}

.ent-home-lab__card:hover .ent-home-lab__image,
.ent-home-lab__card:focus-visible .ent-home-lab__image {
		transform: scale(1.04);
}

.ent-home-text-link {
	align-self: flex-start;
	color: var(--ent-color-navy);
}

.ent-home-products .products {
	--wd-col-lg: 4;
	--wd-col-md: 2;
	--wd-col-sm: 2;
}

.ent-home-fallback {
	margin: 0;
	padding: var(--ent-space-3);
	border: 0.0625rem solid var(--ent-color-line);
	text-align: center;
}

.ent-home-final-cta {
	padding: var(--ent-space-5) var(--ent-space-3);
	color: rgb(255 255 255 / 82%);
	background: var(--ent-color-navy);
	text-align: center;
}

.ent-home-final-cta h2 {
	margin: 0 0 var(--ent-space-2);
	color: var(--ent-color-paper);
}

.ent-home-final-cta > p:not(.ent-home-eyebrow) {
	margin-bottom: var(--ent-space-3);
}

/* WooCommerce catalogue */
.post-type-archive-product .site-content,
.tax-product_cat .site-content {
	padding-block: var(--ent-space-4);
}

/* Categories are source-blank for this review; do not expose WoodMart's zero-count placeholder. */
.post-type-archive-product .wd-nav-product-cat,
.post-type-archive-product :is(.wd-products-per-page, .wd-products-shop-view),
body.post-type-archive-product .wd-page-title .wd-btn-show-cat {
	display: none !important;
}

.shop-loop-head {
	margin-bottom: var(--ent-space-3);
	padding-bottom: var(--ent-space-2);
	border-bottom: 0.0625rem solid var(--ent-color-line);
}

.products.elements-grid {
	row-gap: var(--ent-space-4);
}

.wd-product {
	min-width: 0;
}

.wd-product-wrapper {
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--ent-color-paper);
}

.wd-product-thumb {
	overflow: hidden;
	border-radius: var(--ent-radius);
	background: var(--ent-color-wash);
}

.wd-product-thumb img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.product-element-bottom {
	min-width: 0;
	flex: 1 1 auto;
	padding-top: var(--ent-space-2);
}

.woocommerce-loop-product__title,
.wd-entities-title,
.product_title {
	margin-bottom: var(--ent-space-1);
}

/*
 * Product grids use one stable card model. WoodMart's base hover places the
 * description and loop action in an absolute flyout, which is unsuitable for
 * touch devices and caused the first-hover overlap. The inquiry action is
 * rendered in the normal price row by the plugin, so the flyout can stay off.
 */
:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .wd-product-card-bg,
:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .wd-product-card-hover,
:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .hover-content {
	display: none !important;
}

:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .wd-product-wrapper {
	transform: none !important;
}

:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .product-element-bottom {
	display: flex;
	flex-direction: column;
}

:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) :is(.wd-entities-title, .woocommerce-loop-product__title) {
	min-block-size: calc(3 * 1.35em);
	display: -webkit-box;
	overflow: hidden;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .wd-product-cats {
	display: none;
}

:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .product-rating-price {
	margin-top: auto;
}

:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .wrapp-product-price {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.price {
	color: var(--ent-color-navy);
	font-variant-numeric: tabular-nums;
}

.price:empty {
	display: none;
}

/* Keep fail-closed stock internal without presenting inquiry items as discontinued. */
.product-label.out-of-stock,
.product-labels:has(> .product-label.out-of-stock:only-child),
.single-product .product_meta .posted_in,
.single-product .product-share {
	display: none !important;
}

.product_meta {
	color: var(--ent-color-muted);
	font-size: 0.875rem;
}

.woocommerce-product-gallery {
	min-width: 0;
}

.woocommerce-product-gallery img {
	border-radius: var(--ent-radius);
}

.woocommerce-product-gallery :where(a, button):focus-visible,
.wc-tabs a:focus-visible {
	outline-offset: -0.1875rem;
}

.single-product .summary {
	padding-inline-start: var(--ent-space-3);
}

.woocommerce-tabs,
.related-products {
	margin-top: var(--ent-space-5);
}

.woocommerce-Tabs-panel--additional_information,
.ent-page__content .wp-block-table {
	max-inline-size: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes {
	min-inline-size: 36rem;
	max-inline-size: none;
}

.ent-page__content :where(table, pre, iframe) {
	max-inline-size: 100%;
}

.woocommerce-Tabs-panel,
.ent-page__content {
	overflow-wrap: anywhere;
}

/* Inquiry plugin public integration surface. */
.entai-inquiry-heading.screen-reader-text {
	width: 0.0625rem;
	height: 0.0625rem;
	position: absolute;
	margin: -0.0625rem;
	padding: 0;
	overflow: hidden;
	border: 0;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.entai-inquiry,
.entai-inquiry-items,
.entai-inquiry-form {
	max-width: 64rem;
	margin-inline: auto;
}

.entai-inquiry-items,
.entai-inquiry-form {
	padding: var(--ent-space-3);
	border: 0.0625rem solid var(--ent-color-line);
	background: var(--ent-color-paper);
}

.entai-inquiry-items:empty {
	display: none;
}

.entai-inquiry-list-actions:has(.entai-inquiry-clear[hidden]) {
	display: none;
}

.entai-inquiry-form {
	margin-block-start: var(--ent-space-3);
}

.entai-inquiry-cta,
.entai-inquiry-add {
	width: 100%;
}

.entai-inquiry-cta--single,
.entai-inquiry-cta--loop {
	margin-top: var(--ent-space-2);
}

.entai-inquiry-cta :where(.entai-inquiry-add) {
	margin-top: 0;
}

.entai-inquiry-cta--loop {
	align-items: stretch;
}

.entai-inquiry-item {
	min-width: 0;
	gap: var(--ent-space-2);
	padding-block: var(--ent-space-2);
	border: 0;
	border-bottom: 0.0625rem solid var(--ent-color-line);
}

.entai-inquiry-item > * {
	min-width: 0;
}

.entai-inquiry-item :where(p, strong, span, a) {
	overflow-wrap: anywhere;
}

.entai-inquiry-item__controls {
	min-width: 0;
	flex-wrap: wrap;
}

.entai-inquiry-item__controls button,
.entai-inquiry-remove {
	min-width: 2.75rem;
	min-height: 2.75rem;
}

.entai-inquiry-empty {
	margin: var(--ent-space-2) auto;
	padding: var(--ent-space-2);
	border: 0.0625rem solid var(--ent-color-line);
	background: var(--ent-color-wash);
	text-align: center;
}

.entai-inquiry [hidden] {
	display: none !important;
}

.entai-inquiry-item:last-child {
	border-bottom: 0;
}

.entai-inquiry-form :where(label, input, select, textarea) {
	display: block;
	width: 100%;
}

.entai-inquiry-form label {
	margin-bottom: var(--ent-space-2);
	font-weight: 600;
}

.entai-inquiry-form :where(input, select, textarea) {
	margin-top: 0.4rem;
	border: 0.0625rem solid #cbc7c0;
	background: var(--ent-color-paper);
}

.entai-inquiry-form :where(input, select) {
	min-height: 2.875rem;
}

.entai-inquiry-success,
.entai-inquiry-error {
	margin-block: var(--ent-space-2);
	padding: var(--ent-space-2);
	border-inline-start: 0.25rem solid var(--ent-color-gold);
	background: var(--ent-color-wash);
}

.entai-inquiry-error {
	border-inline-start-color: #a33f3f;
}

/* Contract exclusions: server hooks remove these; selectors are visual backup. */
.wd-header-cart,
.wd-header-my-account,
.wd-header-wishlist,
.wd-header-compare,
.wd-toolbar,
.wd-sticky-btn,
.wd-sidebar-opener,
.scrollToTop,
.wd-add-btn,
.wd-quick-view-icon,
.quick-view,
.wd-quick-view,
.wd-wishlist-btn,
.wd-compare-btn,
.single_add_to_cart_button,
form.cart,
.cart-widget-side,
.woocommerce-ordering,
.wd-filter-buttons,
.filters-area,
.woocommerce-pagination,
nav.woocommerce-pagination {
	display: none !important;
}

body.sticky-toolbar-on {
	padding-bottom: 0 !important;
}

[dir="rtl"] .ent-site-header,
[dir="rtl"] .ent-desktop-nav,
[dir="rtl"] .ent-mobile-nav nav,
[dir="rtl"] .ent-home,
[dir="rtl"] .products,
[dir="rtl"] .single-product,
[dir="rtl"] .entai-inquiry {
	direction: rtl;
}

[dir="rtl"] :where(
	.ent-logo,
	.ent-nav-list,
	.ent-mobile-nav__list,
	.ent-home-hero__copy,
	.ent-home-story__copy,
	.wd-product,
	.product-element-bottom,
	.single-product .summary,
	.entai-inquiry-item,
	.entai-inquiry-form
) {
	text-align: start;
}

[dir="rtl"] .single-product .summary {
	padding-inline: var(--ent-space-3) 0;
}

[dir="rtl"] .entai-inquiry-form :where(input[type="email"], input[type="tel"], input[type="url"]),
[dir="rtl"] .entai-inquiry-item > p span {
	direction: ltr;
	text-align: left;
	unicode-bidi: plaintext;
}

@media (max-width: 80rem) {
	.ent-desktop-nav {
		display: none;
	}

	.ent-mobile-nav {
		display: block;
	}

	.ent-mobile-nav nav {
		inset-inline-start: 0;
		inset-inline-end: auto;
		max-block-size: calc(100dvh - 6rem);
	}

	.ent-header__inner {
		min-height: 4.75rem;
	}

	.ent-site-footer .ent-footer__inner {
		grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(10rem, 1fr));
		gap: var(--ent-space-3);
	}

	.ent-home-hero {
		min-height: 36rem;
	}

	.ent-home-story__copy {
		padding: var(--ent-space-4);
	}

	.container,
	.ent-frame,
	.ent-page__inner {
		width: min(100% - 2rem, var(--ent-content-wide));
	}

	.ent-page__inner {
		padding-block: var(--ent-space-4);
	}

	.single-product .summary {
		padding-inline-start: var(--ent-space-2);
	}
}

@media (max-width: 48rem) {
	.ent-topbar {
		display: none;
	}

	.admin-bar .ent-site-header {
		top: 2.875rem;
	}

	.ent-site-footer .ent-footer__inner {
		grid-template-columns: 1fr;
		padding-block: var(--ent-space-4);
	}

	.ent-home {
		gap: 0;
	}

	.ent-home > * + * {
		margin-block-start: var(--ent-space-4);
	}

	.ent-home-hero + .ent-home-featured {
		margin-block-start: var(--ent-space-2);
	}

	.ent-home-story {
		min-height: 0;
		grid-template-columns: 1fr;
	}

	.ent-home-intro {
		padding-inline: var(--ent-space-2);
	}

	.ent-home-lab {
		grid-template-columns: 1fr;
		gap: var(--ent-space-3);
		padding: var(--ent-space-3);
	}

	.ent-home-hero {
		min-height: clamp(32rem, 125vw, 35rem);
		grid-template-columns: 1fr;
	}

	.ent-home-story__copy {
		padding: var(--ent-space-3);
	}

	.ent-home-hero__copy {
		align-self: center;
		inline-size: min(22rem, calc(100% - (var(--ent-space-1) * 2)));
		margin: var(--ent-space-1);
		padding: var(--ent-space-2);
		background: rgb(43 57 103 / 84%);
	}

	.ent-home-hero__copy > p:not(.ent-home-eyebrow) {
		margin-bottom: var(--ent-space-2);
		font-size: 0.875rem;
		line-height: 1.55;
	}

	.ent-home-story__image {
		height: auto;
		max-height: 32rem;
	}

	.ent-home-featured__grid {
		grid-template-columns: 1fr;
	}

	.ent-home-final-cta {
		padding: var(--ent-space-4) var(--ent-space-2);
	}

	.ent-page--home .ent-page__inner,
	.container,
	.ent-frame,
	.ent-page__inner {
		width: min(100% - 1.25rem, var(--ent-content-wide));
	}

	.ent-page__inner {
		padding-block: var(--ent-space-3);
	}

	.wp-block-cover,
	.ent-hero {
		min-height: 30rem;
	}

	.wp-block-cover__inner-container,
	.ent-hero__content {
		padding: var(--ent-space-3);
	}

	.single-product .summary,
	[dir="rtl"] .single-product .summary {
		padding-inline: 0;
	}

	.entai-inquiry-items,
	.entai-inquiry-form {
		padding: var(--ent-space-2);
	}

	.entai-inquiry-item {
		grid-template-columns: 4rem minmax(0, 1fr);
		align-items: start;
	}

	.entai-inquiry-item__image {
		width: 4rem;
		height: 4rem;
		object-fit: cover;
	}

	.entai-inquiry-item__controls {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: 2.75rem minmax(2ch, auto) 2.75rem minmax(0, 1fr);
		align-items: center;
	}

	.entai-inquiry-remove {
		width: auto;
		justify-self: end;
	}


	.admin-bar .ent-mobile-nav nav {
		max-block-size: calc(100dvh - 8.875rem);
	}
}

@media (max-width: 22.5rem) {
	:is(.post-type-archive-product, .tax-product_cat, .ent-home-products, .single-product .related-products) .products {
		--wd-col-sm: 1;
	}

	.container,
	.ent-frame,
	.ent-page__inner,
	.ent-page--home .ent-page__inner {
		width: min(100% - 1rem, var(--ent-content-wide));
	}
}

@media (hover: hover) and (pointer: fine) {
	.ent-home-card:hover,
	.ent-home-card:focus-visible {
		transform: translateY(-0.25rem);
		box-shadow: 0 1rem 2.5rem rgb(31 37 50 / 10%);
	}

	.ent-home-card:hover .ent-home-card__image,
	.ent-home-card:focus-visible .ent-home-card__image {
		transform: scale(1.018);
	}

	.wd-product:is(:hover, :focus-within) .wd-product-thumb img {
		transform: scale(1.025);
	}
}

@media (min-width: 64.0625rem) and (hover: hover) and (pointer: fine) {
	.wd-product .entai-inquiry-cta--loop {
		opacity: 0;
		transform: translateY(25px);
		transition: opacity 0.3s ease, transform 0.3s ease;
	}

	.wd-product:is(:hover, :focus-within) .entai-inquiry-cta--loop {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.ent-home-card:hover,
	.ent-home-card:hover .ent-home-card__image {
		transform: none;
	}
}

/* Target-aligned release shell: preserve the reference geometry with Entai-owned content. */
@media (min-width: 80.0625rem) {
	.ent-topbar__inner {
		min-height: 3rem;
	}

	.ent-site-header {
		position: sticky;
	}

	.ent-header__inner {
		width: min(100rem, calc(100% - 1rem));
		min-height: 8.75rem;
		grid-template-columns: 13rem minmax(0, 1fr) auto;
		grid-template-rows: 1fr;
		grid-auto-flow: row;
		gap: 1.25rem 1rem;
	}

	.ent-logo {
		align-self: stretch;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		border-inline-end: 0;
		padding-inline-end: 1rem;
		text-align: center;
	}

	.ent-logo__name {
		font-size: 2.1rem;
		font-style: normal;
		letter-spacing: 0.24em;
		line-height: 1;
		text-transform: uppercase;
	}

	.ent-logo__descriptor {
		margin-top: 0.45rem;
		font-family: var(--ent-font-body);
		font-size: 0.58rem;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 0.28em;
		line-height: 1;
		text-transform: uppercase;
	}

	.ent-logo__descriptor::before,
	.ent-logo__descriptor::after {
		color: var(--ent-color-gold);
	}

	.ent-logo__descriptor::before {
		content: "— ";
	}

	.ent-logo__descriptor::after {
		content: " —";
	}

	.ent-desktop-nav {
		justify-self: center;
	}

	/* The adjacent inquiry icon is the desktop entry point; avoid duplicating its long label in the one-line nav. */
	.ent-desktop-nav .ent-nav-list li:last-child {
		display: none;
	}

	.ent-nav-list {
		max-width: none;
		flex-wrap: nowrap;
		justify-content: center;
		gap: 0 clamp(0.45rem, 0.75vw, 1rem);
	}

	.ent-nav-list a {
		min-height: 2.6rem;
		font-family: var(--ent-font-display);
		font-size: 0.9375rem;
		font-weight: 400;
		letter-spacing: 0;
		white-space: nowrap;
		text-transform: uppercase;
	}
}

.ent-header-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}

.ent-header-inquiry {
	width: 2.75rem;
	height: 2.75rem;
	position: relative;
	display: inline-grid;
	place-items: center;
	color: var(--ent-color-ink);
	text-decoration: none;
}

.ent-header-inquiry .wd-tools-icon {
	width: 1.6rem;
	height: 1.6rem;
}

.ent-header-inquiry .wd-tools-icon::before {
	content: "\f105";
	font-family: "woodmart-font";
	font-size: 1.6rem;
	font-weight: 400;
}

.ent-header-inquiry__count {
	min-width: 1.05rem;
	height: 1.05rem;
	position: absolute;
	top: 0.12rem;
	inset-inline-end: 0;
	padding-inline: 0.2rem;
	border-radius: 99rem;
	color: #fff;
	background: var(--ent-color-navy);
	font-family: var(--ent-font-body);
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1.05rem;
	text-align: center;
}

/* The H1 already names the product; keep the breadcrumb as a concise return path. */
.single-product .wd-breadcrumbs > :is(.wd-delimiter, .wd-last) {
	display: none;
}

.woocommerce-shop .wd-page-title {
	background: var(--ent-color-navy);
}

.woocommerce-shop .wd-page-title .entry-title {
	color: var(--ent-color-paper);
}

/* Keep loose-diamond taxonomy archives on the same editorial title surface
 * as the child-owned Lab-Grown Diamonds catalogue page. */
.ent-loose-category-intro,
.ent-gemstones-category-intro {
	background: var(--ent-color-paper);
}

.ent-loose-category-intro .ent-page__inner,
.ent-gemstones-category-intro .ent-page__inner {
	padding-block: var(--ent-space-5) var(--ent-space-3);
}

.ent-loose-category-intro .ent-page__header,
.ent-gemstones-category-intro .ent-page__header {
	margin-bottom: 0;
}

.ent-page--home .ent-page__inner {
	width: min(100% - 1rem, 100rem);
}

.ent-home-hero {
	inline-size: calc(100vw - var(--wd-scroll-w, 0px));
	min-height: clamp(40rem, 52vw, 46rem);
	margin-inline: calc((100% - (100vw - var(--wd-scroll-w, 0px))) / 2);
	border-radius: 0;
}

.ent-home-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(90deg, rgb(255 253 248 / 94%) 0%, rgb(255 253 248 / 76%) 45%, transparent 76%);
}

.ent-home-hero__copy {
	align-self: center;
	inline-size: min(34rem, calc(100% - 4rem));
	margin-block: 2rem;
	margin-inline-start: clamp(4rem, 7vw, 7.5rem);
	padding: 0;
	background: transparent;
	color: var(--ent-color-ink);
	text-align: start;
}

.ent-home-hero__copy h1 {
	font-size: clamp(2.8rem, 3.5vw, 3.75rem);
	font-variant: small-caps;
	letter-spacing: 0.03em;
	line-height: 1.08;
	text-transform: none;
	white-space: nowrap;
}

.ent-home-hero__title-primary,
.ent-home-hero__title-accent {
	display: block;
}

.ent-home-hero__title-primary {
	color: var(--ent-color-navy);
}

.ent-home-hero__title-accent {
	margin-block-start: 0.2em;
	color: var(--ent-color-gold);
}

.ent-home-hero__copy > p:not(.ent-home-eyebrow) {
	margin-inline: auto;
	font-family: var(--ent-font-display);
	font-size: 1.15rem;
	line-height: 1.55;
}

.ent-home-hero__assurances {
	max-width: 31rem;
	margin-inline: 0;
}

.ent-home-hero__assurances li {
	padding-inline-end: 0.75rem;
	border-inline-end: 0.0625rem solid rgb(43 57 103 / 20%);
	color: var(--ent-color-navy);
}

.ent-home-hero__assurances li:last-child {
	border-inline-end: 0;
}

.ent-home-hero__assurances span {
	color: var(--ent-color-gold);
}

.ent-home-eyebrow {
	color: var(--ent-color-gold);
	font-family: var(--ent-font-display);
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.ent-home-hero__copy > .ent-home-eyebrow {
	font-size: 0.9rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ent-home-hero__copy > .ent-home-eyebrow::after {
	content: "—  ◇  —";
	display: block;
	margin-block-start: 0.75rem;
	color: var(--ent-color-gold);
	letter-spacing: 0.12em;
}

.ent-page--not-found .ent-home-eyebrow {
	color: var(--ent-color-navy);
}

.ent-home-actions {
	justify-content: center;
	gap: 0.9rem;
}

.ent-home-hero__copy .ent-home-actions {
	justify-content: flex-start;
}

.ent-interactions-ready .ent-home-hero__copy > .ent-home-eyebrow,
.ent-interactions-ready .ent-home-hero__copy > h1,
.ent-interactions-ready .ent-home-hero__copy > p:not(.ent-home-eyebrow),
.ent-interactions-ready .ent-home-hero__copy > .ent-home-actions {
	animation:
		ent-hero-rise 0.6s cubic-bezier(0, 0.87, 0.58, 1) var(--ent-hero-delay) both,
		ent-hero-fade 0.25s ease var(--ent-hero-delay) both;
}

.ent-interactions-ready .ent-home-hero__copy > .ent-home-eyebrow {
	--ent-hero-delay: 0.15s;
}

.ent-interactions-ready .ent-home-hero__copy > h1 {
	--ent-hero-delay: 0.3s;
}

.ent-interactions-ready .ent-home-hero__copy > p:not(.ent-home-eyebrow) {
	--ent-hero-delay: 0.45s;
}

.ent-interactions-ready .ent-home-hero__copy > .ent-home-actions {
	--ent-hero-delay: 0.6s;
}

.ent-home-button.button {
	min-width: 8.75rem;
	min-height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-color: var(--ent-color-navy);
	color: var(--ent-color-paper);
	background: var(--ent-color-navy);
}

.ent-home-button--outline.button {
	color: var(--ent-color-navy);
	background: rgb(255 253 248 / 68%);
}

.ent-home-hero__copy .ent-home-button.button {
	min-width: 15.5rem;
}

.ent-home-hero__copy .ent-home-button--outline.button {
	min-width: 14rem;
}

.ent-home-hero__trust {
	min-height: 7.25rem;
}

.ent-home-trust__item {
	padding-block: 1.5rem;
}

.ent-home-trust__item > span {
	color: var(--ent-color-gold);
	font-size: 2rem;
}

.ent-topbar p::before,
.ent-topbar p::after {
	color: var(--ent-color-gold);
}

.ent-topbar p::before {
	content: "✦  ";
}

.ent-topbar p::after {
	content: "  ✦";
}

.ent-home-featured__grid {
	gap: 1.25rem;
}

.ent-home-card {
	border: 0;
	border-radius: 0.5rem;
	box-shadow: none;
}

.ent-home-card__image {
	aspect-ratio: 1 / 1.08;
	object-fit: cover;
}

.ent-home-story {
	min-height: 38rem;
}

.ent-home-story__image {
	object-fit: cover;
}

@media (max-width: 80rem) {
	.ent-header__inner {
		min-height: 4.1rem;
		grid-template-columns: 120px minmax(0, 1fr) 120px;
		grid-auto-flow: row;
		gap: 4px;
	}

	.ent-mobile-nav {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.ent-mobile-nav summary {
		min-width: 44px;
		width: 44px;
		min-height: 44px;
		position: relative;
		z-index: 1202;
		justify-content: center;
		border: 0;
		padding: 0;
	}

	.ent-mobile-nav__list a {
		min-height: 44px;
	}

	.ent-mobile-nav summary span {
		position: absolute;
		width: 0.0625rem;
		height: 0.0625rem;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.ent-mobile-nav summary::before,
	.ent-mobile-nav summary::after {
		content: "";
		width: 1.25rem;
		height: 0.0625rem;
		position: absolute;
		background: currentColor;
		transition: transform var(--ent-transition);
	}

	.ent-mobile-nav summary::before {
		transform: translateY(-0.28rem);
	}

	.ent-mobile-nav summary::after {
		transform: translateY(0.28rem);
	}

	.ent-mobile-nav.is-open summary::before {
		transform: rotate(45deg);
	}

	.ent-mobile-nav.is-open summary::after {
		content: "";
		transform: rotate(-45deg);
	}

	/* Isolate the full-viewport close target from WoodMart button states. */
	.ent-mobile-nav__backdrop {
		min-width: 0;
		min-height: 0;
		display: block;
		position: fixed;
		inset: 0;
		z-index: 1200;
		margin: 0;
		border: 0;
		border-radius: 0;
		padding: 0;
		appearance: none;
		color: transparent;
		background: rgb(18 24 38 / 42%);
		box-shadow: none;
		transform: none;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	}

	.ent-mobile-nav__backdrop:is(:hover, :active, :focus, :focus-visible) {
		border: 0;
		border-radius: 0;
		color: transparent;
		background: rgb(18 24 38 / 42%);
		box-shadow: none;
		transform: none;
	}

	.ent-mobile-nav.is-open .ent-mobile-nav__backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.ent-mobile-nav nav {
		position: fixed;
		top: 0;
		bottom: 0;
		inset-inline-start: 0;
		inset-inline-end: auto;
		z-index: 1201;
		width: min(300px, 85vw);
		height: 100dvh;
		max-block-size: none;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 5.25rem 1.25rem 1.5rem;
		border: 0;
		box-shadow: 1.25rem 0 2.5rem rgb(31 37 50 / 14%);
		transform: translateX(-100%);
		transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	}

	.ent-mobile-nav.is-open nav {
		transform: none;
	}

	.ent-logo {
		grid-column: 2;
		grid-row: 1;
		justify-self: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		font-size: 1.15rem;
		text-align: center;
	}

	.ent-logo__name {
		font-style: italic;
		font-size: 1.5rem;
		line-height: 0.85;
		text-transform: none;
	}

	.ent-logo__descriptor {
		margin-top: 0.25rem;
		font-family: var(--ent-font-body);
		font-size: 0.42rem;
		font-weight: 700;
		letter-spacing: 0.25em;
		line-height: 1;
		text-transform: uppercase;
	}

	.ent-header-tools {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		min-width: 120px;
		gap: 4px;
	}

	.ent-language-switcher--header,
	.ent-language-switcher--header .gtranslate_wrapper,
	.ent-language-switcher--header select {
		min-inline-size: 72px;
		inline-size: 72px;
		max-inline-size: 72px;
		min-block-size: 44px;
		block-size: 44px;
		flex: 0 0 72px;
	}

	.ent-language-switcher--header select {
		padding-inline: 0.2rem;
	}

	.ent-header-inquiry {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		flex: 0 0 44px;
	}
}

html.ent-mobile-nav-open,
html.ent-mobile-nav-open body {
	overflow: hidden;
}

[dir="rtl"] .ent-mobile-nav nav {
	box-shadow: -1.25rem 0 2.5rem rgb(31 37 50 / 14%);
	transform: translateX(100%);
}

[dir="rtl"] .ent-mobile-nav.is-open nav {
	transform: none;
}


@media (max-width: 48rem) {
	body.home .wd-content-layout.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: 0;
	}

	.ent-page--home .ent-page__inner {
		width: 100%;
		padding-top: 0;
	}

	.ent-home-hero,
	.ent-home-featured__grid {
		inline-size: 100%;
		margin-inline: 0;
	}

	.ent-home-hero {
		min-height: clamp(38rem, 170vw, 42rem);
		padding-block-end: 12.5rem;
		border-radius: 0 0 0.5rem 0.5rem;
	}

	.ent-home-hero::after {
		background: linear-gradient(180deg, rgb(16 26 47 / 15%) 0%, rgb(16 26 47 / 55%) 100%);
	}

	.ent-home-hero__copy {
		align-self: end;
		inline-size: min(22rem, calc(100% - 2.5rem));
		margin: 0 auto 2rem;
		padding: 0;
		background: transparent;
		text-align: center;
	}

	.ent-home-hero__copy h1 {
		font-size: clamp(2rem, 9vw, 2.5rem);
		white-space: normal;
	}

	.ent-home-hero__title-primary {
		color: var(--ent-color-paper);
		text-shadow: 0 0.0625rem 0.5rem rgb(15 23 42 / 45%);
	}

	.ent-home-hero__title-accent {
		color: #f1d4a7;
		text-shadow: 0 0.0625rem 0.5rem rgb(15 23 42 / 45%);
	}

	.ent-home-hero__assurances {
		grid-template-columns: 1fr;
		gap: 0.45rem;
		margin-bottom: var(--ent-space-2);
	}

	.ent-home-hero__assurances li {
		justify-content: center;
		border-inline-end: 0;
		color: var(--ent-color-paper);
		text-shadow: 0 0.0625rem 0.35rem rgb(15 23 42 / 55%);
	}

	.ent-home-hero__copy .ent-home-actions {
		justify-content: center;
	}

	.ent-home-hero__copy > .ent-home-eyebrow {
		color: #f1d4a7;
		text-shadow: 0 0.0625rem 0.35rem rgb(15 23 42 / 55%);
	}

	.ent-home-hero__trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ent-home-trust__item {
		gap: 0.4rem;
		padding: 0.7rem;
		border-block-end: 0.0625rem solid rgb(43 57 103 / 14%);
	}

	.ent-home-trust__item:nth-child(2n) {
		border-inline-end: 0;
	}

	.ent-home-trust__item:nth-last-child(-n + 2) {
		border-block-end: 0;
	}

	.ent-home-trust__item > span {
		font-size: 1rem;
	}

	.ent-home-trust__item strong,
	.ent-home-trust__item small {
		font-size: 0.6rem;
	}

	.ent-home-hero__copy > p:not(.ent-home-eyebrow) {
		font-size: 1rem;
	}

	.ent-home-hero__image {
			object-position: 66% 45%;
	}

	.ent-home-eyebrow {
		font-size: 1rem;
	}

	.ent-home-story,
	.ent-home-products,
	.ent-home-final-cta {
		margin-inline: 0.625rem;
	}

	.ent-home-story {
		min-height: 0;
	}

	.ent-home-card__image {
		aspect-ratio: 1 / 1.18;
	}
}

[dir="rtl"] .ent-home-hero::after {
	background: linear-gradient(270deg, rgb(255 253 248 / 94%) 0%, rgb(255 253 248 / 76%) 45%, transparent 76%);
}

@media (max-width: 48rem) {
	[dir="rtl"] .ent-home-hero::after {
		background: linear-gradient(180deg, rgb(16 26 47 / 15%) 0%, rgb(16 26 47 / 55%) 100%);
	}
}

@media (max-width: 64rem) {
	.ent-about-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ent-about-gallery__item--half,
	.ent-about-gallery__item--third,
	.ent-about-gallery__item:nth-child(7) {
		grid-column: span 1;
	}

	.ent-about-gallery__item:nth-child(7) {
		aspect-ratio: 4 / 5;
	}

	.ent-custom-steps {
		grid-template-columns: 1fr;
	}

	.ent-contact-layout {
		grid-template-columns: 1fr;
		gap: var(--ent-space-4);
	}

	.ent-contact-panel {
		max-width: 42rem;
		margin-inline: auto;
		width: 100%;
	}
}

@media (max-width: 48rem) {
	.ent-custom-banner,
	.ent-about-hero,
	.ent-about-workshop,
	.ent-custom-intro,
	.ent-page-cta,
	.ent-faq-contact {
		padding-inline: var(--ent-space-2);
	}

	.ent-custom-banner {
		min-height: 31rem;
		align-items: flex-end;
		padding-block-end: 5rem;
		background-position: 58% center;
	}

	.ent-custom-banner h1 {
		max-width: 13rem;
		font-size: clamp(2rem, 10vw, 2.75rem);
	}

	.ent-custom-content {
		width: min(var(--ent-content-wide), calc(100% - 1.25rem));
	}

	.ent-about-gallery {
		grid-template-columns: 1fr;
	}

	.ent-about-gallery__item--wide,
	.ent-about-gallery__item--half,
	.ent-about-gallery__item--third {
		grid-column: 1;
		aspect-ratio: 4 / 5;
	}

	.ent-custom-steps,
	.ent-contact-form__grid {
		grid-template-columns: 1fr;
	}

	.ent-custom-overview,
	.ent-stage-card {
		grid-template-columns: 1fr;
	}

	.ent-custom-overview {
		gap: var(--ent-space-3);
	}

	.ent-custom-overview__content,
	.ent-stage-card__content {
		padding: var(--ent-space-3);
	}

	.ent-stage-card:nth-child(odd) .ent-stage-card__media {
		order: 0;
	}

	.ent-faq-item__answer {
		padding-inline-end: 0;
	}

	.ent-home-contact-dialog {
		padding: 0.625rem;
	}

	.ent-home-contact-dialog__panel {
		max-height: calc(100vh - 1.25rem);
		max-block-size: calc(100dvh - 1.25rem);
	}

	.ent-home-contact-dialog .ent-contact-card {
		padding-inline: var(--ent-space-2);
	}

	.ent-contact-card__links a {
		flex-direction: column;
		gap: 0.25rem;
	}

	.ent-contact-card__links a span:last-child {
		text-align: start;
	}
}

/* Lab-grown and natural diamond comparison guide. */
.ent-page--comparison .ent-page__inner {
	display: grid;
	gap: var(--ent-space-5);
}

.ent-comparison-hero {
	padding: clamp(3rem, 8vw, 7rem) clamp(1.5rem, 8vw, 8rem);
	color: var(--ent-color-paper);
	background:
		radial-gradient(circle at 76% 22%, rgb(255 255 255 / 18%) 0 0.35rem, transparent 0.4rem),
		linear-gradient(135deg, #182443, var(--ent-color-navy));
	text-align: center;
}

.ent-comparison-hero h1 {
	max-width: 52rem;
	margin: 0 auto;
	color: inherit;
	font-size: clamp(2.5rem, 6vw, 5.5rem);
	line-height: 1.02;
}

.ent-comparison-hero > p {
	max-width: 46rem;
	margin-inline: auto;
}

.ent-comparison-hero__lead {
	font-family: var(--ent-font-display);
	font-size: clamp(1.2rem, 2vw, 1.65rem);
}

.ent-comparison-hero .ent-home-button--outline.button {
	border-color: rgb(255 255 255 / 72%);
	color: var(--ent-color-paper);
}

.ent-comparison-section {
	display: grid;
	gap: var(--ent-space-4);
}

.ent-comparison-heading {
	max-width: 48rem;
	margin-inline: auto;
	text-align: center;
}

.ent-comparison-heading .ent-home-eyebrow,
.ent-comparison-report .ent-home-eyebrow {
	color: var(--ent-color-gold);
}

.ent-comparison-heading h2,
.ent-comparison-report h2 {
	margin-bottom: 0;
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.ent-comparison-origin {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ent-space-3);
}

.ent-comparison-origin__card {
	min-width: 0;
	padding: var(--ent-space-3);
	border: 0.0625rem solid var(--ent-color-line);
	background: var(--ent-color-paper);
}

.ent-comparison-origin__card h3,
.ent-comparison-methods__grid h3 {
	margin-block: 0.35rem 0.75rem;
	font-size: clamp(1.5rem, 2.5vw, 2.25rem);
}

.ent-comparison-origin__media {
	display: grid;
	place-items: center;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--ent-color-soft);
}

.ent-comparison-origin__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ent-comparison-kicker {
	margin: var(--ent-space-2) 0 0;
	color: var(--ent-color-gold);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ent-comparison-methods {
	padding: clamp(2rem, 5vw, 4rem);
	color: var(--ent-color-paper);
	background: var(--ent-color-navy);
}

.ent-comparison-methods .ent-home-eyebrow,
.ent-comparison-methods h2,
.ent-comparison-methods h3 {
	color: inherit;
}

.ent-comparison-methods__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ent-space-3);
}

.ent-comparison-methods__grid article {
	min-width: 0;
	padding: var(--ent-space-3);
	border: 0.0625rem solid rgb(255 255 255 / 20%);
}

.ent-comparison-methods__grid article > span {
	color: var(--ent-color-gold);
	font-family: var(--ent-font-display);
	font-size: 2rem;
}

.ent-comparison-methods__media {
	width: min(100%, 80rem);
	margin: 0 auto;
}

.ent-comparison-methods__media video {
	display: block;
	width: 100%;
	max-inline-size: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	background: #10182e;
}

.ent-comparison-methods__media figcaption {
	margin-block-start: 0.75rem;
	color: rgb(255 255 255 / 78%);
	font-size: 0.875rem;
}

.ent-comparison-table-wrap {
	max-inline-size: 100%;
	overflow-x: auto;
	border: 0.0625rem solid var(--ent-color-line);
}

.ent-comparison-table {
	width: 100%;
	min-width: 48rem;
	margin: 0;
	border-collapse: collapse;
}

.ent-comparison-table :is(th, td) {
	padding: 1rem;
	border: 0;
	border-block-end: 0.0625rem solid var(--ent-color-line);
	text-align: start;
	vertical-align: top;
}

.ent-comparison-table thead th {
	color: var(--ent-color-paper);
	background: var(--ent-color-navy);
}

.ent-comparison-table tbody th {
	width: 22%;
	color: var(--ent-color-navy);
	background: var(--ent-color-soft);
}

.ent-comparison-report {
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	padding: clamp(2rem, 5vw, 4rem);
	background: var(--ent-color-soft);
}

.ent-comparison-report__media {
	width: min(100%, 34rem);
	min-width: 0;
	margin: 0 auto;
}

.ent-comparison-report__media img {
	display: block;
	width: 100%;
	max-inline-size: 100%;
	height: auto;
	object-fit: contain;
}

.ent-comparison-report__content {
	min-width: 0;
}

@media (max-width: 48rem) {
	.ent-page--comparison .ent-page__inner {
		width: min(100% - 1.25rem, var(--ent-content-wide));
	}

	.ent-comparison-hero {
		padding-inline: var(--ent-space-2);
	}

	.ent-comparison-origin,
	.ent-comparison-methods__grid,
	.ent-comparison-report {
		grid-template-columns: 1fr;
	}

}

/* Diamonds 4Cs education guide. */
.ent-page--four-cs .ent-page__inner {
	width: 100%;
	padding-block: 0 var(--ent-space-5);
}

.ent-four-cs {
	display: grid;
	gap: clamp(4rem, 7vw, 6.5rem);
	min-width: 0;
}

.ent-four-cs__hero {
	position: relative;
	width: calc(100vw - var(--wd-scroll-w, 0px) - 1rem);
	min-height: 21.875rem;
	display: flex;
	align-items: center;
	overflow: hidden;
	margin-inline: calc((100% - (100vw - var(--wd-scroll-w, 0px) - 1rem)) / 2);
}

.ent-four-cs__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(255 255 255 / 97%) 0%, rgb(255 255 255 / 78%) 40%, rgb(255 255 255 / 8%) 72%);
}

.ent-four-cs__hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 49%;
}

.ent-four-cs__hero-copy {
	position: relative;
	z-index: 1;
	max-width: 37rem;
	padding: clamp(2rem, 5vw, 4rem);
}

.ent-four-cs__hero-copy h1 {
	margin: 0 0 var(--ent-space-2);
	font-size: clamp(2.75rem, 3.8vw, 3.5rem);
	line-height: 1.06;
}

.ent-four-cs__hero-copy p {
	max-width: 34rem;
	margin: 0;
	font-family: var(--ent-font-display);
	font-size: clamp(1rem, 1.15vw, 1.15rem);
	line-height: 1.5;
}

.ent-four-cs__expertise {
	max-width: 73rem;
	margin: 0 auto;
	font-family: var(--ent-font-display);
	font-size: 1rem;
	font-style: italic;
	line-height: 1.6;
}

.ent-four-cs__split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: center;
	min-width: 0;
}

.ent-four-cs__copy,
.ent-four-cs__visual,
.ent-four-cs__carousel {
	min-width: 0;
}

.ent-four-cs__copy h2 {
	margin: 0 0 var(--ent-space-2);
	font-size: clamp(2rem, 3vw, 3rem);
}

.ent-four-cs__copy p {
	margin: 0;
	font-family: var(--ent-font-display);
	font-size: clamp(0.98rem, 1.05vw, 1.08rem);
	line-height: 1.55;
}

.ent-four-cs__copy p + p,
.ent-four-cs__copy p + ul {
	margin-top: var(--ent-space-1);
}

.ent-four-cs__copy ul {
	margin-bottom: 0;
	padding-inline-start: 1.15rem;
	font-family: var(--ent-font-display);
	font-size: clamp(0.95rem, 1vw, 1.05rem);
	line-height: 1.55;
}

.ent-four-cs__copy li + li {
	margin-top: 0.55rem;
}

.ent-four-cs__visual {
	margin: 0;
}

.ent-four-cs__visual img,
.ent-four-cs__grade-card img {
	display: block;
	width: 100%;
	max-inline-size: 100%;
	height: auto;
	object-fit: contain;
}

.ent-four-cs__grade-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0 clamp(1rem, 4vw, 2rem);
	text-align: center;
}

.ent-four-cs__grade-card img {
	width: auto;
	max-width: min(100%, 18rem);
	max-height: 12rem;
	margin: 0 auto var(--ent-space-1);
}

.ent-four-cs__grade-card h3 {
	margin-block: 0 0.5rem;
	font-size: clamp(1.2rem, 1.5vw, 1.5rem);
}

.ent-four-cs__grade-card p {
	max-width: 38rem;
	margin: 0;
	color: var(--ent-color-muted);
	font-family: var(--ent-font-display);
	font-size: clamp(0.92rem, 1vw, 1.02rem);
	line-height: 1.55;
}

.ent-four-cs__carousel {
	position: relative;
	padding-block: 1rem 2.25rem;
}

.ent-four-cs__carousel-viewport {
	overflow: hidden;
}

.ent-four-cs__carousel-track {
	display: flex;
	transform: translate3d(calc(var(--ent-four-cs-index, 0) * -100%), 0, 0);
	transition: transform 420ms ease;
}

.ent-four-cs__grade-card {
	flex: 0 0 100%;
}

.ent-four-cs__carousel-arrow {
	position: absolute;
	top: 45%;
	z-index: 1;
	width: 2.75rem;
	height: 2.75rem;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: var(--ent-color-ink);
	background: rgb(255 255 255 / 88%);
	box-shadow: 0 0.2rem 1rem rgb(21 31 55 / 12%);
	font-family: var(--ent-font-display);
	font-size: 2rem;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
	opacity: 0;
	transition: opacity var(--ent-transition);
}

.ent-four-cs__carousel:hover .ent-four-cs__carousel-arrow,
.ent-four-cs__carousel:focus-within .ent-four-cs__carousel-arrow {
	opacity: 1;
}

.ent-four-cs__carousel-arrow--previous {
	inset-inline-start: 0;
}

.ent-four-cs__carousel-arrow--next {
	inset-inline-end: 0;
}

.ent-four-cs__carousel-arrow:disabled {
	cursor: default;
	opacity: 0 !important;
}

.ent-four-cs__carousel-dots {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	gap: 0.65rem;
}

.ent-four-cs__carousel-dots button {
	width: 0.5rem;
	height: 0.5rem;
	min-width: 0;
	min-height: 0;
	padding: 0;
	border: 0.0625rem solid var(--ent-color-muted);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.ent-four-cs__carousel-dots button[aria-current="true"] {
	border-color: var(--ent-color-ink);
	background: var(--ent-color-ink);
}

.ent-four-cs__visual--carat img {
	max-height: 24rem;
}

@media (max-width: 64rem) {
	.ent-four-cs__split {
		gap: var(--ent-space-3);
	}
}

@media (max-width: 48rem) {
	.ent-page--four-cs .ent-page__inner {
		width: 100%;
	}

	.ent-four-cs {
		gap: var(--ent-space-4);
	}

	.ent-four-cs__hero {
		min-height: 28rem;
		align-items: end;
		margin-inline: -0.625rem;
	}

	.ent-four-cs__hero::after {
		background: linear-gradient(0deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 82%) 43%, rgb(255 255 255 / 8%) 78%);
	}

	.ent-four-cs__hero-image {
		object-position: 62% center;
	}

	.ent-four-cs__hero-copy {
		padding: var(--ent-space-3) var(--ent-space-2);
	}

	.ent-four-cs__hero-copy h1 {
		font-size: clamp(2.5rem, 12vw, 3.5rem);
	}

	.ent-four-cs__expertise {
		padding-inline: 0.25rem;
	}

	.ent-four-cs__split {
		grid-template-columns: 1fr;
		gap: var(--ent-space-2);
	}

	.ent-four-cs__split--reverse .ent-four-cs__carousel {
		order: 2;
	}

	.ent-four-cs__split--reverse .ent-four-cs__copy {
		order: 1;
	}

	.ent-four-cs__copy h2 {
		font-size: clamp(2rem, 10vw, 2.75rem);
	}

	.ent-four-cs__carousel {
		padding-block-start: var(--ent-space-2);
	}

	.ent-four-cs__carousel-arrow {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ent-four-cs__carousel-track {
		transition: none !important;
	}
}

/* Lab-grown and ring-size education reference parity. */
.ent-page--lab-reference,
.ent-page--ring-reference {
	--ent-education-display: "Entai Marcellus SC", "Marcellus SC", serif;
	--ent-education-body: "Entai Lora", Lora, Georgia, serif;
	--ent-education-viewport: calc(100vw - var(--wd-scroll-w, 0px));
	--ent-education-width: min(1192px, calc(var(--ent-education-viewport) - 30px));
	width: var(--ent-education-width);
	max-width: none;
	margin-block-start: -40px;
	margin-inline: calc((100% - var(--ent-education-width)) / 2);
	color: #000;
	font-family: var(--ent-education-body);
}

/* The native Entai header is taller than the source layout's header. Keep the
 * Ring title out of its stacking area while preserving the Lab hero edge. */
.ent-page--ring-reference {
	margin-block-start: 0;
}

.ent-page--lab-reference .ent-page__inner,
.ent-page--ring-reference .ent-page__inner {
	width: 100%;
	max-width: none;
	padding-block: 0 96px;
}

.ent-lab-guide,
.ent-ring-guide,
.ent-lab-guide *,
.ent-ring-guide * {
	box-sizing: border-box;
}

.ent-lab-guide,
.ent-ring-guide {
	min-width: 0;
	font-family: var(--ent-education-body);
}

.ent-lab-guide :is(h1, h2, h3),
.ent-ring-guide :is(h1, h2, h3) {
	color: #202020;
	font-family: var(--ent-education-display);
	font-weight: 400;
	letter-spacing: 0;
}

.ent-lab-guide__hero {
	position: relative;
	width: calc(var(--ent-education-viewport) - 15px);
	display: flex;
	align-items: center;
	min-height: 350px;
	overflow: hidden;
	margin-inline: calc((100% - (var(--ent-education-viewport) - 15px)) / 2);
	background: #f8f7f5;
}

.ent-lab-guide__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(255 255 255 / 3%) 0%, rgb(255 255 255 / 18%) 48%, rgb(255 255 255 / 52%) 100%);
}

.ent-lab-guide__hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ent-lab-guide__hero-copy {
	position: relative;
	z-index: 1;
	width: 50%;
	margin-inline-start: 50%;
	padding: 1.5rem 4rem 1.5rem 0.8rem;
	text-align: center;
}

.ent-lab-guide__hero-copy h1 {
	margin: 0 0 10px;
	font-size: 39px;
	line-height: 1.3;
}

.ent-lab-guide__hero-copy p,
.ent-lab-guide__expertise,
.ent-lab-guide__copy :is(p, ul, ol),
.ent-lab-guide__comparison > p,
.ent-lab-guide__table,
.ent-lab-guide__faq-item,
.ent-ring-guide {
	font-size: 15px;
	line-height: 24px;
}

.ent-lab-guide__hero-copy p {
	max-width: 38rem;
	margin: 0 auto;
}

.ent-lab-guide__expertise {
	max-width: 1160px;
	margin: 42px auto 0;
	color: #767676;
	font-style: italic;
	text-align: center;
}

.ent-lab-guide__split {
	display: grid;
	grid-template-columns: 50% 50%;
	align-items: center;
	margin-top: 100px;
}

.ent-lab-guide__copy,
.ent-lab-guide__media {
	min-width: 0;
}

.ent-lab-guide__split[aria-labelledby="ent-lab-guide-what-is"] .ent-lab-guide__copy,
.ent-lab-guide__split[aria-labelledby="ent-lab-guide-real"] .ent-lab-guide__copy,
.ent-lab-guide__split--certification .ent-lab-guide__copy {
	padding-inline-start: 55px;
}

.ent-lab-guide__split--types .ent-lab-guide__copy,
.ent-lab-guide__split--benefits .ent-lab-guide__copy {
	padding-inline-end: 55px;
}

.ent-lab-guide__copy h2,
.ent-lab-guide__comparison h2 {
	margin: 0 0 10px;
	font-size: 28px;
	line-height: 39.2px;
}

.ent-lab-guide__copy h2 + p,
.ent-lab-guide__copy p + p,
.ent-lab-guide__copy :is(ul, ol) + p,
.ent-lab-guide__copy p + :is(ul, ol),
.ent-lab-guide__copy h2:not(:first-child) {
	margin-top: 16px;
}

.ent-lab-guide__copy :is(p, ul, ol) {
	margin-bottom: 0;
}

.ent-lab-guide__copy :is(ul, ol) {
	padding-inline-start: 18px;
}

.ent-lab-guide__copy li + li {
	margin-top: 10px;
}

.ent-lab-guide__media {
	margin: 0;
}

.ent-lab-guide__media :is(img, video) {
	display: block;
	width: 100%;
	max-inline-size: 100%;
	height: auto;
}

.ent-lab-guide__media img {
	object-fit: cover;
}

.ent-lab-guide__media--square img {
	aspect-ratio: 1;
	border-radius: 10px;
}

.ent-lab-guide__media--portrait img {
	width: min(84%, 501px);
	margin-inline: auto;
	border-radius: 10px;
}

.ent-lab-guide__media--video video {
	aspect-ratio: 16 / 9;
	background: #000;
	object-fit: contain;
}

.ent-lab-guide__comparison {
	margin-top: 100px;
	text-align: center;
}

.ent-lab-guide__comparison > p {
	margin: 0 0 12px;
}

.ent-lab-guide__table-wrap,
.ent-ring-guide__table-wrap {
	max-inline-size: 100%;
	overflow: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.ent-lab-guide__table,
.ent-ring-guide__table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	color: #202020;
}

.ent-lab-guide__table :is(th, td),
.ent-ring-guide__table :is(th, td) {
	border: 0;
	border-block-end: 1px solid #e7e7e7;
}

.ent-lab-guide__table thead th {
	padding: 8px 12px 16px;
	font-family: var(--ent-education-display);
	font-size: 15px;
	font-weight: 400;
	line-height: 20px;
	text-align: center;
}

.ent-lab-guide__table thead th:first-child,
.ent-lab-guide__table tbody th {
	width: 10.5%;
}

.ent-lab-guide__table tbody th {
	padding: 15px 12px;
	font-weight: 600;
	text-align: start;
	vertical-align: middle;
}

.ent-lab-guide__table td {
	width: 44.75%;
	padding: 15px 12px;
	text-align: start;
	vertical-align: middle;
}

.ent-lab-guide__split--benefits,
.ent-lab-guide__split--certification {
	align-items: start;
}

.ent-lab-guide__faq {
	margin-top: 100px;
}

.ent-lab-guide__faq > h2 {
	margin: 0;
	font-size: 39px;
	line-height: 1.3;
	text-align: center;
}

.ent-lab-guide__faq-list {
	margin-top: 16px;
	border-top: 1px solid #e7e7e7;
}

.ent-lab-guide__faq-item {
	border-bottom: 1px solid #e7e7e7;
}

.ent-lab-guide__faq-item summary {
	display: flex;
	align-items: center;
	min-height: 58px;
	padding: 12px 22px;
	color: #202532;
	cursor: pointer;
	list-style: none;
	text-align: start;
}

.ent-lab-guide__faq-item summary::-webkit-details-marker {
	display: none;
}

.ent-lab-guide__faq-item summary::before {
	content: "⌄";
	flex: 0 0 auto;
	width: 22px;
	margin-inline-start: -22px;
	color: #b6b6b6;
	font-size: 16px;
	transform: rotate(-90deg);
}

.ent-lab-guide__faq-item[open] summary::before {
	transform: none;
}

.ent-lab-guide__faq-item summary:focus-visible,
.ent-lab-guide__table-wrap:focus-visible,
.ent-ring-guide__table-wrap:focus-visible {
	outline: 2px solid var(--ent-color-gold);
	outline-offset: 3px;
}

.ent-lab-guide__faq-item > div {
	padding: 0 0 18px;
	color: #767676;
	text-align: start;
}

.ent-ring-guide__hero {
	max-width: 1220px;
	margin: 0 auto;
	padding-top: 0;
	text-align: center;
}

.ent-ring-guide__hero h1 {
	margin: 0 0 104px;
	font-size: 53px;
	line-height: 1.3;
}

.ent-ring-guide__hero h2 {
	margin: 0 0 12px;
	font-size: 24px;
	line-height: 1.3;
}

.ent-ring-guide__hero p {
	max-width: 1180px;
	margin: 0 auto 18px;
}

.ent-ring-guide__table thead th {
	padding: 0 10px 16px;
	font-family: var(--ent-education-display);
	font-size: 15px;
	font-weight: 400;
	line-height: 21px;
	text-align: start;
	vertical-align: bottom;
}

.ent-ring-guide__table thead th span {
	display: block;
}

.ent-ring-guide__table thead th:nth-child(1) { width: 6%; }
.ent-ring-guide__table thead th:nth-child(2) { width: 6%; }
.ent-ring-guide__table thead th:nth-child(3) { width: 10.2%; }
.ent-ring-guide__table thead th:nth-child(4) { width: 20.6%; }
.ent-ring-guide__table thead th:nth-child(5) { width: 5.6%; }
.ent-ring-guide__table thead th:nth-child(6) { width: 14.2%; }
.ent-ring-guide__table thead th:nth-child(7) { width: 19.9%; }
.ent-ring-guide__table thead th:nth-child(8) { width: 17.5%; }

.ent-ring-guide__table td {
	padding: 14px 10px;
	font-size: 15px;
	line-height: 24px;
	text-align: start;
	vertical-align: middle;
}

.ent-ring-guide__methods {
	margin-top: 100px;
}

.ent-ring-guide__methods > h2,
.ent-ring-guide__intro {
	text-align: center;
}

.ent-ring-guide__methods > h2 {
	margin: 0 0 8px;
	font-size: 39px;
	line-height: 1.3;
}

.ent-ring-guide__intro {
	margin: 0;
}

.ent-ring-guide__method {
	margin-top: 100px;
}

.ent-ring-guide__method > h3 {
	margin: 0 0 18px;
	font-size: 28px;
	line-height: 39.2px;
	text-align: center;
}

.ent-ring-guide__method-grid {
	display: grid;
	grid-template-columns: 50% 50%;
	align-items: start;
}

.ent-ring-guide__method-grid > :is(div, figure) {
	min-width: 0;
}

.ent-ring-guide__method-grid > div {
	padding-inline: 0;
}

@media (min-width: 48.0625rem) {
	.ent-ring-guide__method--image-first .ent-ring-guide__method-grid > div {
		padding-inline-start: 50px;
	}

	.ent-ring-guide__method--fit .ent-ring-guide__method-grid > div {
		padding-inline-end: 30px;
	}
}

.ent-ring-guide__method-grid figure {
	margin: 0;
}

.ent-ring-guide__method-grid img {
	display: block;
	width: 100%;
	max-inline-size: 100%;
	height: auto;
	border-radius: 10px;
}

.ent-ring-guide__method-grid img[src$="ring-size-chart-string-sizer.png"] {
	max-inline-size: 1324px;
}

.ent-ring-guide__method-grid img:is(
	[src$="ring-size-chart-print-sizer.png"],
	[src$="ring-size-chart-existing-ring.png"],
	[src$="ring-size-chart-fit-guide.png"]
) {
	max-inline-size: 1352px;
}

.ent-ring-guide__method-grid :is(p, ul, ol) {
	margin-bottom: 0;
}

.ent-ring-guide__method-grid p + :is(ul, ol),
.ent-ring-guide__method-grid :is(ul, ol) + p,
.ent-ring-guide__method-grid h3 + p {
	margin-top: 16px;
}

.ent-ring-guide__method-grid :is(ul, ol) {
	padding-inline-start: 18px;
}

.ent-ring-guide__method-grid li + li {
	margin-top: 10px;
}

.ent-ring-guide__method-grid a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.ent-ring-guide__method--fit {
	margin-top: 100px;
}

.ent-ring-guide__method--fit h3 {
	margin: 0 0 12px;
	font-size: 24px;
	line-height: 33.6px;
}

.ent-ring-guide__method--fit h3 + p,
.ent-ring-guide__method--fit p + h3 {
	margin-top: 28px;
}

@media (max-width: 64rem) {
	.ent-lab-guide__hero {
		min-height: 250px;
	}

	.ent-lab-guide__hero-copy {
		padding-inline-end: 2rem;
	}

	.ent-lab-guide__split[aria-labelledby="ent-lab-guide-what-is"] .ent-lab-guide__copy,
	.ent-lab-guide__split[aria-labelledby="ent-lab-guide-real"] .ent-lab-guide__copy,
	.ent-lab-guide__split--certification .ent-lab-guide__copy,
	.ent-lab-guide__split--types .ent-lab-guide__copy,
	.ent-lab-guide__split--benefits .ent-lab-guide__copy {
		padding-inline: 40px;
	}
}

@media (min-width: 64.0625rem) {
	.ent-ring-guide__method-grid {
		width: calc(var(--ent-education-viewport) - 45px);
		margin-inline: calc((100% - (var(--ent-education-viewport) - 45px)) / 2);
	}
}

@media (max-width: 48rem) {
	.ent-page--lab-reference,
	.ent-page--ring-reference {
		margin-block-start: -32px;
	}

	.ent-page--ring-reference {
		margin-block-start: 0;
	}

	.ent-page--lab-reference .ent-page__inner,
	.ent-page--ring-reference .ent-page__inner {
		padding-block-end: 64px;
	}

	.ent-lab-guide__hero {
		min-height: 166px;
	}

	.ent-lab-guide__hero::after {
		background: rgb(255 255 255 / 40%);
	}

	.ent-lab-guide__hero-copy {
		width: 100%;
		margin-inline: 0;
		padding: 16px 28px;
	}

	.ent-lab-guide__hero-copy h1 {
		font-size: 24px;
		line-height: 1.25;
	}

	.ent-lab-guide__hero-copy p,
	.ent-lab-guide__expertise,
	.ent-lab-guide__copy :is(p, ul, ol),
	.ent-lab-guide__comparison > p,
	.ent-lab-guide__table,
	.ent-lab-guide__faq-item,
	.ent-ring-guide {
		font-size: 12px;
		line-height: 18px;
	}

	.ent-lab-guide__expertise {
		margin-top: 25px;
	}

	.ent-lab-guide__split {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 100px;
	}

	.ent-lab-guide__split:nth-of-type(2n + 1) .ent-lab-guide__copy,
	.ent-lab-guide__split--types .ent-lab-guide__copy,
	.ent-lab-guide__split--benefits .ent-lab-guide__copy {
		padding-inline: 0;
	}

	.ent-lab-guide__copy h2,
	.ent-lab-guide__comparison h2 {
		font-size: 24px;
		line-height: 33.6px;
	}

	.ent-lab-guide__media--portrait img {
		width: 100%;
	}

	.ent-lab-guide__comparison {
		margin-top: 100px;
	}

	.ent-lab-guide__table-wrap {
		overflow: hidden;
	}

	.ent-lab-guide__table {
		table-layout: fixed;
	}

	.ent-lab-guide__table thead th {
		padding: 6px 3px 12px;
		font-size: 10px;
		line-height: 12px;
	}

	.ent-lab-guide__table tbody th,
	.ent-lab-guide__table td {
		padding: 10px 4px;
		font-size: 10px;
		line-height: 12px;
		overflow-wrap: anywhere;
	}

	.ent-lab-guide__faq {
		margin-top: 100px;
	}

	.ent-lab-guide__faq > h2 {
		font-size: 32px;
	}

	.ent-lab-guide__faq-item summary {
		min-height: 47px;
		padding-block: 10px;
	}

	.ent-ring-guide__hero h1 {
		margin-bottom: 10px;
		font-size: 40px;
		line-height: 1.55;
	}

	.ent-ring-guide__hero h2 {
		font-size: 18px;
	}

	.ent-ring-guide__hero p {
		margin-bottom: 26px;
	}

	.ent-ring-guide__table-wrap {
		overflow: hidden;
	}

	.ent-ring-guide__table {
		table-layout: fixed;
	}

	.ent-ring-guide__table :is(th:nth-child(6), th:nth-child(7), th:nth-child(8), td:nth-child(6), td:nth-child(7), td:nth-child(8)) {
		display: none;
	}

	.ent-ring-guide__table thead th {
		padding: 0 4px 12px;
		font-size: 10px;
		line-height: 15px;
		word-break: normal;
	}

	.ent-ring-guide__table thead th:nth-child(1) { width: 17%; }
	.ent-ring-guide__table thead th:nth-child(2) { width: 14%; }
	.ent-ring-guide__table thead th:nth-child(3) { width: 17%; }
	.ent-ring-guide__table thead th:nth-child(4) { width: 33%; }
	.ent-ring-guide__table thead th:nth-child(5) { width: 19%; }

	.ent-ring-guide__table td {
		padding: 10px 4px;
		font-size: 12px;
		line-height: 18px;
	}

	.ent-ring-guide__methods {
		margin-top: 100px;
	}

	.ent-ring-guide__methods > h2 {
		font-size: 32px;
		line-height: 1.45;
	}

	.ent-ring-guide__method {
		margin-top: 100px;
	}

	.ent-ring-guide__method > h3 {
		font-size: 24px;
		line-height: 33.6px;
	}

	.ent-ring-guide__method-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ent-ring-guide__method--text-first .ent-ring-guide__method-grid > figure {
		order: 2;
	}

	.ent-ring-guide__method--fit .ent-ring-guide__method-grid > figure {
		order: 2;
	}

	.ent-ring-guide__method-grid img {
		border-radius: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ent-lab-guide *,
	.ent-ring-guide * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

@keyframes ent-hero-rise {
	from {
		transform: translateY(150px);
	}

	to {
		transform: none;
	}
}

@keyframes ent-hero-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/*
 * 4Cs visual parity pass.
 *
 * Keep this page scoped: the site frame remains Zeraine-native while the
 * education guide follows the reference page's Lora/Marcellus rhythm and
 * breakpoint geometry.
 */
.ent-page--four-cs {
	--ent-four-cs-display: "Entai Marcellus SC", "Marcellus SC", serif;
	--ent-four-cs-body: "Entai Lora", Lora, Georgia, serif;
	--ent-four-cs-viewport: calc(100vw - var(--wd-scroll-w, 0px));
	--ent-four-cs-width: min(1192px, calc(var(--ent-four-cs-viewport) - 30px));
	width: var(--ent-four-cs-width);
	max-width: none;
	margin-inline: calc((100% - var(--ent-four-cs-width)) / 2);
	font-family: var(--ent-four-cs-body);
}

/* WoodMart adds 40px of content padding above every page. The reference
 * starts the 4Cs hero flush with the site frame, so remove that padding only
 * for this page instead of shifting the hero with a positional workaround. */
body.page-id-264 #main-content {
	padding-top: 0;
}

.ent-page--four-cs .ent-page__inner {
	width: 100%;
	max-width: none;
	padding-block: 0 6rem;
}

.ent-four-cs,
.ent-four-cs * {
	box-sizing: border-box;
}

.ent-four-cs {
	gap: 100px;
	color: #000;
	font-family: var(--ent-four-cs-body);
}

.ent-four-cs :is(h1, h2, h3) {
	font-family: var(--ent-four-cs-display);
	font-weight: 400;
	letter-spacing: 0;
}

.ent-four-cs__hero {
	width: calc(var(--ent-four-cs-viewport) - 15px);
	min-height: 350px;
	margin-inline: calc((100% - (var(--ent-four-cs-viewport) - 15px)) / 2);
}

.ent-four-cs__hero::after {
	background: linear-gradient(90deg, rgb(255 255 255 / 97%) 0%, rgb(255 255 255 / 78%) 40%, rgb(255 255 255 / 8%) 72%);
}

.ent-four-cs__hero-image {
	object-position: center 49%;
}

.ent-four-cs__hero-copy {
	width: calc(50% - 10px);
	max-width: none;
	flex: 0 0 calc(50% - 10px);
	padding: 0 65px;
}

.ent-four-cs__hero-copy h1 {
	margin: 0 0 10px;
	font-size: 53px;
	line-height: 1.3;
	letter-spacing: 0;
}

.ent-four-cs__hero-copy p,
.ent-four-cs__expertise,
.ent-four-cs__copy p,
.ent-four-cs__copy ul,
.ent-four-cs__grade-card p {
	font-family: var(--ent-four-cs-body);
	font-size: 15px;
	line-height: 24px;
}

.ent-four-cs__hero-copy p {
	max-width: none;
	margin: 0;
}

.ent-four-cs__expertise {
	max-width: none;
	margin: 0;
	color: #767676;
}

.ent-four-cs__split {
	grid-template-columns: 50% 50%;
	gap: 0;
	padding-inline: 0 0;
}

.ent-four-cs__split:not(.ent-four-cs__split--reverse) .ent-four-cs__copy {
	padding-inline-start: 46px;
}

.ent-four-cs__split--reverse {
	grid-template-columns: 50% 50%;
	padding-inline-start: 0;
}

.ent-four-cs__chart {
	grid-template-columns: 50% 50%;
	padding-inline-start: 0;
}

.ent-four-cs__split.ent-four-cs__chart .ent-four-cs__copy {
	padding-inline-start: 55px;
}

.ent-four-cs__copy h2 {
	margin: 0 0 10px;
	font-size: 39px;
	line-height: 1.3;
	letter-spacing: 0;
}

.ent-four-cs__copy p {
	margin: 0;
}

.ent-four-cs__copy p + p,
.ent-four-cs__copy p + ul {
	margin-top: 10px;
}

.ent-four-cs__copy ul {
	margin-block: 0;
	padding-inline-start: 1.15rem;
}

.ent-four-cs__copy li + li {
	margin-top: 10px;
}

.ent-four-cs__carousel {
	width: 100%;
	margin-inline: 0;
	padding-block: 15px;
}

.ent-four-cs__carousel-track {
	transition: transform 420ms ease;
}

.ent-four-cs__grade-card {
	padding-inline: 0;
	background: transparent;
}

.ent-four-cs__carousel-viewport {
	background: transparent;
}

.ent-four-cs__grade-card img {
	width: auto;
	max-width: 100%;
	max-height: none;
	margin-block-end: 15px;
	background: transparent;
}

.ent-four-cs__grade-card h3 {
	margin-block: 0 10px;
	font-size: 15px;
	line-height: 24px;
}

.ent-four-cs__grade-card p {
	max-width: 596px;
	margin: 0;
	color: #767676;
}

.ent-four-cs__carousel-arrow {
	width: 40px;
	height: 40px;
	border-radius: 0;
	color: #202532;
	background: transparent;
	box-shadow: none;
	font-family: var(--ent-four-cs-display);
	font-size: 28px;
	font-weight: 400;
}

.ent-four-cs__carousel-dots {
	bottom: 0;
	gap: 9px;
}

.ent-four-cs__carousel-dots button {
	width: 7px;
	height: 7px;
}

@media (max-width: 64rem) {
	.ent-four-cs__hero {
		width: calc(var(--ent-four-cs-viewport) - 15px);
		min-height: 466.7px;
		margin-inline: calc((100% - (var(--ent-four-cs-viewport) - 15px)) / 2);
	}

	.ent-four-cs__hero-copy {
		padding-inline: 65px;
	}

	.ent-four-cs__split:not(.ent-four-cs__split--reverse),
	.ent-four-cs__chart {
		width: 100%;
		margin-inline: 0;
		padding-inline: 0;
	}

	.ent-four-cs__split:not(.ent-four-cs__split--reverse) .ent-four-cs__copy {
		padding-inline-start: 46px;
	}

	.ent-four-cs__split--reverse {
		width: 100%;
		margin-inline: 0;
		padding-inline: 0;
	}
}

@media (min-width: 48.0625rem) and (max-width: 64rem) {
	.ent-four-cs__hero {
		margin-top: 7.6px;
	}

	.ent-four-cs__hero-copy {
		width: calc(50% - 17.5px);
		flex-basis: calc(50% - 17.5px);
		padding-inline: 57.5px;
	}

	.ent-four-cs__chart {
		min-height: 463.4px;
	}

	/* The reference keeps the chart copy flush to the section's top edge on
	 * tablet. Stretch this grid child so align-items:center cannot introduce
	 * the extra 12px vertical inset from its shorter text block. */
	.ent-four-cs__split.ent-four-cs__chart .ent-four-cs__copy {
		align-self: stretch;
		padding-inline-start: 55px !important;
	}
}

@media (max-width: 48rem) {
	.ent-four-cs {
		gap: 100px;
	}

	.ent-four-cs__hero {
		min-height: 535px;
		align-items: flex-start;
		margin-top: 51.3px;
	}

	.ent-four-cs__hero::after {
		background: linear-gradient(90deg, rgb(255 255 255 / 96%) 0%, rgb(255 255 255 / 80%) 68%, rgb(255 255 255 / 16%) 100%);
	}

	.ent-four-cs__hero-image {
		object-position: center center;
	}

	.ent-four-cs__hero-copy {
		width: 100%;
		flex-basis: 100%;
		padding-inline: 57.5px;
		padding-block: 65px 0;
	}

	.ent-four-cs__hero-copy h1 {
		font-size: 53px;
		line-height: 1.3;
	}

	.ent-four-cs__split,
	.ent-four-cs__split--reverse,
	.ent-four-cs__chart {
		width: 100%;
		margin-inline: 0;
		grid-template-columns: 1fr;
		gap: 0;
		padding-inline: 0;
	}

	.ent-four-cs__split:not(.ent-four-cs__split--reverse) .ent-four-cs__copy {
		padding-inline-start: 0;
	}

	.ent-four-cs__split.ent-four-cs__chart .ent-four-cs__copy {
		width: 290px;
		max-width: 100%;
		margin-inline: 55px auto;
		padding-inline-start: 0 !important;
	}

	.ent-four-cs__split[aria-labelledby="ent-four-cs-cut-title"] .ent-four-cs__copy,
	.ent-four-cs__split[aria-labelledby="ent-four-cs-carat-title"] .ent-four-cs__copy {
		width: 299px;
		max-width: calc(100% - 46px);
		margin-inline: 46px auto;
	}

	.ent-four-cs__split[aria-labelledby="ent-four-cs-color-title"] .ent-four-cs__copy {
		width: 100%;
		margin-inline: 0;
	}

	.ent-four-cs__split[aria-labelledby="ent-four-cs-clarity-title"] .ent-four-cs__copy {
		width: 299px;
		max-width: calc(100% - 46px);
		margin-inline: 46px auto;
	}

	.ent-four-cs__split--reverse .ent-four-cs__carousel .ent-four-cs__grade-card,
	.ent-four-cs__split .ent-four-cs__carousel .ent-four-cs__grade-card {
		order: initial;
	}

	.ent-four-cs__split--reverse .ent-four-cs__carousel,
	.ent-four-cs__split--reverse .ent-four-cs__copy {
		order: initial;
	}

	.ent-four-cs__split[aria-labelledby="ent-four-cs-clarity-title"] {
		width: 100%;
		margin-inline: 0;
		padding-inline: 0;
	}

	.ent-four-cs__split[aria-labelledby="ent-four-cs-color-title"] {
		width: 100%;
		margin-inline: 0;
		padding-inline: 0;
	}

	.ent-four-cs__carousel {
		width: 100%;
		margin-inline: 0;
		padding-block: 0;
	}

	/* WoodMart's reference infobox leaves a 24px tail below the cut and
	 * clarity carousels, while the reverse color block carries that tail below
	 * its copy. Keep the active card's top edge unchanged and reproduce only
	 * the missing vertical rhythm. */
	.ent-four-cs__split[aria-labelledby="ent-four-cs-cut-title"] .ent-four-cs__carousel,
	.ent-four-cs__split[aria-labelledby="ent-four-cs-clarity-title"] .ent-four-cs__carousel {
		padding-bottom: 24px;
	}

	.ent-four-cs__split[aria-labelledby="ent-four-cs-color-title"] .ent-four-cs__copy {
		padding-bottom: 24px;
	}

	.ent-four-cs__carousel-arrow {
		opacity: 1;
	}

	.ent-four-cs__carousel-arrow--previous {
		inset-inline-start: -1.75rem;
	}

	.ent-four-cs__carousel-arrow--next {
		inset-inline-end: -1.75rem;
	}

	.ent-four-cs__carousel-dots {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ent-four-cs__carousel-track {
		transition: none !important;
	}
}
