/*
Theme Name:   Yen's Jewelry Trade (Neve Child)
Theme URI:    https://www.yensjewelry.com/
Description:  Child theme of Neve for yensjewelry.com: centered-logo header that is transparent over the homepage hero, trade-focused hero, Zerif-era sections below.
Author:       Yen's Jewelry & Accessories, Inc.
Template:     neve
Version:      2.0.0
Requires PHP: 7.4
Text Domain:  yens-child
*/

/* ---------- Tokens (captured from the original Zerif Lite site) ---------- */
:root {
	--yens-accent: #e96656;
	--yens-accent-hover: #cb4332;
	--yens-green: #1e9e6b;
	--yens-green-hover: #069059;
	--yens-ink: #404040;
	--yens-charcoal: #272727;
	--yens-muted: #939393;
	--yens-font-heading: "Montserrat", Helvetica, Arial, sans-serif;
	--yens-font-body: "Lato", Helvetica, Arial, sans-serif;
	--yens-font-display: "Newsreader", Georgia, "Times New Roman", serif;
	--yens-container: 1170px;
	--yens-wide: 1240px;
	--yens-trade-ink: #1d1d1f;
	--yens-gold: #8a6a35;
	--yens-header-h: 128px;
}

body {
	font-family: var(--yens-font-body);
	color: var(--yens-ink);
}

a {
	color: var(--yens-accent);
}

a:hover,
a:focus {
	color: var(--yens-accent-hover);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--yens-font-heading);
	font-weight: 700;
}

/* ---------- Header: centered logo, split navigation ---------- */
/* Solid white and sticky everywhere; on the homepage it floats transparent over the hero
   and turns solid on hover, keyboard focus, scroll, or when the mobile menu is open. */
.wrapper > header.header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
}

.yens-header {
	background: #fff;
	box-shadow: 0 1px 0 rgba(29, 29, 31, 0.08);
	transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.yens-home .wrapper > header.header {
	position: fixed;
	left: 0;
	right: 0;
}

.yens-home .yens-header:not(.is-solid) {
	background: transparent;
	box-shadow: none;
}

.yens-header__inner {
	max-width: var(--yens-wide);
	margin: 0 auto;
	padding: 18px 32px 14px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
}

.yens-header__brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	text-decoration: none;
}

.yens-header__brand img {
	width: 64px;
	height: 64px;
	object-fit: contain;
	display: block;
}

.yens-header__tagline {
	font-family: var(--yens-font-body);
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #4a4a4a;
	white-space: nowrap;
}

.yens-header__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 34px;
}

.yens-header__nav--right ul {
	justify-content: flex-end;
	gap: 28px;
}

.yens-header__nav li {
	position: relative;
}

.yens-header__nav a {
	font-family: var(--yens-font-body);
	font-size: 16px;
	font-weight: 400;
	color: var(--yens-trade-ink);
	text-decoration: none;
	padding: 8px 0;
	display: inline-block;
}

.yens-header__nav > ul > li > a:hover,
.yens-header__nav > ul > li > a:focus-visible,
.yens-header__nav .current-menu-item > a,
.yens-header__nav .current-menu-ancestor > a {
	color: var(--yens-trade-ink);
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 1px;
}

.yens-header__nav .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
}

/* Dropdown */
.yens-header__nav .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	min-width: 230px;
	display: block;
	padding: 10px 0;
	background: #fff;
	box-shadow: 0 12px 30px rgba(29, 29, 31, 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}

.yens-header__nav li:hover > .sub-menu,
.yens-header__nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.yens-header__nav .sub-menu a {
	display: block;
	padding: 9px 18px;
	font-size: 15px;
}

.yens-header__nav .sub-menu a:hover,
.yens-header__nav .sub-menu a:focus-visible {
	background: #f4f2ee;
}

/* Sign In (outline) and Apply (solid) */
.yens-header__nav .yens-nav-signin > a,
.yens-header__nav .yens-nav-apply > a {
	padding: 12px 22px;
	border: 1px solid var(--yens-trade-ink);
	line-height: 1;
	text-decoration: none;
}

.yens-header__nav .yens-nav-apply > a {
	background: var(--yens-trade-ink);
	color: #fff;
}

.yens-header__nav .yens-nav-signin > a:hover,
.yens-header__nav .yens-nav-signin > a:focus-visible {
	background: var(--yens-trade-ink);
	color: #fff;
	text-decoration: none;
}

.yens-header__nav .yens-nav-apply > a:hover,
.yens-header__nav .yens-nav-apply > a:focus-visible {
	background: #3a3a3d;
	color: #fff;
	text-decoration: none;
}

/* Mobile toggle and panel */
.yens-header__toggle {
	display: none;
	background: transparent;
	color: var(--yens-trade-ink);
	border: 1px solid var(--yens-trade-ink);
	border-radius: 0;
	padding: 10px 12px;
	line-height: 0;
}

.yens-header__toggle:hover,
.yens-header__toggle:focus-visible {
	background: var(--yens-trade-ink);
	color: #fff;
}

.yens-header__toggle svg {
	width: 20px;
	height: 20px;
}

.yens-header__mobile {
	border-top: 1px solid rgba(29, 29, 31, 0.08);
	background: #fff;
	padding: 8px 20px 24px;
}

.yens-header__mobile[hidden] {
	display: none;
}

.yens-header__mobile ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.yens-header__mobile a {
	display: block;
	padding: 12px 0;
	color: var(--yens-trade-ink);
	text-decoration: none;
	font-size: 17px;
	border-bottom: 1px solid rgba(29, 29, 31, 0.06);
}

.yens-header__mobile .sub-menu a {
	padding-left: 16px;
	font-size: 15px;
	color: #4a4a4a;
}

