/* Iceland Natura Site 2.0.2 — public retail shell */

/* --------------------------------------------------------------------------
   Blocksy header refinements
   -------------------------------------------------------------------------- */
#header .site-title a[rel="home"] {
	display: block !important;
	width: 260px !important;
	height: 66px !important;
	font-size: 0 !important;
	line-height: 0 !important;
	background-image: url('../logos/iceland-natura-header.png') !important;
	background-repeat: no-repeat !important;
	background-position: left center !important;
	background-size: contain !important;
}

#header [data-device="desktop"] [data-row="middle"] {
	--height: 88px;
}

#header .header-menu-1 .ct-menu-link {
	font-size: 15px;
	line-height: 1.2;
	letter-spacing: .035em;
}

.ins-home {
	--ins-ink: #242424;
	--ins-paper: #fff;
	--ins-warm: #f5f1eb;
	color: var(--ins-ink);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	background: #fff;
}

.ins-home * {
	box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.ins-home-hero {
	position: relative;
	min-height: 620px;
	background: #dfe6e9 center/cover no-repeat;
	display: grid;
	place-items: center;
	color: #242424;
	text-align: center;
}

.ins-home-hero__shade,
.ins-boutique-door__shade {
	position: absolute;
	inset: 0;
}

/* The new hero is intentionally bright. Keep it bright rather than creating
   contrast with a gloomy dark wash. */
.ins-home-hero__shade {
	background: rgba(255, 255, 255, .03);
}

.ins-boutique-door__shade {
	background: linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .54));
}

.ins-home-hero__content {
	position: relative;
	z-index: 2;
	max-width: 900px;
	padding: 78px 30px;
	color: #242424;
}

.ins-kicker {
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: .20em;
	text-transform: uppercase;
	margin: 0 0 14px;
}

.ins-home-hero h1 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(44px, 5vw, 59px);
	font-weight: 400;
	line-height: .98;
	margin: 0 0 20px;
	text-transform: uppercase;
	letter-spacing: .018em;
	color: #242424 !important;
	text-shadow: 0 1px 2px rgba(255, 255, 255, .45);
}

.ins-home-hero p:not(.ins-kicker) {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(19px, 1.75vw, 22px);
	line-height: 1.42;
	max-width: 740px;
	margin: 0 auto 28px;
	color: #242424;
	text-shadow: 0 1px 2px rgba(255, 255, 255, .5);
}

/* --------------------------------------------------------------------------
   Buttons and common type
   -------------------------------------------------------------------------- */
.ins-button {
	display: inline-block;
	border: 1px solid #2a2a2a;
	padding: 13px 25px;
	text-decoration: none !important;
	color: #242424;
	background: transparent;
	font-size: 16px;
	line-height: 1.25;
	letter-spacing: .02em;
}

.ins-button:hover {
	background: #242424;
	color: #fff;
}

.ins-button--light {
	border-color: #2a2a2a;
	color: #242424;
	background: rgba(255, 255, 255, .18);
}

.ins-button--light:hover {
	background: #242424;
	color: #fff;
}

/* --------------------------------------------------------------------------
   Boutique entrances
   -------------------------------------------------------------------------- */
.ins-boutique-doors {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	min-height: 520px;
}

.ins-boutique-door {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: 520px;
	background: #8b8b87 center/cover no-repeat;
	color: #fff;
	text-decoration: none !important;
	border-right: 2px solid #fff;
}

.ins-boutique-door:last-child {
	border-right: 0;
}

.ins-boutique-door__content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 38px 28px 46px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	width: 100%;
}

.ins-boutique-door__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 72%;
	max-height: 105px;
	object-fit: contain;
	filter: drop-shadow(0 1px 8px rgba(0, 0, 0, .2));
}

.ins-boutique-door--jonamaria .ins-boutique-door__logo {
	max-height: 120px;
	max-width: 40%;
}

.ins-boutique-door--fenris .ins-boutique-door__logo {
	max-width: 72%;
	max-height: 92px;
}

.ins-boutique-door--esterer .ins-boutique-door__logo {
	max-width: 76%;
	max-height: 105px;
}

.ins-boutique-door small {
	font-size: 17px;
	line-height: 1.4;
	max-width: 300px;
	text-shadow: 0 1px 5px rgba(0, 0, 0, .5);
}

.ins-boutique-door em {
	font-size: 16px;
	line-height: 1.2;
	font-style: normal;
	border: 1px solid rgba(255, 255, 255, .84);
	padding: 11px 19px;
	margin-top: 6px;
}

/* --------------------------------------------------------------------------
   Benefits
   -------------------------------------------------------------------------- */
.ins-benefits {
	background: var(--ins-warm);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	padding: 30px max(30px, calc((100vw - 1240px) / 2));
	text-align: center;
}

.ins-benefits div {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ins-benefits strong {
	font-size: 14px;
	line-height: 1.25;
	letter-spacing: .08em;
}

.ins-benefits span {
	font-size: 15px;
	line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Product and about sections
   -------------------------------------------------------------------------- */
.ins-products-section {
	max-width: 1440px;
	margin: 0 auto;
	padding: 72px 28px 82px;
	text-align: center;
}

.ins-products-section header h2,
.ins-about-strip h2,
.ins-newsletter h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 37px;
	font-weight: 400;
	line-height: 1.08;
	margin: 0 0 12px;
}

.ins-section-lead {
	font-size: 17px;
	line-height: 1.45;
	margin: 0 0 34px;
	color: #555;
}

.ins-products-section .products {
	text-align: left;
}

.ins-products-section > .ins-button {
	margin-top: 22px;
}

.ins-about-strip {
	display: grid;
	grid-template-columns: minmax(360px, 40%) 1fr;
	min-height: 460px;
	background: var(--ins-warm);
}

.ins-about-strip__copy {
	padding: 70px max(38px, calc((100vw - 1280px) / 2));
	padding-right: 62px;
	align-self: center;
}

.ins-about-strip__copy h2 {
	margin-bottom: 18px;
}

.ins-about-strip__copy > p:not(.ins-kicker) {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	line-height: 1.5;
	max-width: 500px;
	margin: 0 0 14px;
}

.ins-about-strip__copy .ins-button {
	margin-top: 14px;
}

.ins-about-strip__image {
	position: relative;
	background: #6e7170 center/cover no-repeat;
	min-height: 460px;
}

.ins-newsletter {
	background: #151515;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
	padding: 50px max(30px, calc((100vw - 1240px) / 2));
}

.ins-newsletter h2 {
	font-size: 31px;
	margin: 0 0 9px;
	line-height: 1.05;
}

.ins-newsletter p:not(.ins-kicker) {
	font-size: 16px;
	line-height: 1.45;
	margin: 0;
	color: #ddd;
}

.ins-newsletter .ins-kicker {
	color: #bbb;
	margin-bottom: 9px;
}

/* --------------------------------------------------------------------------
   Blocksy footer — preserve WordPress-configured content/links, compact layout
   -------------------------------------------------------------------------- */
#footer.ct-footer [data-row]:not([data-row="bottom"]) .ct-container,
#footer.ct-footer [data-row]:not([data-row="bottom"]) .ct-container > div {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px 32px !important;
}

#footer.ct-footer [data-row]:not([data-row="bottom"]) {
	min-height: 0 !important;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

#footer.ct-footer [data-row]:not([data-row="bottom"]) a,
#footer.ct-footer [data-row]:not([data-row="bottom"]) p,
#footer.ct-footer [data-row]:not([data-row="bottom"]) span,
#footer.ct-footer [data-row]:not([data-row="bottom"]) li {
	font-size: 14px !important;
	line-height: 1.35 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

#footer.ct-footer [data-row="bottom"] {
	min-height: 0 !important;
}

#footer.ct-footer [data-row="bottom"] .ct-container {
	min-height: 0 !important;
	padding-top: 11px !important;
	padding-bottom: 11px !important;
}

#footer.ct-footer [data-row="bottom"] .ct-footer-copyright,
#footer.ct-footer [data-row="bottom"] .ct-footer-copyright p {
	font-size: 12px !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}

/* Compatibility with a simple custom footer if this source package exposes it. */
.ins-site-footer.ins-site-footer--simple {
	display: grid !important;
	grid-template-columns: max-content max-content !important;
	justify-content: center !important;
	align-items: center !important;
	column-gap: 42px !important;
	row-gap: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	padding: 22px max(30px, calc((100vw - 980px) / 2)) 0 !important;
}

.ins-site-footer.ins-site-footer--simple .ins-site-footer__col {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 26px !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ins-site-footer.ins-site-footer--simple .ins-site-footer__col strong {
	display: none !important;
}

.ins-site-footer.ins-site-footer--simple .ins-site-footer__col a,
.ins-site-footer.ins-site-footer--simple .ins-site-footer__col span {
	display: inline-block !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ins-site-footer.ins-site-footer--simple .ins-site-footer__bottom {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 18px 0 0 !important;
	padding: 11px 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .12) !important;
	text-align: center !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

@media (min-width: 1000px) {
	.ins-products-section .products.columns-6 {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.ins-products-section .products.columns-6 li.product {
		width: auto !important;
		margin: 0 !important;
	}
}

@media (max-width: 999px) {
	#header .site-title a[rel="home"] {
		width: 220px !important;
		height: 56px !important;
	}

	#header [data-device="tablet"] [data-row="middle"] {
		--height: 76px;
	}
}

@media (max-width: 900px) {
	.ins-home-hero {
		min-height: 520px;
	}

	.ins-boutique-doors {
		grid-template-columns: 1fr;
	}

	.ins-boutique-door {
		min-height: 440px;
		border-right: 0;
		border-bottom: 2px solid #fff;
	}

	.ins-benefits {
		grid-template-columns: repeat(2, 1fr);
	}

	.ins-about-strip {
		grid-template-columns: 1fr;
	}

	.ins-about-strip__image {
		min-height: 360px;
	}

	.ins-newsletter {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 700px) {
	.ins-site-footer.ins-site-footer--simple {
		grid-template-columns: 1fr !important;
		row-gap: 12px !important;
		padding: 20px 24px 0 !important;
	}

	.ins-site-footer.ins-site-footer--simple .ins-site-footer__col {
		gap: 16px !important;
	}

	.ins-site-footer.ins-site-footer--simple .ins-site-footer__bottom {
		grid-column: 1 !important;
		margin-top: 2px !important;
	}

	#footer.ct-footer [data-row]:not([data-row="bottom"]) .ct-container,
	#footer.ct-footer [data-row]:not([data-row="bottom"]) .ct-container > div {
		gap: 10px 18px !important;
	}
}

@media (max-width: 560px) {
	#header .site-title a[rel="home"] {
		width: 190px !important;
		height: 48px !important;
	}

	#header [data-device="mobile"] [data-row="middle"] {
		--height: 68px;
	}

	.ins-home-hero {
		min-height: 480px;
		background-position: 43% center;
	}

	.ins-home-hero__content {
		padding: 58px 22px;
	}

	.ins-home-hero h1 {
		font-size: 39px;
		line-height: .98;
	}

	.ins-home-hero p:not(.ins-kicker) {
		font-size: 18px;
	}

	.ins-boutique-door {
		min-height: 410px;
	}

	.ins-boutique-door__logo {
		max-width: 64%;
	}

	.ins-benefits {
		grid-template-columns: 1fr;
		padding: 26px 24px;
	}

	.ins-products-section {
		padding: 54px 18px;
	}

	.ins-about-strip__copy {
		padding: 50px 24px;
	}

	.ins-about-strip__image {
		min-height: 290px;
	}

	.ins-newsletter {
		padding: 42px 24px;
	}
}

/* --------------------------------------------------------------------------
   2.0.2 corrections
   -------------------------------------------------------------------------- */

/* The homepage is a storefront, not a normal WordPress page. */
body.home .hero-section,
body.home .page-title,
body.home .entry-header,
body.home [data-prefix="single_page"] > .hero-section {
	display: none !important;
}

/* Keep the bright hero and create local contrast only behind the copy. */
.ins-home-hero {
	border-bottom: 3px solid #fff;
}

.ins-home-hero__shade {
	background: radial-gradient(
		ellipse at center,
		rgba(255, 255, 255, .68) 0%,
		rgba(255, 255, 255, .42) 28%,
		rgba(255, 255, 255, .08) 52%,
		rgba(255, 255, 255, 0) 70%
	);
}

.ins-home-hero__content {
	max-width: 820px;
}

.ins-home-hero h1 {
	font-size: clamp(42px, 4.5vw, 56px);
	line-height: .96;
	text-shadow: 0 1px 1px rgba(255, 255, 255, .75);
}

.ins-home-hero p:not(.ins-kicker) {
	font-weight: 500;
	text-shadow: 0 1px 1px rgba(255, 255, 255, .8);
}

/* Never inherit Blocksy's blue link hover inside the image doors. */
.ins-boutique-door,
.ins-boutique-door:visited,
.ins-boutique-door:hover,
.ins-boutique-door:focus,
.ins-boutique-door:hover *,
.ins-boutique-door:focus * {
	color: #fff !important;
}

.ins-boutique-door:hover em,
.ins-boutique-door:focus em {
	background: rgba(255, 255, 255, .12);
	border-color: #fff;
}

/* Benefits: stronger row and restored line icons. */
.ins-benefits {
	background: #eee7dc;
	padding-top: 27px;
	padding-bottom: 27px;
}

.ins-benefits div {
	align-items: center;
}

.ins-benefit-icon {
	display: block;
	width: 34px;
	height: 34px;
	margin-bottom: 3px;
	color: #242424;
}

.ins-benefit-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* The newsletter chapter has been retired. */
.ins-newsletter {
	display: none !important;
}

/* Replace Blocksy's generic footer with the compact Iceland Natura footer. */
#footer.ct-footer {
	display: none !important;
}

.ins-global-footer {
	background: #151515;
	color: #ddd;
	text-align: center;
}

.ins-global-footer__links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 30px;
	padding: 22px 28px 18px;
}

.ins-global-footer__links a,
.ins-global-footer__links a:visited,
.ins-global-footer__links a:hover,
.ins-global-footer__links a:focus {
	color: #f4f4f4 !important;
	text-decoration: none !important;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: .025em;
}

.ins-global-footer__links a:hover,
.ins-global-footer__links a:focus {
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

.ins-global-footer__copyright {
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding: 10px 20px 11px;
	font-size: 12px;
	line-height: 1.3;
	color: #9d9d9d;
}

@media (max-width: 700px) {
	.ins-global-footer__links {
		gap: 10px 18px;
		padding: 20px 20px 16px;
	}
}

/* --------------------------------------------------------------------------
   2.0.3 refinements
   -------------------------------------------------------------------------- */

/* Slightly larger logo and a touch more header presence. */
#header .site-title a[rel="home"] {
	width: 284px !important;
	height: 72px !important;
}

#header [data-device="desktop"] [data-row="middle"] {
	--height: 92px;
}

/* Pull the homepage content closer to the header and remove extra page spacing. */
body.home .entry-content,
body.home article .entry-content,
body.home [data-prefix="single_page"] .entry-content,
body.home [data-prefix="single_page"] article,
body.home main .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.home .ins-home {
	margin-top: -18px;
}

/* Improve hero readability and make the CTA feel more intentional. */
.ins-home-hero {
	min-height: 600px;
}

.ins-home-hero__shade {
	background: radial-gradient(
		ellipse at center,
		rgba(255, 255, 255, .78) 0%,
		rgba(255, 255, 255, .52) 26%,
		rgba(255, 255, 255, .12) 50%,
		rgba(255, 255, 255, 0) 70%
	);
}

.ins-home-hero__content {
	max-width: 860px;
	padding: 72px 30px;
}

.ins-home-hero h1 {
	font-size: clamp(40px, 4.35vw, 54px);
	line-height: .94;
	color: #1d1d1d !important;
	text-shadow: 0 1px 0 rgba(255,255,255,.9), 0 2px 16px rgba(255,255,255,.42);
}

.ins-home-hero p:not(.ins-kicker) {
	color: #222 !important;
	font-weight: 500;
	text-shadow: 0 1px 0 rgba(255,255,255,.92), 0 2px 12px rgba(255,255,255,.35);
}

.ins-home-hero .ins-button,
.ins-home-hero .ins-button:visited {
	background: #222 !important;
	border-color: #222 !important;
	color: #fff !important;
	box-shadow: 0 8px 26px rgba(0,0,0,.12);
}

.ins-home-hero .ins-button:hover,
.ins-home-hero .ins-button:focus {
	background: #fff !important;
	color: #222 !important;
	border-color: #222 !important;
}

/* Spread benefit items more evenly and introduce subtle separators. */
.ins-benefits {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	padding: 26px max(42px, calc((100vw - 1320px) / 2));
}

.ins-benefits div {
	padding: 0 22px;
	justify-content: flex-start;
	min-height: 92px;
}

.ins-benefits div + div {
	border-left: 1px solid rgba(36, 36, 36, .12);
}

.ins-benefits strong {
	font-size: 15px;
}

.ins-benefits span {
	font-size: 16px;
}

/* Footer/about section copy balance. */
.ins-about-strip__copy h2 {
	max-width: 440px;
}

/* Tablet and mobile fine-tuning. */
@media (max-width: 999px) {
	#header .site-title a[rel="home"] {
		width: 236px !important;
		height: 60px !important;
	}

	#header [data-device="tablet"] [data-row="middle"] {
		--height: 80px;
	}

	body.home .ins-home {
		margin-top: -10px;
	}
}

@media (max-width: 900px) {
	.ins-benefits {
		gap: 16px;
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.ins-benefits div {
		padding: 0 16px;
		min-height: 0;
	}

	.ins-benefits div + div {
		border-left: 0;
	}
}

@media (max-width: 560px) {
	#header .site-title a[rel="home"] {
		width: 200px !important;
		height: 50px !important;
	}

	#header [data-device="mobile"] [data-row="middle"] {
		--height: 70px;
	}

	body.home .ins-home {
		margin-top: -6px;
	}

	.ins-home-hero {
		min-height: 460px;
	}

	.ins-home-hero__content {
		padding: 54px 20px;
	}
}

/* --------------------------------------------------------------------------
   2.0.4 typography + spacing polish
   -------------------------------------------------------------------------- */

/* Header: slightly larger logo, tighter vertical rhythm, clearer nav. */
#header .site-title a[rel="home"] {
	width: 300px !important;
	height: 76px !important;
}

#header [data-device="desktop"] [data-row="middle"] {
	--height: 94px;
}

#header .header-menu-1 .ct-menu-link {
	font-size: 15.5px !important;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: .025em;
}

/* Reduce empty space between header and hero without touching global pages. */
body.home .site-main,
body.home #main,
body.home .ct-container-full {
	padding-top: 0 !important;
}

body.home .ins-home {
	margin-top: -26px;
}

/* Hero hierarchy. */
.ins-home-hero__content {
	padding-top: 66px;
	padding-bottom: 66px;
}

.ins-home-hero h1 {
	font-size: clamp(39px, 4.15vw, 52px);
	line-height: .93;
	letter-spacing: .012em;
	margin-bottom: 17px;
}

.ins-home-hero p:not(.ins-kicker) {
	font-size: clamp(18px, 1.6vw, 21px);
	line-height: 1.35;
	margin-bottom: 24px;
}

.ins-home-hero .ins-button {
	padding: 14px 28px;
	font-size: 15.5px;
	font-weight: 600;
	letter-spacing: .015em;
}

