/**
 * Forever Remembered site styles.
 */

:root {
	--fr-green-900: #173f2b;
	--fr-green-800: #24563a;
	--fr-green-700: #326947;
	--fr-cream-100: #fbf8f1;
	--fr-cream-200: #f4eee3;
	--fr-border: #e6ded1;
	--fr-text: #1d211f;
	--fr-muted: #6b706c;
	--fr-gold: #b8965a;
	--fr-white: #ffffff;
	--fr-font-heading: Georgia, "Times New Roman", serif;
	--fr-font-body: Arial, Helvetica, sans-serif;
	--fr-layout-width: 1290px;
	--fr-content-max-width: var(--fr-layout-width);
	--fr-radius-small: 6px;
	--fr-radius-medium: 12px;
	--fr-shadow: 0 8px 24px rgba(23, 63, 43, 0.12);
}
/* Giữ cố định khoảng trống cho thanh cuộn, tránh Header bị nhảy ngang */
html {
	scrollbar-gutter: stable;
}

@supports not (scrollbar-gutter: stable) {
	html {
		overflow-y: scroll;
	}
}
@media screen and (min-width: 1025px) {
    body .site-container,
    body .content-container {
        max-width: var(--fr-layout-width) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
html {
	font-size: 100%;
}

body {
	margin: 0;
	background-color: var(--fr-cream-100);
	color: var(--fr-text);
	font-family: var(--fr-font-body);
	font-size: 1rem;
	line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-weight: 700;
	line-height: 1.2;
}

p {
	margin-block: 0 1.5em;
}

a {
	color: var(--fr-green-800);
	text-decoration-color: var(--fr-gold);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover {
	color: var(--fr-green-700);
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.75rem 1.25rem;
	border: 1px solid var(--fr-green-900);
	border-radius: var(--fr-radius-small);
	background-color: var(--fr-green-900);
	color: var(--fr-white);
	font-family: var(--fr-font-body);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.wp-element-button:hover {
	border-color: var(--fr-green-700);
	background-color: var(--fr-green-700);
	color: var(--fr-white);
}

button:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
input[type="submit"]:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.wp-element-button:focus-visible {
	outline: 3px solid var(--fr-green-900);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"],
	.wp-element-button {
		transition: none;
	}
}

/* KADENCE TOP HEADER
--------------------------------------------- */

body #masthead .site-top-header-wrap .site-header-row-container-inner {
	background: #173f2b;
	color: #ffffff;
	font-size: 13px;
}

body #masthead .site-top-header-wrap .site-top-header-inner-wrap {
	align-items: center;
	min-height: 36px;
}

.site-top-header-wrap .site-header-section {
	align-items: center;
}

.site-top-header-wrap .site-header-top-section-center {
	justify-content: center;
	text-align: center;
}

.site-top-header-wrap .header-html-inner,
.site-top-header-wrap .header-html-inner p {
	margin-block: 0;
	color: #ffffff;
	font-size: inherit;
	line-height: 1.4;
}

body #masthead .site-top-header-wrap a,
body #masthead .site-top-header-wrap a:hover,
body #masthead .site-top-header-wrap a:focus,
body #masthead .site-top-header-wrap .header-navigation .header-menu-container > ul > li > a {
	color: #ffffff;
}

.site-top-header-wrap .kadence-svg-iconset,
.site-top-header-wrap svg {
	color: #ffffff;
	fill: currentColor;
}

.site-top-header-wrap hr,
.site-top-header-wrap .separator,
.site-top-header-wrap .menu-item::before,
.site-top-header-wrap .menu-item::after {
	border-color: #ffffff;
	color: #ffffff;
}

/* ==========================================================================
   HEADER ACTION ICONS
   Wishlist / Account / Cart — labels desktop, badges, icon alignment
   ========================================================================== */

#masthead,
#mobile-header {
	--fr-header-icon-size: 21px;
	--fr-header-icon-gap: 16px;
	--fr-header-icon-color: #1d211f;
	--fr-header-icon-color-active: #24563a;
}

#masthead .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_header_search"]),
#masthead .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_header_search"]),
#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_social"]),
#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_button"]),
#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_cart"]),
#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_social"]),
#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_button"]),
#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_cart"]) {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: var(--fr-header-icon-gap);
	min-width: 0;
}

@media screen and (min-width: 1025px) {
	#main-header .site-bottom-header-inner-wrap {
		padding-bottom: 8px !important;
	}

	#masthead .site-main-header-inner-wrap {
		grid-template-columns: auto minmax(0, 1fr) 286px;
	}

	#masthead .site-main-header-inner-wrap .site-header-section-right {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
		justify-items: center;
		column-gap: 20px;
		box-sizing: border-box;
		width: 286px;
		min-width: 286px;
		max-width: 286px;
		margin-top: 15px;
		padding: 0;
	}

	#masthead .site-main-header-inner-wrap .site-header-section-right > .site-header-section-right-center {
		display: none;
	}

	#masthead .site-header-item[data-section="kadence_customizer_header_social"],
	#masthead .site-header-item[data-section="kadence_customizer_header_button"],
	#masthead .site-header-item[data-section="kadence_customizer_cart"] {
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		width: 100%;
		min-width: 0;
		max-width: none;
		margin: 0;
	}

	#masthead .header-social-wrap,
	#masthead .header-button-wrap,
	#masthead .header-cart-wrap,
	#masthead .header-cart-inner-wrap {
		display: flex;
		justify-content: center;
		margin: 0;
		width: 100%;
		min-width: 0;
		max-width: none;
	}
}

#masthead .site-header-item[data-section="kadence_customizer_header_search"],
#mobile-header .site-header-item[data-section="kadence_customizer_mobile_social"],
#mobile-header .site-header-item[data-section="kadence_customizer_mobile_button"],
#mobile-header .site-header-item[data-section="kadence_customizer_mobile_cart"] {
	flex: 0 0 auto;
	min-width: 0;
}

@media screen and (max-width: 1024px) {
	#masthead .site-header-item[data-section="kadence_customizer_header_social"],
	#masthead .site-header-item[data-section="kadence_customizer_header_button"],
	#masthead .site-header-item[data-section="kadence_customizer_cart"] {
		flex: 0 0 auto;
		min-width: 0;
	}
}

#masthead .search-toggle-open,
#masthead .header-social-wrap .header-social-item,
#masthead .header-cart-button,
#masthead .header-button-wrap a.header-button[href*="my-account"],
#mobile-header .header-mobile-social-wrap .header-social-item,
#mobile-header .header-cart-button,
#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button[href*="my-account"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--fr-header-icon-color);
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: color 150ms ease;
}

#masthead .search-toggle-open:hover,
#masthead .header-social-wrap .header-social-item:hover,
#masthead .header-cart-button:hover,
#masthead .header-button-wrap a.header-button[href*="my-account"]:hover,
#mobile-header .header-mobile-social-wrap .header-social-item:hover,
#mobile-header .header-cart-button:hover,
#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button[href*="my-account"]:hover,
#masthead .search-toggle-open:focus-visible,
#masthead .header-social-wrap .header-social-item:focus-visible,
#masthead .header-cart-button:focus-visible,
#masthead .header-button-wrap a.header-button[href*="my-account"]:focus-visible,
#mobile-header .header-mobile-social-wrap .header-social-item:focus-visible,
#mobile-header .header-cart-button:focus-visible,
#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button[href*="my-account"]:focus-visible {
	color: var(--fr-header-icon-color-active);
	background: transparent;
	border-color: transparent;
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

#masthead .search-toggle-label,
#masthead .header-social-wrap .social-label,
#masthead .header-cart-label,
#mobile-header .header-mobile-social-wrap .social-label,
#mobile-header .header-cart-label {
	display: none;
}

#masthead .search-toggle-icon,
#masthead .header-cart-button .kadence-svg-iconset,
#masthead .header-social-wrap .kadence-svg-iconset,
#masthead .header-social-wrap .social-icon-custom-svg,
#masthead .header-social-wrap .social-icon-image,
#mobile-header .header-cart-button .kadence-svg-iconset,
#mobile-header .header-mobile-social-wrap .kadence-svg-iconset,
#mobile-header .header-mobile-social-wrap .social-icon-custom-svg,
#mobile-header .header-mobile-social-wrap .social-icon-image {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--fr-header-icon-size);
	height: var(--fr-header-icon-size);
}

#masthead .search-toggle-icon svg,
#masthead .header-cart-button svg,
#masthead .header-social-wrap svg,
#mobile-header .header-cart-button svg,
#mobile-header .header-mobile-social-wrap svg {
	width: var(--fr-header-icon-size);
	height: var(--fr-header-icon-size);
	fill: currentColor;
}

#masthead .header-social-wrap .social-icon-image,
#mobile-header .header-mobile-social-wrap .social-icon-image {
	max-width: var(--fr-header-icon-size);
	max-height: var(--fr-header-icon-size);
	width: auto;
	height: auto;
	object-fit: contain;
}

#masthead .header-button-wrap a.header-button[href*="my-account"],
#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button[href*="my-account"] {
	width: 44px;
	height: 44px;
	min-height: 44px;
	font-size: 0;
	line-height: 0;
}

#masthead .header-button-wrap a.header-button[href*="my-account"]::before,
#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button[href*="my-account"]::before,
#masthead .fr-header-action--account .fr-header-action__icon::before,
#mobile-header .fr-header-action--account .fr-header-action__icon::before {
	content: "";
	position: absolute;
	top: 11px;
	left: 50%;
	width: 9px;
	height: 9px;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	transform: translateX(-50%);
}

#masthead .header-button-wrap a.header-button[href*="my-account"]::after,
#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button[href*="my-account"]::after,
#masthead .fr-header-action--account .fr-header-action__icon::after,
#mobile-header .fr-header-action--account .fr-header-action__icon::after {
	content: "";
	position: absolute;
	top: 21px;
	left: 50%;
	width: 16px;
	height: 8px;
	border: 2px solid currentColor;
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	box-sizing: border-box;
	transform: translateX(-50%);
}

#masthead a.fr-header-action--account::before,
#masthead a.fr-header-action--account::after,
#mobile-header a.fr-header-action--account::before,
#mobile-header a.fr-header-action--account::after,
#masthead .header-button-wrap a.header-button.fr-header-action--account::before,
#masthead .header-button-wrap a.header-button.fr-header-action--account::after,
#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button.fr-header-action--account::before,
#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button.fr-header-action--account::after {
	content: none !important;
	display: none !important;
}

#masthead .fr-header-action--account .fr-header-action__icon::before,
#mobile-header .fr-header-action--account .fr-header-action__icon::before {
	top: 4px;
}

#masthead .fr-header-action--account .fr-header-action__icon::after,
#mobile-header .fr-header-action--account .fr-header-action__icon::after {
	top: 14px;
}

#masthead .header-cart-inner-wrap,
#mobile-header .header-cart-inner-wrap {
	position: relative;
}

#masthead .header-cart-button .header-cart-total,
#mobile-header .header-cart-button .header-cart-total,
#masthead .fr-header-action__count,
#mobile-header .fr-header-action__count {
	position: absolute;
	top: -6px;
	right: -9px;
	display: grid;
	place-items: center;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	background-color: var(--fr-green-900);
	color: var(--fr-white);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	box-sizing: border-box;
	pointer-events: none;
}

#masthead .header-social-wrap a.header-social-item[href*="wishlist"] .kadence-svg-iconset,
#masthead .header-social-wrap a.header-social-item[href*="wishlist"] svg,
#masthead .header-social-wrap a.header-social-item[href*="wishlist"] .social-icon-custom-svg,
#masthead .header-social-wrap a.header-social-item[href*="wishlist"] .social-icon-image,
#mobile-header .header-mobile-social-wrap a.header-social-item[href*="wishlist"] .kadence-svg-iconset,
#mobile-header .header-mobile-social-wrap a.header-social-item[href*="wishlist"] svg,
#mobile-header .header-mobile-social-wrap a.header-social-item[href*="wishlist"] .social-icon-custom-svg,
#mobile-header .header-mobile-social-wrap a.header-social-item[href*="wishlist"] .social-icon-image {
	display: none;
}

#masthead .header-social-wrap a.header-social-item[href*="wishlist"]::before,
#mobile-header .header-mobile-social-wrap a.header-social-item[href*="wishlist"]::before,
#masthead .fr-header-action--wishlist .fr-header-action__icon::before,
#mobile-header .fr-header-action--wishlist .fr-header-action__icon::before {
	content: "";
	display: block;
	width: var(--fr-header-icon-size);
	height: var(--fr-header-icon-size);
	background-color: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E") center / contain no-repeat;
}

#masthead a.fr-header-action--wishlist::before,
#mobile-header a.fr-header-action--wishlist::before,
#masthead .header-social-wrap a.header-social-item.fr-header-action--wishlist::before,
#mobile-header .header-mobile-social-wrap a.header-social-item.fr-header-action--wishlist::before {
	content: none !important;
	display: none !important;
}

#masthead .fr-header-action,
#mobile-header .fr-header-action {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 5px;
	min-width: 44px;
	color: var(--fr-header-icon-color);
	text-decoration: none;
	transition: color 150ms ease;
}

#masthead .fr-header-action__icon,
#mobile-header .fr-header-action__icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
}

#masthead .fr-header-action__label,
#mobile-header .fr-header-action__label {
	display: none;
	margin: 0;
	padding: 0;
	color: #1d211f;
	font-family: var(--fr-font-body);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

#masthead .fr-header-action:hover,
#masthead .fr-header-action:focus-visible,
#masthead .fr-header-action:hover .fr-header-action__label,
#masthead .fr-header-action:focus-visible .fr-header-action__label,
#mobile-header .fr-header-action:hover,
#mobile-header .fr-header-action:focus-visible,
#mobile-header .fr-header-action:hover .fr-header-action__label,
#mobile-header .fr-header-action:focus-visible .fr-header-action__label {
	color: #173f2b;
	text-decoration: none;
}

@media screen and (min-width: 1025px) {
	#masthead .fr-header-action,
	#masthead .header-social-wrap .header-social-item.fr-header-action,
	#masthead .header-cart-button.fr-header-action,
	#masthead .header-button-wrap a.header-button.fr-header-action {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: none;
		min-height: 0;
		height: auto;
		margin: 0;
		padding: 0;
		text-align: center;
		transition: color 150ms ease;
	}

	#masthead .header-button-wrap a.header-button.fr-header-action--account,
	#masthead .fr-header-action--account {
		width: 100%;
		min-width: 0;
		max-width: none;
		height: auto;
		min-height: 0;
		margin: 0;
		padding: 0;
		font-size: 0;
		line-height: 0;
	}

	#masthead .fr-header-action__icon {
		margin: 0;
	}

	#masthead .fr-header-action__label {
		display: block;
		box-sizing: border-box;
		width: 100%;
		min-height: 15px;
		margin: 0;
		padding: 0;
		text-align: center;
		white-space: nowrap;
	}

	#masthead .site-main-header-inner-wrap .site-header-section-right,
	#masthead .fr-header-action,
	#masthead .fr-header-product-search,
	#masthead .fr-header-product-search__inner {
		transition: none;
	}

	#masthead .fr-header-action:hover,
	#masthead .fr-header-action:focus-visible {
		transition: color 150ms ease;
	}
}

@media (max-width: 1024px) {
	#mobile-header {
		--fr-header-icon-gap: 10px;
	}

	#mobile-header .site-main-header-inner-wrap.site-header-row-has-sides {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--fr-header-icon-gap);
		min-width: 0;
		padding-left: calc(44px + var(--fr-header-icon-gap));
	}

	#mobile-header [data-section="kadence_customizer_header_search"] {
		display: none;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_trigger"] {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
	}

	#mobile-header .site-main-header-inner-wrap .site-header-section-left,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center {
		display: flex;
		align-items: center;
		min-width: 0;
	}

	#mobile-header .site-main-header-inner-wrap .site-header-section-left {
		flex: 1 1 auto;
		gap: var(--fr-header-icon-gap);
	}

	#mobile-header .site-main-header-inner-wrap .site-header-section-right,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center {
		flex: 0 0 auto;
		gap: var(--fr-header-icon-gap);
	}

	#mobile-header .site-branding img,
	#mobile-header .site-branding .custom-logo,
	#mobile-header .site-branding .kadence-mobile-logo img {
		width: clamp(170px, 22vw, 175px);
		min-width: 170px;
        max-width: 175px;
		height: auto;
		object-fit: contain;
	}

	#mobile-header .header-mobile-social-wrap .social-link-facebook,
	#mobile-header .header-mobile-social-wrap .social-link-twitter,
	#mobile-header .header-mobile-social-wrap .social-link-x,
	#mobile-header .header-mobile-social-wrap .social-link-instagram {
		display: none;
	}

	#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button {
		width: 44px;
		height: 44px;
		min-height: 44px;
		font-size: 0;
		line-height: 0;
	}

	#mobile-header .site-header-item[data-section="kadence_customizer_mobile_button"],
	#mobile-header .site-header-item[data-section="kadence_customizer_mobile_cart"] {
		display: block;
	}

	#masthead .fr-header-action__label,
	#mobile-header .fr-header-action__label {
		display: none !important;
	}

	#masthead .fr-header-action,
	#mobile-header .fr-header-action {
		gap: 0;
		min-width: 44px;
		min-height: 44px;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	#masthead .search-toggle-open,
	#masthead .header-social-wrap .header-social-item,
	#masthead .header-cart-button,
	#masthead .header-button-wrap a.header-button[href*="my-account"],
	#mobile-header .header-mobile-social-wrap .header-social-item,
	#mobile-header .header-cart-button,
	#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button[href*="my-account"] {
		transition: none;
	}
}

/* ==========================================================================
   MOBILE LAYOUT — HEADER ICONS & PAGE GUTTER (≤767px)
   ========================================================================== */

@media screen and (max-width: 767px) {
	:root {
		--fr-mobile-gutter: 8px;
	}

	#mobile-header {
		--fr-header-icon-size: 20px;
		--fr-header-icon-gap: 6px;
	}

	#mobile-header .site-container {
		padding-inline: var(--fr-mobile-gutter) !important;
	}

	#mobile-header .site-top-header-wrap .site-top-header-inner-wrap {
		display: flex;
		align-items: center;
	}

	#mobile-header .site-top-header-wrap .site-header-top-section-center .site-header-item {
		display: flex;
		align-items: center;
	}

	#mobile-header .site-top-header-wrap .mobile-html-inner,
	#mobile-header .site-top-header-wrap .mobile-html-inner p {
		margin-block: 0;
		line-height: 1.35;
	}

	#mobile-header .site-header-inner-wrap {
		display: grid;
		grid-template-columns: 42px minmax(0, 1fr) auto auto;
		grid-template-areas:
			"announce announce announce announce"
			"logo logo wishlist account"
			"toggle search search cart";
		align-items: center;
		column-gap: 10px;
		row-gap: 0;
		padding-inline: var(--fr-mobile-gutter);
	}

	#mobile-header .site-header-upper-wrap,
	#mobile-header .site-header-upper-inner-wrap,
	#mobile-header .site-main-header-wrap,
	#mobile-header .site-main-header-wrap .site-header-row-container-inner,
	#mobile-header .site-main-header-wrap .site-container,
	#mobile-header .site-main-header-inner-wrap,
	#mobile-header .site-main-header-inner-wrap.site-header-row-has-sides,
	#mobile-header .site-main-header-inner-wrap .site-header-section-left,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_social"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_button"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_cart"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_social"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_button"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_cart"]) {
		display: contents;
	}

	#mobile-header .site-top-header-wrap {
		grid-area: announce;
		margin-inline: calc(-1 * var(--fr-mobile-gutter));
	}

	#mobile-header .site-main-header-wrap .site-header-row-container-inner {
		border-top: 0;
	}

	#mobile-header .site-main-header-inner-wrap.site-header-row-has-sides {
		padding-left: 0;
		min-height: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	#mobile-header [data-section="title_tagline"] {
		grid-area: logo;
		justify-self: start;
		align-self: center;
		padding-top: 6px;
		padding-bottom: 2px;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_social"] {
		grid-area: wishlist;
		justify-self: end;
		padding-top: 6px;
		padding-bottom: 2px;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_button"] {
		grid-area: account;
		justify-self: end;
		padding-top: 6px;
		padding-bottom: 2px;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_cart"] {
		grid-area: cart;
		justify-self: end;
		align-self: center;
		overflow: visible;
		margin-inline-end: 10px;
	}

	#mobile-header .site-branding img,
	#mobile-header .site-branding .custom-logo,
	#mobile-header .site-branding .kadence-mobile-logo img {
        width: clamp(175px, 19.8vw, 190px);
        min-width: 175px;
        max-width: 190px;
	}

	#mobile-header .site-branding .logo-icon,
	#mobile-header .site-branding .logo-icon svg {
		width: 44px;
		max-width: 44px;
		height: auto;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_trigger"] {
		grid-area: toggle;
		position: static;
		left: auto;
		top: auto;
		transform: none;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 42px;
		min-height: 42px;
		z-index: 2;
	}

	#mobile-header #mobile-toggle {
		min-width: 42px;
		min-height: 42px;
		padding: 0;
	}

	#mobile-header #mobile-toggle .menu-toggle-icon,
	#mobile-header #mobile-toggle .menu-toggle-icon svg,
	#mobile-header #mobile-toggle .kadence-svg-iconset,
	#mobile-header #mobile-toggle .kadence-svg-iconset svg {
		width: 18px;
		height: 18px;
	}

	#mobile-header .header-mobile-social-wrap .header-social-item,
	#mobile-header .header-cart-button,
	#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button[href*="my-account"],
	#mobile-header .fr-header-action {
		min-width: 40px;
		min-height: 40px;
	}

	#mobile-header .header-cart-button {
		width: 44px;
		min-width: 44px;
	}

	#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button {
		width: 44px;
		height: 44px;
		min-height: 44px;
	}

	#mobile-header .fr-header-action__icon {
		width: 26px;
		height: 26px;
		flex-basis: 26px;
	}

	#mobile-header .fr-header-action--account .fr-header-action__icon::before {
		top: 3px;
		width: 9px;
		height: 9px;
	}

	#mobile-header .fr-header-action--account .fr-header-action__icon::after {
		top: 13px;
		width: 15px;
		height: 8px;
	}

	#mobile-header .header-cart-button .header-cart-total,
	#mobile-header .fr-header-action__count {
		top: -5px;
		right: -7px;
		min-width: 16px;
		height: 16px;
		font-size: 9px;
	}

	body .site-container,
	body .content-container {
		padding-inline: var(--fr-mobile-gutter) !important;
	}

	/* Footer: page gutter lives on footer row inners, not site-container */
	body .site-middle-footer-wrap .site-container,
	body .site-bottom-footer-wrap .site-container {
		padding-inline: 0 !important;
	}

	/* Shop / Product Detail: single gutter on #primary */
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary,
	body.single-product #primary {
		padding-inline: var(--fr-mobile-gutter) !important;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary .content-container,
	body.single-product #primary .content-container {
		padding-inline: 0 !important;
	}

	/* Cart / Checkout / Order / Wishlist / Account guest:
	   #primary often has desktop side padding — zero it so .content-container owns gutter */
	body.woocommerce-cart #primary,
	body.woocommerce-checkout:not(.woocommerce-order-received) #primary,
	body.woocommerce-order-received #primary,
	body.woocommerce-wishlist #primary,
	body:has(.yith-wcwl-form .wishlist_table) #primary,
	body.woocommerce-account:not(.logged-in) #primary {
		padding-inline: 0 !important;
	}

	body.woocommerce-account.logged-in .woocommerce {
		padding-inline: 0 !important;
	}

	body.home .fr-main-categories,
	body.home .fr-home-featured,
	body.home .fr-home-memorial-copy,
	body.home .fr-shop-by-product,
	body.home .fr-home-how,
	body.woocommerce-cart .wc-block-cart__empty-cart,
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
		width: 100% !important;
		max-width: none;
	}
}

/* ==========================================================================
   MOBILE TOUCH — REMOVE CYAN TAP / ACTIVE FLASH (≤767px)
   ========================================================================== */

@media screen and (max-width: 767px) {
	html {
		-webkit-tap-highlight-color: transparent;
	}

	a:focus:not(:focus-visible),
	button:focus:not(:focus-visible),
	input:focus:not(:focus-visible),
	select:focus:not(:focus-visible),
	textarea:focus:not(:focus-visible),
	[role="button"]:focus:not(:focus-visible),
	.menu-toggle:focus:not(:focus-visible),
	.drawer-toggle:focus:not(:focus-visible),
	.menu-toggle-close:focus:not(:focus-visible) {
		outline: none;
		box-shadow: none;
	}

	#mobile-header #mobile-toggle:active,
	#mobile-header .menu-toggle-open:active,
	#mobile-header .header-mobile-social-wrap .header-social-item:active,
	#mobile-header .header-cart-button:active,
	#mobile-header .mobile-header-button-inner-wrap a.mobile-header-button:active,
	#mobile-header .fr-header-action:active,
	#mobile-header .fr-header-product-search--mobile button[type="submit"]:active {
		color: var(--fr-header-icon-color);
		background-color: transparent;
		background-image: none;
		box-shadow: none;
	}

	#mobile-drawer.popup-drawer .drawer-header .drawer-toggle:active,
	#mobile-drawer.popup-drawer .drawer-header .menu-toggle-close:active,
	#mobile-drawer.popup-drawer .drawer-nav-drop-wrap .drawer-sub-toggle:active {
		color: #18221d;
		background-color: transparent;
		box-shadow: none;
	}

	#mobile-drawer.popup-drawer .mobile-navigation a:active {
		color: #18221d;
		background-color: transparent;
	}

	body a:not(.wp-block-button__link):not(.button):not(.wp-element-button):not(.add_to_cart_button):not(.single_add_to_cart_button):active {
		color: var(--fr-green-800);
	}

	#mobile-header a:active {
		color: var(--fr-header-icon-color);
	}

	button:active,
	input[type="button"]:active,
	input[type="reset"]:active,
	input[type="submit"]:active,
	.wp-element-button:active {
		border-color: var(--fr-green-900);
		background-color: var(--fr-green-900);
		color: var(--fr-white);
		box-shadow: none;
	}

	.fr-home-hero .fr-button-primary .wp-block-button__link:active,
	.fr-home-hero a.fr-button-primary:active,
	.fr-home-hero button.fr-button-primary:active {
		border-color: #173f2b;
		background-color: #173f2b;
		color: #ffffff;
		box-shadow: none;
		transform: none;
	}

	.fr-home-hero .fr-button-secondary .wp-block-button__link:active,
	.fr-home-hero a.fr-button-secondary:active,
	.fr-home-hero button.fr-button-secondary:active {
		border-color: #24563a;
		background-color: transparent;
		color: #24563a;
		box-shadow: none;
		transform: none;
	}

	body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:active,
	body.single-product div.product .summary .single_add_to_cart_button:active,
	body.home .fr-home-featured a.add_to_cart_button:active {
		border-color: var(--fr-green-900);
		background-color: var(--fr-green-900);
		color: var(--fr-white);
		box-shadow: none;
	}

	#mobile-header button:active,
	#mobile-header .header-cart-button:active,
	#mobile-header .fr-header-product-search--mobile button[type="submit"]:active,
	#mobile-drawer.popup-drawer .drawer-header .drawer-toggle:active,
	#mobile-drawer.popup-drawer .drawer-nav-drop-wrap .drawer-sub-toggle:active {
		border-color: transparent;
		background-color: transparent;
		box-shadow: none;
	}
}

/* ==========================================================================
   MOBILE DRAWER — LEFT GLASS PANEL (60vw, FULL HEIGHT)
   ========================================================================== */

@media screen and (max-width: 767px) {
	body.showing-popup-drawer-from-right.animate-body-popup #inner-wrap,
	body.showing-popup-drawer-from-right.animate-body-popup #colophon,
	body.showing-popup-drawer-from-right.animate-body-popup .site-header-row {
		transform: none;
		transition: none;
	}

	#mobile-drawer,
	#mobile-drawer.popup-drawer,
	#mobile-drawer.popup-drawer.show-drawer,
	#mobile-drawer.popup-drawer.active {
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		transition: none !important;
	}

	#mobile-drawer.popup-drawer.show-drawer {
		display: block;
		left: 0;
		right: 0;
		opacity: 1;
	}

	#mobile-drawer.popup-drawer .drawer-overlay,
	#mobile-drawer.popup-drawer.show-drawer .drawer-overlay,
	#mobile-drawer.popup-drawer.active .drawer-overlay {
		position: fixed;
		inset: 0;
		background: rgba(12, 20, 16, 0.42) !important;
		background-color: rgba(12, 20, 16, 0.42) !important;
		background-image: none !important;
	}

	#mobile-drawer.popup-drawer .drawer-overlay {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 260ms ease,
			visibility 0s linear 360ms !important;
	}

	#mobile-drawer.popup-drawer.show-drawer .drawer-overlay {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition:
			opacity 260ms ease,
			visibility 0s linear 0s !important;
	}

	#mobile-drawer.popup-drawer .drawer-overlay,
	#mobile-drawer.popup-drawer .drawer-overlay:hover,
	#mobile-drawer.popup-drawer .drawer-overlay:focus,
	#mobile-drawer.popup-drawer .drawer-overlay:focus-visible,
	#mobile-drawer.popup-drawer .drawer-overlay:active {
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		outline: 0;
		box-shadow: none !important;
		background-color: rgba(12, 20, 16, 0.42) !important;
		background-image: none !important;
		-webkit-appearance: none;
		appearance: none;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		tap-highlight-color: transparent;
		color: transparent;
		text-decoration: none;
		cursor: pointer;
		touch-action: manipulation;
	}

	#mobile-drawer.popup-drawer .drawer-inner {
		position: fixed;
		top: 0;
		left: 0;
		right: auto;
		bottom: 0;
		width: 60vw;
		max-width: 60vw;
		height: 100dvh;
		min-height: 100dvh;
		max-height: 100dvh;
		overflow-x: hidden;
		overflow-y: auto;
		box-sizing: border-box;
		color: #18221d;
		background-color: rgba(255, 255, 255, 0.88);
		box-shadow: 10px 0 30px rgba(18, 35, 27, 0.14);
		opacity: 1;
		transform: translate3d(-100%, 0, 0);
		visibility: hidden;
		pointer-events: none;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		isolation: isolate;
		will-change: transform;
		transition:
			transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
			visibility 0s linear 360ms;
	}

	#mobile-drawer.popup-drawer.active .drawer-inner {
		transform: translate3d(0, 0, 0);
		visibility: visible;
		pointer-events: auto;
		transition:
			transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
			visibility 0s linear 0s;
	}

	@media (prefers-reduced-motion: reduce) {
		#mobile-drawer.popup-drawer .drawer-inner,
		#mobile-drawer.popup-drawer .drawer-overlay {
			transition-duration: 1ms !important;
		}
	}

	#mobile-drawer.popup-drawer .drawer-header {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		z-index: 2;
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
		min-height: 0;
		padding: 14px 16px 0;
		background: transparent;
		pointer-events: none;
	}

	#mobile-drawer.popup-drawer .drawer-header .drawer-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: transparent;
		color: #18221d;
		box-shadow: none;
		pointer-events: auto;
		transition: background-color 180ms ease;
	}

	#mobile-drawer.popup-drawer .drawer-header .drawer-toggle:hover,
	#mobile-drawer.popup-drawer .drawer-header .drawer-toggle:focus-visible {
		background-color: rgba(23, 63, 43, 0.09);
		box-shadow: none;
	}

	#mobile-drawer.popup-drawer .drawer-header .drawer-toggle:focus-visible {
		outline: 2px solid rgba(23, 63, 43, 0.35);
		outline-offset: 2px;
	}

	#mobile-drawer.popup-drawer .drawer-header .toggle-close-bar {
		background-color: #18221d;
	}

	#mobile-drawer.popup-drawer .drawer-content,
	#mobile-drawer.popup-drawer .mobile-drawer-content {
		height: auto;
		min-height: 100%;
		padding: 78px 20px 28px;
		box-sizing: border-box;
	}

	#mobile-drawer.popup-drawer .drawer-content .site-header-item,
	#mobile-drawer.popup-drawer .mobile-navigation,
	#mobile-drawer.popup-drawer .mobile-navigation .mobile-menu-container,
	#mobile-drawer.popup-drawer .mobile-navigation ul.menu {
		height: auto;
		min-height: 0;
		flex: 0 0 auto;
	}

	#mobile-drawer.popup-drawer .mobile-navigation ul.menu {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#mobile-drawer.popup-drawer .mobile-navigation ul.menu > li {
		margin: 0;
		border-bottom: 1px solid rgba(23, 63, 43, 0.14);
	}

	#mobile-drawer.popup-drawer .mobile-navigation ul.menu > li:last-child {
		border-bottom: 0;
	}

	#mobile-drawer.popup-drawer .mobile-navigation a {
		display: flex;
		align-items: center;
		min-height: 54px;
		padding: 10px 8px;
		color: #18221d;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.35;
		text-decoration: none;
		box-sizing: border-box;
		transition: background-color 180ms ease, color 180ms ease;
	}

	#mobile-drawer.popup-drawer .mobile-navigation a:hover,
	#mobile-drawer.popup-drawer .mobile-navigation a:focus-visible {
		color: #173f2b;
	}

	#mobile-drawer.popup-drawer .mobile-navigation a:focus-visible {
		outline: 2px solid rgba(23, 63, 43, 0.35);
		outline-offset: 2px;
	}

	#mobile-drawer.popup-drawer .mobile-navigation .current-menu-item > a,
	#mobile-drawer.popup-drawer .mobile-navigation .current-menu-ancestor > a,
	#mobile-drawer.popup-drawer .mobile-navigation .current_page_item > a {
		border-radius: 7px;
		background-color: rgba(23, 63, 43, 0.09);
		color: #173f2b;
		font-weight: 700;
	}

	#mobile-drawer.popup-drawer .mobile-navigation .drawer-nav-drop-wrap button,
	#mobile-drawer.popup-drawer .mobile-navigation .drawer-nav-drop-wrap .drawer-nav-drop-toggle,
	#mobile-drawer.popup-drawer .mobile-navigation .drawer-nav-drop-wrap .kadence-svg-iconset {
		color: #18221d;
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	#mobile-drawer.popup-drawer .mobile-navigation .drawer-nav-drop-wrap button:hover,
	#mobile-drawer.popup-drawer .mobile-navigation .drawer-nav-drop-wrap button:focus-visible {
		background-color: rgba(23, 63, 43, 0.09);
		color: #173f2b;
	}

	#mobile-drawer.popup-drawer .mobile-navigation .sub-menu {
		margin: 0;
		padding: 0 0 8px;
		list-style: none;
	}

	#mobile-drawer.popup-drawer .mobile-navigation .sub-menu a {
		min-height: 48px;
		padding-left: 16px;
		font-size: 14px;
		font-weight: 500;
	}
}

/* ==========================================================================
   HEADER PRIMARY NAVIGATION — CATEGORIES DROPDOWN
   ========================================================================== */

@media (min-width: 1025px) {
	#masthead .header-navigation li.menu-item:has(> .sub-menu > .menu-item-object-product_cat) > a {
		display: inline-flex;
		align-items: center;
		box-sizing: border-box;
		border-bottom: 2px solid transparent;
		font-weight: inherit;
		transition: color 150ms ease, border-bottom-color 150ms ease;
	}

	#masthead .header-navigation li.menu-item:has(> .sub-menu > .menu-item-object-product_cat):hover > a,
	#masthead .header-navigation li.menu-item:has(> .sub-menu > .menu-item-object-product_cat):focus-within > a,
	#masthead .header-navigation li.menu-item:has(> .sub-menu > .menu-item-object-product_cat):focus-visible > a,
	#masthead .header-navigation li.menu-item.current-menu-parent:has(> .sub-menu > .menu-item-object-product_cat) > a,
	#masthead .header-navigation li.menu-item.current-product_cat-ancestor:has(> .sub-menu > .menu-item-object-product_cat) > a {
		color: #173f2b !important;
		border-bottom-color: #173f2b;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) {
		top: calc(100% - 1px);
		margin-top: 0;
		min-width: 290px;
		width: max-content;
		max-width: 340px;
		padding: 10px !important;
		border: 1px solid #e2ded5 !important;
		border-radius: 12px !important;
		background: #ffffff !important;
		box-shadow: 0 14px 34px rgba(26, 45, 36, 0.16) !important;
		box-sizing: border-box;
		overflow: visible;
		z-index: 60;
		transform: none !important;
		transition: opacity 150ms ease, visibility 150ms ease !important;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat)::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -12px;
		height: 12px;
		background: transparent;
		pointer-events: auto;
	}

	#masthead .header-navigation li.menu-item:has(> .sub-menu > .menu-item-object-product_cat):hover > .sub-menu,
	#masthead .header-navigation li.menu-item:has(> .sub-menu > .menu-item-object-product_cat):focus-within > .sub-menu,
	#masthead .header-navigation li.menu-item:has(> .sub-menu > .menu-item-object-product_cat) > .sub-menu:hover {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		pointer-events: auto !important;
		clip: auto !important;
		height: auto !important;
		overflow: visible !important;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item {
		margin: 0;
		border: 0;
		border-bottom: 1px solid #edf0ed;
		background: transparent;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item:last-child {
		border-bottom: 0;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item > a {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 44px;
		padding: 10px 14px;
		box-sizing: border-box;
		border-radius: 7px;
		border-left: 3px solid transparent;
		color: #26352f !important;
		background: transparent !important;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.35;
		text-decoration: none;
		text-transform: none;
		white-space: normal;
		transform: none;
		transition: background-color 150ms ease, color 150ms ease, border-left-color 150ms ease;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .fr-menu-item-all-products > a {
		font-weight: 600;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .fr-menu-item-all-products.current-menu-item > a {
		font-weight: 600;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item > a:hover,
	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item > a:focus-visible {
		background: #f0f5f1 !important;
		color: #173f2b !important;
		text-decoration: none;
		font-weight: 500;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item > a:focus-visible {
		outline: none;
		box-shadow: inset 0 0 0 2px #173f2b;
	}

	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item.current-menu-item > a,
	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item.current-product_cat-ancestor > a,
	#masthead .header-navigation .sub-menu:has(> .menu-item-object-product_cat) > .menu-item.current-menu-ancestor > a {
		border-left-color: #173f2b;
		background: #eaf2ed !important;
		color: #173f2b !important;
		font-weight: 500;
	}
}

@media (max-width: 1024px) {
	#mobile-site-navigation.mobile-navigation .menu-item-object-product_cat > a {
		min-height: 44px;
		display: flex;
		align-items: center;
	}
}

/* ==========================================================================
   HEADER PRODUCT SEARCH
   ========================================================================== */

/* Search dropdown must stack above product-card wishlist hearts (YITH z-index: 20). */
body #masthead,
body #mobile-header {
	position: relative;
	z-index: 1000;
	overflow: visible;
}

body #masthead .site-main-header-wrap,
body #masthead .site-bottom-header-wrap,
body #mobile-header .site-main-header-wrap {
	position: relative;
	overflow: visible;
}

.fr-header-product-search {
	position: relative;
	z-index: 1000;
	overflow: visible;
	box-sizing: border-box;
}

.fr-header-product-search__inner {
	position: relative;
	z-index: 1000;
	width: 100%;
	overflow: visible;
}

.fr-header-product-search .woocommerce-product-search {
	display: flex;
	align-items: stretch;
	width: 100%;
	margin: 0;
	gap: 0;
	box-sizing: border-box;
}

.fr-header-product-search .woocommerce-product-search .search-field {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	margin: 0;
	box-sizing: border-box;
	font: inherit;
}

.fr-header-product-search .woocommerce-product-search button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	white-space: nowrap;
	box-sizing: border-box;
	cursor: pointer;
}

.fr-header-search-suggestions {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	z-index: 1100;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e3e6e4;
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(17, 35, 27, 0.16);
	padding: 18px 0 14px;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-5px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.fr-header-product-search__inner:focus-within .fr-header-search-suggestions {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.fr-header-search-suggestions__title {
	padding: 0 20px 10px;
	font-size: 14px;
	font-weight: 700;
	color: #1d211f;
}

.fr-header-search-suggestions__list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 360px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.fr-header-search-suggestions__link {
	display: flex;
	align-items: center;
	gap: 11px;
	width: 100%;
	min-height: 40px;
	padding: 8px 20px;
	box-sizing: border-box;
	color: #555d59;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.fr-header-search-suggestions__link:hover,
.fr-header-search-suggestions__link:focus-visible {
	background: #f2f6f3;
	color: #173f2b;
	text-decoration: none;
}

.fr-header-search-suggestions__list > li:first-child .fr-header-search-suggestions__link:hover,
.fr-header-search-suggestions__list > li:first-child .fr-header-search-suggestions__link:focus-visible {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.fr-header-search-suggestions:not(:has(.fr-header-search-products.has-categories))
	.fr-header-search-suggestions__list
	> li:last-child
	.fr-header-search-suggestions__link:hover,
.fr-header-search-suggestions:not(:has(.fr-header-search-products.has-categories))
	.fr-header-search-suggestions__list
	> li:last-child
	.fr-header-search-suggestions__link:focus-visible {
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.fr-header-search-suggestions__link:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 2px #173f2b;
}

.fr-header-search-suggestions__icon {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	color: #26352f;
}

.fr-header-search-products {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.fr-header-search-products.has-categories {
	margin-top: 8px;
	padding-top: 14px;
	border-top: 1px solid #ecefed;
}

.fr-header-search-products__title {
	padding: 0 20px 10px;
	font-size: 14px;
	font-weight: 700;
	color: #1d211f;
}

.fr-header-search-products__status {
	padding: 8px 20px 12px;
	color: #66706b;
	font-size: 14px;
}

.fr-header-search-products__status:empty {
	display: none;
	padding: 0;
}

.is-search-loading .fr-header-search-products__status:not(:empty)::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-left: 8px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.35;
	vertical-align: middle;
	animation: fr-header-search-pulse 900ms ease-in-out infinite;
}

@keyframes fr-header-search-pulse {
	0%,
	100% {
		opacity: 0.2;
	}
	50% {
		opacity: 0.7;
	}
}

@media (prefers-reduced-motion: reduce) {
	.is-search-loading .fr-header-search-products__status:not(:empty)::after {
		animation: none;
	}
}

.fr-header-search-products__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fr-header-search-product__link {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 8px 20px;
	box-sizing: border-box;
	color: #26352f;
	text-decoration: none;
}

.fr-header-search-product__link:hover,
.fr-header-search-product__link:focus-visible {
	background: #f2f6f3;
	color: #173f2b;
	text-decoration: none;
}

.fr-header-search-products__list > li:first-child .fr-header-search-product__link:hover,
.fr-header-search-products__list > li:first-child .fr-header-search-product__link:focus-visible {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.fr-header-search-products__list > li:last-child .fr-header-search-product__link:hover,
.fr-header-search-products__list > li:last-child .fr-header-search-product__link:focus-visible {
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.fr-header-search-product__link:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 2px #173f2b;
}

.fr-header-search-product__image {
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	border-radius: 6px;
	overflow: hidden;
	background: #f2f1ed;
}

.fr-header-search-product__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fr-header-search-product__content {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.fr-header-search-product__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.35;
	font-weight: 600;
	color: inherit;
}

.fr-header-search-product__price {
	font-size: 13px;
	line-height: 1.3;
	font-weight: 700;
	color: #173f2b;
}

.fr-header-search-products__view-all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 14px 18px 4px;
	min-height: 44px;
	padding: 10px 16px;
	border-radius: 4px;
	background: #173f2b;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
}

.fr-header-search-products__view-all::after {
	content: "\2192";
	font-size: 14px;
	line-height: 1;
}

.fr-header-search-products__view-all:hover,
.fr-header-search-products__view-all:focus-visible {
	background: #24563a;
	color: #ffffff;
}

@media (min-width: 1025px) {
	#masthead .site-main-header-inner-wrap.site-header-row-center-column {
		grid-template-columns: auto minmax(0, 1fr) 286px;
		column-gap: 32px;
	}

	#masthead .site-header-main-section-center {
		width: 100%;
		min-width: 0;
		max-width: none;
		overflow: visible;
	}

	#masthead .site-header-main-section-center [data-section="kadence_customizer_header_search"] {
		display: none;
	}

	.fr-header-product-search--desktop {
		display: block;
		width: 100%;
		max-width: 600px;
		min-width: 0;
		margin-inline: auto;
		margin-top: 15px;
		padding-inline: 0;
		box-sizing: border-box;
	}

	.fr-header-product-search--mobile {
		display: none;
	}

	.fr-header-product-search--desktop .woocommerce-product-search {
		display: flex;
		align-items: stretch;
		position: relative;
		width: 100%;
		height: 48px;
		margin: 0;
		padding: 0;
		gap: 0;
		border: 1px solid #26352f;
		border-radius: 24px;
		background: #ffffff;
		overflow: hidden;
		box-sizing: border-box;
	}

	.fr-header-product-search--desktop .search-field {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		height: 46px;
		margin: 0;
		padding: 0 18px;
		border: 0;
		border-radius: 24px 0 0 24px;
		outline: none;
		background: transparent;
		box-shadow: none;
		font: inherit;
		color: #1d211f;
	}

	.fr-header-product-search--desktop .woocommerce-product-search button[type="submit"] {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 58px;
		height: 100%;
		min-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0 24px 24px 0;
		background: transparent !important;
		color: transparent !important;
		box-shadow: none;
		z-index: 2;
		cursor: pointer;
		overflow: hidden;
	}

	.fr-header-product-search--desktop .woocommerce-product-search .kadence-search-icon-wrap {
		position: absolute;
		top: 0;
		right: 0;
		width: 58px;
		height: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		border-left: 1px solid #d8ddd9;
		border-radius: 0 24px 24px 0;
		background: #ffffff;
		color: #173f2b;
		box-shadow: none;
		z-index: 3;
		pointer-events: none;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}

	.fr-header-product-search--desktop .woocommerce-product-search button[type="submit"]:hover,
	.fr-header-product-search--desktop .woocommerce-product-search button[type="submit"]:focus-visible {
		background: transparent !important;
		border-color: transparent;
		box-shadow: none;
		outline: none;
	}

	.fr-header-product-search--desktop .woocommerce-product-search button[type="submit"]:hover ~ .kadence-search-icon-wrap,
	.fr-header-product-search--desktop .woocommerce-product-search button[type="submit"]:focus-visible ~ .kadence-search-icon-wrap {
		background: #f3f6f4;
		color: #173f2b;
	}

	.fr-header-product-search--desktop .woocommerce-product-search button[type="submit"]:focus-visible ~ .kadence-search-icon-wrap {
		box-shadow: inset 0 0 0 2px #173f2b;
	}

	.fr-header-product-search--desktop .search-field:focus-visible {
		outline: none;
		box-shadow: inset 0 0 0 2px #173f2b;
	}

	.fr-header-product-search--desktop .fr-header-search-suggestions {
		max-height: min(620px, calc(100vh - 150px));
		overflow-y: auto;
	}
}

@media (max-width: 1025px) {
	.fr-header-product-search--desktop {
		display: none;
	}

	#mobile-header .fr-header-product-search--mobile {
		display: block;
		width: 100%;
		flex: 0 0 100%;
		margin: 0;
		box-sizing: border-box;
		padding: 10px 0 12px;
		background: #ffffff;
		clear: both;
	}

	#mobile-header .fr-header-product-search--mobile .fr-header-product-search__inner {
		width: 70%;
		max-width: 420px;
		min-width: 0;
		margin-inline: auto;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search {
		display: flex;
		align-items: stretch;
		position: relative;
		width: 100%;
		min-width: 0;
		height: 46px;
		margin: 0;
		padding: 0;
		gap: 0;
		border: 1px solid #26352f;
		border-radius: 23px;
		background: #ffffff;
		overflow: hidden;
		box-sizing: border-box;
	}

	#mobile-header .fr-header-product-search--mobile .fr-header-search-suggestions {
		max-height: min(480px, 60vh);
		overflow-y: auto;
	}

	#mobile-header .fr-header-product-search--mobile .fr-header-search-suggestions__title,
	#mobile-header .fr-header-product-search--mobile .fr-header-search-products__title,
	#mobile-header .fr-header-product-search--mobile .fr-header-search-products__status {
		padding-left: 14px;
		padding-right: 14px;
	}

	#mobile-header .fr-header-product-search--mobile .fr-header-search-suggestions__link,
	#mobile-header .fr-header-product-search--mobile .fr-header-search-product__link {
		padding: 8px 14px;
	}

	#mobile-header .fr-header-product-search--mobile .fr-header-search-product__image {
		flex: 0 0 50px;
		width: 50px;
		height: 50px;
	}

	#mobile-header .fr-header-product-search--mobile .fr-header-search-products__view-all {
		margin: 12px 14px 4px;
	}

	#mobile-header .fr-header-product-search--mobile .search-field {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		height: 44px;
		margin: 0;
		padding: 0 14px;
		border: 0;
		border-radius: 23px 0 0 23px;
		outline: none;
		background: transparent;
		box-shadow: none;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search button[type="submit"] {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 58px;
		height: 100%;
		min-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0 23px 23px 0;
		background: transparent !important;
		color: transparent !important;
		box-shadow: none;
		z-index: 2;
		cursor: pointer;
		overflow: hidden;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search .kadence-search-icon-wrap {
		position: absolute;
		top: 0;
		right: 0;
		width: 58px;
		height: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		border-left: 1px solid #d8ddd9;
		border-radius: 0 23px 23px 0;
		background: #ffffff;
		color: #173f2b;
		box-shadow: none;
		z-index: 3;
		pointer-events: none;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search button[type="submit"]:hover,
	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search button[type="submit"]:focus-visible {
		background: transparent !important;
		border-color: transparent;
		box-shadow: none;
		outline: none;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search button[type="submit"]:hover ~ .kadence-search-icon-wrap,
	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search button[type="submit"]:focus-visible ~ .kadence-search-icon-wrap {
		background: #f3f6f4;
		color: #173f2b;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search button[type="submit"]:focus-visible ~ .kadence-search-icon-wrap {
		box-shadow: inset 0 0 0 2px #173f2b;
	}

	#mobile-header .fr-header-product-search--mobile .search-field:focus-visible {
		outline: none;
		box-shadow: inset 0 0 0 2px #173f2b;
	}
}

@media screen and (max-width: 767px) {
	#mobile-header .fr-header-product-search--mobile {
		grid-area: search;
		display: block;
		width: auto;
		max-width: none;
		flex: none;
		clear: none;
		min-width: 0;
		margin: 0;
		padding: 4px 0 10px;
		transform: translateY(5px);
		background: transparent;
	}

	#mobile-header .fr-header-product-search--mobile .fr-header-product-search__inner {
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search {
		height: 38px;
		min-height: 38px;
		border-radius: 23px;
	}

	#mobile-header .fr-header-product-search--mobile .search-field {
		height: 100%;
		min-height: 0;
		padding-top: 0;
		padding-bottom: 0;
		border-radius: 16px 0 0 16px;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search button[type="submit"],
	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search .kadence-search-icon-wrap {
		width: 44px;
		height: 100%;
		min-height: 0;
		border-radius: 0 16px 16px 0;
	}
}

@media (max-width: 359px) {
	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search {
		width: 100%;
	}
}

/* ==========================================================================
   TABLET HEADER — single row with inline search (700px–1025px, incl. iPad Pro gap)
   ========================================================================== */

@media screen and (min-width: 700px) and (max-width: 1025px) {
	#mobile-header {
		--fr-header-icon-gap: 10px;
		--fr-ipad-search-max-width: clamp(357px, 36vw, 400px);
	}

	#mobile-header .site-header-inner-wrap {
		display: grid;
		grid-template-columns: 44px auto minmax(0, 1fr) auto auto auto;
		grid-template-areas:
			"announce announce announce announce announce announce"
			"toggle logo search wishlist account cart";
		align-items: center;
		column-gap: var(--fr-header-icon-gap);
		row-gap: 0;
	}

	#mobile-header .site-header-upper-wrap,
	#mobile-header .site-header-upper-inner-wrap,
	#mobile-header .site-main-header-wrap,
	#mobile-header .site-main-header-wrap .site-header-row-container-inner,
	#mobile-header .site-main-header-wrap .site-container,
	#mobile-header .site-main-header-inner-wrap,
	#mobile-header .site-main-header-inner-wrap.site-header-row-has-sides,
	#mobile-header .site-main-header-inner-wrap .site-header-section-left,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center,
	#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_social"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_button"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right:has([data-section="kadence_customizer_mobile_cart"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_social"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_button"]),
	#mobile-header .site-main-header-inner-wrap .site-header-section-right-center:has([data-section="kadence_customizer_mobile_cart"]) {
		display: contents;
	}

	#mobile-header .site-top-header-wrap {
		grid-area: announce;
	}

	#mobile-header .site-main-header-inner-wrap.site-header-row-has-sides {
		position: static;
		padding-left: 0;
		min-height: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_trigger"] {
		grid-area: toggle;
		position: static;
		left: auto;
		top: auto;
		transform: none;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		z-index: 2;
	}

	#mobile-header [data-section="title_tagline"] {
		grid-area: logo;
		justify-self: start;
		align-self: center;
		padding-top: 0;
		padding-bottom: 0;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_social"] {
		grid-area: wishlist;
		justify-self: end;
		padding-top: 0;
		padding-bottom: 0;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_button"] {
		grid-area: account;
		justify-self: end;
		padding-top: 0;
		padding-bottom: 0;
	}

	#mobile-header .site-main-header-inner-wrap [data-section="kadence_customizer_mobile_cart"] {
		grid-area: cart;
		justify-self: end;
		align-self: center;
		overflow: visible;
		margin-inline-end: 0;
	}

	#mobile-header .fr-header-product-search--mobile {
		grid-area: search;
		display: block;
		width: auto;
		max-width: none;
		flex: none;
		clear: none;
		min-width: 0;
		margin: 0;
		padding: 8px 0;
		transform: none;
		background: transparent;
	}

	#mobile-header .fr-header-product-search--mobile .fr-header-product-search__inner {
		width: 100%;
		max-width: var(--fr-ipad-search-max-width);
		min-width: 0;
		margin-inline: auto;
	}

	#mobile-header .fr-header-product-search--mobile .woocommerce-product-search {
		height: 46px;
		min-height: 46px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1025px) {
	#mobile-header {
		--fr-ipad-page-gutter: clamp(1.25rem, 3vw, 2.5rem);
	}

	#mobile-header .site-header-inner-wrap {
		padding-inline: var(--fr-ipad-page-gutter);
	}

	#mobile-header .site-top-header-wrap {
		margin-inline: calc(-1 * var(--fr-ipad-page-gutter));
	}
}

/* iPad Pro CSS viewport (~1024.1–1025px): icon row + announcement tweaks */
@media screen and (min-width: 1024px) and (max-width: 1025px) {
	#mobile-header .site-top-header-wrap .mobile-html-inner,
	#mobile-header .site-top-header-wrap .mobile-html-inner p {
		position: relative;
		top: 6px;
	}

	#mobile-header .header-cart-button.fr-header-action,
	#mobile-header .fr-header-action {
		justify-content: center;
		gap: 0;
	}
}

/* HOME HERO
--------------------------------------------- */

.fr-home-hero {
	position: relative;
	isolation: isolate;

	display: flex;
	align-items: center;

	width: 100vw;
	max-width: none;
	min-height: 300px;

	margin-block: 0;
	margin-inline: calc(50% - 50vw);

	padding: 2.5rem clamp(1.5rem, 6vw, 6rem);

	overflow-x: hidden;

	background-position: 72% center;
	background-size: cover;
	background-repeat: no-repeat;

	box-sizing: border-box;
}

.fr-home-hero::after {
	position: absolute;
	z-index: 1;
	inset: 0;

	background: linear-gradient(
		90deg,
		rgba(251, 248, 241, 0.88) 0%,
		rgba(251, 248, 241, 0.65) 38%,
		rgba(251, 248, 241, 0.12) 68%,
		rgba(251, 248, 241, 0) 100%
	);

	content: "";
	pointer-events: none;
}

.fr-home-hero__content {
	position: relative;
	z-index: 2;

	display: flex;
	flex-direction: column;
	align-items: flex-start;

	width: 100%;
	max-width: 720px;

	gap: 1.125rem;
	text-align: left;
}

.fr-home-hero__content > * {
	margin-block: 0;
}

.fr-home-hero__content h1 {
	width: 100%;
	max-width: 720px;
	margin: 0;

	color: #1d211f;

	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3rem, 4.5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.fr-home-hero__content p {
	max-width: 58ch;
	margin: 0;

	color: #4f5752;

	font-size: 1.125rem;
	line-height: 1.55;
}

.fr-home-hero__content > p:first-child,
.fr-home-hero__content > p:has(+ h1) {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;

	gap: 0.4rem;

	color: #1d211f;

	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
}

.fr-home-hero__content > p:first-child strong,
.fr-home-hero__content > p:has(+ h1) strong {
	color: #d9a21b;
	letter-spacing: 0.08em;
}

.fr-home-hero .fr-store-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.5rem;
	max-width: 100%;
	margin: 0;
	color: #1d211f;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
}

.fr-home-hero .fr-store-rating .star-rating {
	position: relative;
	display: block;
	flex: 0 0 auto;
	float: none;
	width: 5.4em;
	height: 1em;
	margin: 0;
	overflow: hidden;
	font-family: star;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
}

.fr-home-hero .fr-store-rating .star-rating::before {
	position: absolute;
	top: 0;
	left: 0;
	float: none;
	color: #d6d6d6;
	content: "sssss";
	opacity: 1;
}

.fr-home-hero .fr-store-rating .star-rating span {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	overflow: hidden;
	height: 1em;
	padding: 0;
	white-space: nowrap;
	text-indent: -999em;
}

.fr-home-hero .fr-store-rating .star-rating span::before {
	position: absolute;
	top: 0;
	left: 0;
	color: #f2b01e;
	content: "SSSSS";
	text-indent: 0;
}

.fr-home-hero .fr-store-rating__text {
	min-width: 0;
	font-weight: 600;
	word-break: normal;
	overflow-wrap: break-word;
}

.fr-home-hero .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	gap: 0.75rem;
	margin: 0;
}

.fr-home-hero .fr-button-primary .wp-block-button__link,
.fr-home-hero a.fr-button-primary,
.fr-home-hero button.fr-button-primary,
.fr-home-hero .fr-button-secondary .wp-block-button__link,
.fr-home-hero a.fr-button-secondary,
.fr-home-hero button.fr-button-secondary {
	min-height: 44px;
	padding: 0.75rem 1.4rem;

	border: 1px solid #24563a;
	border-radius: var(--fr-radius-small);

	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;

	text-decoration: none;

	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease,
		transform 150ms ease;
}

.fr-home-hero .fr-button-primary .wp-block-button__link,
.fr-home-hero a.fr-button-primary,
.fr-home-hero button.fr-button-primary {
	border-color: #173f2b;
	background-color: #173f2b;
	color: #ffffff;
}

.fr-home-hero .fr-button-primary .wp-block-button__link:hover,
.fr-home-hero a.fr-button-primary:hover,
.fr-home-hero button.fr-button-primary:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff;
	transform: translateY(-1px);
}

.fr-home-hero .fr-button-secondary .wp-block-button__link,
.fr-home-hero a.fr-button-secondary,
.fr-home-hero button.fr-button-secondary {
	background-color: rgba(255, 255, 255, 0.82);
	color: #24563a;
}

.fr-home-hero .fr-button-secondary .wp-block-button__link:hover,
.fr-home-hero a.fr-button-secondary:hover,
.fr-home-hero button.fr-button-secondary:hover {
	border-color: #173f2b;
	background-color: #ffffff;
	color: #173f2b;
	transform: translateY(-1px);
}

.fr-home-hero .fr-button-primary .wp-block-button__link:focus-visible,
.fr-home-hero a.fr-button-primary:focus-visible,
.fr-home-hero button.fr-button-primary:focus-visible,
.fr-home-hero .fr-button-secondary .wp-block-button__link:focus-visible,
.fr-home-hero a.fr-button-secondary:focus-visible,
.fr-home-hero button.fr-button-secondary:focus-visible {
	outline: 3px solid #173f2b;
	outline-offset: 3px;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
	.fr-home-hero {
		min-height: 380px;
		padding: 3rem 2rem;
		background-position: 68% center;
	}

	.fr-home-hero__content {
		gap: 1rem;
	}

	.fr-home-hero__content h1 {
		max-width: 100%;
		font-size: 2.75rem;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.fr-home-hero > .wp-block-cover__image-background {
        display: none;
    }

    .fr-home-hero {
        background-image: url("/wp-content/uploads/2026/08/banner-mobile.jpg");
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
	.fr-home-hero {
		min-height: 410px;
		padding: 2.5rem var(--fr-mobile-gutter, 8px);
		background-position: 64% center;
	}

	.fr-home-hero::after {
		background: linear-gradient(
			90deg,
			rgba(251, 248, 241, 0.97) 0%,
			rgba(251, 248, 241, 0.7) 58%,
			rgba(251, 248, 241, 0.42) 100%
		);
	}

	.fr-home-hero__content {
		max-width: 100%;
		gap: 1rem;
	}

	.fr-home-hero__content > .wp-block-group {
		gap: 0.5rem;
	}

	.fr-home-hero__content .wp-block-group > .wp-block-group {
		width: 100%;
		max-width: 100%;
		margin-bottom: 0;
	}

	.fr-home-hero__content .wp-block-group > .wp-block-group .wp-block-group__inner-container {
		max-width: 100%;
	}

	.fr-home-hero__content h1 {
		max-width: 100%;
		font-size: 1.75rem;
	}

	.fr-home-hero__content p {
        width: 65%;
        max-width: 100%;
        font-size: 15px;
        line-height: 1.5;
	}

	.fr-home-hero .fr-store-rating {
		justify-content: center;
		width: 100%;
		font-size: 0.9375rem;
		line-height: 1.4;
		text-align: center;
	}

	body.home .fr-home-hero__content .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		margin: 85px 0 5px;
	}

	.fr-home-hero .wp-block-button,
	.fr-home-hero .fr-button-primary .wp-block-button__link,
	.fr-home-hero a.fr-button-primary,
	.fr-home-hero button.fr-button-primary,
	.fr-home-hero .fr-button-secondary .wp-block-button__link,
	.fr-home-hero a.fr-button-secondary,
	.fr-home-hero button.fr-button-secondary {
		width: 100%;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-home-hero .fr-button-primary .wp-block-button__link,
	.fr-home-hero a.fr-button-primary,
	.fr-home-hero button.fr-button-primary,
	.fr-home-hero .fr-button-secondary .wp-block-button__link,
	.fr-home-hero a.fr-button-secondary,
	.fr-home-hero button.fr-button-secondary {
		transition: none;
	}

	.fr-home-hero .fr-button-primary .wp-block-button__link:hover,
	.fr-home-hero a.fr-button-primary:hover,
	.fr-home-hero button.fr-button-primary:hover,
	.fr-home-hero .fr-button-secondary .wp-block-button__link:hover,
	.fr-home-hero a.fr-button-secondary:hover,
	.fr-home-hero button.fr-button-secondary:hover {
		transform: none;
	}
}
/* ==========================================================================
   HOME — COMPACT BENEFITS ROW
   Gap source: Kadence .single-content .wp-block-cover
   sets margin-bottom: var(--global-md-spacing) → 32px.
   .fr-home-hero { margin-block: 0 } loses that specificity fight.
   ========================================================================== */

/* Pull Benefits flush under Hero without affecting other Home sections */
body.home .entry-content > .fr-home-hero.wp-block-cover {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}

body.home .entry-content > .fr-benefits-row {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.home .fr-benefits-row {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}

@media screen and (min-width: 1024px) {
	body.home .fr-benefits-row {
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		align-items: start !important;
		column-gap: 28px !important;
		row-gap: 0 !important;

		box-sizing: border-box;
		width: 100%;
		height: auto !important;
		min-height: 0 !important;

		margin: 0 auto !important;
		padding: 18px 32px !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item {
		display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 0px;
        row-gap: 5px;
        align-items: start;
        justify-content: flex-start;
        box-sizing: border-box;
        width: 110%;
        min-width: 0;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left;
	}

	body.home .fr-benefits-row > .fr-benefit-item + .fr-benefit-item {
		border-left: 0 !important;
		border-right: 0 !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item::before,
	body.home .fr-benefits-row > .fr-benefit-item::after {
		content: none !important;
		display: none !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item figure {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: start;
		width: 62px;
		height: 62px;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item figure img {
		display: block;
		width: 50px !important;
		height: 50px !important;
		max-width: 50px;
		max-height: 50px;
		margin: 0 !important;
		object-fit: contain;
	}

	body.home .fr-benefits-row > .fr-benefit-item h4,
	body.home .fr-benefits-row > .fr-benefit-item h5 {
		grid-column: 2;
		grid-row: 1;
		margin: 0 !important;
		padding: 0 !important;
		min-height: 0;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		text-align: left !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item h4 br,
	body.home .fr-benefits-row > .fr-benefit-item h5 br {
		display: none !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item p {
		grid-column: 2;
		grid-row: 2;
		margin: 0 !important;
		padding: 0 !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.4 !important;
		color: #5c5c5c;
		text-align: left !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item > * {
		margin-block-start: 0 !important;
	}
}

@media screen and (max-width: 1024px) {
	body.home .entry-content > .fr-benefits-row {
		margin-bottom: 14px !important;
	}

	body.home .fr-benefits-row {
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		align-items: start !important;

		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		gap: 2px;

		margin: 0 !important;
		padding: 8px 0px 8px !important;
		overflow-x: clip;

		border: 0;
	}

	body.home .fr-benefits-row > .fr-benefit-item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center;
		justify-content: flex-start;

		min-width: 0;
		margin: 0 !important;
		padding: 0 2px !important;
		border: 0 !important;
		background: transparent !important;
		text-align: center;
	}

	body.home .fr-benefits-row > .fr-benefit-item + .fr-benefit-item {
		border-left: 0 !important;
		border-right: 0 !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item::before,
	body.home .fr-benefits-row > .fr-benefit-item::after {
		content: none !important;
		display: none !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item figure {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 48px;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item figure img {
        display: block;
        width: 40px !important;
        height: 40px !important;
        max-width: 40px;
        max-height: 40px;
        margin: 0 !important;
        object-fit: contain;
	}

	body.home .fr-benefits-row > .fr-benefit-item h4,
	body.home .fr-benefits-row > .fr-benefit-item h5 {
		width: 100%;
		margin: 5px 0 0 !important;
		padding: 0 !important;

		font-size: 10px !important;
		font-weight: 700 !important;
		line-height: 1.1 !important;
		text-align: center !important;

		overflow-wrap: anywhere;
		word-break: normal;
		hyphens: auto;
	}

	body.home .fr-benefits-row > .fr-benefit-item h4 br,
	body.home .fr-benefits-row > .fr-benefit-item h5 br {
		display: none !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item p {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item > * {
		margin-block-start: 0 !important;
	}
}

@media screen and (max-width: 359px) {
	body.home .fr-benefits-row {
		gap: 0;
		padding-inline: 2px !important;
	}

	body.home .fr-benefits-row > .fr-benefit-item figure {
		height: 44px;
	}

	body.home .fr-benefits-row > .fr-benefit-item figure img {
		width: 40px !important;
		height: 40px !important;
		max-width: 40px;
		max-height: 40px;
	}

	body.home .fr-benefits-row > .fr-benefit-item h4,
	body.home .fr-benefits-row > .fr-benefit-item h5 {
		font-size: 10px !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	body.home .fr-benefits-row {
		padding: 14px 16px 8px !important;
		gap: 8px;
	}

	body.home .fr-benefits-row > .fr-benefit-item figure {
		height: 52px;
	}

	body.home .fr-benefits-row > .fr-benefit-item figure img {
		width: 48px !important;
		height: 48px !important;
		max-width: 48px;
		max-height: 48px;
	}

	body.home .fr-benefits-row > .fr-benefit-item h4,
	body.home .fr-benefits-row > .fr-benefit-item h5 {
		font-size: 12px !important;
	}
}
/* =========================================================
   SHOP ARCHIVES + SINGLE PRODUCT — BOTTOM BREADCRUMB
   ========================================================= */

body.woocommerce-shop .fr-shop-bottom-breadcrumb,
body.tax-product_cat .fr-shop-bottom-breadcrumb,
body.tax-product_tag .fr-shop-bottom-breadcrumb,
body.single-product .fr-shop-bottom-breadcrumb,
body.fr-all-products .fr-shop-bottom-breadcrumb {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--fr-layout-width, 1290px);

	margin: 10px auto 0;
	padding: 18px 0 22px;

	border-top: 1px solid #d5dcd8;

	color: #34423b;
	font-size: 16px;
	line-height: 1.5;
}

body.woocommerce-shop .fr-shop-bottom-breadcrumb .woocommerce-breadcrumb,
body.tax-product_cat .fr-shop-bottom-breadcrumb .woocommerce-breadcrumb,
body.tax-product_tag .fr-shop-bottom-breadcrumb .woocommerce-breadcrumb,
body.single-product .fr-shop-bottom-breadcrumb .woocommerce-breadcrumb,
body.fr-all-products .fr-shop-bottom-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;

	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

body.woocommerce-shop .fr-shop-bottom-breadcrumb a,
body.tax-product_cat .fr-shop-bottom-breadcrumb a,
body.tax-product_tag .fr-shop-bottom-breadcrumb a,
body.single-product .fr-shop-bottom-breadcrumb a,
body.fr-all-products .fr-shop-bottom-breadcrumb a {
	color: #174d3a;
	font-weight: 500;
	text-decoration: none;
}

body.woocommerce-shop .fr-shop-bottom-breadcrumb a:hover,
body.tax-product_cat .fr-shop-bottom-breadcrumb a:hover,
body.tax-product_tag .fr-shop-bottom-breadcrumb a:hover,
body.single-product .fr-shop-bottom-breadcrumb a:hover,
body.fr-all-products .fr-shop-bottom-breadcrumb a:hover {
	color: #103a2b;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-shop .fr-shop-breadcrumb-separator,
body.tax-product_cat .fr-shop-breadcrumb-separator,
body.tax-product_tag .fr-shop-breadcrumb-separator,
body.single-product .fr-shop-breadcrumb-separator,
body.fr-all-products .fr-shop-breadcrumb-separator {
	display: inline-block;
	margin: 0 6px;
	color: #66736d;
}

/* Keep a long product title on one truncated breadcrumb line */
body.single-product .fr-shop-bottom-breadcrumb .woocommerce-breadcrumb {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

@media screen and (max-width: 1024px) {
	body.woocommerce-shop .fr-shop-bottom-breadcrumb,
	body.tax-product_cat .fr-shop-bottom-breadcrumb,
	body.tax-product_tag .fr-shop-bottom-breadcrumb,
	body.single-product .fr-shop-bottom-breadcrumb,
	body.fr-all-products .fr-shop-bottom-breadcrumb {
		margin-top: 36px;
		padding: 4px 10px 4px;
		font-size: 12px;
	}
}

/* WOOCOMMERCE SHOP ARCHIVE
--------------------------------------------- */

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-products-header__title.page-title,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .site-main > .page-title,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .product-archive-hero-section,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .site-main > .product-archive-title {
	display: none;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary {
	margin: 0;
	padding: 48px clamp(1.25rem, 3vw, 2.5rem) 0px;
	overflow-x: clip;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary .content-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: var(--fr-layout-width);
	margin-inline: auto;
	padding: 0;
	gap: 28px;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary #secondary {
	display: none;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary #main {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .sidebar-inner-wrap {
	padding: 20px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.05);
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .widget {
	margin-block: 0 16px;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .widget:last-child {
	margin-bottom: 0;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .widget-title,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .wp-block-heading {
	margin: 0 0 0.75rem;
	color: #173f2b;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	line-height: 1.3;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__item--message-gift-card {
	margin-bottom: 14px;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-height: 38px;
	padding: 7px 0;
	box-sizing: border-box;
	color: #1d211f;
	font-size: 0.875rem;
	line-height: 1.4;
	text-decoration: none;
	box-shadow: inset 0 0 0 0 transparent;
	transition: background-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__link:hover {
	color: #173f2b;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__link:focus-visible {
	color: #173f2b;
	outline: 2px solid #173f2b;
	outline-offset: 2px;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__link.is-active {
	position: relative;
	padding-left: 15px;
	background-color: #f2f6f3;
	color: #173f2b;
	font-weight: 700;
	box-sizing: border-box;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__link.is-active::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 3px;
	border-radius: 2px;
	background: #173f2b;
	pointer-events: none;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__label {
	flex: 1 1 auto;
	min-width: 0;
	color: inherit;
	line-height: 1.35;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .fr-shop-category-filter__count {
	flex: 0 0 auto;
	min-width: 2ch;
	color: #26352f;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-shop-top-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-width: 0;
	margin-bottom: 20px;
	padding: 0 0 14px;
	border-bottom: 1px solid #e6ded1;
	gap: 0.75rem;
}

/* ==========================================================================
   SHOP CATEGORY LANDING GRID
   ========================================================================== */

body.fr-shop-category-landing .kadence-shop-top-row,
body.fr-shop-category-landing .woocommerce-result-count,
body.fr-shop-category-landing .woocommerce-ordering,
body.fr-shop-category-landing .kadence-product-toggle-container,
body.fr-shop-category-landing #main > ul.products.woo-archive-loop,
body.fr-shop-category-landing .woocommerce-pagination {
	display: none !important;
}

.fr-shop-category-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	margin-top: 28px;
}

.fr-shop-category-card {
	display: block;
	overflow: hidden;
	border: 1px solid #e7dfd2;
	border-radius: 8px;
	background-color: #ffffff;
	color: inherit;
	text-decoration: none;
	transition: box-shadow 200ms ease;
}

.fr-shop-category-card:hover,
.fr-shop-category-card:focus-visible {
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.1);
	color: inherit;
	text-decoration: none;
}

.fr-shop-category-image {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1 / 1;
}

.fr-shop-category-image__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 200ms ease;
}

.fr-shop-category-card:hover .fr-shop-category-image__img,
.fr-shop-category-card:focus-visible .fr-shop-category-image__img {
	transform: scale(1.02);
}

.fr-shop-category-name {
	margin: 0;
	padding: 12px 8px 14px;
	color: #173f2b;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

@media screen and (min-width: 700px) and (max-width: 1023px) {
	body.fr-shop-category-landing .fr-shop-category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}
}

@media screen and (min-width: 700px) {
	.fr-shop-category-name {
		font-size: 18px;
	}
}

@media screen and (min-width: 1024px) {
	.fr-shop-category-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ==========================================================================
   RECENTLY VIEWED PRODUCTS
   ========================================================================== */

/* Outer spacing uses padding (not margin) so it cannot collapse with
   adjacent breadcrumb margins, and stays stable inside .single-content
   on All Products. Top was visually driven by title margin 70px (+10);
   bottom was section margin 32/36 (+20). */
.fr-recently-viewed {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 80px 0 0px;
}

/* Beat Kadence `.single-content h2` / `h2:first-child` (All Products embeds
   this section inside `.entry-content.single-content`). */
.fr-recently-viewed-title,
.fr-category-pills-section__title {
	margin: 0 0 40px;
	padding: 0;
	color: #000000;
	font-family: var(--fr-font-heading);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}

@media (max-width: 767px) {
	.fr-recently-viewed-title {
		font-size: 20px;
		line-height: 1.2;
	}

	/* Browse by Category — PHP __title + Gutenberg .wp-block-heading */
	.fr-category-pills-section__title,
	.fr-category-pills-section .wp-block-heading,
	.single-content .wp-block-group.fr-category-pills-section .wp-block-heading {
		font-size: 20px;
		line-height: 1.2;
	}
}

/* When breadcrumb is a sibling inside the same content flow (legacy),
   section padding-bottom owns the gap — do not stack breadcrumb margin-top.
   All Products breadcrumb now renders outside #primary via kadence_after_content. */
body.fr-all-products .fr-recently-viewed + .fr-shop-bottom-breadcrumb {
	margin-top: 0;
}

.fr-recently-viewed ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	gap: 10px !important;
	list-style: none;
}

.fr-recently-viewed ul.products > li.product {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	box-sizing: border-box;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	border: 1px solid #e6ded1;
	border-radius: 10px;
	overflow: hidden;
	background-color: #ffffff;
	box-shadow: 0 4px 14px rgba(23, 63, 43, 0.05);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		border-color 180ms ease;
}

.fr-recently-viewed ul.products > li.product:hover {
	border-color: #d7cdbd;
	box-shadow: 0 12px 28px rgba(23, 63, 43, 0.12);
	transform: translateY(-3px);
}

.fr-recently-viewed ul.products > li.product > .yith-add-to-wishlist-button-block {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.fr-recently-viewed .yith-wcwl-add-to-wishlist-button__label {
	display: none !important;
}

.fr-recently-viewed ul.products .woocommerce-loop-image-link {
	position: relative;
	display: block !important;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f4eee3;
	line-height: 0;
}

.fr-recently-viewed ul.products .woocommerce-loop-image-link img {
	display: block !important;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fr-recently-viewed ul.products > li.product .product-action-wrap,
.fr-recently-viewed ul.products > li.product a.button,
.fr-recently-viewed ul.products > li.product button.button,
.fr-recently-viewed ul.products > li.product .product-excerpt,
.fr-recently-viewed ul.products > li.product .onsale {
	display: none !important;
}

@media screen and (min-width: 768px) {
	.fr-recently-viewed {
		padding: 80px 0 56px;
	}

	.fr-recently-viewed-title,
	.fr-category-pills-section__title,
	.single-content .wp-block-group.fr-category-pills-section .wp-block-heading {
		font-family: Georgia, "Times New Roman", serif;
		font-size: 24px;
		font-weight: 700;
		line-height: 1.2;
		margin-bottom: 40px;
		color: #000;
		text-align: center;
	}

	.fr-recently-viewed ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 16px !important;
	}
}

@media screen and (min-width: 1024px) {
	.fr-recently-viewed ul.products {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: 16px !important;
	}
}

/* Category + Single Product — white content background */
body.tax-product_cat,
body.single-product {
	background-color: #ffffff;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-woo-results-count {
	flex: 1 1 auto;
	margin: 0;
	color: #5f665f;
	font-size: 0.875rem;
	line-height: 38px;
}

/* ==========================================================================
   SHOP & PRODUCT CATEGORY — HEADING NAME AND PRODUCT COUNT
   ========================================================================== */

body.tax-product_cat .fr-category-heading-count,
body.woocommerce-shop .fr-category-heading-count,
body.fr-all-products .fr-category-heading-count {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;

	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

body.tax-product_cat .kadence-woo-results-count,
body.woocommerce-shop .kadence-woo-results-count,
body.fr-all-products .kadence-woo-results-count {
	display: none !important;
}

body.tax-product_cat .fr-category-heading-count__name,
body.woocommerce-shop .fr-category-heading-count__name,
body.fr-all-products .fr-category-heading-count__name {
	display: inline-block;

	margin: 0;
	padding: 0;

	color: #111827;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
}

body.tax-product_cat .fr-category-heading-count__badge,
body.woocommerce-shop .fr-category-heading-count__badge,
body.fr-all-products .fr-category-heading-count__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 32px;
	margin: 0;
	padding: 6px 14px;

	border: 0;
	border-radius: 999px;

	background-color: #f1f2f3;
	color: #59616d;

	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

@media screen and (max-width: 767px) {
	body.tax-product_cat .fr-category-heading-count,
	body.woocommerce-shop .fr-category-heading-count {
		gap: 8px;
	}

	body.tax-product_cat .fr-category-heading-count__name,
	body.woocommerce-shop .fr-category-heading-count__name {
		font-size: 17px;
	}

	body.tax-product_cat .fr-category-heading-count__badge,
	body.woocommerce-shop .fr-category-heading-count__badge,
	body.fr-all-products .fr-category-heading-count__badge {
		min-height: 28px;
		padding: 5px 11px;
		font-size: 12px;
	}
}

/* ==========================================================================
   ALL PRODUCTS PAGE (/all-products/)
   Reuse category archive look for shortcode product grid.
   ========================================================================== */

body.fr-all-products {
	background-color: #ffffff;
}

body.fr-all-products #primary {
	margin: 0;
	padding: 48px clamp(1.25rem, 3vw, 2.5rem) 0px;
	overflow-x: clip;
	background-color: #ffffff;
}

body.fr-all-products #primary .content-container,
body.fr-all-products #primary #main,
body.fr-all-products .entry-content-wrap,
body.fr-all-products .content-bg,
body.fr-all-products .entry-content {
	background-color: #ffffff;
}

body.fr-all-products #primary .content-container {
	max-width: var(--fr-layout-width);
	margin-inline: auto;
	padding: 0;
}

body.fr-all-products .kadence-shop-top-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 16px;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
}

body.fr-all-products .kadence-woo-ordering,
body.fr-all-products .kadence-woo-toggle {
	margin-inline-start: 0;
}

body.fr-all-products .woocommerce-ordering {
	margin: 0;
}

body.fr-all-products .woocommerce-ordering select {
	min-height: 38px;
	padding: 0.45rem 2.25rem 0.45rem 0.75rem;
	border: 1px solid #e6ded1;
	border-radius: 6px;
	background-color: #ffffff;
	color: #1d211f;
	font-size: 0.875rem;
}

body.fr-all-products .kadence-product-toggle-container .kadence-toggle-shop-layout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	min-width: 38px;
	height: 38px;
	min-height: 38px;
	margin: 0;
	padding: 0;
	border: 1px solid #e6ded1;
	border-radius: 6px;
	background-color: #ffffff;
	color: #5f665f;
	box-shadow: none;
}

body.fr-all-products .kadence-product-toggle-container .kadence-toggle-shop-layout:hover,
body.fr-all-products .kadence-product-toggle-container .kadence-toggle-shop-layout.toggle-active {
	border-color: #24563a;
	background-color: #f4eee3;
	color: #173f2b;
}

body.fr-all-products .kadence-product-toggle-container .kadence-toggle-shop-layout.kadence-toggle-list {
	display: none;
}

body.fr-all-products ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	gap: 17px !important;
	list-style: none;
}

body.fr-all-products ul.products > li.product {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	box-sizing: border-box;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	border: 1px solid #e6ded1;
	border-radius: 10px;
	overflow: hidden;
	background-color: #ffffff;
	box-shadow: 0 4px 14px rgba(23, 63, 43, 0.05);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		border-color 180ms ease;
}

body.fr-all-products ul.products > li.product:hover {
	border-color: #d7cdbd;
	box-shadow: 0 12px 28px rgba(23, 63, 43, 0.12);
	transform: translateY(-3px);
}

body.fr-all-products ul.products > li.product > .yith-add-to-wishlist-button-block {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.fr-all-products ul.products .woocommerce-loop-image-link {
	position: relative;
	display: block !important;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f4eee3;
	line-height: 0;
}

body.fr-all-products ul.products .woocommerce-loop-image-link img {
	display: block !important;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.fr-all-products ul.products > li.product .product-action-wrap,
body.fr-all-products ul.products > li.product a.button,
body.fr-all-products ul.products > li.product button.button,
body.fr-all-products ul.products > li.product .product-excerpt,
body.fr-all-products ul.products > li.product .onsale {
	display: none !important;
}

body.fr-all-products ul.products li.product .price,
body.fr-all-products ul.products li.product .price .woocommerce-Price-amount,
body.fr-all-products ul.products li.product .price ins {
	color: #174d3a !important;
}

body.fr-all-products ul.products li.product .price del,
body.fr-all-products ul.products li.product .price del .woocommerce-Price-amount {
	color: #8a8a8a !important;
}

body.fr-all-products .woocommerce-pagination {
	margin-top: 28px;
}

@media screen and (max-width: 1023px) {
	body.fr-all-products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 16px !important;
	}
}

@media screen and (max-width: 767px) {
	/* Bottom padding removed — breadcrumb sits outside #primary like Category. */
	body.fr-all-products #primary {
		padding-inline: var(--fr-mobile-gutter) !important;
		padding-block: 32px 50px;
	}

	body.fr-all-products .kadence-shop-top-row {
		align-items: stretch;
	}

	body.fr-all-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px 6px !important;
	}

	body.fr-all-products .fr-category-heading-count {
		gap: 8px;
	}

	body.fr-all-products .fr-category-heading-count__name {
		font-size: 17px;
	}

	body.fr-all-products .fr-shop-bottom-breadcrumb {
		width: 100%;
		max-width: 100%;
		margin-top: 0;
		padding: 16px var(--fr-mobile-gutter) 20px;
		background-color: #ffffff;
		font-size: 15px;
	}

	body.fr-all-products .fr-shop-bottom-breadcrumb .woocommerce-breadcrumb {
		display: block;
		width: 100%;
		min-width: 0;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
}

/* ==========================================================================
   CATEGORY PILLS ([fr_category_pills] — Browse by Category)
   ========================================================================== */

/* Beat Kadence `.single-content .wp-block-group` (loads after site.css). */
.single-content .wp-block-group.fr-category-pills-section,
.fr-category-pills-section {
    margin-top: 90px;
    margin-bottom: 0px;
}

.fr-category-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.fr-category-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	padding: 10px 18px;
	border-radius: 999px;
	background: #f3f1ee;
	color: #111;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	transition: background 0.2s ease, color 0.2s ease;
}

.fr-category-pill:hover,
.fr-category-pill:focus-visible {
	background: #164b35;
	color: #ffffff;
	text-decoration: none;
}

.fr-category-pill:focus-visible {
	outline: 2px solid #164b35;
	outline-offset: 3px;
}

@media screen and (max-width: 767px) {
	.fr-category-pills {
		gap: 8px;
	}

	.fr-category-pill {
		padding: 8px 12px;
		font-size: 13px;
	}
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-woo-ordering,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-woo-toggle {
	margin-inline-start: 0;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering {
	margin: 0;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering select {
	min-height: 38px;
	padding: 0.45rem 2.25rem 0.45rem 0.75rem;
	border: 1px solid #e6ded1;
	border-radius: 6px;
	background-color: #ffffff;
	color: #1d211f;
	font-size: 0.875rem;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-product-toggle-container {
	gap: 0.25rem;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-product-toggle-container .kadence-toggle-shop-layout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	min-width: 38px;
	height: 38px;
	min-height: 38px;
	margin: 0;
	padding: 0;
	border: 1px solid #e6ded1;
	border-radius: 6px;
	background-color: #ffffff;
	color: #5f665f;
	box-shadow: none;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-product-toggle-container .kadence-toggle-shop-layout:hover,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-product-toggle-container .kadence-toggle-shop-layout.toggle-active {
	border-color: #24563a;
	background-color: #f4eee3;
	color: #173f2b;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-product-toggle-container .kadence-toggle-shop-layout.kadence-toggle-list {
	display: none;
}

body:is(.post-type-archive-product, .tax-product_tag):not(.fr-shop-on-sale) ul.products.woo-archive-loop:not(.products-list-view),
body:is(.post-type-archive-product, .tax-product_tag):not(.fr-shop-on-sale) ul.products.woo-archive-loop.products-grid-view {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	margin: 0;
	padding: 0;
	gap: 18px;
}

body.tax-product_cat ul.products.woo-archive-loop:not(.products-list-view),
body.tax-product_cat ul.products.woo-archive-loop.products-grid-view,
body.fr-shop-on-sale ul.products.woo-archive-loop:not(.products-list-view),
body.fr-shop-on-sale ul.products.woo-archive-loop.products-grid-view {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: stretch;
	margin: 0;
	padding: 0;
	gap: 17px;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	width: 100%;
	min-width: 0;
	margin: 0;
	border: 1px solid #e6ded1;
	border-radius: 10px;
	overflow: hidden;
	background-color: #ffffff;
	box-shadow: 0 4px 14px rgba(23, 63, 43, 0.05);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		border-color 180ms ease;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product:hover {
	border-color: #d7cdbd;
	box-shadow: 0 12px 28px rgba(23, 63, 43, 0.12);
	transform: translateY(-3px);
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop .woocommerce-loop-image-link {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f4eee3;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop .woocommerce-loop-image-link img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product .product-action-wrap,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product a.button,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product button.button,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product .product-excerpt,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product .onsale {
	display: none;
	margin: 0;
}

body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering select:focus-visible,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-toggle-shop-layout:focus-visible,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary a:focus-visible,
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop a:focus-visible {
	outline: 3px solid #173f2b;
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary {
		padding-block: 40px 52px;
	}

		body:is(.post-type-archive-product, .tax-product_tag):not(.fr-shop-on-sale) ul.products.woo-archive-loop:not(.products-list-view),
		body:is(.post-type-archive-product, .tax-product_tag):not(.fr-shop-on-sale) ul.products.woo-archive-loop.products-grid-view {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.tax-product_cat ul.products.woo-archive-loop:not(.products-list-view),
	body.tax-product_cat ul.products.woo-archive-loop.products-grid-view,
	body.fr-shop-on-sale ul.products.woo-archive-loop:not(.products-list-view),
	body.fr-shop-on-sale ul.products.woo-archive-loop.products-grid-view {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}
}

@media screen and (min-width: 1024px) {
	body.tax-product_cat ul.products.woo-archive-loop:not(.products-list-view),
	body.tax-product_cat ul.products.woo-archive-loop.products-grid-view,
	body.fr-shop-on-sale ul.products.woo-archive-loop:not(.products-list-view),
	body.fr-shop-on-sale ul.products.woo-archive-loop.products-grid-view {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: 17px !important;
	}
}

/* Shop Categories expand/collapse button — hidden outside mobile */
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
#secondary
.fr-shop-category-filter-widget
.fr-category-expand {
	display: none;
}

@media screen and (max-width: 767px) {
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary {
		padding-inline: var(--fr-mobile-gutter) !important;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary .content-container {
		padding-inline: 0 !important;
	}

	/* ---------------------------------------------------------
	   Shop Categories — mobile collapse (first 8 rows visible)
	   --------------------------------------------------------- */

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget {
		padding-bottom: 0;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.sidebar-inner-wrap:has(.fr-shop-category-filter-widget) {
		padding-bottom: 5px;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget
	.fr-shop-category-filter__item:nth-child(n + 9) {
		overflow: hidden;
		max-height: 52px;
		opacity: 1;
		transition:
			max-height 220ms ease,
			opacity 220ms ease,
			margin 220ms ease;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget.fr-categories-collapsed
	.fr-shop-category-filter__item:nth-child(n + 9) {
		max-height: 0;
		opacity: 0;
		margin: 0;
		pointer-events: none;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget
	.fr-category-expand {
		display: none;
		width: auto;
		min-width: 0;
		height: auto;
		margin: -5px auto 0;
		padding: 2px 4px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		color: #173f2b;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.3;
		cursor: pointer;
		text-align: center;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
		appearance: none;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget.fr-categories-expandable
	.fr-category-expand {
		display: block;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget
	.fr-category-expand:hover,
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget
	.fr-category-expand:focus,
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget
	.fr-category-expand:focus-visible,
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag)
	#secondary
	.fr-shop-category-filter-widget
	.fr-category-expand:active {
		color: #24563a;
		background: transparent;
		border: 0;
		box-shadow: none;
		text-decoration: none;
		outline: none;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop:not(.products-list-view),
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop.products-grid-view {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px 6px;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product {
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
		box-sizing: border-box;
		float: none;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop .woocommerce-loop-image-link img {
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop li.product .woocommerce-loop-product__title {
		font-size: 13px !important;
		line-height: 1.25 !important;
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop li.product .fr-loop-rating-meta {
		font-size: 11px;
	}
}

@media screen and (max-width: 360px) {
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary {
		padding-inline: var(--fr-mobile-gutter) !important;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop:not(.products-list-view),
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop.products-grid-view {
		gap: 10px 6px;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop li.product .woocommerce-loop-product__title {
		font-size: 12px !important;
		height: 30px !important;
		min-height: 30px !important;
		max-height: 30px !important;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop li.product .fr-loop-rating-meta {
		font-size: 10px;
	}
}

@media (max-width: 600px) {
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #primary {
		padding-block: 32px 44px;
		padding-inline: var(--fr-mobile-gutter) !important;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) #secondary .sidebar-inner-wrap {
		padding: 18px;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-shop-top-row {
		align-items: stretch;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-woo-results-count {
		flex-basis: 100%;
		line-height: 1.5;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .kadence-woo-ordering {
		flex: 1 1 auto;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .woocommerce-ordering select {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product {
		transition: none;
	}

	body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) ul.products.woo-archive-loop > li.product:hover {
		transform: none;
	}
}

/* =========================================================
   PRODUCT CARD TITLE
   Shop archives + homepage Featured Memorials
   Two complete lines with ellipsis
   ========================================================= */

/* Move content closer to the image */
body.woocommerce-shop ul.products li.product .entry-content-wrap,
body.post-type-archive-product ul.products li.product .entry-content-wrap,
body.tax-product_cat ul.products li.product .entry-content-wrap,
body.tax-product_tag ul.products li.product .entry-content-wrap,
body.fr-all-products ul.products li.product .entry-content-wrap,
body.home .fr-home-featured .entry-content-wrap,
.fr-recently-viewed ul.products li.product .entry-content-wrap {
	box-sizing: border-box;
	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 6px 8px 9px !important;
	overflow: visible !important;
	text-align: left;
}

/* The actual title box: exactly two complete 18px lines */
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
body.fr-all-products ul.products li.product .woocommerce-loop-product__title,
body.home .fr-home-featured .woocommerce-loop-product__title,
.fr-recently-viewed ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box !important;
	box-sizing: border-box !important;
	width: 100% !important;

	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;

	margin: 0 0 3px !important;
	padding: 0 !important;

	overflow: hidden !important;

	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 18px !important;
	letter-spacing: 0 !important;

	color: inherit;
	text-align: left !important;
	text-decoration: none;
	text-overflow: ellipsis;

	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word;

	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2;
}

/*
 * Only relevant if the title contains a direct child anchor.
 * Keep the anchor inline so the parent title performs the clamp.
 */
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title > a,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title > a,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title > a,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title > a,
body.fr-all-products ul.products li.product .woocommerce-loop-product__title > a,
body.home .fr-home-featured .woocommerce-loop-product__title > a,
.fr-recently-viewed ul.products li.product .woocommerce-loop-product__title > a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit;
	font: inherit !important;
	line-height: inherit !important;
	white-space: normal !important;
	text-decoration: none;
}

/* Price sits directly below the complete title box */
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price,
body.fr-all-products ul.products li.product .price,
body.home .fr-home-featured .price,
.fr-recently-viewed ul.products li.product .price {
	display: block !important;
	clear: both;
	margin: 0 !important;
	padding: 0 !important;

	font-size: 14px !important;
	font-weight: 600;
	line-height: 18px !important;
	text-align: left;
}

body.woocommerce-shop ul.products li.product .price del,
body.post-type-archive-product ul.products li.product .price del,
body.tax-product_cat ul.products li.product .price del,
body.tax-product_tag ul.products li.product .price del,
body.fr-all-products ul.products li.product .price del,
body.home .fr-home-featured .price del,
.fr-recently-viewed ul.products li.product .price del {
	margin-right: 4px;
	font-size: 12px !important;
	font-weight: 400;
	line-height: inherit;
	opacity: 0.65;
}

body.woocommerce-shop ul.products li.product .price ins,
body.post-type-archive-product ul.products li.product .price ins,
body.tax-product_cat ul.products li.product .price ins,
body.tax-product_tag ul.products li.product .price ins,
body.fr-all-products ul.products li.product .price ins,
body.home .fr-home-featured .price ins,
.fr-recently-viewed ul.products li.product .price ins {
	font-size: 14px !important;
	font-weight: 700;
	line-height: inherit;
	text-decoration: none;
}

@media screen and (max-width: 1024px) {
	body.woocommerce-shop ul.products li.product .entry-content-wrap,
	body.post-type-archive-product ul.products li.product .entry-content-wrap,
	body.tax-product_cat ul.products li.product .entry-content-wrap,
	body.tax-product_tag ul.products li.product .entry-content-wrap,
	body.home .fr-home-featured .entry-content-wrap,
	.fr-recently-viewed ul.products li.product .entry-content-wrap {
		padding: 5px 7px 8px !important;
	}

	body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
	body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
	body.home .fr-home-featured .woocommerce-loop-product__title,
	.fr-recently-viewed ul.products li.product .woocommerce-loop-product__title {
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;

		margin-bottom: 3px !important;

		font-size: 13px !important;
		line-height: 17px !important;

		-webkit-line-clamp: 2 !important;
		line-clamp: 2;
	}

	body.woocommerce-shop ul.products li.product .price,
	body.post-type-archive-product ul.products li.product .price,
	body.tax-product_cat ul.products li.product .price,
	body.tax-product_tag ul.products li.product .price,
	body.home .fr-home-featured .price,
	.fr-recently-viewed ul.products li.product .price {
		font-size: 13px !important;
		line-height: 17px !important;
	}

	body.woocommerce-shop ul.products li.product .price del,
	body.post-type-archive-product ul.products li.product .price del,
	body.tax-product_cat ul.products li.product .price del,
	body.tax-product_tag ul.products li.product .price del,
	body.home .fr-home-featured .price del {
		font-size: 11px !important;
	}

	body.woocommerce-shop ul.products li.product .price ins,
	body.post-type-archive-product ul.products li.product .price ins,
	body.tax-product_cat ul.products li.product .price ins,
	body.tax-product_tag ul.products li.product .price ins,
	body.home .fr-home-featured .price ins {
		font-size: 13px !important;
	}
}

/* All Products mobile titles — after shared !important title rules so this wins. */
@media screen and (max-width: 767px) {
	body.fr-all-products ul.products li.product .woocommerce-loop-product__title {
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;
		font-size: 13px !important;
		line-height: 1.25 !important;
	}
}

/* =========================================================
   PRODUCT CARD IMAGE TOP ALIGNMENT
   Remove internal white strip above image
   ========================================================= */

body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product,
body.home .fr-home-featured ul.products li.product {
	padding-top: 0 !important;
}

/*
 * YITH renders an empty "add to wishlist" block as the first child of the
 * card because its loop position is set to before_image. The block has no
 * content but keeps a 7px vertical margin, which is the white strip.
 * Neutralise the margin only; the element stays displayed so a rendered
 * wishlist button would still appear.
 */
body.woocommerce-shop ul.products li.product > .yith-add-to-wishlist-button-block,
body.post-type-archive-product ul.products li.product > .yith-add-to-wishlist-button-block,
body.tax-product_cat ul.products li.product > .yith-add-to-wishlist-button-block,
body.tax-product_tag ul.products li.product > .yith-add-to-wishlist-button-block,
body.home .fr-home-featured ul.products li.product > .yith-add-to-wishlist-button-block {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/*
 * Kadence product archive image link.
 * This is the actual image wrapper that must start at the
 * inside top edge of the product card.
 */
body.woocommerce-shop ul.products li.product a.woocommerce-loop-image-link,
body.post-type-archive-product ul.products li.product a.woocommerce-loop-image-link,
body.tax-product_cat ul.products li.product a.woocommerce-loop-image-link,
body.tax-product_tag ul.products li.product a.woocommerce-loop-image-link,
body.home .fr-home-featured ul.products li.product a.woocommerce-loop-image-link {
	display: block !important;
	width: 100%;
	margin-top: 0 !important;
	padding-top: 0 !important;
	line-height: 0;
}

/* Image itself must not add margin or inline baseline space */
body.woocommerce-shop ul.products li.product a.woocommerce-loop-image-link img,
body.post-type-archive-product ul.products li.product a.woocommerce-loop-image-link img,
body.tax-product_cat ul.products li.product a.woocommerce-loop-image-link img,
body.tax-product_tag ul.products li.product a.woocommerce-loop-image-link img,
body.home .fr-home-featured ul.products li.product a.woocommerce-loop-image-link img {
	display: block !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* =========================================================
   PRODUCT CARD PRICE
   Shop archives + homepage Featured Memorials
   ========================================================= */

/* Current price and variable price range */
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price,
body.home .fr-home-featured ul.products li.product .price,
body.woocommerce-shop ul.products li.product .price .woocommerce-Price-amount,
body.post-type-archive-product ul.products li.product .price .woocommerce-Price-amount,
body.tax-product_cat ul.products li.product .price .woocommerce-Price-amount,
body.tax-product_tag ul.products li.product .price .woocommerce-Price-amount,
body.home .fr-home-featured ul.products li.product .price .woocommerce-Price-amount,
body.woocommerce-shop ul.products li.product .price ins,
body.post-type-archive-product ul.products li.product .price ins,
body.tax-product_cat ul.products li.product .price ins,
body.tax-product_tag ul.products li.product .price ins,
body.home .fr-home-featured ul.products li.product .price ins {
	color: #174d3a !important;
}

/* Keep the crossed-out original price gray */
body.woocommerce-shop ul.products li.product .price del,
body.post-type-archive-product ul.products li.product .price del,
body.tax-product_cat ul.products li.product .price del,
body.tax-product_tag ul.products li.product .price del,
body.home .fr-home-featured ul.products li.product .price del,
body.woocommerce-shop ul.products li.product .price del .woocommerce-Price-amount,
body.post-type-archive-product ul.products li.product .price del .woocommerce-Price-amount,
body.tax-product_cat ul.products li.product .price del .woocommerce-Price-amount,
body.tax-product_tag ul.products li.product .price del .woocommerce-Price-amount,
body.home .fr-home-featured ul.products li.product .price del .woocommerce-Price-amount {
	color: #8a8a8a !important;
}

/* Featured Memorials: non-sale price weight */
body.home .fr-home-featured li.product:not(.sale) .price,
body.home .fr-home-featured li.product:not(.sale) .price .woocommerce-Price-amount,
body.home .fr-home-featured li.product:not(.sale) .price bdi {
	font-weight: 700;
}

/* WOOCOMMERCE SINGLE PRODUCT
--------------------------------------------- */

body.single-product #primary {
	margin: 0;
	padding: 48px clamp(1.875rem, 3vw, 2.5rem) 0px;
	overflow-x: clip;
}

body.single-product #primary .content-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: var(--fr-layout-width);
	margin-inline: auto;
	padding: 0;
	gap: 0;
}

body.single-product #primary #main {
	grid-column: 1;
	min-width: 0;
	width: 100%;
}

body.single-product #secondary {
	display: none;
}

body.single-product .woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 47fr) minmax(0, 49fr);
	align-items: start;
	column-gap: 60px;
	row-gap: 40px;
}

body.single-product .woocommerce div.product::before,
body.single-product .woocommerce div.product::after {
	display: none;
}

body.single-product .woocommerce div.product > span.onsale {
	top: 14px;
	left: 14px;
	right: auto;
	min-width: auto;
	min-height: auto;
	margin: 0;
	padding: 7px 12px;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product div.summary {
	float: none;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0;
}

body.single-product .woocommerce div.product div.images {
	grid-column: 1;
	grid-row: 1;
}

body.single-product .woocommerce div.product div.summary {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	color: #26352f;
}

body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce div.product .fr-customer-reviews,
body.single-product .woocommerce div.product .related.products,
body.single-product .woocommerce div.product .upsells.products {
	clear: both;
	grid-column: 1 / -1;
}

/*
 * Kadence/Woo float layout does not always match .woocommerce div.product.
 * Force Customer Reviews below the floated gallery + summary columns.
 */
body.single-product div.product > .fr-customer-reviews {
	clear: both;
	display: block;
	width: 100%;
	max-width: 100%;
	float: none;
	grid-column: 1 / -1;
}

/* =========================================================
   SINGLE PRODUCT — VERTICAL PRODUCT GALLERY
   Desktop thumbnails on left, rounded main image
   ========================================================= */

/* Main image: rounded on all screen sizes */
body.single-product div.product div.images.woocommerce-product-gallery .flex-viewport {
	border-radius: 14px;
	overflow: hidden;
}

body.single-product div.product div.images.woocommerce-product-gallery
.woocommerce-product-gallery__image,
body.single-product div.product div.images.woocommerce-product-gallery
.woocommerce-product-gallery__image > a,
body.single-product div.product div.images.woocommerce-product-gallery
.woocommerce-product-gallery__image img {
	border-radius: inherit;
}

body.single-product div.product div.images.woocommerce-product-gallery
.woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Keep zoom trigger over the main image */
body.single-product div.product div.images.woocommerce-product-gallery {
	position: relative;
}

body.single-product div.product div.images.woocommerce-product-gallery
.woocommerce-product-gallery__trigger {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	z-index: 9;
}

/* Desktop gallery layout */
@media screen and (min-width: 1025px) {
	body.single-product div.product div.images.woocommerce-product-gallery.gallery-has-thumbnails {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr);
		grid-template-areas: "thumbnails main-image";
		align-items: start;
		column-gap: 14px;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	.flex-viewport {
		grid-area: main-image;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
	}

	/* Thumbnail column wrapper — vertical carousel when > 7 images */
	body.single-product div.product div.images.woocommerce-product-gallery
	.fr-product-thumbs,
	body.single-product div.product div.images.woocommerce-product-gallery
	> ol.flex-control-thumbs {
		grid-area: thumbnails;

		display: flex;
		flex-direction: column;
		align-items: stretch;

		box-sizing: border-box;
		width: 72px;
		min-width: 0;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	.fr-product-thumbs__viewport {
		width: 100%;
		max-height: var(--fr-product-thumbs-height, none);

		overflow-x: hidden;
		overflow-y: auto;

		scroll-behavior: smooth;
		scrollbar-width: none;
		overscroll-behavior: contain;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	.fr-product-thumbs__viewport::-webkit-scrollbar {
		display: none;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	.fr-product-thumbs__viewport
	ol.flex-control-thumbs,
	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch;
		gap: 10px;

		box-sizing: border-box;
		width: 72px !important;
		margin: 0 !important;
		padding: 0 !important;

		list-style: none;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	.fr-product-thumbs__viewport
	ol.flex-control-thumbs {
		width: 100% !important;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li {
		float: none !important;
		flex: 0 0 auto;

		box-sizing: border-box;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li img {
		display: block;
		box-sizing: border-box;
		width: 100%;
		height: auto;
		margin: 0;

		border: 1px solid #d9dedb;
		border-radius: 8px;

		background: #ffffff;
		opacity: 0.72;

		cursor: pointer;
		transition:
			opacity 0.2s ease,
			border-color 0.2s ease,
			box-shadow 0.2s ease;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li img:hover {
		border-color: #80958a;
		opacity: 1;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li img.flex-active {
		border-color: #174d3a;
		opacity: 1;
		box-shadow: 0 0 0 2px rgba(23, 77, 58, 0.12);
	}
}

/* Tablet/mobile: preserve horizontal thumbnails below image */
@media screen and (max-width: 1024px) {
	body.single-product div.product div.images.woocommerce-product-gallery
	.flex-viewport {
		border-radius: 12px;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs {
		display: flex !important;
		flex-direction: row;
		gap: 8px;

		width: 100%;
		margin: 10px 0 0 !important;
		padding: 0 !important;

		overflow-x: auto;
		list-style: none;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li {
		float: none !important;
		flex: 0 0 62px;
		width: 62px !important;
		margin: 0 !important;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li img {
		display: block;
		width: 100%;
		height: auto;
		margin: 0;

		border: 1px solid #d9dedb;
		border-radius: 7px;
	}

	/* No vertical carousel controls on tablet/mobile */
	body.single-product .fr-product-thumbs__viewport {
		max-height: none !important;
		overflow: visible !important;
	}
}

/* Mobile: 6 visible thumbnails in one horizontal swipe row */
@media screen and (max-width: 767px) {
	body.single-product div.product div.images.woocommerce-product-gallery {
		display: block;
		width: 100%;
		min-width: 0;
		margin-bottom: 0;
		padding-bottom: 9px;
	}

	body.single-product div.product div.images.woocommerce-product-gallery .flex-viewport {
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
	}

	body.single-product div.product div.images.woocommerce-product-gallery .fr-product-thumbs {
		display: block;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	body.single-product div.product div.images.woocommerce-product-gallery .fr-product-thumbs__viewport {
		overflow: visible !important;
		max-height: none !important;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0;
		touch-action: pan-x;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs {
		display: grid !important;
		grid-auto-flow: column;
		grid-auto-columns: calc((100% - 25px) / 6);
		grid-template-rows: minmax(0, 1fr);
		justify-content: start;
		align-items: stretch;
		gap: 5px !important;

		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 9px 0 11px !important;
		padding-left: 8px !important;
		padding-right: 8px !important;

		overflow-x: auto !important;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-behavior: smooth;
		scroll-snap-type: x proximity;
		touch-action: pan-x;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		list-style: none;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs::-webkit-scrollbar {
		display: none;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li {
		float: none !important;
		width: 100% !important;
		min-width: 0;
		max-width: none;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box;
		aspect-ratio: 1 / 1;
		overflow: hidden;
		scroll-snap-align: start;
		touch-action: pan-x;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li img {
		display: block;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		aspect-ratio: 1 / 1;
		margin: 0;
		object-fit: cover;

		border: 1px solid #d9dedb;
		border-radius: 7px;
		background: #ffffff;
		opacity: 0.72;
		-webkit-user-drag: none;
		user-select: none;
		pointer-events: auto;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li img.flex-active {
		border-width: 2px;
		border-color: #174d3a;
		opacity: 1;
		box-shadow: none;
	}
}

@media screen and (max-width: 360px) {
	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs {
		gap: 4px !important;
		grid-auto-columns: calc((100% - 20px) / 6);
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	body.single-product div.product div.images.woocommerce-product-gallery
	ol.flex-control-thumbs li {
		width: 100% !important;
	}
}

body.single-product .woocommerce div.product .summary > * {
	margin-block: 0 1.25rem;
}

body.single-product .woocommerce div.product .summary > *:last-child {
	margin-bottom: 0;
}

body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 22px;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description {
	max-width: 680px;
	margin-bottom: 26px;
	color: #52605a;
	font-size: 16px;
	line-height: 1.7;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description p {
	margin: 0 0 12px;
}

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

body.single-product .fr-personalization-fields input[type="text"],
body.single-product .fr-personalization-fields textarea,
body.single-product .fr-personalization-fields select {
	width: 100%;
	min-height: 48px;
	padding: 10px 13px;
	border: 1px solid #dcd4c8;
	border-radius: 8px;
	background-color: #ffffff;
	color: #26352f;
	font-size: 15px;
	line-height: 1.4;
	box-sizing: border-box;
	box-shadow: none;
}

body.single-product .fr-personalization-fields input[type="text"]:focus,
body.single-product .fr-personalization-fields textarea:focus,
body.single-product .fr-personalization-fields select:focus {
	border-color: #173f2b;
	outline: 2px solid rgba(23, 63, 43, 0.14);
	outline-offset: 1px;
}

body.single-product .fr-message-gift-card-notice {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0 0 12px;
	padding: 10px 12px;
	border: 1px solid #d9e4dc;
	border-radius: 8px;
	background-color: #f3f7f4;
	color: #2f4a3a;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
}

body.single-product .woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin-top: 0.25rem;
}

body.single-product .woocommerce div.product form.cart .quantity {
	display: inline-flex;
	flex: 0 0 120px;
	width: 120px;
	min-height: 50px;
	margin: 0;
	border: 1px solid #d6d1c8;
	border-radius: 8px;
	background-color: #ffffff;
	overflow: hidden;
	box-sizing: border-box;
}

body.single-product .woocommerce div.product form.cart .quantity .qty {
	width: 100%;
	min-width: 52px;
	min-height: 100%;
	margin: 0;
	padding: 10px 8px;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	color: #26352f;
	font-size: 15px;
	line-height: 1.4;
	text-align: center;
	box-sizing: border-box;
	box-shadow: none;
}

body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart button.button.alt {
	flex: 1 1 auto;
	width: auto;
	min-height: 50px;
	margin: 0;
	padding: 12px 28px;
	border: 1px solid #173f2b;
	border-radius: 8px;
	background-color: #173f2b;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	box-shadow: none;
}

body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
body.single-product .woocommerce div.product form.cart button.button.alt:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff;
	transform: none;
}

body.single-product .woocommerce div.product form.cart .single_add_to_cart_button.disabled,
body.single-product .woocommerce div.product form.cart button.button.alt:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

body.single-product .woocommerce div.product .single_variation_wrap .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin-top: 1rem;
}

@media screen and (min-width: 768px) {
	/*
	 * Qty + Add to cart live in .summary; body.woocommerce is on <body>,
	 * so descendant selectors like `body.single-product .woocommerce` never match.
	 */
	body.single-product div.product .summary form.cart:not(.variations_form),
	body.single-product div.product .summary .woocommerce-variation-add-to-cart {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		gap: 12px;
		width: 100%;
	}

	body.single-product div.product .summary form.cart:not(.variations_form)::before,
	body.single-product div.product .summary form.cart:not(.variations_form)::after,
	body.single-product div.product .summary .woocommerce-variation-add-to-cart::before,
	body.single-product div.product .summary .woocommerce-variation-add-to-cart::after {
		content: none;
		display: none;
	}

	body.single-product div.product .summary form.cart:not(.variations_form) > .frp_personalization_fields,
	body.single-product div.product .summary .woocommerce-variation-add-to-cart > .frp_personalization_fields {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	body.single-product div.product .summary .fr-product-qty-row {
		display: inline-flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		flex: 0 0 auto;
		width: max-content;
		max-width: none;
		margin: 0;
		gap: 8px;
	}

	body.single-product div.product .summary .fr-product-qty-label {
		display: block;
		flex: 0 0 auto;
		margin: 0;
		color: #17231e;
		font-size: 15px;
		font-weight: 600;
		line-height: 1;
		white-space: nowrap;
	}

	body.single-product div.product .summary .fr-product-qty-row .quantity {
		float: none;
		flex: 0 0 auto;
		margin: 0;
	}

	body.single-product div.product .summary form.cart .single_add_to_cart_button,
	body.single-product div.product .summary form.cart button.button.alt {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		float: none;
		clear: none;
		flex: 0 0 auto;
		width: auto;
		max-width: none;
		min-width: 0;
	}
}

body.single-product .woocommerce div.product .woocommerce-variation-price,
body.single-product .woocommerce div.product .woocommerce-variation-availability {
	margin: 0 0 0.75rem;
	color: #26352f;
}

body.single-product .woocommerce div.product select:focus-visible,
body.single-product .woocommerce div.product input:focus-visible,
body.single-product .woocommerce div.product button:focus-visible,
body.single-product .woocommerce div.product a:focus-visible {
	outline: 3px solid #173f2b;
	outline-offset: 3px;
}

body.single-product .yith-wcwl-add-to-wishlist {
	margin-top: 18px;
}

body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a,
body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a,
body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: #173f2b;
	font-size: 14px;
	text-decoration: none;
}

body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a:hover,
body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover,
body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover {
	color: #24563a;
	text-decoration: underline;
}

body.single-product .fr-personalization-fields {
	display: grid;
	width: 100%;
	margin: 0 0 24px;
	padding: 24px;
	border: 1px solid #e3d8c8;
	border-radius: 13px;
	background-color: #ffffff;
	box-shadow: 0 6px 22px rgba(24, 48, 37, 0.05);
	gap: 18px;
	box-sizing: border-box;
}

body.single-product .fr-personalization-fields legend {
	padding-inline: 8px;
	color: #173f2b;
	font-family: var(--fr-font-heading);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.25;
}

body.single-product .fr-personalization-fields > .fr-field,
body.single-product .fr-personalization-fields > div {
	display: grid;
	min-width: 0;
	margin-bottom: 0;
	gap: 7px;
}

body.single-product .fr-personalization-fields label {
	display: block;
	margin-bottom: 7px;
	color: #26352f;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

body.single-product .fr-personalization-fields .fr-required {
	color: #9d3d36;
}

body.single-product .fr-personalization-fields textarea {
	min-height: 110px;
	padding-block: 0.75rem;
	resize: vertical;
}

body.single-product .fr-personalization-fields input[type="file"] {
	min-height: 48px;
	padding: 7px;
	border: 1px solid #dcd4c8;
	border-radius: 8px;
	background-color: #ffffff;
	color: #26352f;
	font-size: 14px;
	box-sizing: border-box;
}

body.single-product .fr-personalization-fields input[type="file"]::file-selector-button {
	margin-right: 10px;
	padding: 8px 12px;
	border: 0;
	border-radius: 6px;
	background: #f0f4f1;
	color: #173f2b;
	font-weight: 600;
	cursor: pointer;
}

body.single-product .fr-personalization-fields .fr-checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-top: 4px;
	color: #26352f;
	font-size: 14px;
	line-height: 1.45;
}

body.single-product .fr-personalization-fields .fr-checkbox-label input {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	min-height: auto;
	margin-top: 2px;
	accent-color: #173f2b;
}

body.single-product .fr-personalization-fields .fr-field-help,
body.single-product .fr-personalization-fields .fr-file-status {
	margin-top: 7px;
	color: #737c77;
	font-size: 12px;
	line-height: 1.45;
}

body.single-product .fr-personalization-fields input:focus,
body.single-product .fr-personalization-fields textarea:focus,
body.single-product .fr-personalization-fields select:focus {
	border-color: #173f2b;
	outline: none;
}

body.single-product .fr-personalization-fields input:focus-visible,
body.single-product .fr-personalization-fields textarea:focus-visible,
body.single-product .fr-personalization-fields select:focus-visible {
	border-color: #173f2b;
	outline: 2px solid rgba(23, 63, 43, 0.14);
	outline-offset: 1px;
}

body.single-product .woocommerce-tabs {
	clear: both;
	width: 100%;
	margin-top: 70px;
	margin-bottom: 70px;
}

body.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 -1px;
	padding: 0;
	gap: 8px;
	border-bottom: 1px solid #dcd6cc;
	list-style: none;
}

body.single-product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.single-product .woocommerce-tabs ul.tabs li::before {
	display: none;
}

body.single-product .woocommerce-tabs ul.tabs li a {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: 9px 9px 0 0;
	background: transparent;
	color: #58635e;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

body.single-product .woocommerce-tabs ul.tabs li a:hover {
	background: #f4f7f4;
	color: #173f2b;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
	border-color: #dcd6cc;
	border-bottom-color: #ffffff;
	background: #ffffff;
	color: #173f2b;
	font-weight: 700;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	box-sizing: border-box;
	padding: 30px 34px;
	border: 1px solid #dcd6cc;
	border-radius: 0 12px 12px 12px;
	background: #ffffff;
	color: #35413b;
	font-size: 15px;
	line-height: 1.75;
	box-shadow: 0 6px 24px rgba(24, 48, 37, 0.04);
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h3,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h4 {
	margin-top: 0;
	color: #173f2b;
	font-family: var(--fr-font-heading);
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel p {
	max-width: 1100px;
	margin: 0 0 18px;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel p:last-child {
	margin-bottom: 0;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel strong,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel b {
	color: #26352f;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel ul,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel ol {
	max-width: 1100px;
	margin: 0 0 18px;
	padding-left: 22px;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel li {
	margin-bottom: 8px;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel li:last-child {
	margin-bottom: 0;
}

body.single-product .woocommerce-tabs table.shop_attributes {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

body.single-product .woocommerce-tabs table.shop_attributes tr {
	border-bottom: 1px solid #ece8e0;
}

body.single-product .woocommerce-tabs table.shop_attributes th {
	width: 30%;
	padding: 13px 16px;
	background: #f7f7f3;
	color: #173f2b;
	font-weight: 700;
	text-align: left;
}

body.single-product .woocommerce-tabs table.shop_attributes td {
	padding: 13px 16px;
	color: #46514c;
}

body.single-product .woocommerce-tabs table.shop_attributes td p {
	margin: 0;
}

body.single-product #reviews .comment-form-rating label,
body.single-product #reviews label {
	display: block;
	margin-bottom: 7px;
	color: #26352f;
	font-size: 14px;
	font-weight: 700;
}

body.single-product #reviews .commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-product #reviews .commentlist .comment_container {
	display: flex;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid #ece8e0;
}

body.single-product #reviews .commentlist li:last-child .comment_container {
	border-bottom: 0;
}

body.single-product #reviews .commentlist img.avatar {
	flex: 0 0 auto;
	border-radius: 999px;
}

body.single-product #reviews .comment-text {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	margin: 0;
	padding: 0;
}

body.single-product #reviews .comment-form input[type="text"],
body.single-product #reviews .comment-form input[type="email"],
body.single-product #reviews .comment-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 13px;
	border: 1px solid #dcd4c8;
	border-radius: 8px;
	background-color: #ffffff;
	color: #26352f;
	font-size: 15px;
	line-height: 1.4;
	box-sizing: border-box;
	box-shadow: none;
}

body.single-product #reviews .comment-form textarea {
	min-height: 110px;
	resize: vertical;
}

body.single-product #reviews .comment-form input:focus,
body.single-product #reviews .comment-form textarea:focus {
	border-color: #173f2b;
	outline: 2px solid rgba(23, 63, 43, 0.14);
	outline-offset: 1px;
}

body.single-product #reviews .form-submit input#submit,
body.single-product #reviews .form-submit .submit {
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid #173f2b;
	border-radius: 8px;
	background-color: #173f2b;
	color: #ffffff;
	font-weight: 700;
	box-shadow: none;
}

body.single-product #reviews .form-submit input#submit:hover,
body.single-product #reviews .form-submit .submit:hover {
	border-color: #24563a;
	background-color: #24563a;
}

body.single-product .related.products {
	clear: both;
	margin-top: 0;
	padding-top: 0;
}

body.single-product .related.products > h2 {
	margin: 0 0 24px;
	color: #17201c;
	font-family: var(--fr-font-heading);
	font-size: 22px;
	line-height: 1.2;
}

@media (max-width: 767px) {
	body.single-product .related.products > h2 {
		font-size: 20px;
	}
}

body.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	gap: 20px !important;
}

body.single-product .related.products ul.products > li.product {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	box-sizing: border-box;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	border: 1px solid #e3d8c8;
	border-radius: 11px;
	overflow: hidden;
	background-color: #ffffff;
	box-shadow: 0 6px 20px rgba(24, 48, 37, 0.05);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.single-product .related.products ul.products > li.product:hover {
	border-color: #d7cdbd;
	box-shadow: 0 12px 28px rgba(23, 63, 43, 0.12);
	transform: translateY(-3px);
}

/* =========================================================
   SINGLE PRODUCT — CART & WISHLIST COLORS
   ========================================================= */

/* Nút Add to cart */
body.single-product div.product .summary .single_add_to_cart_button {
    border-color: #174d3a !important;
    background: #174d3a !important;
    color: #ffffff !important;
}

body.single-product div.product .summary .single_add_to_cart_button:hover,
body.single-product div.product .summary .single_add_to_cart_button:focus {
    border-color: #103a2b !important;
    background: #103a2b !important;
    color: #ffffff !important;
}

/* =========================================================
   SINGLE PRODUCT — WISHLIST COLOR
   ========================================================= */

/* Chữ Add to wishlist */
body.single-product div.product .summary a[href*="wishlist"],
body.single-product div.product .summary [class*="wishlist"] a,
body.single-product div.product .summary button[class*="wishlist"] {
    color: #174d3a !important;
}

/* Icon dạng font hoặc pseudo-element */
body.single-product div.product .summary [class*="wishlist"],
body.single-product div.product .summary [class*="wishlist"]::before,
body.single-product div.product .summary [class*="wishlist"] a::before,
body.single-product div.product .summary [class*="wishlist"] i {
    color: #174d3a !important;
}

/* Icon trái tim dạng SVG */
body.single-product div.product .summary [class*="wishlist"] svg,
body.single-product div.product .summary a[href*="wishlist"] svg {
    color: #174d3a !important;
    stroke: #174d3a !important;
}

body.single-product div.product .summary [class*="wishlist"] svg path,
body.single-product div.product .summary [class*="wishlist"] svg use,
body.single-product div.product .summary a[href*="wishlist"] svg path,
body.single-product div.product .summary a[href*="wishlist"] svg use {
    stroke: #174d3a !important;
}

/* Hover */
body.single-product div.product .summary a[href*="wishlist"]:hover,
body.single-product div.product .summary [class*="wishlist"] a:hover,
body.single-product div.product .summary button[class*="wishlist"]:hover {
    color: #103a2b !important;
}

body.single-product div.product .summary [class*="wishlist"]:hover svg,
body.single-product div.product .summary [class*="wishlist"]:hover svg path {
    color: #103a2b !important;
    stroke: #103a2b !important;
}
/* =========================================================
   CART — CART TOTALS INNER SPACING
   ========================================================= */

/* Tiêu đề Cart Totals */
body.woocommerce-cart .wc-block-cart__totals-title {
    box-sizing: border-box;
    margin: 0 !important;
    padding: 16px 20px !important;
}

/* Các hàng Coupon, Subtotal, Shipping, Estimated total */
body.woocommerce-cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper {
    box-sizing: border-box;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Căn chữ bên trái và số tiền bên phải */
body.woocommerce-cart
.wc-block-cart__sidebar
.wc-block-components-totals-item {
    box-sizing: border-box;
    width: 100%;
    gap: 16px;
}

body.woocommerce-cart
.wc-block-cart__sidebar
.wc-block-components-totals-item__label {
    text-align: left;
}

body.woocommerce-cart
.wc-block-cart__sidebar
.wc-block-components-totals-item__value {
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
}

/* Nút Proceed to Checkout cũng lùi vào đều hai bên */
body.woocommerce-cart
.wc-block-cart__sidebar
.wc-block-cart__submit-container {
    box-sizing: border-box;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: 16px !important;
}

/* PayPal express button — match Proceed to Checkout horizontal inset */
body.woocommerce-cart
.wc-block-cart__sidebar
.wc-block-components-express-payment__event-buttons {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
}

@media (min-width: 768px) and (max-width: 1024px) {
	body.woocommerce-cart
	.wc-block-cart__sidebar
	.wc-block-components-express-payment__event-buttons {
		padding-left: 0;
		padding-right: 0;
		width: calc(100% + 10px);
		margin-left: -5px;
	}
}

/* =========================================================
   CART — PRODUCT INFORMATION FONT SIZE
   ========================================================= */

/* Giá sản phẩm */
body.woocommerce-cart
.wc-block-cart-items
.wc-block-components-product-price {
    font-size: 14px !important;
    line-height: 1.45 !important;
}

/* Personalization, Choose Your Dog, Background... */
body.woocommerce-cart
.wc-block-cart-items
.wc-block-components-product-details {
    margin-top: 8px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body.woocommerce-cart
.wc-block-cart-items
.wc-block-components-product-details__name,
body.woocommerce-cart
.wc-block-cart-items
.wc-block-components-product-details__value {
    font-size: 14px !important;
    line-height: 1.55 !important;
}

/* Tên từng tùy chọn in đậm */
body.woocommerce-cart
.wc-block-cart-items
.wc-block-components-product-details__name {
    font-weight: 700 !important;
}
/* Ẩn mô tả ngắn của sản phẩm trong Cart */
body.woocommerce-cart
.wc-block-cart-items
.wc-block-components-product-metadata__description {
    display: none !important;
}
/* =========================================================
   SINGLE PRODUCT — ADD TO CART SUCCESS MESSAGE
   ========================================================= */

   body.single-product .woocommerce-message {
    position: relative;
    box-sizing: border-box;

    margin: 18px 0 22px;
    padding: 18px 150px 18px 56px !important;

    border: 1px solid #cddfd5;
    border-left: 4px solid #174d3a;
    border-radius: 12px;

    background: #f4f8f5;
    color: #24332c;

    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;

    box-shadow: 0 4px 14px rgba(23, 77, 58, 0.06);
}

/* Biểu tượng xác nhận */
body.single-product .woocommerce-message::before {
    content: "✓" !important;

    position: absolute;
    top: 50%;
    left: 17px;
    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    border-radius: 50%;
    background: #174d3a;
    color: #ffffff;

    font-family: inherit !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}

/* Nút View cart */
body.single-product .woocommerce-message .button.wc-forward {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);

    float: none;
    min-height: 40px;
    margin: 0;
    padding: 10px 18px;

    border: 1px solid #174d3a;
    border-radius: 8px;
    background: #174d3a;
    color: #ffffff;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;

    box-shadow: none;
}

body.single-product .woocommerce-message .button.wc-forward:hover,
body.single-product .woocommerce-message .button.wc-forward:focus {
    border-color: #103a2b;
    background: #103a2b;
    color: #ffffff;
}

/* Mobile */
@media screen and (max-width: 767px) {
    body.single-product .woocommerce-message {
        padding: 16px 16px 70px 52px !important;
        font-size: 14px;
    }

    body.single-product .woocommerce-message::before {
        top: 17px;
        left: 15px;
        transform: none;
    }

    body.single-product .woocommerce-message .button.wc-forward {
        top: auto;
        right: 15px;
        bottom: 14px;
        left: 15px;
        transform: none;

        display: block;
        width: auto;
        text-align: center;
    }
}
   /* Ẩn nhãn Sale trên ảnh chính của trang sản phẩm */
body.single-product div.product > span.onsale {
    display: none !important;
}

body.single-product .related.products ul.products li.product {
	padding-top: 0 !important;
}

/* Hide WooCommerce image sale flash in Related products only */
body.single-product .related.products ul.products li.product .onsale {
	display: none !important;
}

/*
 * YITH renders an empty wishlist block before the image with 7px
 * vertical margins — the white strip source (same as Shop cards).
 */
body.single-product .related.products ul.products li.product > .yith-add-to-wishlist-button-block {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Kadence archive image link used inside Related products */
body.single-product .related.products ul.products li.product
a.woocommerce-loop-image-link {
	position: relative;
	display: block !important;
	width: 100%;
	margin-top: 0 !important;
	padding-top: 0 !important;
	line-height: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f4eee3;
}

/* Ensure the image itself adds no top spacing */
body.single-product .related.products ul.products li.product
a.woocommerce-loop-image-link img {
	display: block !important;
	width: 100%;
	height: 100%;
	margin-top: 0 !important;
	padding-top: 0 !important;
	object-fit: cover;
}

/*
 * Card wrappers only — do not target .product-details.content-bg,
 * which correctly keeps 16px top padding below the image.
 */
body.single-product .related.products ul.products li.product.loop-entry,
body.single-product .related.products ul.products li.product.content-bg {
	padding-top: 0 !important;
}

body.single-product .related.products ul.products .product-details {
	display: flex;
	flex: 1 1 auto;
	flex-flow: row wrap;
	align-content: flex-start;
	align-items: center;
	min-height: 0;
	padding: 16px;
	background-color: #ffffff;
}

/* =========================================================
   SINGLE PRODUCT — RELATED PRODUCT TITLES
   Match Shop cards: two complete lines with ellipsis
   ========================================================= */

body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box !important;
	box-sizing: border-box;
	flex: 0 0 100%;
	width: 100%;

	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;

	margin: 0 0 3px !important;
	padding: 0 !important;
	overflow: hidden !important;

	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 18px !important;
	letter-spacing: 0;

	color: inherit;
	text-align: left;
	text-overflow: ellipsis;
	white-space: normal !important;
	word-break: normal;
	overflow-wrap: break-word;

	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2;
}

/*
 * If Kadence places an anchor directly inside the title,
 * keep it inline so the title element performs the clamp.
 */
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title > a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;

	color: inherit;
	font: inherit !important;
	line-height: inherit !important;
	white-space: normal !important;
	text-decoration: none;
}

/* =========================================================
   PRODUCT LOOPS — RATING STARS, AVERAGE AND REVIEW COUNT
   ========================================================= */

.woocommerce ul.products li.product .star-rating {
	display: inline-block !important;
	float: none !important;
	vertical-align: middle;

	margin: 4px 5px 5px 0 !important;
}

/* Empty star portion */
.woocommerce ul.products li.product .star-rating::before {
	color: #d6d6d6 !important;
	opacity: 1;
}

/* Filled star portion */
.woocommerce ul.products li.product .star-rating span::before {
	color: #f2b01e !important;
}

.woocommerce ul.products li.product .fr-loop-rating-meta {
	display: inline-flex;
	align-items: center;
	gap: 4px;

	margin: 4px 0 5px;
	vertical-align: middle;

	color: #68736d;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}

.woocommerce ul.products li.product .fr-loop-rating-average {
	color: #4f5d56;
	font-weight: 500;
}

.woocommerce ul.products li.product .fr-loop-rating-count {
	color: #7a847f;
	font-weight: 400;
}

/* Price must remain below the rating row */
.woocommerce ul.products li.product .price {
	display: block !important;
	clear: both;
}

/* ==========================================================================
   PRODUCT LOOPS — PRICE AND DISCOUNT BADGE
   ========================================================================== */

.woocommerce ul.products li.product .fr-loop-price-row {
	display: flex;
	align-items: baseline;
	flex-wrap: nowrap;
	gap: 7px;

	width: 100%;
	min-width: 0;
	margin: 2px 0 0;
	padding: 0;
}

.woocommerce ul.products li.product
.fr-loop-price-row > .price {
	display: inline-flex !important;
	align-items: baseline;
	flex: 0 1 auto;
	gap: 4px;

	width: auto !important;
	min-width: 0;
	margin: 0 !important;

	clear: none !important;
	white-space: nowrap;
}

.woocommerce ul.products li.product
.fr-loop-discount-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;

	min-height: 24px;
	margin: 0;
	padding: 3px 7px;

	border: 1px solid rgba(213, 45, 37, 0.14);
	border-radius: 7px;

	background-color: #fff0ee;
	color: #d52d25;

	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

/* Keep the current sale price green */
.woocommerce ul.products li.product
.fr-loop-price-row .price ins {
	color: #064c3b;
	font-weight: 700;
	text-decoration: none;
}

/* Regular/original price */
.woocommerce ul.products li.product
.fr-loop-price-row .price del {
	opacity: 0.55;
	font-weight: 400;
}

/* Narrow cards may wrap the badge instead of overflowing */
@media screen and (max-width: 767px) {
	.woocommerce ul.products li.product .fr-loop-price-row {
		flex-wrap: wrap;
		gap: 5px;
	}

	.woocommerce ul.products li.product
	.fr-loop-discount-badge {
		min-height: 21px;
		padding: 3px 6px;
		font-size: 10px;
	}
}

/* Do not let the content wrapper clip the new rating row */
.woocommerce ul.products li.product .entry-content-wrap,
.woocommerce ul.products li.product .product-details {
	max-height: none;
}

@media screen and (max-width: 1024px) {
	.woocommerce ul.products li.product .fr-loop-rating-meta {
		font-size: 12px;
	}

	body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;
		font-size: 13px !important;
		line-height: 17px !important;
		-webkit-line-clamp: 2 !important;
		line-clamp: 2;
	}
}

body.single-product .related.products ul.products .woocommerce-loop-product__title a:hover {
	color: #24563a;
}

body.single-product .related.products ul.products li.product .fr-loop-price-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;

	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: auto 0 0;
	padding: 0;
	box-sizing: border-box;
}

body.single-product .related.products ul.products li.product
.fr-loop-price-row > .price {
	flex: 0 1 auto !important;
	width: auto !important;
	max-width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding-inline: 0;

	color: #173f2b;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

body.single-product .related.products ul.products li.product
.fr-loop-discount-badge {
	flex: 0 0 auto;
	max-width: 100%;
	margin-top: 2px;
	margin-left: 0;
	white-space: nowrap;
	box-sizing: border-box;
}

/* =========================================================
   PRODUCT CARD WISHLIST — RELATED, HOME FEATURED, SHOP
   YITH over-image button. Active class:
   .yith-wcwl-add-to-wishlist-button--added
   ========================================================= */

/* Below header search dropdown; above product image within each card. */
body.single-product .related.products ul.products li.product,
body.home .fr-home-featured ul.products li.product,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product,
.fr-recently-viewed ul.products li.product {
	position: relative;
	z-index: auto;
}

body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.yith-wcwl-add-to-wishlist-button,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button {
	z-index: 10;
}

@media (hover: hover) and (pointer: fine) {
	body.single-product .related.products ul.products li.product
	.yith-wcwl-add-to-wishlist-button,
	body.home .fr-home-featured ul.products li.product
	.yith-wcwl-add-to-wishlist-button,
	body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
	.yith-wcwl-add-to-wishlist-button,
	.fr-recently-viewed ul.products li.product
	.yith-wcwl-add-to-wishlist-button {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 160ms ease,
			visibility 160ms ease;
	}

	body.single-product .related.products ul.products li.product:hover
	.yith-wcwl-add-to-wishlist-button,
	body.single-product .related.products ul.products li.product:focus-within
	.yith-wcwl-add-to-wishlist-button,
	body.single-product .related.products ul.products li.product
	.yith-wcwl-add-to-wishlist-button--added,
	body.home .fr-home-featured ul.products li.product:hover
	.yith-wcwl-add-to-wishlist-button,
	body.home .fr-home-featured ul.products li.product:focus-within
	.yith-wcwl-add-to-wishlist-button,
	body.home .fr-home-featured ul.products li.product
	.yith-wcwl-add-to-wishlist-button--added,
	body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product:hover
	.yith-wcwl-add-to-wishlist-button,
	body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product:focus-within
	.yith-wcwl-add-to-wishlist-button,
	body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
	.yith-wcwl-add-to-wishlist-button--added,
	.fr-recently-viewed ul.products li.product:hover
	.yith-wcwl-add-to-wishlist-button,
	.fr-recently-viewed ul.products li.product:focus-within
	.yith-wcwl-add-to-wishlist-button,
	.fr-recently-viewed ul.products li.product
	.yith-wcwl-add-to-wishlist-button--added {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

@media (hover: none), (pointer: coarse) {
	body.single-product .related.products ul.products li.product
	.yith-wcwl-add-to-wishlist-button,
	body.home .fr-home-featured ul.products li.product
	.yith-wcwl-add-to-wishlist-button,
	body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
	.yith-wcwl-add-to-wishlist-button,
	.fr-recently-viewed ul.products li.product
	.yith-wcwl-add-to-wishlist-button {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button--added,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button--added,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button--added,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button--added {
	color: #dc2626 !important;
}

body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg,
body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon {
	color: #dc2626 !important;
	fill: #dc2626 !important;
	stroke: #dc2626 !important;
}

body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg path,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg path,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg path,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg path {
	fill: #dc2626 !important;
	stroke: #dc2626 !important;
}

/* Hide YITH AJAX feedback overlay (long product/wishlist labels). */
body.single-product .related.products
.yith-wcwl-add-to-wishlist__feedback,
body.single-product .related.products
.yith-wcwl-feedback__product-name,
body.single-product .related.products
.yith-wcwl-feedback__wishlist-name,
body.home .fr-home-featured
.yith-wcwl-add-to-wishlist__feedback,
body.home .fr-home-featured
.yith-wcwl-feedback__product-name,
body.home .fr-home-featured
.yith-wcwl-feedback__wishlist-name,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products
.yith-wcwl-add-to-wishlist__feedback,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products
.yith-wcwl-feedback__product-name,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products
.yith-wcwl-feedback__wishlist-name,
.fr-recently-viewed
.yith-wcwl-add-to-wishlist__feedback,
.fr-recently-viewed
.yith-wcwl-feedback__product-name,
.fr-recently-viewed
.yith-wcwl-feedback__wishlist-name {
	display: none !important;
}

/* Product card wishlist icon sizing and tap target. */
body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
	margin: 10px;
	padding: 5px;
	border: 0;
	background: transparent;
	box-shadow: none;
	box-sizing: border-box;
	color: #000;
}

body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button svg,
body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button .yith-wcwl-icon,
body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button .yith-wcwl-add-to-wishlist-button-icon,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button svg,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button .yith-wcwl-icon,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button .yith-wcwl-add-to-wishlist-button-icon,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button svg,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button .yith-wcwl-icon,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button .yith-wcwl-add-to-wishlist-button-icon,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button svg,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button .yith-wcwl-icon,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button .yith-wcwl-add-to-wishlist-button-icon {
	width: 21px !important;
	height: 21px !important;
}

body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) svg,
body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) .yith-wcwl-icon,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) svg,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) .yith-wcwl-icon,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) svg,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) .yith-wcwl-icon,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) svg,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) .yith-wcwl-icon {
	color: #000 !important;
	fill: none !important;
	stroke: #000 !important;
}

body.single-product .related.products ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) svg path,
body.home .fr-home-featured ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) svg path,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) svg path,
.fr-recently-viewed ul.products li.product
.yith-wcwl-add-to-wishlist-button:not(.yith-wcwl-add-to-wishlist-button--added) svg path {
	fill: none !important;
	stroke: #000 !important;
}

/* Compact added status pill near the heart (temporary toast only). */
body.single-product .related.products .fr-product-wishlist-status,
body.home .fr-home-featured .fr-product-wishlist-status,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products .fr-product-wishlist-status,
.fr-recently-viewed .fr-product-wishlist-status {
	position: absolute;
	z-index: 5;
	top: 42px;
	left: 10px;

	display: block;
	width: auto;
	max-width: calc(100% - 20px);
	margin: 0;
	padding: 5px 9px;

	border: 1px solid #fecaca;
	border-radius: 999px;

	background-color: rgba(255, 255, 255, 0.96);
	color: #dc2626;

	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	pointer-events: none;

	opacity: 0;
	visibility: hidden;
	transition:
		opacity 120ms ease,
		visibility 120ms ease;

	box-sizing: border-box;
}

body.single-product .related.products .fr-product-wishlist-status.is-visible,
body.home .fr-home-featured .fr-product-wishlist-status.is-visible,
body:is(.woocommerce-shop, .tax-product_cat, .tax-product_tag, .post-type-archive-product, .fr-all-products) ul.products .fr-product-wishlist-status.is-visible,
.fr-recently-viewed .fr-product-wishlist-status.is-visible {
	opacity: 1;
	visibility: visible;
}

body.single-product .related.products ul.products > li.product .product-action-wrap,
body.single-product .related.products ul.products > li.product a.button,
body.single-product .related.products ul.products > li.product button.button,
body.single-product .related.products ul.products > li.product .product-excerpt {
	display: none;
	margin: 0;
}

body.single-product .related.products ul.products a:focus-visible,
body.single-product .woocommerce-tabs a:focus-visible,
body.single-product .woocommerce-tabs button:focus-visible {
	outline: 3px solid #173f2b;
	outline-offset: 3px;
}

@media (max-width: 1024px) and (min-width: 768px) {
	body.single-product .related.products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1024px) {
	body.single-product #primary {
		padding-block: 40px 0px;
	}

	body.single-product .woocommerce div.product {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 32px;
	}

	body.single-product .woocommerce div.product div.images,
	body.single-product .woocommerce div.product div.summary {
		grid-column: 1;
	}

	body.single-product .woocommerce div.product div.images {
		grid-row: 1;
	}

	body.single-product .woocommerce div.product div.summary {
		grid-row: 2;
	}

	body.single-product .woocommerce-tabs ul.tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 767px) {
	body.single-product #primary {
		padding-inline: var(--fr-mobile-gutter) !important;
	}

	body.single-product #primary .content-container {
		padding-inline: 0 !important;
	}

	body.single-product .woocommerce div.product {
		row-gap: 14px;
	}

	body.single-product div.product div.summary {
		margin-top: 9px !important;
	}

	body.single-product .fr-personalization-fields {
		padding: 18px;
	}

	body.single-product .frp_personalization_fields .frp_field input[type="text"],
	body.single-product .frp_personalization_fields .frp_field select,
	body.single-product .frp_personalization_fields .frp_field input[type="file"] {
		font-size: 15px;
	}

	body.single-product .frp_personalization_fields .frp_field input[type="text"]::placeholder {
		font-size: 15px;
	}

	body.single-product .frp_personalization_fields .frp_field input[type="file"]::file-selector-button {
		font-size: 15px;
	}

	body.single-product .frp_personalization_fields .frp_checkbox_label {
		font-size: 13px;
	}

	/* Single product — mobile qty / add to cart / wishlist stack */
	body.single-product div.product .summary form.cart,
	body.single-product div.product .summary form.variations_form {
		margin-bottom: 0;
	}

	body.single-product div.product .summary .fr-product-qty-row {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		clear: both;
		width: 100%;
		max-width: 100%;
		margin: 0 0 12px;
		flex: 0 0 auto;
	}

	body.single-product div.product .summary .fr-product-qty-label {
		display: block;
		flex: 0 0 auto;
		margin: 0 10px 0 0;
		color: #17231e;
		font-size: 15px;
		font-weight: 600;
		line-height: 1;
	}

	body.single-product div.product .summary form.cart .quantity,
	body.single-product div.product .summary form.variations_form .woocommerce-variation-add-to-cart .quantity {
		float: none;
		clear: none;
		display: inline-flex;
		align-items: stretch;
		width: auto;
		max-width: max-content;
		min-width: 0;
		flex: 0 0 auto;
		align-self: auto;
		margin: 0;
		border-radius: 10px;
		overflow: hidden;
	}

	body.single-product div.product .summary form.cart .quantity .minus,
	body.single-product div.product .summary form.cart .quantity .plus,
	body.single-product div.product .summary form.variations_form .woocommerce-variation-add-to-cart .quantity .minus,
	body.single-product div.product .summary form.variations_form .woocommerce-variation-add-to-cart .quantity .plus {
		flex: 0 0 40px;
		width: 40px;
		min-width: 40px;
		max-width: 40px;
		border-radius: 0;
	}

	body.single-product div.product .summary form.cart .quantity .qty,
	body.single-product div.product .summary form.variations_form .woocommerce-variation-add-to-cart .quantity .qty {
		flex: 0 0 50px;
		width: 50px;
		min-width: 50px;
		max-width: 52px;
		border-radius: 0;
	}

	body.single-product div.product .summary form.cart .single_add_to_cart_button,
	body.single-product div.product .summary form.cart button.button.alt,
	body.single-product div.product .summary form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button,
	body.single-product div.product .summary form.variations_form .woocommerce-variation-add-to-cart button.button.alt {
		float: none;
		clear: both;
		width: 80%;
		max-width: 80%;
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
		border-radius: 999px;
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		align-self: center;
	}

	body.single-product div.product .summary form.variations_form .woocommerce-variation-add-to-cart {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
	}

	body.single-product div.product .summary .yith-add-to-wishlist-button-block {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		margin-top: 16px;
	}

	body.single-product div.product .summary .yith-add-to-wishlist-button-block .yith-wcwl-add-to-wishlist-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 13px;
	}

	body.single-product div.product .summary .yith-add-to-wishlist-button-block .yith-wcwl-add-to-wishlist-button svg,
	body.single-product div.product .summary .yith-add-to-wishlist-button-block .yith-wcwl-add-to-wishlist-button .yith-wcwl-icon {
		width: 24px;
		height: 24px;
	}

	body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
		border-radius: 10px;
		padding: 20px 17px;
	}

	body.single-product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 16px;
	}

	body.single-product .related.products ul.products > li.product:nth-child(n+11) {
		display: none !important;
	}

	body.single-product .fr-recently-viewed ul.products > li.product:nth-child(n+5) {
		display: none !important;
	}

	body.single-product .related.products ul.products .product-details {
		align-content: flex-start;
		align-items: flex-start;
		padding: 8px 8px 8px 0px;
	}

	body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
		margin: 0 0 5px !important;

		font-size: 13px !important;
		line-height: 1.25 !important;
	}

	body.single-product .related.products ul.products li.product .star-rating {
		margin: 0 4px 0 0 !important;
	}

	body.single-product .related.products ul.products li.product .fr-loop-rating-meta {
		margin: 0 0 5px !important;
		font-size: 11px;
	}

	body.single-product .related.products ul.products li.product .fr-loop-price-row {
		display: flex;
		align-items: center;
		flex-wrap: nowrap !important;
		gap: 5px;
		width: 100%;
		min-width: 0;
		margin: 0 !important;
		padding: 0;
	}

	body.single-product .related.products ul.products li.product
	.fr-loop-price-row > .price {
		display: inline-flex !important;
		align-items: baseline;
		flex: 0 1 auto;
		gap: 4px;
		margin: 0 !important;
		font-size: 14px !important;
		line-height: 1.2;
		white-space: nowrap;
	}

	body.single-product .related.products ul.products li.product
	.fr-loop-price-row .price ins,
	body.single-product .related.products ul.products li.product
	.fr-loop-price-row .price ins .woocommerce-Price-amount,
	body.single-product .related.products ul.products li.product
	.fr-loop-price-row .price ins bdi {
		font-size: 14px !important;
		line-height: 1.2;
	}

	body.single-product .related.products ul.products li.product
	.fr-loop-price-row .price del,
	body.single-product .related.products ul.products li.product
	.fr-loop-price-row .price del .woocommerce-Price-amount,
	body.single-product .related.products ul.products li.product
	.fr-loop-price-row .price del bdi {
		font-size: 11px !important;
		line-height: 1.2;
		opacity: 0.65;
	}

	body.single-product .related.products ul.products li.product
	.fr-loop-discount-badge {
		flex: 0 0 auto;
		min-height: 18px;
		margin: 0 !important;
		padding: 3px 6px;
		font-size: 10px;
		line-height: 1;
		white-space: nowrap;
	}
}

/* =========================================================
   SINGLE PRODUCT SUMMARY
   Breadcrumb, title, variations and product meta
   Scope: single-product page only
   ========================================================= */

/* ---------------------------------------------------------
   Breadcrumb: one line, constrained width, ellipsis
   The visible breadcrumb is Kadence's nav.kadence-breadcrumbs.
   The inner .kadence-breadcrumb-container holds the text, so it
   needs the same nowrap/overflow/ellipsis trio to truncate.
   --------------------------------------------------------- */

body.single-product .kadence-breadcrumbs,
body.single-product .kadence-breadcrumbs .kadence-breadcrumb-container {
	display: block !important;
	box-sizing: border-box !important;

	width: 100% !important;
	max-width: 72ch !important;
	min-width: 0 !important;

	margin-top: 0 !important;
	padding: 0 !important;

	overflow: hidden !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;

	font-size: 13px !important;
	line-height: 1.5 !important;
}

body.single-product .kadence-breadcrumbs {
	margin-bottom: 18px !important;
}

body.single-product .kadence-breadcrumbs .kadence-breadcrumb-container {
	margin-bottom: 0 !important;
}

/*
 * Breadcrumb links must stay inline.
 * The breadcrumb container handles the ellipsis.
 */
body.single-product .kadence-breadcrumbs a {
	display: inline !important;
	white-space: nowrap !important;
}

/* ---------------------------------------------------------
   Main product title
   --------------------------------------------------------- */

body.single-product div.product .summary h1.product_title,
body.single-product div.product .summary h1.product_title.entry-title,
body.single-product div.product .summary .product_title {
	margin-top: 0 !important;
	margin-bottom: 16px !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
}

/* ---------------------------------------------------------
   Main product price
   --------------------------------------------------------- */

body.single-product div.product .summary p.price,
body.single-product div.product .summary span.price,
body.single-product div.product .summary .price {
	color: #174d3a !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

body.single-product div.product .summary .price .woocommerce-Price-amount,
body.single-product div.product .summary .price .woocommerce-Price-amount bdi,
body.single-product div.product .summary .price bdi {
	color: #174d3a !important;
	font-weight: 700 !important;
}

/*
 * Preserve gray crossed-out prices if a sale price is used.
 */
body.single-product div.product .summary .price del,
body.single-product div.product .summary .price del .woocommerce-Price-amount,
body.single-product div.product .summary .price del bdi {
	color: #8a8a8a !important;
	font-weight: 400 !important;
	opacity: 0.7;
}

/*
 * Sale/current price remains dark green.
 */
body.single-product div.product .summary .price ins,
body.single-product div.product .summary .price ins .woocommerce-Price-amount,
body.single-product div.product .summary .price ins bdi {
	color: #174d3a !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

/* =========================================================
   SINGLE PRODUCT — DELIVERY INFORMATION CARD
   ========================================================= */

body.single-product .summary .fr-product-delivery-card {
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	margin: 18px 0 24px;
	padding: 12px 14px;

	border: 1px solid #dce4df;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 3px 12px rgba(20, 61, 45, 0.04);
}

body.single-product .summary .fr-product-delivery-card__row {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: center;
	gap: 10px;

	margin: 0;
	color: #17231e;
	font-size: 15px;
	line-height: 1.45;
}

body.single-product .summary .fr-product-delivery-card__row + .fr-product-delivery-card__row {
	margin-top: 10px;
}

body.single-product .summary .fr-product-delivery-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 28px;
	height: 24px;
	color: #39453f;
}

body.single-product .summary .fr-product-delivery-card__icon svg {
	display: block;
	width: 24px;
	height: 24px;

	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.single-product .summary .fr-product-delivery-card__icon--flag svg {
	width: 27px;
	height: 20px;
	border: 1px solid #d7d7d7;
	border-radius: 2px;
	stroke: none;
}

body.single-product .summary .fr-product-delivery-card__copy {
	min-width: 0;
}

body.single-product .summary .fr-product-delivery-card__copy strong {
	color: #174d3a;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	body.single-product .summary .fr-product-delivery-card {
		width: 100%;
		margin: 16px 0 20px;
		padding: 11px 12px;
	}

	body.single-product .summary .fr-product-delivery-card__row {
		grid-template-columns: 26px minmax(0, 1fr);
		gap: 9px;
		font-size: 14px;
	}

	body.single-product .summary .fr-product-delivery-card__icon {
		width: 26px;
	}
}

/* ---------------------------------------------------------
   Variation selector panel
   Color and Size
   --------------------------------------------------------- */

body.single-product .summary form.variations_form table.variations {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 520px;
	margin: 0 0 16px;
	padding: 14px;

	border: 1px solid #d9e3dc;
	border-radius: 12px;
	border-spacing: 0;
	background: #f8faf8;
	box-shadow: 0 4px 14px rgba(20, 61, 45, 0.05);
}

body.single-product .summary form.variations_form table.variations tbody {
	display: block;
	width: 100%;
}

body.single-product .summary form.variations_form table.variations tr {
	display: block;
	width: 100%;
	margin: 0 0 13px;
}

body.single-product .summary form.variations_form table.variations tr:last-child {
	margin-bottom: 0;
}

body.single-product .summary form.variations_form table.variations th.label,
body.single-product .summary form.variations_form table.variations td.value {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	text-align: left;
}

body.single-product .summary form.variations_form table.variations th.label {
	margin: 0 0 6px;
}

body.single-product .summary form.variations_form table.variations th.label label {
	display: block;
	margin: 0;

	color: #173f31;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

body.single-product .summary form.variations_form table.variations td.value {
	position: relative;
}

body.single-product .summary form.variations_form table.variations select {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 0 42px 0 13px;

	border: 1px solid #b8c8be;
	border-radius: 8px;
	background-color: #ffffff;

	color: #26352e;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.3;

	box-shadow: 0 1px 3px rgba(20, 61, 45, 0.05);
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

body.single-product .summary form.variations_form table.variations select:hover {
	border-color: #769383;
}

body.single-product .summary form.variations_form table.variations select:focus {
	border-color: #174d3a;
	outline: none;
	background-color: #ffffff;
	box-shadow: 0 0 0 3px rgba(23, 77, 58, 0.12);
}

/*
 * Keep WooCommerce reset-variations functionality,
 * but present it as a small secondary link.
 */
body.single-product .summary form.variations_form a.reset_variations {
	display: inline-block;
	margin: 7px 0 0;

	color: #5f7469;
	font-size: 12px;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ---------------------------------------------------------
   Remove SKU / Category / Tags
   --------------------------------------------------------- */

body.single-product .summary .product_meta {
	display: none !important;
}

/* ---------------------------------------------------------
   Responsive
   Kadence mobile/tablet breakpoint
   --------------------------------------------------------- */

@media screen and (max-width: 1024px) {
	body.single-product .kadence-breadcrumbs,
	body.single-product .kadence-breadcrumbs .kadence-breadcrumb-container {
		max-width: 100% !important;
		font-size: 12px !important;
	}

	body.single-product .kadence-breadcrumbs {
		margin-bottom: 14px !important;
	}

	body.single-product div.product .summary h1.product_title,
	body.single-product div.product .summary h1.product_title.entry-title,
	body.single-product div.product .summary .product_title {
		margin-bottom: 14px !important;
		font-size: 23px !important;
		line-height: 1.28 !important;
	}

	body.single-product div.product .summary p.price,
	body.single-product div.product .summary span.price,
	body.single-product div.product .summary .price {
		font-size: 18px !important;
	}

	body.single-product .summary form.variations_form table.variations {
		max-width: 100%;
		padding: 12px;
	}

	body.single-product .summary form.variations_form table.variations select {
		min-height: 44px;
		font-size: 14px;
	}
}

@media screen and (max-width: 767px) {
	body.single-product div.product .summary h1.product_title,
	body.single-product div.product .summary h1.product_title.entry-title,
	body.single-product div.product .summary .product_title {
		margin-bottom: 9px !important;
		font-size: 18px !important;
		line-height: 1.3 !important;
	}

	body.single-product div.product .summary .woocommerce-product-rating {
		margin-top: 0 !important;
		margin-bottom: 11px !important;
	}

	body.single-product div.product .summary p.price,
	body.single-product div.product .summary span.price,
	body.single-product div.product .summary .price {
		margin-top: 0 !important;
	}
}

/* =========================================================
   SINGLE PRODUCT — DETAILS, POLICIES AND REVIEWS
   ========================================================= */

/* ---------------------------------------------------------
   Product information accordions
   --------------------------------------------------------- */

body.single-product .fr-product-info-accordions {
	width: 100%;
	margin: 20px 0 0;
}

body.single-product .fr-product-accordion {
	margin: 0;
}

body.single-product .fr-product-accordion > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;

	min-height: 56px;
	margin: 0;
	padding: 0px 2px;

	color: #17231e;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;

	cursor: pointer;
	list-style: none;
	user-select: none;
}

body.single-product .fr-product-accordion > summary::-webkit-details-marker {
	display: none;
}

body.single-product .fr-product-accordion > summary::after {
	content: "";
	flex: 0 0 auto;

	width: 8px;
	height: 8px;
	margin-right: 4px;

	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;

	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

body.single-product .fr-product-accordion[open] > summary::after {
	transform: rotate(225deg);
}

body.single-product .fr-product-accordion__content {
	padding: 2px 2px 20px;

	color: #34423b;
	font-size: 14px;
	line-height: 1.65;
}

body.single-product .fr-product-accordion__content > :first-child {
	margin-top: 0;
}

body.single-product .fr-product-accordion__content > :last-child {
	margin-bottom: 0;
}

body.single-product .fr-product-accordion__content p,
body.single-product .fr-product-accordion__content ul,
body.single-product .fr-product-accordion__content ol {
	margin-top: 0;
	margin-bottom: 13px;
}

/* ---------------------------------------------------------
   Shipping policy rows
   --------------------------------------------------------- */

body.single-product .fr-product-policy-list {
	display: grid;
	gap: 10px;
}

body.single-product .fr-product-policy-item {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	align-items: start;
	column-gap: 12px;
	row-gap: 0;
}

body.single-product .fr-product-policy-icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	padding: 0;
	color: #3a433f;
	line-height: 1;
}

body.single-product .fr-product-policy-icon svg {
	display: block;
	width: 18px;
	height: 18px;
	overflow: visible;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.single-product .fr-product-policy-copy {
	min-width: 0;
	font-size: 14px;
	line-height: 1.35;
	color: #303b36;
}

body.single-product .fr-product-policy-copy strong {
	display: block;
	margin: 0 0 1px;
	color: #17231e;
	font-weight: 700;
}

body.single-product .fr-product-policy-copy a,
body.single-product .fr-product-policy-full-link a {
	color: #174d3a;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.single-product .fr-product-policy-full-link {
	margin: 12px 0 0;
	padding-left: 32px;
	font-size: 13px;
}

/* ---------------------------------------------------------
   Customer Reviews
   --------------------------------------------------------- */

body.single-product .fr-customer-reviews {
	box-sizing: border-box;
	width: 100%;
	margin: 36px 0 0;
	padding: 0 0 30px;
}

body.single-product .fr-customer-reviews__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;

	padding: 14px 0;

}

body.single-product .fr-customer-reviews__header h2 {
	margin: 0 0 12px;

	color: #17231e;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

body.single-product .fr-customer-reviews__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;

	color: #17231e;
	font-size: 14px;
	line-height: 1.4;
}

body.single-product .fr-customer-reviews__rating .star-rating {
	margin: 0;
}

body.single-product .fr-customer-reviews__average {
	color: #174d3a;
	font-size: 18px;
	font-weight: 700;
}

body.single-product .fr-customer-reviews__count {
	width: 100%;
	color: #55635c;
	font-size: 13px;
}

body.single-product .fr-write-review-button {
	flex: 0 0 auto;

	min-height: 40px;
	padding: 8px 18px;

	border: 1px solid #26332d;
	border-radius: 999px;
	background: #ffffff;

	color: #17231e;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;

	cursor: pointer;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		color 0.2s ease;
}

body.single-product .fr-write-review-button:hover,
body.single-product .fr-write-review-button:focus-visible {
	border-color: #174d3a;
	background: #174d3a;
	color: #ffffff;
	outline: none;
}

body.single-product .fr-customer-reviews .woocommerce-Reviews-title {
	display: none;
}

body.single-product .fr-customer-reviews #reviews {
	padding-top: 20px;
}

body.single-product .fr-customer-reviews #comments {
	margin: 0;
}

/* Photo Reviews — hide statistics bars and filter chips */
body.single-product .fr-customer-reviews #comments .wcpr-overall-rating-and-rating-count,
body.single-product .fr-customer-reviews #comments .wcpr-filter-container {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Photo Reviews — disable view-review lightbox (keep Write a Review modal) */
body.single-product .wcpr-modal-light-box {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.single-product .fr-customer-reviews .wcpr-grid-item {
	cursor: default;
}

body.single-product .fr-customer-reviews .reviews-images-container,
body.single-product .fr-customer-reviews .reviews-images-container a,
body.single-product .fr-customer-reviews .reviews-images-container .reviews-images {
	cursor: pointer;
}

body.single-product #wcpr-swipebox-overlay img {
	max-width: 90vw;
	max-height: 85vh;
	object-fit: contain;
}

body.single-product .fr-customer-reviews .commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-product .fr-customer-reviews .commentlist > li {
	margin: 0;
	padding: 22px 0;
	border-bottom: 1px solid #e2e7e4;
}

/* Native WooCommerce comment pagination — compact round buttons */
body.single-product .fr-customer-reviews nav.woocommerce-pagination {
	margin: 18px 0 0;
}

body.single-product .fr-customer-reviews .woocommerce-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-product .fr-customer-reviews .woocommerce-pagination .page-numbers li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-product .fr-customer-reviews .woocommerce-pagination .page-numbers a.page-numbers,
body.single-product .fr-customer-reviews .woocommerce-pagination .page-numbers span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	min-width: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f7f7f7;
	color: #111;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	box-sizing: border-box;
}

body.single-product .fr-customer-reviews .woocommerce-pagination .page-numbers span.current {
	background: #d7d7d7;
	color: #111;
}

body.single-product .fr-customer-reviews .woocommerce-pagination .page-numbers a.page-numbers:hover,
body.single-product .fr-customer-reviews .woocommerce-pagination .page-numbers a.page-numbers:focus-visible {
	background: #edf3ef;
	color: #173f2b;
	outline: none;
}

/*
 * Desktop/tablet Customer Reviews list
 * Reuses the mobile Photo Reviews list treatment (plugin ships masonry cards).
 * Mobile <=767 keeps its own copy in the max-width:767 block below — unchanged.
 */
@media screen and (min-width: 768px) {
	/* Photo Reviews masonry → vertical list (plugin: .wcpr-grid column-count) */
	body.single-product .fr-customer-reviews #comments .wcpr-grid {
		display: flex !important;
		flex-direction: column;
		gap: 0;
		width: 100%;
		margin: 0;
		column-count: unset !important;
		-webkit-column-count: unset !important;
		-moz-column-count: unset !important;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-grid-item {
		width: 100% !important;
		max-width: 100%;
		margin: 0;
		padding: 18px 0;
		border: 0;
		border-radius: 0;
		border-bottom: 1px solid rgba(23, 35, 30, 0.1);
		background: transparent;
		box-shadow: none;
		overflow: visible;
		cursor: default;
		break-inside: auto;
		page-break-inside: auto;
		-webkit-column-break-inside: auto;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-grid-item:last-child {
		border-bottom: 0;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-content {
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0;
	}

	body.single-product .fr-customer-reviews #comments .review-content-container {
		width: 100%;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		float: none;
	}

	body.single-product .fr-customer-reviews #comments .review-content-container-top {
		display: flex;
		flex-direction: column;
		gap: 8px;
		margin: 0;
		padding: 0;
		position: static;
		background: transparent;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-rating {
		order: 1;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 12px;
		width: 100%;
		margin: 0;
		padding: 0;
		line-height: 1.2;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-rating .star-rating {
		float: none;
		width: 5.4em;
		margin: 0;
		font-size: 18px;
		line-height: 1;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-rating .star-rating span {
		height: 18px;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-date {
		flex: 0 0 auto;
		margin: 0;
		padding: 0;
		font-size: 13px;
		font-style: normal;
		color: #6b706c;
		white-space: nowrap;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-comment-author {
		order: 2;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 6px;
		margin: 0;
		padding: 0;
		color: #1d211f;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-comment-author::before {
		display: none;
		content: none;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-content {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		width: 100%;
		max-height: none;
		margin: 12px 0 0;
		padding: 0;
		color: #1d211f;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5;
		text-align: left;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-content.is-expanded {
		display: block;
		-webkit-line-clamp: unset;
		overflow: visible;
	}

	body.single-product .fr-customer-reviews #comments .fr-review-read-more {
		display: none;
		width: fit-content;
		margin: 6px 0 0;
		padding: 0;
		border: 0;
		background: none;
		color: #174d3a;
		font-size: 13px;
		font-weight: 600;
		line-height: 1.4;
		text-align: left;
		text-decoration: underline;
		cursor: pointer;
	}

	body.single-product .fr-customer-reviews #comments .fr-review-read-more.is-visible {
		display: inline-block;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-container {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: 8px;
		width: 100%;
		margin: 10px 0 0;
		padding: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		float: none;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-wrap-left {
		display: flex !important;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 8px;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
		float: none;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-wrap-right,
	body.single-product .fr-customer-reviews #comments .reviews-images-wrap {
		flex: 0 0 auto;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
		float: none;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-container .reviews-images,
	body.single-product .fr-customer-reviews #comments .reviews-images-container video.reviews-images {
		display: block;
		width: 140px !important;
		height: 140px !important;
		min-width: 140px;
		min-height: 140px;
		margin: 0;
		border-radius: 8px;
		object-fit: cover;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-container .images-qty {
		display: none !important;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-container:has(.reviews-images-wrap-left .reviews-images-wrap) .reviews-images-wrap-right {
		display: none;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-grid-item .wcpr-vote,
	body.single-product .fr-customer-reviews #comments .wcpr-grid-item .wcpr-helpful,
	body.single-product .fr-customer-reviews #comments .wcpr-grid-item .kt-wcpr-vote,
	body.single-product .fr-customer-reviews #comments .wcpr-grid-item .helpful-button {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 10px;
		width: 100%;
		margin: 10px 0 0;
		font-size: 13px;
	}

	/* Legacy Woo comment list fallback */
	body.single-product .fr-customer-reviews .commentlist {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	body.single-product .fr-customer-reviews .commentlist > li {
		margin: 0 !important;
		padding: 18px 0;
		border-bottom: 1px solid rgba(23, 35, 30, 0.1);
	}

	body.single-product .fr-customer-reviews .commentlist > li:last-child {
		border-bottom: 0;
	}
}

/* Placeholder left behind after form is moved into the modal */
body.single-product .fr-customer-reviews .fr-review-form-placeholder {
	display: none !important;
	margin: 0;
	padding: 0;
	height: 0;
	overflow: hidden;
}

/* Hide inline review form until JS moves it into the modal */
body.single-product .fr-customer-reviews #review_form_wrapper {
	display: none !important;
}

/* Remove the old standard tab area if an empty wrapper remains */
body.single-product .woocommerce-tabs.wc-tabs-wrapper:empty {
	display: none;
}

/* =========================================================
   SINGLE PRODUCT — REVIEW FORM MODAL
   ========================================================= */

body.single-product.fr-review-modal-open {
	overflow: hidden;
}

body.single-product .fr-review-modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 20px;
	box-sizing: border-box;
}

body.single-product .fr-review-modal[hidden] {
	display: none !important;
}

body.single-product .fr-review-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 25, 20, 0.55);
}

body.single-product .fr-review-modal__dialog {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: min(100%, 560px);
	max-height: 85dvh;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 28px 28px 24px;
	background: #ffffff;
	border: 1px solid #e6ddd0;
	border-radius: 12px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
	outline: none;
}

body.single-product .fr-review-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 999px;
	background: rgba(23, 77, 58, 0.06);
	color: transparent;
	font-size: 0;
	line-height: 0;
	text-indent: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition:
		background-color 160ms ease,
		border-color 160ms ease;
}

body.single-product .fr-review-modal__close::before {
	content: "×";
	display: block;
	color: #173f2b;
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
}

body.single-product .fr-review-modal__close:hover,
body.single-product .fr-review-modal__close:focus-visible {
	background: rgba(23, 77, 58, 0.12);
	border-color: rgba(23, 77, 58, 0.18);
}

body.single-product .fr-review-modal__close:focus-visible {
	outline: 3px solid #173f2b;
	outline-offset: 2px;
}

body.single-product .fr-review-modal__title {
	margin: 0 36px 18px;
	color: #173f2b;
	font-family: var(--fr-font-heading);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}

body.single-product .fr-review-modal__content {
	min-width: 0;
}

/* Form lives inside modal — strip old inline card look */
body.single-product .fr-review-modal #review_form_wrapper {
	display: block !important;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

body.single-product .fr-review-modal #respond {
	margin: 0;
	padding: 0;
}

body.single-product .fr-review-modal #reply-title,
body.single-product .fr-review-modal .comment-reply-title {
	display: none !important;
}

body.single-product .fr-review-modal .comment-form > p,
body.single-product .fr-review-modal .comment-form .comment-form-rating,
body.single-product .fr-review-modal .comment-form .comment-form-comment,
body.single-product .fr-review-modal .comment-form .comment-form-author,
body.single-product .fr-review-modal .comment-form .comment-form-email,
body.single-product .fr-review-modal .comment-form .wcpr-comment-form-images {
	margin: 0 0 14px;
}

body.single-product .fr-review-modal .comment-form label {
	display: block;
	margin-bottom: 7px;
	color: #26352f;
	font-size: 14px;
	font-weight: 700;
}

body.single-product .fr-review-modal .comment-form input[type="text"],
body.single-product .fr-review-modal .comment-form input[type="email"],
body.single-product .fr-review-modal .comment-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 13px;
	border: 1px solid #dcd4c8;
	border-radius: 8px;
	background-color: #ffffff;
	color: #26352f;
	font-size: 15px;
	line-height: 1.4;
	box-sizing: border-box;
	box-shadow: none;
}

body.single-product .fr-review-modal .comment-form textarea {
	min-height: 110px;
	height: 110px;
	resize: vertical;
}

body.single-product .fr-review-modal .comment-form input:focus,
body.single-product .fr-review-modal .comment-form textarea:focus {
	border-color: #173f2b;
	outline: 2px solid rgba(23, 63, 43, 0.14);
	outline-offset: 1px;
}

body.single-product .fr-review-modal .comment-form .form-submit {
	margin: 18px 0 0;
}

body.single-product .fr-review-modal .comment-form .form-submit input#submit,
body.single-product .fr-review-modal .comment-form .form-submit .submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 160px;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid #173f2b;
	border-radius: 8px;
	background-color: #173f2b;
	color: #ffffff;
	font-weight: 700;
	box-shadow: none;
	cursor: pointer;
}

body.single-product .fr-review-modal .comment-form .form-submit input#submit:hover,
body.single-product .fr-review-modal .comment-form .form-submit .submit:hover {
	border-color: #24563a;
	background-color: #24563a;
}

body.single-product .fr-review-modal .comment-form .form-submit input#submit:focus-visible,
body.single-product .fr-review-modal .comment-form .form-submit .submit:focus-visible {
	outline: 3px solid #173f2b;
	outline-offset: 2px;
}

/* Photo Reviews upload — inside comment field, after textarea */
body.single-product .fr-review-modal .comment-form-comment .wcpr-comment-form-images {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 14px 0 0;
	padding: 0;
}

body.single-product .fr-review-modal .wcpr-comment-form-images > label[for="wcpr_image_upload"] {
	display: block;
	margin: 0 0 7px;
	color: #6b7a73;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
}

body.single-product .fr-review-modal .wcpr-comment-form-images > label[for="wcpr_image_upload"]::before {
	content: "Upload photo";
	display: block;
	margin-bottom: 7px;
	color: #26352f;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

body.single-product .fr-review-modal .wcpr-comment-form-images > label[for="wcpr_image_upload"] .required {
	color: #c0392b;
	font-size: 14px;
	font-weight: 700;
}

body.single-product .fr-review-modal .wcpr-comment-form-images .wcpr-input-file-container,
body.single-product .fr-review-modal .wcpr-comment-form-images .wcpr-input-file-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

body.single-product .fr-review-modal .wcpr-comment-form-images .wcpr_image_upload,
body.single-product .fr-review-modal .wcpr-comment-form-images input[type="file"] {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 10px 13px;
	border: 1px solid #dcd4c8;
	border-radius: 8px;
	background-color: #ffffff;
	color: #26352f;
	font-size: 15px;
	line-height: 1.4;
	box-shadow: none;
}

body.single-product .fr-review-modal .wcpr-comment-form-images .wcpr_image_upload::file-selector-button,
body.single-product .fr-review-modal .wcpr-comment-form-images input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 6px 12px;
	border: 1px solid #dcd4c8;
	border-radius: 6px;
	background-color: #f7f5f1;
	color: #26352f;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
}

body.single-product .fr-review-modal .wcpr-comment-form-images .wcpr_image_upload:focus,
body.single-product .fr-review-modal .wcpr-comment-form-images input[type="file"]:focus {
	border-color: #173f2b;
	outline: 2px solid rgba(23, 63, 43, 0.14);
	outline-offset: 1px;
}

body.single-product .fr-review-modal .wcpr-comment-form-images .wcpr-selected-image-container {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

/* Review form star selector — ~2x default size */
body.single-product .fr-review-modal p.stars {
	display: block;
	font-size: 34px;
	line-height: 1;
}

body.single-product .fr-review-modal p.stars span {
	display: inline-flex;
	align-items: center;
	gap: 0.12em;
}

body.single-product .fr-review-modal p.stars a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	margin: 0;
	padding: 0;
	font-size: 1em;
	line-height: 1;
	text-indent: -999em;
	overflow: hidden;
}

body.single-product .fr-review-modal p.stars a::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 1em;
	height: 1em;
	font-size: 1em;
	line-height: 1;
	text-indent: 0;
}

body.single-product .fr-review-modal p.stars a,
body.single-product .fr-review-modal p.stars a::before,
body.single-product .fr-review-modal p.stars a:hover,
body.single-product .fr-review-modal p.stars a:focus,
body.single-product .fr-review-modal p.stars a.active,
body.single-product .fr-review-modal p.stars.selected a.active::before,
body.single-product .fr-review-modal p.stars.selected a:not(.active)::before {
	color: #f2b01e !important;
}

/* =========================================================
   SINGLE PRODUCT — REVIEW STAR COLORS
   ========================================================= */

/* Empty portion of displayed ratings */
body.single-product .star-rating::before {
	color: #d6d6d6 !important;
	opacity: 1;
}

/* Filled portion of displayed ratings */
body.single-product .star-rating span::before {
	color: #f2b01e !important;
}

/* Rating selector inside the WooCommerce review form */
body.single-product #review_form p.stars a,
body.single-product #review_form p.stars a::before,
body.single-product #review_form p.stars a:hover,
body.single-product #review_form p.stars a:focus {
	color: #f2b01e !important;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media screen and (max-width: 767px) {
	body.single-product .fr-product-accordion > summary {
		min-height: 52px;
		padding: 0px 0;
		font-size: 15px;
	}

	body.single-product .fr-product-accordion__content {
		padding: 1px 0 17px;
		font-size: 13px;
	}

	body.single-product .fr-customer-reviews {
		margin-top: 28px;
		padding-bottom: 32px;
	}

	body.single-product .fr-customer-reviews #reviews {
		padding-top: 14px;
	}

	/* Photo Reviews masonry → vertical list (plugin: .wcpr-grid column-count) */
	body.single-product .fr-customer-reviews #comments .wcpr-grid {
		display: flex !important;
		flex-direction: column;
		gap: 0;
		width: 100%;
		margin: 0;
		column-count: unset !important;
		-webkit-column-count: unset !important;
		-moz-column-count: unset !important;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-grid-item {
		width: 100% !important;
		max-width: 100%;
		margin: 0;
		padding: 18px 0;
		border: 0;
		border-radius: 0;
		border-bottom: 1px solid rgba(23, 35, 30, 0.1);
		background: transparent;
		box-shadow: none;
		overflow: visible;
		cursor: default;
		break-inside: auto;
		page-break-inside: auto;
		-webkit-column-break-inside: auto;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-grid-item:last-child {
		border-bottom: 0;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-content {
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0;
	}

	body.single-product .fr-customer-reviews #comments .review-content-container {
		width: 100%;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		float: none;
	}

	body.single-product .fr-customer-reviews #comments .review-content-container-top {
		display: flex;
		flex-direction: column;
		gap: 8px;
		margin: 0;
		padding: 0;
		position: static;
		background: transparent;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-rating {
		order: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
		margin: 0;
		padding: 0;
		line-height: 1.2;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-rating .star-rating {
		float: none;
		width: 5.4em;
		margin: 0;
		font-size: 18px;
		line-height: 1;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-rating .star-rating span {
		height: 18px;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-date {
		flex: 0 0 auto;
		margin: 0;
		padding: 0;
		font-size: 13px;
		font-style: normal;
		color: #6b706c;
		white-space: nowrap;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-comment-author {
		order: 2;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 6px;
		margin: 0;
		padding: 0;
		color: #1d211f;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-comment-author::before {
		display: none;
		content: none;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-content {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		width: 100%;
		max-height: none;
		margin: 12px 0 0;
		padding: 0;
		color: #1d211f;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5;
		text-align: left;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-review-content.is-expanded {
		display: block;
		-webkit-line-clamp: unset;
		overflow: visible;
	}

	body.single-product .fr-customer-reviews #comments .fr-review-read-more {
		display: none;
		width: fit-content;
		margin: 6px 0 0;
		padding: 0;
		border: 0;
		background: none;
		color: #174d3a;
		font-size: 13px;
		font-weight: 600;
		line-height: 1.4;
		text-align: left;
		text-decoration: underline;
		cursor: pointer;
	}

	body.single-product .fr-customer-reviews #comments .fr-review-read-more.is-visible {
		display: inline-block;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-container {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: 8px;
		width: 100%;
		margin: 10px 0 0;
		padding: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		float: none;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-wrap-left {
		display: flex !important;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 8px;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
		float: none;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-wrap-right,
	body.single-product .fr-customer-reviews #comments .reviews-images-wrap {
		flex: 0 0 auto;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
		float: none;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-container .reviews-images,
	body.single-product .fr-customer-reviews #comments .reviews-images-container video.reviews-images {
		display: block;
		width: 110px !important;
		height: 110px !important;
		min-width: 110px;
		min-height: 110px;
		margin: 0;
		border-radius: 8px;
		object-fit: cover;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-container .images-qty {
		display: none !important;
	}

	body.single-product .fr-customer-reviews #comments .reviews-images-container:has(.reviews-images-wrap-left .reviews-images-wrap) .reviews-images-wrap-right {
		display: none;
	}

	body.single-product .fr-customer-reviews #comments .wcpr-grid-item .wcpr-vote,
	body.single-product .fr-customer-reviews #comments .wcpr-grid-item .wcpr-helpful,
	body.single-product .fr-customer-reviews #comments .wcpr-grid-item .kt-wcpr-vote,
	body.single-product .fr-customer-reviews #comments .wcpr-grid-item .helpful-button {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 10px;
		width: 100%;
		margin: 10px 0 0;
		font-size: 13px;
	}

	body.single-product .fr-customer-reviews nav.woocommerce-pagination {
		margin-top: 20px;
	}

	/* Legacy Woo comment list fallback */
	body.single-product .fr-customer-reviews .commentlist {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	body.single-product .fr-customer-reviews .commentlist > li {
		margin: 0 !important;
		padding: 18px 0;
		border-bottom: 1px solid rgba(23, 35, 30, 0.1);
	}

	body.single-product .fr-customer-reviews .commentlist > li:last-child {
		border-bottom: 0;
	}

	body.single-product .fr-customer-reviews .commentlist .comment_container {
		padding: 0;
		border-bottom: 0;
		gap: 12px;
		align-items: flex-start;
	}

	body.single-product .fr-customer-reviews .commentlist li:last-child .comment_container {
		border-bottom: 0;
		padding-bottom: 0;
	}

	body.single-product .fr-customer-reviews .commentlist .comment-text {
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	body.single-product .fr-customer-reviews__header {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		column-gap: 12px;
		row-gap: 0;
		padding: 16px 0;
	}

	body.single-product .fr-customer-reviews__summary {
		display: contents;
	}

	body.single-product .fr-customer-reviews__header h2 {
		grid-column: 1 / -1;
		margin-bottom: 10px;
	}

	body.single-product .fr-customer-reviews__rating {
		grid-column: 1;
		grid-row: 2;
		gap: 6px 8px;
		min-width: 0;
	}

	body.single-product .fr-write-review-button {
		grid-column: 2;
		grid-row: 2;
		align-self: start;
		justify-self: end;
		width: auto;
		min-width: 135px;
		min-height: 38px;
		padding: 8px 14px;
		font-size: 13px;
		white-space: nowrap;
	}

	body.single-product .fr-review-modal {
		padding: 12px;
		align-items: center;
	}

	body.single-product .fr-review-modal__dialog {
		width: calc(100% - 24px);
		max-width: none;
		max-height: 88dvh;
		padding: 20px 16px;
	}

	body.single-product .fr-review-modal__title {
		margin: 0 40px 14px;
		font-size: 20px;
	}

	body.single-product .fr-review-modal .comment-form .form-submit input#submit,
	body.single-product .fr-review-modal .comment-form .form-submit .submit {
		width: 100%;
		min-width: 0;
	}

	body.single-product .fr-review-modal p.stars {
		font-size: 30px;
	}

	body.single-product .fr-review-modal__close {
		top: 10px;
		right: 10px;
		width: 44px;
		height: 44px;
	}

	@supports (-webkit-touch-callout: none) {
		body.single-product .fr-customer-reviews #comments .wcpr-review-content:not(.is-expanded) {
			display: -webkit-box !important;
			max-height: none !important;
			-webkit-line-clamp: 2 !important;
		}
	}
}

/* ==========================================================================
   WOOCOMMERCE CART
   ========================================================================== */

body.woocommerce-cart {
	overflow-x: clip;
}

body.woocommerce-cart #primary {
	margin: 0;
	padding: 48px 24px 72px;
}

body.woocommerce-cart #primary .content-container,
body.woocommerce-cart .site-main,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-block-woocommerce-cart {
	max-width: var(--fr-content-max-width);
	margin-inline: auto;
	min-width: 0;
}

body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart .entry-title {
	margin: 0 0 1.5rem;
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	line-height: 1.2;
	text-align: center;
}

/* Cart Block — two-column layout */

body.woocommerce-cart .wc-block-components-sidebar-layout {
	display: grid;
	grid-template-columns: minmax(0, 68fr) minmax(0, 32fr);
	gap: 32px;
	align-items: start;
	margin: 0;
}

body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	width: 100%;
	min-width: 0;
	padding: 0;
}

body.woocommerce-cart .wc-block-cart {
	padding-top: 0;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .woocommerce-cart-form {
	padding: 24px;
	border: 1px solid var(--fr-border);
	border-radius: var(--fr-radius-medium);
	background-color: var(--fr-white);
	box-sizing: border-box;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .cart-collaterals .cart_totals {
	position: sticky;
	top: 24px;
	padding: 24px;
	border: 1px solid var(--fr-border);
	border-radius: var(--fr-radius-medium);
	background-color: var(--fr-white);
	box-sizing: border-box;
}

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .cart_totals > h2 {
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--fr-border);
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.25;
}

/* Classic cart — grid layout */

body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
	display: grid;
	grid-template-columns: minmax(0, 68fr) minmax(0, 32fr);
	gap: 32px;
	align-items: start;
}

body.woocommerce-cart .woocommerce-cart-form {
	grid-column: 1;
	margin: 0;
}

body.woocommerce-cart .cart-collaterals {
	grid-column: 2;
	width: 100%;
	float: none;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
}

/* Product thumbnails */

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image img,
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	width: 110px;
	height: 110px;
	object-fit: cover;
	border-radius: 8px;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image,
body.woocommerce-cart .wc-block-cart__main .wc-block-cart-items th:first-child {
	width: 110px;
}

/* Product names */

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
body.woocommerce-cart .woocommerce-cart-form .product-name > a:not(.remove) {
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-cart .woocommerce-cart-form .product-name > a:not(.remove):hover {
	color: var(--fr-green-800);
	text-decoration: underline;
	text-decoration-color: var(--fr-gold);
}

/* Variation & personalization data */

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart .woocommerce-cart-form dl.variation,
body.woocommerce-cart .woocommerce-cart-form .wc-item-meta {
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--fr-muted);
}

body.woocommerce-cart .wc-block-components-product-details__name,
body.woocommerce-cart .wc-block-components-product-details__value,
body.woocommerce-cart .woocommerce-cart-form dl.variation dt,
body.woocommerce-cart .woocommerce-cart-form dl.variation dd,
body.woocommerce-cart .woocommerce-cart-form .wc-item-meta li {
	display: block;
	margin: 0;
}

body.woocommerce-cart .wc-block-components-product-details__name,
body.woocommerce-cart .woocommerce-cart-form dl.variation dt,
body.woocommerce-cart .woocommerce-cart-form .wc-item-meta .wc-item-meta-label {
	font-weight: 600;
	color: var(--fr-text);
}

body.woocommerce-cart .wc-block-components-product-details dd,
body.woocommerce-cart .woocommerce-cart-form dl.variation dd {
	margin: 0 0 0.25rem;
}

body.woocommerce-cart .wc-block-components-product-details a,
body.woocommerce-cart .woocommerce-cart-form dl.variation dd a,
body.woocommerce-cart .woocommerce-cart-form .wc-item-meta a {
	display: inline;
	color: var(--fr-green-800);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--fr-gold);
	word-break: break-word;
}

body.woocommerce-cart .wc-block-components-product-details a:hover,
body.woocommerce-cart .woocommerce-cart-form dl.variation dd a:hover,
body.woocommerce-cart .woocommerce-cart-form .wc-item-meta a:hover {
	color: var(--fr-green-700);
}

/* Cart item rows */

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row,
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr {
	border-top: 1px solid var(--fr-border);
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart {
	border: 0;
	border-collapse: collapse;
	margin: 0;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart thead th {
	padding: 0 0 0.75rem;
	border-bottom: 1px solid var(--fr-border);
	color: var(--fr-muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td {
	padding: 1.25rem 0.75rem 1.25rem 0;
	border-top: 1px solid var(--fr-border);
	vertical-align: middle;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td:last-child {
	padding-right: 0;
}

/* Quantity controls */

body.woocommerce-cart .wc-block-components-quantity-selector {
	display: grid !important;
	grid-template-columns: repeat(3, 44px) !important;
	width: 132px !important;
	min-width: 132px !important;
	height: 48px;
	padding: 0;
	border: 1px solid #d9d2c6;
	border-radius: 9px;
	overflow: hidden;
	box-sizing: border-box;
	background: #ffffff;
}

body.woocommerce-cart .woocommerce-cart-form .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid #d9d2c6;
	border-radius: 8px;
	background-color: var(--fr-white);
	overflow: hidden;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button {
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: 46px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	position: static !important;
	transform: none !important;
	border: 0;
	background: transparent;
	line-height: 1;
	color: #24563a;
	visibility: visible !important;
	opacity: 1 !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .plus,
body.woocommerce-cart .woocommerce-cart-form .quantity .minus,
body.woocommerce-cart .woocommerce-cart-form .quantity button {
	min-width: 44px;
	min-height: 44px;
	border: 0;
	background: transparent;
	color: var(--fr-green-900);
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) {
	background: #f3eee5;
	color: #24563a;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .plus:hover,
body.woocommerce-cart .woocommerce-cart-form .quantity .minus:hover,
body.woocommerce-cart .woocommerce-cart-form .quantity button:hover:not(:disabled) {
	background-color: var(--fr-cream-200);
	color: var(--fr-green-800);
}

body.woocommerce-cart .wc-block-components-quantity-selector__input {
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: 46px !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box;
	text-align: center;
	border-top: 0;
	border-bottom: 0;
	border-left: 1px solid #d9d2c6;
	border-right: 1px solid #d9d2c6;
	border-radius: 0;
	background: #ffffff;
	color: var(--fr-text);
	font-size: 16px;
	font-weight: 600;
	appearance: textfield;
	-moz-appearance: textfield;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .qty {
	width: 3rem;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-inline: 1px solid #d9d2c6;
	border-radius: 0;
	background: transparent;
	color: var(--fr-text);
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
	-moz-appearance: textfield;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
body.woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
body.woocommerce-cart .woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button,
body.woocommerce-cart .woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: nowrap;
}

/* Remove button */

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .woocommerce-cart-form .product-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--fr-muted);
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: color 0.15s ease, background-color 0.15s ease;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart .woocommerce-cart-form .product-remove .remove:hover {
	background-color: rgba(161, 38, 34, 0.08);
	color: #8b1a1a;
}

/* Coupon */

body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-cart .woocommerce-cart-form .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--fr-border);
}

body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input,
body.woocommerce-cart .woocommerce-cart-form .coupon label {
	flex: 1 1 180px;
	min-width: 0;
	margin: 0;
}

body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input,
body.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code {
	width: 100%;
	min-height: 48px;
	padding: 0.65rem 0.875rem;
	border: 1px solid #d9d2c6;
	border-radius: 8px;
	background-color: var(--fr-white);
	color: var(--fr-text);
	font-size: 0.9375rem;
	box-sizing: border-box;
}

body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-button,
body.woocommerce-cart .woocommerce-cart-form .coupon .button {
	flex: 0 0 auto;
	min-height: 48px;
	padding-inline: 1.25rem;
	border: 1px solid var(--fr-green-800);
	border-radius: 8px;
	background-color: var(--fr-white);
	color: var(--fr-green-900);
	font-weight: 700;
}

body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-button:hover,
body.woocommerce-cart .woocommerce-cart-form .coupon .button:hover {
	background-color: var(--fr-cream-200);
	color: var(--fr-green-800);
}

body.woocommerce-cart .woocommerce-cart-form .coupon label {
	display: none;
}

/* Totals rows */

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .cart_totals table.shop_table tr {
	border-bottom: 1px solid var(--fr-border);
}

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .cart_totals table.shop_table tr th,
body.woocommerce-cart .cart_totals table.shop_table tr td {
	padding-block: 0.75rem;
	font-size: 0.9375rem;
}

body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
body.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
	padding-block: 1rem;
	border-bottom: 0;
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-size: 1.125rem;
	font-weight: 700;
}

body.woocommerce-cart .cart_totals table.shop_table {
	border: 0;
	border-collapse: collapse;
	margin: 0 0 1rem;
}

body.woocommerce-cart .cart_totals table.shop_table th {
	font-weight: 600;
	text-align: left;
}

body.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right;
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
	border-bottom-color: var(--fr-border);
}

/* Checkout button */

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-checkout-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 0.875rem 1.5rem;
	border: 1px solid var(--fr-green-900);
	border-radius: 8px;
	background-color: var(--fr-green-900);
	color: var(--fr-white);
	font-family: var(--fr-font-body);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-checkout-button:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--fr-green-800);
	border-color: var(--fr-green-800);
	color: var(--fr-white);
}

body.woocommerce-cart .wc-block-cart__submit-container,
body.woocommerce-cart .wc-proceed-to-checkout {
	margin: 0;
	padding: 0;
}

/* Update cart button (classic) */

body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"] {
	min-height: 44px;
	margin-top: 1rem;
	border: 1px solid var(--fr-green-800);
	border-radius: 8px;
	background-color: var(--fr-white);
	color: var(--fr-green-900);
	font-weight: 700;
}

body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:hover {
	background-color: var(--fr-cream-200);
}

/* Focus styles */

body.woocommerce-cart a:focus-visible,
body.woocommerce-cart button:focus-visible,
body.woocommerce-cart input:focus-visible,
body.woocommerce-cart select:focus-visible,
body.woocommerce-cart .wc-block-components-quantity-selector__button:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

body.woocommerce-cart input:focus,
body.woocommerce-cart select:focus,
body.woocommerce-cart .wc-block-components-quantity-selector__input:focus {
	border-color: var(--fr-green-800);
	outline: none;
}

/* Empty cart */

body.woocommerce-cart .wc-block-cart__empty-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	box-sizing: border-box;
	width: min(var(--fr-layout-width, 1290px), calc(100% - 48px));
	max-width: none;
	margin-inline: auto;
	padding: 48px 0 56px;
	text-align: center;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .cart-empty.woocommerce-info,
body.woocommerce-cart .woocommerce-info.cart-empty {
	margin: 0 auto 1.5rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fr-text);
	font-family: var(--fr-font-heading);
	font-size: clamp(1.375rem, 3vw, 1.75rem);
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	max-width: 36rem;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	max-width: 36rem;
	margin-inline: auto;
}

body.woocommerce-cart .cart-empty.woocommerce-info::before,
body.woocommerce-cart .woocommerce-info.cart-empty::before {
	display: none;
}

body.woocommerce-cart .return-to-shop,
body.woocommerce-cart .wc-block-cart__empty-cart .wp-block-button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-button {
	margin: 0 auto;
	text-align: center;
	max-width: 36rem;
}

body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .return-to-shop a,
body.woocommerce-cart .wc-block-cart__empty-cart .wp-block-button__link,
body.woocommerce-cart .wc-block-cart__empty-cart a.wc-block-components-button,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0.875rem 1.75rem;
	border: 1px solid var(--fr-green-900);
	border-radius: 8px;
	background-color: var(--fr-green-900);
	color: var(--fr-white);
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-cart .return-to-shop .button:hover,
body.woocommerce-cart .return-to-shop a:hover,
body.woocommerce-cart .wc-block-cart__empty-cart .wp-block-button__link:hover,
body.woocommerce-cart .wc-block-cart__empty-cart a.wc-block-components-button:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-button .wp-block-button__link:hover {
	background-color: var(--fr-green-800);
	border-color: var(--fr-green-800);
	color: var(--fr-white);
}

/* ==========================================================================
   EMPTY CART — NEW IN STORE PRODUCT CARDS
   Classic products shortcode; match Home/Shop card look.
   ========================================================================== */

body.woocommerce-cart .fr-empty-cart-new-in-store {
	width: 100%;
	max-width: none;
	margin: 2rem 0 0;
	padding: 0;
	text-align: left;
}

body.woocommerce-cart .fr-empty-cart-new-in-store .woocommerce {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 0;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	align-items: stretch;
	gap: 20px !important;

	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	float: none !important;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products::before,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	box-sizing: border-box;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	flex: none !important;
	flex-basis: auto !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	overflow: hidden;
	background-color: #ffffff;
	box-shadow: 0 4px 14px rgba(23, 63, 43, 0.05);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		border-color 180ms ease;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product:hover {
	border-color: #d7cdbd;
	box-shadow: 0 12px 28px rgba(23, 63, 43, 0.12);
	transform: translateY(-3px);
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
> .yith-add-to-wishlist-button-block {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
a.woocommerce-loop-image-link {
	display: block !important;
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	margin-top: 0 !important;
	padding-top: 0 !important;
	overflow: hidden;
	line-height: 0;
	background-color: #f4eee3;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
a.woocommerce-loop-image-link img {
	display: block !important;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.entry-content-wrap,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.product-details {
	display: block !important;
	box-sizing: border-box;
	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 6px 8px 9px !important;
	overflow: visible !important;
	text-align: left;
	background-color: #ffffff;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.woocommerce-loop-product__title {
	display: -webkit-box !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;
	margin: 0 0 3px !important;
	padding: 0 !important;
	overflow: hidden !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 18px !important;
	letter-spacing: 0 !important;
	color: inherit;
	text-align: left !important;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.woocommerce-loop-product__title > a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit;
	font: inherit !important;
	line-height: inherit !important;
	white-space: normal !important;
	text-decoration: none;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.star-rating {
	display: inline-block !important;
	float: none !important;
	clear: none !important;
	width: 5.4em;
	margin: 4px 5px 5px 0 !important;
	vertical-align: middle;
	line-height: 1;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.fr-loop-rating-meta {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
	float: none !important;
	clear: none !important;
	width: auto !important;
	margin: 4px 0 5px !important;
	vertical-align: middle;
	line-height: 1;
	white-space: nowrap;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.fr-loop-price-row {
	display: flex !important;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 7px;
	clear: both !important;
	width: 100%;
	min-width: 0;
	margin: 1px 0 0 !important;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.fr-loop-price-row > .price {
	display: inline-flex !important;
	align-items: baseline;
	flex: 0 1 auto;
	gap: 4px;
	clear: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	font-weight: 600;
	line-height: 18px !important;
	white-space: nowrap;
	color: #174d3a !important;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.price del,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.price del .woocommerce-Price-amount {
	margin-right: 4px;
	font-size: 12px !important;
	font-weight: 400;
	color: #8a8a8a !important;
	opacity: 0.65;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.price ins,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.price .woocommerce-Price-amount {
	color: #174d3a !important;
	font-size: 14px !important;
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.fr-loop-discount-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 24px;
	margin: 0;
	padding: 3px 7px;
	border: 1px solid rgba(213, 45, 37, 0.14);
	border-radius: 7px;
	background-color: #fff0ee;
	color: #d52d25;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.product-action-wrap,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
a.button,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
button.button,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.product-excerpt,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.onsale,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .onsale,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block
.wc-block-grid__product-onsale {
	display: none !important;
	margin: 0;
}

/* Wishlist: match Home/Shop hover + always-visible on touch */
@media (hover: hover) and (pointer: fine) {
	body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
	.yith-wcwl-add-to-wishlist-button {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 160ms ease,
			visibility 160ms ease;
	}

	body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product:hover
	.yith-wcwl-add-to-wishlist-button,
	body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product:focus-within
	.yith-wcwl-add-to-wishlist-button,
	body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
	.yith-wcwl-add-to-wishlist-button--added {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

@media (hover: none), (pointer: coarse) {
	body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
	.yith-wcwl-add-to-wishlist-button {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.yith-wcwl-add-to-wishlist-button {
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
	padding: 5px;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.yith-wcwl-add-to-wishlist-button--added {
	color: #dc2626 !important;
}

body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon,
body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
.yith-wcwl-add-to-wishlist-button--added svg path {
	color: #dc2626 !important;
	fill: #dc2626 !important;
	stroke: #dc2626 !important;
}

body.woocommerce-cart .fr-empty-cart-new-in-store
.yith-wcwl-add-to-wishlist__feedback,
body.woocommerce-cart .fr-empty-cart-new-in-store
.yith-wcwl-feedback__product-name,
body.woocommerce-cart .fr-empty-cart-new-in-store
.yith-wcwl-feedback__wishlist-name {
	display: none !important;
}

body.woocommerce-cart .fr-empty-cart-new-in-store .fr-product-wishlist-status {
	position: absolute;
	left: 50%;
	bottom: 10px;
	z-index: 4;
	box-sizing: border-box;
	width: max-content;
	max-width: calc(100% - 16px);
	margin: 0;
	padding: 6px 10px;
	border-radius: 6px;
	background-color: rgba(23, 63, 43, 0.92);
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%);
	transition:
		opacity 160ms ease,
		visibility 160ms ease;
}

body.woocommerce-cart .fr-empty-cart-new-in-store
.fr-product-wishlist-status.is-visible {
	opacity: 1;
	visibility: visible;
}

@media (max-width: 1024px) {
	body.woocommerce-cart .fr-empty-cart-new-in-store ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	body.woocommerce-cart .wc-block-cart__empty-cart,
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
		width: 100%;
		max-width: var(--fr-layout-width, 1290px);
		padding: 40px 0 48px;
	}

	body.woocommerce-cart .fr-empty-cart-new-in-store ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}

	body.woocommerce-cart .fr-empty-cart-new-in-store ul.products li.product
	.woocommerce-loop-product__title {
		font-size: 13px !important;
		height: 32px !important;
		min-height: 32px !important;
		max-height: 32px !important;
		line-height: 16px !important;
	}

	/*
	 * CART MOBILE — single layout source of truth
	 * DOM: row > image | product(wrap: name, prices, metadata, quantity) | total
	 * Override Woo defaults that place quantity under image and total at top-right.
	 */
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		column-gap: 12px;
		row-gap: 8px;
		align-items: start;
		margin: 0;
		padding: 14px 0;
		border: 0 !important;
		border-top: 0 !important;
		border-bottom: 1px solid rgba(23, 63, 43, 0.1) !important;
		height: auto;
		min-height: 0;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row:first-child {
		padding-top: 0;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row:last-child {
		border-bottom: 0 !important;
		padding-bottom: 0;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
		grid-column: 1 / 2 !important;
		grid-row: 1 / 4 !important;
		align-self: start;
		padding: 0 !important;
		margin: 0;
		border: 0;
	}

	/* Flatten product wrappers so quantity can share the action row with total */
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
		display: contents;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
		align-self: start;
		margin: 0;
		font-size: 0.9375rem;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
		display: none;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
		margin: 0;
		padding: 0;
		height: auto;
		min-height: 0;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-components-product-metadata:not(:has(.wc-block-components-product-details__name)) {
		display: none;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-components-product-details__name {
		font-weight: 400 !important;
		color: var(--fr-muted) !important;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-components-product-details__value {
		font-size: 13px !important;
		font-weight: 700 !important;
		color: var(--fr-text) !important;
	}

	/* Action row: quantity + trash (left) | price (right) — same grid cell */
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
		grid-column: 2 / 3 !important;
		grid-row: 3 / 4 !important;
		justify-self: start;
		align-self: center;
		display: flex;
		align-items: center;
		gap: 10px;
		width: auto;
		max-width: none;
		height: auto;
		min-height: 0;
		margin: 0;
		padding: 0 !important;
		border: 0;
		z-index: 1;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
		grid-column: 2 / 3 !important;
		grid-row: 3 / 4 !important;
		justify-self: end;
		align-self: center;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		justify-content: center;
		width: auto;
		max-width: none;
		height: auto;
		min-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		z-index: 1;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-cart-item__total-price-and-sale-badge-wrapper {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		justify-content: center;
		text-align: right;
		gap: 2px;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-cart-item__total .wc-block-components-product-price,
	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-cart-item__total .wc-block-components-formatted-money-amount {
		font-size: 16px !important;
		font-weight: 700 !important;
		color: var(--fr-green-900) !important;
		text-align: right;
		line-height: 1.3 !important;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-cart-item__total .wc-block-components-sale-badge {
		text-align: right;
		justify-content: flex-end;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-components-quantity-selector {
		height: 34px !important;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-components-quantity-selector__button {
		height: 34px !important;
		min-height: 34px !important;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-components-quantity-selector__input {
		height: 34px !important;
		min-height: 34px !important;
		font-weight: 700;
	}

	body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row
	.wc-block-cart-item__remove-link {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 34px;
		height: 34px;
		min-width: 34px;
		min-height: 34px;
		margin: 0;
		padding: 0;
		font-size: 1.25rem;
		line-height: 1;
	}

	/* Cart shell: no gray borders, no tall empty gap before totals */
	body.woocommerce-cart .wc-block-cart,
	body.woocommerce-cart .wc-block-components-sidebar-layout {
		margin: 0;
		padding: 0;
		gap: 0;
		row-gap: 0;
		height: auto;
		min-height: 0;
	}

	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart .cart-collaterals .cart_totals {
		margin: 0;
		padding: 12px 0 0;
		border: 0 !important;
		border-radius: 0;
		box-shadow: none;
		height: auto;
		min-height: 0;
		background: transparent;
	}

	body.woocommerce-cart .wc-block-cart__main {
		padding-bottom: 0;
	}

	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart .wc-block-components-sidebar {
		margin-top: 7px !important;
		padding-top: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon {
		margin-top: 0.75rem;
		padding-top: 0.75rem;
	}

	body.woocommerce-cart #primary {
		padding-bottom: 28px;
	}

	body.woocommerce-cart .wc-block-cart__totals-title,
	body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header {
		display: none;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
	body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel {
		border: 0 !important;
		border-top: 0 !important;
		border-bottom: 0 !important;
		box-shadow: none;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
		margin: 0 0 0 !important;
		padding: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block {
		margin: 0;
		padding: 0;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
		padding-left: 0 !important;
		padding-right: 0 !important;
		gap: 0;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		gap: 12px;
		margin: 0;
		padding-block: 7.5px;
		padding-inline: 0;
		min-height: 0;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		gap: 12px;
		margin: 0;
		padding-block: 7.5px;
		padding-inline: 0;
		min-height: 0;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
		flex: 1 1 auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		text-align: left;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value .wc-block-formatted-money-amount,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value .wc-block-formatted-money-amount {
		flex: 0 0 auto;
		margin-left: auto;
		padding: 0;
		text-align: right;
		white-space: nowrap;
		font-weight: 700 !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit-container {
		margin: 14px 0 0;
		padding: 0 !important;
	}

	/* Fixed/sticky checkout bar (Woo: .wc-block-cart__submit-container--sticky) */
	body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky {
		bottom: calc(env(safe-area-inset-bottom, 0px) + 30px);
		left: 0;
		right: 0;
		width: 100%;
		padding: 16px 0;
		display: flex;
		justify-content: center;
		box-sizing: border-box;
	}

	body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky .wc-block-cart__submit-button {
		width: 80%;
		max-width: 80%;
		border-radius: 18px;
	}

	body.woocommerce-cart .wc-block-cart__submit-button {
		gap: 0.625rem;
		min-height: 56px;
		padding: 1rem 1.25rem;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		white-space: nowrap;
		font-size: 22px;
	}

	body.woocommerce-cart .wc-block-cart__submit-button .fr-checkout-label,
	body.woocommerce-cart .wc-block-cart__submit-button .fr-checkout-total {
		font-size: 22px;
		font-weight: 700;
		line-height: 1.2;
	}

	body.woocommerce-cart .wc-block-cart__submit-button .fr-checkout-total {
		letter-spacing: 0;
		text-transform: none;
	}
}

@media (max-width: 767px) {
	/* PayPal express — match in-cart Proceed to Checkout width on mobile */
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-express-payment__event-buttons {
		box-sizing: border-box;
		display: block;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-express-payment__event-buttons > div {
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
	}
}

/* Cart remove confirm modal (mobile <=767 + desktop >=1024 via JS) */
.fr-cart-remove-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}

.fr-cart-remove-modal[hidden] {
	display: none !important;
}

.fr-cart-remove-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
}

.fr-cart-remove-modal__dialog {
	position: relative;
	z-index: 1;
	width: calc(100% - 32px);
	max-width: 400px;
	margin: 0;
	padding: 26px;
	border: 0;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 12px 32px rgba(23, 63, 43, 0.16);
	box-sizing: border-box;
	text-align: center;
}

.fr-cart-remove-modal__title {
	margin: 0 0 10px;
	color: #164b35;
	font-family: var(--fr-font-heading, Georgia, "Times New Roman", serif);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.fr-cart-remove-modal__text {
	margin: 0 0 22px;
	color: #5c5c5c;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
}

.fr-cart-remove-modal__actions {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 12px;
}

.fr-cart-remove-modal__btn {
	flex: 1 1 0;
	min-height: 42px;
	padding: 0.65rem 1rem;
	border-radius: 6px;
	font-family: var(--fr-font-body, Arial, Helvetica, sans-serif);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.fr-cart-remove-modal__btn--cancel {
	border: 1px solid #164b35;
	background: #ffffff;
	color: #164b35;
}

.fr-cart-remove-modal__btn--cancel:hover {
	background: #f4eee3;
}

.fr-cart-remove-modal__btn--confirm {
	border: 1px solid #164b35;
	background: #164b35;
	color: #ffffff;
}

.fr-cart-remove-modal__btn--confirm:hover {
	border-color: #0f3a28;
	background: #0f3a28;
	color: #ffffff;
}

body.fr-cart-remove-modal-open {
	overflow: hidden;
}

/* ==========================================================================
   SINGLE PRODUCT — Save Previous Customization modal
   ========================================================================== */

.fr-customization-draft-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}

.fr-customization-draft-modal[hidden] {
	display: none !important;
}

.fr-customization-draft-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
}

.fr-customization-draft-modal__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 540px;
	max-width: min(540px, calc(100vw - 32px));
	margin: 0;
	padding: 32px 28px 28px;
	border: 0;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 16px 40px rgba(23, 63, 43, 0.18);
	box-sizing: border-box;
	text-align: center;
}

.fr-customization-draft-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #6b6b6b;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.fr-customization-draft-modal__close:hover,
.fr-customization-draft-modal__close:focus-visible {
	color: #164b35;
	background: #f4eee3;
}

.fr-customization-draft-modal__title {
	margin: 0 0 14px;
	padding: 0 24px;
	color: #111111;
	font-family: var(--fr-font-heading, Georgia, "Times New Roman", serif);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}

.fr-customization-draft-modal__text {
	margin: 0 0 26px;
	color: #5c5c5c;
	font-family: var(--fr-font-body, Arial, Helvetica, sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	text-align: center;
}

.fr-customization-draft-modal__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 12px;
}

.fr-customization-draft-modal__btn {
	flex: 0 1 140px;
	min-height: 42px;
	padding: 0.7rem 1.25rem;
	border-radius: 999px;
	font-family: var(--fr-font-body, Arial, Helvetica, sans-serif);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.fr-customization-draft-modal__btn--yes {
	border: 1px solid #164b35;
	background: #164b35;
	color: #ffffff;
}

.fr-customization-draft-modal__btn--yes:hover,
.fr-customization-draft-modal__btn--yes:focus-visible {
	border-color: #0f3a28;
	background: #0f3a28;
	color: #ffffff;
}

.fr-customization-draft-modal__btn--no {
	border: 1px solid #e2ded5;
	background: #f4eee3;
	color: #26352f;
}

.fr-customization-draft-modal__btn--no:hover,
.fr-customization-draft-modal__btn--no:focus-visible {
	border-color: #d4cdc0;
	background: #ebe4d8;
	color: #164b35;
}

body.fr-customization-draft-modal-open {
	overflow: hidden;
}

.fr-customization-reupload-note {
	margin: 8px 0 0;
	color: #8a5a00;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.fr-customization-draft-modal {
		padding: 12px;
	}

	.fr-customization-draft-modal__dialog {
		width: calc(100% - 24px);
		max-width: none;
		padding: 22px 18px 18px;
	}

	.fr-customization-draft-modal__title {
		font-size: 22px;
		padding: 0 20px;
	}

	.fr-customization-draft-modal__text {
		margin-bottom: 20px;
		font-size: 15px;
	}

	.fr-customization-draft-modal__btn {
		min-height: 44px;
	}
}

@media screen and (max-width: 380px) {
	.fr-customization-draft-modal__actions {
		flex-direction: column;
	}

	.fr-customization-draft-modal__btn {
		flex: 1 1 auto;
		width: 100%;
	}
}

/* ==========================================================================
   CART — Trust / Checkout Benefits (below Checkout, before footer)
   Scoped: .wp-block-woocommerce-cart + .wp-block-group only on Cart page
   ========================================================================== */

body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group {
	margin-top: 18px;
	margin-bottom: 20px;
	padding: 0;
}

body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-group__inner-container {
	margin: 0;
	padding: 0;
}

body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group + .wp-block-paragraph:empty {
	display: none;
	margin: 0;
	padding: 0;
}

body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center {
	margin: 16px 0 0;
	padding: 0;
	text-align: center;
}

body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a,
body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:hover,
body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:focus,
body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:focus-visible,
body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:active,
body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:visited {
	display: inline;
	border: 0;
	background: none;
	color: var(--fr-green-800, #174d3a);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

@media screen and (min-width: 768px) {
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group {
		margin-top: 28px;
		margin-bottom: 28px;
		width: 100%;
		max-width: 100%;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-items: start;
		gap: 20px 24px;
		width: 100%;
		margin: 0;
		flex-wrap: nowrap !important;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-columns > .wp-block-column {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: start;
		column-gap: 12px;
		row-gap: 4px;
		min-width: 0;
		margin: 0 !important;
		padding: 0;
		text-align: left;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column .wp-block-image {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: start;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 56px;
		height: 56px;
		margin: 0;
		padding: 0;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column .wp-block-image img {
		display: block;
		width: auto !important;
		height: auto !important;
		max-width: 48px;
		max-height: 48px;
		margin: 0;
		object-fit: contain;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column h3.wp-block-heading {
		grid-column: 2;
		grid-row: 1;
		margin: 0;
		padding: 0;
		color: var(--fr-text, #1d211f);
		font-size: 15px;
		font-weight: 700;
		line-height: 1.25;
		text-align: left !important;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column h3.wp-block-heading strong {
		font-weight: 700;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column p.wp-block-paragraph {
		grid-column: 2;
		grid-row: 2;
		margin: 0;
		padding: 0;
		color: #6b706c;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.45;
		text-align: left;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center {
		margin: 24px 0 0;
		padding: 0;
		text-align: center;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:hover,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:focus,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:focus-visible,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:active,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:visited {
		font-size: 16px;
		font-weight: 700;
	}
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-columns {
		gap: 16px 18px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column {
		grid-template-columns: 48px minmax(0, 1fr);
		column-gap: 10px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column .wp-block-image {
		width: 48px;
		height: 48px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column .wp-block-image img {
		max-width: 42px;
		max-height: 42px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column h3.wp-block-heading {
		font-size: 14px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column p.wp-block-paragraph {
		font-size: 12px;
		line-height: 1.4;
	}
}

@media screen and (max-width: 767px) {
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group {
		margin-top: 18px;
		margin-bottom: 10px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-items: start;
		gap: 4px;
		width: 100%;
		margin: 0;
		flex-wrap: nowrap !important;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-columns > .wp-block-column {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		width: auto !important;
		min-width: 0;
		flex: 1 1 0;
		flex-basis: 0 !important;
		flex-grow: 1 !important;
		margin: 0 !important;
		padding: 0;
		text-align: center;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column p.wp-block-paragraph {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column .wp-block-image {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 50px;
		margin: 0;
		padding: 0;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column .wp-block-image img {
		display: block;
		width: auto !important;
		height: auto !important;
		max-width: 44px;
		max-height: 44px;
		margin: 0;
		object-fit: contain;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column h3.wp-block-heading {
		margin: 5px 0 0;
		padding: 0;
		color: var(--fr-text, #1d211f);
		font-size: 11px;
		font-weight: 700;
		line-height: 1.15;
		text-align: center !important;
		overflow-wrap: anywhere;
		word-break: normal;
		hyphens: auto;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column h3.wp-block-heading strong {
		font-weight: 700;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center {
		margin-top: 16px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:hover,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:focus,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:focus-visible,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:active,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:visited {
		font-size: 19px;
		font-weight: 700;
	}
}

@media screen and (max-width: 360px) {
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-columns {
		gap: 2px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column .wp-block-image {
		height: 44px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column .wp-block-image img {
		max-width: 40px;
		max-height: 40px;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-column h3.wp-block-heading {
		font-size: 10px;
		line-height: 1.12;
	}

	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:hover,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:focus,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:focus-visible,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:active,
	body.woocommerce-cart .entry-content.single-content > .wp-block-woocommerce-cart + .wp-block-group .wp-block-paragraph.has-text-align-center a:visited {
		font-size: 13px;
	}
}

/* Responsive */

@media (max-width: 900px) {
	body.woocommerce-cart .wc-block-components-sidebar-layout,
	body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-cart .wc-block-components-main,
	body.woocommerce-cart .woocommerce-cart-form {
		grid-column: 1;
		grid-row: 1;
	}

	body.woocommerce-cart .wc-block-components-sidebar,
	body.woocommerce-cart .cart-collaterals {
		grid-column: 1;
		grid-row: 2;
	}

	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart .cart-collaterals .cart_totals {
		position: static;
	}

	body.woocommerce-cart .wc-block-components-totals-coupon,
	body.woocommerce-cart .woocommerce-cart-form .coupon {
		flex-direction: column;
	}

	body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-button,
	body.woocommerce-cart .woocommerce-cart-form .coupon .button {
		width: 100%;
	}
}

@media (max-width: 600px) {
	body.woocommerce-cart #primary {
		padding-block: 40px 28px;
		padding-inline: 0;
	}

	/* Mobile shell padding/borders are owned by the 767px Cart mobile block */
	body.woocommerce-cart .wc-block-cart-item__image img,
	body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image img,
	body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
		width: 88px;
		height: 88px;
	}
}

/* ==========================================================================
   CART & CHECKOUT — product metadata
   ========================================================================== */
/* Ẩn mô tả ngắn sản phẩm trong Checkout */
body.woocommerce-checkout
.wc-block-components-product-metadata__description {
	display: none !important;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details > span {
	display: block;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details span[aria-hidden="true"] {
	display: none;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details__name,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details__value {
	display: inline;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-metadata,
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
	gap: 0.35rem;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details a,
body:is(.woocommerce-cart, .woocommerce-checkout) .woocommerce-cart-form dl.variation dd a,
body:is(.woocommerce-cart, .woocommerce-checkout) .woocommerce-checkout-review-order-table dl.variation dd a {
	display: inline;
	color: var(--fr-green-800);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--fr-gold);
	word-break: break-word;
}

/* ==========================================================================
   WOOCOMMERCE CHECKOUT
   ========================================================================== */

body.woocommerce-checkout:not(.woocommerce-order-received) {
	overflow-x: clip;
	margin-bottom: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #primary {
	margin: 0;
	margin-bottom: 0;
	padding: 48px 24px 72px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #primary .content-container,
body.woocommerce-checkout:not(.woocommerce-order-received) .site-main,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout {
	max-width: 1320px;
	margin-inline: auto;
	min-width: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-post-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title {
	margin: 0 0 1.5rem;
	color: #173f2b;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	line-height: 1.2;
	text-align: center;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout {
	display: grid;
	grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
	gap: 34px;
	align-items: start;
	margin: 0;
	flex-direction: unset;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	width: 100%;
	min-width: 0;
	padding: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-main {
	grid-column: 1;
	grid-row: 1;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar {
	grid-column: 2;
	grid-row: 1;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step {
	padding: 26px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step + .wc-block-components-checkout-step {
	margin-top: 1.25rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar {
	position: sticky;
	top: 110px;
	padding: 26px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	overflow: hidden;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
	border: 0;
	border-radius: 0;
	background: transparent;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__title,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-cart__totals-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary__heading {
	margin: 0 0 1rem;
	color: #173f2b;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.25;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-text-input input,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-combobox .components-custom-select-control__button,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-form .wc-block-components-select select,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-textarea textarea {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid #d9d2c6;
	border-radius: 7px;
	background-color: #ffffff;
	color: #1d211f;
	font-size: 0.9375rem;
	line-height: 1.4;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-textarea textarea::placeholder {
	color: #6b706c;
	opacity: 1;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-textarea textarea {
	min-height: 110px;
	padding-block: 11px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-text-input label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-combobox label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-select label {
	display: block;
	margin-bottom: 0.35rem;
	color: #1d211f;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-text-input,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-combobox,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-select,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-textarea {
	margin-bottom: 1rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option {
	width: 100%;
	margin-bottom: 0.75rem;
	border: 1px solid #e6ded1;
	border-radius: 8px;
	background-color: #ffffff;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
	padding: 16px 18px 16px 48px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
	margin-bottom: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:last-child,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option:last-child {
	margin-bottom: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control__option-checked,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: #355a4a;
	background-color: #e8f0eb;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control__input,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option input[type="radio"] {
	margin: 0;
	accent-color: #173f2b;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
	margin-left: auto;
	flex-shrink: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option-layout {
	display: flex;
	flex-direction: column;
	width: 100%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label-group {
	display: flex;
	align-items: center;
	width: 100%;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__description {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__description {
	display: block;
	margin-top: 0.25rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-formatted-money-amount,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__description,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label-group,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__description-group {
	writing-mode: horizontal-tb;
	word-break: normal;
	overflow-wrap: normal;
	white-space: normal;
	width: auto;
	max-width: none;
	min-width: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control-accordion-content:empty {
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image img {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 8px;
	object-fit: cover;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-name {
	color: #173f2b;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__description,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details {
	display: block;
	margin-top: 0.35rem;
	color: #6b706c;
	font-size: 0.8125rem;
	line-height: 1.45;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details__name,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-metadata__name {
	font-weight: 600;
	color: #1d211f;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details__value,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-metadata__value {
	color: #6b706c;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item {
	padding-block: 0.875rem;
	border-bottom: 1px solid #e6ded1;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-footer-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.625rem 18px;
	border-bottom: 1px solid #e6ded1;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__value {
	color: #1d211f;
	font-size: 0.9375rem;
	line-height: 1.4;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__label {
	flex: 1 1 auto;
	text-align: left;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__value {
	flex: 0 0 auto;
	text-align: right;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
	font-weight: 600;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-footer-item {
	padding-block: 20px;
	border-bottom: 0;
	color: #173f2b;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.125rem;
	font-weight: 700;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon {
	margin-bottom: 1rem;
	border: 1px solid #e6ded1;
	border-radius: 8px;
	background-color: #ffffff;
	overflow: hidden;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon .wc-block-components-panel__button {
	padding: 14px 18px;
	color: #173f2b;
	font-weight: 600;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon__content {
	padding: 0 18px 16px;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon__form {
	display: flex;
	align-items: stretch;
	gap: 10px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon .wc-block-components-text-input {
	flex: 1 1 auto;
	min-width: 0;
	margin-bottom: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon .wc-block-components-text-input input {
	width: 100%;
	min-height: 50px;
	height: 50px;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon .wc-block-components-button {
	flex: 0 0 145px;
	width: 145px;
	min-height: 50px;
	height: 50px;
	padding: 11px 16px;
	border: 1px solid #173f2b;
	border-radius: 7px;
	background-color: #173f2b;
	color: #ffffff;
	font-weight: 600;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon .wc-block-components-button:hover {
	background-color: #24563a;
	border-color: #24563a;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__terms,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 1.25rem 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__use-address-for-billing,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__use-address-for-billing input[type="checkbox"],
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox input[type="checkbox"] {
	flex: 0 0 auto;
	width: auto;
	min-width: 18px;
	min-height: 18px;
	margin: 0;
	accent-color: #173f2b;
	align-self: center;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox__label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__use-address-for-billing label {
	margin: 0;
	line-height: 1.4;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkbox input[type="checkbox"],
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__terms input[type="checkbox"] {
	flex: 0 0 auto;
	width: auto;
	min-width: 18px;
	min-height: 18px;
	margin: 0.2em 0 0;
	accent-color: #173f2b;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkbox__label,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__terms span {
	color: #1d211f;
	font-size: 0.9375rem;
	line-height: 1.5;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkbox__label a,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__terms a {
	color: #173f2b;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button .wc-block-components-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: 0.875rem 1.5rem;
	border: 1px solid #173f2b;
	border-radius: 7px;
	background-color: #173f2b;
	color: #ffffff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 150ms ease, border-color 150ms ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button .wc-block-components-button:hover:not(:disabled) {
	background-color: #24563a;
	border-color: #24563a;
	color: #ffffff;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button .wc-block-components-button:disabled,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button .wc-block-components-button[disabled] {
	background-color: #6b706c;
	border-color: #6b706c;
	color: #ffffff;
	cursor: not-allowed;
	opacity: 0.85;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-notice-banner,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-store-notice {
	margin-bottom: 1rem;
	padding: 14px 16px;
	border-radius: 8px;
	font-size: 0.9375rem;
	line-height: 1.5;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-notice-banner.is-error,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-validation-error {
	border: 1px solid #e8c4c4;
	background-color: #fdf0f0;
	color: #6b1f1f;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-notice-banner.is-info,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info {
	border: 1px solid #e6ded1;
	background-color: #fbf8f1;
	color: #1d211f;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-notice-banner.is-success,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message {
	border: 1px solid #c5dfc9;
	background-color: #eef6f0;
	color: #173f2b;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-validation-error p {
	margin: 0.35rem 0 0;
	color: #6b1f1f;
	font-size: 0.875rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__actions {
	margin-top: 1rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) a:focus-visible,
body.woocommerce-checkout:not(.woocommerce-order-received) button:focus-visible,
body.woocommerce-checkout:not(.woocommerce-order-received) input:focus-visible,
body.woocommerce-checkout:not(.woocommerce-order-received) select:focus-visible,
body.woocommerce-checkout:not(.woocommerce-order-received) textarea:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) input:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) select:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) textarea:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-text-input input:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-form .wc-block-components-select select:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-textarea textarea:focus {
	border-color: #24563a;
	outline: none;
	box-shadow: 0 0 0 3px rgba(36, 86, 58, 0.18);
}

@media (max-width: 900px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-main {
		grid-column: 1;
		grid-row: 1;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar {
		grid-column: 1;
		grid-row: 2;
		width: 100%;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar {
		position: static;
		top: auto;
		width: 100%;
	}
}

@media (max-width: 600px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) #primary {
		padding-block: 24px 48px;
		padding-inline: 0;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main,
	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar,
	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step {
		padding: 20px 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button .wc-block-components-button,
	body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-coupon .wc-block-components-button {
		transition: none;
	}
}

/* ==========================================================================
   WOOCOMMERCE ORDER RECEIVED / THANK YOU
   ========================================================================== */

body.woocommerce-order-received {
	overflow-x: clip;
}

body.woocommerce-order-received #primary {
	margin: 0;
	padding: 48px 24px 72px;
}

body.woocommerce-order-received #primary .content-container,
body.woocommerce-order-received .site-main,
body.woocommerce-order-received .entry-content {
	width: 100%;
	max-width: 1300px;
	min-width: 0;
	margin-inline: auto;
	box-sizing: border-box;
}

body.woocommerce-order-received .woocommerce-order {
	width: 100%;
	max-width: 100%;
	margin: 0;
	color: var(--fr-text);
	font-family: var(--fr-font-body);
	font-size: 0.9375rem;
	line-height: 1.65;
}

body.woocommerce-order-received .woocommerce-order > :last-child {
	margin-bottom: 0;
}

/* Success message */

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 0 1.75rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid #c5dfc9;
	border-radius: var(--fr-radius-medium);
	background-color: #eef6f0;
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-size: clamp(1.25rem, 2.5vw, 1.625rem);
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}

/* Order overview list */

body.woocommerce-order-received .woocommerce ul.order_details.woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-overview.order_details,
body.woocommerce-order-received .woocommerce-order-overview {
	display: flex !important;
	flex-direction: column;
	width: 100% !important;
	max-width: none !important;
	margin: 28px 0 12px !important;
	padding: 0 !important;
	list-style: none;
	overflow: hidden;
	border: 1px solid #e5ddd0;
	border-radius: 12px;
	background-color: #ffffff;
	box-sizing: border-box;
}

body.woocommerce-order-received .woocommerce-order-overview::before,
body.woocommerce-order-received .woocommerce-order-overview::after {
	display: none;
}

body.woocommerce-order-received .woocommerce ul.order_details.woocommerce-order-overview li,
body.woocommerce-order-received .woocommerce-order-overview.order_details li,
body.woocommerce-order-received .woocommerce-order-overview li,
body.woocommerce-order-received .woocommerce-order-overview__order,
body.woocommerce-order-received .woocommerce-order-overview__date,
body.woocommerce-order-received .woocommerce-order-overview__email,
body.woocommerce-order-received .woocommerce-order-overview__total,
body.woocommerce-order-received .woocommerce-order-overview__payment-method {
	display: flex !important;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-grow: 0 !important;
	gap: 24px;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	min-height: 0;
	height: auto !important;
	align-self: auto !important;
	margin: 0 !important;
	margin-right: 0 !important;
	padding: 16px 22px !important;
	border: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px solid #e5ddd0 !important;
	border-radius: 0 !important;
	background-color: transparent;
	box-sizing: border-box;
	float: none !important;
	color: #4f5752;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

body.woocommerce-order-received .woocommerce ul.order_details.woocommerce-order-overview li:last-child,
body.woocommerce-order-received .woocommerce ul.order_details.woocommerce-order-overview li:last-of-type,
body.woocommerce-order-received .woocommerce-order-overview.order_details li:last-child,
body.woocommerce-order-received .woocommerce-order-overview.order_details li:last-of-type,
body.woocommerce-order-received .woocommerce-order-overview li:last-child,
body.woocommerce-order-received .woocommerce-order-overview li:last-of-type {
	border-bottom: 0 !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
	display: block;
	max-width: 65%;
	margin: 0 0 0 auto;
	color: #173f2b;
	font-family: var(--fr-font-body);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: right;
	text-transform: none;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.woocommerce-order-received .woocommerce-order-overview__email strong {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Payment / COD note */

body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice) {
	width: 100%;
	margin: 28px 0 !important;
	padding: 1rem 1.25rem 1rem 1.125rem;
	border: 1px solid var(--fr-border);
	border-left: 4px solid var(--fr-green-800);
	border-radius: var(--fr-radius-medium);
	background-color: var(--fr-cream-100);
	color: var(--fr-text);
	font-size: 0.9375rem;
	line-height: 1.65;
	box-sizing: border-box;
}

/* Section titles */

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title {
	margin: 0 0 1.25rem;
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.25;
}

/* Order details card */

body.woocommerce-order-received .woocommerce-order-details {
	margin: 0 0 2rem;
	padding: 24px;
	border: 1px solid var(--fr-border);
	border-radius: var(--fr-radius-medium);
	background-color: var(--fr-white);
	box-sizing: border-box;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	background: transparent;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details thead th {
	padding: 0.875rem 0;
	border: 0;
	border-bottom: 1px solid var(--fr-border);
	background: transparent;
	color: var(--fr-green-900);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody td {
	padding: 1rem 0;
	border: 0;
	border-bottom: 1px solid var(--fr-border);
	vertical-align: top;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody tr:last-child th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody tr:last-child td {
	border-bottom: 0;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-name {
	min-width: 0;
	font-family: var(--fr-font-heading);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-name .product-quantity {
	color: var(--fr-muted);
	font-family: var(--fr-font-body);
	font-size: 0.875rem;
	font-weight: 600;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-name a {
	color: var(--fr-green-800);
	font-family: var(--fr-font-body);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--fr-gold);
	text-underline-offset: 0.2em;
	overflow-wrap: anywhere;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-name a:hover {
	color: var(--fr-green-700);
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-total {
	width: 28%;
	text-align: right;
	white-space: nowrap;
	font-weight: 700;
}

/* Product personalization metadata */

body.woocommerce-order-received .woocommerce-order-details .wc-item-meta,
body.woocommerce-order-received .woocommerce-order-details dl.variation {
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

body.woocommerce-order-received .woocommerce-order-details .wc-item-meta li,
body.woocommerce-order-received .woocommerce-order-details dl.variation dt,
body.woocommerce-order-received .woocommerce-order-details dl.variation dd {
	display: block;
	margin: 0 0 0.5rem;
	padding: 0;
	color: var(--fr-text);
	font-family: var(--fr-font-body);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.7;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.woocommerce-order-received .woocommerce-order-details .wc-item-meta li:last-child,
body.woocommerce-order-received .woocommerce-order-details dl.variation dd:last-child {
	margin-bottom: 0;
}

body.woocommerce-order-received .woocommerce-order-details .wc-item-meta-label,
body.woocommerce-order-received .woocommerce-order-details dl.variation dt {
	display: inline;
	margin-right: 0.35rem;
	color: var(--fr-text);
	font-weight: 600;
}

body.woocommerce-order-received .woocommerce-order-details .wc-item-meta a,
body.woocommerce-order-received .woocommerce-order-details dl.variation a {
	color: var(--fr-green-800);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--fr-gold);
	text-underline-offset: 0.2em;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.woocommerce-order-received .woocommerce-order-details .wc-item-meta a:hover,
body.woocommerce-order-received .woocommerce-order-details dl.variation a:hover {
	color: var(--fr-green-700);
}

/* Order summary footer */

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot {
	border-top: 2px solid var(--fr-border);
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot td {
	padding: 0.75rem 0;
	border: 0;
	border-bottom: 1px solid var(--fr-border);
	vertical-align: top;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: 0;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot th {
	width: 72%;
	color: var(--fr-muted);
	font-size: 0.875rem;
	font-weight: 600;
	text-align: left;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot td {
	width: 28%;
	color: var(--fr-text);
	font-size: 0.9375rem;
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr:first-child th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr:first-child td {
	padding-top: 1.25rem;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr.order-total th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr.order-total td {
	padding-top: 1rem;
	border-top: 1px solid var(--fr-border);
	color: var(--fr-green-900);
	font-size: 1.0625rem;
	font-weight: 700;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:has(tr:last-child td br) tr:nth-last-child(2) th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:has(tr:last-child td br) tr:nth-last-child(2) td {
	padding-top: 1rem;
	border-top: 1px solid var(--fr-border);
	color: var(--fr-green-900);
	font-size: 1.0625rem;
	font-weight: 700;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:not(:has(tr:last-child td br)) tr:last-child th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:not(:has(tr:last-child td br)) tr:last-child td {
	padding-top: 1rem;
	border-top: 1px solid var(--fr-border);
	color: var(--fr-green-900);
	font-size: 1.0625rem;
	font-weight: 700;
}

body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr:has(th:first-child) td {
	white-space: normal;
	text-align: right;
}

/* Billing / shipping address cards */

body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	border: 0;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses::before,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses::after {
	display: none;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--fr-border);
	border-radius: var(--fr-radius-medium);
	background-color: var(--fr-white);
	box-sizing: border-box;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column address {
	margin: 0;
	font-style: normal;
	line-height: 1.75;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email {
	margin: 0.75rem 0 0;
}

body.woocommerce-order-received .woocommerce-customer-details:not(:has(.woocommerce-columns)) {
	padding: 24px;
	border: 1px solid var(--fr-border);
	border-radius: var(--fr-radius-medium);
	background-color: var(--fr-white);
}

body.woocommerce-order-received .woocommerce-customer-details:not(:has(.woocommerce-columns)) address {
	margin: 0;
	font-style: normal;
	line-height: 1.75;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Order Received action buttons */

body.woocommerce-order-received .fr-order-received-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 20px auto 24px;
	box-sizing: border-box;
}

body.woocommerce-order-received .fr-order-action-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 190px;
	min-width: 0;
	min-height: 44px;
	padding: 0.65rem 1rem;
	border-radius: 99px;
	font-family: var(--fr-font-body, Arial, Helvetica, sans-serif);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.woocommerce-order-received .fr-order-action-view {
	border: 1px solid #164b35;
	background: #164b35;
	color: #ffffff;
}

body.woocommerce-order-received .fr-order-action-view:hover,
body.woocommerce-order-received .fr-order-action-view:focus-visible {
	border-color: #0f3a28;
	background: #0f3a28;
	color: #ffffff;
}

body.woocommerce-order-received .fr-order-action-home {
	border: 1px solid #164b35;
	background: #ffffff;
	color: #164b35;
}

body.woocommerce-order-received .fr-order-action-home:hover,
body.woocommerce-order-received .fr-order-action-home:focus-visible {
	background: #f4eee3;
	color: #164b35;
}
@media (max-width: 767px) {
    body.woocommerce-order-received
    ul.woocommerce-order-overview.order_details li strong {
        display: block;
        max-width: 62%;
        margin: 0;
        color: #173f2b;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
        text-align: right;
        text-transform: none;
        overflow-wrap: anywhere;
        word-break: normal;
    }
}
@media screen and (max-width: 767px) {
	body.woocommerce-order-received #primary {
		padding: 28px 0 40px;
	}

	body.woocommerce-order-received .woocommerce-order {
		font-size: 14px;
		line-height: 1.5;
	}

	body.woocommerce-order-received .woocommerce-thankyou-order-received {
		margin: 0 0 16px;
		padding: 14px;
		border-radius: 8px;
		font-size: 18px;
		line-height: 1.25;
	}
    /* Hai nút cuối trang */
    body.woocommerce-order-received
    .fr-order-received-actions {
        justify-content: center;
        gap: 8px;
    }

    body.woocommerce-order-received
    .fr-order-received-actions .fr-order-action-btn {
        flex: 0 0 32%;
        width: 32%;
        min-height: 40px;
        padding: 8px 12px;
        font-size: 14px;
    }
	body.woocommerce-order-received .woocommerce ul.order_details.woocommerce-order-overview,
	body.woocommerce-order-received .woocommerce-order-overview.order_details,
	body.woocommerce-order-received .woocommerce-order-overview {
		width: 100% !important;
		max-width: none !important;
		margin: 0 0 24px !important;
		border-radius: 8px;
	}

	body.woocommerce-order-received .woocommerce ul.order_details.woocommerce-order-overview li,
	body.woocommerce-order-received .woocommerce-order-overview.order_details li,
	body.woocommerce-order-received .woocommerce-order-overview li,
	body.woocommerce-order-received .woocommerce-order-overview__order,
	body.woocommerce-order-received .woocommerce-order-overview__date,
	body.woocommerce-order-received .woocommerce-order-overview__email,
	body.woocommerce-order-received .woocommerce-order-overview__total,
	body.woocommerce-order-received .woocommerce-order-overview__payment-method {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 16px !important;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0;
		text-transform: uppercase;
	}

	body.woocommerce-order-received .woocommerce-order-overview li strong {
		max-width: 62%;
		margin: 0;
		color: #173f2b;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.4;
		text-align: right;
		text-transform: none;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice) {
		margin: 0 0 24px !important;
		padding: 12px 14px 12px 12px;
		font-size: 14px;
		line-height: 1.5;
	}

	body.woocommerce-order-received .woocommerce-order-details__title,
	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title {
		margin: 0 0 12px;
		font-size: 18px;
		line-height: 1.25;
	}

	body.woocommerce-order-received .woocommerce-order-details {
		margin: 0 0 24px;
		padding: 14px;
		border-radius: 8px;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details {
		display: block;
		width: 100%;
		table-layout: auto;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details thead {
		display: none;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot {
		display: block;
		width: 100%;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 12px;
		width: 100%;
		margin: 0;
		padding: 14px 0;
		border: 0;
		border-bottom: 1px solid var(--fr-border);
		background: transparent;
		box-sizing: border-box;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody tr:last-child {
		border-bottom: 0;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody tr.product-purchase-note {
		display: block;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody tr.product-purchase-note td {
		grid-column: auto;
		width: 100%;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody td {
		display: block;
		float: none;
		width: auto;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		text-align: left;
		vertical-align: top;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tbody td::before,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot td::before {
		content: none !important;
		display: none !important;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-name {
		grid-column: 1 / -1;
		grid-row: 1;
		width: 100%;
		font-family: var(--fr-font-body);
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-name a {
		display: block;
		padding-right: 5.5rem;
		color: var(--fr-green-800);
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-name .product-quantity {
		font-size: 13px;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table__product-total {
		grid-column: 2;
		grid-row: 1;
		width: auto;
		align-self: start;
		z-index: 1;
		color: #1d2923;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.35;
		text-align: right;
		white-space: nowrap;
	}

	body.woocommerce-order-received .woocommerce-order-details .wc-item-meta,
	body.woocommerce-order-received .woocommerce-order-details dl.variation {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 8px 0 0;
		padding: 0;
	}

	body.woocommerce-order-received .woocommerce-order-details .wc-item-meta li,
	body.woocommerce-order-received .woocommerce-order-details dl.variation dt,
	body.woocommerce-order-received .woocommerce-order-details dl.variation dd {
		display: block;
		margin: 0 0 6px;
		padding: 0;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.4;
		overflow-wrap: break-word;
		word-break: normal;
	}

	body.woocommerce-order-received .woocommerce-order-details .wc-item-meta-label,
	body.woocommerce-order-received .woocommerce-order-details dl.variation dt {
		font-size: 13px;
		font-weight: 700;
	}

	body.woocommerce-order-received .woocommerce-order-details .wc-item-meta p {
		display: inline;
		margin: 0;
		padding: 0;
		white-space: normal;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot {
		border-top: 1px solid var(--fr-border);
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 55%);
		column-gap: 12px;
		align-items: start;
		width: 100%;
		margin: 0;
		padding: 12px 0;
		border: 0;
		background: transparent;
		box-sizing: border-box;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot td,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr:first-child th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr:first-child td,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr.order-total th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr.order-total td,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:has(tr:last-child td br) tr:nth-last-child(2) th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:has(tr:last-child td br) tr:nth-last-child(2) td,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:not(:has(tr:last-child td br)) tr:last-child th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:not(:has(tr:last-child td br)) tr:last-child td {
		display: block;
		width: auto;
		margin: 0;
		padding: 0;
		border: 0;
		border-top: 0;
		font-size: 14px;
		line-height: 1.4;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot th {
		color: #1d2923;
		font-size: 13px;
		font-weight: 600;
		text-align: left;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot td,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr:has(th:first-child) td {
		color: #1d2923;
		font-size: 14px;
		font-weight: 600;
		text-align: right;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr.order-total th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot tr.order-total td,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:has(tr:last-child td br) tr:nth-last-child(2) th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:has(tr:last-child td br) tr:nth-last-child(2) td,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:not(:has(tr:last-child td br)) tr:last-child th,
	body.woocommerce-order-received .woocommerce-order-details .woocommerce-table--order-details tfoot:not(:has(tr:last-child td br)) tr:last-child td {
		color: var(--fr-green-900);
		font-size: 14px;
		font-weight: 700;
	}

	body.woocommerce-order-received .woocommerce-customer-details {
		margin: 0 0 24px;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
	body.woocommerce-order-received .woocommerce-customer-details:not(:has(.woocommerce-columns)) {
		padding: 14px;
		border-radius: 8px;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column address,
	body.woocommerce-order-received .woocommerce-customer-details:not(:has(.woocommerce-columns)) address {
		font-size: 14px;
		line-height: 1.5;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	body.woocommerce-order-received .fr-order-received-actions {
		margin: 0;
		padding: 0;
		gap: 8px;
	}

	body.woocommerce-order-received .fr-order-action-btn {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		height: 44px;
		min-height: 44px;
		padding: 0 12px;
		font-size: 14px;
	}
}

/* ==========================================================================
   WOOCOMMERCE MY ACCOUNT
   ========================================================================== */

body.woocommerce-account {
	overflow-x: clip;
}

body.woocommerce-account #primary {
	margin: 0;
	padding: 0 0 60px;
}

body.woocommerce-account #primary .content-container,
body.woocommerce-account .site-main,
body.woocommerce-account .entry-content {
	width: 100%;
	max-width: none;
	min-width: 0;
	margin-inline: 0;
	box-sizing: border-box;
}

body.woocommerce-account .entry-title,
body.woocommerce-account .wp-block-post-title {
	display: none;
}

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
	display: none;
	content: none;
}

/* Logged-in two-column layout */

body.woocommerce-account.logged-in.fr-my-account-layout .woocommerce,
body.woocommerce-account.logged-in .woocommerce {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	align-items: start;
	gap: 30px;
	width: 100%;
	max-width: var(--global-content-width, 1290px);
	margin: 40px auto 60px;
	padding: 0 24px;
	box-sizing: border-box;
}

body.woocommerce-account.logged-in .account-navigation-wrap,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	float: none !important;
	clear: none !important;
	position: static !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

body.woocommerce-account.logged-in .account-navigation-wrap {
	display: block;
	padding: 6px;
	border: 1px solid #e6ddd0;
	border-radius: 12px;
	background-color: #f8f4ec;
}

/* Kill Kadence absolute avatar / border-left active bleed */

body.woocommerce-account.logged-in .account-navigation-wrap .kadence-customer-image,
body.woocommerce-account.logged-in .account-navigation-wrap .kadence-account-avatar,
body.woocommerce-account.logged-in .account-navigation-wrap .kadence-customer-name {
	position: static !important;
	left: auto !important;
	top: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
}

body.woocommerce-account.logged-in .account-navigation-wrap li a,
body.woocommerce-account.logged-in.kadence-account-nav-left .account-navigation-wrap li a,
body.woocommerce-account.logged-in.kadence-account-nav-left .account-navigation-wrap li:hover a,
body.woocommerce-account.logged-in.kadence-account-nav-left .account-navigation-wrap li.is-active a,
body.woocommerce-account.logged-in.kadence-account-nav-left .account-navigation-wrap li.is-active a:hover {
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Avatar + username (non-linked) */

body.woocommerce-account .fr-account-user {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	padding: 0 4px 16px;
	border-bottom: 1px solid #ded7cb;
}

body.woocommerce-account .fr-account-user__identity {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

body.woocommerce-account .fr-account-user__greeting {
	min-width: 0;
	color: #1d2923;
	font-size: 16px;
	line-height: 1.3;
}

body.woocommerce-account .fr-account-user__hello,
body.woocommerce-account .fr-account-user__logout {
	display: none;
}

body.woocommerce-account .fr-account-user__avatar {
	display: grid;
	place-items: center;
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	overflow: hidden;
	cursor: default;
}

body.woocommerce-account .fr-account-user__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
}

body.woocommerce-account .fr-account-user__name {
	min-width: 0;
	color: #1d2923;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

/* Navigation */

body.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li + li {
	margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 44px;
	padding: 10px 14px;
	border-radius: 7px;
	box-sizing: border-box;
	color: #1d2923;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color 150ms ease, color 150ms ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible {
	background-color: #edf3ef;
	color: #173f2b;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a {
	background-color: #173f2b;
	color: #ffffff;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a:hover {
	background-color: #173f2b;
	color: #ffffff;
}

/* Content card */

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	min-width: 0;
	padding: 28px 32px;
	border: 1px solid #e6ddd0;
	border-radius: 12px;
	background-color: #ffffff;
}

body.woocommerce-account .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content > :last-child {
	margin-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3,
body.woocommerce-account .woocommerce-MyAccount-content legend,
body.woocommerce-account .woocommerce-Address-title h2 {
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	line-height: 1.25;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content legend,
body.woocommerce-account .woocommerce-Address-title h2 {
	font-size: 1.375rem;
}

body.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: 1.125rem;
}

/* Dashboard welcome card */

body.woocommerce-account .fr-account-dashboard-welcome {
	width: 100%;
	margin: 0;
	padding: 20px 22px;
	border: 1px solid #e6ddd0;
	border-radius: 10px;
	background-color: #faf8f3;
	box-sizing: border-box;
}

body.woocommerce-account .fr-account-dashboard-welcome > :first-child {
	margin-top: 0;
}

body.woocommerce-account .fr-account-dashboard-welcome > :last-child {
	margin-bottom: 0;
}

body.woocommerce-account .fr-account-dashboard-welcome p {
	color: #1d2923;
	font-size: 15px;
	line-height: 1.6;
}

body.woocommerce-account .fr-account-dashboard-welcome a {
	color: #173f2b;
	font-weight: 600;
}

/* Persistent help copy is mobile-only. */
body.woocommerce-account .fr-account-help {
	display: none;
}

/* Orders and order details */

body.woocommerce-account table.shop_table,
body.woocommerce-account table.my_account_orders,
body.woocommerce-account table.woocommerce-table--order-details,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table {
	width: 100%;
	margin: 0 0 1.5rem;
	border: 1px solid var(--fr-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 10px;
	background-color: var(--fr-white);
	overflow: hidden;
	table-layout: auto;
}

body.woocommerce-account table.shop_table th,
body.woocommerce-account table.shop_table td,
body.woocommerce-account table.my_account_orders th,
body.woocommerce-account table.my_account_orders td {
	padding: 0.875rem 1rem;
	border: 0;
	border-bottom: 1px solid var(--fr-border);
	text-align: left;
	vertical-align: middle;
}

body.woocommerce-account table.shop_table thead th,
body.woocommerce-account table.my_account_orders thead th {
	background-color: var(--fr-cream-100);
	color: var(--fr-green-900);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

body.woocommerce-account table.shop_table tr:last-child > *,
body.woocommerce-account table.my_account_orders tr:last-child > * {
	border-bottom: 0;
}

body.woocommerce-account table.shop_table .product-name,
body.woocommerce-account table.woocommerce-table--order-details .product-name {
	font-family: var(--fr-font-heading);
	font-weight: 700;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
	white-space: normal;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
	margin: 0.2rem 0.2rem 0.2rem 0;
}

body.woocommerce-account .woocommerce-order-details,
body.woocommerce-account .woocommerce-customer-details {
	margin-top: 2rem;
}

body.woocommerce-account .wc-item-meta,
body.woocommerce-account dl.variation {
	margin: 0.5rem 0 0;
	padding: 0;
	color: var(--fr-muted);
	font-family: var(--fr-font-body);
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.5;
	list-style: none;
}

body.woocommerce-account .wc-item-meta li,
body.woocommerce-account dl.variation dt,
body.woocommerce-account dl.variation dd {
	margin: 0;
	padding: 0;
}

body.woocommerce-account .wc-item-meta-label,
body.woocommerce-account dl.variation dt {
	color: var(--fr-text);
	font-weight: 700;
}

body.woocommerce-account .wc-item-meta a,
body.woocommerce-account dl.variation a,
body.woocommerce-account table.woocommerce-table--order-details .product-name a {
	color: var(--fr-green-800);
	font-family: var(--fr-font-body);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--fr-gold);
	text-underline-offset: 0.2em;
}

body.woocommerce-account table.woocommerce-table--order-details .product-name a {
	word-break: normal;
	overflow-wrap: break-word;
}

body.woocommerce-account .wc-item-meta a,
body.woocommerce-account dl.variation a {
	overflow-wrap: anywhere;
}
@media (min-width: 768px) {
    /* View Order - căn phải toàn bộ cột Total */
    body.woocommerce-view-order
    .woocommerce-table--order-details th:last-child,
    
    body.woocommerce-view-order
    .woocommerce-table--order-details td:last-child {
        text-align: right;
    }
}
body.woocommerce-account .wc-item-meta a:hover,
body.woocommerce-account dl.variation a:hover,
body.woocommerce-account table.woocommerce-table--order-details .product-name a:hover {
	color: var(--fr-green-700);
}

/* View Order — customization meta, all breakpoints */

body.woocommerce-view-order table.woocommerce-table--order-details {
	table-layout: fixed;
	width: 100%;
}

body.woocommerce-view-order table.woocommerce-table--order-details .woocommerce-table__product-name,
body.woocommerce-view-order table.woocommerce-table--order-details .product-name {
	width: 70%;
	min-width: 0;
	word-break: normal;
	overflow-wrap: break-word;
}

body.woocommerce-view-order table.woocommerce-table--order-details .woocommerce-table__product-total,
body.woocommerce-view-order table.woocommerce-table--order-details .product-total {
	width: 30%;
	white-space: nowrap;
	vertical-align: top;
}

body.woocommerce-view-order table.woocommerce-table--order-details .wc-item-meta,
body.woocommerce-view-order table.woocommerce-table--order-details dl.variation {
	margin: 8px 0 0;
	padding: 0;
	color: #1d2923;
	font-family: var(--fr-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	list-style: none;
}

body.woocommerce-view-order table.woocommerce-table--order-details .wc-item-meta li,
body.woocommerce-view-order table.woocommerce-table--order-details dl.variation dt,
body.woocommerce-view-order table.woocommerce-table--order-details dl.variation dd {
	margin: 0 0 4px;
	padding: 0;
	word-break: normal;
	overflow-wrap: break-word;
}

body.woocommerce-view-order table.woocommerce-table--order-details .wc-item-meta li:last-child,
body.woocommerce-view-order table.woocommerce-table--order-details dl.variation dd:last-child {
	margin-bottom: 0;
}

body.woocommerce-view-order table.woocommerce-table--order-details .wc-item-meta p {
	display: inline;
	margin: 0;
	padding: 0;
	white-space: normal;
}

body.woocommerce-view-order table.woocommerce-table--order-details .wc-item-meta-label,
body.woocommerce-view-order table.woocommerce-table--order-details dl.variation dt {
	color: #1d2923;
	font-weight: 700;
}

body.woocommerce-view-order table.woocommerce-table--order-details .fr-order-item-upload {
	display: inline-block;
	margin-top: 4px;
	text-decoration: none;
}

body.woocommerce-view-order table.woocommerce-table--order-details .fr-order-item-upload__thumb {
	display: block;
	width: 80px;
	height: 80px;
	object-fit: cover;
	border: 1px solid var(--fr-border);
	border-radius: 6px;
}

/* Addresses */

body.woocommerce-account .woocommerce-Addresses,
body.woocommerce-account .u-columns.woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	margin-top: 0;
}

body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .woocommerce-customer-details address {
	width: 100%;
	margin: 0;
	padding: 20px;
	border: 1px solid var(--fr-border);
	border-radius: 10px;
	background-color: var(--fr-cream-100);
	font-style: normal;
	line-height: 1.65;
	box-sizing: border-box;
}

body.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.75rem;
}

body.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0;
}

body.woocommerce-account .woocommerce-Address-title .edit {
	float: none;
	font-size: 0.875rem;
	font-weight: 700;
}

@media screen and (min-width: 1024px) {
	body.woocommerce-account .woocommerce-Addresses,
	body.woocommerce-account .u-columns.woocommerce-Addresses {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
		align-items: stretch;
		width: 100%;
		box-sizing: border-box;
	}

	body.woocommerce-account .woocommerce-Addresses.col2-set::before,
	body.woocommerce-account .woocommerce-Addresses.col2-set::after,
	body.woocommerce-account .u-columns.woocommerce-Addresses.col2-set::before,
	body.woocommerce-account .u-columns.woocommerce-Addresses.col2-set::after {
		content: none;
		display: none;
	}

	body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
	body.woocommerce-account .woocommerce-Addresses .u-column1,
	body.woocommerce-account .woocommerce-Addresses .u-column2,
	body.woocommerce-account .woocommerce-Addresses .col-1,
	body.woocommerce-account .woocommerce-Addresses .col-2 {
		float: none;
		clear: none;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0;
		box-sizing: border-box;
	}

	body.woocommerce-account .woocommerce-Addresses .col-1,
	body.woocommerce-account .woocommerce-Addresses .u-column1 {
		grid-column: 1;
		grid-row: 1;
	}

	body.woocommerce-account .woocommerce-Addresses .col-2,
	body.woocommerce-account .woocommerce-Addresses .u-column2 {
		grid-column: 2;
		grid-row: 1;
	}

	body.woocommerce-account .woocommerce-Addresses .woocommerce-Address > address {
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
	}
}

/* Account forms */

body.woocommerce-account .woocommerce-MyAccount-content fieldset {
	margin: 1.5rem 0;
	padding: 20px;
	border: 1px solid var(--fr-border);
	border-radius: 10px;
}

body.woocommerce-account .woocommerce-MyAccount-content legend {
	padding-inline: 0.4rem;
}

body.woocommerce-account form .form-row {
	margin: 0 0 1rem;
	padding: 0;
}

body.woocommerce-account form .form-row label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--fr-text);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.4;
}

body.woocommerce-account form .input-text,
body.woocommerce-account form input[type="text"],
body.woocommerce-account form input[type="email"],
body.woocommerce-account form input[type="tel"],
body.woocommerce-account form input[type="password"],
body.woocommerce-account form select,
body.woocommerce-account form textarea,
body.woocommerce-account .select2-container .select2-selection--single {
	width: 100%;
	min-height: 48px;
	padding: 0.65rem 0.875rem;
	border: 1px solid #d9d2c6;
	border-radius: 8px;
	background-color: var(--fr-white);
	color: var(--fr-text);
	font-family: var(--fr-font-body);
	font-size: 0.9375rem;
	line-height: 1.4;
	box-sizing: border-box;
}

/* Hide WooCommerce Weak / Medium / Strong meter; keep password hint visible. */
body.woocommerce-account .woocommerce-password-strength {
	display: none !important;
}

body.woocommerce-account form textarea {
	min-height: 110px;
	resize: vertical;
}

body.woocommerce-account .select2-container {
	width: 100% !important;
}

body.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 26px;
}

body.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow {
	top: 10px;
	right: 8px;
}

/* Buttons */

body.woocommerce-account .button,
body.woocommerce-account button.button,
body.woocommerce-account input.button,
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account .wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.7rem 1.15rem;
	border: 1px solid var(--fr-green-900);
	border-radius: 8px;
	background-color: var(--fr-green-900);
	color: var(--fr-white);
	font-family: var(--fr-font-body);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
}

body.woocommerce-account .button:hover,
body.woocommerce-account button.button:hover,
body.woocommerce-account input.button:hover,
body.woocommerce-account .woocommerce-Button:hover,
body.woocommerce-account .wp-element-button:hover {
	border-color: var(--fr-green-800);
	background-color: var(--fr-green-800);
	color: var(--fr-white);
}

/* Login and registration — keep centered single-column */

body.woocommerce-account:not(.logged-in) #primary {
	padding: 40px 24px 72px;
}

body.woocommerce-account:not(.logged-in) #primary .content-container,
body.woocommerce-account:not(.logged-in) .site-main,
body.woocommerce-account:not(.logged-in) .entry-content {
	width: 100%;
	max-width: 1300px;
	margin-inline: auto;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register {
	padding: 24px;
	border: 1px solid var(--fr-border);
	border-radius: var(--fr-radius-medium);
	background-color: var(--fr-white);
}

/* Focus and responsive behavior */

body.woocommerce-account a:focus-visible,
body.woocommerce-account button:focus-visible,
body.woocommerce-account input:focus-visible,
body.woocommerce-account select:focus-visible,
body.woocommerce-account textarea:focus-visible,
body.woocommerce-account .select2-selection:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

body.woocommerce-account input:focus,
body.woocommerce-account select:focus,
body.woocommerce-account textarea:focus,
body.woocommerce-account .select2-container--focus .select2-selection {
	border-color: var(--fr-green-800);
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
	body.woocommerce-account.logged-in.fr-my-account-layout .woocommerce,
	body.woocommerce-account.logged-in .woocommerce {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 24px;
		margin-top: 32px;
		padding: 0 20px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		padding: 24px;
	}
}

@media screen and (max-width: 767px) {
	body.woocommerce-account.logged-in.fr-my-account-layout .woocommerce,
	body.woocommerce-account.logged-in .woocommerce {
		grid-template-columns: 1fr;
		gap: 18px;
		margin: 24px auto 10px;
		padding-inline: 0;
	}

	body.woocommerce-account.logged-in .account-navigation-wrap {
		min-width: 0;
		overflow: hidden;
	}

	body.woocommerce-account .fr-account-user {
		justify-content: space-between;
		width: 100%;
		margin-bottom: 8px;
		padding: 0 0 8px;
		gap: 8px;
	}

	body.woocommerce-account .fr-account-user__identity {
		gap: 8px;
		flex: 1 1 auto;
	}

	body.woocommerce-account .fr-account-user__avatar {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}

	body.woocommerce-account .fr-account-user__greeting {
		font-size: 15px;
	}

	body.woocommerce-account .fr-account-user__hello {
		display: inline;
		margin-right: 0.25em;
		font-size: 15px;
		font-weight: 500;
	}

	body.woocommerce-account .fr-account-user__name {
		font-size: 15px;
		font-weight: 700;
	}

	body.woocommerce-account .fr-account-user__logout {
		display: inline;
		flex: 0 0 auto;
		margin-left: auto;
		color: #173f2b;
		font-size: 13px;
		font-weight: 600;
		line-height: 1.25;
		text-decoration: none;
		white-space: nowrap;
	}

	body.woocommerce-account .fr-account-user__logout:hover,
	body.woocommerce-account .fr-account-user__logout:focus-visible {
		color: #103a2b;
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard,
	body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
		display: none;
	}

	body.woocommerce-account .fr-account-dashboard-welcome {
		display: none;
	}

	body.fr-account-dashboard .woocommerce-MyAccount-content {
		display: none;
	}

	body.woocommerce-account.logged-in #primary {
		padding-bottom: 0;
	}

	body.woocommerce-account .fr-account-help {
		display: block;
		grid-column: 1 / -1;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		margin: 20px 0 28px;
		padding: 0 12px;
		border: 0;
		background: transparent;
	}

	body.woocommerce-account .fr-account-help p {
		margin: 0;
		color: #1d2923;
		font-size: 14px;
		line-height: 1.5;
	}

	body.woocommerce-account .fr-account-help a {
		color: #173f2b;
		font-weight: 600;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation {
		min-width: 0;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: 1px;
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
		display: none;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		width: auto;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li a {
		width: auto;
		min-height: 0;
		padding: 9px 10px;
		font-size: 14px;
		white-space: nowrap;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		padding: 20px 12px;
	}

	body.woocommerce-account:not(.logged-in) #primary {
		padding-block: 28px 56px;
		padding-inline: 0;
	}

	body.woocommerce-account .woocommerce-Addresses,
	body.woocommerce-account .u-columns.woocommerce-Addresses {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content,
	body.woocommerce-account.woocommerce-view-order .woocommerce-MyAccount-content {
		padding: 0 4px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table.my_account_orders,
	body.woocommerce-account table.woocommerce-orders-table.shop_table_responsive.my_account_orders {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		overflow: visible;
		box-shadow: none;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders thead,
	body.woocommerce-account table.woocommerce-orders-table.my_account_orders tbody {
		display: block;
		width: 100%;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders thead {
		display: block;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders thead tr,
	body.woocommerce-account table.woocommerce-orders-table.my_account_orders tbody tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.2fr) auto;
		align-items: center;
		column-gap: 6px;
		width: 100%;
		margin: 0;
		padding: 12px 0;
		border: 0;
		border-bottom: 1px solid #e6ddd0;
		background: transparent;
		box-shadow: none;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders thead tr {
		padding-top: 0;
		padding-bottom: 10px;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders tbody tr:last-child {
		border-bottom: 0;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders th,
	body.woocommerce-account table.woocommerce-orders-table.my_account_orders td {
		display: block;
		float: none;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #000000;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.3;
		text-align: left !important;
		overflow-wrap: anywhere;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders thead th {
		background: transparent;
		color: #1d2923;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0;
		text-transform: none;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders td::before,
	body.woocommerce-account table.woocommerce-orders-table.my_account_orders th::before {
		content: none !important;
		display: none !important;
		float: none;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders .woocommerce-orders-table__header-order-number,
	body.woocommerce-account table.woocommerce-orders-table.my_account_orders .woocommerce-orders-table__cell-order-number {
		display: none;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders .woocommerce-orders-table__cell-order-total {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		overflow: hidden;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders .woocommerce-orders-table__cell-order-actions,
	body.woocommerce-account table.woocommerce-orders-table.my_account_orders td.order-actions {
		white-space: nowrap;
		text-align: right !important;
	}

	body.woocommerce-account table.woocommerce-orders-table.my_account_orders .woocommerce-orders-table__cell-order-actions .button {
		display: inline-flex;
		width: auto;
		min-width: 0;
		min-height: 34px;
		margin: 0;
		padding: 7px 12px;
		border-radius: 7px;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.2;
	}

	/* View Order — flatten outer card, keep a compact 2-column details table */
	body.woocommerce-view-order .woocommerce-MyAccount-content > p:first-of-type {
		margin: 0 0 24px;
		padding: 0;
		border: 0;
		background: none;
		color: #1d2923;
		font-size: 14px;
		line-height: 1.5;
	}

	body.woocommerce-view-order .woocommerce-MyAccount-content > p:first-of-type mark {
		background: none;
		color: inherit;
		font-weight: 700;
	}

	body.woocommerce-view-order .woocommerce-order-details {
		margin-top: 0;
	}

	body.woocommerce-view-order .woocommerce-order-details__title {
		margin: 0 0 12px;
		font-size: 20px;
		line-height: 1.25;
	}

	body.woocommerce-view-order .woocommerce-customer-details {
		margin-top: 24px;
		font-size: 14px;
		line-height: 1.5;
	}

	body.woocommerce-view-order .woocommerce-customer-details address {
		padding: 14px;
		font-size: 14px;
		line-height: 1.5;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details.shop_table {
		display: table;
		width: 100%;
		max-width: 100%;
		margin: 0;
		border: 1px solid var(--fr-border);
		border-collapse: separate;
		border-spacing: 0;
		border-radius: 8px;
		background-color: #ffffff;
		overflow: hidden;
		table-layout: fixed;
		box-shadow: none;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details thead {
		display: table-header-group;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details tbody,
	body.woocommerce-view-order table.woocommerce-table--order-details tfoot {
		display: table-row-group;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details tr {
		display: table-row;
		background: transparent;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details th,
	body.woocommerce-view-order table.woocommerce-table--order-details td {
		display: table-cell;
		float: none;
		width: auto;
		margin: 0;
		padding: 10px 7px;
		border: 0;
		border-bottom: 1px solid var(--fr-border);
		color: #1d2923;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.35;
		text-align: left !important;
		vertical-align: top;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details thead th {
		background-color: var(--fr-cream-100);
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0;
		text-transform: none;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details td::before,
	body.woocommerce-view-order table.woocommerce-table--order-details th::before {
		content: none !important;
		display: none !important;
		float: none;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details tbody tr:last-child th,
	body.woocommerce-view-order table.woocommerce-table--order-details tbody tr:last-child td,
	body.woocommerce-view-order table.woocommerce-table--order-details tfoot tr:last-child th,
	body.woocommerce-view-order table.woocommerce-table--order-details tfoot tr:last-child td {
		border-bottom: 0;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details .woocommerce-table__product-name,
	body.woocommerce-view-order table.woocommerce-table--order-details .product-name {
		width: 70%;
		min-width: 0;
		font-family: var(--fr-font-body);
		font-size: 13px;
		font-weight: 600;
		line-height: 1.35;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details .woocommerce-table__product-name a,
	body.woocommerce-view-order table.woocommerce-table--order-details .product-name a {
		color: var(--fr-green-800);
		font: inherit;
		text-decoration: underline;
		text-decoration-color: var(--fr-gold);
		text-underline-offset: 0.2em;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details .woocommerce-table__product-total,
	body.woocommerce-view-order table.woocommerce-table--order-details .product-total {
		width: 30%;
		text-align: right !important;
		white-space: nowrap;
		font-size: 14px;
		font-weight: 700;
		vertical-align: top;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details .wc-item-meta,
	body.woocommerce-view-order table.woocommerce-table--order-details dl.variation {
		margin: 8px 0 0;
		font-size: 13px;
		line-height: 1.4;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details .wc-item-meta li,
	body.woocommerce-view-order table.woocommerce-table--order-details dl.variation dt,
	body.woocommerce-view-order table.woocommerce-table--order-details dl.variation dd {
		margin: 0 0 4px;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details .wc-item-meta-label,
	body.woocommerce-view-order table.woocommerce-table--order-details dl.variation dt {
		font-weight: 700;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details .fr-order-item-upload__thumb {
		width: 70px;
		height: 70px;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details tfoot th {
		width: 70%;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.35;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details tfoot td {
		width: 30%;
		font-size: 14px;
		line-height: 1.35;
		text-align: right !important;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	body.woocommerce-view-order table.woocommerce-table--order-details tfoot tr.order-total th,
	body.woocommerce-view-order table.woocommerce-table--order-details tfoot tr.order-total td {
		font-weight: 700;
	}
}

/* My Account logout confirmation modal */

.fr-logout-modal[hidden] {
	display: none !important;
}

.fr-logout-modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 20px;
	box-sizing: border-box;
}

.fr-logout-modal__backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(17, 28, 23, 0.48);
}

.fr-logout-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 430px);
	padding: 28px;
	border: 1px solid #e6ddd0;
	border-radius: 12px;
	background-color: #ffffff;
	box-shadow: 0 18px 50px rgba(20, 37, 29, 0.18);
	text-align: center;
	box-sizing: border-box;
}

.fr-logout-modal__title {
	margin: 0 0 10px;
	color: #173f2b;
	font-family: var(--fr-font-display, Georgia, "Times New Roman", serif);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
}

.fr-logout-modal__text {
	margin: 0;
	color: #4f5752;
	font-family: var(--fr-font-body, inherit);
	font-size: 15px;
	line-height: 1.6;
}

.fr-logout-modal__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}

.fr-logout-modal__cancel,
.fr-logout-modal__confirm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 112px;
	min-height: 44px;
	padding: 10px 20px;
	border-radius: 7px;
	font-family: var(--fr-font-body, inherit);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
}

.fr-logout-modal__cancel {
	border: 1px solid #173f2b;
	background-color: #ffffff;
	color: #173f2b;
}

.fr-logout-modal__confirm {
	border: 1px solid #173f2b;
	background-color: #173f2b;
	color: #ffffff;
}

.fr-logout-modal__cancel:hover,
.fr-logout-modal__cancel:focus-visible {
	background-color: #edf3ef;
}

.fr-logout-modal__confirm:hover,
.fr-logout-modal__confirm:focus-visible {
	border-color: #24563a;
	background-color: #24563a;
}

.fr-logout-modal__cancel:focus-visible,
.fr-logout-modal__confirm:focus-visible {
	outline: 3px solid rgba(23, 63, 43, 0.25);
	outline-offset: 3px;
}

body.fr-logout-modal-open {
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.fr-logout-modal {
		padding: 16px;
	}

	.fr-logout-modal__dialog {
		width: 100%;
		padding: 22px 18px;
	}

	.fr-logout-modal__title {
		font-size: 22px;
	}

	.fr-logout-modal__actions {
		flex-wrap: wrap;
	}

	.fr-logout-modal__cancel,
	.fr-logout-modal__confirm {
		flex: 1 1 calc(50% - 6px);
		min-width: 0;
	}
}

@media screen and (max-width: 380px) {
	.fr-logout-modal__actions {
		flex-direction: column;
	}

	.fr-logout-modal__cancel,
	.fr-logout-modal__confirm {
		width: 100%;
		flex: 1 1 auto;
	}
}

/* ==========================================================================
   YITH WISHLIST
   ========================================================================== */

body.woocommerce-wishlist,
body:has(.yith-wcwl-form .wishlist_table) {
	overflow-x: clip;
}

body.woocommerce-wishlist #primary,
body:has(.yith-wcwl-form .wishlist_table) #primary {
	margin: 0;
	padding: 48px 24px 72px;
}

body.woocommerce-wishlist #primary .content-container,
body.woocommerce-wishlist .site-main,
body.woocommerce-wishlist .entry-content,
body:has(.yith-wcwl-form .wishlist_table) #primary .content-container,
body:has(.yith-wcwl-form .wishlist_table) .site-main,
body:has(.yith-wcwl-form .wishlist_table) .entry-content {
	max-width: 1300px;
	margin-inline: auto;
	min-width: 0;
}

body.woocommerce-wishlist .yith-wcwl-form,
body:has(.yith-wcwl-form .wishlist_table) .yith-wcwl-form {
	max-width: 1300px;
	margin-inline: auto;
	min-width: 0;
}

body.woocommerce-wishlist .wishlist-title,
body.woocommerce-wishlist .wishlist-title h2,
body:has(.yith-wcwl-form .wishlist_table) .wishlist-title,
body:has(.yith-wcwl-form .wishlist_table) .wishlist-title h2 {
	margin: 0 0 1.5rem;
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-size: clamp(1.75rem, 4vw, 2.375rem);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

body.woocommerce-wishlist .wishlist_table,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--fr-border);
	border-radius: var(--fr-radius-medium);
	border-collapse: separate;
	border-spacing: 0;
	background-color: var(--fr-white);
	overflow: hidden;
}

body.woocommerce-wishlist .wishlist_table thead th,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table thead th {
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--fr-border);
	background-color: var(--fr-cream-100);
	color: var(--fr-green-900);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

body.woocommerce-wishlist .wishlist_table tbody td,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table tbody td {
	padding: 1.125rem 1.25rem;
	border-top: 1px solid var(--fr-border);
	vertical-align: middle;
}

body.woocommerce-wishlist .wishlist_table tbody tr:first-child td,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table tbody tr:first-child td {
	border-top: 0;
}

body.woocommerce-wishlist .wishlist_table td.product-thumbnail,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table td.product-thumbnail {
	width: 110px;
	min-width: 110px;
}

body.woocommerce-wishlist .wishlist_table tr td.product-thumbnail a,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table tr td.product-thumbnail a {
	display: block;
	width: 80px;
	max-width: none;
	margin-inline: auto;
}

body.woocommerce-wishlist .wishlist_table tr td.product-thumbnail a img,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table tr td.product-thumbnail a img {
	width: 80px;
	height: 80px;
	max-width: none;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	margin: 0 auto;
	border-radius: 8px;
}

body.woocommerce-wishlist .wishlist_table .product-name a,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-name a {
	color: var(--fr-green-900);
	font-family: var(--fr-font-heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

body.woocommerce-wishlist .wishlist_table .product-name a:hover,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-name a:hover {
	color: var(--fr-green-800);
	text-decoration: underline;
	text-decoration-color: var(--fr-gold);
}

body.woocommerce-wishlist .wishlist_table .product-price,
body.woocommerce-wishlist .wishlist_table .product-price .amount,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-price,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-price .amount {
	color: var(--fr-green-900);
	font-size: 1rem;
	font-weight: 700;
}

body.woocommerce-wishlist .wishlist_table .product-stock-status,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-stock-status {
	color: var(--fr-green-800);
	font-size: 0.875rem;
	font-weight: 600;
}

body.woocommerce-wishlist .wishlist_table .product-remove a,
body.woocommerce-wishlist .wishlist_table .product-remove .remove,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-remove a,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border-radius: 6px;
	color: var(--fr-muted);
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: color 0.15s ease, background-color 0.15s ease;
}

body.woocommerce-wishlist .wishlist_table .product-remove a:hover,
body.woocommerce-wishlist .wishlist_table .product-remove .remove:hover,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-remove a:hover,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-remove .remove:hover {
	background-color: rgba(161, 38, 34, 0.08);
	color: #8b1a1a;
}

body.woocommerce-wishlist .wishlist_table .product-add-to-cart a:not(.remove_from_wishlist):not(.fr-wishlist-remove-btn),
body.woocommerce-wishlist .wishlist_table .product-add-to-cart .button:not(.remove_from_wishlist):not(.fr-wishlist-remove-btn),
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-add-to-cart a:not(.remove_from_wishlist):not(.fr-wishlist-remove-btn),
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-add-to-cart .button:not(.remove_from_wishlist):not(.fr-wishlist-remove-btn) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.7rem 1.15rem;
	border: 1px solid var(--fr-green-900);
	border-radius: 8px;
	background-color: var(--fr-green-900);
	color: var(--fr-white);
	font-family: var(--fr-font-body);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

body.woocommerce-wishlist .wishlist_table .product-add-to-cart a:not(.remove_from_wishlist):not(.fr-wishlist-remove-btn):hover,
body.woocommerce-wishlist .wishlist_table .product-add-to-cart .button:not(.remove_from_wishlist):not(.fr-wishlist-remove-btn):hover,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-add-to-cart a:not(.remove_from_wishlist):not(.fr-wishlist-remove-btn):hover,
body:has(.yith-wcwl-form .wishlist_table) .wishlist_table .product-add-to-cart .button:not(.remove_from_wishlist):not(.fr-wishlist-remove-btn):hover {
	background-color: var(--fr-green-800);
	border-color: var(--fr-green-800);
	color: var(--fr-white);
}

body.woocommerce-wishlist .yith-wcwl-form a:focus-visible,
body.woocommerce-wishlist .yith-wcwl-form button:focus-visible,
body:has(.yith-wcwl-form .wishlist_table) .yith-wcwl-form a:focus-visible,
body:has(.yith-wcwl-form .wishlist_table) .yith-wcwl-form button:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

@media screen and (max-width: 767px) {
	body.woocommerce-wishlist #primary,
	body:has(.yith-wcwl-form .wishlist_table) #primary {
		padding: 40px 0 56px;
	}

	body.woocommerce-wishlist .wishlist-title,
	body.woocommerce-wishlist .wishlist-title h2,
	body:has(.yith-wcwl-form .wishlist_table) .wishlist-title,
	body:has(.yith-wcwl-form .wishlist_table) .wishlist-title h2 {
		margin-bottom: 1rem;
		font-size: clamp(1.5rem, 6vw, 1.75rem);
	}

	/* Disable wishlist rename UI — static heading only */
	body.woocommerce-wishlist .wishlist-title-container .show-title-form,
	body.woocommerce-wishlist .wishlist-title-container .hidden-title-form {
		display: none !important;
	}

	body.woocommerce-wishlist .wishlist-title.wishlist-title-with-form h2 {
		cursor: default;
		pointer-events: none;
	}

	/* Remove success notice — compact site tone */
	body.woocommerce-wishlist .woocommerce-notices-wrapper,
	body.woocommerce-wishlist .yith-wcwl-form > .woocommerce-message,
	body.woocommerce-wishlist .yith-wcwl-form > .woocommerce-info {
		width: 100%;
		margin: 0 0 18px;
		padding: 0;
	}

	body.woocommerce-wishlist .woocommerce-notices-wrapper .woocommerce-message,
	body.woocommerce-wishlist .woocommerce-notices-wrapper .woocommerce-info,
	body.woocommerce-wishlist .yith-wcwl-form > .woocommerce-message,
	body.woocommerce-wishlist .yith-wcwl-form > .woocommerce-info {
		display: block;
		box-sizing: border-box;
		width: 100%;
		min-height: 0;
		margin: 0;
		padding: 10px 12px;
		border: 1px solid rgba(20, 75, 50, 0.18);
		border-left: 3px solid var(--fr-green-900);
		border-radius: 6px;
		background: #f0f7f3;
		color: #143f2b;
		font-family: var(--fr-font-body);
		font-size: 13px;
		font-weight: 600;
		line-height: 1.3;
		text-align: left;
	}

	body.woocommerce-wishlist .woocommerce-notices-wrapper .woocommerce-message::before,
	body.woocommerce-wishlist .woocommerce-notices-wrapper .woocommerce-info::before,
	body.woocommerce-wishlist .yith-wcwl-form > .woocommerce-message::before,
	body.woocommerce-wishlist .yith-wcwl-form > .woocommerce-info::before {
		display: none;
	}

	body.woocommerce-wishlist .woocommerce-notices-wrapper .woocommerce-message .button,
	body.woocommerce-wishlist .yith-wcwl-form > .woocommerce-message .button {
		display: none;
	}

	/* ========================================================================
	   WISHLIST MOBILE — single source (table + YITH mobile template)
	   Scoped via .yith-wcwl-form so rules survive YITH responsive DOM swap
	   ======================================================================== */

	body.woocommerce-wishlist .yith-wcwl-form .wishlist_table thead {
		display: none !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form .wishlist_table,
	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		border: 0 !important;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		overflow: visible;
		list-style: none;
	}

	/* --- Traditional table rows (primary on this site) --- */
	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody {
		display: block;
		width: 100%;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody tr {
		display: grid !important;
		grid-template-columns: 100px minmax(0, 1fr);
		grid-template-rows: auto auto auto auto;
		grid-template-areas:
			"thumb title"
			"thumb price"
			"thumb stock"
			"thumb actions";
		column-gap: 12px;
		row-gap: 0;
		align-items: start;
		position: relative;
		width: 100%;
		margin: 0;
		padding: 14px 0;
		border: 0;
		border-bottom: 1px solid rgba(23, 63, 43, 0.1);
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody tr:first-child {
		padding-top: 0;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody tr:last-child {
		border-bottom: 0;
		padding-bottom: 0;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody td {
		display: block !important;
		width: auto !important;
		max-width: none !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
		vertical-align: top;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody td::before {
		display: none !important;
		content: none !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table .product-thumbnail {
		grid-area: thumb;
		width: 100px;
		min-width: 100px;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tr td.product-thumbnail a {
		display: block;
		width: 100px;
		max-width: 100px;
		margin: 0;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tr td.product-thumbnail a img {
		display: block;
		width: 100px;
		height: 100px;
		max-width: 100px;
		margin: 0;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		border-radius: 6px;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table .product-name {
		grid-area: title;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0 0 8px;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table .product-name a {
		display: -webkit-box;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
		color: #111 !important;
		font-family: var(--fr-font-body);
		font-size: 15px;
		font-weight: 700;
		line-height: 1.3;
		text-decoration: none;
		text-align: left !important;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table .product-price {
		grid-area: price;
		justify-self: start !important;
		align-self: start;
		width: 100%;
		max-width: 100%;
		margin: 0 0 5px !important;
		padding: 0;
		color: var(--fr-green-900);
		font-size: 14px;
		font-weight: 700;
		line-height: 1.3;
		text-align: left !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table .product-price .screen-reader-text {
		display: none !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table .product-stock-status {
		grid-area: stock;
		justify-self: start !important;
		align-self: start;
		width: 100%;
		margin: 0 0 9px !important;
		padding: 0;
		color: var(--fr-green-800);
		font-size: 12px;
		font-weight: 600;
		line-height: 1.35;
		text-align: left !important;
		white-space: nowrap;
	}

	/* Empty remove cell after JS moves the link into .fr-wishlist-actions */
	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody td.product-remove,
	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody td.product-remove.fr-wishlist-remove-empty,
	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table tbody td.product-remove:empty {
		display: none !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table .product-add-to-cart {
		grid-area: actions;
		justify-self: stretch !important;
		width: 100% !important;
		max-width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		padding-left: 0 !important;
		text-align: left !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form table.wishlist_table .product-add-to-cart .screen-reader-text {
		display: none !important;
	}

	/* Action wrapper — Select options + Remove side by side, left-aligned */
	.wishlist_table .fr-wishlist-actions {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 8px;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	/* Beat YITH: .wishlist_table .product-add-to-cart a { display:table; margin:0 auto } */
	.wishlist_table .product-add-to-cart .fr-wishlist-actions > a:not(.fr-wishlist-remove-btn):not(.remove_from_wishlist),
	.wishlist_table .product-add-to-cart .fr-wishlist-actions > a.button:not(.fr-wishlist-remove-btn):not(.remove_from_wishlist),
	.wishlist_table .product-add-to-cart .fr-wishlist-actions > button.button,
	.wishlist_table .product-add-to-cart .fr-wishlist-actions > a.add_to_cart_button {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: auto;
		min-width: 0;
		height: 30px !important;
		min-height: 30px !important;
		max-height: 30px !important;
		margin: 0 !important;
		padding: 4px 12px !important;
		border: 1px solid var(--fr-green-900);
		border-radius: 8px;
		background-color: var(--fr-green-900);
		color: var(--fr-white);
		font-family: var(--fr-font-body);
		font-size: 12px !important;
		font-weight: 700;
		line-height: 1 !important;
		text-decoration: none !important;
		white-space: nowrap;
		flex: 0 0 auto;
	}

	/* Theme-owned Remove button — class added in site.js */
	.wishlist_table .product-add-to-cart .fr-wishlist-actions > a.fr-wishlist-remove-btn {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		height: 30px !important;
		min-height: 30px !important;
		width: auto !important;
		min-width: 88px;
		margin: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 4px 14px !important;
		position: static !important;
		inset: auto !important;
		transform: none !important;
		background: #fff !important;
		background-color: #fff !important;
		color: #164b35 !important;
		border: 1px solid #164b35 !important;
		border-radius: 8px !important;
		box-shadow: none !important;
		font-family: inherit !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		line-height: 1 !important;
		text-align: center !important;
		text-transform: uppercase !important;
		text-decoration: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		box-sizing: border-box !important;
		flex: 0 0 auto;
		-webkit-tap-highlight-color: transparent;
	}

	.wishlist_table .fr-wishlist-remove-btn::before,
	.wishlist_table .fr-wishlist-remove-btn::after {
		content: none !important;
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		background: none !important;
		mask-image: none !important;
		-webkit-mask-image: none !important;
	}

	.wishlist_table .fr-wishlist-actions > a.fr-wishlist-remove-btn,
	.wishlist_table .fr-wishlist-actions > a.fr-wishlist-remove-btn:visited {
		background: #fff !important;
		background-color: #fff !important;
		color: #164b35 !important;
		border-color: #164b35 !important;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	.wishlist_table .fr-wishlist-actions > a.fr-wishlist-remove-btn:hover,
	.wishlist_table .fr-wishlist-actions > a.fr-wishlist-remove-btn:focus,
	.wishlist_table .fr-wishlist-actions > a.fr-wishlist-remove-btn:focus-visible,
	.wishlist_table .fr-wishlist-actions > a.fr-wishlist-remove-btn:active {
		background: #f0f7f3 !important;
		background-color: #f0f7f3 !important;
		color: #164b35 !important;
		border-color: #164b35 !important;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	/* --- YITH mobile <ul> template (when responsive JS swaps DOM) --- */
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile > li {
		display: grid;
		grid-template-columns: 100px minmax(0, 1fr);
		grid-template-rows: auto auto auto auto;
		grid-template-areas:
			"thumb title"
			"thumb price"
			"thumb stock"
			"thumb actions";
		column-gap: 12px;
		row-gap: 0;
		align-items: start;
		width: 100%;
		margin: 0;
		padding: 14px 0;
		border: 0;
		border-bottom: 1px solid rgba(23, 63, 43, 0.1);
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile > li:first-child {
		padding-top: 0;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile > li:last-child {
		border-bottom: 0;
		padding-bottom: 0;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .item-wrapper,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-thumbnail,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .item-details,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .additional-info-wrapper {
		min-width: 0;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .item-wrapper {
		display: contents;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 4;
		width: 100px;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-thumbnail a,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-thumbnail img {
		display: block;
		width: 100px;
		height: 100px;
		max-width: 100px;
		margin: 0;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		border-radius: 6px;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .item-details {
		grid-area: title;
		width: 100%;
		margin: 0 0 8px;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-name h3,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-name h3 a {
		margin: 0;
		color: #111 !important;
		font-family: var(--fr-font-body);
		font-size: 15px;
		font-weight: 700;
		line-height: 1.3;
		text-align: left !important;
		text-decoration: none;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-name h3 a {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .item-details-table td.label,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .additional-info td.label {
		display: none !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .additional-info-wrapper {
		display: contents;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .item-details-table {
		grid-area: price;
		margin: 0 0 5px;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .item-details-table td.value {
		margin: 0;
		padding: 0;
		color: var(--fr-green-900);
		font-size: 14px;
		font-weight: 700;
		text-align: left !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .additional-info {
		grid-area: stock;
		margin: 0 0 9px;
		text-align: left !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .additional-info td.value {
		margin: 0;
		padding: 0;
		color: var(--fr-green-800);
		font-size: 12px;
		font-weight: 600;
		text-align: left !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-add-to-cart {
		grid-area: actions;
		justify-self: stretch !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-remove,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-remove.fr-wishlist-remove-empty,
	body.woocommerce-wishlist .yith-wcwl-form ul.wishlist_table.mobile .product-remove:empty {
		display: none !important;
	}
}

/* ==========================================================================
   SITE FOOTER
   ========================================================================== */

.site-footer {
	overflow-x: clip;
	color: #e9eee9;
}

.site-footer a {
	color: #e9eee9;
	text-decoration-color: rgba(233, 238, 233, 0.55);
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: #ffffff;
}

.site-bottom-footer-wrap .site-container {
	max-width: var(--fr-layout-width);
	margin-inline: auto;
	padding-inline: 0;
}

/* Footer menu phía trên */
.site-middle-footer-wrap .site-footer-row-container-inner {
	box-sizing: border-box;
	width: 100%;
	padding: 52px 24px;
	background-color: #173f2b;
}

body .site-middle-footer-wrap .site-container {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--fr-layout-width, 1290px) - 48px) !important;
	margin-inline: auto;
	padding-inline: 0;
}

.site-middle-footer-inner-wrap.site-footer-row-columns-4 {
	box-sizing: border-box;
	width: 100%;
	margin-inline: auto;

	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: start;
	column-gap: clamp(40px, 5vw, 80px);
	row-gap: 32px;
	padding: 0;
}

.site-middle-footer-inner-wrap .footer-widget-area,
.site-middle-footer-inner-wrap .footer-widget-area-inner,
.site-middle-footer-inner-wrap .footer-html-inner,
.site-middle-footer-inner-wrap .widget {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	text-align: left;
}

.site-middle-footer-inner-wrap .widget-title,
.site-middle-footer-inner-wrap .wp-block-heading {
	margin-top: 0;
}

.site-middle-footer-inner-wrap .footer-widget1 .widget-title,
.site-middle-footer-inner-wrap .footer-widget1 .wp-block-heading,
.site-middle-footer-inner-wrap .footer-widget1 p,
.site-middle-footer-inner-wrap .footer-widget1 .footer-html-inner {
	margin-left: 0 !important;
	padding-left: 0 !important;
	text-align: left;
}

/* Footer copyright phía dưới — làm mỏng */
.site-bottom-footer-wrap .site-footer-row-container-inner {
	min-height: 0 !important;
	padding: 4px 24px !important;
	border-top: 1px solid #315b43;
	background-color: #103320;
}

.site-footer .footer-widget-area-inner,
.site-footer .footer-html-inner,
.site-footer .widget {
	color: #e9eee9;
	font-size: 14px;
	line-height: 1.6;
}

.site-footer p,
.site-footer li,
.site-footer .footer-html-inner p,
.site-footer .footer-html-inner a {
	font-size: 14px;
	line-height: 1.6;
}

.site-footer .widget-title,
.site-footer .footer-navigation .menu-title,
.site-footer .wp-block-heading {
	margin: 0 0 0.875rem;
	color: #ffffff;
	font-family: var(--fr-font-body);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

.site-footer .footer-widget1 .widget-title,
.site-footer .footer-widget1 .wp-block-heading {
	font-family: var(--fr-font-heading);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
}

.site-footer .footer-navigation .footer-menu-container > ul,
.site-footer .footer-navigation ul.menu,
.site-footer .widget_nav_menu ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .footer-navigation li,
.site-footer .widget_nav_menu li {
	margin: 0;
	padding: 0;
}

.site-footer .footer-navigation li + li,
.site-footer .widget_nav_menu li + li {
	margin-top: 9px;
}

.site-footer .footer-navigation a,
.site-footer .widget_nav_menu a {
	display: inline-block;
	color: #e9eee9;
	text-decoration: none;
}

.site-footer .footer-navigation a:hover,
.site-footer .widget_nav_menu a:hover {
	color: #ffffff;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.45);
}

/* Hai cột copyright và Secure Checkout */
.site-bottom-footer-inner-wrap.site-footer-row-columns-2 {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	min-height: 0 !important;
}

/* Xóa khoảng trắng thừa bên trong hàng footer dưới */
.site-bottom-footer-section-1,
.site-bottom-footer-section-2,
.site-bottom-footer-section-1 .footer-html-inner,
.site-bottom-footer-section-2 .footer-html-inner,
.site-bottom-footer-section-1 .site-info-inner,
.site-bottom-footer-section-2 .site-info-inner {
	min-height: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Xóa margin mặc định của nội dung chữ */
.site-bottom-footer-wrap p,
.site-bottom-footer-wrap .footer-html-inner p,
.site-bottom-footer-wrap .site-info-inner p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
}

.site-bottom-footer-section-1,
.site-bottom-footer-section-1 .footer-html-inner,
.site-bottom-footer-section-1 .site-info-inner {
	text-align: left;
}

.site-bottom-footer-section-2,
.site-bottom-footer-section-2 .footer-html-inner,
.site-bottom-footer-section-2 .site-info-inner {
	text-align: right;
}

.site-footer .footer-html-inner a[href*="kadencewp.com"] {
	display: none;
}

.site-footer a:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.45);
	outline-offset: 2px;
}

@media (max-width: 1024px) {
	.site-middle-footer-inner-wrap.site-footer-row-columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.site-middle-footer-inner-wrap .site-footer-middle-section-2 {
		display: none;
	}

	.site-middle-footer-inner-wrap .site-footer-middle-section-3 {
		grid-column: 2;
		grid-row: 1;
	}

	.site-middle-footer-inner-wrap .site-footer-middle-section-4 {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

@media screen and (max-width: 767px) {
	.site-middle-footer-wrap .site-footer-row-container-inner {
		padding: 40px var(--fr-mobile-gutter);
	}

	.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner {
		min-height: 0 !important;
		padding: 6px var(--fr-mobile-gutter) !important;
	}

	.site-middle-footer-inner-wrap.site-footer-row-columns-4 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
		row-gap: 30px;
		align-items: start;
	}

	.site-middle-footer-inner-wrap .site-footer-middle-section-1 {
		grid-column: 1 / -1;
	}

	.site-middle-footer-inner-wrap .site-footer-middle-section-2 {
		display: none;
	}

	.site-middle-footer-inner-wrap .site-footer-middle-section-4 {
		grid-column: 1;
		grid-row: 2;
	}

	.site-middle-footer-inner-wrap .site-footer-middle-section-3 {
		grid-column: 2;
		grid-row: 2;
	}

	.site-footer .site-bottom-footer-inner-wrap.site-footer-row-columns-3 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: start;
		justify-items: start;
		gap: 10px;
		row-gap: 10px;
	}

	.site-footer .site-footer-bottom-section-2 {
		display: none;
	}

	.site-footer .site-footer-bottom-section-1,
	.site-footer .site-footer-bottom-section-1 .footer-html-inner,
	.site-footer .site-footer-bottom-section-1 .site-info-inner,
	.site-footer .site-footer-bottom-section-3,
	.site-footer .site-footer-bottom-section-3 .footer-widget-area,
	.site-footer .site-footer-bottom-section-3 .footer-widget-area-inner,
	.site-footer .site-footer-bottom-section-3 .fr-footer-secure {
		text-align: left;
		justify-content: flex-start;
	}

	.site-footer .site-bottom-footer-wrap p,
	.site-footer .site-bottom-footer-wrap .footer-html-inner p,
	.site-footer .site-bottom-footer-wrap .fr-footer-secure,
	.site-footer .site-bottom-footer-wrap .site-info-inner {
		font-size: 13px;
	}

	.site-footer .site-bottom-footer-inner-wrap.site-footer-row-columns-3 {
		gap: 10px !important;
		row-gap: 10px !important;
	}
}
/* =========================================================
   FOOTER — COMPACT BOTTOM ROW
   ========================================================= */

/* Wrapper ngoài */
.site-footer .site-bottom-footer-wrap,
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner {
	height: auto !important;
	min-height: 0 !important;
}

/* Grid chứa hai cột */
.site-footer .site-bottom-footer-inner-wrap,
.site-footer .site-bottom-footer-inner-wrap.site-footer-row-columns-2 {
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center !important;
	gap: 2px !important;
}

/* Đúng class của hai cột Kadence */
.site-footer .site-footer-bottom-section-1,
.site-footer .site-footer-bottom-section-2,
.site-footer .site-footer-bottom-section-1 .footer-html-inner,
.site-footer .site-footer-bottom-section-2 .footer-html-inner,
.site-footer .site-footer-bottom-section-1 .site-info-inner,
.site-footer .site-footer-bottom-section-2 .site-info-inner {
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Nội dung chữ không tạo thêm chiều cao */
.site-footer .site-bottom-footer-wrap p,
.site-footer .site-bottom-footer-wrap .footer-html,
.site-footer .site-bottom-footer-wrap .footer-html-inner,
.site-footer .site-bottom-footer-wrap .site-info-inner {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.25 !important;
}

/* ==========================================================================
   HOME CATEGORIES
   ========================================================================== */

.fr-home-categories {
	width: 100vw;
	max-width: none;
	margin-inline: calc(50% - 50vw);
	padding: 72px 24px;
	overflow-x: clip;
	background-color: #fbf8f1;
	box-sizing: border-box;
}

.fr-home-categories__inner,
.fr-home-categories .woocommerce,
.fr-home-categories > h2,
.fr-home-categories > p {
	width: 100%;
	max-width: var(--fr-layout-width);
	margin-inline: auto;
}

.fr-home-categories > h2,
.fr-home-categories__heading,
.fr-home-categories__inner > h2,
.fr-home-categories .wp-block-heading {
	margin: 0;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
}

.fr-home-categories > p,
.fr-home-categories__description,
.fr-home-categories__inner > p {
	margin: 0.875rem 0 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.6;
	text-align: center;
}

.fr-home-categories .woocommerce {
	margin-top: 2.5rem;
}

.fr-home-categories ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fr-home-categories ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fr-home-categories li.product-category {
	overflow: hidden;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.fr-home-categories li.product-category:hover {
	box-shadow: 0 10px 28px rgba(23, 63, 43, 0.12);
	transform: translateY(-4px);
}

.fr-home-categories li.product-category > a,
.fr-home-categories li.product-category a {
	display: block;
	position: static;
	color: inherit;
	text-decoration: none;
}

.fr-home-categories li.product-category img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform 220ms ease;
}

.fr-home-categories li.product-category:hover img {
	transform: scale(1.04);
}

.fr-home-categories .woocommerce-loop-category__title {
	position: static;
	inset: auto;
	margin: 0;
	padding: 18px;
	border: 0;
	background: transparent;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	transform: none;
}

.fr-home-categories .woocommerce-loop-category__title .count {
	display: none;
}

.fr-home-categories a:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

@media (max-width: 1024px) {
	.fr-home-categories ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.fr-home-categories {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-home-categories > h2,
	.fr-home-categories__heading,
	.fr-home-categories__inner > h2,
	.fr-home-categories .wp-block-heading {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}

	.fr-home-categories ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-home-categories li.product-category,
	.fr-home-categories li.product-category img {
		transition: none;
	}

	.fr-home-categories li.product-category:hover {
		transform: none;
	}

	.fr-home-categories li.product-category:hover img {
		transform: none;
	}
}

/* ==========================================================================
   HOME — MAIN CATEGORY CIRCLES
   ========================================================================== */

body.home .fr-main-categories {
	box-sizing: border-box;
	width: min(var(--fr-layout-width, 1290px), calc(100% - 48px));
	margin: 0 auto !important;
	padding: 45px 0 38px !important;
}

body.home .fr-main-categories__grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	align-items: start !important;
	gap: 28px !important;

	margin: 0 !important;
	padding: 0 !important;
}

body.home .fr-main-category-card {
	display: grid;
	grid-template-rows: auto auto;
	align-content: start;
	gap: 12px;

	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;

	text-align: center;
}

body.home .fr-main-category-card__image-link {
	display: block;

	box-sizing: border-box;
	width: 100%;

	color: inherit !important;
	text-decoration: none !important;
}

body.home .fr-main-category-card__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;

	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 1 / 1;

	border-radius: 50%;

	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease;
}

body.home .fr-main-category-card__visual--image {
	background: #f7f3eb;
	box-shadow: 0 3px 12px rgba(23, 63, 43, 0.06);
}

body.home .fr-main-category-card__visual--image img {
	display: block;

	width: 100%;
	height: 100%;
	margin: 0 !important;

	border-radius: 50%;
	object-fit: cover;

	transition: transform 220ms ease;
}

body.home .fr-main-category-card__visual--sale {
	display: flex;
	align-items: center;
	justify-content: center;

	background: #f5820b;
	color: #ffffff;

	box-shadow: 0 3px 12px rgba(245, 130, 11, 0.12);
}

body.home .fr-main-category-card__sale-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	margin: 0;
	padding: 0;

	color: #ffffff;
	text-align: center;
}

body.home .fr-main-category-card__sale-top {
	display: block;

	margin: 0 0 7px;
	padding: 0;

	color: #ffffff;

	font-size: clamp(15px, 1.25vw, 21px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

body.home .fr-main-category-card__sale-value {
	display: block;

	margin: 0;
	padding: 0;

	color: #ffffff;

	font-size: clamp(50px, 5vw, 76px);
	font-weight: 800;
	line-height: 0.88;
	letter-spacing: -0.04em;
	white-space: nowrap;
}

/* Hover only on the circular visual */
body.home .fr-main-category-card__image-link:hover
.fr-main-category-card__visual,
body.home .fr-main-category-card__image-link:focus-visible
.fr-main-category-card__visual {
	transform: translateY(-3px);
	box-shadow: 0 10px 26px rgba(23, 63, 43, 0.16);
}

body.home .fr-main-category-card__image-link:hover
.fr-main-category-card__visual--image img,
body.home .fr-main-category-card__image-link:focus-visible
.fr-main-category-card__visual--image img {
	transform: scale(1.045);
}

body.home .fr-main-category-card__image-link:hover
.fr-main-category-card__visual--sale,
body.home .fr-main-category-card__image-link:focus-visible
.fr-main-category-card__visual--sale {
	background: #df7100;
	box-shadow: 0 10px 26px rgba(223, 113, 0, 0.20);
}

/* All five titles share exactly the same layout */
body.home .fr-main-category-card__title {
	display: block;

	width: 100%;
	margin: 0 !important;
	padding: 0 !important;

	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-align: center;
}

/* Neutralize every possible theme underline/hover treatment */
body.home .fr-main-category-card__title-link,
body.home .fr-main-category-card__title-link:link,
body.home .fr-main-category-card__title-link:visited,
body.home .fr-main-category-card__title-link:hover,
body.home .fr-main-category-card__title-link:focus,
body.home .fr-main-category-card__title-link:active {
	display: inline-block;

	margin: 0 !important;
	padding: 0 !important;

	color: #1d211f !important;
	background: transparent !important;
	background-image: none !important;

	border: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;

	font: inherit !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
	text-decoration-color: transparent !important;

	transform: none !important;
	transition: none !important;
}

body.home .fr-main-category-card__title-link::before,
body.home .fr-main-category-card__title-link::after {
	display: none !important;
	content: none !important;
}

body.home .fr-main-categories__carousel {
	position: relative;
}

body.home .fr-main-categories__arrow {
	display: none;
}

@media screen and (max-width: 1024px) {
	body.home .fr-main-categories {
		width: 100%;
		max-width: 100%;
		padding: 28px 0 32px !important;
		overflow: visible;
	}

	body.home .fr-main-categories__grid {
		display: grid !important;
		grid-auto-flow: column;
		grid-auto-columns: calc((100% - 24px) / 3.35);
		grid-template-columns: none !important;
		align-items: start !important;
		gap: 12px !important;

		box-sizing: border-box;
		width: 100%;
		margin: 0 !important;
		padding-inline: 24px;

		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		scroll-behavior: smooth;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	body.home .fr-main-categories__carousel {
		position: relative;
		overflow: visible;
	}

	body.home .fr-main-categories__arrow {
		display: grid;
		place-items: center;

		position: absolute;
		z-index: 3;
		top: 36%;

		width: 24px;
		height: 24px;
		min-width: 24px;
		min-height: 24px;
		padding: 0;

		border: 1px solid rgba(23, 63, 43, 0.12);
		border-radius: 7px;

		background-color: rgba(255, 255, 255, 0.96);
		color: #173f2b;

		box-shadow: 0 2px 8px rgba(23, 63, 43, 0.12);

		font-size: 0;
		line-height: 0;

		cursor: pointer;

		transform: translateY(calc(-50% + 10px));

		transition:
			background-color 160ms ease,
			border-color 160ms ease,
			opacity 160ms ease,
			box-shadow 160ms ease;
	}

	body.home .fr-main-categories__arrow > span {
		display: block;
		width: 7px;
		height: 7px;

		border-top: 1.5px solid currentColor;
		border-right: 1.5px solid currentColor;

		font-size: 0;
		line-height: 0;
	}

	body.home .fr-main-categories__arrow--prev > span {
		transform: rotate(-135deg);
	}

	body.home .fr-main-categories__arrow--next > span {
		transform: rotate(45deg);
	}

	body.home .fr-main-categories__arrow--prev {
		left: 4px;
	}

	body.home .fr-main-categories__arrow--next {
		right: 4px;
	}

	body.home .fr-main-categories__arrow:hover:not(:disabled) {
		border-color: rgba(23, 63, 43, 0.24);
		background-color: #ffffff;
		box-shadow: 0 3px 10px rgba(23, 63, 43, 0.16);
	}

	body.home .fr-main-categories__arrow:disabled {
		opacity: 0.35;
		cursor: default;
	}

	body.home .fr-main-categories__arrow.is-hidden {
		display: none;
	}

	body.home .fr-main-categories__arrow:focus-visible {
		outline: 2px solid rgba(23, 63, 43, 0.28);
		outline-offset: 2px;
	}

	body.home .fr-main-categories__grid::-webkit-scrollbar {
		display: none;
	}

	body.home .fr-main-category-card {
		flex: 0 0 auto;
		gap: 8px;
		min-width: 0;
		width: 100%;
		scroll-snap-align: start;
	}
}

@media screen and (max-width: 767px) {
	body.home .fr-main-categories {
		padding: 16px 0 24px !important;
	}

	body.home .fr-main-categories__grid {
		grid-auto-columns: calc((100% - 16px) / 3);
		gap: 8px !important;
		padding-inline: var(--fr-mobile-gutter);
	}

	body.home .fr-main-categories__arrow--prev {
		left: -10px;
	}

	body.home .fr-main-categories__arrow--next {
		right: -10px;
	}

	body.home .fr-main-category-card__title {
		font-size: 14px !important;
	}

	body.home .fr-main-category-card:last-child {
		grid-column: auto;
		width: 100%;
		justify-self: stretch;
	}

	body.home .fr-main-category-card__sale-top {
		margin-bottom: 3px;
		font-size: 11px;
	}

	body.home .fr-main-category-card__sale-value {
		font-size: clamp(26px, 8vw, 38px);
	}
}

/* iPad mini portrait (~744px): slightly smaller circles than phone ≤767 */
@media screen and (min-width: 700px) and (max-width: 767px) {
	body.home .fr-main-categories__grid {
		grid-auto-columns: calc(((100% - 16px) / 3) * 0.88);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .fr-main-category-card__visual,
	body.home .fr-main-category-card__visual img {
		transition: none;
	}

	body.home .fr-main-category-card__image-link:hover
	.fr-main-category-card__visual,
	body.home .fr-main-category-card__image-link:hover
	.fr-main-category-card__visual img {
		transform: none;
	}
}

/* ==========================================================================
   HOME — MESSAGE GIFT CARD BANNERS
   ========================================================================== */

body.home .fr-gift-banner-desktop,
body.home .fr-gift-banner-mobile {
	box-sizing: border-box;
	position: relative;
	width: min(var(--fr-layout-width, 1290px), calc(100% - 48px));
	max-width: 100%;
	margin-inline: auto !important;
	margin-top: 18px !important;
	margin-bottom: 20px !important;
	padding: 0 !important;
	border-radius: 8px;
	overflow: hidden;
	min-height: 0 !important;
	height: auto;
	isolation: isolate;
}

body.home .fr-gift-banner-desktop {
	display: block !important;
	aspect-ratio: 1542 / 500 !important;
}

@media (min-width: 768px) {

    body.home .fr-gift-banner-desktop {
        aspect-ratio: 1242 / 381.5 !important;
    }

    body.home .fr-gift-banner-desktop > a {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    body.home .fr-gift-banner-desktop img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100%;
        aspect-ratio: auto !important;
        object-fit: cover;
        object-position: center;
    }
}

body.home .fr-gift-banner-mobile {
	display: none !important;
}

body.home .fr-gift-banner-mobile + .fr-home-featured {
	padding-top: 0 !important;
}

@media screen and (max-width: 699px) {
	body.home .fr-gift-banner-desktop {
		display: none !important;
	}

	body.home .fr-gift-banner-mobile {
		display: block !important;
		width: 100%;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: auto !important;
		margin: 0;
		padding: 0;
	}

	body.home .fr-gift-banner-mobile a,
	body.home .fr-gift-banner-mobile img {
		display: block;
		width: 100%;
		height: 220px !important;
		max-width: 100%;
		object-fit: cover;
		object-position: center;
		border-radius: 10px;
	}
}

/* ==========================================================================
   HOME FEATURED
   ========================================================================== */

body.home .fr-home-featured {
	box-sizing: border-box;
	width: min(var(--fr-layout-width, 1290px), calc(100% - 48px));
	max-width: none;
	margin-inline: auto !important;
	padding: 15px 0 30px;
	overflow-x: clip;
	background-color: #ffffff;
}

.fr-home-featured__inner,
.fr-home-featured .woocommerce,
.fr-home-featured > h2,
.fr-home-featured > p {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

body.home .fr-home-how .wp-block-group__inner-container > .wp-block-heading,
body.home .fr-home-memorial-copy > .wp-block-group__inner-container > .wp-block-heading.has-text-align-center,
body.home .fr-home-how > h2,
body.home .fr-home-featured > h2,
body.home .fr-home-featured__heading,
body.home .fr-home-featured__inner > h2,
body.home .fr-home-featured .wp-block-heading,
body.home .fr-shop-by-product__heading,
body.home .fr-home-how__heading,
body.home .fr-home-how__inner > h2 {
	margin: 0 !important;
	padding: 10px !important;

	color: #111827;
	font-family: var(--fr-font-heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.fr-home-featured > p,
.fr-home-featured__description,
.fr-home-featured__inner > p {
	margin: 0.875rem 0 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.6;
	text-align: center;
}

.fr-home-featured .woocommerce {
	margin-top: 2.5rem;
}

body.home .fr-home-featured ul.products {
	display: grid !important;
	align-items: stretch;
	gap: 20px !important;

	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.home .fr-home-featured ul.products li.product {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	box-sizing: border-box;
	width: auto !important;
	max-width: none !important;
	flex-basis: auto !important;
	height: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
	float: none !important;
	clear: none !important;
	list-style: none;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	overflow: hidden;
	background-color: #ffffff;
	box-shadow: 0 4px 14px rgba(23, 63, 43, 0.05);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		border-color 180ms ease;
}

.fr-home-featured ul.products li.product:hover {
	border-color: #d7cdbd;
	box-shadow: 0 12px 28px rgba(23, 63, 43, 0.12);
	transform: translateY(-3px);
}

.fr-home-featured .woocommerce-loop-product__link,
.fr-home-featured .woocommerce-loop-image-link {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #f4eee3;
}

.fr-home-featured .woocommerce-loop-product__link img,
.fr-home-featured .woocommerce-loop-image-link img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.fr-home-featured .product-details {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	background-color: #ffffff;
}

.fr-home-featured li.product .product-action-wrap,
.fr-home-featured li.product a.add_to_cart_button,
.fr-home-featured li.product a.button[class*="product_type_"],
.fr-home-featured li.product .added_to_cart,
.fr-home-featured li.product > a.button,
.fr-home-featured li.product > button.button {
	display: none;
	margin: 0;
}

.fr-home-featured .yith-wcwl-add-to-wishlist,
.fr-home-featured .yith-add-to-wishlist-button-block,
.fr-home-featured .add-to-wishlist {
	display: block;
}

.fr-home-featured .yith-wcwl-add-to-wishlist-button,
.fr-home-featured .add_to_wishlist {
	display: inline-flex;
}

.fr-home-featured li.product .product-excerpt,
.fr-home-featured li.product .onsale {
	display: none;
}

.fr-home-featured a:focus-visible,
.fr-home-featured button:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

/* ==========================================================================
   HOME FEATURED — RATING ON ONE LINE
   ========================================================================== */

/*
 * Kadence sets .entry-content-wrap to flex column, which forces
 * .star-rating and .fr-loop-rating-meta onto separate rows.
 */
body.home .fr-home-featured ul.products li.product .entry-content-wrap {
	display: block !important;
}

body.home .fr-home-featured ul.products li.product .star-rating {
	display: inline-block !important;
	float: none !important;
	clear: none !important;

	width: 5.4em;
	margin: 4px 5px 5px 0 !important;

	vertical-align: middle;
	line-height: 1;
}

body.home .fr-home-featured ul.products li.product .fr-loop-rating-meta {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;

	float: none !important;
	clear: none !important;

	width: auto !important;
	max-width: none !important;

	margin: 4px 0 5px !important;

	vertical-align: middle;
	line-height: 1;
	white-space: nowrap;
}

body.home .fr-home-featured ul.products li.product .fr-loop-rating-average,
body.home .fr-home-featured ul.products li.product .fr-loop-rating-count {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	white-space: nowrap;
}

/* Price always starts on a new line below the rating */
body.home .fr-home-featured ul.products li.product .fr-loop-price-row {
	display: flex !important;
	clear: both !important;
	width: 100%;
	margin-top: 1px !important;
}

body.home .fr-home-featured ul.products li.product .fr-loop-price-row > .price {
	display: inline-flex !important;
	clear: none !important;
	width: auto !important;
	margin: 0 !important;
}

/* WP Admin Gutenberg Buttons under Featured Memorials (e.g. See More). */
body.home .fr-home-featured .wp-block-buttons {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 24px 0 0;
	padding: 0;
}

body.home .fr-home-featured .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 26px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition:
		background-color 160ms ease,
		border-color 160ms ease;
}

body.home .fr-home-featured .wp-block-button__link:hover,
body.home .fr-home-featured .wp-block-button__link:focus {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
	text-decoration: none !important;
}

body.home .fr-home-featured .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(23, 63, 43, 0.28);
	outline-offset: 3px;
}

@media screen and (min-width: 1025px) {
	body.home .fr-home-featured ul.products {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: 20px !important;

		width: 100%;
		max-width: 100%;
		margin-inline: 0 !important;
		padding-inline: 0 !important;
	}
}

@media (max-width: 767px) {
	body.home .fr-home-featured {
		width: 100%;
		padding: 30px 0 30px;
	}

	body.home .fr-home-how .wp-block-group__inner-container > .wp-block-heading,
	body.home .fr-home-memorial-copy > .wp-block-group__inner-container > .wp-block-heading.has-text-align-center,
	body.home .fr-home-featured > h2,
	body.home .fr-home-featured__heading,
	body.home .fr-home-featured__inner > h2,
	body.home .fr-home-featured .wp-block-heading,
	body.home .fr-shop-by-product__heading,
	body.home .fr-home-how > h2,
	body.home .fr-home-how__heading,
	body.home .fr-home-how__inner > h2 {
		font-size: 21px;
	}

	body.home .fr-home-featured ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 16px !important;
	}

	body.home .fr-home-featured .wp-block-buttons {
		margin-top: 20px;
	}

	body.home .fr-home-featured .wp-block-button__link {
		min-height: 42px;
		padding: 8px 30px;
		font-size: 17px !important;
	}
}

/* iPad mini portrait (744px) and other 700–767 widths: 3 cards, not phone 2-col */
@media screen and (min-width: 700px) and (max-width: 1024px) {
	body.home .fr-home-featured ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-home-featured ul.products li.product {
		transition: none;
	}

	.fr-home-featured ul.products li.product:hover {
		transform: none;
	}
}

/* ==========================================================================
   HOME — SHOP BY PRODUCT CAROUSEL
   ========================================================================== */

/* Kadence .entry-content > * + * gives Featured a 32px block gap before Shop By Product. */
body.home .entry-content > .fr-home-featured.wp-block-group:has(+ .fr-shop-by-product) {
	margin-bottom: 12px !important;
	margin-block-end: 12px !important;
}

body.home .fr-shop-by-product {
	box-sizing: border-box;
	width: min(var(--fr-layout-width, 1290px), calc(100% - 48px));
	margin: 0 auto !important;
	padding: 0px 0 46px !important;
}

body.home .fr-shop-by-product__header {
	margin: 0 0 24px;
	text-align: center;
}

body.home .fr-shop-by-product__carousel {
	position: relative;
}

body.home .fr-shop-by-product__viewport {
	overflow-x: auto;
	overflow-y: hidden;

	width: 100%;

	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
	cursor: grab;
}

body.home .fr-shop-by-product__viewport.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
	scroll-snap-type: none;
	user-select: none;
}

body.home .fr-shop-by-product__viewport.is-dragging * {
	user-select: none;
}

body.home .fr-shop-by-product__viewport::-webkit-scrollbar {
	display: none;
}

body.home .fr-shop-by-product__track {
	--fr-shop-by-product-visible: 6;
	--fr-shop-by-product-gap: 24px;

	display: grid;
	grid-auto-flow: column;
	grid-auto-columns:
		calc(
			(
				100%
				- (
					var(--fr-shop-by-product-visible)
					- 1
				)
				* var(--fr-shop-by-product-gap)
			)
			/ var(--fr-shop-by-product-visible)
		);

	gap: var(--fr-shop-by-product-gap);

	margin: 0;
	padding: 0;
}

body.home .fr-shop-by-product__card {
	min-width: 0;
	margin: 0;
	padding: 0;

	scroll-snap-align: start;
	text-align: center;
}

body.home .fr-shop-by-product__image-link {
	display: block;
	color: inherit !important;
	text-decoration: none !important;
}

body.home .fr-shop-by-product__media {
	display: block;
	overflow: hidden;

	width: 100%;
	aspect-ratio: 1 / 1;

	border-radius: 12px;
	background-color: #fbf4e7;

	box-shadow: 0 2px 10px rgba(23, 63, 43, 0.06);

	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

body.home .fr-shop-by-product__image {
	display: block;

	width: 100%;
	height: 100%;
	margin: 0 !important;

	object-fit: cover;

	transition: transform 220ms ease;
}

/* Hover chỉ áp dụng cho ảnh */
body.home .fr-shop-by-product__image-link:hover
.fr-shop-by-product__media,
body.home .fr-shop-by-product__image-link:focus-visible
.fr-shop-by-product__media {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(23, 63, 43, 0.14);
}

body.home .fr-shop-by-product__image-link:hover
.fr-shop-by-product__image,
body.home .fr-shop-by-product__image-link:focus-visible
.fr-shop-by-product__image {
	transform: scale(1.04);
}

body.home .fr-shop-by-product__title {
	margin: 11px 0 0 !important;
	padding: 0 !important;

	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-align: center;
}

body.home .fr-shop-by-product__title a,
body.home .fr-shop-by-product__title a:link,
body.home .fr-shop-by-product__title a:visited,
body.home .fr-shop-by-product__title a:hover,
body.home .fr-shop-by-product__title a:focus,
body.home .fr-shop-by-product__title a:active {
	color: #111827 !important;
	background: transparent !important;

	border: 0 !important;
	box-shadow: none !important;

	text-decoration: none !important;
	text-decoration-line: none !important;

	transform: none !important;
	transition: none !important;
}

body.home .fr-shop-by-product__title a::before,
body.home .fr-shop-by-product__title a::after {
	display: none !important;
	content: none !important;
}

/* Arrow buttons — CSS chevrons centered in the hit area */
body.home .fr-shop-by-product__arrow {
	position: absolute;
	z-index: 3;
	top: 50%;

	display: grid;
	place-items: center;

	width: 42px;
	height: 50px;
	padding: 0;

	border: 1px solid #d8d5ce;
	border-radius: 10px;

	background-color: rgba(255, 255, 255, 0.94);
	color: #1d211f;

	font-size: 0;
	line-height: 0;

	cursor: pointer;

	transform: translateY(-70%);

	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		opacity 160ms ease;
}

body.home .fr-shop-by-product__arrow > span {
	display: block;
	width: 10px;
	height: 10px;

	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;

	font-size: 0;
	line-height: 0;
}

body.home .fr-shop-by-product__arrow--prev > span {
	transform: rotate(-135deg);
}

body.home .fr-shop-by-product__arrow--next > span {
	transform: rotate(45deg);
}

body.home .fr-shop-by-product__arrow--prev {
	left: -21px;
}

body.home .fr-shop-by-product__arrow--next {
	right: -21px;
}

body.home .fr-shop-by-product__arrow:hover:not(:disabled) {
	border-color: #173f2b;
	background-color: #ffffff;
}

body.home .fr-shop-by-product__arrow:disabled {
	opacity: 0.32;
	cursor: default;
}

body.home .fr-shop-by-product__arrow.is-hidden {
	display: none;
}

body.home .fr-shop-by-product__arrow:focus-visible {
	outline: 3px solid rgba(23, 63, 43, 0.25);
	outline-offset: 3px;
}

@media screen and (max-width: 1199px) {
	body.home .fr-shop-by-product__track {
		--fr-shop-by-product-visible: 4;
		--fr-shop-by-product-gap: 22px;
	}
}

@media screen and (max-width: 767px) {
	body.home .fr-shop-by-product {
		width: calc(100% - 2 * var(--fr-mobile-gutter));
		padding: 0 0 36px !important;
	}

	body.home .fr-shop-by-product__header {
		margin-bottom: 18px;
	}

	body.home .fr-shop-by-product__carousel {
		overflow: visible;
	}

	body.home .fr-shop-by-product__viewport {
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	body.home .fr-shop-by-product__track {
		--fr-shop-by-product-visible: 3;
		--fr-shop-by-product-gap: 8px;
	}

	body.home .fr-shop-by-product__card {
		min-width: 0;
		scroll-snap-align: start;
	}

	body.home .fr-shop-by-product__title {
		margin-top: 8px !important;
		font-size: 14px !important;
	}

	/* Match fr-main-categories__arrow mobile styles exactly */
	body.home .fr-shop-by-product__arrow {
		top: 36%;

		width: 24px;
		height: 24px;
		min-width: 24px;
		min-height: 24px;

		border: 1px solid rgba(23, 63, 43, 0.12);
		border-radius: 7px;

		background-color: rgba(255, 255, 255, 0.96);
		color: #173f2b;

		box-shadow: 0 2px 8px rgba(23, 63, 43, 0.12);

		transform: translateY(calc(-50% + 10px));

		transition:
			background-color 160ms ease,
			border-color 160ms ease,
			opacity 160ms ease,
			box-shadow 160ms ease;
	}

	body.home .fr-shop-by-product__arrow > span {
		width: 7px;
		height: 7px;

		border-top: 1.5px solid currentColor;
		border-right: 1.5px solid currentColor;
	}

	body.home .fr-shop-by-product__arrow--prev {
		left: -10px;
	}

	body.home .fr-shop-by-product__arrow--next {
		right: -10px;
	}

	body.home .fr-shop-by-product__arrow:hover:not(:disabled) {
		border-color: rgba(23, 63, 43, 0.24);
		background-color: #ffffff;
		box-shadow: 0 3px 10px rgba(23, 63, 43, 0.16);
	}

	body.home .fr-shop-by-product__arrow:disabled {
		opacity: 0.35;
	}

	body.home .fr-shop-by-product__arrow:focus-visible {
		outline: 2px solid rgba(23, 63, 43, 0.28);
		outline-offset: 2px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .fr-shop-by-product__viewport {
		scroll-behavior: auto;
	}

	body.home .fr-shop-by-product__media,
	body.home .fr-shop-by-product__image {
		transition: none;
	}

	body.home .fr-shop-by-product__image-link:hover
	.fr-shop-by-product__media,
	body.home .fr-shop-by-product__image-link:hover
	.fr-shop-by-product__image {
		transform: none;
	}
}

/* ==========================================================================
   HOME HOW IT WORKS
   ========================================================================== */

.fr-home-how {
	width: 100vw;
	max-width: none;
	margin-inline: calc(50% - 50vw);
	padding: 57px 0;
	overflow-x: clip;
	background-color: #f3eee5;
	box-sizing: border-box;
}

body.home .fr-home-how .wp-block-group__inner-container,
.fr-home-how__inner,
.fr-home-how > h2,
.fr-home-how > p,
.fr-home-how > .wp-block-columns,
.fr-home-how > .wp-block-buttons,
.fr-home-how > .wp-block-button,
.fr-home-how__grid,
.fr-home-how__steps,
.fr-home-how__cta {
	box-sizing: border-box;
	width: min(
		calc(var(--fr-layout-width, 1290px) - 48px),
		calc(100vw - 48px)
	);
	max-width: none;
	margin-inline: auto !important;
}

.fr-home-how > h2,
.fr-home-how__heading,
.fr-home-how__inner > h2,
.fr-home-how .wp-block-heading:first-of-type {
	margin: 0;
	text-align: center;
}

.fr-home-how > p,
.fr-home-how__intro,
.fr-home-how__inner > p:first-of-type,
.fr-home-how__description {
	max-width: 720px;
	margin: 0.875rem auto 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.6;
	text-align: center;
}

.fr-home-how__grid,
.fr-home-how__steps,
.fr-home-how > .wp-block-columns,
.fr-home-how__inner > .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
	margin-top: 2.5rem;
}

.fr-home-how__step,
.fr-home-how__card,
.fr-home-how .wp-block-column {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
	padding: 30px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	box-shadow: 0 4px 14px rgba(23, 63, 43, 0.05);
	text-align: center;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		border-color 180ms ease;
}

.fr-home-how__step:hover,
.fr-home-how__card:hover,
.fr-home-how .wp-block-column:hover {
	border-color: #d7cdbd;
	box-shadow: 0 12px 28px rgba(23, 63, 43, 0.12);
	transform: translateY(-3px);
}

.fr-home-how__number,
.fr-home-how__step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background-color: #173f2b;
	color: #ffffff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
}

.fr-home-how .fr-how-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background-color: #173f2b;
	color: #ffffff !important;
	opacity: 1;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.fr-home-how .fr-how-number span,
.fr-home-how .fr-how-number a {
	color: #ffffff !important;
	opacity: 1;
}

body.home .fr-home-how .fr-how-grid .wp-block-column .wp-block-heading,
body.home .fr-home-how .wp-block-columns .wp-block-column .wp-block-heading,
.fr-home-how__step h3,
.fr-home-how__card h3,
.fr-home-how__step-title,
.fr-home-how .wp-block-column h3 {
	margin: 10px 0 0.75rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}

.fr-home-how__step p,
.fr-home-how__card p,
.fr-home-how .wp-block-column p {
	margin: 0;
	color: #6b706c;
	font-size: 0.8375rem;
	line-height: 1.6;
}

.fr-home-how__cta,
.fr-home-how > .wp-block-buttons,
.fr-home-how__inner > .wp-block-buttons,
.fr-home-how > .wp-block-button,
.fr-home-how__inner > .wp-block-button {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
	text-align: center;
}

body.home .fr-home-how .fr-how-actions .wp-block-button__link,
body.home .fr-home-how .fr-how-actions .wp-element-button,
.fr-home-how .fr-button-primary,
.fr-home-how .fr-button-primary .wp-block-button__link,
.fr-home-how a.fr-button-primary,
.fr-home-how .wp-block-button__link,
.fr-home-how a.button,
.fr-home-how button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.5rem;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff;
	font-family: var(--fr-font-body);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 150ms ease, border-color 150ms ease;
}

body.home .fr-home-how .fr-how-actions .wp-block-button__link:hover,
body.home .fr-home-how .fr-how-actions .wp-block-button__link:focus,
body.home .fr-home-how .fr-how-actions .wp-element-button:hover,
body.home .fr-home-how .fr-how-actions .wp-element-button:focus,
.fr-home-how .fr-button-primary:hover,
.fr-home-how .fr-button-primary .wp-block-button__link:hover,
.fr-home-how a.fr-button-primary:hover,
.fr-home-how .wp-block-button__link:hover,
.fr-home-how a.button:hover,
.fr-home-how button.button:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff;
	text-decoration: none;
}

.fr-home-how a:focus-visible,
.fr-home-how button:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

@media (max-width: 1024px) {
	.fr-home-how__grid,
	.fr-home-how__steps,
	.fr-home-how > .wp-block-columns,
	.fr-home-how__inner > .wp-block-columns {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 767px) {
	body.home .fr-home-how {
		width: calc(100% + (2 * var(--fr-mobile-gutter, 8px))) !important;
		max-width: none;
		margin-inline: calc(-1 * var(--fr-mobile-gutter, 8px));
		padding: 28px 0 30px;
		box-sizing: border-box;
	}

	body.home .fr-home-how .wp-block-group__inner-container,
	.fr-home-how__inner {
		width: 100%;
		max-width: 100%;
		margin: 0 auto !important;
		padding-left: var(--fr-mobile-gutter);
		padding-right: var(--fr-mobile-gutter);
		box-sizing: border-box;
	}

	body.home .fr-home-how .wp-block-group__inner-container > .wp-block-heading,
	.fr-home-how > h2,
	.fr-home-how__heading,
	.fr-home-how__inner > h2 {
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}

	body.home .fr-home-how .wp-block-group__inner-container > p,
	.fr-home-how > p,
	.fr-home-how__intro,
	.fr-home-how__inner > p:first-of-type,
	.fr-home-how__description {
		max-width: none;
		margin-top: 0.625rem;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}

	.fr-home-how__grid,
	.fr-home-how__steps,
	.fr-home-how > .wp-block-columns,
	.fr-home-how__inner > .wp-block-columns,
	body.home .fr-home-how .fr-how-grid,
	body.home .fr-home-how .wp-block-group__inner-container > .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
		gap: 12px;
		width: 100%;
		margin: 24px auto 0;
		padding: 0;
	}

	.fr-home-how__step,
	.fr-home-how__card,
	.fr-home-how .wp-block-column,
	body.home .fr-home-how .fr-how-grid .wp-block-column {
		height: 100%;
		padding: 20px 10px;
	}

	.fr-home-how__step:nth-child(3),
	.fr-home-how__card:nth-child(3),
	.fr-home-how .wp-block-column:nth-child(3),
	body.home .fr-home-how .fr-how-grid .wp-block-column:nth-child(3) {
		grid-column: 1 / -1;
		width: 100%;
		max-width: none;
		justify-self: stretch;
	}

	.fr-home-how__number,
	.fr-home-how__step-number,
	.fr-home-how .fr-how-number {
		width: 35px;
		height: 35px;
		margin: 0 auto 12px;
		font-size: 16px;
	}

	body.home .fr-home-how .fr-how-grid .wp-block-column .wp-block-heading,
	body.home .fr-home-how .wp-block-columns .wp-block-column .wp-block-heading,
	.fr-home-how__step h3,
	.fr-home-how__card h3,
	.fr-home-how__step-title,
	.fr-home-how .wp-block-column h3 {
		font-size: 15px;
		line-height: 1.15;
		margin-bottom: 0.5rem;
		text-align: center;
	}

	.fr-home-how__step p,
	.fr-home-how__card p,
	.fr-home-how .wp-block-column p:not(.fr-how-number) {
		font-size: 13px;
		line-height: 1.45;
		text-align: center;
	}

	.fr-home-how__cta,
	.fr-home-how > .wp-block-buttons,
	.fr-home-how__inner > .wp-block-buttons,
	.fr-home-how > .wp-block-button,
	.fr-home-how__inner > .wp-block-button,
	body.home .fr-home-how .wp-block-group__inner-container > .wp-block-buttons {
		display: flex;
		justify-content: center;
		width: 100%;
		margin-top: 22px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 360px) {
	.fr-home-how__grid,
	.fr-home-how__steps,
	.fr-home-how > .wp-block-columns,
	.fr-home-how__inner > .wp-block-columns,
	body.home .fr-home-how .fr-how-grid,
	body.home .fr-home-how .wp-block-group__inner-container > .wp-block-columns {
		gap: 8px;
	}

	.fr-home-how__step,
	.fr-home-how__card,
	.fr-home-how .wp-block-column,
	body.home .fr-home-how .fr-how-grid .wp-block-column {
		padding: 16px 8px;
	}

	body.home .fr-home-how .fr-how-grid .wp-block-column .wp-block-heading,
	body.home .fr-home-how .wp-block-columns .wp-block-column .wp-block-heading,
	.fr-home-how__step h3,
	.fr-home-how__card h3,
	.fr-home-how__step-title,
	.fr-home-how .wp-block-column h3 {
		font-size: 17px;
	}

	.fr-home-how__step p,
	.fr-home-how__card p,
	.fr-home-how .wp-block-column p:not(.fr-how-number) {
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-home-how__step,
	.fr-home-how__card,
	.fr-home-how .wp-block-column,
	.fr-home-how .fr-button-primary,
	.fr-home-how .wp-block-button__link,
	.fr-home-how a.button,
	.fr-home-how button.button {
		transition: none;
	}

	.fr-home-how__step:hover,
	.fr-home-how__card:hover,
	.fr-home-how .wp-block-column:hover {
		transform: none;
	}
}

/* ==========================================================================
   HOME TESTIMONIALS
   ========================================================================== */

.fr-home-testimonials {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 72px 24px;
	background-color: #ffffff;
	overflow-x: clip;
	box-sizing: border-box;
}

.fr-home-testimonials__inner,
.fr-home-testimonials > h2,
.fr-home-testimonials > p,
.fr-home-testimonials > .wp-block-columns,
.fr-home-testimonials__grid {
	width: 100%;
	max-width: var(--fr-layout-width);
	margin-inline: auto;
}

.fr-home-testimonials > h2,
.fr-home-testimonials__heading,
.fr-home-testimonials__inner > h2,
.fr-home-testimonials .wp-block-heading:first-of-type {
	margin: 0;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.fr-home-testimonials > p,
.fr-home-testimonials__intro,
.fr-home-testimonials__description,
.fr-home-testimonials__inner > p:first-of-type {
	max-width: 720px;
	margin: 0.875rem auto 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.65;
	text-align: center;
}

.fr-home-testimonials__grid,
.fr-home-testimonials__cards,
.fr-home-testimonials > .wp-block-columns,
.fr-home-testimonials__inner > .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
	margin-top: 2.5rem;
}

.fr-home-testimonials__card,
.fr-home-testimonials .wp-block-column {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 30px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #fbf8f1;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.06);
	box-sizing: border-box;
}

.fr-home-testimonials__stars,
.fr-home-testimonials .fr-testimonial-stars,
.fr-home-testimonials__card > p:first-of-type:not(:last-of-type),
.fr-home-testimonials .wp-block-column > p:first-of-type:not(:last-of-type) {
	margin: 0 0 1rem;
	color: #b58535;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 2px;
	line-height: 1;
}

.fr-home-testimonials__quote,
.fr-home-testimonials .fr-testimonial-quote,
.fr-home-testimonials__card blockquote,
.fr-home-testimonials .wp-block-column blockquote,
.fr-home-testimonials__card > p:not(:first-of-type):not(:last-of-type),
.fr-home-testimonials .wp-block-column > p:not(:first-of-type):not(:last-of-type) {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	border: none;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.65;
	quotes: none;
}

.fr-home-testimonials__quote::before,
.fr-home-testimonials__quote::after,
.fr-home-testimonials .fr-testimonial-quote::before,
.fr-home-testimonials .fr-testimonial-quote::after,
.fr-home-testimonials__card blockquote::before,
.fr-home-testimonials__card blockquote::after,
.fr-home-testimonials .wp-block-column blockquote::before,
.fr-home-testimonials .wp-block-column blockquote::after {
	content: none;
}

.fr-home-testimonials__name,
.fr-home-testimonials .fr-testimonial-name,
.fr-home-testimonials__card cite,
.fr-home-testimonials .wp-block-column cite,
.fr-home-testimonials__card > p:last-of-type,
.fr-home-testimonials .wp-block-column > p:last-of-type {
	display: block;
	margin: 20px 0 0;
	padding: 0;
	color: #24563a;
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.4;
}

.fr-home-testimonials a:focus-visible,
.fr-home-testimonials button:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

@media (max-width: 1024px) {
	.fr-home-testimonials__grid,
	.fr-home-testimonials__cards,
	.fr-home-testimonials > .wp-block-columns,
	.fr-home-testimonials__inner > .wp-block-columns {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.fr-home-testimonials {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-home-testimonials > h2,
	.fr-home-testimonials__heading,
	.fr-home-testimonials__inner > h2,
	.fr-home-testimonials .wp-block-heading:first-of-type {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-home-testimonials__card,
	.fr-home-testimonials .wp-block-column {
		transition: none;
	}
}

/* ==========================================================================
   HOW IT WORKS PAGE
   ========================================================================== */

.fr-process-hero {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 24px;
	overflow-x: clip;
	background-color: #fbf8f1;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(36, 86, 58, 0.07) 0%, transparent 52%),
		radial-gradient(circle at 82% 78%, rgba(181, 133, 53, 0.06) 0%, transparent 48%);
	box-sizing: border-box;
	text-align: center;
}

.fr-process-hero__inner,
.fr-process-hero > h1,
.fr-process-hero > p {
	width: 100%;
	max-width: var(--fr-layout-width);
	margin-inline: auto;
}

.fr-process-hero > h1,
.fr-process-hero__heading,
.fr-process-hero__inner > h1,
.fr-process-hero .wp-block-heading:first-of-type {
	margin: 0;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
}

.fr-process-hero > p,
.fr-process-hero__intro,
.fr-process-hero__description,
.fr-process-hero__inner > p {
	max-width: 760px;
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1.0625rem;
	line-height: 1.65;
	text-align: center;
}

.fr-process-steps {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 0 72px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
}

.fr-process-steps > h2,
.fr-process-steps__heading,
.fr-process-steps__inner > h2,
.fr-process-steps .wp-block-heading:first-of-type,
.fr-process-steps > p,
.fr-process-steps__intro,
.fr-process-steps__description,
.fr-process-steps__inner > p:first-of-type {
	width: calc(100% - 48px);
	max-width: 760px;
	margin-inline: auto;
	padding-inline: 24px;
	box-sizing: border-box;
}

.fr-process-steps > h2,
.fr-process-steps__heading,
.fr-process-steps__inner > h2,
.fr-process-steps .wp-block-heading:first-of-type {
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.fr-process-steps > p,
.fr-process-steps__intro,
.fr-process-steps__description,
.fr-process-steps__inner > p:first-of-type {
	margin: 0.875rem auto 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.65;
	text-align: center;
}

.fr-process-steps .fr-process-grid,
.fr-process-steps__grid,
.fr-process-steps__cards,
.fr-process-steps > .wp-block-columns,
.fr-process-steps__inner > .wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
	width: calc(100% - 48px) !important;
	max-width: 1160px !important;
	margin: 2.5rem auto 0;
	padding: 0;
	box-sizing: border-box;
	flex-wrap: unset !important;
}

.fr-process-steps__card,
.fr-process-steps__step,
.fr-process-steps .wp-block-column {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: 370px;
	height: auto;
	min-height: 0;
	margin: 0;
	justify-self: center;
	padding: 28px 30px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #fbf8f1;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.06);
	box-sizing: border-box;
	text-align: center;
	flex-basis: auto !important;
	flex-grow: 0 !important;
}

.fr-process-steps .fr-process-number,
.fr-process-steps .fr-how-number,
.fr-process-steps__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background-color: #173f2b;
	color: #ffffff !important;
	opacity: 1;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.fr-process-steps .fr-process-number span,
.fr-process-steps .fr-how-number span,
.fr-process-steps .fr-process-number a,
.fr-process-steps .fr-how-number a {
	color: #ffffff !important;
	opacity: 1;
}

.fr-process-steps__card h3,
.fr-process-steps__step h3,
.fr-process-steps .wp-block-column h3,
.fr-process-steps .wp-block-column .wp-block-heading {
	margin: 0 0 0.75rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.25;
}

.fr-process-steps__card p,
.fr-process-steps__step p,
.fr-process-steps .wp-block-column p {
	margin: 0;
	color: #6b706c;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.fr-process-options {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 0 72px;
	overflow-x: clip;
	background-color: #f3eee5;
	box-sizing: border-box;
}

.fr-process-options > h2,
.fr-process-options__heading,
.fr-process-options__inner > h2,
.fr-process-options .wp-block-heading:first-of-type,
.fr-process-options > p,
.fr-process-options__intro,
.fr-process-options__description,
.fr-process-options__inner > p:first-of-type {
	width: calc(100% - 48px);
	max-width: 760px;
	margin-inline: auto;
	padding-inline: 24px;
	box-sizing: border-box;
}

.fr-process-options > h2,
.fr-process-options__heading,
.fr-process-options__inner > h2,
.fr-process-options .wp-block-heading:first-of-type {
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.fr-process-options > p,
.fr-process-options__intro,
.fr-process-options__description,
.fr-process-options__inner > p:first-of-type {
	margin: 0.875rem auto 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.65;
	text-align: center;
}

.fr-process-options .fr-process-options-grid,
.fr-process-options-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 28px;
	width: calc(100% - 48px) !important;
	max-width: 1080px !important;
	margin-top: 2.5rem;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0;
	box-sizing: border-box;
	flex-wrap: unset !important;
}

.fr-process-options .alignwide,
.fr-process-options .alignfull,
.fr-process-options .fr-process-options-grid.alignwide,
.fr-process-options .fr-process-options-grid.alignfull,
.fr-process-options .wp-block-columns.alignwide,
.fr-process-options .wp-block-columns.alignfull {
	width: calc(100% - 48px) !important;
	max-width: 1080px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.fr-process-options .fr-process-option-card,
.fr-process-option-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: none;
	min-width: 0;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 30px 34px;
	border: 1px solid #e6ded1;
	border-radius: 14px;
	background-color: #ffffff;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.06);
	box-sizing: border-box;
	flex-basis: auto !important;
	flex-grow: 0 !important;
}

.fr-process-options .fr-process-option-card h3,
.fr-process-option-card h3,
.fr-process-options__card h3,
.fr-process-options .wp-block-column h3,
.fr-process-options .wp-block-column .wp-block-heading {
	margin: 0 0 22px;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 1.25;
	text-align: left;
}

.fr-process-options .fr-process-option-card p,
.fr-process-option-card p,
.fr-process-options__card p,
.fr-process-options .wp-block-column p {
	margin: 0 0 1rem;
	color: #6b706c;
	font-size: 0.9375rem;
	line-height: 1.65;
	text-align: left;
}

.fr-process-options .fr-process-option-card p:last-child,
.fr-process-option-card p:last-child,
.fr-process-options__card p:last-child,
.fr-process-options .wp-block-column p:last-child {
	margin-bottom: 0;
}

.fr-process-options ul,
.fr-process-options ol,
.fr-process-options .wp-block-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fr-process-options li {
	position: relative;
	margin: 0 0 14px;
	padding: 0 0 0 34px;
	color: #39413d;
	font-size: 15px;
	line-height: 1.6;
}

.fr-process-options li:last-child {
	margin-bottom: 0;
}

.fr-process-options li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.15em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #e8f0eb;
	color: #173f2b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.fr-process-shipping {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
}

.fr-process-shipping__inner,
.fr-process-shipping > h2,
.fr-process-shipping > p {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
}

.fr-process-shipping > h2,
.fr-process-shipping__heading,
.fr-process-shipping__inner > h2,
.fr-process-shipping .wp-block-heading:first-of-type {
	margin: 0;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.fr-process-shipping > p,
.fr-process-shipping__text,
.fr-process-shipping__inner > p,
.fr-process-shipping .wp-block-column p {
	margin: 0 0 1rem;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.7;
	text-align: center;
}

.fr-process-shipping > p:last-child,
.fr-process-shipping__inner > p:last-child {
	margin-bottom: 0;
}

.fr-process-cta {
	width: 100%;
	max-width: none;
	margin: 0;
	margin-bottom: 0 !important;
	padding: 64px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
}

.fr-process-cta__inner,
.fr-process-cta > h2,
.fr-process-cta > p {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
}

.fr-process-cta h2,
.fr-process-cta h3,
.fr-process-cta h4,
.fr-process-cta__heading,
.fr-process-cta__inner > h2,
.fr-process-cta .wp-block-heading {
	color: #1d211f !important;
	opacity: 1;
	text-align: center;
}

.fr-process-cta p,
.fr-process-cta p span,
.fr-process-cta__text,
.fr-process-cta__inner > p,
.fr-process-cta li {
	color: #303733 !important;
	opacity: 1;
	text-align: center;
}

.fr-process-cta h2,
.fr-process-cta__heading,
.fr-process-cta__inner > h2,
.fr-process-cta .wp-block-heading:first-of-type {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
}

.fr-process-cta p,
.fr-process-cta__text,
.fr-process-cta__inner > p {
	margin: 1.25rem auto 0;
	font-size: 1.0625rem;
	line-height: 1.65;
}

.fr-process-cta > .wp-block-buttons,
.fr-process-cta__buttons,
.fr-process-cta__inner > .wp-block-buttons,
.fr-process-cta .fr-process-actions,
.fr-process-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: auto;
	max-width: none;
	margin: 28px auto 0;
	margin-bottom: 0;
	padding: 0;
}

.fr-process-cta .wp-block-button,
.fr-process-cta .fr-process-actions .wp-block-button,
.fr-process-actions .wp-block-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.fr-process-cta .wp-block-button:first-child .wp-block-button__link,
.fr-process-cta .fr-button-primary .wp-block-button__link,
.fr-process-cta a.fr-button-primary,
.fr-process-cta button.fr-button-primary,
.fr-process-cta .wp-block-button.is-style-fill .wp-block-button__link,
.fr-process-cta .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-process-cta .fr-button-secondary .wp-block-button__link,
.fr-process-cta a.fr-button-secondary,
.fr-process-cta button.fr-button-secondary,
.fr-process-cta .wp-block-button.is-style-outline .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border-radius: 6px;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-process-cta .wp-block-button:first-child .wp-block-button__link,
.fr-process-cta .fr-button-primary .wp-block-button__link,
.fr-process-cta a.fr-button-primary,
.fr-process-cta button.fr-button-primary,
.fr-process-cta .wp-block-button.is-style-fill .wp-block-button__link {
	border: 1px solid #173f2b;
	background-color: #173f2b;
	color: #ffffff !important;
}

.fr-process-cta .wp-block-button:first-child .wp-block-button__link:hover,
.fr-process-cta .fr-button-primary .wp-block-button__link:hover,
.fr-process-cta a.fr-button-primary:hover,
.fr-process-cta button.fr-button-primary:hover,
.fr-process-cta .wp-block-button.is-style-fill .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-process-cta .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-process-cta .fr-button-secondary .wp-block-button__link,
.fr-process-cta a.fr-button-secondary,
.fr-process-cta button.fr-button-secondary,
.fr-process-cta .wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid #173f2b;
	background-color: #ffffff;
	color: #173f2b !important;
}

.fr-process-cta .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.fr-process-cta .fr-button-secondary .wp-block-button__link:hover,
.fr-process-cta a.fr-button-secondary:hover,
.fr-process-cta button.fr-button-secondary:hover,
.fr-process-cta .wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-process-hero a:focus-visible,
.fr-process-hero button:focus-visible,
.fr-process-steps a:focus-visible,
.fr-process-steps button:focus-visible,
.fr-process-options a:focus-visible,
.fr-process-options button:focus-visible,
.fr-process-shipping a:focus-visible,
.fr-process-shipping button:focus-visible,
.fr-process-cta a:focus-visible,
.fr-process-cta button:focus-visible,
.fr-process-cta .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-process-cta a:focus-visible,
.fr-process-cta button:focus-visible,
.fr-process-cta .wp-block-button__link:focus-visible {
	outline-color: rgba(36, 86, 58, 0.35);
}

@media (max-width: 1024px) {
	.fr-process-steps .fr-process-grid,
	.fr-process-steps__grid,
	.fr-process-steps__cards,
	.fr-process-steps > .wp-block-columns,
	.fr-process-steps__inner > .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.fr-process-hero {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-process-hero > h1,
	.fr-process-hero__heading,
	.fr-process-hero__inner > h1,
	.fr-process-hero .wp-block-heading:first-of-type {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.fr-process-steps,
	.fr-process-options {
		padding: 56px 0 64px;
	}

	.fr-process-steps .fr-process-grid,
	.fr-process-steps__grid,
	.fr-process-steps__cards,
	.fr-process-steps > .wp-block-columns,
	.fr-process-steps__inner > .wp-block-columns {
		grid-template-columns: minmax(0, 1fr);
		width: calc(100% - 2 * var(--fr-mobile-gutter)) !important;
	}

	.fr-process-steps > h2,
	.fr-process-steps__heading,
	.fr-process-steps > p,
	.fr-process-steps__intro,
	.fr-process-options > h2,
	.fr-process-options__heading,
	.fr-process-options > p,
	.fr-process-options__intro {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding-inline: var(--fr-mobile-gutter);
	}

	.fr-process-options .fr-process-options-grid,
	.fr-process-options-grid {
		grid-template-columns: minmax(0, 1fr);
		width: calc(100% - 2 * var(--fr-mobile-gutter)) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.fr-process-options .alignwide,
	.fr-process-options .alignfull,
	.fr-process-options .fr-process-options-grid.alignwide,
	.fr-process-options .fr-process-options-grid.alignfull {
		width: calc(100% - 2 * var(--fr-mobile-gutter)) !important;
	}

	.fr-process-steps__card,
	.fr-process-steps__step,
	.fr-process-steps .wp-block-column,
	.fr-process-options .fr-process-option-card,
	.fr-process-option-card {
		max-width: none;
		padding: 24px 20px;
	}

	.fr-process-shipping,
	.fr-process-cta {
		padding: 48px var(--fr-mobile-gutter);
	}

	.fr-process-steps > h2,
	.fr-process-steps__heading,
	.fr-process-options > h2,
	.fr-process-options__heading,
	.fr-process-shipping > h2,
	.fr-process-shipping__heading,
	.fr-process-cta > h2,
	.fr-process-cta__heading {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}
}

@media (max-width: 600px) {
	.fr-process-cta > .wp-block-buttons,
	.fr-process-cta__buttons,
	.fr-process-cta__inner > .wp-block-buttons,
	.fr-process-cta .fr-process-actions,
	.fr-process-actions {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: auto;
	}

	.fr-process-cta .wp-block-button,
	.fr-process-cta .fr-process-actions .wp-block-button,
	.fr-process-actions .wp-block-button {
		width: 100%;
		max-width: 320px;
	}

	.fr-process-cta .wp-block-button .wp-block-button__link,
	.fr-process-cta .fr-button-primary .wp-block-button__link,
	.fr-process-cta a.fr-button-primary,
	.fr-process-cta button.fr-button-primary,
	.fr-process-cta .fr-button-secondary .wp-block-button__link,
	.fr-process-cta a.fr-button-secondary,
	.fr-process-cta button.fr-button-secondary {
		width: 100%;
		max-width: 320px;
		min-height: 48px;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-process-cta .fr-button-primary .wp-block-button__link,
	.fr-process-cta a.fr-button-primary,
	.fr-process-cta button.fr-button-primary,
	.fr-process-cta .fr-button-secondary .wp-block-button__link,
	.fr-process-cta a.fr-button-secondary,
	.fr-process-cta button.fr-button-secondary {
		transition: none;
	}
}

/* ==========================================================================
   ABOUT US PAGE
   ========================================================================== */

.fr-about-hero {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 68px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(36, 86, 58, 0.07) 0%, transparent 52%),
		radial-gradient(circle at 82% 78%, rgba(181, 133, 53, 0.06) 0%, transparent 48%);
	box-sizing: border-box;
	text-align: center;
}

.fr-about-hero > h1,
.fr-about-hero .wp-block-heading:first-of-type {
	width: calc(100% - 48px);
	max-width: 780px;
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
}

.fr-about-hero > p {
	width: calc(100% - 48px);
	max-width: 780px;
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1.0625rem;
	line-height: 1.65;
	text-align: center;
}

.fr-about-story {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 76px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
}

.fr-about-story-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: 56px;
	width: calc(100% - 48px);
	max-width: 1200px;
	margin-inline: auto;
	box-sizing: border-box;
}

.fr-about-story-copy h2,
.fr-about-story-copy .wp-block-heading {
	margin: 0 0 1.25rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 38px;
	font-weight: 400;
	line-height: 1.2;
}

.fr-about-story-copy p {
	margin: 0 0 1rem;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.7;
}

.fr-about-story-copy p:last-child {
	margin-bottom: 0;
}

.fr-about-story-media img,
.fr-about-story-media .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(23, 63, 43, 0.1);
	object-fit: cover;
}

.fr-about-story-media .wp-block-image {
	margin: 0;
}

.fr-about-values {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 72px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	box-sizing: border-box;
}

.fr-about-values > h2,
.fr-about-values .wp-block-heading:first-of-type {
	width: calc(100% - 48px);
	max-width: 760px;
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.fr-about-values > p {
	width: calc(100% - 48px);
	max-width: 760px;
	margin: 0.875rem auto 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.65;
	text-align: center;
}

.fr-about-values-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
	width: calc(100% - 48px);
	max-width: 1100px;
	margin: 2.5rem auto 0;
	box-sizing: border-box;
}

.fr-about-value-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: none;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 30px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.06);
	box-sizing: border-box;
	text-align: center;
}

.fr-about-value-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background-color: #173f2b;
	color: #ffffff !important;
	opacity: 1;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.fr-about-value-icon span,
.fr-about-value-icon a {
	color: #ffffff !important;
	opacity: 1;
}

.fr-about-value-card h3,
.fr-about-value-card .wp-block-heading {
	margin: 0 0 0.75rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.25;
}

.fr-about-value-card p {
	margin: 0;
	color: #6b706c;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.fr-about-commitment {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 72px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
}

.fr-about-commitment > h2,
.fr-about-commitment .wp-block-heading:first-of-type,
.fr-about-commitment > p,
.fr-about-commitment ul,
.fr-about-commitment ol {
	width: calc(100% - 48px);
	max-width: 900px;
	margin-inline: auto;
	box-sizing: border-box;
}

.fr-about-commitment > h2,
.fr-about-commitment .wp-block-heading:first-of-type {
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.fr-about-commitment > p {
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.7;
	text-align: center;
}

.fr-about-commitment ul,
.fr-about-commitment ol,
.fr-about-commitment .wp-block-list {
	margin: 1.5rem auto 0;
	padding: 0;
	list-style: none;
}

.fr-about-commitment li {
	position: relative;
	margin: 0 0 14px;
	padding: 0 0 0 34px;
	color: #39413d;
	font-size: 15px;
	line-height: 1.6;
}

.fr-about-commitment li:last-child {
	margin-bottom: 0;
}

.fr-about-commitment li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.15em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #e8f0eb;
	color: #173f2b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.fr-about-cta {
	width: 100%;
	max-width: none;
	margin: 0;
	margin-bottom: 0 !important;
	padding: 64px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
}

.fr-about-cta h2,
.fr-about-cta p,
.fr-about-cta p span,
.fr-about-cta .wp-block-heading {
	width: calc(100% - 48px);
	max-width: 850px;
	margin-inline: auto;
	opacity: 1;
	text-align: center;
	box-sizing: border-box;
}

.fr-about-cta h2,
.fr-about-cta h3,
.fr-about-cta h4,
.fr-about-cta .wp-block-heading {
	color: #1d211f !important;
}

.fr-about-cta h2,
.fr-about-cta .wp-block-heading:first-of-type {
	margin: 0 auto;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
}

.fr-about-cta p {
	margin: 1.25rem auto 0;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #303733 !important;
}

.fr-about-cta > .wp-block-buttons,
.fr-about-cta .fr-about-actions,
.fr-about-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: auto;
	max-width: none;
	margin: 28px auto 0;
	margin-bottom: 0;
	padding: 0;
}

.fr-about-cta .wp-block-button,
.fr-about-cta .fr-about-actions .wp-block-button,
.fr-about-actions .wp-block-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.fr-about-cta .wp-block-button:first-child .wp-block-button__link,
.fr-about-cta a.fr-button-primary,
.fr-about-cta button.fr-button-primary,
.fr-about-cta .fr-button-primary .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-about-cta .wp-block-button:first-child .wp-block-button__link:hover,
.fr-about-cta a.fr-button-primary:hover,
.fr-about-cta button.fr-button-primary:hover,
.fr-about-cta .fr-button-primary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-about-cta .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-about-cta a.fr-button-secondary,
.fr-about-cta button.fr-button-secondary,
.fr-about-cta .fr-button-secondary .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #ffffff;
	color: #173f2b !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-about-cta .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.fr-about-cta a.fr-button-secondary:hover,
.fr-about-cta button.fr-button-secondary:hover,
.fr-about-cta .fr-button-secondary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-about-hero a:focus-visible,
.fr-about-hero button:focus-visible,
.fr-about-story a:focus-visible,
.fr-about-story button:focus-visible,
.fr-about-values a:focus-visible,
.fr-about-values button:focus-visible,
.fr-about-commitment a:focus-visible,
.fr-about-commitment button:focus-visible,
.fr-about-cta a:focus-visible,
.fr-about-cta button:focus-visible,
.fr-about-cta .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-about-cta a:focus-visible,
.fr-about-cta button:focus-visible,
.fr-about-cta .wp-block-button__link:focus-visible {
	outline-color: rgba(36, 86, 58, 0.35);
}

@media (max-width: 1024px) {
	.fr-about-values-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 850px) {
	.fr-about-story-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
}

@media (max-width: 767px) {
	.fr-about-hero {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-about-hero > h1,
	.fr-about-hero .wp-block-heading:first-of-type {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.fr-about-story,
	.fr-about-values,
	.fr-about-commitment {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-about-cta {
		padding: 48px var(--fr-mobile-gutter);
	}

	.fr-about-story-grid,
	.fr-about-values-grid {
		width: calc(100% - 2 * var(--fr-mobile-gutter));
	}

	.fr-about-values-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.fr-about-value-card {
		padding: 24px 20px;
	}

	.fr-about-cta h2,
	.fr-about-cta .wp-block-heading:first-of-type {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}
}

@media (max-width: 600px) {
	.fr-about-cta > .wp-block-buttons,
	.fr-about-cta .fr-about-actions,
	.fr-about-actions {
		flex-direction: column;
		align-items: center;
		width: auto;
	}

	.fr-about-cta .wp-block-button,
	.fr-about-cta .fr-about-actions .wp-block-button,
	.fr-about-actions .wp-block-button {
		width: 100%;
		max-width: 320px;
	}

	.fr-about-cta .wp-block-button .wp-block-button__link,
	.fr-about-cta a.fr-button-primary,
	.fr-about-cta button.fr-button-primary,
	.fr-about-cta a.fr-button-secondary,
	.fr-about-cta button.fr-button-secondary,
	.fr-about-cta .fr-button-primary .wp-block-button__link,
	.fr-about-cta .fr-button-secondary .wp-block-button__link {
		width: 100%;
		max-width: 320px;
		min-height: 48px;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-about-cta .wp-block-button .wp-block-button__link,
	.fr-about-cta a.fr-button-primary,
	.fr-about-cta button.fr-button-primary,
	.fr-about-cta a.fr-button-secondary,
	.fr-about-cta button.fr-button-secondary {
		transition: none;
	}
}

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

.fr-contact-hero {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 68px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(36, 86, 58, 0.07) 0%, transparent 52%),
		radial-gradient(circle at 82% 78%, rgba(181, 133, 53, 0.06) 0%, transparent 48%);
	box-sizing: border-box;
	text-align: center;
}

.fr-contact-hero > h1,
.fr-contact-hero .wp-block-heading:first-of-type {
	width: calc(100% - 48px);
	max-width: 780px;
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
}

.fr-contact-hero > p {
	width: calc(100% - 48px);
	max-width: 780px;
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1.0625rem;
	line-height: 1.65;
	text-align: center;
}

.fr-contact-main {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 72px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
}

.fr-contact-grid {
	display: grid;
	grid-template-columns: 2fr 3fr;
	align-items: start;
	gap: 46px;
	width: calc(100% - 48px);
	max-width: 1200px;
	margin-inline: auto;
	box-sizing: border-box;
}

.fr-contact-info h2,
.fr-contact-info .wp-block-heading {
	margin: 0 0 1rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.2;
}

.fr-contact-info > p,
.fr-contact-info .wp-block-paragraph {
	margin: 0 0 1rem;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.7;
}

.fr-contact-info > p:last-child {
	margin-bottom: 0;
}

.fr-contact-card {
	margin: 0 0 16px;
	padding: 20px 22px;
	border: 1px solid #e6ded1;
	border-radius: 10px;
	background-color: #fbf8f1;
	box-sizing: border-box;
}

.fr-contact-card:last-child {
	margin-bottom: 0;
}

.fr-contact-card h3,
.fr-contact-card .wp-block-heading {
	margin: 0 0 0.5rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.3;
}

.fr-contact-card p {
	margin: 0;
	color: #6b706c;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.fr-contact-card a {
	color: #24563a;
	text-decoration: none;
}

.fr-contact-card a:hover {
	color: #173f2b;
	text-decoration: underline;
}

.fr-contact-form-wrap {
	padding: 32px;
	border: 1px solid #e6ded1;
	border-radius: 14px;
	background-color: #ffffff;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.06);
	box-sizing: border-box;
}

.fr-contact-form-wrap h2,
.fr-contact-form-wrap .wp-block-heading {
	margin: 0 0 1.5rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1.25;
}

.fr-contact-form .fr-contact-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 18px;
}

.fr-contact-form .fr-contact-form-row:last-of-type {
	margin-bottom: 0;
}

.fr-contact-form .fr-contact-field {
	width: 100%;
	min-width: 0;
	margin: 0 0 18px;
}

.fr-contact-form .fr-contact-form-row .fr-contact-field {
	margin-bottom: 0;
}

.fr-contact-form label {
	display: block;
	margin-bottom: 8px;
	color: #1d211f;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
}

.fr-contact-form .required,
.fr-contact-form abbr[title="required"],
.fr-contact-form label .required {
	color: #8b1e1e;
	font-weight: 700;
	text-decoration: none;
}

.fr-contact-form input[type="text"],
.fr-contact-form input[type="email"],
.fr-contact-form input[type="tel"],
.fr-contact-form input[type="url"],
.fr-contact-form input[type="number"],
.fr-contact-form input[type="date"],
.fr-contact-form input[type="file"],
.fr-contact-form select,
.fr-contact-form textarea,
.fr-contact-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-radio) {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #d9d2c6;
	border-radius: 8px;
	background-color: #ffffff;
	color: #1d211f;
	font: inherit;
	line-height: 1.4;
	box-sizing: border-box;
	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

.fr-contact-form textarea,
.fr-contact-form .wpcf7-textarea {
	min-height: 150px;
	resize: vertical;
}

.fr-contact-form input[type="file"],
.fr-contact-form .wpcf7-file {
	padding: 10px 14px;
	cursor: pointer;
}

.fr-contact-form input:focus,
.fr-contact-form select:focus,
.fr-contact-form textarea:focus,
.fr-contact-form .wpcf7-form-control:focus {
	border-color: #24563a;
	outline: none;
	box-shadow: 0 0 0 3px rgba(36, 86, 58, 0.18);
}

.fr-contact-form input:focus-visible,
.fr-contact-form select:focus-visible,
.fr-contact-form textarea:focus-visible,
.fr-contact-form .wpcf7-form-control:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-contact-form .wpcf7-list-item,
.fr-contact-form .fr-contact-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 1.25rem 0 0;
}

.fr-contact-form .wpcf7-list-item label,
.fr-contact-form .fr-contact-consent label {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin-bottom: 0;
	font-weight: 400;
	cursor: pointer;
}

.fr-contact-form input[type="checkbox"],
.fr-contact-form input[type="radio"],
.fr-contact-form .wpcf7-checkbox input,
.fr-contact-form .wpcf7-radio input,
.fr-contact-form .wpcf7-acceptance input {
	flex: 0 0 auto;
	width: auto;
	min-width: 18px;
	min-height: 18px;
	margin: 0.2em 0 0;
	accent-color: #173f2b;
}

.fr-contact-form input[type="submit"],
.fr-contact-form button[type="submit"],
.fr-contact-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 1.25rem;
	padding: 14px 28px;
	border: none;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff;
	font: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 150ms ease;
}

.fr-contact-form input[type="submit"]:hover,
.fr-contact-form button[type="submit"]:hover,
.fr-contact-form .wpcf7-submit:hover {
	background-color: #24563a;
}

.fr-contact-form input[type="submit"]:disabled,
.fr-contact-form button[type="submit"]:disabled,
.fr-contact-form .wpcf7-submit:disabled,
.fr-contact-form .wpcf7-submit.wpcf7-disabled {
	background-color: #6b706c;
	color: #ffffff;
	cursor: not-allowed;
	opacity: 0.85;
}

.fr-contact-form .wpcf7-spinner {
	visibility: visible;
	display: inline-block;
	margin-left: 0.75rem;
	vertical-align: middle;
}

.fr-contact-form .wpcf7-response-output {
	margin: 1.25rem 0 0;
	padding: 14px 16px;
	border-radius: 8px;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.fr-contact-form .wpcf7 form.sent .wpcf7-response-output,
.fr-contact-form .wpcf7-response-output.wpcf7-mail-sent-ok {
	border: 1px solid #c5dfc9;
	background-color: #eef6f0;
	color: #173f2b;
}

.fr-contact-form .wpcf7 form.invalid .wpcf7-response-output,
.fr-contact-form .wpcf7 form.unaccepted .wpcf7-response-output,
.fr-contact-form .wpcf7 form.failed .wpcf7-response-output,
.fr-contact-form .wpcf7-response-output.wpcf7-validation-errors,
.fr-contact-form .wpcf7-response-output.wpcf7-acceptance-missing {
	border: 1px solid #e8c4c4;
	background-color: #fdf0f0;
	color: #6b1f1f;
}

.fr-contact-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	padding: 8px 10px;
	border-radius: 6px;
	border: 1px solid #e8c4c4;
	background-color: #fdf0f0;
	color: #6b1f1f;
	font-size: 0.875rem;
	line-height: 1.4;
}

.fr-contact-form .wpcf7-not-valid {
	border-color: #c96a6a !important;
}

.fr-contact-note {
	width: 100%;
	max-width: none;
	margin: 0;
	margin-bottom: 0 !important;
	padding: 58px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
}

.fr-contact-note h2,
.fr-contact-note p,
.fr-contact-note p span,
.fr-contact-note .wp-block-heading {
	width: calc(100% - 48px);
	max-width: 850px;
	margin-inline: auto;
	opacity: 1;
	text-align: center;
	box-sizing: border-box;
}

.fr-contact-note h2,
.fr-contact-note h3,
.fr-contact-note h4,
.fr-contact-note .wp-block-heading {
	color: #1d211f !important;
}

.fr-contact-note h2,
.fr-contact-note .wp-block-heading:first-of-type {
	margin: 0 auto;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
}

.fr-contact-note p {
	margin: 1.25rem auto 0;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #303733 !important;
}

.fr-contact-note > .wp-block-buttons,
.fr-contact-note .fr-contact-note-actions,
.fr-contact-note-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: auto;
	max-width: none;
	margin: 28px auto 0;
	margin-bottom: 0;
	padding: 0;
}

.fr-contact-note .wp-block-button,
.fr-contact-note .fr-contact-note-actions .wp-block-button,
.fr-contact-note-actions .wp-block-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.fr-contact-note .wp-block-button:first-child .wp-block-button__link,
.fr-contact-note a.fr-button-primary,
.fr-contact-note button.fr-button-primary,
.fr-contact-note .fr-button-primary .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-contact-note .wp-block-button:first-child .wp-block-button__link:hover,
.fr-contact-note a.fr-button-primary:hover,
.fr-contact-note button.fr-button-primary:hover,
.fr-contact-note .fr-button-primary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-contact-note .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-contact-note a.fr-button-secondary,
.fr-contact-note button.fr-button-secondary,
.fr-contact-note .fr-button-secondary .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #ffffff;
	color: #173f2b !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-contact-note .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.fr-contact-note a.fr-button-secondary:hover,
.fr-contact-note button.fr-button-secondary:hover,
.fr-contact-note .fr-button-secondary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-contact-hero a:focus-visible,
.fr-contact-hero button:focus-visible,
.fr-contact-main a:focus-visible,
.fr-contact-main button:focus-visible,
.fr-contact-note a:focus-visible,
.fr-contact-note button:focus-visible,
.fr-contact-note .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-contact-note a:focus-visible,
.fr-contact-note button:focus-visible,
.fr-contact-note .wp-block-button__link:focus-visible {
	outline-color: rgba(36, 86, 58, 0.35);
}

@media (max-width: 850px) {
	.fr-contact-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
		width: calc(100% - 2 * var(--fr-mobile-gutter));
	}

	.fr-contact-form .fr-contact-form-row {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.fr-contact-hero {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-contact-hero > h1,
	.fr-contact-hero .wp-block-heading:first-of-type {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.fr-contact-main {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-contact-form-wrap {
		padding: 24px 20px;
	}

	.fr-contact-note {
		padding: 48px var(--fr-mobile-gutter);
	}

	.fr-contact-note h2,
	.fr-contact-note .wp-block-heading:first-of-type {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}
}

@media (max-width: 600px) {
	.fr-contact-note > .wp-block-buttons,
	.fr-contact-note .fr-contact-note-actions,
	.fr-contact-note-actions {
		flex-direction: column;
		align-items: center;
		width: auto;
	}

	.fr-contact-note .wp-block-button,
	.fr-contact-note .fr-contact-note-actions .wp-block-button,
	.fr-contact-note-actions .wp-block-button {
		width: 100%;
		max-width: 320px;
	}

	.fr-contact-note .wp-block-button .wp-block-button__link,
	.fr-contact-note a.fr-button-primary,
	.fr-contact-note button.fr-button-primary,
	.fr-contact-note a.fr-button-secondary,
	.fr-contact-note button.fr-button-secondary,
	.fr-contact-note .fr-button-primary .wp-block-button__link,
	.fr-contact-note .fr-button-secondary .wp-block-button__link {
		width: 100%;
		max-width: 320px;
		min-height: 48px;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-contact-form input[type="submit"],
	.fr-contact-form .wpcf7-submit,
	.fr-contact-note .wp-block-button .wp-block-button__link,
	.fr-contact-note a.fr-button-primary,
	.fr-contact-note a.fr-button-secondary {
		transition: none;
	}
}

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

.fr-faq-hero {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 68px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(36, 86, 58, 0.07) 0%, transparent 52%),
		radial-gradient(circle at 82% 78%, rgba(181, 133, 53, 0.06) 0%, transparent 48%);
	box-sizing: border-box;
	text-align: center;
}

.fr-faq-hero > h1,
.fr-faq-hero .wp-block-heading:first-of-type {
	width: calc(100% - 48px);
	max-width: 760px;
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
}

.fr-faq-hero > p {
	width: calc(100% - 48px);
	max-width: 760px;
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1.0625rem;
	line-height: 1.65;
	text-align: center;
}

.fr-faq-main {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 24px 72px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
}

.fr-faq-main > h2,
.fr-faq-main > h3,
.fr-faq-main > .wp-block-heading,
.fr-faq-main > .fr-faq-group-heading,
.fr-faq-main > .fr-faq-item,
.fr-faq-main > .wp-block-details,
.fr-faq-main .wp-block-group__inner-container > h2,
.fr-faq-main .wp-block-group__inner-container > h3,
.fr-faq-main .wp-block-group__inner-container > .wp-block-heading,
.fr-faq-main .wp-block-group__inner-container > .fr-faq-group-heading,
.fr-faq-main .wp-block-group__inner-container > .fr-faq-item,
.fr-faq-main .wp-block-group__inner-container > .wp-block-details {
	width: calc(100% - 48px);
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.fr-faq-main .alignwide,
.fr-faq-main .alignfull,
.fr-faq-main .wp-block-group.alignwide,
.fr-faq-main .wp-block-group.alignfull,
.fr-faq-main .wp-block-group.alignwide .wp-block-group__inner-container,
.fr-faq-main .wp-block-group.alignfull .wp-block-group__inner-container,
.fr-faq-main > .wp-block-group,
.fr-faq-main .wp-block-group__inner-container {
	width: calc(100% - 48px) !important;
	max-width: 1000px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.fr-faq-main > h2,
.fr-faq-main > h3,
.fr-faq-main > .wp-block-heading,
.fr-faq-main > .fr-faq-group-heading,
.fr-faq-main .wp-block-group__inner-container > h2,
.fr-faq-main .wp-block-group__inner-container > h3,
.fr-faq-main .wp-block-group__inner-container > .wp-block-heading,
.fr-faq-main .wp-block-group__inner-container > .fr-faq-group-heading {
	margin-top: 46px;
	margin-bottom: 18px;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 29px;
	font-weight: 400;
	line-height: 1.25;
	text-align: left;
}

.fr-faq-main > :first-child:is(h2, h3, .wp-block-heading, .fr-faq-group-heading),
.fr-faq-main > .wp-block-group:first-child .wp-block-group__inner-container > :first-child:is(h2, h3, .wp-block-heading, .fr-faq-group-heading),
.fr-faq-main .wp-block-group__inner-container > h2:first-child,
.fr-faq-main .wp-block-group__inner-container > h3:first-child,
.fr-faq-main .wp-block-group__inner-container > .wp-block-heading:first-child,
.fr-faq-main .wp-block-group__inner-container > .fr-faq-group-heading:first-child {
	margin-top: 0;
}

.fr-faq-item,
.fr-faq-main .fr-faq-item,
.fr-faq-main .wp-block-details.fr-faq-item,
.fr-faq-main .fr-faq-item.wp-block-details {
	width: 100%;
	margin: 0 0 12px;
	border: 1px solid #e6ded1;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: none;
	overflow: hidden;
	box-sizing: border-box;
	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

.fr-faq-item:last-child,
.fr-faq-main .fr-faq-item:last-child,
.fr-faq-main .wp-block-details.fr-faq-item:last-child {
	margin-bottom: 0;
}

.fr-faq-item:hover,
.fr-faq-main .fr-faq-item:hover,
.fr-faq-main .wp-block-details.fr-faq-item:hover {
	border-color: #b9cbbf;
}

.fr-faq-item[open],
.fr-faq-main .fr-faq-item[open],
.fr-faq-main .wp-block-details.fr-faq-item[open] {
	border-color: #b9cbbf;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.08);
}

.fr-faq-item summary,
.fr-faq-main .fr-faq-item summary,
.fr-faq-main .wp-block-details.fr-faq-item summary {
	position: relative;
	display: block;
	padding: 18px 58px 18px 22px;
	color: #1d211f;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	list-style: none;
	cursor: pointer;
	box-sizing: border-box;
}

.fr-faq-item summary::-webkit-details-marker,
.fr-faq-main .fr-faq-item summary::-webkit-details-marker,
.fr-faq-main .wp-block-details.fr-faq-item summary::-webkit-details-marker {
	display: none;
}

.fr-faq-item summary::marker,
.fr-faq-main .fr-faq-item summary::marker,
.fr-faq-main .wp-block-details.fr-faq-item summary::marker {
	content: "";
}

.fr-faq-item summary::after,
.fr-faq-main .fr-faq-item summary::after,
.fr-faq-main .wp-block-details.fr-faq-item summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #e8f0eb;
	color: #173f2b;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-50%);
}

.fr-faq-item[open] summary::after,
.fr-faq-main .fr-faq-item[open] summary::after,
.fr-faq-main .wp-block-details.fr-faq-item[open] summary::after {
	content: "−";
}

.fr-faq-item summary:focus-visible,
.fr-faq-main .fr-faq-item summary:focus-visible,
.fr-faq-main .wp-block-details.fr-faq-item summary:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-faq-item > :not(summary),
.fr-faq-main .fr-faq-item > :not(summary),
.fr-faq-main .wp-block-details.fr-faq-item > :not(summary) {
	max-width: none;
	padding: 0 22px 22px;
	color: #555f59;
	font-size: 1rem;
	line-height: 1.7;
	box-sizing: border-box;
}

.fr-faq-item[open] > :not(summary),
.fr-faq-main .fr-faq-item[open] > :not(summary),
.fr-faq-main .wp-block-details.fr-faq-item[open] > :not(summary) {
	border-top: 1px solid #e6ded1;
	padding-top: 16px;
}

.fr-faq-item p,
.fr-faq-main .fr-faq-item p,
.fr-faq-main .wp-block-details.fr-faq-item p {
	margin: 0 0 0.75rem;
}

.fr-faq-item p:last-child,
.fr-faq-main .fr-faq-item p:last-child,
.fr-faq-main .wp-block-details.fr-faq-item p:last-child {
	margin-bottom: 0;
}

.fr-faq-cta {
	width: 100%;
	max-width: none;
	margin: 0;
	margin-bottom: 0 !important;
	padding: 58px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
}

.fr-faq-cta h2,
.fr-faq-cta p,
.fr-faq-cta p span,
.fr-faq-cta .wp-block-heading {
	width: calc(100% - 48px);
	max-width: 800px;
	margin-inline: auto;
	opacity: 1;
	text-align: center;
	box-sizing: border-box;
}

.fr-faq-cta h2,
.fr-faq-cta h3,
.fr-faq-cta h4,
.fr-faq-cta .wp-block-heading {
	color: #1d211f !important;
}

.fr-faq-cta h2,
.fr-faq-cta .wp-block-heading:first-of-type {
	margin: 0 auto;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
}

.fr-faq-cta p {
	margin: 1.25rem auto 0;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #303733 !important;
}

.fr-faq-cta > .wp-block-buttons,
.fr-faq-cta .fr-faq-actions,
.fr-faq-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: auto;
	max-width: none;
	margin: 28px auto 0;
	margin-bottom: 0;
	padding: 0;
}

.fr-faq-cta .wp-block-button,
.fr-faq-cta .fr-faq-actions .wp-block-button,
.fr-faq-actions .wp-block-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.fr-faq-cta .wp-block-button:first-child .wp-block-button__link,
.fr-faq-cta a.fr-button-primary,
.fr-faq-cta button.fr-button-primary,
.fr-faq-cta .fr-button-primary .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-faq-cta .wp-block-button:first-child .wp-block-button__link:hover,
.fr-faq-cta a.fr-button-primary:hover,
.fr-faq-cta button.fr-button-primary:hover,
.fr-faq-cta .fr-button-primary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-faq-cta .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-faq-cta a.fr-button-secondary,
.fr-faq-cta button.fr-button-secondary,
.fr-faq-cta .fr-button-secondary .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #ffffff;
	color: #173f2b !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-faq-cta .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.fr-faq-cta a.fr-button-secondary:hover,
.fr-faq-cta button.fr-button-secondary:hover,
.fr-faq-cta .fr-button-secondary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-faq-hero a:focus-visible,
.fr-faq-hero button:focus-visible,
.fr-faq-main a:focus-visible,
.fr-faq-main button:focus-visible,
.fr-faq-cta a:focus-visible,
.fr-faq-cta button:focus-visible,
.fr-faq-cta .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-faq-cta a:focus-visible,
.fr-faq-cta button:focus-visible,
.fr-faq-cta .wp-block-button__link:focus-visible {
	outline-color: rgba(36, 86, 58, 0.35);
}

@media (max-width: 767px) {
	.fr-faq-hero {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-faq-hero > h1,
	.fr-faq-hero .wp-block-heading:first-of-type {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.fr-faq-main {
		padding: 48px var(--fr-mobile-gutter) 56px;
	}

	.fr-faq-main > h2,
	.fr-faq-main > h3,
	.fr-faq-main > .wp-block-heading,
	.fr-faq-main > .fr-faq-group-heading,
	.fr-faq-main > .fr-faq-item,
	.fr-faq-main > .wp-block-details,
	.fr-faq-main .wp-block-group__inner-container > h2,
	.fr-faq-main .wp-block-group__inner-container > h3,
	.fr-faq-main .wp-block-group__inner-container > .wp-block-heading,
	.fr-faq-main .wp-block-group__inner-container > .fr-faq-group-heading,
	.fr-faq-main .wp-block-group__inner-container > .fr-faq-item,
	.fr-faq-main .wp-block-group__inner-container > .wp-block-details,
	.fr-faq-main .alignwide,
	.fr-faq-main .alignfull,
	.fr-faq-main .wp-block-group.alignwide,
	.fr-faq-main .wp-block-group.alignfull,
	.fr-faq-main > .wp-block-group,
	.fr-faq-main .wp-block-group__inner-container {
		width: calc(100% - 2 * var(--fr-mobile-gutter)) !important;
	}

	.fr-faq-main > h2,
	.fr-faq-main > h3,
	.fr-faq-main > .wp-block-heading,
	.fr-faq-main > .fr-faq-group-heading,
	.fr-faq-main .wp-block-group__inner-container > h2,
	.fr-faq-main .wp-block-group__inner-container > h3,
	.fr-faq-main .wp-block-group__inner-container > .wp-block-heading,
	.fr-faq-main .wp-block-group__inner-container > .fr-faq-group-heading {
		font-size: 25px;
	}

	.fr-faq-item summary,
	.fr-faq-main .fr-faq-item summary,
	.fr-faq-main .wp-block-details.fr-faq-item summary {
		padding: 18px 52px 18px 18px;
		min-height: 48px;
	}

	.fr-faq-item summary::after,
	.fr-faq-main .wp-block-details.fr-faq-item summary::after {
		right: 18px;
	}

	.fr-faq-cta {
		padding: 48px var(--fr-mobile-gutter);
	}

	.fr-faq-cta h2,
	.fr-faq-cta .wp-block-heading:first-of-type {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}
}

@media (max-width: 600px) {
	.fr-faq-cta > .wp-block-buttons,
	.fr-faq-cta .fr-faq-actions,
	.fr-faq-actions {
		flex-direction: column;
		align-items: center;
		width: auto;
	}

	.fr-faq-cta .wp-block-button,
	.fr-faq-cta .fr-faq-actions .wp-block-button,
	.fr-faq-actions .wp-block-button {
		width: 100%;
		max-width: 320px;
	}

	.fr-faq-cta .wp-block-button .wp-block-button__link,
	.fr-faq-cta a.fr-button-primary,
	.fr-faq-cta button.fr-button-primary,
	.fr-faq-cta a.fr-button-secondary,
	.fr-faq-cta button.fr-button-secondary,
	.fr-faq-cta .fr-button-primary .wp-block-button__link,
	.fr-faq-cta .fr-button-secondary .wp-block-button__link {
		width: 100%;
		max-width: 320px;
		min-height: 48px;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-faq-item,
	.fr-faq-main .wp-block-details.fr-faq-item,
	.fr-faq-cta .wp-block-button .wp-block-button__link,
	.fr-faq-cta a.fr-button-primary,
	.fr-faq-cta a.fr-button-secondary {
		transition: none;
	}
}

/* ==========================================================================
   SHIPPING & DELIVERY PAGE
   ========================================================================== */

.fr-shipping-hero {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 68px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(36, 86, 58, 0.07) 0%, transparent 52%),
		radial-gradient(circle at 82% 78%, rgba(181, 133, 53, 0.06) 0%, transparent 48%);
	box-sizing: border-box;
	text-align: center;
}

.fr-shipping-hero > h1,
.fr-shipping-hero .wp-block-heading:first-of-type {
	width: calc(100% - 48px);
	max-width: 780px;
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
}

.fr-shipping-hero > p {
	width: calc(100% - 48px);
	max-width: 780px;
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1.0625rem;
	line-height: 1.65;
	text-align: center;
}

.fr-shipping-overview {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 72px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
}

.fr-shipping-overview > h2,
.fr-shipping-overview .wp-block-heading:first-of-type {
	width: calc(100% - 48px);
	max-width: 780px;
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.fr-shipping-overview > p {
	width: calc(100% - 48px);
	max-width: 780px;
	margin: 0.875rem auto 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.65;
	text-align: center;
}

.fr-shipping-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 22px;
	width: calc(100% - 48px);
	max-width: 1200px;
	margin: 2.5rem auto 0;
	box-sizing: border-box;
}

.fr-shipping-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 26px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.06);
	box-sizing: border-box;
	text-align: center;
}

.fr-shipping-card h3,
.fr-shipping-card .wp-block-heading {
	margin: 0 0 0.75rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.25;
}

.fr-shipping-card p {
	margin: 0;
	color: #6b706c;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.fr-shipping-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background-color: #173f2b;
	color: #ffffff !important;
	opacity: 1;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.fr-shipping-icon span,
.fr-shipping-icon a {
	color: #ffffff !important;
	opacity: 1;
}

.fr-shipping-rates {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 72px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	box-sizing: border-box;
}

.fr-shipping-rates > h2,
.fr-shipping-rates .wp-block-heading:first-of-type,
.fr-shipping-rates > p,
.fr-shipping-rates .fr-shipping-example {
	width: calc(100% - 48px);
	max-width: 960px;
	margin-inline: auto;
	box-sizing: border-box;
}

.fr-shipping-rates > h2,
.fr-shipping-rates .wp-block-heading:first-of-type {
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.fr-shipping-rates > p {
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.7;
	text-align: center;
}

.fr-shipping-example {
	margin-top: 28px;
	padding: 28px 32px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: left;
}

.fr-shipping-example h3,
.fr-shipping-example .wp-block-heading {
	margin: 0 0 1rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.25;
}

.fr-shipping-example p {
	margin: 0 0 1rem;
	color: #6b706c;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.fr-shipping-example p:last-child {
	margin-bottom: 0;
}

.fr-shipping-example ul,
.fr-shipping-example ol,
.fr-shipping-example .wp-block-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fr-shipping-example li {
	position: relative;
	margin: 0 0 12px;
	padding: 0 0 0 28px;
	color: #39413d;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.fr-shipping-example li:last-child {
	margin-bottom: 0;
}

.fr-shipping-example li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.1em;
	color: #24563a;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
}

.fr-shipping-details {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 24px 72px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
}

.fr-shipping-details > h2,
.fr-shipping-details .wp-block-heading:first-of-type {
	width: calc(100% - 48px);
	max-width: 980px;
	margin: 0 auto 26px;
	margin-left: auto;
	margin-right: auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	box-sizing: border-box;
}

.fr-shipping-details > .fr-shipping-detail,
.fr-shipping-details > .wp-block-details,
.fr-shipping-details .fr-shipping-detail,
.fr-shipping-details .wp-block-details.fr-shipping-detail,
.fr-shipping-details .wp-block-group__inner-container > .fr-shipping-detail,
.fr-shipping-details .wp-block-group__inner-container > .wp-block-details,
.fr-shipping-details .alignwide,
.fr-shipping-details .alignfull,
.fr-shipping-details .wp-block-group.alignwide,
.fr-shipping-details .wp-block-group.alignfull,
.fr-shipping-details > .wp-block-group,
.fr-shipping-details .wp-block-group__inner-container {
	width: calc(100% - 48px) !important;
	max-width: 980px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.fr-shipping-detail,
.fr-shipping-details .fr-shipping-detail,
.fr-shipping-details .fr-shipping-detail.wp-block-details,
.fr-shipping-details .wp-block-details.fr-shipping-detail {
	width: 100%;
	margin: 0 0 12px;
	border: 1px solid #e6ded1;
	border-radius: 10px;
	background: #ffffff;
	overflow: hidden;
	box-sizing: border-box;
	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

.fr-shipping-detail:last-child,
.fr-shipping-details .fr-shipping-detail:last-child {
	margin-bottom: 0;
}

.fr-shipping-detail:hover,
.fr-shipping-details .fr-shipping-detail:hover,
.fr-shipping-detail:focus-within,
.fr-shipping-details .fr-shipping-detail:focus-within {
	border-color: #b9cbbf;
}

.fr-shipping-detail[open],
.fr-shipping-details .fr-shipping-detail[open] {
	border-color: #e6ded1;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.08);
}

.fr-shipping-detail[open]:hover,
.fr-shipping-details .fr-shipping-detail[open]:hover,
.fr-shipping-detail[open]:focus-within,
.fr-shipping-details .fr-shipping-detail[open]:focus-within {
	border-color: #b9cbbf;
}

.fr-shipping-detail summary,
.fr-shipping-details .fr-shipping-detail summary {
	position: relative;
	display: block;
	padding: 18px 58px 18px 22px;
	color: #1d211f;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	list-style: none;
	cursor: pointer;
	box-sizing: border-box;
}

.fr-shipping-detail summary::-webkit-details-marker,
.fr-shipping-details .fr-shipping-detail summary::-webkit-details-marker {
	display: none;
}

.fr-shipping-detail summary::marker,
.fr-shipping-details .fr-shipping-detail summary::marker {
	content: "";
}

.fr-shipping-detail summary::after,
.fr-shipping-details .fr-shipping-detail summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #e8f0eb;
	color: #173f2b;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-50%);
}

.fr-shipping-detail[open] summary::after,
.fr-shipping-details .fr-shipping-detail[open] summary::after {
	content: "−";
}

.fr-shipping-detail summary:focus-visible,
.fr-shipping-details .fr-shipping-detail summary:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-shipping-detail > :not(summary),
.fr-shipping-details .fr-shipping-detail > :not(summary) {
	padding: 0 22px 22px;
	color: #555f59;
	font-size: 1rem;
	line-height: 1.7;
	box-sizing: border-box;
}

.fr-shipping-detail[open] > :not(summary),
.fr-shipping-details .fr-shipping-detail[open] > :not(summary) {
	border-top: 1px solid #e6ded1;
	padding-top: 16px;
}

.fr-shipping-detail p,
.fr-shipping-details .fr-shipping-detail p {
	margin: 0 0 0.75rem;
}

.fr-shipping-detail p:last-child,
.fr-shipping-details .fr-shipping-detail p:last-child {
	margin-bottom: 0;
}

.fr-shipping-notice {
	width: calc(100% - 48px);
	max-width: 900px;
	margin: 52px auto 0;
	padding: 26px 30px;
	border-left: 4px solid #173f2b;
	border-radius: 10px;
	background-color: #e8f0eb;
	box-sizing: border-box;
}

.fr-shipping-notice h2,
.fr-shipping-notice h3,
.fr-shipping-notice .wp-block-heading {
	margin: 0 0 10px;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.25;
}

.fr-shipping-notice p {
	margin: 0;
	color: #39413d;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.fr-shipping-cta {
	width: 100%;
	max-width: none;
	margin: 0;
	margin-bottom: 0 !important;
	padding: 60px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
}

.fr-shipping-cta h2,
.fr-shipping-cta p,
.fr-shipping-cta p span,
.fr-shipping-cta .wp-block-heading {
	width: calc(100% - 48px);
	max-width: 820px;
	margin-inline: auto;
	opacity: 1;
	text-align: center;
	box-sizing: border-box;
}

.fr-shipping-cta h2,
.fr-shipping-cta h3,
.fr-shipping-cta h4,
.fr-shipping-cta .wp-block-heading {
	color: #1d211f !important;
}

.fr-shipping-cta h2,
.fr-shipping-cta .wp-block-heading:first-of-type {
	margin: 0 auto;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
}

.fr-shipping-cta p {
	margin: 1.25rem auto 0;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #303733 !important;
}

.fr-shipping-cta > .wp-block-buttons,
.fr-shipping-cta .fr-shipping-actions,
.fr-shipping-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: auto;
	max-width: none;
	margin: 28px auto 0;
	margin-bottom: 0;
	padding: 0;
}

.fr-shipping-cta .wp-block-button,
.fr-shipping-cta .fr-shipping-actions .wp-block-button,
.fr-shipping-actions .wp-block-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.fr-shipping-cta .wp-block-button:first-child .wp-block-button__link,
.fr-shipping-cta a.fr-button-primary,
.fr-shipping-cta button.fr-button-primary,
.fr-shipping-cta .fr-button-primary .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-shipping-cta .wp-block-button:first-child .wp-block-button__link:hover,
.fr-shipping-cta a.fr-button-primary:hover,
.fr-shipping-cta button.fr-button-primary:hover,
.fr-shipping-cta .fr-button-primary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-shipping-cta .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-shipping-cta a.fr-button-secondary,
.fr-shipping-cta button.fr-button-secondary,
.fr-shipping-cta .fr-button-secondary .wp-block-button__link {
	width: auto;
	min-width: 180px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #ffffff;
	color: #173f2b !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-shipping-cta .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.fr-shipping-cta a.fr-button-secondary:hover,
.fr-shipping-cta button.fr-button-secondary:hover,
.fr-shipping-cta .fr-button-secondary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-shipping-hero a:focus-visible,
.fr-shipping-hero button:focus-visible,
.fr-shipping-overview a:focus-visible,
.fr-shipping-overview button:focus-visible,
.fr-shipping-rates a:focus-visible,
.fr-shipping-rates button:focus-visible,
.fr-shipping-details a:focus-visible,
.fr-shipping-details button:focus-visible,
.fr-shipping-notice a:focus-visible,
.fr-shipping-notice button:focus-visible,
.fr-shipping-cta a:focus-visible,
.fr-shipping-cta button:focus-visible,
.fr-shipping-cta .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-shipping-cta a:focus-visible,
.fr-shipping-cta button:focus-visible,
.fr-shipping-cta .wp-block-button__link:focus-visible {
	outline-color: rgba(36, 86, 58, 0.35);
}

@media (max-width: 1024px) {
	.fr-shipping-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.fr-shipping-hero {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-shipping-hero > h1,
	.fr-shipping-hero .wp-block-heading:first-of-type {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.fr-shipping-overview,
	.fr-shipping-rates {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-shipping-details {
		padding: 48px 0 56px;
	}

	.fr-shipping-grid,
	.fr-shipping-overview > h2,
	.fr-shipping-overview > p,
	.fr-shipping-rates > h2,
	.fr-shipping-rates > p,
	.fr-shipping-rates .fr-shipping-example,
	.fr-shipping-hero > h1,
	.fr-shipping-hero > p {
		width: calc(100% - 2 * var(--fr-mobile-gutter));
	}

	.fr-shipping-details > h2,
	.fr-shipping-details .wp-block-heading:first-of-type,
	.fr-shipping-details > .fr-shipping-detail,
	.fr-shipping-details > .wp-block-details,
	.fr-shipping-details .fr-shipping-detail,
	.fr-shipping-details .alignwide,
	.fr-shipping-details .alignfull,
	.fr-shipping-details > .wp-block-group,
	.fr-shipping-details .wp-block-group__inner-container,
	.fr-shipping-notice {
		width: calc(100% - 2 * var(--fr-mobile-gutter)) !important;
	}

	.fr-shipping-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.fr-shipping-card {
		padding: 22px 20px;
	}

	.fr-shipping-example {
		padding: 22px 20px;
	}

	.fr-shipping-notice {
		margin: 40px auto 0;
		padding: 20px 18px;
	}

	.fr-shipping-cta {
		padding: 48px var(--fr-mobile-gutter);
	}

	.fr-shipping-cta h2,
	.fr-shipping-cta .wp-block-heading:first-of-type {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}
}

@media (max-width: 600px) {
	.fr-shipping-cta > .wp-block-buttons,
	.fr-shipping-cta .fr-shipping-actions,
	.fr-shipping-actions {
		flex-direction: column;
		align-items: center;
		width: auto;
	}

	.fr-shipping-cta .wp-block-button,
	.fr-shipping-cta .fr-shipping-actions .wp-block-button,
	.fr-shipping-actions .wp-block-button {
		width: 100%;
		max-width: 320px;
	}

	.fr-shipping-cta .wp-block-button .wp-block-button__link,
	.fr-shipping-cta a.fr-button-primary,
	.fr-shipping-cta button.fr-button-primary,
	.fr-shipping-cta a.fr-button-secondary,
	.fr-shipping-cta button.fr-button-secondary,
	.fr-shipping-cta .fr-button-primary .wp-block-button__link,
	.fr-shipping-cta .fr-button-secondary .wp-block-button__link {
		width: 100%;
		max-width: 320px;
		min-height: 48px;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-shipping-detail,
	.fr-shipping-details .fr-shipping-detail,
	.fr-shipping-cta .wp-block-button .wp-block-button__link,
	.fr-shipping-cta a.fr-button-primary,
	.fr-shipping-cta a.fr-button-secondary {
		transition: none;
	}
}

/* ==========================================================================
   REFUND & RETURNS POLICY PAGE
   ========================================================================== */

.fr-returns-hero {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 68px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(36, 86, 58, 0.07) 0%, transparent 52%),
		radial-gradient(circle at 82% 78%, rgba(181, 133, 53, 0.06) 0%, transparent 48%);
	box-sizing: border-box;
	text-align: center;
}

.fr-returns-hero > h1,
.fr-returns-hero .wp-block-heading:first-of-type {
	width: calc(100% - 48px);
	max-width: 800px;
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
}

.fr-returns-hero > p {
	width: calc(100% - 48px);
	max-width: 800px;
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1.0625rem;
	line-height: 1.65;
	text-align: center;
}

.fr-returns-summary {
	width: calc(100% - 48px);
	max-width: 980px;
	margin: 56px auto;
	padding: 28px 32px;
	border-left: 4px solid #173f2b;
	border-radius: 10px;
	background-color: #e8f0eb;
	box-sizing: border-box;
}

.fr-returns-eligible,
.fr-returns-not-eligible,
.fr-returns-report,
.fr-returns-authorization,
.fr-returns-refunds,
.fr-returns-changes {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 56px 24px;
	overflow-x: clip;
	box-sizing: border-box;
}

.fr-returns-eligible,
.fr-returns-report,
.fr-returns-authorization,
.fr-returns-changes {
	background-color: #ffffff;
}

.fr-returns-not-eligible,
.fr-returns-refunds {
	background-color: #fbf8f1;
}

.fr-returns-resolution {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 56px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	box-sizing: border-box;
	text-align: center;
}

.fr-returns-summary > *,
.fr-returns-eligible > *,
.fr-returns-not-eligible > *,
.fr-returns-report > *,
.fr-returns-authorization > *,
.fr-returns-refunds > *,
.fr-returns-changes > *,
.fr-returns-resolution > h2,
.fr-returns-resolution > p,
.fr-returns-resolution > .wp-block-heading {
	width: calc(100% - 48px);
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.fr-returns-summary h2,
.fr-returns-summary h3,
.fr-returns-eligible h2,
.fr-returns-eligible h3,
.fr-returns-not-eligible h2,
.fr-returns-not-eligible h3,
.fr-returns-report h2,
.fr-returns-report h3,
.fr-returns-authorization h2,
.fr-returns-authorization h3,
.fr-returns-refunds h2,
.fr-returns-refunds h3,
.fr-returns-changes h2,
.fr-returns-changes h3,
.fr-returns-resolution > h2,
.fr-returns-resolution > .wp-block-heading {
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	line-height: 1.25;
}

.fr-returns-summary h2,
.fr-returns-eligible h2,
.fr-returns-not-eligible h2,
.fr-returns-report h2,
.fr-returns-authorization h2,
.fr-returns-refunds h2,
.fr-returns-changes h2,
.fr-returns-resolution > h2,
.fr-returns-resolution > .wp-block-heading:first-of-type {
	margin: 0 0 1rem;
	font-size: 31px;
}

.fr-returns-summary h3,
.fr-returns-eligible h3,
.fr-returns-not-eligible h3,
.fr-returns-report h3,
.fr-returns-authorization h3,
.fr-returns-refunds h3,
.fr-returns-changes h3 {
	margin: 1.5rem 0 0.75rem;
	font-size: 21px;
}

.fr-returns-summary p,
.fr-returns-eligible p,
.fr-returns-not-eligible p,
.fr-returns-report p,
.fr-returns-authorization p,
.fr-returns-refunds p,
.fr-returns-changes p,
.fr-returns-resolution > p {
	margin: 0 0 1rem;
	color: #6b706c;
	font-size: 1rem;
	line-height: 1.75;
}

.fr-returns-summary p:last-child,
.fr-returns-eligible p:last-child,
.fr-returns-not-eligible p:last-child,
.fr-returns-report p:last-child,
.fr-returns-authorization p:last-child,
.fr-returns-refunds p:last-child,
.fr-returns-changes p:last-child,
.fr-returns-resolution > p:last-child {
	margin-bottom: 0;
}

.fr-returns-eligible ul,
.fr-returns-eligible ol,
.fr-returns-not-eligible ul,
.fr-returns-not-eligible ol,
.fr-returns-report ul,
.fr-returns-report ol,
.fr-returns-authorization ul,
.fr-returns-authorization ol,
.fr-returns-refunds ul,
.fr-returns-refunds ol,
.fr-returns-changes ul,
.fr-returns-changes ol {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.fr-returns-eligible li,
.fr-returns-not-eligible li,
.fr-returns-report li,
.fr-returns-authorization li,
.fr-returns-refunds li,
.fr-returns-changes li {
	position: relative;
	margin: 0 0 12px;
	padding: 0 0 0 34px;
	color: #39413d;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.fr-returns-eligible li:last-child,
.fr-returns-not-eligible li:last-child,
.fr-returns-report li:last-child,
.fr-returns-authorization li:last-child,
.fr-returns-refunds li:last-child,
.fr-returns-changes li:last-child {
	margin-bottom: 0;
}

.fr-returns-eligible li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #e8f0eb;
	color: #173f2b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.fr-returns-not-eligible li::before {
	content: "−";
	position: absolute;
	left: 0;
	top: 0.05em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #ece8e1;
	color: #6b706c;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

.fr-returns-report ul,
.fr-returns-report ol {
	margin-top: 1.25rem;
	padding: 24px 28px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
}

.fr-returns-report li::before {
	content: "•";
	position: absolute;
	left: 8px;
	top: 0.05em;
	color: #24563a;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

.fr-returns-resolution > p {
	max-width: 760px;
	text-align: center;
}

.fr-returns-resolution-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
	width: calc(100% - 48px);
	max-width: 1100px;
	margin: 2rem auto 0;
	box-sizing: border-box;
}

.fr-returns-resolution-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 28px;
	border: 1px solid #e6ded1;
	border-radius: 12px;
	background-color: #ffffff;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.06);
	box-sizing: border-box;
	text-align: center;
}

.fr-returns-resolution-card h3,
.fr-returns-resolution-card .wp-block-heading {
	margin: 0 0 0.75rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
}

.fr-returns-resolution-card p {
	margin: 0;
	color: #6b706c;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.fr-returns-contact {
	width: calc(100% - 48px);
	max-width: 900px;
	margin: 56px auto;
	padding: 30px;
	border-radius: 12px;
	background-color: #e8f0eb;
	box-sizing: border-box;
	text-align: center;
}

.fr-returns-contact h2,
.fr-returns-contact h3,
.fr-returns-contact .wp-block-heading {
	margin: 0 0 0.75rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 31px;
	font-weight: 400;
	line-height: 1.25;
}

.fr-returns-contact p {
	margin: 0 0 1rem;
	color: #39413d;
	font-size: 1rem;
	line-height: 1.75;
}

.fr-returns-contact p:last-child {
	margin-bottom: 0;
}

.fr-returns-contact > .wp-block-buttons,
.fr-returns-contact .fr-returns-contact-actions,
.fr-returns-contact-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: auto;
	margin: 1.5rem auto 0;
	padding: 0;
}

.fr-returns-contact .wp-block-button,
.fr-returns-contact-actions .wp-block-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.fr-returns-cta {
	width: 100%;
	max-width: none;
	margin: 0;
	margin-bottom: 0 !important;
	padding: 60px 24px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
}

.fr-returns-cta h2,
.fr-returns-cta p,
.fr-returns-cta p span,
.fr-returns-cta .wp-block-heading {
	width: calc(100% - 48px);
	max-width: 820px;
	margin-inline: auto;
	opacity: 1;
	text-align: center;
	box-sizing: border-box;
}

.fr-returns-cta h2,
.fr-returns-cta h3,
.fr-returns-cta h4,
.fr-returns-cta .wp-block-heading {
	color: #1d211f !important;
}

.fr-returns-cta h2,
.fr-returns-cta .wp-block-heading:first-of-type {
	margin: 0 auto;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.2;
}

.fr-returns-cta p {
	margin: 1.25rem auto 0;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #303733 !important;
}

.fr-returns-cta > .wp-block-buttons,
.fr-returns-cta .fr-returns-actions,
.fr-returns-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: auto;
	margin: 28px auto 0;
	margin-bottom: 0;
	padding: 0;
}

.fr-returns-cta .wp-block-button,
.fr-returns-cta .fr-returns-actions .wp-block-button,
.fr-returns-actions .wp-block-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.fr-returns-contact .wp-block-button:first-child .wp-block-button__link,
.fr-returns-contact a.fr-button-primary,
.fr-returns-contact button.fr-button-primary,
.fr-returns-cta .wp-block-button:first-child .wp-block-button__link,
.fr-returns-cta a.fr-button-primary,
.fr-returns-cta button.fr-button-primary,
.fr-returns-cta .fr-button-primary .wp-block-button__link {
	width: auto;
	min-width: 170px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: #173f2b;
	color: #ffffff !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-returns-contact .wp-block-button:first-child .wp-block-button__link:hover,
.fr-returns-contact a.fr-button-primary:hover,
.fr-returns-cta .wp-block-button:first-child .wp-block-button__link:hover,
.fr-returns-cta a.fr-button-primary:hover,
.fr-returns-cta button.fr-button-primary:hover,
.fr-returns-cta .fr-button-primary .wp-block-button__link:hover {
	background-color: #24563a;
	border-color: #24563a;
	color: #ffffff !important;
}

.fr-returns-contact .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-returns-contact a.fr-button-secondary,
.fr-returns-contact button.fr-button-secondary,
.fr-returns-cta .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-returns-cta a.fr-button-secondary,
.fr-returns-cta button.fr-button-secondary,
.fr-returns-cta .fr-button-secondary .wp-block-button__link {
	width: auto;
	min-width: 170px;
	padding: 13px 28px;
	border: 1px solid #173f2b;
	border-radius: 6px;
	background-color: transparent;
	color: #173f2b !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fr-returns-contact .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.fr-returns-contact a.fr-button-secondary:hover,
.fr-returns-cta .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.fr-returns-cta a.fr-button-secondary:hover,
.fr-returns-cta button.fr-button-secondary:hover,
.fr-returns-cta .fr-button-secondary .wp-block-button__link:hover {
	background-color: rgba(23, 63, 43, 0.08);
	border-color: #173f2b;
	color: #173f2b !important;
}

.fr-returns-cta .wp-block-button:first-child .wp-block-button__link,
.fr-returns-cta a.fr-button-primary,
.fr-returns-cta button.fr-button-primary,
.fr-returns-cta .fr-button-primary .wp-block-button__link {
	border-color: #173f2b;
	background-color: #173f2b;
	color: #ffffff !important;
}

.fr-returns-cta .wp-block-button:first-child .wp-block-button__link:hover,
.fr-returns-cta a.fr-button-primary:hover,
.fr-returns-cta button.fr-button-primary:hover,
.fr-returns-cta .fr-button-primary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-returns-cta .wp-block-button:nth-child(2) .wp-block-button__link,
.fr-returns-cta a.fr-button-secondary,
.fr-returns-cta button.fr-button-secondary,
.fr-returns-cta .fr-button-secondary .wp-block-button__link {
	border-color: #173f2b;
	background-color: #ffffff;
	color: #173f2b !important;
}

.fr-returns-cta .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.fr-returns-cta a.fr-button-secondary:hover,
.fr-returns-cta button.fr-button-secondary:hover,
.fr-returns-cta .fr-button-secondary .wp-block-button__link:hover {
	border-color: #24563a;
	background-color: #24563a;
	color: #ffffff !important;
}

.fr-returns-hero a:focus-visible,
.fr-returns-hero button:focus-visible,
.fr-returns-summary a:focus-visible,
.fr-returns-eligible a:focus-visible,
.fr-returns-not-eligible a:focus-visible,
.fr-returns-report a:focus-visible,
.fr-returns-resolution a:focus-visible,
.fr-returns-authorization a:focus-visible,
.fr-returns-refunds a:focus-visible,
.fr-returns-changes a:focus-visible,
.fr-returns-contact a:focus-visible,
.fr-returns-contact button:focus-visible,
.fr-returns-cta a:focus-visible,
.fr-returns-cta button:focus-visible,
.fr-returns-cta .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-returns-cta a:focus-visible,
.fr-returns-cta button:focus-visible,
.fr-returns-cta .wp-block-button__link:focus-visible {
	outline-color: rgba(36, 86, 58, 0.35);
}

@media (max-width: 767px) {
	.fr-returns-hero {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-returns-hero > h1,
	.fr-returns-hero .wp-block-heading:first-of-type {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.fr-returns-eligible,
	.fr-returns-not-eligible,
	.fr-returns-report,
	.fr-returns-resolution,
	.fr-returns-authorization,
	.fr-returns-refunds,
	.fr-returns-changes {
		padding: 48px var(--fr-mobile-gutter);
	}

	.fr-returns-summary,
	.fr-returns-contact,
	.fr-returns-hero > h1,
	.fr-returns-hero > p,
	.fr-returns-summary > *,
	.fr-returns-eligible > *,
	.fr-returns-not-eligible > *,
	.fr-returns-report > *,
	.fr-returns-authorization > *,
	.fr-returns-refunds > *,
	.fr-returns-changes > *,
	.fr-returns-resolution > h2,
	.fr-returns-resolution > p,
	.fr-returns-resolution-grid {
		width: calc(100% - 2 * var(--fr-mobile-gutter));
	}

	.fr-returns-summary {
		margin: 40px auto;
		padding: 22px 20px;
	}

	.fr-returns-contact {
		margin: 40px auto;
		padding: 24px 20px;
	}

	.fr-returns-resolution-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.fr-returns-resolution-card {
		padding: 24px 20px;
	}

	.fr-returns-cta {
		padding: 48px var(--fr-mobile-gutter);
	}

	.fr-returns-cta h2,
	.fr-returns-cta .wp-block-heading:first-of-type {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}
}

@media (max-width: 600px) {
	.fr-returns-contact > .wp-block-buttons,
	.fr-returns-contact .fr-returns-contact-actions,
	.fr-returns-contact-actions,
	.fr-returns-cta > .wp-block-buttons,
	.fr-returns-cta .fr-returns-actions,
	.fr-returns-actions {
		flex-direction: column;
		align-items: center;
		width: auto;
	}

	.fr-returns-contact .wp-block-button,
	.fr-returns-contact-actions .wp-block-button,
	.fr-returns-cta .wp-block-button,
	.fr-returns-cta .fr-returns-actions .wp-block-button,
	.fr-returns-actions .wp-block-button {
		width: 100%;
		max-width: 320px;
	}

	.fr-returns-contact .wp-block-button .wp-block-button__link,
	.fr-returns-contact a.fr-button-primary,
	.fr-returns-contact a.fr-button-secondary,
	.fr-returns-cta .wp-block-button .wp-block-button__link,
	.fr-returns-cta a.fr-button-primary,
	.fr-returns-cta button.fr-button-primary,
	.fr-returns-cta a.fr-button-secondary,
	.fr-returns-cta button.fr-button-secondary,
	.fr-returns-cta .fr-button-primary .wp-block-button__link,
	.fr-returns-cta .fr-button-secondary .wp-block-button__link {
		width: 100%;
		max-width: 320px;
		min-height: 48px;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-returns-contact .wp-block-button .wp-block-button__link,
	.fr-returns-cta .wp-block-button .wp-block-button__link,
	.fr-returns-cta a.fr-button-primary,
	.fr-returns-cta a.fr-button-secondary {
		transition: none;
	}
}

/* ==========================================================================
   PRIVACY POLICY — ACCORDION CONTENT
   ========================================================================== */

.fr-privacy-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 24px 72px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
}

.fr-privacy-content > .fr-privacy-item,
.fr-privacy-content > .wp-block-details,
.fr-privacy-content .fr-privacy-item,
.fr-privacy-content .wp-block-details.fr-privacy-item,
.fr-privacy-content .wp-block-group__inner-container > .fr-privacy-item,
.fr-privacy-content .wp-block-group__inner-container > .wp-block-details,
.fr-privacy-content .alignwide,
.fr-privacy-content .alignfull,
.fr-privacy-content .wp-block-group.alignwide,
.fr-privacy-content .wp-block-group.alignfull,
.fr-privacy-content > .wp-block-group,
.fr-privacy-content .wp-block-group__inner-container {
	width: calc(100% - 48px) !important;
	max-width: 1000px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.fr-privacy-item,
.fr-privacy-content .fr-privacy-item,
.fr-privacy-content .fr-privacy-item.wp-block-details,
.fr-privacy-content .wp-block-details.fr-privacy-item {
	width: 100%;
	margin: 0 0 13px;
	border: 1px solid #e6ded1;
	border-radius: 10px;
	background-color: #ffffff;
	overflow: hidden;
	box-sizing: border-box;
	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

.fr-privacy-item:last-child,
.fr-privacy-content .fr-privacy-item:last-child {
	margin-bottom: 0;
}

.fr-privacy-item:hover,
.fr-privacy-content .fr-privacy-item:hover,
.fr-privacy-item:focus-within,
.fr-privacy-content .fr-privacy-item:focus-within {
	border-color: #b9cbbf;
}

.fr-privacy-item[open],
.fr-privacy-content .fr-privacy-item[open] {
	border-color: #e6ded1;
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.08);
}

.fr-privacy-item[open]:hover,
.fr-privacy-content .fr-privacy-item[open]:hover,
.fr-privacy-item[open]:focus-within,
.fr-privacy-content .fr-privacy-item[open]:focus-within {
	border-color: #b9cbbf;
}

.fr-privacy-item summary,
.fr-privacy-content .fr-privacy-item summary {
	position: relative;
	display: block;
	padding: 19px 60px 19px 22px;
	color: #1d211f;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	list-style: none;
	cursor: pointer;
	box-sizing: border-box;
}

.fr-privacy-item summary::-webkit-details-marker,
.fr-privacy-content .fr-privacy-item summary::-webkit-details-marker {
	display: none;
}

.fr-privacy-item summary::marker,
.fr-privacy-content .fr-privacy-item summary::marker {
	content: "";
}

.fr-privacy-item summary::after,
.fr-privacy-content .fr-privacy-item summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #e8f0eb;
	color: #173f2b;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-50%);
}

.fr-privacy-item[open] summary::after,
.fr-privacy-content .fr-privacy-item[open] summary::after {
	content: "−";
}

.fr-privacy-item summary:focus-visible,
.fr-privacy-content .fr-privacy-item summary:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-privacy-item > :not(summary),
.fr-privacy-content .fr-privacy-item > :not(summary) {
	padding: 22px;
	color: #555f59;
	font-size: 1rem;
	line-height: 1.75;
	box-sizing: border-box;
}

.fr-privacy-item[open] > :not(summary),
.fr-privacy-content .fr-privacy-item[open] > :not(summary) {
	border-top: 1px solid #e6ded1;
}

.fr-privacy-item > :not(summary) > :first-child,
.fr-privacy-content .fr-privacy-item > :not(summary) > :first-child {
	margin-top: 0;
}

.fr-privacy-item > :not(summary) > :last-child,
.fr-privacy-content .fr-privacy-item > :not(summary) > :last-child {
	margin-bottom: 0;
}

.fr-privacy-item h3,
.fr-privacy-item h4,
.fr-privacy-content .fr-privacy-item h3,
.fr-privacy-content .fr-privacy-item h4,
.fr-privacy-content .fr-privacy-item .wp-block-heading {
	margin: 0 0 0.75rem;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
}

.fr-privacy-item p,
.fr-privacy-content .fr-privacy-item p {
	margin: 0 0 1rem;
}

.fr-privacy-item p:last-child,
.fr-privacy-content .fr-privacy-item p:last-child {
	margin-bottom: 0;
}

.fr-privacy-item ul,
.fr-privacy-item ol,
.fr-privacy-content .fr-privacy-item ul,
.fr-privacy-content .fr-privacy-item ol {
	margin: 0 0 1rem;
	padding-left: 1.5rem;
}

.fr-privacy-item li,
.fr-privacy-content .fr-privacy-item li {
	margin: 0 0 0.5rem;
	line-height: 1.75;
}

.fr-privacy-item li:last-child,
.fr-privacy-content .fr-privacy-item li:last-child {
	margin-bottom: 0;
}

.fr-privacy-item a,
.fr-privacy-content .fr-privacy-item a {
	color: #173f2b;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fr-privacy-item a:hover,
.fr-privacy-content .fr-privacy-item a:hover {
	color: #24563a;
}

.fr-privacy-item a:focus-visible,
.fr-privacy-content .fr-privacy-item a:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.fr-privacy-content {
		padding: 48px 0 56px;
	}

	.fr-privacy-content > .fr-privacy-item,
	.fr-privacy-content > .wp-block-details,
	.fr-privacy-content .fr-privacy-item,
	.fr-privacy-content .alignwide,
	.fr-privacy-content .alignfull,
	.fr-privacy-content > .wp-block-group,
	.fr-privacy-content .wp-block-group__inner-container {
		width: calc(100% - 2 * var(--fr-mobile-gutter)) !important;
	}

	.fr-privacy-item summary,
	.fr-privacy-content .fr-privacy-item summary {
		padding: 18px 52px 18px 18px;
		font-size: 16px;
		min-height: 48px;
	}

	.fr-privacy-item summary::after,
	.fr-privacy-content .fr-privacy-item summary::after {
		right: 18px;
	}

	.fr-privacy-item > :not(summary),
	.fr-privacy-content .fr-privacy-item > :not(summary) {
		padding: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-privacy-item,
	.fr-privacy-content .fr-privacy-item {
		transition: none;
	}
}

/* ==========================================================================
   TERMS & CONDITIONS PAGE
   ========================================================================== */

.fr-terms-hero {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 68px 24px;
	overflow-x: clip;
	background-color: #f3eee5;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(36, 86, 58, 0.07) 0%, transparent 52%),
		radial-gradient(circle at 82% 78%, rgba(181, 133, 53, 0.06) 0%, transparent 48%);
	box-sizing: border-box;
	text-align: center;
}

.fr-terms-hero > h1,
.fr-terms-hero .wp-block-heading:first-of-type,
.fr-terms-hero > p {
	width: calc(100% - 48px);
	max-width: 840px;
	margin-inline: auto;
	box-sizing: border-box;
}

.fr-terms-hero > h1,
.fr-terms-hero .wp-block-heading:first-of-type {
	margin: 0 auto;
	color: #1d211f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 48px;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
}

.fr-terms-hero > p {
	margin: 1rem auto 0;
	color: #6b706c;
	font-size: 1.0625rem;
	line-height: 1.65;
	text-align: center;
}

.fr-terms-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 64px 24px 72px;
	overflow-x: clip;
	background-color: #ffffff;
	box-sizing: border-box;
}

.fr-terms-content > .fr-terms-item,
.fr-terms-content > .wp-block-details,
.fr-terms-content .fr-terms-item,
.fr-terms-content .wp-block-details.fr-terms-item,
.fr-terms-content .wp-block-group__inner-container > .fr-terms-item,
.fr-terms-content .wp-block-group__inner-container > .wp-block-details,
.fr-terms-content .alignwide,
.fr-terms-content .alignfull,
.fr-terms-content .wp-block-group.alignwide,
.fr-terms-content .wp-block-group.alignfull,
.fr-terms-content > .wp-block-group,
.fr-terms-content .wp-block-group__inner-container {
	width: calc(100% - 48px) !important;
	max-width: 1000px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.fr-terms-item,
.fr-terms-content .fr-terms-item,
.fr-terms-content .fr-terms-item.wp-block-details,
.fr-terms-content .wp-block-details.fr-terms-item {
	width: 100%;
	margin: 0 0 13px;
	border: 1px solid #e6ded1;
	border-radius: 10px;
	background-color: #ffffff;
	overflow: hidden;
	box-sizing: border-box;
	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

.fr-terms-item:last-child,
.fr-terms-content .fr-terms-item:last-child {
	margin-bottom: 0;
}

.fr-terms-item:hover,
.fr-terms-content .fr-terms-item:hover,
.fr-terms-item:focus-within,
.fr-terms-content .fr-terms-item:focus-within {
	border-color: #b9cbbf;
}

.fr-terms-item[open],
.fr-terms-content .fr-terms-item[open] {
	box-shadow: 0 8px 24px rgba(23, 63, 43, 0.08);
}

.fr-terms-item summary,
.fr-terms-content .fr-terms-item summary {
	position: relative;
	display: block;
	padding: 19px 60px 19px 22px;
	color: #1d211f;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	list-style: none;
	cursor: pointer;
	box-sizing: border-box;
}

.fr-terms-item summary::-webkit-details-marker,
.fr-terms-content .fr-terms-item summary::-webkit-details-marker {
	display: none;
}

.fr-terms-item summary::marker,
.fr-terms-content .fr-terms-item summary::marker {
	content: "";
}

.fr-terms-item summary::after,
.fr-terms-content .fr-terms-item summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #e8f0eb;
	color: #173f2b;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-50%);
}

.fr-terms-item[open] summary::after,
.fr-terms-content .fr-terms-item[open] summary::after {
	content: "−";
}

.fr-terms-item summary:focus-visible,
.fr-terms-content .fr-terms-item summary:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

.fr-terms-item > :not(summary),
.fr-terms-content .fr-terms-item > :not(summary) {
	padding: 22px;
	color: #555f59;
	font-size: 1rem;
	line-height: 1.75;
	box-sizing: border-box;
}

.fr-terms-item[open] > :not(summary),
.fr-terms-content .fr-terms-item[open] > :not(summary) {
	border-top: 1px solid #e6ded1;
}

.fr-terms-item > :not(summary) > :first-child,
.fr-terms-content .fr-terms-item > :not(summary) > :first-child {
	margin-top: 0;
}

.fr-terms-item > :not(summary) > :last-child,
.fr-terms-content .fr-terms-item > :not(summary) > :last-child {
	margin-bottom: 0;
}

.fr-terms-item p,
.fr-terms-content .fr-terms-item p {
	margin: 0 0 1rem;
}

.fr-terms-item p:last-child,
.fr-terms-content .fr-terms-item p:last-child {
	margin-bottom: 0;
}

.fr-terms-item ul,
.fr-terms-item ol,
.fr-terms-content .fr-terms-item ul,
.fr-terms-content .fr-terms-item ol {
	margin: 0 0 1rem;
	padding-left: 1.5rem;
}

.fr-terms-item li,
.fr-terms-content .fr-terms-item li {
	margin: 0 0 0.5rem;
	line-height: 1.75;
}

.fr-terms-item a,
.fr-terms-content .fr-terms-item a {
	color: #173f2b;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fr-terms-item a:hover,
.fr-terms-content .fr-terms-item a:hover {
	color: #24563a;
}

.fr-terms-item a:focus-visible,
.fr-terms-content .fr-terms-item a:focus-visible,
.fr-terms-hero a:focus-visible {
	outline: 3px solid rgba(36, 86, 58, 0.35);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.fr-terms-hero {
		padding: 56px var(--fr-mobile-gutter);
	}

	.fr-terms-hero > h1,
	.fr-terms-hero .wp-block-heading:first-of-type {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.fr-terms-content {
		padding: 48px 0 56px;
	}

	.fr-terms-content > .fr-terms-item,
	.fr-terms-content > .wp-block-details,
	.fr-terms-content .fr-terms-item,
	.fr-terms-content .alignwide,
	.fr-terms-content .alignfull,
	.fr-terms-content > .wp-block-group,
	.fr-terms-content .wp-block-group__inner-container {
		width: calc(100% - 2 * var(--fr-mobile-gutter)) !important;
	}

	.fr-terms-item summary,
	.fr-terms-content .fr-terms-item summary {
		padding: 18px 52px 18px 18px;
		font-size: 16px;
		min-height: 48px;
	}

	.fr-terms-item summary::after,
	.fr-terms-content .fr-terms-item summary::after {
		right: 18px;
	}

	.fr-terms-item > :not(summary),
	.fr-terms-content .fr-terms-item > :not(summary) {
		padding: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fr-terms-item,
	.fr-terms-content .fr-terms-item {
		transition: none;
	}
}
/* ==========================================================================
   HOME — MEMORIAL INFORMATION CONTENT
   ========================================================================== */

body.home .fr-home-memorial-copy {
	box-sizing: border-box;
	width: min(var(--fr-layout-width, 1290px), calc(100% - 48px));
	margin-inline: auto !important;
	padding: 25px 0 50px !important;
}

body.home .fr-home-memorial-copy > .wp-block-group__inner-container > .wp-block-heading.has-text-align-center {
	margin: 0 0 14px !important;
	text-align: center;
}

body.home .fr-home-memorial-copy h4 {
	margin: 16px 0 3px !important;

	color: #1d211f;
	font-family: var(--fr-font-body);
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.35;
}

body.home .fr-home-memorial-copy p {
	margin: 0 !important;

	color: #303733;
	font-size: 16px;
	line-height: 1.65;
}

@media screen and (max-width: 767px) {
	body.home .fr-home-memorial-copy {
		width: calc(100% - 2 * var(--fr-mobile-gutter));
		padding: 14px 0 40px !important;
	}

	body.home .fr-home-memorial-copy h4 {
		font-size: 16px !important;
	}

	body.home .fr-home-memorial-copy p {
		font-size: 14px;
		line-height: 1.6;
	}
}

/* =========================================================
   FLOATING CART — mobile + tablet (<=1025px), above tawk.to
   ========================================================= */
.fr-mobile-floating-cart {
	display: none;
}

@media screen and (max-width: 1025px) {
	.fr-mobile-floating-cart {
		display: block;
		position: fixed;
		right: 28px;
		bottom: 100px;
		z-index: 99980;
		width: 58px;
		margin: 0;
		padding: 0;
		background: transparent;
		border: 0;
		box-shadow: none;
		line-height: 0;
		box-sizing: border-box;
	}

	.fr-mobile-floating-cart[hidden],
	body.woocommerce-cart .fr-mobile-floating-cart {
		display: none !important;
	}

	.fr-mobile-floating-cart__link {
		position: relative;
		display: block;
		width: 58px;
		margin: 2px;
		padding: 0;
		background: transparent;
		border: 0;
		box-shadow: none;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
		outline: none;
	}

	.fr-mobile-floating-cart__link:focus-visible {
		outline: 2px solid #173f2b;
		outline-offset: 3px;
		border-radius: 8px;
	}

	.fr-mobile-floating-cart__icon {
		display: block;
		width: 58px;
		height: auto;
		margin: 0;
		padding: 0;
		border: 0;
		pointer-events: none;
	}

	.fr-mobile-floating-cart__count {
		position: absolute;
		top: -2px;
		right: -2px;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 18px;
		height: 18px;
		padding: 0 3px;
		border-radius: 999px;
		background-color: #e85a2a;
		color: #ffffff;
		font-size: 11px;
		font-weight: 700;
		line-height: 1;
		box-sizing: border-box;
		pointer-events: none;
	}
}

@media screen and (max-width: 767px) {
	body.woocommerce-cart iframe[title="chat widget"],
	body.woocommerce-cart iframe[src*="tawk.to"] {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