.yens-header__mobile .yens-mobile-account {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.yens-header__mobile .yens-mobile-account > li {
	flex: 1 1 100%;
}

.yens-header__mobile .yens-mobile-account > li.yens-nav-signin,
.yens-header__mobile .yens-mobile-account > li.yens-nav-apply {
	flex: 1 1 0;
	margin-top: 8px;
}

.yens-header__mobile .yens-nav-signin > a,
.yens-header__mobile .yens-nav-apply > a {
	text-align: center;
	border: 1px solid var(--yens-trade-ink);
	padding: 13px 10px;
}

.yens-header__mobile .yens-nav-apply > a {
	background: var(--yens-trade-ink);
	color: #fff;
}

@media (max-width: 1080px) {
	.yens-header__inner {
		grid-template-columns: 48px 1fr 48px;
		gap: 8px;
		padding: 12px 16px;
	}

	.yens-header__mobile {
		max-height: calc(100vh - var(--yens-header-h));
		overflow-y: auto;
	}

	.yens-header__nav {
		display: none;
	}

	.yens-header__toggle {
		display: inline-flex;
		justify-self: start;
		grid-column: 1;
		grid-row: 1;
	}

	.yens-header__brand {
		grid-column: 2;
		grid-row: 1;
	}

	.yens-header__brand img {
		width: 48px;
		height: 48px;
	}

	.yens-header__tagline {
		font-size: 10px;
		letter-spacing: 0.12em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yens-header,
	.yens-header__nav .sub-menu {
		transition: none;
	}
}

/* ---------- Inner page titles: coral underline like Zerif ---------- */
.nv-page-title h1,
.woocommerce-products-header__title {
	font-size: 26px;
	text-transform: none;
	position: relative;
	padding-bottom: 12px;
}

.nv-page-title h1::after,
.woocommerce-products-header__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 70px;
	height: 2px;
	background: var(--yens-accent);
}

/* ---------- Buttons ---------- */
.button,
button,
input[type="submit"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
div.wpforms-container-full .wpforms-form button[type="submit"] {
	font-family: var(--yens-font-body);
	font-size: 14px;
	font-weight: 400;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 13px 35px;
	line-height: 20px;
	border: 0;
	background-color: var(--yens-accent);
	color: #fff;
	transition: background-color 0.2s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
div.wpforms-container-full .wpforms-form button[type="submit"]:hover {
	background-color: var(--yens-accent-hover);
	color: #fff;
}

.wp-block-button.is-style-yens-green .wp-block-button__link,
.wp-block-button.yens-btn-green .wp-block-button__link {
	background-color: var(--yens-green);
}

.wp-block-button.is-style-yens-green .wp-block-button__link:hover,
.wp-block-button.yens-btn-green .wp-block-button__link:hover {
	background-color: var(--yens-green-hover);
}

/* ---------- Homepage sections ---------- */
.yens-home .nv-content-wrap > *:first-child,
.yens-home .entry-content > *:first-child {
	margin-top: 0;
}

/* Full-width sections fill the content area (100vw would include the scrollbar). */
.yens-home .entry-content > .alignfull {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.yens-home .entry-content > .alignfull + .alignfull {
	margin-top: 0;
}

.yens-section-title {
	font-family: var(--yens-font-heading);
	font-size: clamp(30px, 4vw, 45px);
	line-height: 1.1;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	color: var(--yens-ink);
	margin-bottom: 10px;
}

/* Hero: light wash on the left for dark text, pearls showing on the right */
.yens-trade-hero.wp-block-cover {
	--yens-hero-gutter: max(32px, calc((100% - var(--yens-wide)) / 2 + 32px));
	min-height: max(680px, 100vh);
	padding: calc(var(--yens-header-h) + 60px) var(--yens-hero-gutter) 72px;
	align-items: center;
}

.yens-trade-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--yens-wide);
	margin: 0 auto;
	position: static;
	color: var(--yens-trade-ink);
}

/* Inner container is static so the aside can pin to the cover's corner;
   each text block is lifted above the overlay instead. */
.yens-trade-hero .yens-hero-copy {
	position: relative;
	z-index: 2;
	max-width: 640px;
}

.yens-trade-hero .yens-hero-eyebrow {
	font-family: var(--yens-font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--yens-gold);
	margin: 0 0 18px;
}

.yens-trade-hero .yens-hero-headline {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: clamp(36px, 4.6vw, 64px);
	line-height: 1.06;
	letter-spacing: -0.01em;
	text-transform: none;
	text-wrap: balance;
	color: var(--yens-trade-ink);
	margin: 0 0 21px;
}

.yens-trade-hero .yens-hero-lead {
	font-size: 16px;
	line-height: 1.6;
	color: #2f2f31;
	max-width: 34em;
	margin: 0 0 28px;
}

.yens-trade-hero .wp-block-buttons {
	gap: 15px;
}

.yens-trade-hero .wp-block-button__link,
.yens-trade-hero .yens-hero-aside .wp-block-button__link {
	border-radius: 0;
	text-transform: none;
	font-size: 15px;
	padding: 14px 25px;
	line-height: 1.2;
}

.yens-trade-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--yens-trade-ink);
	color: #fff;
	border: 1px solid var(--yens-trade-ink);
}

.yens-trade-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.yens-trade-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
	background: #3a3a3d;
}

.yens-trade-hero .wp-block-button.is-style-outline .wp-block-button__link {
	background: rgba(255, 255, 255, 0.35);
	color: var(--yens-trade-ink);
	border: 1px solid var(--yens-trade-ink);
}

.yens-trade-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.yens-trade-hero .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: var(--yens-trade-ink);
	color: #fff;
}

/* Bottom-right note over the photo */
.yens-trade-hero .yens-hero-aside {
	position: absolute;
	z-index: 2;
	right: var(--yens-hero-gutter);
	bottom: 64px;
	text-align: right;
	max-width: 320px;
}

.yens-trade-hero .yens-hero-aside p {
	font-family: var(--yens-font-display);
	font-size: 28px;
	line-height: 1.25;
	color: #fff;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
	margin: 0 0 18px;
}

.yens-trade-hero .yens-hero-aside .wp-block-buttons {
	justify-content: flex-end;
}

.yens-trade-hero .yens-hero-aside .wp-block-button.is-style-outline .wp-block-button__link {
	background: rgba(29, 29, 31, 0.25);
	color: #fff;
	border-color: #fff;
	font-size: 15px;
	padding: 13px 22px;
}

.yens-trade-hero .yens-hero-aside .wp-block-button.is-style-outline .wp-block-button__link:hover,
.yens-trade-hero .yens-hero-aside .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: #fff;
	color: var(--yens-trade-ink);
}

@media (max-width: 1080px) {
	:root {
		--yens-header-h: 96px;
	}
}