/* Consistent button treatment throughout homepage. */
.ins-home .ins-button,
.ins-home .ins-boutique-door em {
	border-radius: 0;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.ins-home .ins-button:not(.ins-button--light) {
	padding: 13px 26px;
	font-size: 15px;
}

/* Boutique text slightly more balanced with the photography. */
.ins-boutique-door__content {
	padding-bottom: 42px;
	gap: 12px;
}

.ins-boutique-door small {
	font-size: 16px;
	line-height: 1.35;
}

.ins-boutique-door em {
	font-size: 15px;
	padding: 11px 20px;
}

/* Benefit strip: use the full row with comfortable separators. */
.ins-benefits {
	max-width: none;
	width: 100%;
	padding-left: max(30px, calc((100vw - 1400px) / 2));
	padding-right: max(30px, calc((100vw - 1400px) / 2));
}

.ins-benefits div {
	padding: 0 34px;
	justify-content: center;
}

.ins-benefit-icon {
	width: 36px;
	height: 36px;
	margin-bottom: 5px;
}

.ins-benefits strong {
	font-size: 14.5px;
	line-height: 1.15;
}

.ins-benefits span {
	font-size: 15px;
	line-height: 1.3;
}

/* Product section: less dead air while preserving premium spacing. */
.ins-products-section {
	padding-top: 62px;
	padding-bottom: 68px;
}

.ins-products-section header h2,
.ins-about-strip h2 {
	line-height: 1.02;
}

.ins-products-section header h2 {
	font-size: 35px;
}

.ins-section-lead {
	font-size: 16px;
	margin-bottom: 28px;
}

/* About block: slightly lighter editorial scale. */
.ins-about-strip__copy {
	padding-top: 62px;
	padding-bottom: 62px;
}

.ins-about-strip h2 {
	font-size: 34px;
	line-height: 1.03;
	margin-bottom: 16px;
}

.ins-about-strip__copy > p:not(.ins-kicker) {
	font-size: 17px;
	line-height: 1.48;
}

/* Footer: one calm row with a tighter copyright strip. */
.ins-global-footer__links {
	gap: 10px 34px;
	padding-top: 20px;
	padding-bottom: 16px;
}

.ins-global-footer__links a,
.ins-global-footer__links a:visited,
.ins-global-footer__links a:hover,
.ins-global-footer__links a:focus {
	font-size: 13.5px;
}

.ins-global-footer__copyright {
	padding-top: 8px;
	padding-bottom: 9px;
}

@media (max-width: 999px) {
	#header .site-title a[rel="home"] {
		width: 240px !important;
		height: 61px !important;
	}
	body.home .ins-home { margin-top: -14px; }
}

@media (max-width: 700px) {
	.ins-benefits div { padding: 4px 16px; }
	.ins-products-section { padding-top: 48px; padding-bottom: 52px; }
}

@media (max-width: 560px) {
	#header .site-title a[rel="home"] {
		width: 204px !important;
		height: 51px !important;
	}
	body.home .ins-home { margin-top: -8px; }
	.ins-home-hero h1 { font-size: 37px; }
	.ins-home-hero p:not(.ins-kicker) { font-size: 17px; }
}

/* --------------------------------------------------------------------------
   2.0.5 brighter boutique photography
   -------------------------------------------------------------------------- */
.ins-boutique-door__shade {
	background: linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .34));
}

.ins-boutique-door small,
.ins-boutique-door em {
	text-shadow: 0 1px 5px rgba(0, 0, 0, .68);
}

/* --------------------------------------------------------------------------
   2.0.6 layout repair — use local container geometry, never viewport padding
   -------------------------------------------------------------------------- */

/* The 2.0.5 image swap exposed an old spacing rule that used 100vw to
   calculate inner padding. Inside Blocksy's boxed content this can squeeze
   children into the centre. Keep all homepage section spacing local. */
.ins-benefits {
	display: flex !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	width: 100% !important;
	max-width: none !important;
	gap: 0 !important;
	padding: 26px 24px !important;
}

.ins-benefits > div {
	flex: 1 1 25% !important;
	min-width: 0 !important;
	min-height: 92px !important;
	padding: 0 28px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.ins-benefits > div + div {
	border-left: 1px solid rgba(36, 36, 36, .13) !important;
}

.ins-benefits .ins-benefit-icon {
	flex: 0 0 auto !important;
	width: 36px !important;
	height: 36px !important;
	margin: 0 0 7px !important;
}

.ins-benefits strong,
.ins-benefits span {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
}

/* Repair the about panel using local padding and a fixed editorial proportion. */
.ins-about-strip {
	display: grid !important;
	grid-template-columns: minmax(330px, 40%) minmax(0, 60%) !important;
	min-height: 440px !important;
	height: auto !important;
	align-items: stretch !important;
	overflow: hidden !important;
}

.ins-about-strip__copy {
	display: block !important;
	align-self: center !important;
	min-width: 0 !important;
	padding: 54px 48px !important;
}

.ins-about-strip__copy .ins-kicker,
.ins-about-strip__copy h2,
.ins-about-strip__copy > p,
.ins-about-strip__copy .ins-button {
	visibility: visible !important;
	opacity: 1 !important;
}

.ins-about-strip__copy h2 {
	max-width: 420px !important;
}

.ins-about-strip__copy > p:not(.ins-kicker) {
	max-width: 470px !important;
}

.ins-about-strip__image {
	min-width: 0 !important;
	min-height: 440px !important;
	height: auto !important;
	background-size: cover !important;
	background-position: center center !important;
}

/* Keep the product block from inheriting excessive viewport-derived spacing. */
.ins-products-section {
	padding-left: 28px !important;
	padding-right: 28px !important;
}

@media (max-width: 900px) {
	.ins-benefits {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
		padding: 22px 18px !important;
	}

	.ins-benefits > div {
		padding: 18px !important;
		min-height: 120px !important;
		border-left: 0 !important;
	}

	.ins-benefits > div:nth-child(even) {
		border-left: 1px solid rgba(36, 36, 36, .13) !important;
	}

	.ins-benefits > div:nth-child(n+3) {
		border-top: 1px solid rgba(36, 36, 36, .13) !important;
	}

	.ins-about-strip {
		grid-template-columns: 1fr !important;
	}

	.ins-about-strip__copy {
		padding: 46px 30px !important;
	}

	.ins-about-strip__image {
		min-height: 360px !important;
	}
}

@media (max-width: 560px) {
	.ins-benefits {
		grid-template-columns: 1fr !important;
		padding: 16px 22px !important;
	}

	.ins-benefits > div,
	.ins-benefits > div:nth-child(even),
	.ins-benefits > div:nth-child(n+3) {
		border-left: 0 !important;
		border-top: 0 !important;
		border-bottom: 1px solid rgba(36, 36, 36, .11) !important;
		min-height: 0 !important;
		padding: 20px 8px !important;
	}

	.ins-benefits > div:last-child {
		border-bottom: 0 !important;
	}

	.ins-about-strip__copy {
		padding: 40px 24px !important;
	}

	.ins-about-strip__image {
		min-height: 290px !important;
	}
}

/* --------------------------------------------------------------------------
   2.0.7 final visual polish
   -------------------------------------------------------------------------- */

/* Stronger two-line hero statement with slightly better composition. */
.ins-home-hero__content {
	max-width: 900px;
}

.ins-home-hero h1 {
	line-height: .88;
	letter-spacing: .012em;
	margin-bottom: 18px;
}

.ins-home-hero h1 span {
	display: block;
}

.ins-home-hero h1 span + span {
	margin-top: .06em;
}

@media (min-width: 901px) {
	.ins-home-hero__content {
		transform: translateX(-4%);
	}
}

@media (max-width: 900px) {
	.ins-home-hero__content {
		transform: none;
	}
	.ins-home-hero h1 {
		line-height: .9;
	}
}

@media (max-width: 560px) {
	.ins-home-hero h1 {
		font-size: 37px;
		line-height: .9;
	}
	.ins-home-hero h1 span + span {
		margin-top: .04em;
	}
}

/* --------------------------------------------------------------------------
   2.0.8 micro-polish before the next layer
   -------------------------------------------------------------------------- */

/* Header: final 4–5% lift without making the navigation feel secondary. */
#header .site-title a[rel="home"] {
	width: 314px !important;
	height: 80px !important;
}

#header [data-device="desktop"] [data-row="middle"] {
	--height: 96px;
}

#header .header-menu-1 .ct-menu-link {
	font-size: 15.75px !important;
	letter-spacing: .022em;
}

/* Hero-to-boutique transition: deliberate thin white rule, no dead gap. */
.ins-home-hero {
	border-bottom: 4px solid #fff !important;
}

.ins-boutique-doors {
	margin-top: 0 !important;
}

/* Boutique imagery is now bright; use only a light lower fade for copy. */
.ins-boutique-door__shade {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, .015) 0%,
		rgba(0, 0, 0, .05) 45%,
		rgba(0, 0, 0, .27) 100%
	) !important;
}

.ins-boutique-door__content {
	padding-bottom: 40px;
	gap: 11px;
}

.ins-boutique-door small {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.32;
	text-shadow: 0 1px 6px rgba(0,0,0,.72), 0 0 2px rgba(0,0,0,.5);
}

.ins-boutique-door em {
	font-size: 15px;
	background: rgba(0,0,0,.16);
	border-color: rgba(255,255,255,.92);
	text-shadow: 0 1px 4px rgba(0,0,0,.7);
}

.ins-boutique-door:hover em,
.ins-boutique-door:focus em {
	background: rgba(255,255,255,.94) !important;
	color: #222 !important;
	text-shadow: none;
}

/* Benefits: keep icons visually in charge of the small-print copy. */
.ins-benefits .ins-benefit-icon {
	width: 38px !important;
	height: 38px !important;
	margin-bottom: 8px !important;
}

.ins-benefits strong {
	letter-spacing: .075em;
}

/* Small editorial tightening across the lower homepage. */
.ins-products-section {
	padding-top: 58px !important;
	padding-bottom: 62px !important;
}

.ins-about-strip__copy {
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

.ins-about-strip h2 {
	line-height: 1.0 !important;
}

@media (max-width: 999px) {
	#header .site-title a[rel="home"] {
		width: 246px !important;
		height: 62px !important;
	}

	#header [data-device="tablet"] [data-row="middle"] {
		--height: 82px;
	}
}

@media (max-width: 560px) {
	#header .site-title a[rel="home"] {
		width: 208px !important;
		height: 52px !important;
	}

	#header [data-device="mobile"] [data-row="middle"] {
		--height: 72px;
	}

	.ins-home-hero {
		border-bottom-width: 3px !important;
	}
}

/* --------------------------------------------------------------------------
   2.0.10 hero title breathing room
   -------------------------------------------------------------------------- */
.ins-home-hero h1 {
	line-height: 1.04;
	letter-spacing: .012em;
}

.ins-home-hero h1 span + span {
	margin-top: .02em;
}

@media (max-width: 900px) {
	.ins-home-hero h1 {
		line-height: 1.02;
	}
}

@media (max-width: 560px) {
	.ins-home-hero h1 {
		line-height: 1.02;
		letter-spacing: .01em;
	}
}

/* --------------------------------------------------------------------------
   2.1.0 — Boutique layer / JónaMaría
   -------------------------------------------------------------------------- */

/* Let boutique landing pages behave like storefronts, not WordPress articles. */
body.page .ins-boutique-page {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: -18px;
	background: #fff;
	color: #242424;
	overflow: hidden;
}

body.page:has(.ins-boutique-page) .hero-section,
body.page:has(.ins-boutique-page) .page-title,
body.page:has(.ins-boutique-page) .entry-header {
	display: none !important;
}

.ins-boutique-page * {
	box-sizing: border-box;
}

.ins-boutique-hero {
	position: relative;
	min-height: 690px;
	background-position: center 42%;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-align: center;
	border-bottom: 4px solid #fff;
}

.ins-boutique-hero__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(0,0,0,.01) 0%,
		rgba(0,0,0,.05) 48%,
		rgba(0,0,0,.42) 100%
	);
}

.ins-boutique-hero__content {
	position: relative;
	z-index: 2;
	width: min(760px, calc(100% - 48px));
	padding: 0 24px 64px;
	color: #fff;
}

.ins-boutique-hero__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 220px;
	max-height: 132px;
	margin: 0 auto 18px;
	object-fit: contain;
	filter: brightness(0) invert(1) drop-shadow(0 2px 10px rgba(0,0,0,.3));
}

.ins-boutique-hero__content p {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.3;
	margin: 0 0 26px;
	text-shadow: 0 1px 8px rgba(0,0,0,.5);
}

.ins-button--boutique,
.ins-button--boutique:visited {
	background: rgba(255,255,255,.95) !important;
	border-color: #fff !important;
	color: #222 !important;
	font-size: 15px;
	font-weight: 600;
	padding: 13px 26px;
}

.ins-button--boutique:hover,
.ins-button--boutique:focus {
	background: #222 !important;
	border-color: #222 !important;
	color: #fff !important;
}

.ins-boutique-story {
	display: grid;
	grid-template-columns: minmax(180px, .65fr) minmax(0, 2fr);
	gap: 70px;
	align-items: start;
	max-width: 1180px;
	margin: 0 auto;
	padding: 72px 38px 76px;
}

.ins-boutique-story__label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .22em;
	padding-top: 9px;
	color: #565656;
}

.ins-boutique-story__copy {
	max-width: 760px;
}

.ins-boutique-story__copy h2,
.ins-boutique-products__header h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	color: #1f1f1f;
}

.ins-boutique-story__copy h2 {
	font-size: clamp(34px, 3.25vw, 48px);
	line-height: 1.03;
	margin: 0 0 24px;
	max-width: 730px;
}

.ins-boutique-story__copy p {
	font-size: 18px;
	line-height: 1.65;
	color: #4b4b4b;
	max-width: 690px;
	margin: 0;
}

.ins-boutique-products {
	background: #f6f2ec;
	padding: 66px max(30px, calc((100vw - 1320px) / 2)) 82px;
}

.ins-boutique-products__header {
	text-align: center;
	margin: 0 auto 42px;
}

.ins-boutique-products__header .ins-kicker {
	margin-bottom: 10px;
	color: #67615a;
}

.ins-boutique-products__header h2 {
	font-size: clamp(34px, 3vw, 44px);
	line-height: 1.05;
	margin: 0;
}

.ins-boutique-products__grid .products {
	margin-bottom: 0;
}

.ins-boutique-products__grid li.product {
	background: #fff;
}

@media (max-width: 900px) {
	body.page .ins-boutique-page {
		margin-top: -10px;
	}

	.ins-boutique-hero {
		min-height: 600px;
		background-position: center 38%;
	}

	.ins-boutique-story {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 56px 30px 62px;
	}

	.ins-boutique-story__label {
		padding-top: 0;
	}

	.ins-boutique-products {
		padding: 54px 24px 66px;
	}
}

@media (max-width: 560px) {
	body.page .ins-boutique-page {
		margin-top: -6px;
	}

	.ins-boutique-hero {
		min-height: 520px;
		background-position: 57% center;
	}

	.ins-boutique-hero__content {
		padding-bottom: 42px;
	}

	.ins-boutique-hero__logo {
		max-width: 160px;
		max-height: 104px;
	}

	.ins-boutique-hero__content p {
		font-size: 21px;
	}

	.ins-boutique-story {
		padding: 46px 24px 50px;
	}

	.ins-boutique-story__copy h2 {
		font-size: 33px;
	}

	.ins-boutique-story__copy p {
		font-size: 17px;
	}

	.ins-boutique-products {
		padding: 46px 18px 56px;
	}
}

/* --------------------------------------------------------------------------
   2.1.1 — boutique polish + homepage divider
   -------------------------------------------------------------------------- */

/* Match the white separator below the homepage hero before the benefits row. */
.ins-home .ins-benefits {
	border-top: 4px solid #fff;
}

/* Keep active navigation in the Iceland Natura palette, not Blocksy blue. */
#header .menu-item.current-menu-item > .ct-menu-link,
#header .menu-item.current_page_item > .ct-menu-link,
#header .menu-item.current-menu-ancestor > .ct-menu-link {
	color: #202020 !important;
}

#header .menu-item.current-menu-item > .ct-menu-link::after,
#header .menu-item.current_page_item > .ct-menu-link::after {
	background-color: #202020 !important;
}

/* Boutique CTA now follows the black retail CTA language from the homepage. */
.ins-button--boutique,
.ins-button--boutique:visited {
	background: #222 !important;
	border-color: #222 !important;
	color: #fff !important;
}

.ins-button--boutique:hover,
.ins-button--boutique:focus {
	background: #fff !important;
	border-color: #222 !important;
	color: #222 !important;
}

/* Tighten the editorial intro without making it feel cramped. */
.ins-boutique-story {
	padding-top: 60px;
	padding-bottom: 62px;
}

/* Do not over-fit the current temporary hero image. Keep content centered until
   the final JónaMaría hero artwork is chosen. */
.ins-boutique-hero__content {
	text-align: center;
}

@media (max-width: 900px) {
	.ins-boutique-story {
		padding-top: 50px;
		padding-bottom: 54px;
	}
}

@media (max-width: 560px) {
	.ins-boutique-story {
		padding-top: 42px;
		padding-bottom: 44px;
	}
}

/* --------------------------------------------------------------------------
   2.1.2 — final JónaMaría hero direction
   -------------------------------------------------------------------------- */

/* Dedicated bright JónaMaría hero: scarf first, jewelry second, open landscape
   on the left for copy. Keep the homepage boutique tile independent. */
.ins-boutique-page--jonamaria .ins-boutique-hero {
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	background-position: center center;
}

.ins-boutique-page--jonamaria .ins-boutique-hero__shade {
	background: linear-gradient(
		90deg,
		rgba(255,255,255,.78) 0%,
		rgba(255,255,255,.58) 22%,
		rgba(255,255,255,.18) 42%,
		rgba(255,255,255,0) 60%
	);
}

.ins-boutique-page--jonamaria .ins-boutique-hero__content {
	width: min(470px, 42%);
	margin-left: 8%;
	padding: 0;
	text-align: left;
	color: #222;
}

.ins-boutique-page--jonamaria .ins-boutique-hero__logo {
	max-width: 210px;
	max-height: 126px;
	margin: 0 0 18px;
	filter: brightness(0);
}

.ins-boutique-page--jonamaria .ins-boutique-hero__content p {
	max-width: 430px;
	color: #222;
	text-shadow: none;
	margin-bottom: 28px;
}

@media (max-width: 900px) {
	.ins-boutique-page--jonamaria .ins-boutique-hero {
		background-position: 58% center;
	}

	.ins-boutique-page--jonamaria .ins-boutique-hero__shade {
		background: linear-gradient(
			90deg,
			rgba(255,255,255,.82) 0%,
			rgba(255,255,255,.55) 40%,
			rgba(255,255,255,.08) 70%,
			rgba(255,255,255,0) 100%
		);
	}

	.ins-boutique-page--jonamaria .ins-boutique-hero__content {
		width: min(430px, 56%);
		margin-left: 6%;
	}
}

@media (max-width: 560px) {
	.ins-boutique-page--jonamaria .ins-boutique-hero {
		align-items: flex-end;
		background-position: 68% center;
	}

	.ins-boutique-page--jonamaria .ins-boutique-hero__shade {
		background: linear-gradient(
			180deg,
			rgba(255,255,255,0) 30%,
			rgba(255,255,255,.42) 58%,
			rgba(255,255,255,.92) 100%
		);
	}

	.ins-boutique-page--jonamaria .ins-boutique-hero__content {
		width: calc(100% - 48px);
		margin: 0 24px;
		padding-bottom: 34px;
		text-align: center;
	}

	.ins-boutique-page--jonamaria .ins-boutique-hero__logo {
		max-width: 150px;
		margin: 0 auto 12px;
	}

	.ins-boutique-page--jonamaria .ins-boutique-hero__content p {
		margin-left: auto;
		margin-right: auto;
		font-size: 20px;
	}
}

/* --------------------------------------------------------------------------
   2.1.3 — JónaMaría boutique image system
   -------------------------------------------------------------------------- */

.ins-jm-categories {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 28px 4px;
	background: #fff;
}

.ins-jm-category {
	position: relative;
	min-height: 520px;
	background-position: center center;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

.ins-jm-category__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.01) 35%, rgba(0,0,0,.46) 100%);
}

