/* Gersemar Site — public retail and boutique 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('../branding/gersemar-header-logo.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;
}


/* --------------------------------------------------------------------------
   Gersemar 1.1.0 — warm identity refresh
   -------------------------------------------------------------------------- */
:root {
    --grs-ink: #211f1c;
    --grs-paper: #fbf8f2;
    --grs-ivory: #f6f1e8;
    --grs-stone: #e8dfd1;
    --grs-gold: #b0925f;
    --grs-gold-dark: #8e7042;
}

/* Header / brand mark */
#header [data-row="middle"],
#header [data-row="middle"] .ct-container,
#header [data-row="middle"] .ct-container-fluid {
    background: rgba(251, 248, 242, .98) !important;
}

#header [data-device="desktop"] [data-row="middle"] {
    --height: 98px !important;
    border-bottom: 1px solid rgba(176, 146, 95, .18);
}

#header .site-title a[rel="home"] {
    width: 270px !important;
    height: 86px !important;
    background-image: url('../branding/gersemar-header-logo.png') !important;
    background-position: left center !important;
    background-size: contain !important;
}

#header .header-menu-1 .ct-menu-link {
    color: var(--grs-ink) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15.5px !important;
    font-weight: 400 !important;
    letter-spacing: .025em !important;
}

#header .header-menu-1 .ct-menu-link:hover,
#header .header-menu-1 .current-menu-item > .ct-menu-link {
    color: var(--grs-gold-dark) !important;
}

/* Homepage overall */
body.home,
body.home #main,
body.home .site-main,
body.home .ins-home {
    background: var(--grs-paper) !important;
}

body.home .ins-home {
    --ins-ink: var(--grs-ink);
    --ins-paper: var(--grs-paper);
    --ins-warm: var(--grs-ivory);
    margin-top: -18px !important;
}

/* Brand-first hero: lifestyle mood rather than product advertising. */
.ins-home-hero {
    min-height: 610px !important;
    place-items: center start !important;
    text-align: left !important;
    background-position: center center !important;
}

.ins-home-hero__shade {
    background: linear-gradient(
        90deg,
        rgba(247, 242, 233, .90) 0%,
        rgba(247, 242, 233, .72) 24%,
        rgba(247, 242, 233, .20) 48%,
        rgba(247, 242, 233, 0) 66%
    ) !important;
}

.ins-home-hero__content {
    width: min(560px, 46vw);
    max-width: 560px !important;
    margin-left: max(6vw, calc((100vw - 1420px) / 2));
    padding: 72px 24px 72px 0 !important;
    color: var(--grs-ink) !important;
}

.ins-home-hero .ins-kicker {
    margin-bottom: 15px;
    color: var(--grs-gold-dark) !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: .34em;
}

.ins-home-hero h1 {
    margin: 0 0 18px !important;
    color: var(--grs-ink) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 5vw, 70px) !important;
    font-weight: 400 !important;
    line-height: .98 !important;
    letter-spacing: -.018em !important;
    text-transform: none !important;
    text-shadow: none !important;
}

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

.ins-home-hero p:not(.ins-kicker) {
    max-width: 470px !important;
    margin: 0 0 28px !important;
    color: #3d3933 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-shadow: none !important;
}

.ins-home-hero .ins-button,
.ins-home-hero .ins-button:visited {
    background: var(--grs-ink) !important;
    border-color: var(--grs-ink) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.ins-home-hero .ins-button:hover,
.ins-home-hero .ins-button:focus {
    background: var(--grs-gold-dark) !important;
    border-color: var(--grs-gold-dark) !important;
    color: #fff !important;
}

/* Boutique doors retain each brand's personality, framed by Gersemar warmth. */
.ins-boutique-doors {
    gap: 3px;
    padding: 3px 0;
    background: var(--grs-paper);
}

.ins-boutique-door {
    border-right: 0 !important;
}

.ins-boutique-door em {
    background: rgba(23, 22, 20, .18);
    border-color: rgba(255,255,255,.78) !important;
}

/* Warm service/value strip. */
.ins-home .ins-benefits {
    background: #efe7da !important;
    color: var(--grs-ink) !important;
    border-top: 1px solid rgba(176, 146, 95, .16);
    border-bottom: 1px solid rgba(176, 146, 95, .16);
}

.ins-home .ins-benefit-icon {
    color: var(--grs-gold-dark) !important;
}

.ins-home .ins-benefits div + div {
    border-left-color: rgba(142, 112, 66, .20) !important;
}

/* Product chapter: editorial, quiet and warm rather than generic Woo white. */
.ins-home .ins-products-section {
    background: #fffdf9 !important;
    padding-top: 72px !important;
    padding-bottom: 78px !important;
}

.ins-home .ins-products-section header h2,
.ins-home .ins-about-strip h2 {
    color: var(--grs-ink) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400 !important;
}

.ins-home .ins-section-lead,
.ins-home .ins-about-strip p {
    color: #5d574f !important;
}

.ins-home .ins-products-section > .ins-button,
.ins-home .ins-products-section > .ins-button:visited,
.ins-home .ins-about-strip .ins-button,
.ins-home .ins-about-strip .ins-button:visited {
    border-color: #9f8559 !important;
    color: var(--grs-ink) !important;
    background: transparent !important;
}

.ins-home .ins-products-section > .ins-button:hover,
.ins-home .ins-about-strip .ins-button:hover {
    background: var(--grs-gold-dark) !important;
    border-color: var(--grs-gold-dark) !important;
    color: #fff !important;
}

/* Gersemar story block. */
.ins-home .ins-about-strip {
    background: #eee5d8 !important;
}

.ins-home .ins-about-strip__copy {
    background: #eee5d8 !important;
}

.ins-home .ins-about-strip .ins-kicker {
    color: var(--grs-gold-dark) !important;
}

/* Warm branded footer; wholesale remains an external Iceland Natura destination. */
.ins-global-footer {
    background: #eee7dc !important;
    color: var(--grs-ink) !important;
    border-top: 1px solid rgba(176, 146, 95, .20);
}

.ins-global-footer__brand {
    padding: 34px 24px 6px;
    text-align: center;
}

.ins-global-footer__brand img {
    display: block;
    width: min(340px, 72vw);
    height: auto;
    margin: 0 auto;
}

.ins-global-footer__links {
    padding-top: 18px !important;
}

.ins-global-footer__links a,
.ins-global-footer__links a:visited,
.ins-global-footer__links a:hover,
.ins-global-footer__links a:focus {
    color: #37322c !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
}

.ins-global-footer__links a:hover,
.ins-global-footer__links a:focus {
    color: var(--grs-gold-dark) !important;
}

.ins-global-footer__copyright {
    border-top-color: rgba(142, 112, 66, .16) !important;
    color: #776e63 !important;
}

@media (max-width: 999px) {
    #header .site-title a[rel="home"] {
        width: 225px !important;
        height: 72px !important;
    }
    #header [data-device="tablet"] [data-row="middle"] {
        --height: 84px !important;
    }
    .ins-home-hero__content {
        width: min(520px, 58vw);
        margin-left: 6vw;
    }
}

@media (max-width: 700px) {
    #header .site-title a[rel="home"] {
        width: 188px !important;
        height: 61px !important;
    }
    #header [data-device="mobile"] [data-row="middle"] {
        --height: 72px !important;
    }
    body.home .ins-home {
        margin-top: -6px !important;
    }
    .ins-home-hero {
        min-height: 545px !important;
        place-items: end start !important;
        background-position: 58% center !important;
    }
    .ins-home-hero__shade {
        background: linear-gradient(
            0deg,
            rgba(247,242,233,.95) 0%,
            rgba(247,242,233,.83) 34%,
            rgba(247,242,233,.18) 66%,
            rgba(247,242,233,0) 82%
        ) !important;
    }
    .ins-home-hero__content {
        width: 100%;
        max-width: none !important;
        margin: 0 !important;
        padding: 50px 25px 34px !important;
    }
    .ins-home-hero h1 {
        font-size: clamp(40px, 12vw, 54px) !important;
    }
    .ins-home-hero p:not(.ins-kicker) {
        font-size: 17px !important;
    }
    .ins-home .ins-benefits div + div {
        border-left: 0 !important;
    }
}


/* --------------------------------------------------------------------------
   Gersemar 1.2.0 — homepage refinement pass
   -------------------------------------------------------------------------- */

/* A calmer header: the identity should frame the shop, not dominate it. */
#header [data-device="desktop"] [data-row="middle"] {
    --height: 84px !important;
}

#header .site-title a[rel="home"] {
    width: 222px !important;
    height: 68px !important;
}

/* The hero now starts directly with the brand statement; no duplicate eyebrow. */
.ins-home-hero__content {
    padding-top: 66px !important;
}

/* Keep each boutique photograph true to its own brand. Do not colour-grade
   the images with CSS. A shared neutral lower gradient is used only to keep
   white logos/copy readable and to give the three tiles a common structure. */
.ins-boutique-door--jonamaria,
.ins-boutique-door--fenris,
.ins-boutique-door--esterer {
    background-color: transparent !important;
    background-blend-mode: normal !important;
}