@media (max-width: 782px) {
	.yens-trade-hero.wp-block-cover {
		min-height: 0;
		padding: calc(var(--yens-header-h) + 36px) 20px 44px;
	}

	/* Text sits over the whole photo on phones, so wash it evenly. */
	.yens-trade-hero .wp-block-cover__background {
		background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.82) 70%, rgba(255, 255, 255, 0.55) 100%) !important;
	}

	.yens-trade-hero .yens-hero-lead {
		font-size: 16px;
	}

	.yens-trade-hero .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.yens-trade-hero .yens-hero-aside {
		position: relative;
		right: auto;
		bottom: auto;
		text-align: left;
		max-width: none;
		margin-top: 36px;
	}

	.yens-trade-hero .yens-hero-aside p {
		color: var(--yens-trade-ink);
		text-shadow: none;
		font-size: 22px;
	}

	.yens-trade-hero .yens-hero-aside .wp-block-buttons {
		justify-content: flex-start;
	}

	.yens-trade-hero .yens-hero-aside .wp-block-button.is-style-outline .wp-block-button__link {
		color: var(--yens-trade-ink);
		border-color: var(--yens-trade-ink);
		background: transparent;
	}
}

/* What's coming up */
.yens-focus {
	background: #fff;
	padding: 100px 20px 60px;
	text-align: center;
}

.yens-focus .yens-section-subtitle {
	color: #000;
	margin-bottom: 40px;
}

.yens-focus h3 {
	font-size: 26px;
	line-height: 35px;
	text-transform: none;
	margin: 30px 0 20px;
}

.yens-focus p {
	margin-bottom: 18px;
}

.yens-focus .wp-block-embed {
	max-width: 640px;
	margin: 40px auto;
}

.yens-focus #sb_instagram,
.yens-focus .sbi {
	max-width: 940px;
	margin: 0 auto;
}

/*
 * Smash Balloon sizes each tile with an inline pixel height measured once on load.
 * If the layout is still settling (deferred CSS), tiles come out stretched.
 * Keep them square regardless of that measurement.
 */
#sb_instagram .sbi_item .sbi_photo_wrap,
#sb_instagram .sbi_item .sbi_photo {
	aspect-ratio: 1 / 1;
	height: auto !important;
}

#sb_instagram .sbi_item .sbi_photo {
	display: block;
	overflow: hidden;
	background-size: cover;
	background-position: center center;
}

#sb_instagram .sbi_item .sbi_photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* About */
.yens-about {
	background: var(--yens-charcoal);
	color: #fff;
	padding: 100px 20px;
}

.yens-about .wp-block-columns {
	max-width: var(--yens-container);
	margin: 0 auto;
	gap: 40px;
}

.yens-about .yens-about-big {
	font-family: var(--yens-font-body);
	font-weight: 300;
	font-size: clamp(38px, 5vw, 60px);
	line-height: 1.15;
	text-align: center;
	color: #fff;
}

.yens-about .yens-about-text p {
	font-size: 14px;
	line-height: 25px;
	color: var(--yens-muted);
}

.yens-about h4 {
	font-family: var(--yens-font-heading);
	font-size: 14px;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 10px;
}

.yens-about .yens-about-note p {
	font-size: 14px;
	line-height: 22px;
	color: #c9c9c9;
}

/* Contact */
.yens-contact.wp-block-cover {
	padding: 100px 20px 95px;
}

.yens-contact .yens-section-title {
	color: #fff;
	max-width: var(--yens-container);
	margin: 0 auto 50px;
}

.yens-contact .wpforms-container {
	max-width: 940px;
	margin: 0 auto;
}

.yens-contact .wpforms-field-label,
.yens-contact .wpforms-field-sublabel,
.yens-contact .wpforms-recaptcha-container,
.yens-contact p {
	color: #fff;
}

.yens-contact input[type="text"],
.yens-contact input[type="email"],
.yens-contact select,
.yens-contact textarea {
	background: rgba(255, 255, 255, 0.9);
	border: 0;
	border-radius: 4px;
	color: var(--yens-ink);
}

/* reCAPTCHA badge hidden, as on the original site (notice text stays on the form) */
.grecaptcha-badge {
	visibility: hidden;
}

/* ---------- Our story + memberships (homepage) ---------- */
.yens-home .entry-content > .yens-story {
	background: #1f1f21;
	color: #f2efe9;
	padding: 110px 32px 120px;
}

.yens-story .yens-story__inner {
	max-width: var(--yens-wide);
	margin: 0 auto;
}

.yens-story .yens-story__eyebrow,
.yens-story .yens-story__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #d4b47a;
	margin: 0 0 16px;
}

.yens-story .yens-story__title {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-transform: none;
	text-wrap: balance;
	color: #fff;
	max-width: 760px;
	margin: 0 0 18px;
}

.yens-story .yens-story__lead {
	font-size: 17px;
	line-height: 1.65;
	color: #cfcac1;
	max-width: 640px;
	margin: 0 0 64px;
}

/* Timeline */
.yens-story ol.yens-timeline {
	list-style: none;
	margin: 0 0 56px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	position: relative;
}

.yens-story ol.yens-timeline::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, #d4b47a 0%, rgba(212, 180, 122, 0.25) 100%);
}

.yens-story ol.yens-timeline > li {
	position: relative;
	padding-top: 34px;
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: #cfcac1;
}

.yens-story ol.yens-timeline > li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #1f1f21;
	border: 2px solid #d4b47a;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.yens-story ol.yens-timeline > li:hover::before {
	background: #d4b47a;
	transform: scale(1.25);
}

.yens-story ol.yens-timeline > li strong {
	display: block;
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: 30px;
	line-height: 1.1;
	color: #fff;
	margin-bottom: 8px;
}

/* Story chapters: four-step timeline with a line that draws in on scroll */
.yens-story .yens-chapters {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	position: relative;
	margin: 0 0 64px;
}

/* Classic themes wrap group contents in an inner container; let the chapters reach the grid. */
.yens-story .yens-chapters > .wp-block-group__inner-container {
	display: contents;
}

.yens-story .yens-chapters::before,
.yens-story .yens-chapters::after {
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	right: 0;
	height: 1px;
}

.yens-story .yens-chapters::before {
	background: rgba(212, 180, 122, 0.22);
}

.yens-story .yens-chapters::after {
	background: #d4b47a;
	transform-origin: left center;
}

@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.yens-story .yens-chapters::after {
			animation: yens-chapters-draw linear both;
			animation-timeline: view();
			animation-range: entry 10% cover 45%;
		}
	}
}