.ins-jm-category__content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 34px 28px 30px;
	color: #fff;
	text-align: left;
}

.ins-jm-category__content h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(27px, 2.1vw, 34px);
	font-weight: 400;
	line-height: 1.05;
	margin: 0 0 9px;
	color: #fff !important;
	text-shadow: 0 1px 7px rgba(0,0,0,.32);
}

.ins-jm-category__content a,
.ins-jm-category__content a:visited {
	display: inline-block;
	color: #fff !important;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: .035em;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(255,255,255,.82);
	padding-bottom: 3px;
}

.ins-jm-category__content a:hover,
.ins-jm-category__content a:focus {
	border-bottom-color: #fff;
}

/* Fine-tune focal points of the category crops. */
.ins-jm-category:nth-child(1) { background-position: 50% 42%; }
.ins-jm-category:nth-child(2) { background-position: 53% 36%; }
.ins-jm-category:nth-child(3) { background-position: 52% 39%; }
.ins-jm-category:nth-child(4) { background-position: 52% 42%; }

.ins-jm-details {
	max-width: 1360px;
	margin: 0 auto;
	padding: 68px 28px 82px;
	display: grid;
	gap: 4px;
	background: #fff;
}

.ins-jm-detail {
	display: grid;
	grid-template-columns: 1.18fr .82fr;
	min-height: 430px;
	background: #f5f1eb;
}

.ins-jm-detail--jewelry {
	grid-template-columns: .82fr 1.18fr;
}

.ins-jm-detail--jewelry .ins-jm-detail__image {
	order: 2;
}

.ins-jm-detail--jewelry .ins-jm-detail__copy {
	order: 1;
}

.ins-jm-detail__image {
	min-height: 430px;
	background-size: cover;
	background-position: center center;
}

.ins-jm-detail--textile .ins-jm-detail__image {
	background-position: 49% 45%;
}

.ins-jm-detail--jewelry .ins-jm-detail__image {
	background-position: 52% 48%;
}

.ins-jm-detail__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 56px 54px;
}

.ins-jm-detail__copy .ins-kicker {
	margin-bottom: 12px;
	color: #6d665e;
}

.ins-jm-detail__copy h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(31px, 3vw, 43px);
	font-weight: 400;
	line-height: 1.06;
	margin: 0 0 18px;
	color: #222;
}

.ins-jm-detail__copy > p:not(.ins-kicker) {
	font-size: 17px;
	line-height: 1.6;
	margin: 0;
	max-width: 430px;
	color: #4c4a47;
}

/* Keep the product grid visually between discovery and editorial detail when it exists. */
.ins-boutique-page--jonamaria .ins-boutique-products {
	border-top: 4px solid #fff;
	border-bottom: 4px solid #fff;
}

@media (max-width: 1050px) {
	.ins-jm-categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ins-jm-category {
		min-height: 500px;
	}
}

@media (max-width: 900px) {
	.ins-jm-details {
		padding: 52px 24px 64px;
	}

	.ins-jm-detail,
	.ins-jm-detail--jewelry {
		grid-template-columns: 1fr 1fr;
		min-height: 380px;
	}

	.ins-jm-detail__image {
		min-height: 380px;
	}

	.ins-jm-detail__copy {
		padding: 42px 34px;
	}
}

@media (max-width: 700px) {
	.ins-jm-categories {
		grid-template-columns: 1fr;
		padding: 0 18px 4px;
	}

	.ins-jm-category {
		min-height: 470px;
	}

	.ins-jm-details {
		padding: 42px 18px 54px;
		gap: 4px;
	}

	.ins-jm-detail,
	.ins-jm-detail--jewelry {
		grid-template-columns: 1fr;
	}

	.ins-jm-detail--jewelry .ins-jm-detail__image,
	.ins-jm-detail--jewelry .ins-jm-detail__copy {
		order: initial;
	}

	.ins-jm-detail__image {
		min-height: 410px;
	}

	.ins-jm-detail__copy {
		padding: 38px 28px 42px;
	}
}

@media (max-width: 460px) {
	.ins-jm-category {
		min-height: 420px;
	}

	.ins-jm-category__content {
		padding: 28px 22px 25px;
	}

	.ins-jm-detail__image {
		min-height: 350px;
	}
}

/* --------------------------------------------------------------------------
   2.1.4 — JónaMaría signature identity in editorial intro
   -------------------------------------------------------------------------- */
.ins-boutique-story__brand {
	display: flex;
	align-items: flex-start;
	padding-top: 5px;
}

.ins-boutique-story__brand img {
	display: block;
	width: min(190px, 100%);
	height: auto;
	object-fit: contain;
}

@media (max-width: 900px) {
	.ins-boutique-story__brand {
		align-items: center;
	}

	.ins-boutique-story__brand img {
		width: 165px;
	}
}

@media (max-width: 560px) {
	.ins-boutique-story__brand img {
		width: 150px;
		margin: 0 auto;
	}
}

/* --------------------------------------------------------------------------
   2.1.5 — JónaMaría visual lock
   -------------------------------------------------------------------------- */

/* Give the full signature enough presence to read as the brand identity,
   while keeping the editorial headline dominant. */
.ins-boutique-story__brand {
	align-items: center;
	justify-content: center;
	padding-top: 0;
}

.ins-boutique-story__brand img {
	width: min(280px, 92%);
	max-width: 100%;
}

/* Normalize title contrast across four different lifestyle photographs. */
.ins-jm-category__shade {
	background: linear-gradient(
		180deg,
		rgba(0,0,0,0) 28%,
		rgba(0,0,0,.05) 52%,
		rgba(0,0,0,.30) 76%,
		rgba(0,0,0,.62) 100%
	);
}

.ins-jm-category__content h3 {
	text-shadow: 0 2px 10px rgba(0,0,0,.34);
}

/* A restrained boutique interaction: enough feedback to feel clickable,
   without turning the image grid into an effects-heavy gallery. */
.ins-jm-category {
	transition: box-shadow .28s ease;
}

.ins-jm-category::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: inherit;
	background-position: inherit;
	background-size: cover;
	transform: scale(1);
	transition: transform .42s ease;
	pointer-events: none;
}

.ins-jm-category > .ins-jm-category__shade,
.ins-jm-category > .ins-jm-category__content {
	z-index: 2;
}

.ins-jm-category:hover::before,
.ins-jm-category:focus-within::before {
	transform: scale(1.025);
}

@media (max-width: 900px) {
	.ins-boutique-story__brand img {
		width: min(250px, 80%);
	}
}

@media (max-width: 560px) {
	.ins-boutique-story__brand img {
		width: min(220px, 76vw);
	}
}

/* --------------------------------------------------------------------------
   2.1.7 — refine JónaMaría signature block hierarchy
   -------------------------------------------------------------------------- */
.ins-boutique-story__brand {
	flex-direction: column;
	gap: 18px;
	text-align: center;
}

.ins-boutique-story__brand-copy {
	max-width: 300px;
	margin: 0 auto;
	padding-top: 16px;
	position: relative;
}

.ins-boutique-story__brand-copy::before {
	content: "";
	display: block;
	width: 46px;
	height: 1px;
	background: rgba(31,31,31,.28);
	margin: 0 auto 20px;
}

.ins-boutique-story__brand-line {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #6b6661;
}

.ins-boutique-story__brand-line--lead {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 17px;
	line-height: 1.42;
	color: #282522;
	margin-bottom: 7px;
}

@media (max-width: 900px) {
	.ins-boutique-story__brand-copy {
		max-width: 360px;
	}
}

@media (max-width: 560px) {
	.ins-boutique-story__brand {
		gap: 14px;
	}

	.ins-boutique-story__brand-copy {
		max-width: 310px;
		padding-top: 12px;
	}

	.ins-boutique-story__brand-line {
		font-size: 13px;
	}

	.ins-boutique-story__brand-line--lead {
		font-size: 16px;
	}
}


/* --------------------------------------------------------------------------
   2.1.8 — JónaMaría final micro-polish
   -------------------------------------------------------------------------- */

/* Pull the boutique canvas a touch closer to the global header. */
body.page .ins-boutique-page {
	margin-top: -28px;
}

/* Slightly tighter editorial rhythm between intro, categories and detail blocks. */
.ins-boutique-story {
	padding-top: 56px;
	padding-bottom: 58px;
}

.ins-jm-details {
	padding-top: 58px;
	padding-bottom: 72px;
}

/* Keep category labels calm and consistent over the four different crops. */
.ins-jm-category__content h3 {
	letter-spacing: .005em;
	text-shadow: 0 1px 8px rgba(0,0,0,.38);
}

@media (max-width: 900px) {
	body.page .ins-boutique-page {
		margin-top: -16px;
	}

	.ins-boutique-story {
		padding-top: 46px;
		padding-bottom: 50px;
	}

	.ins-jm-details {
		padding-top: 48px;
		padding-bottom: 58px;
	}
}

@media (max-width: 560px) {
	body.page .ins-boutique-page {
		margin-top: -10px;
	}

	.ins-boutique-story {
		padding-top: 40px;
		padding-bottom: 42px;
	}

	.ins-jm-details {
		padding-top: 38px;
		padding-bottom: 48px;
	}
}

/* --------------------------------------------------------------------------
   2.2.0 — Fenris RVK boutique layer
   -------------------------------------------------------------------------- */
.ins-boutique-page--fenris {
	--fenris-ink: #17191b;
	--fenris-paper: #f3f1ed;
	--fenris-charcoal: #202326;
	background: #fff;
}

.ins-boutique-page--fenris .ins-boutique-hero {
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	background-position: center center;
	min-height: 690px;
}

.ins-boutique-page--fenris .ins-boutique-hero__shade {
	background: linear-gradient(90deg, rgba(8,12,15,.72) 0%, rgba(8,12,15,.42) 30%, rgba(8,12,15,.05) 58%, rgba(8,12,15,0) 78%);
}

.ins-boutique-page--fenris .ins-boutique-hero__content {
	width: min(500px, 42%);
	margin-left: 8%;
	padding: 0;
	text-align: left;
	color: #fff;
}

.ins-boutique-page--fenris .ins-boutique-hero__logo {
	max-width: 310px;
	max-height: 118px;
	margin: 0 0 20px;
	filter: brightness(0) invert(1) drop-shadow(0 2px 12px rgba(0,0,0,.24));
}

.ins-boutique-page--fenris .ins-boutique-hero__content p {
	max-width: 420px;
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 500;
	letter-spacing: .01em;
	text-shadow: 0 2px 12px rgba(0,0,0,.55);
}

.ins-boutique-page--fenris .ins-button--boutique,
.ins-boutique-page--fenris .ins-button--boutique:visited,
.ins-button--fenris,
.ins-button--fenris:visited {
	background: #f3f3f1 !important;
	border-color: #f3f3f1 !important;
	color: #17191b !important;
}

.ins-boutique-page--fenris .ins-button--boutique:hover,
.ins-boutique-page--fenris .ins-button--boutique:focus,
.ins-button--fenris:hover,
.ins-button--fenris:focus {
	background: #17191b !important;
	border-color: #fff !important;
	color: #fff !important;
}

.ins-fenris-story {
	background: #fff;
}

.ins-fenris-story__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	padding-top: 6px;
}

.ins-fenris-story__brand img {
	display: block;
	width: min(300px, 100%);
	height: auto;
	filter: none;
}

.ins-fenris-story__tagline {
	max-width: 270px;
	margin: 0;
	padding-top: 18px;
	border-top: 1px solid rgba(23,25,27,.22);
	font-size: 14px;
	line-height: 1.55;
	letter-spacing: .025em;
	color: #5a5d60;
}

.ins-fenris-categories {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px;
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 28px 4px;
	background: #fff;
}

.ins-fenris-category {
	position: relative;
	min-height: 580px;
	background-size: cover;
	background-position: center center;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

.ins-fenris-category__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.02) 28%, rgba(0,0,0,.16) 60%, rgba(0,0,0,.66) 100%);
}

.ins-fenris-category__content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 34px 30px 32px;
	color: #fff;
}

.ins-fenris-category__content h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(27px, 2.15vw, 35px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: .015em;
	margin: 0 0 10px;
	color: #fff !important;
	text-shadow: 0 2px 10px rgba(0,0,0,.38);
}

.ins-fenris-category__content a,
.ins-fenris-category__content a:visited {
	display: inline-block;
	color: #fff !important;
	font-size: 14px;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(255,255,255,.84);
	padding-bottom: 3px;
}

.ins-fenris-category:nth-child(1) { background-position: 52% 45%; }
.ins-fenris-category:nth-child(2) { background-position: 51% 48%; }
.ins-fenris-category:nth-child(3) { background-position: 50% 46%; }

.ins-boutique-page--fenris .ins-boutique-products {
	background: #e9e8e5;
	border-top: 4px solid #fff;
	border-bottom: 4px solid #fff;
}

.ins-fenris-detail {
	max-width: 1360px;
	margin: 0 auto;
	padding: 68px 28px 4px;
	display: grid;
	grid-template-columns: 1.18fr .82fr;
	min-height: 470px;
	background: #fff;
}

.ins-fenris-detail__image {
	min-height: 470px;
	background-size: cover;
	background-position: center center;
}

.ins-fenris-detail__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 58px 56px;
	background: #232527;
	color: #fff;
}

.ins-fenris-detail__copy .ins-kicker {
	color: #b8b9ba;
	margin-bottom: 12px;
}

.ins-fenris-detail__copy h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(32px, 3vw, 44px);
	font-weight: 400;
	line-height: 1.05;
	margin: 0 0 18px;
	color: #fff;
}

.ins-fenris-detail__copy > p:not(.ins-kicker) {
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
	max-width: 440px;
	color: #dadada;
}

.ins-fenris-closing {
	max-width: 1304px;
	margin: 0 auto 72px;
	padding: 58px 30px 62px;
	background: #111315;
	color: #fff;
	text-align: center;
}

.ins-fenris-closing .ins-kicker {
	color: #a9abad;
	margin-bottom: 12px;
}

.ins-fenris-closing h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3.2vw, 48px);
	font-weight: 400;
	line-height: 1.05;
	margin: 0 0 28px;
	color: #fff;
}

@media (max-width: 1000px) {
	.ins-fenris-categories {
		grid-template-columns: 1fr;
	}
	.ins-fenris-category {
		min-height: 520px;
	}
	.ins-fenris-detail {
		grid-template-columns: 1fr 1fr;
		padding: 52px 24px 4px;
	}
}

@media (max-width: 900px) {
	.ins-boutique-page--fenris .ins-boutique-hero {
		background-position: 60% center;
	}
	.ins-boutique-page--fenris .ins-boutique-hero__content {
		width: min(430px, 54%);
		margin-left: 6%;
	}
	.ins-fenris-story__brand {
		align-items: flex-start;
	}
}

@media (max-width: 700px) {
	.ins-fenris-categories {
		padding: 0 18px 4px;
	}
	.ins-fenris-category {
		min-height: 470px;
	}
	.ins-fenris-detail {
		grid-template-columns: 1fr;
		padding: 42px 18px 4px;
	}
	.ins-fenris-detail__image {
		min-height: 390px;
	}
	.ins-fenris-detail__copy {
		padding: 42px 30px 46px;
	}
	.ins-fenris-closing {
		margin: 0 18px 54px;
		padding: 46px 24px 50px;
	}
}

@media (max-width: 560px) {
	.ins-boutique-page--fenris .ins-boutique-hero {
		align-items: flex-end;
		background-position: 68% center;
	}
	.ins-boutique-page--fenris .ins-boutique-hero__shade {
		background: linear-gradient(180deg, rgba(7,9,11,.06) 24%, rgba(7,9,11,.32) 58%, rgba(7,9,11,.84) 100%);
	}
	.ins-boutique-page--fenris .ins-boutique-hero__content {
		width: calc(100% - 48px);
		margin: 0 24px;
		padding-bottom: 36px;
		text-align: center;
	}
	.ins-boutique-page--fenris .ins-boutique-hero__logo {
		max-width: 235px;
		margin: 0 auto 14px;
	}
	.ins-boutique-page--fenris .ins-boutique-hero__content p {
		margin-left: auto;
		margin-right: auto;
		font-size: 20px;
	}
	.ins-fenris-story__brand {
		align-items: center;
		text-align: center;
	}
	.ins-fenris-story__tagline {
		max-width: 310px;
	}
}

/* --------------------------------------------------------------------------
   2.2.1 — Fenris visual polish: stronger brand block + warmer premium detail
   -------------------------------------------------------------------------- */
.ins-fenris-story {
	align-items: center;
	grid-template-columns: minmax(230px, .78fr) minmax(0, 2fr);
	gap: 76px;
}

.ins-fenris-story__brand {
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 20px;
	padding-top: 0;
}

.ins-fenris-story__brand img {
	width: min(255px, 100%);
	max-height: none;
	object-fit: contain;
}

.ins-fenris-story__tagline {
	max-width: 275px;
	padding-top: 20px;
	border-top: 1px solid rgba(23,25,27,.2);
	font-size: 14px;
	line-height: 1.55;
	letter-spacing: .035em;
	color: #56595c;
}

/* Keep the three categories visually related despite the warmer Accessory shot. */
.ins-fenris-category__shade {
	background: linear-gradient(180deg, rgba(0,0,0,.01) 28%, rgba(0,0,0,.14) 58%, rgba(0,0,0,.62) 100%);
}

.ins-fenris-category {
	transition: background-size .45s ease, filter .3s ease;
}

.ins-fenris-category:hover {
	filter: brightness(1.035);
}

/* The editorial detail becomes the page's controlled 'bling' moment. */
.ins-fenris-detail {
	padding-top: 72px;
	grid-template-columns: 1.22fr .78fr;
	min-height: 500px;
}

.ins-fenris-detail__image {
	min-height: 500px;
	background-position: center center;
}

.ins-fenris-detail__copy {
	background: #e8e1d7;
	color: #17191b;
	padding: 60px 58px;
}

.ins-fenris-detail__copy .ins-kicker {
	color: #7b684d;
}

.ins-fenris-detail__copy h2 {
	color: #17191b;
}

.ins-fenris-detail__copy > p:not(.ins-kicker) {
	color: #47423c;
}

/* Give the dark closing statement its own beat instead of one long dark mass. */
.ins-fenris-closing {
	margin-top: 4px;
	border-top: 4px solid #fff;
	padding-top: 54px;
	padding-bottom: 58px;
}

.ins-fenris-closing .ins-kicker {
	color: #c0aa89;
}

@media (max-width: 900px) {
	.ins-fenris-story {
		grid-template-columns: minmax(190px, .72fr) minmax(0, 1.8fr);
		gap: 52px;
	}
	.ins-fenris-story__brand img {
		width: min(225px, 100%);
	}
}

@media (max-width: 700px) {
	.ins-fenris-story {
		grid-template-columns: 1fr;
		gap: 34px;
	}
	.ins-fenris-story__brand img {
		width: min(235px, 72vw);
	}
	.ins-fenris-detail {
		padding-top: 50px;
	}
	.ins-fenris-detail__copy {
		padding: 42px 30px 46px;
	}
}


/* --------------------------------------------------------------------------
   2.2.2 — Fenris typography + terminology refinement
   -------------------------------------------------------------------------- */

/* Brand block: let the full Fenris mark stand on its own. */
.ins-fenris-story__brand {
	gap: 0;
}

.ins-fenris-story__tagline {
	display: none !important;
}

/* The slogan stays, but becomes a distinctive editorial signature. */
.ins-boutique-page--fenris .ins-boutique-hero__content > p,
.ins-fenris-closing h2 {
	font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -.025em;
}

.ins-boutique-page--fenris .ins-boutique-hero__content > p {
	font-size: clamp(28px, 2.2vw, 38px);
	line-height: 1.08;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}