.ins-boutique-door--jonamaria .ins-boutique-door__shade,
.ins-boutique-door--fenris .ins-boutique-door__shade,
.ins-boutique-door--esterer .ins-boutique-door__shade {
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, .02) 48%,
        rgba(0, 0, 0, .34) 100%
    ) !important;
}

@media (max-width: 999px) {
    #header .site-title a[rel="home"] {
        width: 192px !important;
        height: 59px !important;
    }
    #header [data-device="tablet"] [data-row="middle"] {
        --height: 74px !important;
    }
}

@media (max-width: 700px) {
    #header .site-title a[rel="home"] {
        width: 166px !important;
        height: 51px !important;
    }
    #header [data-device="mobile"] [data-row="middle"] {
        --height: 66px !important;
    }
    .ins-home-hero__content {
        padding-top: 44px !important;
    }
}


/* 1.2.1 live header refinement */
@media (min-width: 1000px) {
    #header .site-title a[rel="home"] {
        width: 208px !important;
        height: 64px !important;
    }

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


/* --------------------------------------------------------------------------
   Gersemar 1.2.3 — homepage hero image swap
   Keep a soft warm veil behind the copy, but let much more of the hero's
   natural blue/stone landscape colour through so it sits with the boutiques.
   -------------------------------------------------------------------------- */
.ins-home-hero__shade {
    background: linear-gradient(
        90deg,
        rgba(247, 242, 233, .70) 0%,
        rgba(247, 242, 233, .50) 24%,
        rgba(247, 242, 233, .10) 48%,
        rgba(247, 242, 233, 0) 64%
    ) !important;
}

@media (max-width: 700px) {
    .ins-home-hero__shade {
        background: linear-gradient(
            0deg,
            rgba(247, 242, 233, .82) 0%,
            rgba(247, 242, 233, .60) 34%,
            rgba(247, 242, 233, .10) 66%,
            rgba(247, 242, 233, 0) 82%
        ) !important;
    }
}


/* --------------------------------------------------------------------------
   Gersemar 1.2.5 — homepage product-card refinement
   A shared editorial card system for mixed boutique brands. Brand photography
   keeps its own character; spacing, scale and typography create the unity.
   -------------------------------------------------------------------------- */

.ins-products-section {
    padding-top: 72px !important;
    padding-bottom: 84px !important;
}

.ins-products-section__grid {
    max-width: 1240px !important;
}

.ins-products-section__grid .woocommerce ul.products {
    gap: 24px !important;
    align-items: stretch !important;
}

/* Quiet Gersemar card shell: warm paper, hairline border, no generic Woo feel. */
.ins-products-section__grid .woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    padding: 0 0 21px !important;
    overflow: hidden !important;
    background: #fcfaf6 !important;
    border: 1px solid #e1d9ce !important;
    box-shadow: none !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

.ins-products-section__grid .woocommerce ul.products li.product:hover {
    transform: translateY(-2px) !important;
    border-color: #cbbda9 !important;
    box-shadow: 0 12px 26px rgba(45, 38, 30, .055) !important;
}

/* One shared image stage. This is the visual shelf every product sits on. */
.ins-products-section__grid li.product .ct-image-container,
.ins-products-section__grid li.product .woocommerce-loop-product__link {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
}

.ins-products-section__grid li.product img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    object-position: center !important;
    background: #f3efe8 !important;
    border-radius: 0 !important;
    transition: transform .32s ease !important;
}

/* Photography-led boutiques fill the stage; their own image colour is preserved. */
.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 !important;
    transform: scale(1) !important;
}

.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.012) !important;
}

/* Pack photography gets deliberate breathing room instead of looking undersized. */
.ins-products-section__grid li.product.ins-card-boutique-olmuhle-esterer img {
    object-fit: contain !important;
    padding: 18px 38px !important;
    transform: scale(1) !important;
    background: #f1eee8 !important;
}

.ins-products-section__grid li.product.ins-card-boutique-olmuhle-esterer:hover img {
    transform: scale(1.018) !important;
}

.ins-products-section__grid li.product.ins-card-product-olmuhle-esterer-1000ml img {
    padding: 22px 44px !important;
}

/* Editorial hierarchy: brand / title / price / quiet text CTA. */
.ins-products-section__grid .woocommerce-loop-product__title {
    box-sizing: border-box !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 18px 18px 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.22 !important;
    letter-spacing: -.012em !important;
    color: #26221d !important;
}

.ins-products-section__grid .woocommerce-loop-product__title::before {
    margin-bottom: 7px !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    color: #9a876a !important;
}

.ins-products-section__grid li.product .price {
    margin: 9px 18px 0 !important;
    color: #3b352e !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

/* Push the view link to the same baseline across all cards. */
.ins-products-section__grid li.product .button.ins-home-product-view,
.ins-products-section__grid li.product .button {
    align-self: flex-start !important;
    margin: auto 18px 0 !important;
    padding: 19px 0 3px !important;
    min-height: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #9c8b72 !important;
    background: transparent !important;
    color: #332d26 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: .01em !important;
    box-shadow: none !important;
}

.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 {
    border-bottom-color: #332d26 !important;
    background: transparent !important;
    color: #15120f !important;
}

/* The section-level CTA remains the only boxed action. */
.ins-products-section > .ins-button {
    margin-top: 34px !important;
    padding: 11px 22px !important;
    border-color: #b6a68e !important;
    background: transparent !important;
    color: #342e27 !important;
}

.ins-products-section > .ins-button:hover,
.ins-products-section > .ins-button:focus {
    background: #2b2722 !important;
    border-color: #2b2722 !important;
    color: #fff !important;
}

@media (max-width: 780px) {
    .ins-products-section__grid .woocommerce-loop-product__title {
        min-height: 76px !important;
        font-size: 18px !important;
    }
}

@media (max-width: 520px) {
    .ins-products-section__grid .woocommerce-loop-product__title {
        min-height: 0 !important;
        font-size: 20px !important;
    }

    .ins-products-section__grid li.product .button.ins-home-product-view,
    .ins-products-section__grid li.product .button {
        margin-top: 18px !important;
    }
}


/* --------------------------------------------------------------------------
   Gersemar 1.3.0 — Allar vörur / shop archive
   Turn the default Woo archive into a Gersemar browsing page: editorial intro,
   quiet boutique navigation, consistent product stages and non-Woo CTAs.
   -------------------------------------------------------------------------- */

body.post-type-archive-product #main {
    background: #fbfaf7 !important;
}

/* Blocksy's stock archive title band is replaced by our own shop introduction. */
body.post-type-archive-product .hero-section,
body.post-type-archive-product .ct-page-title,
body.post-type-archive-product .page-title-container,
body.post-type-archive-product .woocommerce-products-header {
    display: none !important;
}

body.post-type-archive-product .site-main,
body.post-type-archive-product .ct-container {
    overflow: visible !important;
}

.grs-shop-intro {
    width: min(880px, calc(100% - 40px));
    margin: 0 auto;
    padding: 72px 0 42px;
    text-align: center;
}

.grs-shop-intro__kicker {
    margin: 0 0 12px;
    color: #a1845d;
    font: 700 10px/1.2 Arial, Helvetica, sans-serif;
    letter-spacing: .24em;
}

.grs-shop-intro h1 {
    margin: 0;
    color: #26221d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 64px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.025em;
}

.grs-shop-intro__lead {
    max-width: 650px;
    margin: 18px auto 0;
    color: #665f56;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    line-height: 1.6;
}

.grs-shop-intro__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
}

.grs-shop-intro__nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    padding: 9px 17px;
    border: 1px solid #d9cfc1;
    background: transparent;
    color: #4a433b;
    font: 600 11px/1 Arial, Helvetica, sans-serif;
    letter-spacing: .04em;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.grs-shop-intro__nav a:hover,
.grs-shop-intro__nav a:focus {
    border-color: #9f8b6f;
    color: #211e1a;
}

.grs-shop-intro__nav a.is-active {
    border-color: #302b25;
    background: #302b25;
    color: #fff;
}

.grs-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    max-width: 1240px;
    margin: 0 auto 27px;
    padding: 16px 0 0;
    border-top: 1px solid #dfd7cc;
}

.grs-shop-toolbar__count {
    margin: 0;
    color: #85796b;
    font: 600 10px/1.2 Arial, Helvetica, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.grs-shop-toolbar__ordering .woocommerce-ordering {
    float: none !important;
    margin: 0 !important;
}

.grs-shop-toolbar__ordering select {
    min-width: 190px;
    height: 42px;
    padding: 0 38px 0 14px !important;
    border: 1px solid #d9d1c7 !important;
    border-radius: 0 !important;
    background-color: #fff !important;
    color: #4b443d !important;
    font-size: 12px !important;
    box-shadow: none !important;
}

/* Product shelf. */
body.post-type-archive-product ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after {
    display: none !important;
}

body.post-type-archive-product ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 0 22px !important;
    overflow: hidden !important;
    background: #fffdf9 !important;
    border: 1px solid #e1d9ce !important;
    box-shadow: none !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

body.post-type-archive-product ul.products li.product:hover {
    transform: translateY(-2px) !important;
    border-color: #cbbda9 !important;
    box-shadow: 0 12px 28px rgba(45, 38, 30, .055) !important;
}

body.post-type-archive-product ul.products li.product .woocommerce-loop-product__link,
body.post-type-archive-product ul.products li.product .ct-image-container {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
}

body.post-type-archive-product ul.products li.product img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    padding: 22px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #f2efe9 !important;
    border-radius: 0 !important;
    transition: transform .28s ease !important;
}