@keyframes yens-chapters-draw {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

.yens-story .yens-chapters .yens-chapter {
	position: relative;
	margin: 0;
	padding: 36px 32px 8px 0;
}

.yens-story .yens-chapter::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #1f1f21;
	border: 2px solid #d4b47a;
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.yens-story .yens-chapter:hover::before,
.yens-story .yens-chapter:focus-within::before {
	background: #d4b47a;
	transform: scale(1.3);
	box-shadow: 0 0 0 6px rgba(212, 180, 122, 0.15);
}

.yens-story .yens-chapter .yens-chapter__era {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #d4b47a;
	margin: 0 0 12px;
}

.yens-story .yens-chapter .yens-chapter__big {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: clamp(26px, 2.4vw, 34px);
	line-height: 1.12;
	text-transform: none;
	color: #fff;
	margin: 0 0 14px;
	transition: color 0.2s ease;
}

.yens-story .yens-chapter .yens-chapter__big strong {
	font-weight: 500;
	color: #d4b47a;
}

.yens-story .yens-chapter:hover .yens-chapter__big {
	color: #f3e3c3;
}

.yens-story .yens-chapter p:not(.yens-chapter__era) {
	font-size: 15px;
	line-height: 1.7;
	color: #cfcac1;
	margin: 0;
}

@media (max-width: 1080px) {
	.yens-story .yens-chapters {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 40px;
	}

	.yens-story .yens-chapters::before,
	.yens-story .yens-chapters::after {
		display: none;
	}

	.yens-story .yens-chapters .yens-chapter {
		border-top: 1px solid rgba(212, 180, 122, 0.35);
		padding-top: 30px;
	}

	.yens-story .yens-chapter::before {
		top: -7px;
	}
}

@media (max-width: 782px) {
	.yens-story .yens-chapters {
		grid-template-columns: 1fr;
		row-gap: 0;
		padding-left: 30px;
	}

	.yens-story .yens-chapters::before {
		display: block;
		top: 6px;
		bottom: 6px;
		left: 6px;
		right: auto;
		width: 1px;
		height: auto;
		background: linear-gradient(180deg, #d4b47a 0%, rgba(212, 180, 122, 0.25) 100%);
	}

	.yens-story .yens-chapters .yens-chapter {
		border-top: 0;
		padding: 0 0 34px;
	}

	.yens-story .yens-chapter::before {
		top: 2px;
		left: -30px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yens-story .yens-chapter::before,
	.yens-story .yens-chapter .yens-chapter__big {
		transition: none;
	}
}

/* Full story, folded */
.yens-story details.yens-story__more {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	margin: 0 0 80px;
}

.yens-story details.yens-story__more > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 22px 0;
	font-size: 17px;
	font-weight: 700;
	color: #fff;
}

.yens-story details.yens-story__more > summary::-webkit-details-marker {
	display: none;
}

.yens-story details.yens-story__more > summary::after {
	content: "+";
	font-family: var(--yens-font-display);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	color: #d4b47a;
	transition: transform 0.2s ease;
}

.yens-story details.yens-story__more[open] > summary::after {
	transform: rotate(45deg);
}

.yens-story details.yens-story__more > summary:hover,
.yens-story details.yens-story__more > summary:focus-visible {
	color: #d4b47a;
}

.yens-story details.yens-story__more > p {
	font-size: 16px;
	line-height: 1.7;
	color: #cfcac1;
	max-width: 760px;
	margin: 0 0 18px;
}

.yens-story details.yens-story__more > p:last-child {
	margin-bottom: 28px;
}

/* Memberships */
.yens-story .yens-story__label {
	margin-bottom: 22px;
}

.yens-story .wp-block-columns.yens-assocs {
	gap: 24px;
	margin: 0;
}

.yens-story .wp-block-column.yens-assoc {
	background: #fff;
	color: var(--yens-trade-ink);
	padding: 36px 36px 32px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.yens-story .wp-block-column.yens-assoc:hover,
.yens-story .wp-block-column.yens-assoc:focus-within {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.yens-story .yens-assoc figure.wp-block-image {
	margin: 0 0 26px;
	height: 72px;
	display: flex;
	align-items: center;
}

.yens-story .yens-assoc figure.wp-block-image img {
	max-height: 72px;
	max-width: 260px;
	width: auto;
	height: auto;
}

.yens-story .yens-assoc h3 {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: 24px;
	line-height: 1.2;
	text-transform: none;
	color: var(--yens-trade-ink);
	margin: 0 0 10px;
}

.yens-story .yens-assoc p {
	font-size: 15px;
	line-height: 1.65;
	color: #4a4a4e;
	margin: 0 0 16px;
}

.yens-story .yens-assoc p:last-child {
	margin: 0;
}

.yens-story .yens-assoc a {
	color: var(--yens-trade-ink);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 1px;
}

.yens-story .yens-assoc a:hover,
.yens-story .yens-assoc a:focus-visible {
	color: var(--yens-gold);
}

@media (max-width: 782px) {
	.yens-home .entry-content > .yens-story {
		padding: 72px 20px 80px;
	}

	.yens-story .yens-story__lead {
		margin-bottom: 44px;
	}

	/* Vertical timeline on phones */
	.yens-story ol.yens-timeline {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-left: 30px;
	}

	.yens-story ol.yens-timeline::before {
		top: 6px;
		bottom: 6px;
		left: 6px;
		right: auto;
		width: 1px;
		height: auto;
		background: linear-gradient(180deg, #d4b47a 0%, rgba(212, 180, 122, 0.25) 100%);
	}

	.yens-story ol.yens-timeline > li {
		padding-top: 0;
	}

	.yens-story ol.yens-timeline > li::before {
		left: -30px;
	}

	.yens-story ol.yens-timeline > li strong {
		font-size: 24px;
	}

	.yens-story .wp-block-column.yens-assoc {
		padding: 28px 24px 26px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yens-story ol.yens-timeline > li::before,
	.yens-story details.yens-story__more > summary::after,
	.yens-story .wp-block-column.yens-assoc {
		transition: none;
	}

	.yens-story .wp-block-column.yens-assoc:hover,
	.yens-story .wp-block-column.yens-assoc:focus-within {
		transform: none;
	}
}

/* ---------- Instagram: 3D carousel built from the Smash Balloon feed ---------- */
.yens-home .entry-content > .yens-ig {
	background: #f4f3f0;
	padding: 100px 32px 90px;
	overflow: hidden;
}

.yens-ig .yens-ig__head {
	max-width: 640px;
	margin: 0 auto 44px;
	text-align: center;
}

.yens-ig .yens-ig__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--yens-gold);
	margin: 0 0 14px;
}

.yens-ig .yens-ig__title {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: clamp(32px, 3.6vw, 46px);
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--yens-trade-ink);
	margin: 0 0 12px;
}

.yens-ig .yens-ig__intro {
	font-size: 16px;
	line-height: 1.6;
	color: #5c5c60;
	margin: 0 0 24px;
}

.yens-ig .yens-ig__head .wp-block-buttons {
	justify-content: center;
}

.yens-ig .yens-ig__head .wp-block-button__link {
	border-radius: 0;
	text-transform: none;
	font-size: 15px;
	padding: 13px 24px;
	background: var(--yens-trade-ink);
	color: #fff;
}

.yens-ig .yens-ig__head .wp-block-button__link:hover,
.yens-ig .yens-ig__head .wp-block-button__link:focus-visible {
	background: #3a3a3d;
}

/* Once the carousel is built, the Smash Balloon grid steps aside. */
.yens-ig.yens-ig--ready #sb_instagram,
.yens-ig.yens-ig--ready .sbi {
	display: none !important;
}

.yens-ig .yens-ig-carousel {
	--card: clamp(220px, 24vw, 330px);
	max-width: var(--yens-wide);
	margin: 0 auto;
	outline: none;
}

.yens-ig .yens-ig-carousel:focus-visible {
	outline: 2px solid var(--yens-gold);
	outline-offset: 8px;
}

.yens-ig .yens-ig-stage {
	position: relative;
	height: calc(var(--card) + 40px);
	perspective: 1600px;
	perspective-origin: 50% 40%;
	transform-style: preserve-3d;
	touch-action: pan-y;
	user-select: none;
}

.yens-ig .yens-ig-card {
	position: absolute;
	top: 0;
	left: 50%;
	width: var(--card);
	height: var(--card);
	margin-left: calc(var(--card) / -2);
	display: block;
	background: #ddd;
	box-shadow: 0 18px 30px -18px rgba(29, 29, 31, 0.45);
	transition: transform 0.8s cubic-bezier(0.22, 0.8, 0.24, 1), opacity 0.6s ease, box-shadow 0.6s ease, filter 0.6s ease;
	will-change: transform;
	filter: brightness(0.86) saturate(0.9);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.yens-ig .yens-ig-card.is-active {
	filter: none;
	box-shadow: 0 34px 60px -24px rgba(29, 29, 31, 0.55);
}

.yens-ig .yens-ig-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
	-webkit-user-drag: none;
}

.yens-ig .yens-ig-card:focus-visible {
	outline: 2px solid var(--yens-gold);
	outline-offset: 4px;
}

.yens-ig .yens-ig-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 26px;
	height: 26px;
	color: #fff;
	filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
}

.yens-ig .yens-ig-badge svg {
	width: 100%;
	height: 100%;
}

.yens-ig .yens-ig-caption {
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
	color: #4a4a4e;
	max-width: 620px;
	min-height: 3em;
	margin: 18px auto 10px;
}

.yens-ig .yens-ig-controls {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.yens-ig .yens-ig-btn {
	width: 46px;
	height: 46px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--yens-trade-ink);
	border-radius: 50%;
	background: transparent;
	color: var(--yens-trade-ink);
	line-height: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.yens-ig .yens-ig-btn:hover,
.yens-ig .yens-ig-btn:focus-visible {
	background: var(--yens-trade-ink);
	color: #fff;
}

.yens-ig .yens-ig-btn svg {
	width: 18px;
	height: 18px;
}

@media (max-width: 700px) {
	.yens-home .entry-content > .yens-ig {
		padding: 70px 16px 64px;
	}

	.yens-ig .yens-ig-carousel {
		--card: min(62vw, 260px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.yens-ig .yens-ig-card {
		transition: opacity 0.2s ease;
	}
}

/* Instagram pop-up viewer (only on .yens-ig--lightbox sections) */
.yens-ig-locked {
	overflow: hidden;
}

.yens-ig-viewer {
	padding: 56px 0 0;
	border: 0;
	background: transparent;
	max-width: none;
	max-height: none;
	overflow: visible;
	color: #fff;
}

.yens-ig-viewer::backdrop {
	background: rgba(18, 18, 20, 0.84);
	backdrop-filter: blur(3px);
}

.yens-ig-viewer[open] {
	animation: yens-ig-viewer-in 0.28s cubic-bezier(0.22, 0.8, 0.24, 1);
}

@keyframes yens-ig-viewer-in {
	from {
		opacity: 0;
		transform: translateY(14px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* --ratio is set by the script from each photo (width / height), so portrait,
   square, landscape and Reel posts all keep their real shape. */
.yens-ig-viewer__card {
	--ratio: 1;
	--maxw: min(620px, calc(100vw - 32px - 340px));
	--maxh: min(760px, calc(100vh - 190px));
	--w: min(var(--maxw), calc(var(--maxh) * var(--ratio)));
	--h: calc(var(--w) / var(--ratio));
	display: grid;
	grid-template-columns: var(--w) 340px;
	background: #fff;
	color: var(--yens-trade-ink);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}

.yens-ig-viewer__media {
	position: relative;
	width: var(--w);
	min-height: var(--h);
	background: #111;
	overflow: hidden;
}

.yens-ig-viewer__media img,
.yens-ig-viewer__media video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: #111;
}

.yens-ig-viewer__media.is-video img {
	visibility: hidden;
}

.yens-ig-viewer__media iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: #fff;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.yens-ig-viewer__media.is-embed-ready iframe {
	opacity: 1;
}

.yens-ig-viewer__play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 22px;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--yens-trade-ink);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.yens-ig-viewer__play[hidden],
.yens-ig-viewer__media.is-embed .yens-ig-viewer__play,
.yens-ig-viewer__media.is-video .yens-ig-viewer__play {
	display: none;
}

.yens-ig-viewer__play svg {
	width: 18px;
	height: 18px;
}

.yens-ig-viewer__play:hover,
.yens-ig-viewer__play:focus-visible {
	background: #fff;
}

.yens-ig-viewer__note {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	margin: 0;
	padding: 12px 14px;
	background: rgba(18, 18, 20, 0.86);
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
}

.yens-ig-viewer__note:empty {
	display: none;
}

.yens-ig-viewer__note a {
	color: #d4b47a;
	font-weight: 700;
}

.yens-ig-viewer__info {
	display: flex;
	flex-direction: column;
	padding: 26px 26px 24px;
	max-height: max(var(--h), 340px);
	overflow-y: auto;
}

.yens-ig-viewer__handle {
	font-weight: 700;
	font-size: 15px;
	margin: 0 0 2px;
}

.yens-ig-viewer__date {
	font-size: 13px;
	color: #6b6b70;
	margin: 0 0 18px;
}

.yens-ig-viewer__text {
	flex: 1 1 auto;
	white-space: pre-line;
	font-size: 15px;
	line-height: 1.6;
	color: #2f2f31;
	margin: 0 0 20px;
	overflow-wrap: anywhere;
}

.yens-ig-viewer__open {
	align-self: flex-start;
	color: var(--yens-trade-ink);
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 1px;
}

.yens-ig-viewer__open:hover,
.yens-ig-viewer__open:focus-visible {
	color: var(--yens-gold);
}

.yens-ig-viewer__bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-top: 16px;
}

.yens-ig-viewer__count {
	min-width: 60px;
	text-align: center;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.8);
}

.yens-ig-viewer__btn,
.yens-ig-viewer__close {
	width: 44px;
	height: 44px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	line-height: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.yens-ig-viewer__btn {
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: transparent;
	color: #fff;
}

.yens-ig-viewer__btn:hover,
.yens-ig-viewer__btn:focus-visible {
	background: #fff;
	color: #1d1d1f;
}

.yens-ig-viewer__btn svg,
.yens-ig-viewer__close svg {
	width: 18px;
	height: 18px;
}

.yens-ig-viewer__close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	border: 0;
	background: #fff;
	color: #1d1d1f;
}

.yens-ig-viewer__close:hover,
.yens-ig-viewer__close:focus-visible {
	background: #d4b47a;
}

/* Stacked on tablets and phones: photo on top, caption below. */
@media (max-width: 860px) {
	.yens-ig-viewer__card {
		--col: min(calc(100vw - 32px), 560px);
		--h: min(calc(100vh - 380px), calc(var(--col) / var(--ratio)));
		grid-template-columns: var(--col);
	}

	.yens-ig-viewer__media {
		width: 100%;
		height: var(--h);
		min-height: 0;
	}

	.yens-ig-viewer__info {
		max-height: 190px;
		padding: 18px 18px 16px;
	}

	.yens-ig-viewer__date {
		margin-bottom: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yens-ig-viewer[open] {
		animation: none;
	}

	.yens-ig-viewer__media iframe {
		transition: none;
	}
}

/* ---------- Contact (compact, two columns) ---------- */
.yens-home .entry-content > .yens-contact2 {
	background: #fff;
	padding: 56px 32px 60px;
	border-top: 1px solid #ebe8e2;
}

.yens-contact2 .yens-contact2__inner {
	max-width: var(--yens-wide);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 56px;
	align-items: start;
}

/* Classic themes wrap group contents; let both columns reach the grid. */
.yens-contact2 .yens-contact2__inner > .wp-block-group__inner-container {
	display: contents;
}

.yens-contact2 .yens-contact2__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--yens-gold);
	margin: 0 0 10px;
}

.yens-contact2 .yens-contact2__title {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: clamp(28px, 2.6vw, 34px);
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-transform: none;
	text-align: left;
	color: var(--yens-trade-ink);
	margin: 0 0 10px;
}

.yens-contact2 .yens-contact2__lead {
	font-size: 15px;
	line-height: 1.55;
	color: #4a4a4e;
	margin: 0 0 18px;
}

.yens-contact2 ul.yens-contact2__details {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #ebe8e2;
}

.yens-contact2 ul.yens-contact2__details > li {
	margin: 0;
	padding: 9px 0;
	border-bottom: 1px solid #ebe8e2;
	font-size: 14px;
	line-height: 1.45;
	color: #4a4a4e;
}

.yens-contact2 ul.yens-contact2__details > li strong {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--yens-trade-ink);
	margin-bottom: 2px;
}

.yens-contact2 ul.yens-contact2__details a {
	color: var(--yens-trade-ink);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}

.yens-contact2 ul.yens-contact2__details a:hover,
.yens-contact2 ul.yens-contact2__details a:focus-visible {
	color: var(--yens-gold);
}

/* Form in three rows: First | Last | Email, Subject | Topic, Message. */
.yens-contact2 div.wpforms-container-full {
	margin: 0;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 16px;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field {
	padding: 0 0 12px;
	margin: 0;
	grid-column: 1 / -1;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-name {
	order: 1;
	grid-column: span 2;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-email {
	order: 2;
	grid-column: span 1;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-text {
	order: 3;
	grid-column: span 2;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-select {
	order: 4;
	grid-column: span 1;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-textarea {
	order: 5;
	grid-column: 1 / -1;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-row,
.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-medium {
	max-width: 100%;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-row:not(.choices) {
	display: flex;
	gap: 16px;
}

/* WPForms' clearfix pseudo-elements would become extra flex items and indent the row. */
.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-row:not(.choices)::before,
.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-row:not(.choices)::after {
	display: none;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-row-block {
	flex: 1 1 0;
	width: auto;
	padding: 0;
	margin: 0;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-family: var(--yens-font-body);
	font-size: 13px;
	font-weight: 700;
	color: var(--yens-trade-ink);
	margin: 0 0 4px;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-required-label {
	color: var(--yens-gold);
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-sublabel,
.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-description {
	font-size: 11px;
	line-height: 1.4;
	color: #6b6b70;
	margin-top: 3px;
}

.yens-contact2 div.wpforms-container-full .wpforms-form input[type="text"],
.yens-contact2 div.wpforms-container-full .wpforms-form input[type="email"],
.yens-contact2 div.wpforms-container-full .wpforms-form select,
.yens-contact2 div.wpforms-container-full .wpforms-form textarea {
	width: 100%;
	max-width: 100%;
	height: 40px;
	padding: 8px 12px;
	font-family: var(--yens-font-body);
	font-size: 15px;
	color: var(--yens-trade-ink);
	background: #faf9f7;
	border: 1px solid #d9d5ce;
	border-radius: 0;
	box-shadow: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.yens-contact2 div.wpforms-container-full .wpforms-form textarea {
	height: 84px;
	min-height: 84px;
	resize: vertical;
}

.yens-contact2 div.wpforms-container-full .wpforms-form input:focus,
.yens-contact2 div.wpforms-container-full .wpforms-form select:focus,
.yens-contact2 div.wpforms-container-full .wpforms-form textarea:focus {
	border-color: var(--yens-trade-ink);
	background: #fff;
	outline: 2px solid rgba(138, 106, 53, 0.25);
	outline-offset: 0;
}

/* The topic dropdown is WPForms' styled "Choices" widget; match the other fields. */
.yens-contact2 div.wpforms-container-full .wpforms-form .choices {
	width: 100%;
	max-width: 100%;
	margin: 0;
	font-size: 15px;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .choices__inner {
	min-height: 40px;
	height: 40px;
	padding: 4px 12px !important;
	display: flex;
	align-items: center;
	background: #faf9f7;
	border: 1px solid #d9d5ce;
	border-radius: 0;
	color: var(--yens-trade-ink);
}

.yens-contact2 div.wpforms-container-full .wpforms-form .choices.is-focused .choices__inner,
.yens-contact2 div.wpforms-container-full .wpforms-form .choices.is-open .choices__inner {
	border-color: var(--yens-trade-ink);
	background: #fff;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .choices__list--dropdown {
	border-color: #d9d5ce;
	border-radius: 0;
}

.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-submit-container {
	padding: 2px 0 0;
}

.yens-contact2 div.wpforms-container-full .wpforms-form button[type="submit"] {
	background: var(--yens-trade-ink);
	color: #fff;
	border: 1px solid var(--yens-trade-ink);
	border-radius: 0;
	text-transform: none;
	font-size: 15px;
	font-weight: 700;
	padding: 11px 26px;
	height: auto;
}

.yens-contact2 div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
.yens-contact2 div.wpforms-container-full .wpforms-form button[type="submit"]:focus-visible {
	background: #3a3a3d;
	border-color: #3a3a3d;
}

@media (max-width: 900px) {
	.yens-home .entry-content > .yens-contact2 {
		padding: 44px 20px 48px;
	}

	.yens-contact2 .yens-contact2__inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 600px) {
	.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field-container {
		grid-template-columns: 1fr;
	}

	.yens-contact2 div.wpforms-container-full .wpforms-form .wpforms-field {
		grid-column: 1 / -1;
	}
}

/* ---------- Reading pages (Education, Apply) ---------- */
.page-id-14485 .entry-content,
.page-id-14486 .entry-content {
	max-width: 760px;
}

.yens-lead {
	font-size: 20px;
	line-height: 1.6;
	color: #2f2f31;
}

.page-id-14485 .entry-content h2,
.page-id-14486 .entry-content h2 {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.2;
	text-transform: none;
	margin: 44px 0 14px;
}

/* ---------- Shop ---------- */
/* Zerif never showed a stock badge; listings stay catalog-style with "Read more". */
.woocommerce .out-of-stock-badge {
	display: none;
}

.woocommerce .page-description ul {
	list-style: disc;
	padding-left: 1.5em;
	margin-bottom: 1em;
}

.woocommerce .page-description ul ul {
	list-style: circle;
}

/* ---------- Footer ---------- */
.yens-footer {
	background: var(--yens-charcoal);
	color: var(--yens-muted);
	font-size: 16px;
	line-height: 20px;
}

.yens-footer__inner {
	max-width: var(--yens-container);
	margin: 0 auto;
	padding: 40px 15px 33px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: center;
}

.yens-footer__address {
	text-align: center;
	max-width: 320px;
	margin: 0 auto;
}

.yens-footer__right {
	text-align: center;
}

.yens-footer__social {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 18px;
}

.yens-footer__social a {
	color: var(--yens-muted);
	display: inline-flex;
}

.yens-footer__social a:hover,
.yens-footer__social a:focus {
	color: var(--yens-accent);
}

.yens-footer__social svg {
	width: 22px;
	height: 22px;
}

.yens-footer__copyright {
	margin: 0;
	font-size: 14px;
}

@media (max-width: 768px) {
	.yens-footer__inner {
		grid-template-columns: 1fr;
	}

	.yens-hero.wp-block-cover {
		min-height: 480px;
		padding: 80px 16px 70px;
	}

	.yens-focus,
	.yens-about,
	.yens-contact.wp-block-cover {
		padding: 60px 16px;
	}
}


/* ---------- Pearl grading guides (Education) ---------- */
.yens-guide {
	--guide-line: #e6e1d8;
	--guide-wash: #f6f3ee;
	max-width: 820px;
	margin: 0 auto;
	color: var(--yens-trade-ink);
	font-family: var(--yens-font-body);
}

.yens-guide > .wp-block-group__inner-container {
	max-width: none;
}

.yens-guide p,
.yens-guide li {
	font-size: 17px;
	line-height: 1.7;
	color: #3a3a3e;
}

.yens-guide p.yens-guide-lead {
	font-family: var(--yens-font-display);
	font-size: 22px;
	line-height: 1.45;
	color: var(--yens-trade-ink);
	margin: 0 0 22px;
}

.yens-guide h2.wp-block-heading {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: clamp(26px, 2.6vw, 32px);
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: none;
	text-align: left;
	color: var(--yens-trade-ink);
	margin: 48px 0 14px;
	scroll-margin-top: 140px;
}

.yens-guide h2.wp-block-heading::after {
	content: none;
}

.yens-guide h3.wp-block-heading {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: 22px;
	text-transform: none;
	margin: 28px 0 10px;
}

.yens-guide a {
	color: var(--yens-trade-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.yens-guide a:hover,
.yens-guide a:focus-visible {
	color: var(--yens-gold);
}

/* Jump links */
.yens-guide .yens-guide-jump {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
}

.yens-guide .yens-guide-jump a {
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid var(--guide-line);
	border-radius: 999px;
	padding: 8px 16px;
	background: #fff;
}

.yens-guide .yens-guide-jump a:hover,
.yens-guide .yens-guide-jump a:focus-visible {
	border-color: var(--yens-trade-ink);
	color: var(--yens-trade-ink);
}

/* Photos */
.yens-guide .yens-guide-photo {
	margin: 0 0 28px;
}

.yens-guide .yens-guide-photo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 480px;
	object-fit: cover;
	background: var(--guide-wash);
}

.yens-guide .yens-guide-photo figcaption {
	font-size: 13px;
	color: #6b6b70;
	text-align: left;
	margin-top: 8px;
}

/* At a glance */
.yens-guide .yens-guide-facts {
	margin: 0 0 12px;
	padding: 22px 26px;
	background: var(--guide-wash);
	border-left: 3px solid var(--yens-gold);
}

.yens-guide .yens-guide-facts__title,
.yens-guide .yens-guide-note__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--yens-gold);
	margin: 0 0 10px;
}

.yens-guide .yens-guide-facts ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.yens-guide .yens-guide-facts li {
	font-size: 15px;
	line-height: 1.55;
	margin: 0 0 8px;
}

.yens-guide .yens-guide-facts li:last-child {
	margin-bottom: 0;
}

.yens-guide .yens-guide-facts strong {
	color: var(--yens-trade-ink);
}

/* Buyer's notes */
.yens-guide .yens-guide-note {
	margin: 24px 0;
	padding: 18px 22px;
	border: 1px solid var(--guide-line);
	background: #fff;
}

.yens-guide .yens-guide-note p:last-child {
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

/* Tables */
.yens-guide .yens-guide-table {
	margin: 8px 0 24px;
	overflow-x: auto;
}

.yens-guide .yens-guide-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.5;
}

.yens-guide .yens-guide-table th,
.yens-guide .yens-guide-table td {
	text-align: left;
	vertical-align: top;
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid var(--guide-line);
	color: #3a3a3e;
}

.yens-guide .yens-guide-table thead th {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--yens-trade-ink);
	background: var(--guide-wash);
	border-bottom: 1px solid #d9d2c5;
}

.yens-guide .yens-guide-table td strong {
	color: var(--yens-trade-ink);
}

/* Lists */
.yens-guide .wp-block-list {
	padding-left: 22px;
	margin: 0 0 20px;
}

.yens-guide .wp-block-list li {
	margin: 0 0 8px;
}

/* Call to action */
.yens-guide .yens-guide-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 28px;
	margin: 44px 0 0;
	padding: 28px 30px;
	background: var(--guide-wash);
	border: 1px solid var(--guide-line);
}

.yens-guide .yens-guide-cta__text {
	flex: 1 1 340px;
}

.yens-guide p.yens-guide-cta__title {
	font-family: var(--yens-font-display);
	font-size: 24px;
	line-height: 1.2;
	color: var(--yens-trade-ink);
	margin: 0 0 6px;
}

.yens-guide .yens-guide-cta__text p:last-child {
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
}

.yens-guide .yens-guide-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin: 0;
}

.yens-guide a.yens-guide-cta__btn {
	display: inline-block;
	background: var(--yens-trade-ink);
	color: #fff;
	border: 1px solid var(--yens-trade-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	padding: 12px 20px;
	text-decoration: none;
}

.yens-guide a.yens-guide-cta__btn:hover,
.yens-guide a.yens-guide-cta__btn:focus-visible {
	background: #3a3a3d;
	border-color: #3a3a3d;
	color: #fff;
}

.yens-guide a.yens-guide-cta__btn--ghost {
	background: #fff;
	color: var(--yens-trade-ink);
}

.yens-guide a.yens-guide-cta__btn--ghost:hover,
.yens-guide a.yens-guide-cta__btn--ghost:focus-visible {
	background: #fff;
	color: var(--yens-gold);
	border-color: var(--yens-gold);
}

.yens-guide a.yens-guide-cta__link {
	flex-basis: 100%;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

/* FAQ (Yoast FAQ block) */
.yens-guide .schema-faq {
	border-top: 1px solid var(--guide-line);
}

.yens-guide .schema-faq-section {
	padding: 18px 0;
	border-bottom: 1px solid var(--guide-line);
}

.yens-guide .schema-faq-question {
	display: block;
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: 20px;
	line-height: 1.3;
	color: var(--yens-trade-ink);
	margin: 0 0 6px;
}

.yens-guide p.schema-faq-answer {
	font-size: 16px;
	margin: 0;
}

/* Guide cards */
.yens-guide .yens-guide-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 8px 0 12px;
}

.yens-guide a.yens-guide-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 22px 18px;
	background: #fff;
	border: 1px solid var(--guide-line);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.yens-guide a.yens-guide-card:hover,
.yens-guide a.yens-guide-card:focus-visible {
	border-color: #d4ccbe;
	box-shadow: 0 14px 30px -18px rgba(29, 29, 31, 0.35);
	transform: translateY(-2px);
	color: var(--yens-trade-ink);
}

.yens-guide .yens-guide-card__eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--yens-gold);
}

.yens-guide .yens-guide-card__title {
	font-family: var(--yens-font-display);
	font-size: 22px;
	line-height: 1.2;
	color: var(--yens-trade-ink);
}

.yens-guide .yens-guide-card__text {
	font-size: 15px;
	line-height: 1.55;
	color: #4a4a4e;
}

.yens-guide .yens-guide-card__more {
	margin-top: auto;
	padding-top: 8px;
	font-size: 14px;
	font-weight: 700;
	color: var(--yens-trade-ink);
}

@media (max-width: 640px) {
	.yens-guide p,
	.yens-guide li {
		font-size: 16px;
	}

	.yens-guide p.yens-guide-lead {
		font-size: 19px;
	}

	.yens-guide .yens-guide-cards {
		grid-template-columns: 1fr;
	}

	.yens-guide .yens-guide-cta,
	.yens-guide .yens-guide-facts {
		padding: 20px 18px;
	}

	.yens-guide .yens-guide-table th,
	.yens-guide .yens-guide-table td {
		padding: 10px 8px;
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yens-guide a.yens-guide-card {
		transition: none;
	}

	.yens-guide a.yens-guide-card:hover {
		transform: none;
	}
}

/* Guide page titles line up with the guide column */
.parent-pageid-14485 .nv-page-title-wrap {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

.parent-pageid-14485 .nv-page-title h1 {
	font-family: var(--yens-font-display);
	font-weight: 500;
	font-size: clamp(30px, 3.4vw, 42px);
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-transform: none;
}

.parent-pageid-14485 .nv-page-title h1::after {
	background: var(--yens-gold);
}