.ins-fenris-closing h2 {
	font-size: clamp(42px, 4.4vw, 66px);
	line-height: 1.02;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 560px) {
	.ins-boutique-page--fenris .ins-boutique-hero__content > p {
		font-size: 26px;
	}
	.ins-fenris-closing h2 {
		font-size: 38px;
	}
}


/* --------------------------------------------------------------------------
   2.2.4 — Fenris image upgrades + lighter image treatment
   -------------------------------------------------------------------------- */

/* Let the upgraded hero image breathe: retain text contrast without a heavy wash. */
.ins-boutique-page--fenris .ins-boutique-hero__shade {
	background: linear-gradient(
		90deg,
		rgba(8,12,15,.54) 0%,
		rgba(8,12,15,.26) 31%,
		rgba(8,12,15,.04) 58%,
		rgba(8,12,15,0) 78%
	);
}

/* Reduce the dark veil on category photography; keep only enough for white labels. */
.ins-fenris-category__shade {
	background: linear-gradient(
		180deg,
		rgba(0,0,0,0) 34%,
		rgba(0,0,0,.07) 62%,
		rgba(0,0,0,.43) 100%
	);
}

/* No standing brightness filter on the Fenris tiles. */
.ins-fenris-category {
	filter: none;
}

.ins-fenris-category:hover {
	filter: brightness(1.02);
}

@media (max-width: 560px) {
	.ins-boutique-page--fenris .ins-boutique-hero__shade {
		background: linear-gradient(
			180deg,
			rgba(7,9,11,.02) 24%,
			rgba(7,9,11,.18) 58%,
			rgba(7,9,11,.67) 100%
		);
	}
}


/* --------------------------------------------------------------------------
   2.2.6 — Fenris closing block alignment
   -------------------------------------------------------------------------- */
.ins-fenris-closing {
	box-sizing: border-box;
	max-width: 1304px;
}


/* --------------------------------------------------------------------------
   2.2.7 — Force Fenris closing panel to the same visible content width
   as the image/text block above (1360 container minus 28px gutters each side).
   -------------------------------------------------------------------------- */
.ins-home .ins-fenris-closing {
	width: calc(100% - 56px) !important;
	max-width: 1304px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

@media (max-width: 700px) {
	.ins-home .ins-fenris-closing {
		width: calc(100% - 32px) !important;
	}
}


/* --------------------------------------------------------------------------
   2.2.8 — Fenris closing panel exact alignment
   The previous 2.2.7 override targeted .ins-home, which is not present on
   the Fenris boutique page. Force the panel to the 1304px inner content line.
   -------------------------------------------------------------------------- */
body.page .ins-boutique-page--fenris .ins-fenris-closing {
	width: calc(100% - 56px) !important;
	max-width: 1304px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

@media (max-width: 900px) {
	body.page .ins-boutique-page--fenris .ins-fenris-closing {
		width: calc(100% - 36px) !important;
	}
}


/* --------------------------------------------------------------------------
   2.3.0 — Ölmühle Esterer boutique layer
   Warm editorial food direction; two-product boutique, no category layer.
   -------------------------------------------------------------------------- */

.ins-boutique-page--esterer {
	--esterer-ink: #242018;
	--esterer-olive: #263326;
	--esterer-olive-dark: #1d281f;
	--esterer-paper: #f4efe6;
	--esterer-cream: #ebe1d2;
	--esterer-gold: #a47b43;
	background: #fff;
	color: var(--esterer-ink);
}

.ins-boutique-page--esterer .ins-boutique-hero {
	min-height: 690px;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	background-position: center center;
}

.ins-boutique-page--esterer .ins-boutique-hero__shade {
	background: linear-gradient(
		90deg,
		rgba(242,232,218,.58) 0%,
		rgba(242,232,218,.28) 30%,
		rgba(242,232,218,.04) 54%,
		rgba(242,232,218,0) 68%
	);
}

.ins-boutique-page--esterer .ins-boutique-hero__content {
	width: min(510px, 43%);
	margin-left: 7.5%;
	padding: 0;
	color: #211d17;
	text-align: left;
}

.ins-boutique-page--esterer .ins-boutique-hero__logo {
	display: block;
	width: min(390px, 100%);
	max-width: none;
	max-height: none;
	height: auto;
	margin: 0 0 22px;
	filter: none;
}

.ins-boutique-page--esterer .ins-boutique-hero__content p {
	margin: 0 0 26px;
	max-width: 430px;
	color: #282119;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(26px, 2.2vw, 34px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0;
	text-shadow: 0 1px 12px rgba(255,255,255,.44);
}

.ins-button--esterer,
.ins-button--esterer:visited {
	background: #20291f !important;
	border-color: #20291f !important;
	color: #fff !important;
}

.ins-button--esterer:hover,
.ins-button--esterer:focus {
	background: #fff !important;
	border-color: #20291f !important;
	color: #20291f !important;
}

.ins-esterer-story {
	background: #fff;
	grid-template-columns: .72fr 1.28fr;
	padding-top: 66px;
	padding-bottom: 66px;
}

.ins-esterer-story__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 18px;
	padding: 8px 18px 8px 0;
}

.ins-esterer-story__brand img {
	display: block;
	width: min(360px, 100%);
	height: auto;
}

.ins-esterer-story__brand > p {
	max-width: 320px;
	margin: 0;
	padding-top: 17px;
	border-top: 1px solid rgba(36,32,24,.18);
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: .025em;
	color: #686055;
}

.ins-esterer-story .ins-kicker {
	color: #887154;
	margin-bottom: 14px;
}

.ins-esterer-story .ins-boutique-story__copy h2 {
	max-width: 760px;
}

.ins-esterer-story .ins-boutique-story__copy p:not(.ins-kicker) {
	max-width: 720px;
}

.ins-esterer-products {
	max-width: 1304px;
	margin: 0 auto;
	padding: 70px 54px 76px;
	background: var(--esterer-paper);
	text-align: center;
	box-sizing: border-box;
}

.ins-esterer-products__header {
	max-width: 760px;
	margin: 0 auto 44px;
}

.ins-esterer-products__header .ins-kicker {
	color: #857157;
	margin-bottom: 12px;
}

.ins-esterer-products__header h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(36px, 3.5vw, 52px);
	font-weight: 400;
	line-height: 1.06;
	margin: 0 0 14px;
	color: var(--esterer-ink);
}

.ins-esterer-products__header > p:not(.ins-kicker) {
	margin: 0;
	font-size: 17px;
	color: #6a6156;
}

.ins-esterer-products__fallback {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	max-width: 980px;
	margin: 0 auto;
}

.ins-esterer-product-card {
	display: grid;
	grid-template-rows: 390px auto;
	background: #fff;
	min-width: 0;
}

.ins-esterer-product-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 34px 34px 18px;
	overflow: hidden;
}

.ins-esterer-product-card__image img {
	display: block;
	height: 330px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.ins-esterer-product-card--large .ins-esterer-product-card__image img {
	height: 355px;
}

.ins-esterer-product-card__copy {
	padding: 24px 28px 30px;
	border-top: 1px solid #eee8dd;
}

.ins-esterer-product-card__copy .ins-kicker {
	color: #8b7559;
	margin-bottom: 8px;
}

.ins-esterer-product-card__copy h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1;
	margin: 0 0 8px;
	color: var(--esterer-ink);
}

.ins-esterer-product-card__copy > p:not(.ins-kicker) {
	margin: 0;
	font-size: 15px;
	color: #6f665b;
}

/* Actual WooCommerce products when the two Esterer products are assigned. */
.ins-esterer-products__woo .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	max-width: 980px;
	margin: 0 auto !important;
}

.ins-esterer-products__woo .woocommerce ul.products::before,
.ins-esterer-products__woo .woocommerce ul.products::after {
	display: none !important;
}

.ins-esterer-products__woo .woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 28px 28px 34px !important;
	background: #fff;
	text-align: center;
	float: none !important;
}

.ins-esterer-products__woo .woocommerce ul.products li.product img {
	max-height: 360px;
	width: auto !important;
	margin: 0 auto 18px !important;
	object-fit: contain;
}

.ins-esterer-products__woo .woocommerce-loop-product__title {
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 25px !important;
	font-weight: 400 !important;
	color: var(--esterer-ink) !important;
}

.ins-esterer-products__woo .price {
	color: #455442 !important;
	font-weight: 600 !important;
}

.ins-esterer-products__woo .button {
	background: var(--esterer-olive) !important;
	color: #fff !important;
	border-radius: 0 !important;
	margin-top: 12px !important;
}

.ins-esterer-detail {
	max-width: 1304px;
	margin: 4px auto 0;
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	min-height: 510px;
}

.ins-esterer-detail__image {
	min-height: 510px;
	background-size: cover;
	background-position: center center;
}

.ins-esterer-detail__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 60px 58px;
	background: #ebe3d7;
	color: var(--esterer-ink);
}

.ins-esterer-detail__copy .ins-kicker {
	color: #8d7558;
	margin-bottom: 12px;
}

.ins-esterer-detail__copy h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3vw, 46px);
	font-weight: 400;
	line-height: 1.06;
	margin: 0 0 20px;
	color: var(--esterer-ink);
}

.ins-esterer-detail__copy > p:not(.ins-kicker) {
	max-width: 470px;
	margin: 0 0 14px;
	font-size: 16px;
	line-height: 1.7;
	color: #5e564c;
}

.ins-esterer-closing {
	width: 1304px;
	max-width: calc(100% - 56px);
	margin: 4px auto 72px;
	padding: 60px 30px 64px;
	box-sizing: border-box;
	background: var(--esterer-olive-dark);
	color: #fff;
	text-align: center;
}

.ins-esterer-closing .ins-kicker {
	color: #c9ad81;
	margin-bottom: 12px;
}

.ins-esterer-closing h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 3.6vw, 54px);
	font-weight: 400;
	line-height: 1.05;
	margin: 0 0 26px;
	color: #fff;
}

.ins-button--esterer-dark,
.ins-button--esterer-dark:visited {
	background: #f4efe6 !important;
	border-color: #f4efe6 !important;
	color: #263326 !important;
}

.ins-button--esterer-dark:hover,
.ins-button--esterer-dark:focus {
	background: transparent !important;
	border-color: #f4efe6 !important;
	color: #fff !important;
}

@media (max-width: 900px) {
	.ins-boutique-page--esterer .ins-boutique-hero {
		min-height: 580px;
		background-position: 62% center;
	}

	.ins-boutique-page--esterer .ins-boutique-hero__shade {
		background: linear-gradient(
			90deg,
			rgba(242,232,218,.72) 0%,
			rgba(242,232,218,.38) 42%,
			rgba(242,232,218,.04) 72%
		);
	}

	.ins-boutique-page--esterer .ins-boutique-hero__content {
		width: 46%;
		margin-left: 6%;
	}

	.ins-esterer-story {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ins-esterer-story__brand {
		padding-right: 0;
	}

	.ins-esterer-products {
		width: calc(100% - 36px);
		padding: 56px 34px 62px;
	}

	.ins-esterer-detail {
		width: calc(100% - 36px);
		grid-template-columns: 1fr 1fr;
	}

	.ins-esterer-detail__copy {
		padding: 44px 36px;
	}

	.ins-esterer-closing {
		max-width: calc(100% - 36px);
	}
}

@media (max-width: 640px) {
	.ins-boutique-page--esterer .ins-boutique-hero {
		min-height: 610px;
		align-items: flex-end;
		background-position: 70% center;
	}

	.ins-boutique-page--esterer .ins-boutique-hero__shade {
		background: linear-gradient(
			180deg,
			rgba(242,232,218,.03) 18%,
			rgba(242,232,218,.20) 48%,
			rgba(242,232,218,.92) 100%
		);
	}

	.ins-boutique-page--esterer .ins-boutique-hero__content {
		width: auto;
		margin: 0;
		padding: 0 28px 36px;
	}

	.ins-boutique-page--esterer .ins-boutique-hero__logo {
		width: 270px;
		margin-bottom: 14px;
	}

	.ins-boutique-page--esterer .ins-boutique-hero__content p {
		font-size: 26px;
		margin-bottom: 20px;
	}

	.ins-esterer-products {
		width: calc(100% - 28px);
		padding: 42px 18px 46px;
	}

	.ins-esterer-products__fallback,
	.ins-esterer-products__woo .woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}

	.ins-esterer-product-card {
		grid-template-rows: 330px auto;
	}

	.ins-esterer-product-card__image img,
	.ins-esterer-product-card--large .ins-esterer-product-card__image img {
		height: 290px;
	}

	.ins-esterer-detail {
		width: calc(100% - 28px);
		grid-template-columns: 1fr;
	}

	.ins-esterer-detail__image {
		min-height: 320px;
	}

	.ins-esterer-detail__copy {
		padding: 40px 28px 44px;
	}

	.ins-esterer-closing {
		max-width: calc(100% - 28px);
		margin-bottom: 48px;
		padding: 48px 22px 52px;
	}
}


/* 2.3.1 — Esterer closing box width alignment */
.ins-boutique-page--esterer .ins-esterer-closing {
	width: 1304px !important;
	max-width: calc(100% - 56px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

@media (max-width: 900px) {
	.ins-boutique-page--esterer .ins-esterer-closing {
		max-width: calc(100% - 36px) !important;
	}
}

@media (max-width: 640px) {
	.ins-boutique-page--esterer .ins-esterer-closing {
		max-width: calc(100% - 28px) !important;
	}
}


/* 2.3.2 — Esterer closing block exactly follows detail block width */
body.page .ins-boutique-page--esterer .ins-esterer-closing {
    width: 100% !important;
    max-width: 1304px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Brand lockup stands alone; no caption/divider beneath it. */
.ins-esterer-story__brand > p {
    display: none !important;
}

@media (max-width: 900px) {
    body.page .ins-boutique-page--esterer .ins-esterer-closing {
        width: calc(100% - 36px) !important;
        max-width: none !important;
    }
}

@media (max-width: 640px) {
    body.page .ins-boutique-page--esterer .ins-esterer-closing {
        width: calc(100% - 28px) !important;
        max-width: none !important;
    }
}


/* --------------------------------------------------------------------------
   2.4.1 — Retail single-product template (safe CSS-only pass)
   One clean commerce system, with subtle boutique-specific accents.
   -------------------------------------------------------------------------- */

body.single-product {
	--ins-product-ink: #201f1b;
	--ins-product-muted: #6d685f;
	--ins-product-line: #e8e3da;
	--ins-product-paper: #f7f4ef;
	--ins-product-accent: #202820;
}

body.single-product.ins-product-boutique-fenris-rvk {
	--ins-product-paper: #f2f2f0;
	--ins-product-accent: #171a1c;
}

body.single-product.ins-product-boutique-jonamaria {
	--ins-product-paper: #f6f1eb;
	--ins-product-accent: #24211e;
}

body.single-product.ins-product-boutique-olmuhle-esterer {
	--ins-product-paper: #f4efe6;
	--ins-product-accent: #263326;
}

body.single-product .site-main,
body.single-product #main {
	background: #fff;
}

body.single-product div.product {
	max-width: 1304px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 54px 28px 82px;
	box-sizing: border-box;
}

body.single-product div.product .product-entry-wrapper,
body.single-product div.product > .ct-container {
	column-gap: clamp(42px, 5vw, 82px);
	align-items: flex-start;
}

body.single-product .woocommerce-product-gallery {
	background: var(--ins-product-paper);
	padding: clamp(20px, 3vw, 38px);
	box-sizing: border-box;
}

body.single-product .woocommerce-product-gallery img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs {
	margin-top: 16px !important;
	gap: 10px;
}

body.single-product .summary {
	padding-top: 12px;
}

body.single-product .ins-product-brand {
	margin: 0 0 15px;
	color: var(--ins-product-accent);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: .18em;
	text-transform: uppercase;
}

body.single-product .summary .product_title {
	max-width: 650px;
	margin: 0 0 18px !important;
	color: var(--ins-product-ink);
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(38px, 4vw, 56px) !important;
	font-weight: 400 !important;
	line-height: 1.04 !important;
	letter-spacing: -.025em;
}

body.single-product .summary .price {
	margin: 0 0 28px !important;
	color: var(--ins-product-ink) !important;
	font-size: 23px !important;
	font-weight: 600 !important;
	line-height: 1.2;
}

body.single-product .summary .woocommerce-product-details__short-description {
	max-width: 620px;
	margin-bottom: 28px;
	color: var(--ins-product-muted);
	font-size: 16px;
	line-height: 1.72;
}

body.single-product .summary .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* Retail pages do not need the generic Woo category/SKU line beneath the buying controls. */
body.single-product .summary .product_meta {
	display: none !important;
}

body.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	margin-top: 28px !important;
	padding-top: 28px;
	border-top: 1px solid var(--ins-product-line);
}

body.single-product form.cart .quantity {
	margin: 0 !important;
}

body.single-product form.cart .quantity input.qty {
	min-height: 50px;
	border-radius: 0 !important;
	border-color: #d8d2c8 !important;
	background: #fff !important;
}

body.single-product form.cart .single_add_to_cart_button {
	min-height: 50px;
	padding: 0 28px !important;
	border-radius: 0 !important;
	background: var(--ins-product-accent) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .01em;
	box-shadow: none !important;
}

body.single-product form.cart .single_add_to_cart_button:hover,
body.single-product form.cart .single_add_to_cart_button:focus {
	opacity: .88;
}

body.single-product table.variations {
	margin: 0 0 18px !important;
}

body.single-product table.variations th,
body.single-product table.variations td {
	padding: 8px 0 !important;
}

body.single-product table.variations label {
	color: var(--ins-product-ink);
	font-weight: 600;
}

body.single-product table.variations select {
	min-height: 48px;
	border-radius: 0 !important;
	background: #fff;
	border-color: #d8d2c8;
}

body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products {
	max-width: 1304px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 28px;
	padding-right: 28px;
	box-sizing: border-box;
}

body.single-product .woocommerce-tabs {
	margin-top: 0;
	padding-top: 12px;
	padding-bottom: 58px;
}

body.single-product .woocommerce-tabs .tabs {
	border-color: var(--ins-product-line) !important;
}

body.single-product .woocommerce-tabs .panel {
	max-width: 860px;
	color: var(--ins-product-muted);
	font-size: 16px;
	line-height: 1.72;
}

body.single-product .related.products,
body.single-product .upsells.products {
	padding-top: 54px;
	padding-bottom: 70px;
	border-top: 1px solid var(--ins-product-line);
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
	margin-bottom: 32px;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(32px, 3vw, 44px) !important;
	font-weight: 400 !important;
	color: var(--ins-product-ink);
}

@media (max-width: 900px) {
	body.single-product div.product {
		padding: 36px 22px 64px;
	}

	body.single-product div.product .product-entry-wrapper {
		row-gap: 34px;
	}

	body.single-product .woocommerce-tabs,
	body.single-product .related.products,
	body.single-product .upsells.products {
		padding-left: 22px;
		padding-right: 22px;
	}
}

@media (max-width: 640px) {
	body.single-product div.product {
		padding: 24px 16px 52px;
	}

	body.single-product .woocommerce-product-gallery {
		padding: 16px;
	}

	body.single-product .summary {
		padding-top: 0;
	}

	body.single-product .ins-product-brand {
		margin-top: 4px;
		margin-bottom: 10px;
		font-size: 11px;
	}

	body.single-product .summary .product_title {
		font-size: 38px !important;
	}

	body.single-product .summary .price {
		font-size: 21px !important;
	}

	body.single-product form.cart {
		display: grid;
		grid-template-columns: 92px minmax(0,1fr);
	}

	body.single-product form.cart .single_add_to_cart_button {
		width: 100%;
	}

	body.single-product .woocommerce-tabs,
	body.single-product .related.products,
	body.single-product .upsells.products {
		padding-left: 16px;
		padding-right: 16px;
	}
}


/* --------------------------------------------------------------------------
   2.4.2 — Safe boutique product personalities, starting with Esterer
   -------------------------------------------------------------------------- */

body.single-product.ins-product-boutique-jonamaria {
	--ins-product-paper: #f6f1eb;
	--ins-product-accent: #2b2523;
}

body.single-product.ins-product-boutique-fenris-rvk {
	--ins-product-paper: #f1f1ef;
	--ins-product-accent: #181b1d;
}

body.single-product.ins-product-boutique-olmuhle-esterer {
	--ins-product-paper: #f3ede3;
	--ins-product-accent: #263326;
	--ins-product-gold: #9a7a50;
}

/* Brand eyebrow above the title. */
body.single-product .ins-product-brand {
	display: block;
	margin: 0 0 14px;
	color: var(--ins-product-accent);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .18em;
	text-transform: uppercase;
}

/* Trust row between short description and buying controls. */
body.single-product .ins-product-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 2px 0 0;
	padding: 18px 0 2px;
	border-top: 1px solid var(--ins-product-line);
	color: #625d54;
	font-size: 13px;
	line-height: 1.4;
}