/* Photography-led brands fill the shared stage; pack shots remain contained. */
body.post-type-archive-product li.product.grs-shop-boutique-fenris-rvk img,
body.post-type-archive-product li.product.grs-shop-boutique-jonamaria img {
    padding: 0 !important;
    object-fit: cover !important;
    background: #eeeae3 !important;
}

body.post-type-archive-product li.product.grs-shop-boutique-olmuhle-esterer img {
    padding: 20px 38px !important;
    object-fit: contain !important;
    background: #f1eee8 !important;
}

body.post-type-archive-product li.product.grs-shop-product-graskersfraeolia-1000ml img,
body.post-type-archive-product li.product[class*="1000ml"] img {
    padding: 24px 44px !important;
}

body.post-type-archive-product ul.products li.product:hover img {
    transform: scale(1.012) !important;
}

body.post-type-archive-product .woocommerce-loop-product__title {
    min-height: 78px !important;
    margin: 0 !important;
    padding: 18px 18px 0 !important;
    color: #27221e !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.24 !important;
    letter-spacing: -.012em !important;
}

body.post-type-archive-product .woocommerce-loop-product__title::before {
    display: block;
    margin-bottom: 7px;
    color: #9a876a;
    font: 700 9px/1.2 Arial, Helvetica, sans-serif;
    letter-spacing: .16em;
}

body.post-type-archive-product li.product.grs-shop-boutique-fenris-rvk .woocommerce-loop-product__title::before {
    content: "FENRIS RVK";
}

body.post-type-archive-product li.product.grs-shop-boutique-olmuhle-esterer .woocommerce-loop-product__title::before {
    content: "ÖLMÜHLE ESTERER";
}

body.post-type-archive-product li.product.grs-shop-boutique-jonamaria .woocommerce-loop-product__title::before {
    content: "JÓNAMARÍA";
}

body.post-type-archive-product ul.products li.product .price {
    margin: 9px 18px 0 !important;
    color: #3d3730 !important;
    font: 600 13.5px/1.3 Arial, Helvetica, sans-serif !important;
}

/* Hide Blocksy/Woo category metadata; the controlled boutique kicker above is enough. */
body.post-type-archive-product ul.products li.product .product-category,
body.post-type-archive-product ul.products li.product .product-categories,
body.post-type-archive-product ul.products li.product .ct-product-categories,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__category,
body.post-type-archive-product ul.products li.product .entry-meta,
body.post-type-archive-product ul.products li.product [class*="categories"] {
    display: none !important;
}

body.post-type-archive-product ul.products li.product .button.grs-shop-view,
body.post-type-archive-product ul.products li.product .button {
    align-self: flex-start !important;
    margin: auto 18px 0 !important;
    padding: 19px 0 3px !important;
    min-height: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #9c8b72 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #332d26 !important;
    font: 600 12px/1.15 Arial, Helvetica, sans-serif !important;
    box-shadow: none !important;
}

body.post-type-archive-product ul.products li.product .button.grs-shop-view:hover,
body.post-type-archive-product ul.products li.product .button.grs-shop-view:focus,
body.post-type-archive-product ul.products li.product .button:hover,
body.post-type-archive-product ul.products li.product .button:focus {
    border-bottom-color: #332d26 !important;
    background: transparent !important;
    color: #15120f !important;
}

body.post-type-archive-product nav.woocommerce-pagination {
    max-width: 1240px;
    margin: 44px auto 0 !important;
    padding-bottom: 72px;
}

body.post-type-archive-product nav.woocommerce-pagination ul {
    border: 0 !important;
}

body.post-type-archive-product nav.woocommerce-pagination ul li {
    border: 0 !important;
    margin: 0 4px !important;
}

body.post-type-archive-product nav.woocommerce-pagination ul li a,
body.post-type-archive-product nav.woocommerce-pagination ul li span {
    min-width: 38px;
    min-height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #ddd3c6;
    background: #fffdf9 !important;
    color: #4b433b !important;
}

body.post-type-archive-product nav.woocommerce-pagination ul li span.current {
    border-color: #302b25;
    background: #302b25 !important;
    color: #fff !important;
}

@media (max-width: 1050px) {
    body.post-type-archive-product ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .grs-shop-intro {
        width: calc(100% - 32px);
        padding: 48px 0 32px;
    }

    .grs-shop-intro__lead {
        font-size: 16px;
    }

    .grs-shop-intro__nav {
        gap: 7px;
        margin-top: 24px;
    }

    .grs-shop-intro__nav a {
        padding-left: 13px;
        padding-right: 13px;
    }

    .grs-shop-toolbar {
        align-items: flex-start;
        flex-direction: column;
        margin-left: 16px;
        margin-right: 16px;
    }

    .grs-shop-toolbar__ordering,
    .grs-shop-toolbar__ordering .woocommerce-ordering,
    .grs-shop-toolbar__ordering select {
        width: 100% !important;
    }

    body.post-type-archive-product ul.products {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
        width: auto !important;
    }

    body.post-type-archive-product .woocommerce-loop-product__title {
        min-height: 0 !important;
        font-size: 20px !important;
    }
}


/* --------------------------------------------------------------------------
   Gersemar 1.3.1 — tighter shop intro + stronger product image presence
   -------------------------------------------------------------------------- */
body.post-type-archive-product .grs-shop-intro {
    width: min(820px, calc(100% - 40px));
    padding: 38px 0 24px !important;
}

body.post-type-archive-product .grs-shop-intro h1 {
    font-size: clamp(40px, 4.5vw, 58px) !important;
}

body.post-type-archive-product .grs-shop-intro__lead {
    margin-top: 12px !important;
    line-height: 1.5 !important;
}

body.post-type-archive-product .grs-shop-intro__nav {
    margin-top: 20px !important;
}

body.post-type-archive-product .grs-shop-toolbar {
    width: min(1240px, calc(100vw - 96px)) !important;
    max-width: none !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 0 18px !important;
    padding-top: 10px !important;
}

/* Let the product imagery do more of the selling. */
body.post-type-archive-product ul.products li.product img {
    padding: 12px !important;
}

body.post-type-archive-product li.product.grs-shop-boutique-fenris-rvk img,
body.post-type-archive-product li.product.grs-shop-boutique-jonamaria img {
    padding: 0 !important;
    transform: scale(1.07) !important;
}

body.post-type-archive-product li.product.grs-shop-boutique-olmuhle-esterer img {
    padding: 8px 18px !important;
    transform: scale(1.10) !important;
}

body.post-type-archive-product li.product.grs-shop-product-graskersfraeolia-1000ml img,
body.post-type-archive-product li.product[class*="1000ml"] img {
    padding: 8px 20px !important;
    transform: scale(1.08) !important;
}

body.post-type-archive-product li.product.grs-shop-product-graskersfraeolia-500ml img,
body.post-type-archive-product li.product[class*="500ml"] img {
    padding: 6px 16px !important;
    transform: scale(1.16) !important;
}

body.post-type-archive-product li.product.grs-shop-boutique-fenris-rvk:hover img,
body.post-type-archive-product li.product.grs-shop-boutique-jonamaria:hover img {
    transform: scale(1.095) !important;
}

body.post-type-archive-product li.product.grs-shop-boutique-olmuhle-esterer:hover img {
    transform: scale(1.13) !important;
}

body.post-type-archive-product li.product.grs-shop-product-graskersfraeolia-1000ml:hover img,
body.post-type-archive-product li.product[class*="1000ml"]:hover img {
    transform: scale(1.11) !important;
}

body.post-type-archive-product li.product.grs-shop-product-graskersfraeolia-500ml:hover img,
body.post-type-archive-product li.product[class*="500ml"]:hover img {
    transform: scale(1.19) !important;
}

body.post-type-archive-product .woocommerce-loop-product__title {
    min-height: 70px !important;
    padding-top: 16px !important;
}

@media (max-width: 900px) {
    body.post-type-archive-product .grs-shop-intro {
        padding-top: 28px !important;
    }

    body.post-type-archive-product .grs-shop-toolbar {
        width: calc(100vw - 40px) !important;
    }
}


/* ==========================================================================\n   Gersemar 1.3.2 — Um Gersemar editorial page\n   ========================================================================== */
body.ins-about-page-body .hero-section,
body.ins-about-page-body .ct-page-title,
body.ins-about-page-body .page-title,
body.ins-about-page-body .entry-header,
body.ins-about-page-body [data-prefix="single_page"] > .hero-section {
    display: none !important;
}

body.ins-about-page-body .site-main,
body.ins-about-page-body .site-main > article,
body.ins-about-page-body .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.ins-about-page {
    --about-ink: #24211e;
    --about-muted: #6c655d;
    --about-gold: #a48352;
    --about-cream: #f7f3ec;
    --about-stone: #ebe3d7;
    max-width: 1220px;
    margin: 0 auto;
    color: var(--about-ink);
    background: #fffdfa;
}

