:root {
	--ht-core-accent: #7d3547;
	--ht-core-accent-soft: #f7ebee;
	--ht-core-success: #2f6b4f;
	--ht-core-border: #eadde0;
}

/* Reusable, shoppable customer results. */
.ht-looks { clear: both; width: 100%; margin: 3.5rem auto; }
.ht-looks__heading { margin: 0 0 1.5rem; color: #2f2427; font-size: clamp(2rem, 4vw, 3rem); }
.ht-looks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ht-looks__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ht-looks__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ht-look-card { overflow: hidden; border: 1px solid var(--ht-core-border); border-radius: 24px 56px 18px 18px; background: #fffaf9; box-shadow: 0 14px 38px rgba(61,41,45,.08); transition: transform .2s ease, box-shadow .2s ease; }
.ht-look-card:hover { transform: translateY(-4px); box-shadow: 0 20px 46px rgba(61,41,45,.14); }
.ht-look-card__link { display: block; height: 100%; color: inherit; text-decoration: none !important; }
.ht-look-card__image { overflow: hidden; aspect-ratio: 4 / 5; background: #eadde0; }
.ht-look-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ht-look-card:hover .ht-look-card__image img { transform: scale(1.025); }
.ht-look-card__body { padding: 22px 22px 25px; }
.ht-look-card__eyebrow { color: var(--ht-core-accent); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ht-look-card h3 { margin: 8px 0 7px; color: #2f2427; font-size: 25px; line-height: 1.15; }
.ht-look-card p { min-height: 2.8em; margin: 0 0 15px; color: #65585b; font-size: 14px; line-height: 1.45; }
.ht-look-card__cta { color: var(--ht-core-accent); font-weight: 700; }
.ht-look-detail { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: 36px; max-width: 1200px; margin: 3rem auto; padding: 0 24px; }
.ht-look-detail__intro { grid-column: 1 / -1; }
.ht-look-detail__back { display: inline-block; margin-bottom: 20px; color: var(--ht-core-accent); font-weight: 700; text-decoration: none !important; }
.ht-look-detail__eyebrow { display: block; margin-bottom: 8px; color: var(--ht-core-accent); font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.ht-look-detail__intro h1 { margin: 0; color: #2f2427; font-size: clamp(2.7rem,6vw,5rem); line-height: 1; }
.ht-look-detail__facts, .ht-look-shop { padding: clamp(24px,4vw,42px); border: 1px solid var(--ht-core-border); border-radius: 22px; background: #fffaf9; }
.ht-look-detail h2 { margin-top: 0; color: #2f2427; font-size: clamp(1.7rem,3vw,2.3rem); }
.ht-look-detail dl { margin: 0; }
.ht-look-detail dl div { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--ht-core-border); }
.ht-look-detail dt { color: #756b6d; }
.ht-look-detail dd { margin: 0; color: #2f2427; font-weight: 700; text-align: right; }
.ht-look-shop__intro { margin-top: -.7rem; color: #65585b; }
.ht-look-product { display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 18px; padding: 20px 0; border-top: 1px solid var(--ht-core-border); }
.ht-look-product__image img { width: 100%; height: 105px; object-fit: contain; background: #fff; border-radius: 12px; }
.ht-look-product h3 { margin: 0 0 6px; font-size: 18px; }
.ht-look-product h3 a { color: #2f2427; }
.ht-look-product p { margin: 0 0 6px; color: #65585b; }
.ht-look-product__price { margin-bottom: 10px; color: var(--ht-core-accent); font-weight: 700; }
.ht-look-product__button { display: inline-block; padding: 10px 16px; border-radius: 999px; background: var(--ht-core-accent); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.ht-look-product__stock { color: #756b6d; font-weight: 700; }
.ht-look-shop__help { display: inline-block; margin-top: 18px; color: var(--ht-core-accent); font-weight: 700; }
.ht-testimonials { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.ht-testimonials figure { margin: 0; padding: 28px; border: 1px solid rgba(242,230,227,.24); border-radius: 18px 44px 18px 18px; background: rgba(255,255,255,.05); }
.ht-testimonials blockquote { margin: 0 0 18px; color: #fff; font-size: 18px; line-height: 1.55; }
.ht-testimonials figcaption { color: #eadde0; font-size: 13px; font-weight: 700; }

/* Homepage contrast and content-link affordance. */
.home .htv3-quality .ht-testimonials blockquote {
	color: #fff !important;
}
.home .htv3-quality .ht-testimonials figcaption {
	color: #f2e6e3 !important;
}
.home .htv3-salon .htv3-salon-copy {
	--awb-bg-color: #6b3541 !important;
	--awb-bg-color-hover: #6b3541 !important;
	background-color: #6b3541 !important;
}
.ht-shop-help .fusion-layout-column {
	--awb-bg-color: #6b3541 !important;
	--awb-bg-color-hover: #6b3541 !important;
	background-color: #6b3541 !important;
}
.ht-shop-help .fusion-button.button-outline {
	--button_accent_color: #fff !important;
	--button_accent_hover_color: #3d292d !important;
	--button_border_color: rgba(255, 255, 255, .78) !important;
	--button_border_hover_color: #fff !important;
	--button_gradient_top_color_hover: #fff !important;
	--button_gradient_bottom_color_hover: #fff !important;
	color: #fff !important;
	border-color: rgba(255, 255, 255, .78) !important;
}
#main .post-content .fusion-text p a:not(.fusion-button),
#main .post-content .fusion-text li a:not(.fusion-button) {
	color: var(--ht-core-accent) !important;
	font-weight: 600;
	text-decoration: underline !important;
	text-decoration-color: #c98e98 !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px;
}
#main .post-content .fusion-text p a:not(.fusion-button):hover,
#main .post-content .fusion-text li a:not(.fusion-button):hover {
	color: #a65d6d !important;
	text-decoration-thickness: 2px !important;
}

/* Avada product-image rollovers sit inside WooCommerce list items. Keep their
 * action links clearly separated from the content-link treatment above. */
#main .fusion-image-wrapper .fusion-rollover {
	background-image: linear-gradient(to top, rgba(61, 41, 45, .94), rgba(107, 53, 65, .78)) !important;
}
#main .fusion-image-wrapper .fusion-rollover .fusion-rollover-content a,
#main .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-linebreak {
	color: #fff !important;
	text-decoration-color: rgba(255, 255, 255, .72) !important;
}
#main .fusion-image-wrapper .fusion-rollover .fusion-rollover-content a:hover {
	color: #fff !important;
	text-decoration-color: #fff !important;
}

/* Make Avada's portfolio single useful as a focused customer-result page. */
.single-avada_portfolio .fusion-post-slideshow .slides img { width: 100%; max-height: 780px; object-fit: contain; background: #f8f3f2; }
.single-avada_portfolio .project-description { width: 100% !important; }
.single-avada_portfolio .project-info { display: none !important; }

.ht-sale-pricing,
.ht-variable-price-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.45rem 0.75rem;
}

.ht-sale-pricing__prices {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.75rem;
}

.ht-sale-pricing__label {
	font-size: 0.82em;
	font-weight: 600;
}

.ht-sale-pricing__regular {
	color: #756b6d;
	font-size: 0.9em;
}

.ht-sale-pricing__current,
.ht-sale-pricing__current ins {
	color: var(--ht-core-accent);
	font-weight: 700;
	text-decoration: none;
}

.ht-sale-saving {
	display: inline-block;
	align-items: center;
	min-height: 1.75rem;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: var(--ht-core-accent-soft);
	color: var(--ht-core-accent);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
}

.ht-variable-price-summary__from {
	font-weight: 700;
}

/* Avada's fixed percentage can be wrong when only some variations are on sale. */
.single-product .summary .fusion-onsale,
.single-product .fusion-woo-price-tb .fusion-onsale {
	display: none !important;
}

/* Keep Avada FAQ questions compact and easy to scan across guide pages. */
.fusion-faqs-wrapper .panel-title,
.fusion-faqs-wrapper .fusion-toggle-heading {
	font-size: 21px !important;
	line-height: 1.28 !important;
}

/* FAQ answers are rendered outside Avada's usual .fusion-text wrapper. */
#main .fusion-faqs-wrapper .panel-body a:not(.fusion-button),
#main .fusion-faqs-wrapper .panel-body a:not(.fusion-button):visited {
	color: var(--ht-core-accent) !important;
	font-weight: 600;
	text-decoration: underline !important;
	text-decoration-color: #a65d6d !important;
	text-decoration-thickness: 1.5px !important;
	text-underline-offset: 3px;
}

#main .fusion-faqs-wrapper .panel-body a:not(.fusion-button):hover {
	color: #5f2836 !important;
	text-decoration-color: currentColor !important;
	text-decoration-thickness: 2px !important;
}

#main .fusion-faqs-wrapper .panel-body a:not(.fusion-button):focus-visible {
	outline: 2px solid #c98e98;
	outline-offset: 3px;
}

@media (max-width: 800px) {
	.fusion-faqs-wrapper .panel-title,
	.fusion-faqs-wrapper .fusion-toggle-heading {
		font-size: 18px !important;
		line-height: 1.35 !important;
	}
}

.ht-free-shipping-indicator {
	width: 100%;
	margin: 1rem 0;
	padding: 0.9rem 1rem;
	border: 1px solid var(--ht-core-border);
	border-radius: 10px;
	background: #fffaf9;
}

.ht-free-shipping-indicator__message {
	margin-bottom: 0.55rem;
	color: #332a2c !important;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.4;
}

/* Keep WooCommerce's nested currency markup readable in dark Avada panels. */
.ht-free-shipping-indicator.ht-free-shipping-indicator .ht-free-shipping-indicator__message .woocommerce-Price-amount,
.ht-free-shipping-indicator.ht-free-shipping-indicator .ht-free-shipping-indicator__message .woocommerce-Price-currencySymbol,
.ht-free-shipping-indicator.ht-free-shipping-indicator .ht-free-shipping-indicator__message bdi {
	color: #332a2c !important;
}

.ht-free-shipping-indicator__track {
	overflow: hidden;
	height: 7px;
	border-radius: 999px;
	background: #eadfe1;
}

.ht-free-shipping-indicator__progress {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--ht-core-accent);
	transition: width 280ms ease;
}

.ht-free-shipping-indicator.is-qualified {
	border-color: #cfe1d7;
	background: #f5faf7;
}

.ht-free-shipping-indicator.is-qualified .ht-free-shipping-indicator__message {
	color: var(--ht-core-success) !important;
}

.ht-free-shipping-indicator.is-qualified.ht-free-shipping-indicator .ht-free-shipping-indicator__message .woocommerce-Price-amount,
.ht-free-shipping-indicator.is-qualified.ht-free-shipping-indicator .ht-free-shipping-indicator__message .woocommerce-Price-currencySymbol,
.ht-free-shipping-indicator.is-qualified.ht-free-shipping-indicator .ht-free-shipping-indicator__message bdi {
	color: var(--ht-core-success) !important;
}

.ht-free-shipping-indicator.is-qualified .ht-free-shipping-indicator__progress {
	background: var(--ht-core-success);
}

.widget_shopping_cart .ht-free-shipping-indicator {
	margin: 0.75rem 0;
	padding: 0.75rem;
}

@media (max-width: 640px) {
	.ht-looks__grid, .ht-looks__grid--4, .ht-looks__grid--2, .ht-look-detail, .ht-testimonials { grid-template-columns: 1fr; }
	.ht-looks { margin: 2.5rem auto; }
	.ht-look-detail { padding: 0 18px; }
	.ht-sale-pricing,
	.ht-variable-price-summary {
		gap: 0.4rem;
	}

	.ht-sale-saving {
		font-size: 0.74rem;
	}
}

/* Visitor-friendly sitemap. */
.ht-sitemap {
	--ht-map-ink: #2f2225;
	--ht-map-accent: #7d3547;
	--ht-map-blush: #f8f1f0;
	--ht-map-border: #eadcde;
	max-width: 1380px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 88px) 24px;
}

.ht-sitemap__hero {
	max-width: 820px;
	margin-bottom: clamp(34px, 5vw, 64px);
}

.ht-sitemap__eyebrow,
.ht-sitemap__help span {
	display: block;
	margin-bottom: 10px;
	color: var(--ht-map-accent);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ht-sitemap__hero h1 {
	margin: 0 0 18px;
	color: var(--ht-map-ink);
	font-size: clamp(46px, 7vw, 92px);
	line-height: .98;
}

.ht-sitemap__hero p {
	max-width: 680px;
	margin: 0;
	color: #59484c;
	font-size: clamp(18px, 2vw, 23px);
	line-height: 1.55;
}

.ht-sitemap__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.ht-sitemap__section {
	position: relative;
	padding: clamp(26px, 4vw, 44px);
	border: 1px solid var(--ht-map-border);
	border-radius: 28px;
	background: #fff;
}

.ht-sitemap__section--3 {
	grid-column: 1 / -1;
}

.ht-sitemap__section--3 > ul > li > .ht-sitemap__nested {
	columns: 2;
	column-gap: 42px;
}

.ht-sitemap__section--3 > ul > li > .ht-sitemap__nested > li {
	break-inside: avoid;
}

.ht-sitemap__number {
	display: block;
	margin-bottom: 18px;
	color: #c58c98;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .15em;
}

.ht-sitemap__section h2 {
	margin: 0 0 22px;
	color: var(--ht-map-ink);
	font-size: clamp(26px, 3vw, 38px);
}

.ht-sitemap__section ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ht-sitemap__section > ul > li {
	border-top: 1px solid var(--ht-map-border);
}

.ht-sitemap__section a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 13px 2px;
	color: var(--ht-map-accent) !important;
	font-weight: 650;
	text-decoration: none !important;
}

.ht-sitemap__section a:hover span:first-child,
.ht-sitemap__section a:focus-visible span:first-child {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ht-sitemap__section a span:last-child {
	transition: transform .2s ease;
}

.ht-sitemap__section a:hover span:last-child {
	transform: translateX(4px);
}

.ht-sitemap__nested {
	margin: -4px 0 9px 14px !important;
	padding-left: 16px !important;
	border-left: 2px solid var(--ht-map-border);
}

.ht-sitemap__nested a {
	padding: 8px 2px;
	font-size: .92em;
	font-weight: 500;
}

.ht-sitemap__help {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	margin-top: 24px;
	padding: clamp(28px, 4vw, 48px);
	border-radius: 28px;
	background: var(--ht-map-accent);
	color: #fff;
}

.ht-sitemap__help span { color: #e8bbc4; }
.ht-sitemap__help h2 { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 40px); }
.ht-sitemap__help a { padding: 13px 22px; border-radius: 999px; background: #fff; color: var(--ht-map-ink) !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; }

@media (max-width: 760px) {
	.ht-sitemap { padding-right: 18px; padding-left: 18px; }
	.ht-sitemap__grid { grid-template-columns: 1fr; }
	.ht-sitemap__section { border-radius: 20px; }
	.ht-sitemap__section--3 { grid-column: auto; }
	.ht-sitemap__section--3 > ul > li > .ht-sitemap__nested { columns: 1; }
	.ht-sitemap__help { align-items: flex-start; flex-direction: column; border-radius: 20px; }
}

/* Deliberately selected accessories on single-product pages. */
.single-product .ht-accessory-preview {
	margin: 18px 0 4px;
	padding: 16px;
	border: 1px solid #eadadd;
	border-radius: 16px 7px 16px 7px;
	background: #fbf7f5;
}

.single-product .ht-accessory-preview__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.single-product .ht-accessory-preview__head strong {
	color: #38282b;
	font-size: 16px;
}

.single-product .ht-accessory-preview__head span {
	color: #7d3648;
	font-size: 13px;
	font-weight: 650;
}

.single-product .ht-accessory-preview__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
	gap: 10px;
	padding: 1px;
}

.single-product .ht-accessory-preview__item {
	display: grid;
	grid-template-rows: 64px auto;
	gap: 7px;
	min-width: 0;
	color: #38282b !important;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.25;
	text-decoration: none !important;
}

.single-product .ht-accessory-preview__image {
	display: block;
	overflow: hidden;
	border: 1px solid #eadadd;
	border-radius: 10px 4px 10px 4px;
	background: #fff;
}

.single-product .ht-accessory-preview__image img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: contain;
}

.single-product .ht-accessory-preview__item:hover,
.single-product .ht-accessory-preview__item:focus-visible {
	color: #7d3648 !important;
}

.single-product .ht-accessory-preview + .ht-accessory-preview {
	margin-top: 10px;
}

.single-product .ht-accessory-compatibility {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
}

.single-product .ht-accessory-compatibility__item {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 7px;
	border: 1px solid #eadadd;
	border-radius: 12px 5px 12px 5px;
	background: #fff;
	color: #38282b !important;
	text-decoration: none !important;
	transition: border-color .2s ease, transform .2s ease;
}

.single-product .ht-accessory-compatibility__image {
	display: block;
	flex: 0 0 58px;
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: 8px 3px 8px 3px;
	background: #fbf7f5;
}

.single-product .ht-accessory-compatibility__image img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.single-product .ht-accessory-compatibility__copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.single-product .ht-accessory-compatibility__copy strong {
	font-size: 13px;
	line-height: 1.25;
}

.single-product .ht-accessory-compatibility__copy small {
	color: #7d3648;
	font-size: 11px;
	font-weight: 650;
}

.single-product .ht-accessory-compatibility__item:hover,
.single-product .ht-accessory-compatibility__item:focus-visible {
	border-color: #c68d9a;
	transform: translateY(-1px);
}

@media (max-width: 760px) {
	.single-product .ht-accessory-preview {
		margin-top: 14px;
		padding: 14px;
	}

	.single-product .ht-accessory-preview__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-product .ht-accessory-compatibility {
		grid-template-columns: 1fr;
	}

}

/* Compact, visitor-facing index of every published WooCommerce product. */
.ht-product-directory {
	--ht-index-ink: #2f2225;
	--ht-index-accent: #7d3547;
	--ht-index-muted: #6c5b5f;
	--ht-index-blush: #faf5f3;
	--ht-index-border: #eadcde;
	max-width: 1480px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 88px) 24px;
}

.ht-product-directory__hero {
	max-width: 920px;
	margin-bottom: clamp(30px, 5vw, 58px);
}

.ht-product-directory__eyebrow,
.ht-product-directory__section-head > div > span {
	display: block;
	margin-bottom: 9px;
	color: var(--ht-index-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.ht-product-directory__hero h1 {
	margin: 0 0 18px;
	color: var(--ht-index-ink);
	font-size: clamp(46px, 7vw, 88px);
	line-height: .98;
}

.ht-product-directory__hero > p {
	max-width: 760px;
	margin: 0;
	color: var(--ht-index-muted);
	font-size: clamp(17px, 2vw, 22px);
	line-height: 1.55;
}

.ht-product-directory__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 22px;
	color: var(--ht-index-muted);
	font-weight: 650;
}

.ht-product-directory__meta a,
.ht-product-directory__category-link {
	color: var(--ht-index-accent) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

.ht-product-directory__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: clamp(38px, 6vw, 72px);
}

.ht-product-directory__nav a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 14px;
	border: 1px solid var(--ht-index-border);
	border-radius: 999px;
	background: #fff;
	color: var(--ht-index-accent) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.ht-product-directory__nav a:hover,
.ht-product-directory__nav a:focus-visible {
	border-color: #c98e98;
	background: var(--ht-index-blush);
}

.ht-product-directory__nav span {
	min-width: 25px;
	padding: 2px 6px;
	border-radius: 999px;
	background: #f1e3e5;
	font-size: 11px;
	text-align: center;
}

.ht-product-directory__section {
	scroll-margin-top: 130px;
	margin-bottom: clamp(54px, 8vw, 94px);
}

.ht-product-directory__section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--ht-index-border);
}

.ht-product-directory__section-head h2 {
	margin: 0;
	color: var(--ht-index-ink);
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.05;
}

.ht-product-directory__section-head p {
	max-width: 760px;
	margin: 11px 0 0;
	color: var(--ht-index-muted);
}

.ht-product-directory__category-link {
	flex: 0 0 auto;
	margin-bottom: 3px;
}

.ht-product-directory__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
}

.ht-product-index-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--ht-index-border);
	border-radius: 18px 42px 18px 18px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(61, 41, 45, .06);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ht-product-index-card:hover,
.ht-product-index-card:focus-within {
	transform: translateY(-3px);
	border-color: #d6b4bb;
	box-shadow: 0 16px 34px rgba(61, 41, 45, .11);
}

.ht-product-index-card > a {
	display: flex;
	height: 100%;
	flex-direction: column;
	color: inherit !important;
	text-decoration: none !important;
}

.ht-product-index-card__image {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: #fbf8f7;
}

.ht-product-index-card__image img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: contain;
	transition: transform .25s ease;
}

.ht-product-index-card:hover .ht-product-index-card__image img {
	transform: scale(1.025);
}

.ht-product-index-card__stock {
	position: absolute;
	right: 9px;
	bottom: 9px;
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(61, 41, 45, .88);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.ht-product-index-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: 15px 16px 17px;
}

.ht-product-index-card__body strong {
	color: var(--ht-index-ink);
	font-size: 15px;
	line-height: 1.35;
}

.ht-product-index-card__price {
	margin-top: auto;
	color: var(--ht-index-accent);
	font-size: 14px;
	font-weight: 700;
}

.ht-product-index-card__price del {
	color: #8b7c80;
	font-weight: 500;
}

.ht-product-index-card.is-out-of-stock {
	opacity: .78;
}

@media (max-width: 1180px) {
	.ht-product-directory__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.ht-product-directory__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.ht-product-directory { padding-right: 16px; padding-left: 16px; }
	.ht-product-directory__section-head { align-items: flex-start; flex-direction: column; gap: 12px; }
	.ht-product-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
	.ht-product-index-card { border-radius: 14px 30px 14px 14px; }
	.ht-product-index-card__body { padding: 12px; }
	.ht-product-index-card__body strong { font-size: 14px; }
}

/* Hairtastic Core 1.4.8: consistent guide imagery and contact form card. */
.page-id-2593 .fusion-imageframe {
	border-radius: 30px 12px 30px 12px;
}

.page-id-2721 .nf-form-cont {
	max-width: 900px;
	margin: clamp(42px, 7vw, 82px) auto;
	padding: clamp(24px, 4vw, 48px);
	border: 1px solid #eadadd;
	border-radius: 30px 12px 30px 12px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(66, 39, 44, .08);
}

.page-id-2721 .nf-form-title h3 {
	margin-top: 0;
	color: #2d2022;
	font-size: clamp(28px, 4vw, 40px);
}

.page-id-2721 .nf-field-container {
	margin-bottom: 20px;
}

.page-id-2721 .nf-field-label label {
	color: #2d2022;
	font-weight: 650;
}

.page-id-2721 .nf-field-element input:not([type="button"]):not([type="submit"]),
.page-id-2721 .nf-field-element textarea,
.page-id-2721 .nf-field-element select {
	min-height: 52px;
	border: 1px solid #dcc8cd !important;
	border-radius: 10px !important;
	background: #fffafa !important;
	color: #2d2022 !important;
}

.page-id-2721 .nf-field-element textarea {
	min-height: 150px;
}

.page-id-2721 .nf-field-element input[type="button"],
.page-id-2721 .nf-field-element input[type="submit"] {
	padding: 15px 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #7d3648 !important;
	color: #fff !important;
	font-weight: 700 !important;
}

.page-id-2721 .nf-field-element input[type="button"]:hover,
.page-id-2721 .nf-field-element input[type="submit"]:hover,
.page-id-2721 .nf-field-element input[type="button"]:focus-visible,
.page-id-2721 .nf-field-element input[type="submit"]:focus-visible {
	background: #5f2736 !important;
}

.page-id-2721 .nf-error-msg,
.page-id-2721 .ninja-forms-req-symbol {
	color: #9a324c !important;
}

@media (max-width: 760px) {
	.page-id-2721 .nf-form-cont {
		margin: 32px 16px 48px;
		padding: 24px 18px;
		border-radius: 22px 10px 22px 10px;
	}
}

/* Keep the primary navigation focused and readable on larger screens. */
@media (min-width: 1025px) {
	#menu-hairtastic-main-menu > .menu-item:not(.fusion-menu-cart) > .awb-menu__main-a {
		font-size: 16px !important;
	}
}

/* Hairtastic & Friends salon imagery. */
.home .htv3-salon-image {
	background-image: url("https://test.hairtastic.se/wp-content/uploads/2026/09/codex-clipboard-2cb8f35c-34f4-4b2d-b10b-f7d804c66e3d.jpg") !important;
	background-position: center center !important;
	background-size: cover !important;
}

.ht-salon-gallery {
	display: grid;
	align-items: start;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.ht-salon-gallery__item {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 30px 12px 30px 12px;
	background: #e9e2df;
}

.ht-salon-gallery__item--main {
	aspect-ratio: 1206 / 1591;
}

.ht-salon-gallery__item--detail {
	aspect-ratio: 1206 / 1738;
	margin-top: 54px;
	margin-bottom: 54px;
	border-radius: 12px 30px 12px 30px;
}

.ht-salon-gallery img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

@media (max-width: 760px) {
	.ht-salon-gallery {
		grid-template-columns: 1fr;
	}

	.ht-salon-gallery__item--detail {
		margin: 0;
	}

}

/* Editorial image treatment for the method guide. */
.page-id-2593 .fusion-imageframe {
	display: block;
	overflow: hidden;
}

.page-id-2593 .fusion-imageframe img {
	display: block;
	width: 100%;
	border-radius: inherit;
}

.page-id-2593 .imageframe-2 {
	border-radius: 32px 12px 32px 12px;
}

.page-id-2593 .htg1-result-image {
	border-radius: 30px 12px 0 0;
}

.page-id-2593 .htg1-detail-image {
	border-radius: 0 0 12px 30px;
}

/* Contact page form card. */
.ht-contact-form-section {
	--ht-contact-ink: #2d2022;
	--ht-contact-accent: #7d3648;
	--ht-contact-border: #eadadd;
}

.ht-contact-form-card {
	padding: clamp(24px, 4vw, 48px) !important;
	border: 1px solid var(--ht-contact-border);
	border-radius: 30px 12px 30px 12px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(66, 39, 44, 0.08);
}

.ht-contact-form-card .nf-form-title {
	display: none;
}

.ht-contact-form-card .nf-field-container {
	margin-bottom: 20px;
}

.ht-contact-form-card .nf-field-label label {
	color: var(--ht-contact-ink);
	font-weight: 650;
}

.ht-contact-form-card .nf-field-element input:not([type="button"]):not([type="submit"]),
.ht-contact-form-card .nf-field-element textarea,
.ht-contact-form-card .nf-field-element select {
	min-height: 52px;
	border: 1px solid #dcc8cd !important;
	border-radius: 10px !important;
	background: #fffafa !important;
	color: var(--ht-contact-ink) !important;
}

.ht-contact-form-card .nf-field-element textarea {
	min-height: 150px;
}

.ht-contact-form-card .nf-field-element input[type="button"],
.ht-contact-form-card .nf-field-element input[type="submit"] {
	padding: 15px 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ht-contact-accent) !important;
	color: #fff !important;
	font-weight: 700 !important;
	cursor: pointer;
}

.ht-contact-form-card .nf-field-element input[type="button"]:hover,
.ht-contact-form-card .nf-field-element input[type="submit"]:hover,
.ht-contact-form-card .nf-field-element input[type="button"]:focus-visible,
.ht-contact-form-card .nf-field-element input[type="submit"]:focus-visible {
	background: #5f2736 !important;
}

.ht-contact-form-card .nf-error-msg,
.ht-contact-form-card .ninja-forms-req-symbol {
	color: #9a324c !important;
}

@media (max-width: 760px) {
	.ht-contact-form-card {
		padding: 24px 18px !important;
		border-radius: 22px 10px 22px 10px;
	}
}

/* Curated footer navigation with sufficient contrast on every breakpoint. */
#menu-modern-shop-footer-menu {
	display: grid !important;
	position: static !important;
	left: auto !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px 24px;
	width: 100% !important;
}

#menu-modern-shop-footer-menu .ht-footer-nav__item {
	margin: 0 !important;
	padding: 0 !important;
}

#menu-modern-shop-footer-menu .ht-footer-nav__link,
#menu-modern-shop-footer-menu .ht-footer-nav__link:visited {
	display: inline-flex !important;
	padding: 6px 0 !important;
	background: transparent !important;
	color: #f2e6e3 !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
}

#menu-modern-shop-footer-menu .ht-footer-nav__link:hover,
#menu-modern-shop-footer-menu .ht-footer-nav__link:focus-visible {
	color: #d9a0ad !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

@media (max-width: 760px) {
	.htv3-footer-menu .awb-menu {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}

	#menu-modern-shop-footer-menu {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 2px;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		background: transparent !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	#menu-modern-shop-footer-menu .ht-footer-nav__item,
	#menu-modern-shop-footer-menu .ht-footer-nav__link {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
	}
}