body.single-product .ins-product-trust span {
	position: relative;
	padding-left: 15px;
	white-space: nowrap;
}

body.single-product .ins-product-trust span::before {
	content: "";
	position: absolute;
	left: 0;
	top: .52em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--ins-product-accent);
}

/* Esterer gets a warmer, richer commerce surface. */
body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-product-gallery {
	background: linear-gradient(145deg, #f6f1e8 0%, #ece3d5 100%);
}

body.single-product.ins-product-boutique-olmuhle-esterer .summary .product_title {
	color: #272219;
}

body.single-product.ins-product-boutique-olmuhle-esterer .summary .price {
	color: #263326 !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer form.cart {
	border-top-color: #ded5c7;
}

body.single-product.ins-product-boutique-olmuhle-esterer .single_add_to_cart_button {
	background: #263326 !important;
}

/* Turn the normal long description into a proper editorial section. */
body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs {
	margin-top: 24px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs ul.tabs {
	display: none !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description {
	display: grid !important;
	grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
	gap: clamp(36px, 6vw, 86px);
	max-width: 1304px !important;
	margin: 0 auto !important;
	padding: 64px 56px 68px !important;
	box-sizing: border-box;
	background: #f4efe6;
}

body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description > h2 {
	margin: 0 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(34px, 3.4vw, 48px) !important;
	font-weight: 400 !important;
	line-height: 1.06 !important;
	color: #272219 !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description > *:not(h2) {
	grid-column: 2;
}

body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description > h2 + * {
	margin-top: 0;
}

body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description p {
	color: #625a50;
	font-size: 16px;
	line-height: 1.75;
}

/* Generated third text area: Hvernig á að nota. */
body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial {
	max-width: 1304px;
	margin: 4px auto 0;
	background: #263326;
	color: #fff;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial__inner {
	display: grid;
	grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
	gap: clamp(36px, 6vw, 86px);
	padding: 62px 56px 66px;
	box-sizing: border-box;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial .ins-kicker {
	margin: 0 0 12px;
	color: #c9ad81;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3.4vw, 48px);
	font-weight: 400;
	line-height: 1.06;
	color: #fff;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial__copy {
	max-width: 650px;
	font-size: 16px;
	line-height: 1.7;
	color: #eee8dd;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial__copy p {
	margin-top: 0;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial__copy ul {
	margin: 18px 0 0;
	padding-left: 19px;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial__copy li {
	margin: 6px 0;
}

/* Related product area gets the same calm retail spacing. */
body.single-product.ins-product-boutique-olmuhle-esterer .related.products {
	margin-top: 4px !important;
	background: #fff;
}

@media (max-width: 760px) {
	body.single-product .ins-product-trust {
		gap: 9px 14px;
	}

	body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description,
	body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-editorial__inner {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 42px 28px 46px !important;
	}

	body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description > *:not(h2) {
		grid-column: 1;
	}
}


/* --------------------------------------------------------------------------
   2.4.3 — Esterer product-page polish
   -------------------------------------------------------------------------- */

/* Trust row: quieter and more refined. */
body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-trust {
	gap: 8px 18px;
	padding-top: 16px;
	padding-bottom: 6px;
	color: #777064;
	font-size: 12.5px;
	border-top-color: #e2dbd0;
	border-bottom: 1px solid #e7e0d6;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-trust span {
	padding-left: 13px;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ins-product-trust span::before {
	width: 4px;
	height: 4px;
	background: #506047;
}

/* Pull the buy controls up so the purchase area feels like one block. */
body.single-product.ins-product-boutique-olmuhle-esterer form.cart {
	margin-top: 16px !important;
	padding-top: 16px;
}

/* Slightly reduce gallery dominance while keeping the premium scale. */
body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-product-gallery {
	padding: clamp(18px, 2.5vw, 32px);
}

/* Keep the first screen visually balanced. */
body.single-product.ins-product-boutique-olmuhle-esterer .summary {
	padding-top: 8px;
}

/* Make the CTA feel more deliberate and less default-Woo. */
body.single-product.ins-product-boutique-olmuhle-esterer form.cart .single_add_to_cart_button {
	min-width: 165px;
	letter-spacing: .015em;
}

/* Related products: softer entry into the final section. */
body.single-product.ins-product-boutique-olmuhle-esterer .related.products {
	padding-top: 46px;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products > h2 {
	margin-bottom: 26px;
}


/* --------------------------------------------------------------------------
   2.4.4 — Esterer lower-page polish
   -------------------------------------------------------------------------- */

/* Compact the long-description editorial block. */
body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description {
	gap: clamp(28px, 4vw, 58px);
	padding: 42px 48px 46px !important;
	align-items: start;
}

body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description > h2 {
	font-size: clamp(30px, 3vw, 42px) !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description p {
	margin-top: 0;
	margin-bottom: 14px;
}

/* Related-products area becomes an "other size" presentation rather than a generic Woo grid. */
body.single-product.ins-product-boutique-olmuhle-esterer .related.products {
	padding-top: 54px;
	padding-bottom: 72px;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products > h2 {
	margin: 0 0 28px !important;
	font-size: clamp(34px, 3vw, 46px) !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products > h2 {
	font-size: 0 !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products > h2::after {
	content: "Önnur stærð";
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3vw, 46px);
	font-weight: 400;
	line-height: 1.08;
	color: #272219;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products {
	display: block !important;
	margin: 0 !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product {
	display: grid !important;
	grid-template-columns: minmax(160px, 250px) minmax(0, 1fr);
	align-items: center;
	gap: 34px;
	width: min(760px, 100%) !important;
	max-width: 760px !important;
	margin: 0 !important;
	padding: 26px 30px !important;
	border: 1px solid #ddd2c3;
	background: #faf7f1;
	box-sizing: border-box;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .ct-image-container,
body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product > a:first-child {
	grid-row: 1 / span 6;
	align-self: stretch;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product img {
	width: 100% !important;
	max-width: 210px;
	height: 230px !important;
	object-fit: contain;
	margin: 0 auto !important;
	background: #f1eadf;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product h2 {
	margin: 0 0 10px !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 27px !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
	color: #272219 !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .price {
	margin: 0 0 10px !important;
	color: #263326 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .ins-product-brand,
body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .product-category {
	color: #777064;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-height: 44px;
	margin-top: 8px !important;
	padding: 0 20px !important;
	border: 1px solid #526147 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #263326 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}

body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .button:hover,
body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .button:focus {
	background: #263326 !important;
	color: #fff !important;
}

/* Breadcrumbs should support the page, not shout. */
body.single-product.ins-product-boutique-olmuhle-esterer .ct-breadcrumbs,
body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-breadcrumb {
	color: #8a8378;
	font-size: 12px;
	letter-spacing: .02em;
}

body.single-product.ins-product-boutique-olmuhle-esterer .ct-breadcrumbs a,
body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-breadcrumb a {
	color: #777064;
}

@media (max-width: 760px) {
	body.single-product.ins-product-boutique-olmuhle-esterer .woocommerce-tabs .woocommerce-Tabs-panel--description {
		padding: 34px 24px 38px !important;
	}

	body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 18px;
		padding: 20px !important;
	}

	body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product img {
		height: 150px !important;
	}

	body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product .woocommerce-loop-product__title,
	body.single-product.ins-product-boutique-olmuhle-esterer .related.products ul.products li.product h2 {
		font-size: 22px !important;
	}
}

/* --------------------------------------------------------------------------
   2.5.0 — Ölmühle Esterer custom product template
   Rebuilt to match the approved mockup instead of incrementally skinning Woo.
   -------------------------------------------------------------------------- */

body.single-product.ins-product-boutique-olmuhle-esterer .ct-container-full,
body.single-product.ins-product-boutique-olmuhle-esterer .site-main,
body.single-product.ins-product-boutique-olmuhle-esterer #main {
	background: #fbf8f2;
}

.ins-esterer-product {
	--esterer-ink: #28231d;
	--esterer-text: #504a42;
	--esterer-olive: #59662e;
	--esterer-line: #d8d0c4;
	--esterer-paper: #f7f2e9;
	max-width: 1420px;
	margin: 0 auto;
	padding: 34px 38px 76px;
	box-sizing: border-box;
	color: var(--esterer-ink);
}

.ins-esterer-product h1,
.ins-esterer-product h2,
.ins-esterer-product h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	color: var(--esterer-ink);
}

.ins-esterer-product__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
	gap: 48px;
	align-items: stretch;
	margin-bottom: 28px;
}

.ins-esterer-product__hero-image {
	min-height: 520px;
	background-size: cover;
	background-position: 66% center;
	border-radius: 8px;
}

.ins-esterer-product__buy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px 30px 18px 0;
}

.ins-esterer-product__brand {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.ins-esterer-product__buy h1 {
	margin: 0 0 12px;
	font-size: clamp(42px, 4vw, 62px);
	line-height: 1.02;
	letter-spacing: -.025em;
}

.ins-esterer-product__price {
	margin-bottom: 24px;
	color: #4e5e2d;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	line-height: 1.2;
}

.ins-esterer-product__price del {
	opacity: .5;
	font-size: .8em;
}

.ins-esterer-product__short {
	max-width: 590px;
	padding-top: 16px;
	border-top: 1px solid var(--esterer-line);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 16px;
	line-height: 1.52;
	color: #3f3933;
}

.ins-esterer-product__short p:last-child {
	margin-bottom: 0;
}

.ins-esterer-product__availability {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 18px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 16px;
	color: #586330;
}

.ins-esterer-product__availability > span,
.ins-esterer-product__other-stock > span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #66743a;
	flex: 0 0 auto;
}

.ins-esterer-product__availability.is-out-of-stock > span,
.ins-esterer-product__other-stock:has(+ .is-out-of-stock) > span {
	background: #9a6a5e;
}

.ins-esterer-product__cart {
	padding-bottom: 24px;
	border-bottom: 1px solid var(--esterer-line);
}

.ins-esterer-product__cart form.cart {
	display: flex;
	align-items: stretch;
	gap: 14px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.ins-esterer-product__cart .quantity {
	margin: 0 !important;
}

.ins-esterer-product__cart .quantity input.qty {
	min-width: 126px;
	min-height: 52px;
	border: 1px solid #cfc7bb !important;
	border-radius: 4px !important;
	background: #fff !important;
	font-size: 16px;
}

.ins-esterer-product__cart .single_add_to_cart_button {
	min-width: 264px;
	min-height: 52px;
	padding: 0 30px !important;
	border-radius: 5px !important;
	background: #66733a !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	color: #fff !important;
	box-shadow: none !important;
}

.ins-esterer-product__cart .single_add_to_cart_button::before {
	content: "♡";
	display: none;
}

.ins-esterer-product__cart .single_add_to_cart_button:hover {
	background: #4d5a29 !important;
}

.ins-esterer-product__trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding-top: 22px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	color: #4d4841;
}

.ins-esterer-product__trust > div {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ins-esterer-product__trust svg {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: #4d4a42;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ins-esterer-product__origin {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 48px;
	align-items: stretch;
	margin-bottom: 24px;
}

.ins-esterer-product__origin-image {
	min-height: 350px;
	background-size: cover;
	background-position: center;
	border-radius: 8px;
}

.ins-esterer-product__origin-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px 30px 24px 0;
}

.ins-esterer-product__origin-copy h2,
.ins-esterer-product__uses h2,
.ins-esterer-product__other h2 {
	position: relative;
	margin: 0 0 20px;
	font-size: clamp(32px, 3vw, 44px);
	line-height: 1.05;
}

.ins-esterer-product__origin-copy h2::after,
.ins-esterer-product__uses h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	margin-top: 10px;
	background: #67733d;
}

.ins-esterer-product__long-copy {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 16px;
	line-height: 1.62;
	color: #4a443c;
}

.ins-esterer-product__long-copy p {
	margin: 0 0 14px;
}

.ins-esterer-product__bottom {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 48px;
	padding: 26px 18px 8px;
	background: #fbf8f2;
}

.ins-esterer-product__uses {
	padding: 10px 0 22px;
}

.ins-esterer-product__uses > p {
	max-width: 660px;
	margin: 0 0 28px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15.5px;
	line-height: 1.55;
	color: #4b453e;
}

.ins-esterer-product__use-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.ins-esterer-product__use-grid > div {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 14px;
	line-height: 1.28;
	color: #4b463f;
}

.ins-use-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border: 1px solid #7c8950;
	border-radius: 50%;
	color: #66743b;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 21px;
}

.ins-esterer-product__other {
	padding: 10px 0 22px;
}

.ins-esterer-product__other-card {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 24px;
	align-items: center;
	padding: 18px;
	border: 1px solid #d9d0c2;
	border-radius: 6px;
	background: #fcfaf5;
}

.ins-esterer-product__other-image {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 168px;
	background: #f4eee4;
}

.ins-esterer-product__other-image img {
	width: 100%;
	max-width: 96px;
	height: 155px;
	object-fit: contain;
}

.ins-esterer-product__other-copy h3 {
	margin: 0 0 8px;
	font-size: 21px;
	line-height: 1.2;
}

.ins-esterer-product__other-price {
	margin-bottom: 8px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
}

.ins-esterer-product__other-stock {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 13px;
	color: #5b6634;
}

.ins-esterer-product__other-stock > span {
	width: 7px;
	height: 7px;
}

.ins-esterer-product__other-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	border: 1px solid #66743a;
	border-radius: 4px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 14px;
	color: #4d592d;
	text-decoration: none !important;
}

.ins-esterer-product__other-button:hover {
	background: #66743a;
	color: #fff;
}

@media (max-width: 1050px) {
	.ins-esterer-product {
		padding-left: 24px;
		padding-right: 24px;
	}

	.ins-esterer-product__hero {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

	.ins-esterer-product__hero-image {
		min-height: 460px;
	}

	.ins-esterer-product__use-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 800px) {
	.ins-esterer-product {
		padding: 20px 16px 54px;
	}

	.ins-esterer-product__hero,
	.ins-esterer-product__origin,
	.ins-esterer-product__bottom {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.ins-esterer-product__hero-image {
		min-height: 420px;
		background-position: 65% center;
	}

	.ins-esterer-product__buy,
	.ins-esterer-product__origin-copy {
		padding-right: 0;
		padding-left: 0;
	}

	.ins-esterer-product__trust {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ins-esterer-product__origin-image {
		min-height: 330px;
	}

	.ins-esterer-product__bottom {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (max-width: 560px) {
	.ins-esterer-product__hero-image {
		min-height: 330px;
	}

	.ins-esterer-product__buy h1 {
		font-size: 39px;
	}

	.ins-esterer-product__cart form.cart {
		display: grid;
		grid-template-columns: 100px 1fr;
	}

	.ins-esterer-product__cart .quantity input.qty,
	.ins-esterer-product__cart .single_add_to_cart_button {
		min-width: 0;
		width: 100%;
	}

	.ins-esterer-product__use-grid {
		grid-template-columns: 1fr;
	}

	.ins-esterer-product__other-card {
		grid-template-columns: 110px 1fr;
		gap: 16px;
	}

	.ins-esterer-product__other-image {
		min-height: 140px;
	}

	.ins-esterer-product__other-image img {
		height: 126px;
	}
}


/* --------------------------------------------------------------------------
   2.5.1 — Esterer cleanup after structural rebuild
   -------------------------------------------------------------------------- */

/* The admin long description can contain its own heading; the template owns the section title. */
.ins-esterer-product__long-copy > h1:first-child,
.ins-esterer-product__long-copy > h2:first-child,
.ins-esterer-product__long-copy > h3:first-child,
.ins-esterer-product__long-copy > h4:first-child,
.ins-esterer-product__long-copy > h5:first-child,
.ins-esterer-product__long-copy > h6:first-child {
	display: none;
}

/* Give the alternate size more product presence without making the card bulky. */
.ins-esterer-product__other-card {
	grid-template-columns: 190px 1fr;
	gap: 26px;
	padding: 16px 20px;
}

.ins-esterer-product__other-image {
	min-height: 190px;
}

.ins-esterer-product__other-image img {
	max-width: 132px;
	height: 184px;
}

.ins-esterer-product__other-copy h3 {
	font-size: 23px;
}

@media (max-width: 700px) {
	.ins-esterer-product__other-card {
		grid-template-columns: 132px 1fr;
		gap: 18px;
		padding: 16px;
	}

	.ins-esterer-product__other-image {
		min-height: 152px;
	}

	.ins-esterer-product__other-image img {
		max-width: 104px;
		height: 146px;
	}

	.ins-esterer-product__other-copy h3 {
		font-size: 20px;
	}
}


/* --------------------------------------------------------------------------
   2.5.2 — Esterer refinement pass
   -------------------------------------------------------------------------- */

/* Match the editorial scale more closely to the mockup. */
.ins-esterer-product__buy h1 {
	font-size: clamp(38px, 3.45vw, 56px);
}

.ins-esterer-product__origin-copy h2,
.ins-esterer-product__uses h2,
.ins-esterer-product__other h2 {
	font-size: clamp(29px, 2.35vw, 40px);
}

/* Keep the second image column aligned with the top product row. */
.ins-esterer-product__origin {
	grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
}

/* Slightly tighter buy panel after removing the redundant stock line. */
.ins-esterer-product__cart {
	padding-top: 2px;
}

/* Replace placeholder glyph icons with proper line icons. */
.ins-use-icon {
	font-size: 0;
	line-height: 0;
}

.ins-use-icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: #66743b;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (max-width: 560px) {
	.ins-esterer-product__buy h1 {
		font-size: 36px;
	}

	.ins-esterer-product__origin-copy h2,
	.ins-esterer-product__uses h2,
	.ins-esterer-product__other h2 {
		font-size: 31px;
	}
}


/* --------------------------------------------------------------------------
   2.5.3 — Final Esterer use-icon artwork
   -------------------------------------------------------------------------- */
.ins-esterer-product__use-grid > div {
	gap: 13px;
}

.ins-use-icon {
	width: 52px;
	height: 52px;
	flex: 0 0 52px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.ins-use-icon img {
	display: block;
	width: 50px;
	height: 50px;
	object-fit: contain;
}

/* Old inline SVG rules are intentionally neutralized now that approved artwork is used. */
.ins-use-icon svg {
	display: none !important;
}

@media (max-width: 560px) {
	.ins-use-icon {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
	}

	.ins-use-icon img {
		width: 46px;
		height: 46px;
	}
}


/* --------------------------------------------------------------------------
   2.5.4 — Esterer trust-row wording/order
   -------------------------------------------------------------------------- */
@media (min-width: 801px) {
	.ins-esterer-product__trust span {
		white-space: nowrap;
	}
}


/* --------------------------------------------------------------------------
   2.6.0 — Fenris RVK custom retail product page
   -------------------------------------------------------------------------- */

body.single-product.ins-product-boutique-fenris-rvk #main,
body.single-product.ins-product-boutique-fenris-rvk .site-main {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background: #101314;
}

.ins-fenris-product-shell {
	width: 100%;
	background: #101314;
	color: #ece9e3;
}

.ins-fenris-product {
	--fenris-bg: #101314;
	--fenris-panel: #151819;
	--fenris-panel-2: #1a1d1e;
	--fenris-text: #ece9e3;
	--fenris-muted: #aaa59c;
	--fenris-gold: #b59667;
	--fenris-line: rgba(181, 150, 103, .34);
	max-width: 1420px;
	margin: 0 auto;
	background: var(--fenris-bg);
	color: var(--fenris-text);
}

.ins-fenris-product *,
.ins-fenris-product *::before,
.ins-fenris-product *::after {
	box-sizing: border-box;
}

.ins-fenris-product h1,
.ins-fenris-product h2,
.ins-fenris-product h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	color: var(--fenris-text);
}

.ins-fenris-product__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
	min-height: 620px;
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.ins-fenris-product__gallery {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 14px;
	padding: 34px 0 34px 34px;
	background: #111415;
}

.ins-fenris-product__thumbs {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ins-fenris-product__thumb {
	width: 78px;
	height: 96px;
	padding: 0;
	border: 1px solid rgba(181,150,103,.36);
	background: #171a1b;
	cursor: pointer;
	opacity: .72;
	transition: opacity .16s ease, border-color .16s ease;
}

.ins-fenris-product__thumb:hover,
.ins-fenris-product__thumb.is-active {
	opacity: 1;
	border-color: var(--fenris-gold);
}

.ins-fenris-product__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ins-fenris-product__main-image {
	min-height: 552px;
	overflow: hidden;
	background: #171a1b;
}

.ins-fenris-product__main-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 552px;
	object-fit: cover;
	object-position: center;
}

.ins-fenris-product__buy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 58px 62px;
	background: linear-gradient(135deg, #171a1b 0%, #101314 100%);
}

.ins-fenris-product__brand,
.ins-fenris-product__kicker,
.ins-fenris-product__wear-title,
.ins-fenris-product__related-copy > p,
.ins-fenris-product__statement-copy > p {
	margin: 0 0 13px;
	color: var(--fenris-gold);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .20em;
	text-transform: uppercase;
}

.ins-fenris-product__buy h1 {
	margin: 0 0 14px;
	font-size: clamp(38px, 3.3vw, 52px);
	line-height: 1.05;
	letter-spacing: -.018em;
}

.ins-fenris-product__price {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 23px;
	line-height: 1.25;
	color: #f3efe9;
}

.ins-fenris-product__price del {
	opacity: .55;
	font-size: .8em;
}

.ins-fenris-product__rule {
	width: 42px;
	height: 2px;
	margin: 18px 0;
	background: var(--fenris-gold);
}

.ins-fenris-product__short {
	max-width: 560px;
	margin-bottom: 24px;
	color: #c3beb5;
	font-size: 15px;
	line-height: 1.65;
}

.ins-fenris-product__short p:last-child {
	margin-bottom: 0;
}

.ins-fenris-product__cart {
	padding: 4px 0 24px;
	border-bottom: 1px solid rgba(181,150,103,.25);
}

.ins-fenris-product__cart form.cart {
	display: grid;
	grid-template-columns: 116px minmax(180px, 276px);
	gap: 14px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.ins-fenris-product__cart .quantity {
	margin: 0 !important;
}

.ins-fenris-product__cart .quantity input.qty,
.ins-fenris-product__cart select {
	min-height: 50px;
	border: 1px solid rgba(181,150,103,.34) !important;
	border-radius: 0 !important;
	background: #151819 !important;
	color: #ece9e3 !important;
}

.ins-fenris-product__cart .single_add_to_cart_button {
	min-height: 50px;
	padding: 0 26px !important;
	border: 1px solid var(--fenris-gold) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}

.ins-fenris-product__cart .single_add_to_cart_button:hover,
.ins-fenris-product__cart .single_add_to_cart_button:focus {
	background: var(--fenris-gold) !important;
	color: #111415 !important;
}

.ins-fenris-product__cart table.variations {
	grid-column: 1 / -1;
	margin: 0 0 12px !important;
}

.ins-fenris-product__cart table.variations th,
.ins-fenris-product__cart table.variations td {
	padding: 5px 0 !important;
	color: #d7d2c9;
}

.ins-fenris-product__trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	padding-top: 23px;
	color: #c4bfb6;
	font-size: 12.5px;
}

.ins-fenris-product__trust > div {
	display: flex;
	align-items: center;
	gap: 9px;
}

.ins-fenris-product__trust svg {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	fill: none;
	stroke: var(--fenris-gold);
	stroke-width: 1.45;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ins-fenris-product__trust span {
	white-space: nowrap;
}

.ins-fenris-product__material {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 430px;
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.ins-fenris-product__material-image {
	min-height: 430px;
	background: #181b1c;
	overflow: hidden;
}

.ins-fenris-product__material-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 430px;
	object-fit: cover;
	object-position: center;
}

.ins-fenris-product__material-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 54px 62px;
	background:
		radial-gradient(circle at 82% 14%, rgba(255,255,255,.035), transparent 30%),
		linear-gradient(145deg, #1a1d1e, #131617);
}

.ins-fenris-product__material-copy h2 {
	margin: 0 0 20px;
	font-size: clamp(31px, 2.6vw, 40px);
	line-height: 1.08;
}

.ins-fenris-product__long-copy {
	max-width: 570px;
	color: #c4bfb6;
	font-size: 15px;
	line-height: 1.72;
}

.ins-fenris-product__long-copy p {
	margin: 0 0 16px;
}

.ins-fenris-product__statement {
	position: relative;
	min-height: 180px;
	background-position: center 61%;
	background-size: cover;
	display: grid;
	place-items: center;
	text-align: center;
	overflow: hidden;
}

.ins-fenris-product__statement-shade {
	position: absolute;
	inset: 0;
	background: rgba(5,7,8,.69);
}

.ins-fenris-product__statement-copy {
	position: relative;
	z-index: 1;
	padding: 35px 28px;
}

.ins-fenris-product__statement-copy h2 {
	margin: 0;
	font-size: clamp(34px, 3.6vw, 52px);
	font-style: italic;
	line-height: 1.05;
}

.ins-fenris-product__statement-copy > span {
	display: block;
	margin-top: 14px;
	color: var(--fenris-gold);
	font-size: 19px;
}

.ins-fenris-product__wear {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 30px;
	align-items: center;
	padding: 30px 42px;
	border-top: 1px solid var(--fenris-line);
	border-bottom: 1px solid var(--fenris-line);
	background: #151819;
}

.ins-fenris-product__wear-title {
	margin: 0;
}

.ins-fenris-product__wear-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
}

.ins-fenris-product__wear-item {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 12px;
	align-items: center;
	min-width: 0;
}

.ins-fenris-product__wear-icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(181,150,103,.55);
	border-radius: 50%;
}

.ins-fenris-product__wear-icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: var(--fenris-gold);
	stroke-width: 1.35;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ins-fenris-product__wear-item strong,
.ins-fenris-product__wear-item span:not(.ins-fenris-product__wear-icon) {
	display: block;
}

.ins-fenris-product__wear-item strong {
	margin-bottom: 4px;
	color: #f0ede7;
	font-size: 13px;
}

.ins-fenris-product__wear-item span:not(.ins-fenris-product__wear-icon) {
	color: #99958e;
	font-size: 11.5px;
	line-height: 1.45;
}

.ins-fenris-product__related {
	padding: 42px 40px 54px;
	background: #101314;
}

.ins-fenris-product__related-card {
	display: grid;
	grid-template-columns: 280px 1fr;
	max-width: 690px;
	margin: 0 auto;
	border: 1px solid rgba(181,150,103,.22);
	background: #181b1c;
	color: inherit;
	text-decoration: none !important;
}

.ins-fenris-product__related-image {
	min-height: 190px;
	overflow: hidden;
	background: #111415;
}

.ins-fenris-product__related-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 190px;
	object-fit: cover;
}

.ins-fenris-product__related-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 26px 32px;
}

.ins-fenris-product__related-copy h3 {
	margin: 0 0 8px;
	font-size: 25px;
	line-height: 1.15;
}

.ins-fenris-product__related-copy > div {
	margin-bottom: 15px;
	color: #e6e1d9;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 16px;
}

.ins-fenris-product__related-copy > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	min-height: 39px;
	padding: 0 18px;
	border: 1px solid var(--fenris-gold);
	color: #e9e4db;
	font-size: 12px;
	font-weight: 600;
}

@media (max-width: 1100px) {
	.ins-fenris-product__hero {
		grid-template-columns: 1fr 1fr;
	}

	.ins-fenris-product__gallery {
		grid-template-columns: 72px minmax(0, 1fr);
		padding-left: 24px;
	}

	.ins-fenris-product__thumb {
		width: 62px;
		height: 80px;
	}

	.ins-fenris-product__buy,
	.ins-fenris-product__material-copy {
		padding-left: 42px;
		padding-right: 42px;
	}

	.ins-fenris-product__wear {
		grid-template-columns: 1fr;
	}

	.ins-fenris-product__wear-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 820px) {
	.ins-fenris-product__hero,
	.ins-fenris-product__material {
		grid-template-columns: 1fr;
	}

	.ins-fenris-product__gallery {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.ins-fenris-product__thumbs {
		order: 2;
		flex-direction: row;
	}

	.ins-fenris-product__thumb {
		width: 72px;
		height: 82px;
	}

	.ins-fenris-product__main-image,
	.ins-fenris-product__main-image img {
		min-height: 470px;
	}

	.ins-fenris-product__buy {
		padding: 44px 28px 48px;
	}

	.ins-fenris-product__material-copy {
		padding: 44px 28px;
	}

	.ins-fenris-product__trust {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ins-fenris-product__wear {
		padding: 30px 28px;
	}
}

@media (max-width: 560px) {
	.ins-fenris-product__main-image,
	.ins-fenris-product__main-image img {
		min-height: 390px;
	}

	.ins-fenris-product__buy h1 {
		font-size: 36px;
	}

	.ins-fenris-product__cart form.cart {
		grid-template-columns: 100px minmax(0, 1fr);
	}

	.ins-fenris-product__wear-grid {
		grid-template-columns: 1fr;
	}

	.ins-fenris-product__related-card {
		grid-template-columns: 128px 1fr;
	}

	.ins-fenris-product__related-image,
	.ins-fenris-product__related-image img {
		min-height: 150px;
	}

	.ins-fenris-product__related-copy {
		padding: 18px;
	}

	.ins-fenris-product__related-copy h3 {
		font-size: 20px;
	}
}


/* --------------------------------------------------------------------------
   2.6.1 — Fenris product-page layout polish
   -------------------------------------------------------------------------- */

/* The macro crop now owns the full left half of the material section. */
.ins-fenris-product__material {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-height: 390px;
}

.ins-fenris-product__material-image,
.ins-fenris-product__material-image img {
	min-height: 390px;
}

.ins-fenris-product__material-image img {
	object-fit: cover;
	object-position: center;
}

/* Slightly stronger trust row without turning it into a feature block. */
.ins-fenris-product__trust {
	gap: 22px;
	padding-top: 25px;
	font-size: 13.5px;
}

.ins-fenris-product__trust svg {
	width: 26px;
	height: 26px;
	flex-basis: 26px;
}

/* New reusable Fenris brand strip — deliberately not product-type specific. */
.ins-fenris-product__brand-strip {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	gap: 30px;
	align-items: stretch;
	padding: 34px 42px 38px;
	border-top: 1px solid var(--fenris-line);
	border-bottom: 1px solid var(--fenris-line);
	background: #151819;
}

.ins-fenris-product__brand-strip-title {
	margin: 2px 0 0;
	color: var(--fenris-gold);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .20em;
	text-transform: uppercase;
}

.ins-fenris-product__brand-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ins-fenris-product__brand-point {
	min-width: 0;
	padding: 2px 24px 3px;
}

.ins-fenris-product__brand-point:first-child {
	padding-left: 0;
}

.ins-fenris-product__brand-point + .ins-fenris-product__brand-point {
	border-left: 1px solid rgba(181, 150, 103, .22);
}

.ins-fenris-product__brand-point strong,
.ins-fenris-product__brand-point span {
	display: block;
}

.ins-fenris-product__brand-point strong {
	margin-bottom: 9px;
	color: #f0ede7;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .055em;
}

.ins-fenris-product__brand-point span {
	max-width: 235px;
	color: #aaa59c;
	font-size: 12.5px;
	line-height: 1.55;
}

/* Retire the old "wear" block if any cached markup survives briefly. */
.ins-fenris-product__wear {
	display: none !important;
}

@media (max-width: 1100px) {
	.ins-fenris-product__brand-strip {
		grid-template-columns: 1fr;
		gap: 18px;
		padding-left: 32px;
		padding-right: 32px;
	}

	.ins-fenris-product__brand-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0;
	}

	.ins-fenris-product__brand-point {
		padding: 18px 24px;
		border-top: 1px solid rgba(181, 150, 103, .16);
	}

	.ins-fenris-product__brand-point:first-child {
		padding-left: 24px;
	}

	.ins-fenris-product__brand-point:nth-child(odd) {
		border-left: 0 !important;
	}

	.ins-fenris-product__brand-point span {
		max-width: none;
	}
}

@media (max-width: 820px) {
	.ins-fenris-product__material {
		min-height: 0;
	}

	.ins-fenris-product__material-image,
	.ins-fenris-product__material-image img {
		min-height: 330px;
	}

	.ins-fenris-product__brand-strip {
		padding: 30px 28px 34px;
	}
}

@media (max-width: 560px) {
	.ins-fenris-product__brand-grid {
		grid-template-columns: 1fr;
	}

	.ins-fenris-product__brand-point,
	.ins-fenris-product__brand-point:first-child {
		padding: 18px 0;
		border-left: 0 !important;
		border-top: 1px solid rgba(181, 150, 103, .16);
	}
}


/* --------------------------------------------------------------------------
   2.6.2 — Fenris brand-strip icons
   -------------------------------------------------------------------------- */

.ins-fenris-product__brand-point {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

.ins-fenris-product__brand-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	flex: 0 0 58px;
}

.ins-fenris-product__brand-icon svg {
	display: block;
	width: 52px;
	height: 52px;
	overflow: visible;
	fill: none;
	stroke: var(--fenris-gold);
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ins-fenris-product__brand-icon .is-fill {
	fill: var(--fenris-gold);
	stroke: none;
}

.ins-fenris-product__brand-icon .is-dashed {
	stroke-dasharray: 3 3;
}

.ins-fenris-product__brand-icon .is-dotted {
	stroke-dasharray: .5 3.2;
	stroke-linecap: round;
}

.ins-fenris-product__brand-copy {
	min-width: 0;
}

.ins-fenris-product__brand-point strong {
	margin-bottom: 7px;
}

@media (max-width: 1100px) {
	.ins-fenris-product__brand-point {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 14px;
	}

	.ins-fenris-product__brand-icon {
		width: 52px;
		height: 52px;
	}

	.ins-fenris-product__brand-icon svg {
		width: 46px;
		height: 46px;
	}
}

@media (max-width: 560px) {
	.ins-fenris-product__brand-point {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.ins-fenris-product__brand-icon {
		width: 48px;
		height: 48px;
	}

	.ins-fenris-product__brand-icon svg {
		width: 42px;
		height: 42px;
	}
}


/* --------------------------------------------------------------------------
   2.6.3 — Fenris boutique premium product cards
   -------------------------------------------------------------------------- */

/* Make the product collection a deliberate dark Fenris moment. */
.ins-boutique-page--fenris .ins-fenris-products {
	background: #111315 !important;
	border-top: 4px solid #fff;
	border-bottom: 4px solid #fff;
	padding: 68px 28px 78px !important;
}

.ins-boutique-page--fenris .ins-fenris-products .ins-boutique-products__header {
	max-width: 1304px;
	margin: 0 auto 40px;
}

.ins-boutique-page--fenris .ins-fenris-products .ins-boutique-products__header .ins-kicker {
	color: #b59667;
}

.ins-boutique-page--fenris .ins-fenris-products .ins-boutique-products__header h2 {
	color: #f3f0ea !important;
	font-size: clamp(38px, 3.3vw, 50px);
}

.ins-boutique-page--fenris .ins-fenris-products .ins-boutique-products__grid {
	max-width: 1304px;
	margin: 0 auto;
}

/* Ignore generic Woo/Blocksy column widths and build a centered luxury grid.
   Two products centre nicely now; three products naturally fill the row later. */
.ins-boutique-page--fenris .ins-fenris-products .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(300px, 400px)) !important;
	justify-content: center !important;
	gap: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ins-boutique-page--fenris .ins-fenris-products .woocommerce ul.products::before,
.ins-boutique-page--fenris .ins-fenris-products .woocommerce ul.products::after {
	display: none !important;
}

.ins-boutique-page--fenris .ins-fenris-products .woocommerce ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	width: auto !important;
	min-width: 0 !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 0 28px !important;
	overflow: hidden;
	background: #181b1c !important;
	border: 1px solid rgba(181, 150, 103, .34);
	border-radius: 0 !important;
	box-shadow: 0 14px 38px rgba(0, 0, 0, .18);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ins-boutique-page--fenris .ins-fenris-products .woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	border-color: rgba(181, 150, 103, .7);
	box-shadow: 0 20px 48px rgba(0, 0, 0, .28);
}

/* Product photography gets the full card width and a consistent square crop. */
.ins-boutique-page--fenris .ins-fenris-products li.product .ct-image-container,
.ins-boutique-page--fenris .ins-fenris-products li.product > a:first-child {
	overflow: hidden;
}

.ins-boutique-page--fenris .ins-fenris-products li.product img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	margin: 0 !important;
	border-radius: 0 !important;
	background: #282a2a;
	transition: transform .38s ease, filter .3s ease;
}

.ins-boutique-page--fenris .ins-fenris-products li.product:hover img {
	transform: scale(1.025);
	filter: brightness(1.035);
}

/* Turn the title into the card's typographic anchor and add the brand kicker. */
.ins-boutique-page--fenris .ins-fenris-products .woocommerce-loop-product__title {
	margin: 0 !important;
	padding: 25px 27px 0 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 27px !important;
	font-weight: 400 !important;
	line-height: 1.12 !important;
	letter-spacing: -.012em;
	color: #f4f0e9 !important;
	text-decoration: none !important;
}

.ins-boutique-page--fenris .ins-fenris-products .woocommerce-loop-product__title::before {
	content: "FENRIS RVK";
	display: block;
	margin-bottom: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .19em;
	color: #b59667;
	text-transform: uppercase;
}

/* Suppress generic category/brand metadata; the card already carries the brand. */
.ins-boutique-page--fenris .ins-fenris-products li.product .product-category,
.ins-boutique-page--fenris .ins-fenris-products li.product .ct-product-categories,
.ins-boutique-page--fenris .ins-fenris-products li.product .ct-woo-card-extra,
.ins-boutique-page--fenris .ins-fenris-products li.product .woocommerce-loop-product__category {
	display: none !important;
}

.ins-boutique-page--fenris .ins-fenris-products li.product a,
.ins-boutique-page--fenris .ins-fenris-products li.product a:visited {
	text-decoration: none !important;
}

/* Price is calm and premium rather than ecommerce-blue. */
.ins-boutique-page--fenris .ins-fenris-products li.product .price {
	display: block !important;
	margin: 12px 27px 20px !important;
	padding: 0 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.25;
	color: #e7e1d8 !important;
}

.ins-boutique-page--fenris .ins-fenris-products li.product .price del {
	opacity: .48;
	color: #d7d0c6 !important;
}

.ins-boutique-page--fenris .ins-fenris-products li.product .price ins {
	text-decoration: none;
	color: #f1ece5 !important;
}

/* Luxury outline CTA; keep Woo functionality intact. */
.ins-boutique-page--fenris .ins-fenris-products li.product .button,
.ins-boutique-page--fenris .ins-fenris-products li.product .added_to_cart {
	align-self: flex-start;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: auto 27px 0 !important;
	padding: 0 22px !important;
	border: 1px solid #9f8257 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #f4f0e9 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: .01em;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.ins-boutique-page--fenris .ins-fenris-products li.product .button:hover,
.ins-boutique-page--fenris .ins-fenris-products li.product .button:focus,
.ins-boutique-page--fenris .ins-fenris-products li.product .added_to_cart:hover,
.ins-boutique-page--fenris .ins-fenris-products li.product .added_to_cart:focus {
	background: #b59667 !important;
	border-color: #b59667 !important;
	color: #111315 !important;
}

/* Remove default Woo gaps/borders that can leak through from Blocksy. */
.ins-boutique-page--fenris .ins-fenris-products li.product > * {
	max-width: 100%;
}

@media (max-width: 960px) {
	.ins-boutique-page--fenris .ins-fenris-products {
		padding: 56px 22px 64px !important;
	}

	.ins-boutique-page--fenris .ins-fenris-products .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px !important;
	}

	.ins-boutique-page--fenris .ins-fenris-products .woocommerce-loop-product__title {
		font-size: 24px !important;
	}
}

@media (max-width: 620px) {
	.ins-boutique-page--fenris .ins-fenris-products {
		padding: 46px 18px 54px !important;
	}

	.ins-boutique-page--fenris .ins-fenris-products .ins-boutique-products__header {
		margin-bottom: 30px;
	}

	.ins-boutique-page--fenris .ins-fenris-products .woocommerce ul.products {
		grid-template-columns: 1fr !important;
		gap: 22px !important;
	}

	.ins-boutique-page--fenris .ins-fenris-products .woocommerce-loop-product__title {
		padding-left: 22px !important;
		padding-right: 22px !important;
		font-size: 24px !important;
	}

	.ins-boutique-page--fenris .ins-fenris-products li.product .price {
		margin-left: 22px !important;
		margin-right: 22px !important;
	}

	.ins-boutique-page--fenris .ins-fenris-products li.product .button,
	.ins-boutique-page--fenris .ins-fenris-products li.product .added_to_cart {
		margin-left: 22px !important;
		margin-right: 22px !important;
	}
}


/* --------------------------------------------------------------------------
   2.6.4 — Fenrir origin story on the Fenris boutique page
   -------------------------------------------------------------------------- */

.ins-fenris-myth {
	max-width: 1304px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
	background: #e9e1d6;
	color: #17191b;
	border-top: 4px solid #fff;
	border-bottom: 4px solid #fff;
}

.ins-fenris-myth__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 62px 50px;
	border-right: 1px solid rgba(43, 39, 34, .18);
	background:
		linear-gradient(rgba(255,255,255,.18), rgba(255,255,255,.18)),
		#ddd4c6;
}

.ins-fenris-myth__mark img {
	display: block;
	width: min(250px, 74%);
	height: auto;
	filter: brightness(0);
	opacity: .92;
}

.ins-fenris-myth__copy {
	padding: 62px 66px 66px;
}

.ins-fenris-myth__copy .ins-kicker {
	margin: 0 0 12px;
	color: #8b704d;
}

.ins-fenris-myth__copy h2 {
	margin: 0 0 26px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(36px, 3.2vw, 50px);
	font-weight: 400;
	line-height: 1.03;
	letter-spacing: -.015em;
	color: #17191b;
}

.ins-fenris-myth__copy > p {
	max-width: 650px;
	margin: 0 0 16px;
	color: #48423c;
	font-size: 17px;
	line-height: 1.7;
}

.ins-fenris-myth__statement {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 30px;
	padding-top: 24px;
	border-top: 1px solid rgba(43, 39, 34, .18);
}

.ins-fenris-myth__statement > span {
	width: 52px;
	height: 1px;
	background: #9b7a50;
	flex: 0 0 52px;
}

.ins-fenris-myth__statement strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(22px, 2vw, 30px);
	font-style: italic;
	font-weight: 400;
	line-height: 1.25;
	color: #1e1c19;
}

@media (max-width: 900px) {
	.ins-fenris-myth {
		grid-template-columns: .72fr 1.28fr;
	}

	.ins-fenris-myth__mark {
		padding: 52px 34px;
	}

	.ins-fenris-myth__copy {
		padding: 52px 42px 56px;
	}
}

@media (max-width: 700px) {
	.ins-fenris-myth {
		grid-template-columns: 1fr;
		margin-left: 18px;
		margin-right: 18px;
	}

	.ins-fenris-myth__mark {
		min-height: 240px;
		padding: 38px 28px;
		border-right: 0;
		border-bottom: 1px solid rgba(43, 39, 34, .18);
	}

	.ins-fenris-myth__mark img {
		width: min(210px, 60%);
	}

	.ins-fenris-myth__copy {
		padding: 40px 28px 44px;
	}

	.ins-fenris-myth__copy > p {
		font-size: 16px;
	}
}


/* --------------------------------------------------------------------------
   2.6.5 — Fenrir story: wolf mark on the right
   -------------------------------------------------------------------------- */

.ins-fenris-myth {
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
}

.ins-fenris-myth__copy {
	order: 1;
}

.ins-fenris-myth__mark {
	order: 2;
	border-right: 0;
	border-left: 1px solid rgba(43, 39, 34, .18);
	background:
		linear-gradient(rgba(255,255,255,.14), rgba(255,255,255,.14)),
		#ddd4c6;
}

.ins-fenris-myth__mark img {
	width: min(290px, 78%);
	max-height: 320px;
	object-fit: contain;
	filter: none;
	opacity: .93;
}

@media (max-width: 900px) {
	.ins-fenris-myth {
		grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr);
	}
}

@media (max-width: 700px) {
	.ins-fenris-myth {
		grid-template-columns: 1fr;
	}

	.ins-fenris-myth__copy {
		order: 1;
	}

	.ins-fenris-myth__mark {
		order: 2;
		border-left: 0;
		border-top: 1px solid rgba(43, 39, 34, .18);
		border-bottom: 0;
	}

	.ins-fenris-myth__mark img {
		width: min(230px, 58%);
	}
}


/* --------------------------------------------------------------------------
   2.6.7 — Esterer nutrition editorial section
   -------------------------------------------------------------------------- */

.ins-esterer-nutrition {
	max-width: 1304px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
	background: #f1eadf;
	border-top: 4px solid #fff;
	border-bottom: 4px solid #fff;
	color: #29251f;
}

.ins-esterer-nutrition__copy {
	padding: 60px 62px 64px;
}

.ins-esterer-nutrition__copy .ins-kicker {
	margin: 0 0 12px;
	color: #74804d;
}

.ins-esterer-nutrition__copy h2 {
	margin: 0 0 24px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(36px, 3.1vw, 48px);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -.015em;
	color: #29251f;
}

.ins-esterer-nutrition__copy > p {
	max-width: 690px;
	margin: 0 0 16px;
	font-size: 16.5px;
	line-height: 1.72;
	color: #514a41;
}

.ins-esterer-nutrition__points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: #263326;
}

.ins-esterer-nutrition__point {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-height: 205px;
	padding: 30px 28px;
	border-left: 1px solid rgba(220, 205, 176, .14);
	border-bottom: 1px solid rgba(220, 205, 176, .14);
}

.ins-esterer-nutrition__point:nth-child(odd) {
	border-left: 0;
}

.ins-esterer-nutrition__point:nth-child(n+3) {
	border-bottom: 0;
}

.ins-esterer-nutrition__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	margin-bottom: 18px;
}

.ins-esterer-nutrition__icon svg {
	width: 50px;
	height: 50px;
	fill: none;
	stroke: #c7ac7a;
	stroke-width: 1.55;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ins-esterer-nutrition__point strong,
.ins-esterer-nutrition__point span {
	display: block;
}

.ins-esterer-nutrition__point strong {
	margin-bottom: 8px;
	color: #f3eee5;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .11em;
}

.ins-esterer-nutrition__point div > span {
	max-width: 210px;
	color: #c9c1b5;
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 980px) {
	.ins-esterer-nutrition {
		grid-template-columns: 1fr;
	}

	.ins-esterer-nutrition__copy {
		padding: 52px 44px 54px;
	}

	.ins-esterer-nutrition__point {
		min-height: 180px;
	}
}

@media (max-width: 640px) {
	.ins-esterer-nutrition {
		margin-left: 14px;
		margin-right: 14px;
	}

	.ins-esterer-nutrition__copy {
		padding: 40px 28px 42px;
	}

	.ins-esterer-nutrition__copy h2 {
		font-size: 34px;
	}

	.ins-esterer-nutrition__copy > p {
		font-size: 16px;
	}

	.ins-esterer-nutrition__points {
		grid-template-columns: 1fr;
	}

	.ins-esterer-nutrition__point,
	.ins-esterer-nutrition__point:nth-child(odd),
	.ins-esterer-nutrition__point:nth-child(n+3) {
		min-height: 0;
		padding: 28px;
		border-left: 0;
		border-bottom: 1px solid rgba(220, 205, 176, .14);
	}

	.ins-esterer-nutrition__point:last-child {
		border-bottom: 0;
	}
}


/* --------------------------------------------------------------------------
   2.6.8 — Esterer nutrition section: editorial three-panel redesign
   -------------------------------------------------------------------------- */

.ins-esterer-nutrition {
	max-width: 1304px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(280px, .72fr) minmax(360px, .92fr) minmax(440px, 1fr);
	align-items: stretch;
	background: #f3ede4;
	border-top: 4px solid #fff;
	border-bottom: 4px solid #fff;
	overflow: hidden;
}

.ins-esterer-nutrition__image {
	min-height: 620px;
	background-size: cover;
	background-position: 47% center;
}

.ins-esterer-nutrition__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 58px 54px 60px;
	background: #f3ede4;
}

.ins-esterer-nutrition__copy .ins-kicker {
	margin: 0 0 14px;
	color: #9a7d4e;
	letter-spacing: .18em;
}

.ins-esterer-nutrition__copy h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(39px, 3.25vw, 54px);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -.02em;
	color: #243025;
}

.ins-esterer-nutrition__rule {
	position: relative;
	width: 165px;
	height: 1px;
	margin: 28px 0 32px;
	background: #bca171;
}

.ins-esterer-nutrition__rule span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	background: #bca171;
	transform: translate(-50%, -50%) rotate(45deg);
}

.ins-esterer-nutrition__copy > p {
	max-width: 560px;
	margin: 0 0 18px;
	color: #47443e;
	font-size: 15.5px;
	line-height: 1.72;
}

.ins-esterer-nutrition__facts {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #17351f;
}

.ins-esterer-nutrition__facts-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	flex: 1 1 auto;
}