.ins-about-page .ins-kicker {
    margin: 0 0 16px;
    color: var(--about-gold);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .22em;
}

.ins-about-page h1,
.ins-about-page h2 {
    margin: 0;
    color: var(--about-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
    letter-spacing: -.025em;
}

.ins-about-page h1 {
    max-width: 520px;
    font-size: clamp(46px, 5.4vw, 78px);
    line-height: .98;
}

.ins-about-page h2 {
    font-size: clamp(34px, 3.6vw, 52px);
    line-height: 1.05;
}

.ins-about-page p {
    color: var(--about-muted);
    font-size: 16px;
    line-height: 1.72;
}

.ins-about-hero {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    min-height: 610px;
    background: var(--about-cream);
}

.ins-about-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 78px 74px;
}

.ins-about-hero__copy h1 {
    margin-bottom: 28px;
}

.ins-about-lead {
    max-width: 520px;
    margin: 0 0 18px;
    color: #3c3833 !important;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 23px !important;
    line-height: 1.48 !important;
}

.ins-about-hero__copy > p:not(.ins-kicker):not(.ins-about-lead) {
    max-width: 540px;
    margin: 0 0 14px;
}

.ins-about-hero__image {
    min-height: 610px;
    overflow: hidden;
}

.ins-about-hero__image img {
    width: 100%;
    height: 100%;
    min-height: 610px;
    display: block;
    object-fit: cover;
}

.ins-about-curation {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
    padding: 104px 74px 82px;
    background: #fffdfa;
}

.ins-about-curation__heading h2 {
    max-width: 430px;
}

.ins-about-curation__copy {
    max-width: 650px;
}

.ins-about-curation__copy p {
    margin: 0 0 18px;
}

.ins-about-principles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #ddd2c4;
    border-bottom: 1px solid #ddd2c4;
    background: #f5efe6;
}

.ins-about-principles > div {
    min-height: 190px;
    padding: 38px 42px;
}

.ins-about-principles > div + div {
    border-left: 1px solid #ddd2c4;
}

.ins-about-principles span {
    display: block;
    margin-bottom: 24px;
    color: var(--about-gold);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 19px;
}

.ins-about-principles strong {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    letter-spacing: .16em;
}

.ins-about-principles p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
}

.ins-about-wave {
    position: relative;
    overflow: hidden;
    min-height: 310px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 58px 90px;
    text-align: center;
    background: #fffdfa;
}

.ins-about-wave__mark {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(760px, 78vw);
    transform: translate(-50%, -50%);
    opacity: .08;
    filter: sepia(.15);
    pointer-events: none;
}

.ins-about-wave p {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0;
    color: #332f2a;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(27px, 3vw, 40px);
    line-height: 1.34;
    font-style: italic;
}

.ins-about-company {
    display: grid;
    grid-template-columns: 1.06fr .94fr;
    gap: 84px;
    align-items: center;
    padding: 96px 74px;
    background: var(--about-cream);
}

.ins-about-company__copy h2 {
    margin-bottom: 24px;
}

.ins-about-company__copy > p {
    max-width: 590px;
    margin: 0 0 18px;
}

.ins-about-company__copy .ins-button {
    display: inline-flex;
    margin-top: 14px;
    padding: 13px 18px;
    border: 1px solid #b49a72;
    background: transparent;
    color: #2d2925;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.ins-about-company__copy .ins-button:hover,
.ins-about-company__copy .ins-button:focus {
    background: #2d2925;
    color: #fff;
}

.ins-about-company__card {
    display: flex;
    flex-direction: column;
    gap: 13px;
    padding: 40px 42px;
    border: 1px solid #d8ccbb;
    background: rgba(255,255,255,.62);
    box-shadow: 0 18px 50px rgba(62,49,33,.055);
    font-style: normal;
}

.ins-about-company__card strong {
    margin-bottom: 8px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 24px;
    font-weight: 400;
}

.ins-about-company__card span,
.ins-about-company__card a {
    color: #4f4942;
    font-size: 15px;
    line-height: 1.45;
    text-decoration: none;
}

.ins-about-company__card b {
    display: inline-block;
    min-width: 82px;
    color: #302c28;
    font-weight: 600;
}

.ins-about-company__card a:hover,
.ins-about-company__card a:focus {
    color: var(--about-gold);
}

@media (max-width: 900px) {
    .ins-about-hero,
    .ins-about-curation,
    .ins-about-company {
        grid-template-columns: 1fr;
    }

    .ins-about-hero__copy,
    .ins-about-curation,
    .ins-about-company {
        padding-left: 42px;
        padding-right: 42px;
    }

    .ins-about-hero__image,
    .ins-about-hero__image img {
        min-height: 460px;
    }

    .ins-about-curation {
        gap: 34px;
    }

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

    .ins-about-principles > div + div {
        border-left: 0;
        border-top: 1px solid #ddd2c4;
    }
}

@media (max-width: 600px) {
    .ins-about-hero__copy,
    .ins-about-curation,
    .ins-about-company {
        padding: 56px 24px;
    }

    .ins-about-hero {
        min-height: 0;
    }

    .ins-about-hero__image,
    .ins-about-hero__image img {
        min-height: 340px;
    }

    .ins-about-principles > div {
        min-height: 0;
        padding: 30px 24px;
    }

    .ins-about-wave {
        min-height: 260px;
        padding: 42px 24px;
    }

    .ins-about-company__card {
        padding: 30px 26px;
    }
}

/* ==========================================================================
   Gersemar 1.3.5 — Hafa samband
   No contact form by design: simple mail/phone actions keep the page lean and
   avoid adding another public form endpoint to the retail site.
   ========================================================================== */
body.ins-contact-page-body .hero-section,
body.ins-contact-page-body .ct-page-title,
body.ins-contact-page-body .page-title,
body.ins-contact-page-body .entry-header,
body.ins-contact-page-body [data-prefix="single_page"] > .hero-section {
    display: none !important;
}

body.ins-contact-page-body .site-main,
body.ins-contact-page-body .site-main > article,
body.ins-contact-page-body .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.ins-contact-page {
    --contact-ink: #25211d;
    --contact-muted: #6e675f;
    --contact-gold: #a48352;
    --contact-cream: #f7f2e9;
    --contact-stone: #e9e0d3;
    max-width: 1220px;
    margin: 0 auto;
    color: var(--contact-ink);
    background: #fffdfa;
}

.ins-contact-page .ins-kicker {
    margin: 0 0 16px;
    color: var(--contact-gold);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .22em;
}

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

.ins-contact-hero {
    position: relative;
    overflow: hidden;
    min-height: 410px;
    display: flex;
    align-items: center;
    padding: 82px 74px;
    background: linear-gradient(120deg, #f7f2e9 0%, #fffdfa 72%);
}

.ins-contact-hero__copy {
    position: relative;
    z-index: 2;
    width: min(660px, 70%);
}

.ins-contact-hero h1 {
    margin: 0 0 22px;
    font-size: clamp(44px, 5.4vw, 72px);
    line-height: 1.02;
    letter-spacing: -.025em;
}

.ins-contact-lead {
    max-width: 620px;
    margin: 0;
    color: #565048;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 21px;
    line-height: 1.55;
}

.ins-contact-hero__mark {
    position: absolute;
    right: -46px;
    top: 50%;
    width: min(600px, 50vw);
    transform: translateY(-50%);
    opacity: .085;
    pointer-events: none;
}

.ins-contact-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: #d9cfbf;
    border-top: 1px solid #d9cfbf;
    border-bottom: 1px solid #d9cfbf;
}

.ins-contact-card {
    min-height: 290px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 52px 58px;
    background: #fffdfa;
    color: var(--contact-ink);
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.ins-contact-card:hover,
.ins-contact-card:focus {
    background: #f7f2e9;
}

.ins-contact-card__icon {
    width: 44px;
    height: 44px;
    margin-bottom: 30px;
    color: var(--contact-gold);
}

.ins-contact-card__icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ins-contact-card__label {
    margin-bottom: 10px;
    color: var(--contact-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ins-contact-card strong {
    margin-bottom: 9px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.1;
    font-weight: 400;
}

.ins-contact-card > span:last-child {
    color: var(--contact-muted);
    font-size: 14px;
}

.ins-contact-business {
    display: grid;
    grid-template-columns: 1.12fr .88fr;
    gap: 74px;
    align-items: center;
    padding: 88px 74px;
    background: var(--contact-cream);
}

.ins-contact-business__copy h2 {
    max-width: 620px;
    margin: 0 0 22px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
}

.ins-contact-business__copy p,
.ins-contact-business__wholesale p {
    margin: 0;
    color: #5c554d;
    font-size: 16px;
    line-height: 1.7;
}

.ins-contact-business__wholesale {
    padding: 36px 38px;
    border: 1px solid #d5c8b7;
    background: rgba(255,255,255,.58);
}

.ins-contact-business__wholesale h3 {
    margin: 0 0 12px;
    font-size: 30px;
}

.ins-contact-business__wholesale .ins-button {
    display: inline-flex;
    margin-top: 24px;
    padding: 12px 16px;
    border: 1px solid #a98a5c;
    color: #2d2925;
    background: transparent;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.ins-contact-business__wholesale .ins-button:hover,
.ins-contact-business__wholesale .ins-button:focus {
    background: #2d2925;
    color: #fff;
}

.ins-contact-company {
    display: flex;
    justify-content: center;
    gap: 34px;
    flex-wrap: wrap;
    padding: 28px 32px;
    border-top: 1px solid #ddd2c4;
    color: #6a6259;
    background: #fffdfa;
    font-size: 13px;
}

.ins-contact-company strong {
    color: #312d28;
    font-weight: 600;
}

@media (max-width: 800px) {
    .ins-contact-hero {
        min-height: 350px;
        padding: 64px 42px;
    }

    .ins-contact-hero__copy {
        width: 78%;
    }

    .ins-contact-hero__mark {
        right: -110px;
        width: 620px;
        opacity: .06;
    }

    .ins-contact-options,
    .ins-contact-business {
        grid-template-columns: 1fr;
    }

    .ins-contact-card {
        min-height: 240px;
        padding: 42px;
    }

    .ins-contact-business {
        gap: 36px;
        padding: 64px 42px;
    }
}

@media (max-width: 560px) {
    .ins-contact-hero {
        min-height: 0;
        padding: 56px 24px;
    }

    .ins-contact-hero__copy {
        width: 100%;
    }

    .ins-contact-lead {
        font-size: 18px;
    }

    .ins-contact-hero__mark {
        display: none;
    }

    .ins-contact-card {
        min-height: 0;
        padding: 36px 24px;
    }

    .ins-contact-business {
        padding: 54px 24px;
    }

    .ins-contact-business__wholesale {
        padding: 28px 24px;
    }

    .ins-contact-company {
        align-items: center;
        flex-direction: column;
        gap: 7px;
        text-align: center;
    }
}


/* ========================================================================== 
   Gersemar 1.3.6 — Sendingar
   A quiet service page for Dropp delivery. Returns deliberately live in the
   terms rather than being promoted as part of the delivery experience.
   ========================================================================== */
body.ins-shipping-page-body .hero-section,
body.ins-shipping-page-body .ct-page-title,
body.ins-shipping-page-body .page-title,
body.ins-shipping-page-body .entry-header,
body.ins-shipping-page-body [data-prefix="single_page"] > .hero-section {
    display: none !important;
}

body.ins-shipping-page-body .site-main,
body.ins-shipping-page-body .site-main > article,
body.ins-shipping-page-body .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.ins-shipping-page {
    --shipping-ink: #25211d;
    --shipping-muted: #6e675f;
    --shipping-gold: #a48352;
    --shipping-cream: #f7f2e9;
    --shipping-line: #ddd2c4;
    max-width: 1220px;
    margin: 0 auto;
    color: var(--shipping-ink);
    background: #fffdfa;
}

.ins-shipping-page .ins-kicker {
    margin: 0 0 16px;
    color: var(--shipping-gold);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .22em;
}

.ins-shipping-page h1,
.ins-shipping-page h2 {
    color: var(--shipping-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
}

.ins-shipping-hero {
    position: relative;
    overflow: hidden;
    min-height: 390px;
    display: flex;
    align-items: center;
    padding: 78px 74px;
    background: linear-gradient(120deg, #f7f2e9 0%, #fffdfa 74%);
}

.ins-shipping-hero__copy {
    position: relative;
    z-index: 2;
    width: min(720px, 72%);
}

.ins-shipping-hero h1 {
    max-width: 760px;
    margin: 0 0 22px;
    font-size: clamp(44px, 5.2vw, 70px);
    line-height: 1.02;
    letter-spacing: -.025em;
}

.ins-shipping-lead {
    max-width: 670px;
    margin: 0;
    color: #565048;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 21px;
    line-height: 1.55;
}

.ins-shipping-hero__mark {
    position: absolute;
    right: -54px;
    top: 50%;
    width: min(590px, 49vw);
    transform: translateY(-50%);
    opacity: .075;
    pointer-events: none;
}

.ins-shipping-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border-top: 1px solid var(--shipping-line);
    border-bottom: 1px solid var(--shipping-line);
    background: var(--shipping-line);
}

.ins-shipping-card {
    min-height: 330px;
    padding: 54px 58px;
    background: #fffdfa;
}

.ins-shipping-card__icon {
    display: block;
    width: 44px;
    height: 44px;
    margin-bottom: 29px;
    color: var(--shipping-gold);
}

.ins-shipping-card__icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ins-shipping-card__label {
    display: block;
    margin-bottom: 10px;
    color: var(--shipping-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ins-shipping-card h2 {
    margin: 0 0 16px;
    font-size: clamp(29px, 3vw, 38px);
    line-height: 1.08;
}

.ins-shipping-card p {
    max-width: 470px;
    margin: 0;
    color: var(--shipping-muted);
    font-size: 15px;
    line-height: 1.72;
}

.ins-shipping-process {
    padding: 82px 74px 86px;
    background: var(--shipping-cream);
}

.ins-shipping-process__heading {
    max-width: 720px;
    margin-bottom: 46px;
}

.ins-shipping-process__heading h2 {
    margin: 0;
    font-size: clamp(36px, 4.2vw, 54px);
    line-height: 1.07;
}

.ins-shipping-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #d7cbbd;
    border-bottom: 1px solid #d7cbbd;
}

.ins-shipping-steps > div {
    padding: 34px 34px 36px 0;
}

.ins-shipping-steps > div + div {
    padding-left: 34px;
    border-left: 1px solid #d7cbbd;
}

.ins-shipping-steps span {
    display: block;
    margin-bottom: 23px;
    color: var(--shipping-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ins-shipping-steps strong {
    display: block;
    margin-bottom: 10px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 25px;
    font-weight: 400;
}

.ins-shipping-steps p {
    margin: 0;
    color: #625a51;
    font-size: 14px;
    line-height: 1.7;
}

.ins-shipping-note {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 54px;
    align-items: center;
    padding: 64px 74px;
    background: #fffdfa;
}

.ins-shipping-note h2 {
    max-width: 760px;
    margin: 0 0 13px;
    font-size: clamp(29px, 3.5vw, 42px);
    line-height: 1.08;
}

.ins-shipping-note p:not(.ins-kicker) {
    max-width: 650px;
    margin: 0;
    color: var(--shipping-muted);
    font-size: 15px;
    line-height: 1.7;
}

.ins-shipping-note .ins-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    padding: 13px 18px;
    border: 1px solid #a98a5c;
    background: transparent;
    color: #2d2925;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.ins-shipping-note .ins-button:hover,
.ins-shipping-note .ins-button:focus {
    background: #2d2925;
    color: #fff;
}

@media (max-width: 800px) {
    .ins-shipping-hero {
        min-height: 340px;
        padding: 62px 42px;
    }
    .ins-shipping-hero__copy { width: 80%; }
    .ins-shipping-hero__mark { right: -115px; width: 610px; opacity: .055; }
    .ins-shipping-options { grid-template-columns: 1fr; }
    .ins-shipping-card { min-height: 0; padding: 46px 42px; }
    .ins-shipping-process { padding: 66px 42px 70px; }
    .ins-shipping-steps { grid-template-columns: 1fr; }
    .ins-shipping-steps > div,
    .ins-shipping-steps > div + div { padding: 28px 0; border-left: 0; }
    .ins-shipping-steps > div + div { border-top: 1px solid #d7cbbd; }
    .ins-shipping-note { grid-template-columns: 1fr; gap: 28px; padding: 54px 42px; }
    .ins-shipping-note .ins-button { justify-self: start; }
}

@media (max-width: 560px) {
    .ins-shipping-hero { min-height: 0; padding: 54px 24px; }
    .ins-shipping-hero__copy { width: 100%; }
    .ins-shipping-lead { font-size: 18px; }
    .ins-shipping-hero__mark { display: none; }
    .ins-shipping-card { padding: 38px 24px; }
    .ins-shipping-process { padding: 54px 24px 58px; }
    .ins-shipping-note { padding: 48px 24px; }
}

/* --------------------------------------------------------------------------
   Gersemar 1.3.7 — Terms page
   -------------------------------------------------------------------------- */
body.ins-terms-page-body .hero-section,
body.ins-terms-page-body .page-title,
body.ins-terms-page-body .entry-header {
    display: none !important;
}

body.ins-terms-page-body .site-main,
body.ins-terms-page-body .site-main > article,
body.ins-terms-page-body .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.ins-terms-page {
    --terms-ink: #25211d;
    --terms-muted: #6e675f;
    --terms-gold: #a48352;
    --terms-cream: #f7f2e9;
    --terms-line: #ddd2c4;
    max-width: 1220px;
    margin: 0 auto;
    color: var(--terms-ink);
    background: #fffdfa;
}

.ins-terms-page .ins-kicker {
    margin: 0 0 14px;
    color: var(--terms-gold);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .22em;
}

.ins-terms-page h1,
.ins-terms-page h2 {
    color: var(--terms-ink);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
}

.ins-terms-page a {
    color: inherit;
    text-decoration-color: #b89a70;
    text-underline-offset: 3px;
}

.ins-terms-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 315px;
    padding: 64px 74px;
    background: linear-gradient(120deg, #f7f2e9 0%, #fffdfa 74%);
}

.ins-terms-hero__copy {
    position: relative;
    z-index: 2;
    width: min(760px, 75%);
}

.ins-terms-hero h1 {
    margin: 0 0 16px;
    font-size: clamp(43px, 5vw, 66px);
    line-height: 1.02;
    letter-spacing: -.025em;
}

.ins-terms-lead {
    max-width: 680px;
    margin: 0;
    color: #565048;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    line-height: 1.55;
}

.ins-terms-hero__mark {
    position: absolute;
    right: -35px;
    top: 50%;
    width: min(540px, 46vw);
    transform: translateY(-50%);
    opacity: .065;
    pointer-events: none;
}

.ins-terms-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--terms-line);
    border-bottom: 1px solid var(--terms-line);
}

.ins-terms-grid article {
    padding: 42px 52px 44px;
    border-bottom: 1px solid var(--terms-line);
}

.ins-terms-grid article:nth-child(odd) {
    border-right: 1px solid var(--terms-line);
}

.ins-terms-grid article:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.ins-terms-grid article > span {
    display: block;
    margin-bottom: 16px;
    color: var(--terms-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ins-terms-grid h2 {
    margin: 0 0 12px;
    font-size: 27px;
    line-height: 1.08;
}

.ins-terms-grid p {
    max-width: 470px;
    margin: 0;
    color: var(--terms-muted);
    font-size: 14.5px;
    line-height: 1.7;
}

.ins-terms-withdrawal {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, .85fr);
    gap: 64px;
    padding: 64px 74px;
    background: var(--terms-cream);
}

.ins-terms-withdrawal h2,
.ins-terms-company h2 {
    margin: 0 0 14px;
    font-size: clamp(30px, 3.5vw, 42px);
    line-height: 1.08;
}

.ins-terms-withdrawal p {
    margin: 0;
    color: var(--terms-muted);
    font-size: 15px;
    line-height: 1.7;
}

.ins-terms-withdrawal__form {
    align-self: start;
    padding: 28px 30px;
    border: 1px solid #d4c7b7;
    background: rgba(255,255,255,.45);
}

.ins-terms-withdrawal__form strong {
    display: block;
    margin-bottom: 13px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    font-weight: 400;
}

.ins-terms-withdrawal__form p + p {
    margin-top: 10px;
}

.ins-terms-company {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    padding: 55px 74px;
    border-bottom: 1px solid var(--terms-line);
    background: #fffdfa;
}

.ins-terms-company__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 28px;
    color: var(--terms-muted);
    font-size: 14px;
}

.ins-terms-disputes {
    padding: 28px 74px 34px;
    background: #fffdfa;
}

.ins-terms-disputes p {
    max-width: 880px;
    margin: 0;
    color: #777068;
    font-size: 13px;
    line-height: 1.65;
}

@media (max-width: 800px) {
    .ins-terms-hero { min-height: 290px; padding: 58px 42px; }
    .ins-terms-hero__copy { width: 82%; }
    .ins-terms-hero__mark { right: -100px; width: 560px; opacity: .05; }
    .ins-terms-grid article { padding: 36px 38px; }
    .ins-terms-withdrawal { grid-template-columns: 1fr; gap: 34px; padding: 56px 42px; }
    .ins-terms-company { grid-template-columns: 1fr; gap: 20px; padding: 48px 42px; }
    .ins-terms-disputes { padding: 26px 42px 32px; }
}

@media (max-width: 560px) {
    .ins-terms-hero { min-height: 0; padding: 50px 24px; }
    .ins-terms-hero__copy { width: 100%; }
    .ins-terms-hero__mark { display: none; }
    .ins-terms-lead { font-size: 18px; }
    .ins-terms-grid { grid-template-columns: 1fr; }
    .ins-terms-grid article,
    .ins-terms-grid article:nth-child(odd),
    .ins-terms-grid article:nth-last-child(-n + 2) {
        padding: 34px 24px;
        border-right: 0;
        border-bottom: 1px solid var(--terms-line);
    }
    .ins-terms-grid article:last-child { border-bottom: 0; }
    .ins-terms-withdrawal { padding: 48px 24px; }
    .ins-terms-withdrawal__form { padding: 24px; }
    .ins-terms-company { padding: 44px 24px; }
    .ins-terms-company__details { grid-template-columns: 1fr; }
    .ins-terms-disputes { padding: 24px 24px 30px; }
}


/* ==========================================================================
   Gersemar cookie consent
   ========================================================================== */

.grs-cookie-consent {
    position: relative;
    z-index: 999999;
    font-family: inherit;
}

.grs-cookie-banner {
    position: fixed;
    left: 22px;
    right: 22px;
    bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 22px 20px 25px;
    border: 1px solid rgba(126, 102, 74, .23);
    border-radius: 3px;
    background: rgba(255, 252, 247, .98);
    box-shadow: 0 18px 55px rgba(39, 30, 21, .16);
    color: #27231f;
    backdrop-filter: blur(10px);
}

.grs-cookie-banner__copy {
    max-width: 700px;
}

.grs-cookie-banner__copy strong {
    display: block;
    margin-bottom: 4px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    font-weight: 400;
}

.grs-cookie-banner__copy p {
    margin: 0;
    color: #6f685f;
    font-size: 13.5px;
    line-height: 1.55;
}

.grs-cookie-banner__copy a {
    display: inline-block;
    margin-top: 4px;
    color: #8e6d46;
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.grs-cookie-banner__actions,
.grs-cookie-settings__actions {
    display: flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto;
}

.grs-cookie-btn,
.grs-cookie-link-btn {
    appearance: none;
    border: 1px solid #bba98f;
    border-radius: 2px;
    background: transparent;
    color: #3b342e;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1;
    padding: 12px 15px;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.grs-cookie-btn:hover,
.grs-cookie-btn:focus-visible {
    border-color: #8d6b44;
}

.grs-cookie-btn--primary {
    border-color: #9a7650;
    background: #9a7650;
    color: #fff;
}

.grs-cookie-btn--primary:hover,
.grs-cookie-btn--primary:focus-visible {
    border-color: #795a3b;
    background: #795a3b;
}

.grs-cookie-link-btn {
    border-color: transparent;
    padding-left: 7px;
    padding-right: 7px;
    color: #6f655a;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.grs-cookie-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1;
    background: rgba(25, 21, 17, .38);
    backdrop-filter: blur(2px);
}

.grs-cookie-settings {
    position: fixed;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: min(620px, calc(100vw - 36px));
    max-height: calc(100vh - 44px);
    overflow: auto;
    transform: translate(-50%, -50%);
    padding: 38px 40px 34px;
    border: 1px solid #d7cbbb;
    background: #fffdfa;
    box-shadow: 0 24px 80px rgba(31, 25, 19, .25);
    color: #27231f;
}

.grs-cookie-settings__close {
    position: absolute;
    top: 13px;
    right: 17px;
    padding: 2px 6px;
    border: 0;
    background: transparent;
    color: #71685e;
    cursor: pointer;
    font-size: 27px;
    font-weight: 300;
    line-height: 1;
}

.grs-cookie-settings h2 {
    margin: 2px 0 10px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.05;
}

.grs-cookie-settings__intro {
    margin: 0 0 24px;
    color: #706960;
    font-size: 14px;
    line-height: 1.65;
}

.grs-cookie-option {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 18px 0;
    border-top: 1px solid #e5ddd3;
    cursor: pointer;
}

.grs-cookie-option strong {
    display: block;
    margin-bottom: 3px;
    font-size: 14px;
}

.grs-cookie-option span {
    display: block;
    color: #7a7268;
    font-size: 12.5px;
    line-height: 1.45;
}

.grs-cookie-always {
    color: #8d6b44 !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.grs-cookie-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.grs-cookie-toggle {
    position: relative;
    width: 42px;
    height: 23px;
    border-radius: 20px;
    background: #d8d0c6;
    transition: background .18s ease;
}

.grs-cookie-toggle::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.16);
    transition: transform .18s ease;
}

.grs-cookie-option input:checked + .grs-cookie-toggle {
    background: #9a7650;
}

.grs-cookie-option input:checked + .grs-cookie-toggle::after {
    transform: translateX(19px);
}

.grs-cookie-option input:focus-visible + .grs-cookie-toggle {
    outline: 2px solid #6f5336;
    outline-offset: 3px;
}

.grs-cookie-settings__actions {
    justify-content: flex-end;
    margin-top: 24px;
}

html.grs-cookie-modal-open {
    overflow: hidden;
}

@media (max-width: 760px) {
    .grs-cookie-banner {
        left: 12px;
        right: 12px;
        bottom: 12px;
        display: block;
        padding: 18px;
    }

    .grs-cookie-banner__actions {
        margin-top: 14px;
        flex-wrap: wrap;
    }

    .grs-cookie-btn {
        flex: 1 1 auto;
    }

    .grs-cookie-settings {
        padding: 34px 24px 25px;
    }

    .grs-cookie-settings__actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .grs-cookie-settings__actions .grs-cookie-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .grs-cookie-banner__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .grs-cookie-link-btn {
        grid-column: 1 / -1;
    }

    .grs-cookie-settings h2 {
        font-size: 29px;
    }
}

/* ==========================================================================
   Gersemar 1.3.14 — expanded boutique grid + Sindri 21 boutique
   ========================================================================== */

.ins-boutique-doors--expanded {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-height: 0 !important;
}

.ins-boutique-doors--expanded .ins-boutique-door {
    min-height: 430px !important;
}

.ins-boutique-door__title {
    display: block;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(31px, 3vw, 44px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: .01em;
    text-shadow: 0 2px 13px rgba(0,0,0,.38);
}

.ins-boutique-door--sindri21 {
    background-position: center 30% !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__logo {
    max-width: 58% !important;
    max-height: 150px !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__shade {
    background: linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.08) 46%, rgba(0,0,0,.67) 100%) !important;
}

.ins-boutique-door--allar-vorur {
    background-position: center center !important;
}

.ins-boutique-door--allar-vorur .ins-boutique-door__shade {
    background: linear-gradient(180deg, rgba(30,24,18,.08) 0%, rgba(30,24,18,.25) 50%, rgba(26,21,17,.70) 100%) !important;
}

.ins-boutique-door--naesta-boutique {
    background-color: #eee7dc !important;
    background-repeat: no-repeat !important;
    background-position: center 30% !important;
    background-size: 48% auto !important;
    color: var(--grs-ink) !important;
}

.ins-boutique-door--naesta-boutique .ins-boutique-door__shade {
    background: linear-gradient(180deg, rgba(246,241,233,.16), rgba(238,231,220,.82) 58%, rgba(238,231,220,.98) 100%) !important;
}

.ins-boutique-door--naesta-boutique .ins-boutique-door__title,
.ins-boutique-door--naesta-boutique small {
    color: var(--grs-ink) !important;
    text-shadow: none !important;
}

.ins-boutique-door.is-placeholder {
    cursor: default;
}

/* Sindri 21 uses a gallery-neutral framework: black, white and the colours of the art. */
.ins-boutique-page--sindri21 {
    --s21-black: #0d0d0d;
    --s21-paper: #f7f6f3;
    --s21-line: #ddd9d2;
    --s21-red: #e7482d;
    background: var(--s21-paper);
    color: #171717;
}

.ins-sindri-hero {
    display: grid;
    grid-template-columns: minmax(330px, .82fr) minmax(0, 1.45fr);
    min-height: 650px;
    background: var(--s21-black);
}

.ins-sindri-hero__brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(50px, 6vw, 92px);
    color: #fff;
}

.ins-sindri-hero__brand > img {
    width: min(330px, 78%);
    height: auto;
    margin: 0 0 28px;
}

.ins-sindri-hero__brand .ins-kicker,
.ins-sindri-products .ins-kicker,
.ins-sindri-closing .ins-kicker {
    color: #ef6a4f !important;
    letter-spacing: .20em;
}

.ins-sindri-hero__brand h1 {
    margin: 10px 0 20px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 70px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.025em;
}

.ins-sindri-hero__brand > p:not(.ins-kicker) {
    max-width: 520px;
    margin: 0 0 30px;
    color: rgba(255,255,255,.78);
    font-size: 17px;
    line-height: 1.65;
}

.ins-button--sindri,
.ins-button--sindri:visited {
    border-color: #fff !important;
    background: #fff !important;
    color: #111 !important;
}

.ins-button--sindri:hover,
.ins-button--sindri:focus {
    border-color: var(--s21-red) !important;
    background: var(--s21-red) !important;
    color: #fff !important;
}

.ins-sindri-hero__art,
.ins-sindri-artist__portrait,
.ins-sindri-statement__image,
.ins-sindri-textile__image {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.ins-sindri-hero__art {
    min-height: 650px;
    background-position: center 46%;
}

.ins-sindri-artist,
.ins-sindri-statement,
.ins-sindri-textile {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.ins-sindri-artist {
    max-width: 1280px;
    margin: 0 auto;
    padding: 78px 34px;
    gap: clamp(48px, 7vw, 96px);
    align-items: stretch;
}

.ins-sindri-artist__portrait {
    min-height: 620px;
    background-position: center 30%;
}

.ins-sindri-artist__copy,
.ins-sindri-statement__copy,
.ins-sindri-textile__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ins-boutique-page--sindri21 .ins-kicker {
    color: #7c7065;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ins-sindri-artist h2,
.ins-sindri-statement h2,
.ins-sindri-textile h2,
.ins-sindri-originals h2,
.ins-sindri-closing h2 {
    margin: 8px 0 22px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4.2vw, 59px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.02em;
}

.ins-sindri-artist__copy p:not(.ins-kicker),
.ins-sindri-statement__copy p:not(.ins-kicker),
.ins-sindri-textile__copy p:not(.ins-kicker),
.ins-sindri-originals > p {
    color: #55514b;
    font-size: 16px;
    line-height: 1.72;
}

.ins-sindri-text-link,
.ins-sindri-text-link:visited,
.ins-sindri-closing a,
.ins-sindri-closing a:visited {
    display: inline-block;
    width: fit-content;
    margin-top: 10px;
    color: #171717;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 3px;
}

.ins-sindri-statement {
    background: #fff;
}

.ins-sindri-statement__copy {
    padding: clamp(54px, 7vw, 100px);
}

.ins-sindri-statement__image {
    min-height: 650px;
    background-position: center 28%;
}

.ins-sindri-textile {
    background: var(--s21-black);
    color: #fff;
}

.ins-sindri-textile__image {
    min-height: 690px;
    background-position: center 44%;
}

.ins-sindri-textile__copy {
    padding: clamp(54px, 7vw, 100px);
}

.ins-sindri-textile h2 {
    color: #fff;
}

.ins-sindri-textile__copy p:not(.ins-kicker) {
    color: rgba(255,255,255,.76);
}

.ins-button--sindri-light,
.ins-button--sindri-light:visited {
    width: fit-content;
    margin-top: 15px;
    border-color: rgba(255,255,255,.75) !important;
    color: #fff !important;
    background: transparent !important;
}

.ins-button--sindri-light:hover,
.ins-button--sindri-light:focus {
    border-color: #fff !important;
    background: #fff !important;
    color: #111 !important;
}

.ins-sindri-products {
    background: #fff !important;
    padding-top: 76px !important;
    padding-bottom: 82px !important;
}

.ins-sindri-products .woocommerce ul.products li.product {
    border-color: #dcd8d1 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.ins-sindri-products .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ins-sindri-products .woocommerce ul.products li.product h2 {
    color: #171717 !important;
}

.ins-sindri-products .woocommerce ul.products li.product .button {
    border-color: #171717 !important;
    color: #171717 !important;
    background: transparent !important;
}

.ins-sindri-products .woocommerce ul.products li.product .button:hover {
    background: #171717 !important;
    color: #fff !important;
}

.ins-sindri-originals {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 80px;
    align-items: end;
    max-width: 1180px;
    margin: 0 auto;
    padding: 82px 34px;
    border-bottom: 1px solid var(--s21-line);
}

.ins-sindri-originals h2 {
    margin-bottom: 0;
}

.ins-sindri-closing {
    padding: 82px 28px 88px;
    text-align: center;
    background: var(--s21-black);
    color: #fff;
}

.ins-sindri-closing h2 {
    margin: 9px 0 18px;
    color: #fff;
    font-size: clamp(45px, 6vw, 76px);
}

.ins-sindri-closing a,
.ins-sindri-closing a:visited {
    color: rgba(255,255,255,.78);
}

.ins-sindri-closing a:hover,
.ins-sindri-closing a:focus {
    color: #fff;
}

@media (max-width: 999px) {
    .ins-boutique-doors--expanded {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ins-boutique-doors--expanded .ins-boutique-door {
        min-height: 390px !important;
    }

    .ins-sindri-hero {
        grid-template-columns: 1fr 1.15fr;
        min-height: 560px;
    }

    .ins-sindri-hero__brand {
        padding: 48px 38px;
    }

    .ins-sindri-hero__art {
        min-height: 560px;
    }

    .ins-sindri-artist {
        padding: 58px 28px;
        gap: 42px;
    }

    .ins-sindri-artist__portrait,
    .ins-sindri-statement__image,
    .ins-sindri-textile__image {
        min-height: 540px;
    }
}

@media (max-width: 700px) {
    .ins-boutique-doors--expanded {
        grid-template-columns: 1fr !important;
    }

    .ins-boutique-doors--expanded .ins-boutique-door {
        min-height: 430px !important;
    }

    .ins-sindri-hero,
    .ins-sindri-artist,
    .ins-sindri-statement,
    .ins-sindri-textile,
    .ins-sindri-originals {
        grid-template-columns: 1fr;
    }

    .ins-sindri-hero__brand {
        order: 2;
        padding: 44px 25px 48px;
    }

    .ins-sindri-hero__art {
        order: 1;
        min-height: 470px;
    }

    .ins-sindri-artist {
        padding: 38px 20px 52px;
        gap: 36px;
    }

    .ins-sindri-artist__portrait {
        min-height: 520px;
    }

    .ins-sindri-statement__image,
    .ins-sindri-textile__image {
        min-height: 470px;
    }

    .ins-sindri-statement__copy,
    .ins-sindri-textile__copy {
        padding: 46px 25px;
    }

    .ins-sindri-originals {
        gap: 18px;
        padding: 52px 25px;
    }
}


/* 1.3.16 — Sindri 21 homepage tile uses the finished portrait creative directly. */
.ins-boutique-door--sindri21 {
    background-position: center center !important;
    background-size: cover !important;
    background-color: #efe8dd !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__shade {
    display: none !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__content {
    opacity: 0 !important;
    pointer-events: none !important;
}


/* 1.3.17 — Tighten Sindri 21 homepage tile so title/copy/CTA sit comfortably above the bottom edge. */
.ins-boutique-door--sindri21 {
    background-position: center center !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__content {
    opacity: 1 !important;
    pointer-events: auto !important;
    padding: 24px 24px 28px !important;
    gap: 8px !important;
    transform: translateY(-6px);
}

.ins-boutique-door--sindri21 .ins-boutique-door__title {
    font-size: clamp(24px, 2.4vw, 38px) !important;
    line-height: .95 !important;
    margin: 0 !important;
}

.ins-boutique-door--sindri21 small {
    font-size: 14px !important;
    line-height: 1.25 !important;
    max-width: 260px !important;
}

.ins-boutique-door--sindri21 em {
    font-size: 14px !important;
    padding: 10px 18px !important;
    margin-top: 2px !important;
}


/* 1.3.18 — clean Sindri 21 tile: artwork-only background plus one HTML overlay. */
.ins-boutique-door--sindri21 {
    background-position: center center !important;
    background-size: cover !important;
    background-color: #efe8dd !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__shade {
    display: block !important;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.02) 45%, rgba(0,0,0,.58) 100%) !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__content {
    opacity: 1 !important;
    pointer-events: auto !important;
    padding: 22px 24px 34px !important;
    gap: 9px !important;
    transform: translateY(-12px) !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__logo {
    max-width: 44% !important;
    max-height: 96px !important;
}

.ins-boutique-door--sindri21 small {
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.ins-boutique-door--sindri21 em {
    font-size: 14px !important;
    padding: 10px 18px !important;
    margin-top: 2px !important;
}


/* 1.3.19 — Sindri 21 homepage card: keep all branding off the artwork. */
.ins-boutique-door--sindri21 {
    background-position: center center !important;
    background-size: cover !important;
    background-color: #f2ece2 !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__shade {
    display: none !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__content {
    position: absolute !important;
    inset: 0 !important;
    width: 43% !important;
    padding: 34px 18px 28px 28px !important;
    transform: none !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 10px !important;
    color: #171717 !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__logo {
    width: min(150px, 90%) !important;
    max-width: 90% !important;
    max-height: 118px !important;
    margin: 0 0 2px !important;
    filter: none !important;
    object-fit: contain !important;
    object-position: left center !important;
}

.ins-boutique-door--sindri21 small {
    color: #171717 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    max-width: 180px !important;
    text-shadow: none !important;
}

.ins-boutique-door--sindri21 em {
    color: #171717 !important;
    background: rgba(255,255,255,.56) !important;
    border: 1px solid rgba(23,23,23,.62) !important;
    font-size: 13px !important;
    padding: 10px 14px !important;
    margin-top: 1px !important;
    text-shadow: none !important;
    white-space: nowrap !important;
}

.ins-boutique-door--sindri21:hover em,
.ins-boutique-door--sindri21:focus em {
    color: #fff !important;
    background: #171717 !important;
    border-color: #171717 !important;
}

@media (max-width: 700px) {
    .ins-boutique-door--sindri21 .ins-boutique-door__content {
        width: 48% !important;
        padding: 24px 12px 22px 20px !important;
    }

    .ins-boutique-door--sindri21 .ins-boutique-door__logo {
        width: min(125px, 92%) !important;
    }

    .ins-boutique-door--sindri21 small {
        font-size: 13px !important;
    }

    .ins-boutique-door--sindri21 em {
        font-size: 12px !important;
        padding: 9px 11px !important;
    }
}


/* 1.3.20 — Sindri 21: logo top-left, copy + CTA back to card footer. */
.ins-boutique-door--sindri21 .ins-boutique-door__content {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    padding: 30px 28px 38px !important;
    transform: none !important;
    justify-content: flex-end !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
    color: #fff !important;
}

.ins-boutique-door--sindri21 .ins-boutique-door__logo {
    position: absolute !important;
    top: 28px !important;
    left: 28px !important;
    width: 150px !important;
    max-width: 34% !important;
    max-height: 118px !important;
    margin: 0 !important;
    filter: none !important;
    object-position: left center !important;
}

.ins-boutique-door--sindri21 small {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    max-width: 240px !important;
    text-shadow: 0 1px 5px rgba(0,0,0,.72) !important;
}

.ins-boutique-door--sindri21 em {
    color: #fff !important;
    background: rgba(0,0,0,.15) !important;
    border: 1px solid rgba(255,255,255,.92) !important;
    font-size: 13px !important;
    padding: 10px 15px !important;
    margin-top: 1px !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.68) !important;
    white-space: nowrap !important;
}

.ins-boutique-door--sindri21:hover em,
.ins-boutique-door--sindri21:focus em {
    color: #171717 !important;
    background: rgba(255,255,255,.96) !important;
    border-color: #fff !important;
    text-shadow: none !important;
}

@media (max-width: 700px) {
    .ins-boutique-door--sindri21 .ins-boutique-door__content {
        padding: 22px 18px 28px !important;
    }

    .ins-boutique-door--sindri21 .ins-boutique-door__logo {
        top: 20px !important;
        left: 20px !important;
        width: 125px !important;
        max-width: 38% !important;
    }

    .ins-boutique-door--sindri21 small {
        font-size: 13px !important;
    }

    .ins-boutique-door--sindri21 em {
        font-size: 12px !important;
        padding: 9px 12px !important;
    }
}


/* 1.3.21 — Increase Sindri 21 tagline prominence by ~40%. */
.ins-boutique-door--sindri21 small {
    font-size: 20px !important;
    line-height: 1.2 !important;
}

@media (max-width: 700px) {
    .ins-boutique-door--sindri21 small {
        font-size: 18px !important;
    }
}


/* 1.3.23 — Correct shop hero hierarchy. */
.grs-shop-intro__lead {
    margin: 0 0 12px !important;
    color: #746a60 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
}

.grs-shop-intro h1 {
    max-width: 760px;
    margin: 0 auto 26px !important;
    font-size: clamp(38px, 4.7vw, 62px) !important;
    line-height: 1.04 !important;
}

@media (max-width: 700px) {
    .grs-shop-intro__lead {
        font-size: 14px !important;
    }

    .grs-shop-intro h1 {
        font-size: clamp(31px, 9vw, 43px) !important;
    }
}


/* 1.3.24 — Rebalance the shop hero hierarchy and spacing. */
.grs-shop-intro {
    padding-top: 76px !important;
    padding-bottom: 40px !important;
}

.grs-shop-intro__lead {
    margin: 0 0 8px !important;
    color: #5f574f !important;
    font-size: 20px !important;
    line-height: 1.4 !important;
}

.grs-shop-intro h1 {
    max-width: 780px !important;
    margin: 0 auto 18px !important;
    font-size: clamp(34px, 4vw, 52px) !important;
    line-height: 1.06 !important;
}

.grs-shop-intro .grs-shop-filters,
.grs-shop-intro .ins-shop-filters,
.grs-shop-intro nav {
    margin-top: 8px !important;
}

@media (max-width: 700px) {
    .grs-shop-intro {
        padding-top: 48px !important;
        padding-bottom: 28px !important;
    }

    .grs-shop-intro__lead {
        font-size: 17px !important;
        margin-bottom: 7px !important;
    }

    .grs-shop-intro h1 {
        font-size: clamp(29px, 8.2vw, 39px) !important;
        margin-bottom: 15px !important;
    }
}


/* 1.3.25 — Reduce shop hero statement by ~22% for a calmer hierarchy. */
.grs-shop-intro h1 {
    max-width: 720px !important;
    font-size: clamp(30px, 3.15vw, 42px) !important;
    line-height: 1.08 !important;
}

@media (max-width: 700px) {
    .grs-shop-intro h1 {
        font-size: clamp(27px, 7vw, 34px) !important;
    }
}


/* 1.3.26 — Specificity fix: actually reduce the Woo shop hero headline. */
body.post-type-archive-product .grs-shop-intro h1 {
    max-width: 720px !important;
    font-size: clamp(32px, 3.3vw, 44px) !important;
    line-height: 1.08 !important;
    margin: 0 auto 18px !important;
}

body.post-type-archive-product .grs-shop-intro__lead {
    font-size: 20px !important;
    color: #5f574f !important;
    margin: 0 0 8px !important;
    line-height: 1.4 !important;
}

@media (max-width: 700px) {
    body.post-type-archive-product .grs-shop-intro h1 {
        font-size: clamp(27px, 7vw, 34px) !important;
    }

    body.post-type-archive-product .grs-shop-intro__lead {
        font-size: 17px !important;
    }
}