.ins-esterer-nutrition__fact {
	min-height: 246px;
	padding: 38px 38px 34px;
	background: linear-gradient(145deg, #17351f 0%, #102c19 100%);
	border-left: 1px solid rgba(205, 176, 118, .32);
	border-bottom: 1px solid rgba(205, 176, 118, .32);
}

.ins-esterer-nutrition__fact:nth-child(odd) {
	border-left: 0;
}

.ins-esterer-nutrition__fact:nth-child(n+3) {
	border-bottom: 0;
}

.ins-esterer-nutrition__number {
	display: block;
	margin-bottom: 12px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 33px;
	font-style: italic;
	font-weight: 400;
	line-height: 1;
	color: #b69762;
}

.ins-esterer-nutrition__dash {
	display: block;
	width: 30px;
	height: 1px;
	margin-bottom: 26px;
	background: #a68958;
}

.ins-esterer-nutrition__fact h3 {
	margin: 0 0 16px;
	color: #f4f0e8;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .055em;
}

.ins-esterer-nutrition__fact p {
	margin: 0;
	max-width: 190px;
	color: #d5cec1;
	font-size: 14px;
	line-height: 1.55;
}

.ins-esterer-nutrition__strap {
	padding: 22px 24px 23px;
	border-top: 1px solid rgba(205, 176, 118, .34);
	color: #a98a57;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .14em;
	text-align: center;
}

@media (max-width: 1120px) {
	.ins-esterer-nutrition {
		grid-template-columns: minmax(250px, .72fr) minmax(330px, .9fr) minmax(360px, 1fr);
	}

	.ins-esterer-nutrition__copy {
		padding: 48px 38px 50px;
	}

	.ins-esterer-nutrition__fact {
		padding: 32px 28px 30px;
	}
}

@media (max-width: 920px) {
	.ins-esterer-nutrition {
		grid-template-columns: .9fr 1.1fr;
	}

	.ins-esterer-nutrition__image {
		min-height: 560px;
	}

	.ins-esterer-nutrition__facts {
		grid-column: 1 / -1;
	}

	.ins-esterer-nutrition__fact {
		min-height: 190px;
	}
}

@media (max-width: 680px) {
	.ins-esterer-nutrition {
		grid-template-columns: 1fr;
		margin-left: 14px;
		margin-right: 14px;
	}

	.ins-esterer-nutrition__image {
		min-height: 420px;
		background-position: center center;
	}

	.ins-esterer-nutrition__copy {
		padding: 40px 28px 44px;
	}

	.ins-esterer-nutrition__copy h2 {
		font-size: 37px;
	}

	.ins-esterer-nutrition__copy > p {
		font-size: 15.5px;
	}

	.ins-esterer-nutrition__facts-grid {
		grid-template-columns: 1fr;
	}

	.ins-esterer-nutrition__fact,
	.ins-esterer-nutrition__fact:nth-child(odd),
	.ins-esterer-nutrition__fact:nth-child(n+3) {
		min-height: 0;
		padding: 30px 28px;
		border-left: 0;
		border-bottom: 1px solid rgba(205, 176, 118, .32);
	}

	.ins-esterer-nutrition__fact:last-child {
		border-bottom: 0;
	}
}


/* --------------------------------------------------------------------------
   2.6.9 — Homepage premium Iceland Natura product cards
   -------------------------------------------------------------------------- */

.ins-products-section {
	max-width: 1360px;
	padding-top: 78px;
	padding-bottom: 86px;
}

.ins-products-section__grid {
	max-width: 1260px;
	margin: 0 auto;
}

.ins-products-section__grid .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ins-products-section__grid .woocommerce ul.products::before,
.ins-products-section__grid .woocommerce ul.products::after {
	display: none !important;
}

.ins-products-section__grid .woocommerce ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	width: auto !important;
	min-width: 0 !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 0 24px !important;
	overflow: hidden;
	background: #fbfaf7 !important;
	border: 1px solid #e8e2d9;
	border-radius: 0 !important;
	text-align: left !important;
	box-shadow: 0 8px 24px rgba(34, 30, 24, .035);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ins-products-section__grid .woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: #cfc5b7;
	box-shadow: 0 16px 34px rgba(34, 30, 24, .075);
}

/* Calm, consistent image stage for mixed brands and product shapes. */
.ins-products-section__grid li.product .ct-image-container,
.ins-products-section__grid li.product .woocommerce-loop-product__link {
	overflow: hidden;
}

.ins-products-section__grid li.product img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	object-position: center;
	margin: 0 !important;
	padding: 16px;
	background: #f2efe9;
	border-radius: 0 !important;
	transition: transform .35s ease;
}

.ins-products-section__grid li.product:hover img {
	transform: scale(1.018);
}

/* Product title: editorial rather than default Woo link styling. */
.ins-products-section__grid .woocommerce-loop-product__title {
	margin: 0 !important;
	padding: 22px 22px 0 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 21px !important;
	font-weight: 400 !important;
	line-height: 1.18 !important;
	letter-spacing: -.01em;
	color: #25231f !important;
	text-decoration: none !important;
}

.ins-products-section__grid li.product a,
.ins-products-section__grid li.product a:visited {
	text-decoration: none !important;
}

/* Price stays secondary to product name. */
.ins-products-section__grid li.product .price {
	display: block !important;
	margin: 11px 22px 0 !important;
	padding: 0 !important;
	color: #34312c !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.25;
}

/* Existing boutique/category line becomes a subtle brand label. */
.ins-products-section__grid li.product .product-category,
.ins-products-section__grid li.product .ct-product-categories,
.ins-products-section__grid li.product .woocommerce-loop-product__category,
.ins-products-section__grid li.product .ct-woo-card-extra {
	display: block !important;
	margin: 10px 22px 18px !important;
	padding: 0 !important;
	color: #81786d !important;
	font-size: 10.5px !important;
	font-weight: 600 !important;
	line-height: 1.25;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.ins-products-section__grid li.product .product-category a,
.ins-products-section__grid li.product .ct-product-categories a,
.ins-products-section__grid li.product .woocommerce-loop-product__category a,
.ins-products-section__grid li.product .ct-woo-card-extra a {
	color: #81786d !important;
	text-decoration: none !important;
}

/* Neutral Iceland Natura CTA: view first, buy on the boutique product page. */
.ins-products-section__grid li.product .button.ins-home-product-view,
.ins-products-section__grid li.product .button {
	align-self: flex-start;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin: auto 22px 0 !important;
	padding: 0 19px !important;
	border: 1px solid #4e4a44 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #2a2824 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: .02em;
	box-shadow: none !important;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.ins-products-section__grid li.product .button.ins-home-product-view:hover,
.ins-products-section__grid li.product .button.ins-home-product-view:focus,
.ins-products-section__grid li.product .button:hover,
.ins-products-section__grid li.product .button:focus {
	background: #272622 !important;
	border-color: #272622 !important;
	color: #fff !important;
}

/* Remove Woo loading/checkmark treatments that are irrelevant for "Skoða vöru". */
.ins-products-section__grid li.product .button.loading::after,
.ins-products-section__grid li.product .button.added::after {
	display: none !important;
}

.ins-products-section > .ins-button {
	margin-top: 34px;
	background: #fff;
	border-color: #9e968b;
	font-size: 14px;
	padding: 12px 23px;
}

@media (max-width: 1050px) {
	.ins-products-section__grid .woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 780px) {
	.ins-products-section {
		padding-left: 22px;
		padding-right: 22px;
	}

	.ins-products-section__grid .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}
}

@media (max-width: 520px) {
	.ins-products-section {
		padding: 54px 16px 62px;
	}

	.ins-products-section__grid .woocommerce ul.products {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}

	.ins-products-section__grid .woocommerce-loop-product__title {
		font-size: 22px !important;
	}
}


/* --------------------------------------------------------------------------
   2.7.0 — Homepage product cards, second pass
   Cleaner editorial retail cards with brand-aware image treatment.
   -------------------------------------------------------------------------- */

.ins-products-section {
	max-width: 1320px;
	padding: 74px 28px 82px;
}

.ins-products-section__grid {
	max-width: 1220px;
}

.ins-products-section__grid .woocommerce ul.products {
	gap: 26px !important;
}

/* Lighter, flatter card: let product photography and type do the work. */
.ins-products-section__grid .woocommerce ul.products li.product {
	padding: 0 0 22px !important;
	background: #fff !important;
	border: 1px solid #e5dfd6;
	box-shadow: none;
}

.ins-products-section__grid .woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: #cfc5b7;
	box-shadow: 0 12px 28px rgba(35, 31, 25, .06);
}

/* More compact 4:3 image stage instead of a tall square block. */
.ins-products-section__grid li.product img {
	width: 100% !important;
	aspect-ratio: 4 / 3;
	height: auto !important;
	padding: 0;
	background: #f2efe9;
	object-position: center;
}

/* Jewelry/lifestyle photography should fill its frame. */
.ins-products-section__grid li.product.ins-card-boutique-fenris-rvk img,
.ins-products-section__grid li.product.ins-card-boutique-jonamaria img {
	object-fit: cover;
	transform: scale(1);
}

.ins-products-section__grid li.product.ins-card-boutique-fenris-rvk:hover img,
.ins-products-section__grid li.product.ins-card-boutique-jonamaria:hover img {
	transform: scale(1.022);
}

/* Tall Esterer cans need a contained stage, but substantially larger than before. */
.ins-products-section__grid li.product.ins-card-boutique-olmuhle-esterer img {
	object-fit: contain;
	padding: 8px 26px;
	transform: scale(1.16);
}

.ins-products-section__grid li.product.ins-card-boutique-olmuhle-esterer:hover img {
	transform: scale(1.19);
}

/* Hide all generic Woo/Blocksy metadata. We supply a clean boutique kicker ourselves. */
.ins-products-section__grid li.product .product-category,
.ins-products-section__grid li.product .ct-product-categories,
.ins-products-section__grid li.product .woocommerce-loop-product__category,
.ins-products-section__grid li.product .ct-woo-card-extra,
.ins-products-section__grid li.product .entry-meta,
.ins-products-section__grid li.product [class*="categories"] {
	display: none !important;
}

/* Brand kicker above title. */
.ins-products-section__grid .woocommerce-loop-product__title {
	padding: 21px 20px 0 !important;
	font-size: 19px !important;
	line-height: 1.2 !important;
	min-height: 0;
}

.ins-products-section__grid .woocommerce-loop-product__title::before {
	display: block;
	margin: 0 0 8px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .14em;
	color: #8a8176;
	text-transform: uppercase;
}

.ins-products-section__grid li.product.ins-card-boutique-fenris-rvk .woocommerce-loop-product__title::before {
	content: "FENRIS RVK";
}

.ins-products-section__grid li.product.ins-card-boutique-olmuhle-esterer .woocommerce-loop-product__title::before {
	content: "ÖLMÜHLE ESTERER";
}

.ins-products-section__grid li.product.ins-card-boutique-jonamaria .woocommerce-loop-product__title::before {
	content: "JÓNAMARÍA";
}

.ins-products-section__grid li.product .price {
	margin: 10px 20px 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #4a453e !important;
}

/* Editorial text CTA, not a boxed ecommerce button. */
.ins-products-section__grid li.product .button.ins-home-product-view,
.ins-products-section__grid li.product .button {
	min-height: 0;
	margin: 18px 20px 0 !important;
	padding: 0 0 3px !important;
	border: 0 !important;
	border-bottom: 1px solid #756d62 !important;
	background: transparent !important;
	color: #35312c !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: .015em;
}

.ins-products-section__grid li.product .button.ins-home-product-view span {
	display: inline-block;
	margin-left: 7px;
	transition: transform .18s ease;
}

.ins-products-section__grid li.product .button.ins-home-product-view:hover,
.ins-products-section__grid li.product .button.ins-home-product-view:focus,
.ins-products-section__grid li.product .button:hover,
.ins-products-section__grid li.product .button:focus {
	background: transparent !important;
	border-color: #27231f !important;
	color: #15130f !important;
}

.ins-products-section__grid li.product .button.ins-home-product-view:hover span,
.ins-products-section__grid li.product .button.ins-home-product-view:focus span {
	transform: translateX(3px);
}

/* "All products" remains the only boxed CTA in this section. */
.ins-products-section > .ins-button {
	margin-top: 38px;
	padding: 12px 25px;
}

@media (max-width: 780px) {
	.ins-products-section__grid .woocommerce-loop-product__title {
		font-size: 19px !important;
	}
}

@media (max-width: 520px) {
	.ins-products-section__grid .woocommerce-loop-product__title {
		font-size: 21px !important;
	}
}


/* --------------------------------------------------------------------------
   2.7.1 — Homepage Esterer image-fit correction
   -------------------------------------------------------------------------- */

/* Keep all Esterer packs fully inside the 4:3 image stage. */
.ins-products-section__grid li.product.ins-card-boutique-olmuhle-esterer img {
	object-fit: contain !important;
	padding: 12px 34px !important;
	transform: scale(1.06) !important;
}

.ins-products-section__grid li.product.ins-card-boutique-olmuhle-esterer:hover img {
	transform: scale(1.085) !important;
}

/* The 1000 ml pack is physically taller in its source image, so give it
   a little more breathing room than the 500 ml pack. */
.ins-products-section__grid li.product.ins-card-product-olmuhle-esterer-1000ml img {
	padding: 18px 42px !important;
	transform: scale(.98) !important;
}

.ins-products-section__grid li.product.ins-card-product-olmuhle-esterer-1000ml:hover img {
	transform: scale(1.005) !important;
}


/* --------------------------------------------------------------------------
   2.7.3 — Boutique card metadata cleanup
   -------------------------------------------------------------------------- */

/* Boutique pages already show their brand as a designed kicker, so any
   Woo/Blocksy product-category line is redundant and must not leak through. */
.ins-boutique-page .woocommerce ul.products li.product .product-category,
.ins-boutique-page .woocommerce ul.products li.product .product-categories,
.ins-boutique-page .woocommerce ul.products li.product .ct-product-categories,
.ins-boutique-page .woocommerce ul.products li.product .woocommerce-loop-product__category,
.ins-boutique-page .woocommerce ul.products li.product .entry-meta,
.ins-boutique-page .woocommerce ul.products li.product [class*="categories"] {
	display: none !important;
}


/* ==========================================================================
   2.8.0 — Iceland Natura wholesale-only homepage
   ========================================================================== */

.ins-home--wholesale .ins-home-hero__content {
    max-width: 760px;
}

.ins-home--wholesale .ins-home-hero__content h1 {
    max-width: 720px;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.02;
}

.ins-home-hero__kicker {
    margin: 0 0 14px !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.ins-home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.ins-button--outline-light,
.ins-button--outline-light:visited {
    border-color: rgba(28, 33, 36, .75) !important;
    background: rgba(255,255,255,.38) !important;
    color: #202326 !important;
}

.ins-button--outline-light:hover,
.ins-button--outline-light:focus {
    background: #fff !important;
    color: #111 !important;
}

.ins-wholesale-brands {
    background: #fff;
    padding-top: 62px;
}

.ins-wholesale-section-heading {
    max-width: 760px;
    margin: 0 auto 34px;
    padding: 0 28px;
    text-align: center;
}

.ins-wholesale-section-heading h2 {
    margin: 6px auto 12px;
    max-width: 720px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3.4vw, 46px);
    font-weight: 400;
    line-height: 1.08;
}

.ins-wholesale-section-heading > p:last-child {
    margin: 0;
    color: #68635d;
    font-size: 15px;
}

.ins-home--wholesale .ins-boutique-door {
    min-height: 470px;
}

.ins-home--wholesale .ins-boutique-door small {
    max-width: 330px;
}

.ins-benefits--wholesale > div {
    min-width: 0;
}

.ins-benefits--wholesale strong {
    font-size: 13px;
}

.ins-benefits--wholesale > div > span:last-child {
    max-width: 230px;
    margin-left: auto;
    margin-right: auto;
}

.ins-wholesale-range {
    padding-top: 76px !important;
    padding-bottom: 80px !important;
}

.ins-wholesale-range > header {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.ins-wholesale-range > header .ins-section-lead {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.65;
}

.ins-wholesale-range__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    max-width: 1180px;
    margin: 38px auto 34px;
    text-align: left;
}

.ins-wholesale-range__grid article {
    min-height: 230px;
    padding: 30px 27px;
    border: 1px solid #e1ddd6;
    background: #faf8f4;
}

.ins-wholesale-range__grid article > span {
    display: block;
    margin-bottom: 28px;
    color: #9c7d51;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
}

.ins-wholesale-range__grid h3 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.08;
}

.ins-wholesale-range__grid p {
    margin: 0;
    color: #65615b;
    font-size: 14px;
    line-height: 1.58;
}

.ins-wholesale-onboarding {
    padding: 72px 28px 78px;
    background: #efe9df;
    text-align: center;
}

.ins-wholesale-onboarding header {
    max-width: 760px;
    margin: 0 auto 36px;
}

.ins-wholesale-onboarding h2 {
    margin: 6px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3.4vw, 46px);
    font-weight: 400;
    line-height: 1.08;
}

.ins-wholesale-onboarding__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    max-width: 1040px;
    margin: 0 auto 34px;
    background: #d8cec0;
}

.ins-wholesale-onboarding__steps > div {
    padding: 30px 28px 32px;
    background: #f7f3ed;
}

.ins-wholesale-onboarding__steps > div > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-bottom: 18px;
    border: 1px solid #a88b60;
    border-radius: 50%;
    color: #8c7049;
    font-size: 13px;
    font-weight: 700;
}

.ins-wholesale-onboarding__steps strong {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
}

.ins-wholesale-onboarding__steps p {
    margin: 0 auto;
    max-width: 250px;
    color: #6c655d;
    font-size: 13.5px;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .ins-wholesale-range__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .ins-home--wholesale .ins-home-hero__content h1 {
        font-size: clamp(34px, 10vw, 48px);
    }

    .ins-home-hero__actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .ins-wholesale-brands {
        padding-top: 44px;
    }

    .ins-wholesale-section-heading {
        margin-bottom: 26px;
        padding: 0 20px;
    }

    .ins-wholesale-range {
        padding: 54px 18px 58px !important;
    }

    .ins-wholesale-range__grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 28px;
    }

    .ins-wholesale-range__grid article {
        min-height: 0;
    }

    .ins-wholesale-onboarding {
        padding: 54px 18px 60px;
    }

    .ins-wholesale-onboarding__steps {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   2.8.1 — Wholesale header + hero refinement
   ========================================================================== */

/* Hero: calmer B2B hierarchy, no shouty poster treatment. */
.ins-home--wholesale .ins-home-hero__content {
    max-width: 680px !important;
    text-align: left !important;
}

.ins-home--wholesale .ins-home-hero__content h1 {
    max-width: 650px !important;
    margin: 0 0 16px !important;
    font-size: clamp(38px, 4.2vw, 58px) !important;
    font-weight: 400 !important;
    line-height: 1.03 !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
}

.ins-home--wholesale .ins-home-hero__content > p:not(.ins-home-hero__kicker) {
    max-width: 620px !important;
    margin: 0 !important;
    padding: 9px 12px 10px !important;
    background: rgba(255,255,255,.48) !important;
    color: #22272a !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    text-shadow: none !important;
    backdrop-filter: blur(2px);
}

.ins-home--wholesale .ins-home-hero__kicker {
    margin-bottom: 12px !important;
    color: #26323a !important;
    text-shadow: none !important;
}

.ins-home--wholesale .ins-home-hero__actions {
    margin-top: 18px !important;
}

/* Header: slightly more purposeful wholesale navigation spacing. */
body:not(.admin-bar) .ct-header [data-id="menu"] > ul,
.ct-header [data-id="menu"] > ul {
    gap: 24px;
}

.ct-header [data-id="menu"] a {
    letter-spacing: .02em;
}

@media (max-width: 900px) {
    .ins-home--wholesale .ins-home-hero__content {
        max-width: 620px !important;
    }

    .ins-home--wholesale .ins-home-hero__content h1 {
        font-size: clamp(34px, 6.2vw, 48px) !important;
    }
}

@media (max-width: 700px) {
    .ins-home--wholesale .ins-home-hero__content {
        text-align: left !important;
    }

    .ins-home--wholesale .ins-home-hero__content h1 {
        font-size: clamp(32px, 9.5vw, 42px) !important;
        line-height: 1.06 !important;
    }

    .ins-home--wholesale .ins-home-hero__content > p:not(.ins-home-hero__kicker) {
        font-size: 15px !important;
        padding: 8px 10px 9px !important;
    }
}


/* 2.8.2 — Approved Iceland Natura green/sage logo. */
#header .site-title a[rel="home"] {
    width: 300px !important;
    height: 72px !important;
}

@media (max-width: 999px) {
    #header .site-title a[rel="home"] {
        width: 238px !important;
        height: 58px !important;
    }
}

@media (max-width: 560px) {
    #header .site-title a[rel="home"] {
        width: 200px !important;
        height: 48px !important;
    }
}


/* ==========================================================================
   2.8.3 — Iceland Natura green identity accents
   Use the logo greens as restrained connective details, not large backgrounds.
   ========================================================================== */

:root {
    --in-green: #173f34;
    --in-green-deep: #10352b;
    --in-sage: #6f7f6b;
    --in-sage-soft: #dfe5dc;
    --in-sage-pale: #eef2ec;
}

/* Kicker / eyebrow language throughout the wholesale site. */
.ins-home--wholesale .ins-kicker,
.ins-home--wholesale .ins-home-hero__kicker,
.ins-home--wholesale .ins-wholesale-section-heading .ins-kicker,
.ins-home--wholesale .ins-products-section .ins-kicker,
.ins-home--wholesale .ins-wholesale-onboarding .ins-kicker,
.ins-home--wholesale .ins-about-strip .ins-kicker {
    color: var(--in-green) !important;
}

/* Header navigation: quiet green interaction state. */
.ct-header [data-id="menu"] a:hover,
.ct-header [data-id="menu"] a:focus,
.ct-header [data-id="menu"] .current-menu-item > a,
.ct-header [data-id="menu"] .current_page_item > a {
    color: var(--in-green) !important;
}

/* Primary button remains dark/neutral; secondary/outline actions carry the brand green. */
.ins-home--wholesale .ins-button--outline-light,
.ins-home--wholesale .ins-button--outline-light:visited {
    border-color: rgba(23, 63, 52, .74) !important;
    color: var(--in-green-deep) !important;
}

.ins-home--wholesale .ins-button--outline-light:hover,
.ins-home--wholesale .ins-button--outline-light:focus {
    border-color: var(--in-green) !important;
    background: var(--in-green) !important;
    color: #fff !important;
}

/* General wholesale CTA hover: a small green payoff without turning the whole page green. */
.ins-home--wholesale .ins-button:hover,
.ins-home--wholesale .ins-button:focus {
    border-color: var(--in-green) !important;
}

.ins-home--wholesale .ins-wholesale-range > .ins-button:hover,
.ins-home--wholesale .ins-wholesale-range > .ins-button:focus,
.ins-home--wholesale .ins-wholesale-onboarding > .ins-button:hover,
.ins-home--wholesale .ins-wholesale-onboarding > .ins-button:focus {
    background: var(--in-green) !important;
    border-color: var(--in-green) !important;
    color: #fff !important;
}

/* Benefits row: use the sage/green in icons and separators only. */
.ins-home--wholesale .ins-benefit-icon,
.ins-home--wholesale .ins-benefit-icon svg {
    color: var(--in-green) !important;
    stroke: var(--in-green) !important;
}

.ins-home--wholesale .ins-benefits > div {
    border-color: rgba(111, 127, 107, .24) !important;
}

.ins-home--wholesale .ins-benefits strong {
    color: var(--in-green-deep) !important;
}

/* Product-range cards: small green numbers and a soft sage edge. */
.ins-home--wholesale .ins-wholesale-range__grid article {
    border-color: rgba(111, 127, 107, .28) !important;
}

.ins-home--wholesale .ins-wholesale-range__grid article > span {
    color: var(--in-green) !important;
}

.ins-home--wholesale .ins-wholesale-range__grid h3 {
    color: #243129 !important;
}

/* Onboarding: green step markers and gentle sage structure. */
.ins-home--wholesale .ins-wholesale-onboarding {
    border-top: 1px solid rgba(111, 127, 107, .22);
    border-bottom: 1px solid rgba(111, 127, 107, .22);
}

.ins-home--wholesale .ins-wholesale-onboarding__steps {
    background: rgba(111, 127, 107, .24) !important;
}

.ins-home--wholesale .ins-wholesale-onboarding__steps > div > span {
    border-color: var(--in-sage) !important;
    color: var(--in-green) !important;
    background: var(--in-sage-pale) !important;
}

.ins-home--wholesale .ins-wholesale-onboarding__steps strong {
    color: var(--in-green-deep) !important;
}

/* Brand section: understated green/sage line beneath the heading. */
.ins-home--wholesale .ins-wholesale-section-heading::after {
    content: "";
    display: block;
    width: 54px;
    height: 1px;
    margin: 20px auto 0;
    background: var(--in-sage);
    opacity: .85;
}

/* About block links / fine details. */
.ins-home--wholesale .ins-about-strip__copy a:not(.ins-button),
.ins-home--wholesale a:not(.ins-button):not(.ins-boutique-door) {
    text-decoration-color: rgba(23, 63, 52, .45);
}

.ins-home--wholesale .ins-about-strip__copy h2 {
    color: #23342d !important;
}

/* Footer: tiny green interaction state, no large green slab. */
.ins-global-footer a:hover,
.ins-global-footer a:focus,
.site-footer a:hover,
.site-footer a:focus {
    color: var(--in-sage) !important;
}

/* Mobile retains the same restrained accent treatment. */
@media (max-width: 700px) {
    .ins-home--wholesale .ins-wholesale-section-heading::after {
        margin-top: 16px;
    }
}


/* ==========================================================================
   2.8.4 — Hero cleanup
   ========================================================================== */

/* The company description already says Iceland Natura is a wholesale company. */
.ins-home--wholesale .ins-home-hero__kicker {
    display: none !important;
}

/* Secondary CTA: light, clearly readable and tied to the green identity. */
.ins-home--wholesale .ins-button--outline-light,
.ins-home--wholesale .ins-button--outline-light:visited {
    background: rgba(255,255,255,.92) !important;
    border-color: var(--in-green) !important;
    color: var(--in-green-deep) !important;
    text-shadow: none !important;
}

.ins-home--wholesale .ins-button--outline-light:hover,
.ins-home--wholesale .ins-button--outline-light:focus {
    background: var(--in-green) !important;
    border-color: var(--in-green) !important;
    color: #fff !important;
}


/* ==========================================================================
   2.8.5 — Second wholesale entrance row
   ========================================================================== */

.ins-boutique-doors--second {
    border-top: 2px solid #fff;
}

.ins-boutique-door--iceland-natura .ins-boutique-door__shade,
.ins-boutique-door--all-products .ins-boutique-door__shade {
    background: linear-gradient(
        to top,
        rgba(12, 26, 22, .56) 0%,
        rgba(12, 26, 22, .18) 48%,
        rgba(12, 26, 22, .03) 100%
    ) !important;
}

.ins-boutique-door__logo--iceland-natura {
    max-width: 66% !important;
    max-height: 112px !important;
    background: rgba(255,255,255,.86);
    padding: 11px 14px;
    border-radius: 2px;
    filter: none !important;
}

.ins-boutique-door__title {
    display: block;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(31px, 3vw, 44px);
    font-weight: 400;
    line-height: 1.02;
    text-shadow: 0 2px 10px rgba(0,0,0,.38);
}

.ins-boutique-door--coming-soon {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #f2f4ef 0%, #e7ece5 100%) !important;
    color: var(--in-green-deep) !important;
    border-right: 0;
}

.ins-boutique-door--coming-soon::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 76% 20%, rgba(111,127,107,.09), transparent 34%),
        linear-gradient(to bottom, transparent 68%, rgba(23,63,52,.04));
}

.ins-boutique-door--coming-soon .ins-boutique-door__content {
    color: var(--in-green-deep) !important;
}

.ins-boutique-door--coming-soon .ins-boutique-door__title {
    color: var(--in-green-deep) !important;
    text-shadow: none !important;
}

.ins-boutique-door--coming-soon small {
    color: #5f6e63 !important;
    text-shadow: none !important;
}

.ins-boutique-door__coming-mark {
    position: absolute;
    top: 72px;
    left: 50%;
    width: 150px;
    transform: translateX(-50%);
    color: var(--in-sage);
    opacity: .72;
}

.ins-boutique-door__coming-mark svg {
    display: block;
    width: 100%;
    height: auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
}

@media (max-width: 700px) {
    .ins-boutique-door__logo--iceland-natura {
        max-width: 58% !important;
        max-height: 94px !important;
    }

    .ins-boutique-door__coming-mark {
        top: 50px;
        width: 125px;
    }
}
