/* ==========================================================================
   Husn Posh – brand layer on top of WoodMart
   ========================================================================== */

:root {
	--hp-gold: #a9803a;
	--hp-gold-soft: #d6b77a;
	--hp-maroon: #8e2f25;
	--hp-ink: #231815;
	--hp-cream: #fbf7f0;
	--hp-sand: #f3eadc;
	--hp-line: #e8dccb;
	--hp-muted: #7a6a5f;
	--hp-serif: var(--wd-title-font, "Cormorant Garamond"), "Times New Roman", serif;
	--hp-ease: cubic-bezier(.22, .61, .36, 1);
}

/* ---- Shared atoms -------------------------------------------------------- */

.hp-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--hp-gold);
}

.hp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 34px;
	border: 1px solid var(--hp-ink);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color .35s var(--hp-ease), color .35s var(--hp-ease), border-color .35s var(--hp-ease);
}

.hp-btn--solid {
	background: var(--hp-ink);
	color: #fff;
}

.hp-btn--solid:hover {
	background: var(--hp-maroon);
	border-color: var(--hp-maroon);
	color: #fff;
}

.hp-btn--line {
	background: transparent;
	color: var(--hp-ink);
}

.hp-btn--line:hover {
	background: var(--hp-ink);
	color: #fff;
}

.hp-link {
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-ink);
	text-decoration: none;
	transition: color .3s, letter-spacing .3s var(--hp-ease);
}

.hp-link:hover {
	color: var(--hp-gold);
	letter-spacing: .26em;
}

.hp-ornament {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--hp-gold);
}

.hp-ornament i {
	display: block;
	width: 56px;
	height: 1px;
	background: currentColor;
	opacity: .55;
}

/* Full-bleed helper for Elementor containers */
.hp-bleed {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.husnposh .wd-page-wrapper,
.husnposh .website-wrapper {
	overflow-x: clip;
}

/* ---- Hero slider --------------------------------------------------------- */

.hp-hero {
	--hp-hero-h: min(78vh, 760px);
	position: relative;
	height: var(--hp-hero-h);
	min-height: 440px;
	overflow: hidden;
	background: var(--hp-sand);
}

.hp-hero__track,
.hp-hero__slide,
.hp-hero__media {
	position: absolute;
	inset: 0;
}

.hp-hero__slide {
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.1s var(--hp-ease), visibility 0s 1.1s;
}

.hp-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity 1.1s var(--hp-ease), visibility 0s;
	z-index: 1;
}

.hp-hero__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transform: scale(1.06);
	transition: transform 8s linear;
}

.hp-hero__slide.is-active .hp-hero__media img {
	transform: scale(1);
}

.hp-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	height: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 56px;
}

.hp-hero__slide--center .hp-hero__inner {
	justify-content: center;
	text-align: center;
}

.hp-hero__slide--right .hp-hero__inner {
	justify-content: flex-end;
}

.hp-hero__content {
	max-width: 520px;
}

.hp-hero__content > * {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .9s var(--hp-ease), transform .9s var(--hp-ease);
}

.hp-hero__slide.is-active .hp-hero__content > * {
	opacity: 1;
	transform: none;
}

.hp-hero__slide.is-active .hp-hero__content > :nth-child(1) { transition-delay: .25s; }
.hp-hero__slide.is-active .hp-hero__content > :nth-child(2) { transition-delay: .4s; }
.hp-hero__slide.is-active .hp-hero__content > :nth-child(3) { transition-delay: .55s; }
.hp-hero__slide.is-active .hp-hero__content > :nth-child(4) { transition-delay: .7s; }

.hp-hero__title {
	margin: 18px 0 18px;
	font-family: var(--hp-serif);
	font-size: clamp(40px, 5.4vw, 78px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -.01em;
	color: var(--hp-ink);
}

.hp-hero__text {
	margin: 0 0 32px;
	font-size: 16px;
	line-height: 1.7;
	color: #5b4c43;
}

.hp-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.hp-hero__slide--center .hp-hero__actions {
	justify-content: center;
}

.hp-hero__slide--light .hp-hero__title,
.hp-hero__slide--light .hp-hero__text {
	color: #fff;
}

.hp-hero__slide--light .hp-eyebrow {
	color: var(--hp-gold-soft);
}

.hp-hero__slide--light .hp-btn--solid {
	background: #fff;
	border-color: #fff;
	color: var(--hp-ink);
}

.hp-hero__slide--light .hp-btn--solid:hover {
	background: var(--hp-gold);
	border-color: var(--hp-gold);
	color: #fff;
}

.hp-hero__slide--light .hp-btn--line {
	border-color: rgba(255, 255, 255, .7);
	color: #fff;
}

.hp-hero__slide--light .hp-btn--line:hover {
	background: #fff;
	color: var(--hp-ink);
}

.hp-hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	min-height: 0;
	border: 1px solid rgba(35, 24, 21, .25);
	border-radius: 50%;
	background: rgba(255, 255, 255, .55);
	color: var(--hp-ink);
	box-shadow: none;
	cursor: pointer;
	opacity: 0;
	transform: translateY(-50%);
	transition: opacity .3s, background-color .3s, color .3s;
	backdrop-filter: blur(4px);
}

.hp-hero:hover .hp-hero__arrow,
.hp-hero__arrow:focus-visible {
	opacity: 1;
}

.hp-hero__arrow:hover {
	background: var(--hp-ink);
	color: #fff;
}

.hp-hero__arrow--prev {
	left: 22px;
}

.hp-hero__arrow--prev svg {
	transform: rotate(180deg);
}

.hp-hero__arrow--next {
	right: 22px;
}

.hp-hero__arrow svg {
	width: 18px;
	height: 18px;
}

.hp-hero__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 26px;
	z-index: 3;
	display: flex;
	justify-content: center;
	gap: 10px;
}

.hp-hero__dots button {
	width: 44px;
	height: 20px;
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	cursor: pointer;
}

.hp-hero__dots span {
	position: relative;
	display: block;
	height: 2px;
	background: rgba(35, 24, 21, .22);
	overflow: hidden;
}

.hp-hero__dots span::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--hp-ink);
	transform: scaleX(0);
	transform-origin: left;
}

.hp-hero__dots .is-active span::after {
	transform: scaleX(1);
	transition: transform var(--hp-interval, 6000ms) linear;
}

/* Soft scrim behind the copy so headlines stay readable over photography. */
@media (min-width: 768px) {
	.hp-hero__media::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgba(251, 247, 240, .92) 0%, rgba(251, 247, 240, .62) 32%, rgba(251, 247, 240, 0) 58%);
	}

	.hp-hero__slide--right .hp-hero__media::after {
		background: linear-gradient(270deg, rgba(251, 247, 240, .96) 0%, rgba(251, 247, 240, .86) 38%, rgba(251, 247, 240, 0) 66%);
	}

	.hp-hero__slide--center .hp-hero__media::after {
		background: rgba(251, 247, 240, .5);
	}

	.hp-hero__slide--light .hp-hero__media::after {
		background: linear-gradient(90deg, rgba(24, 14, 11, .82) 0%, rgba(24, 14, 11, .5) 34%, rgba(24, 14, 11, 0) 62%);
	}

	.hp-hero__slide--light.hp-hero__slide--right .hp-hero__media::after {
		background: linear-gradient(270deg, rgba(24, 14, 11, .82) 0%, rgba(24, 14, 11, .5) 34%, rgba(24, 14, 11, 0) 62%);
	}

	.hp-hero__slide--light.hp-hero__slide--center .hp-hero__media::after {
		background: rgba(24, 14, 11, .45);
	}
}

/* ---- Section heading ----------------------------------------------------- */

.hp-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}

.hp-heading--left {
	align-items: flex-start;
	text-align: left;
}

.hp-heading__title {
	margin: 0;
	font-family: var(--hp-serif);
	font-size: clamp(30px, 3.4vw, 46px);
	font-weight: 500;
	line-height: 1.1;
	color: var(--hp-ink);
}

.hp-heading__text {
	max-width: 560px;
	margin: 4px 0 0;
	font-size: 15px;
	line-height: 1.75;
	color: var(--hp-muted);
}

.hp-heading .hp-link {
	margin-top: 8px;
}

.hp-heading--light .hp-heading__title,
.hp-heading--light .hp-link {
	color: #fff;
}

.hp-heading--light .hp-heading__text {
	color: rgba(255, 255, 255, .72);
}

.hp-heading--light .hp-eyebrow,
.hp-heading--light .hp-ornament {
	color: var(--hp-gold-soft);
}

/* ---- Service promises ---------------------------------------------------- */

.hp-features {
	display: grid;
	grid-template-columns: repeat(var(--hp-cols, 4), 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

.hp-feature {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 0;
	padding: 6px 20px;
	border-left: 1px solid var(--hp-line);
}

.hp-feature:first-child {
	border-left: 0;
}

.hp-feature .hp-icon {
	flex: none;
	width: 32px;
	height: 32px;
	color: var(--hp-gold);
}

.hp-feature__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--hp-muted);
}

.hp-feature__body strong {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hp-ink);
}

/* ---- Collection tiles ---------------------------------------------------- */

.hp-tiles {
	display: grid;
	grid-template-columns: repeat(var(--hp-cols, 4), minmax(0, 1fr));
	gap: 26px;
}

.hp-tile {
	position: relative;
	display: block;
	color: var(--hp-ink);
	text-decoration: none;
}

.hp-tile__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--hp-sand);
}

.hp-tile__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transition: transform 1.2s var(--hp-ease);
}

.hp-tile:hover .hp-tile__media img {
	transform: scale(1.06);
}

.hp-tile__caption {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.hp-tile__title {
	font-family: var(--hp-serif);
	font-size: 23px;
	font-weight: 500;
	line-height: 1.2;
}

.hp-tile__subtitle {
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-muted);
}

/* Arch */
.hp-tiles--arch .hp-tile__media {
	border-radius: 999px 999px 0 0;
}

.hp-tiles--arch .hp-tile__media::after {
	content: "";
	position: absolute;
	inset: 9px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: inherit;
	pointer-events: none;
	transition: inset .5s var(--hp-ease);
}

.hp-tiles--arch .hp-tile:hover .hp-tile__media::after {
	inset: 14px;
}

.hp-tiles--arch .hp-tile__caption {
	align-items: center;
	padding-top: 18px;
	text-align: center;
}

.hp-tiles--arch .hp-tile:hover .hp-tile__title {
	color: var(--hp-gold);
}

/* Overlay */
.hp-tiles--overlay .hp-tile__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(35, 24, 21, 0) 45%, rgba(35, 24, 21, .62) 100%);
}

.hp-tiles--overlay .hp-tile__caption {
	position: absolute;
	left: 26px;
	right: 26px;
	bottom: 24px;
	color: #fff;
}

.hp-tiles--overlay .hp-tile__title {
	font-size: 28px;
}

.hp-tiles--overlay .hp-tile__subtitle {
	color: rgba(255, 255, 255, .82);
}

/* Square */
.hp-tiles--square {
	gap: 10px;
}

.hp-tiles--square .hp-tile__media {
	aspect-ratio: 1;
}

.hp-tiles--square .hp-tile__caption {
	position: absolute;
	inset: 0;
	align-items: center;
	justify-content: center;
	background: rgba(35, 24, 21, .5);
	color: #fff;
	opacity: 0;
	transition: opacity .4s;
}

.hp-tiles--square .hp-tile:hover .hp-tile__caption {
	opacity: 1;
}

.hp-tiles--square .hp-tile__title {
	font-size: 18px;
}

.hp-tiles--square .hp-tile__subtitle {
	color: rgba(255, 255, 255, .8);
}

/* ---- Editorial ----------------------------------------------------------- */

.hp-editorial {
	--hp-editorial-h: 620px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: var(--hp-editorial-h);
	background: var(--hp-sand);
	color: var(--hp-ink);
}

.hp-editorial__media {
	position: relative;
	min-height: 320px;
	overflow: hidden;
}

.hp-editorial__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transition: transform 1.6s var(--hp-ease);
}

.hp-editorial:hover .hp-editorial__media img {
	transform: scale(1.04);
}

.hp-editorial--image-right .hp-editorial__media {
	order: 2;
}

.hp-editorial__panel {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 72px 8%;
}

.hp-editorial__content {
	max-width: 460px;
}

.hp-editorial__title {
	margin: 16px 0 18px;
	font-family: var(--hp-serif);
	font-size: clamp(32px, 3.6vw, 52px);
	font-weight: 500;
	line-height: 1.08;
	color: inherit;
}

.hp-editorial__text {
	margin: 0 0 30px;
	font-size: 15px;
	line-height: 1.8;
	color: var(--hp-muted);
}

.hp-editorial--ink,
.hp-editorial--maroon {
	color: #fff;
}

.hp-editorial--ink {
	background: var(--hp-ink);
}

.hp-editorial--maroon {
	background: var(--hp-maroon);
}

.hp-editorial--ink .hp-editorial__text,
.hp-editorial--maroon .hp-editorial__text {
	color: rgba(255, 255, 255, .74);
}

.hp-editorial--ink .hp-eyebrow,
.hp-editorial--maroon .hp-eyebrow {
	color: var(--hp-gold-soft);
}

.hp-editorial--ink .hp-btn--line,
.hp-editorial--maroon .hp-btn--line,
.hp-editorial--overlay .hp-btn--line {
	border-color: rgba(255, 255, 255, .7);
	color: #fff;
}

.hp-editorial--ink .hp-btn--line:hover,
.hp-editorial--maroon .hp-btn--line:hover,
.hp-editorial--overlay .hp-btn--line:hover {
	background: #fff;
	border-color: #fff;
	color: var(--hp-ink);
}

/* Overlay layout */
.hp-editorial--overlay {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: var(--hp-editorial-h);
	color: #fff;
	background: var(--hp-ink);
}

.hp-editorial--overlay .hp-editorial__media {
	position: absolute;
	inset: 0;
}

.hp-editorial--overlay .hp-editorial__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(35, 24, 21, .05) 35%, rgba(35, 24, 21, .7) 100%);
}

.hp-editorial--overlay .hp-editorial__panel {
	position: relative;
	justify-content: flex-start;
	width: 100%;
	padding: 44px;
}

.hp-editorial--overlay .hp-editorial__title {
	font-size: clamp(28px, 2.8vw, 40px);
	margin: 12px 0 14px;
}

.hp-editorial--overlay .hp-editorial__text {
	margin-bottom: 22px;
	color: rgba(255, 255, 255, .82);
}

.hp-editorial--overlay .hp-eyebrow {
	color: var(--hp-gold-soft);
}

/* ---- Newsletter ---------------------------------------------------------- */

.hp-newsletter {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

.hp-newsletter__title {
	margin: 0;
	font-family: var(--hp-serif);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 500;
	line-height: 1.12;
	color: var(--hp-ink);
}

.hp-newsletter__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
	color: var(--hp-muted);
}

.hp-newsletter__form {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 520px;
	margin: 14px 0 0;
}

.hp-newsletter__form input[type="email"] {
	flex: 1 1 200px;
	min-width: 0;
	height: 50px;
	padding: 0 4px;
	border: 0;
	border-bottom: 1px solid var(--hp-ink);
	border-radius: 0;
	background: transparent;
	font-size: 15px;
	color: var(--hp-ink);
	box-shadow: none;
}

.hp-newsletter__form input[type="email"]:focus {
	border-bottom-color: var(--hp-gold);
}

.hp-newsletter__form button {
	flex: none;
	height: 50px;
	min-height: 0;
	padding: 0 6px 0 22px;
	border: 0;
	border-bottom: 1px solid var(--hp-ink);
	border-radius: 0;
	background: transparent;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--hp-ink);
	box-shadow: none;
	cursor: pointer;
	transition: color .3s;
}

.hp-newsletter__form button:hover {
	background: transparent;
	color: var(--hp-gold);
	box-shadow: none;
}

.hp-newsletter__message {
	flex: 0 0 100%;
	min-height: 20px;
	margin: 10px 0 0;
	font-size: 13px;
	text-align: left;
}

.hp-newsletter__form.is-success .hp-newsletter__message {
	color: #3d7a4a;
}

.hp-newsletter__form.is-error .hp-newsletter__message {
	color: #b23b2e;
}

.hp-newsletter--compact {
	align-items: stretch;
	max-width: none;
	margin: 0;
	text-align: left;
}

.hp-newsletter--compact .hp-newsletter__form {
	margin-top: 0;
}

.hp-newsletter--light .hp-newsletter__title,
.hp-newsletter--light .hp-newsletter__form input[type="email"],
.hp-newsletter--light .hp-newsletter__form button {
	color: #fff;
}

.hp-newsletter--light .hp-newsletter__text {
	color: rgba(255, 255, 255, .72);
}

.hp-newsletter--light .hp-eyebrow {
	color: var(--hp-gold-soft);
}

.hp-newsletter--light .hp-newsletter__form input[type="email"],
.hp-newsletter--light .hp-newsletter__form button {
	border-bottom-color: rgba(255, 255, 255, .5);
}

.hp-newsletter--light .hp-newsletter__form input[type="email"]::placeholder {
	color: rgba(255, 255, 255, .55);
}

.hp-newsletter--light .hp-newsletter__form button:hover {
	color: var(--hp-gold-soft);
}

.hp-newsletter--light .hp-newsletter__form.is-success .hp-newsletter__message {
	color: #b9e0c1;
}

.hp-newsletter--light .hp-newsletter__form.is-error .hp-newsletter__message {
	color: #f3b3aa;
}

/* ---- Announcement bar (header top row) ----------------------------------- */

.hp-announce {
	position: relative;
	height: 20px;
	min-width: 560px;
	overflow: hidden;
	text-align: center;
}

.hp-announce span {
	position: absolute;
	inset: 0;
	font-size: 11.5px;
	letter-spacing: .2em;
	line-height: 20px;
	text-transform: uppercase;
	white-space: nowrap;
	color: #f6ead6;
	opacity: 0;
	transform: translateY(100%);
	transition: opacity .6s var(--hp-ease), transform .6s var(--hp-ease);
}

.hp-announce span.is-active {
	opacity: 1;
	transform: none;
}

.hp-topbar-links {
	font-size: 11.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
}

.hp-topbar-links a {
	color: #e9dcc6;
	text-decoration: none;
	transition: color .25s;
}

.hp-topbar-links a:hover {
	color: var(--hp-gold-soft);
}

.hp-topbar-links a + a {
	margin-left: 22px;
}

/* ---- Elementor layout inside WoodMart ----------------------------------- */

/* Pages on the "Elementor Full Width" template run edge to edge; boxed
   containers keep WoodMart's content width. */
.elementor-template-full-width .wd-content-layout {
	max-width: none;
	padding: 0;
}

.husnposh .e-con {
	--container-max-width: var(--wd-container-w, 1222px);
}

.hp-promises {
	border-bottom: 1px solid var(--hp-line);
}

/* ---- Header -------------------------------------------------------------- */

.whb-header-bottom .wd-nav > li > a,
.whb-clone .wd-nav > li > a {
	font-size: 12.5px;
	letter-spacing: .16em;
}

.whb-general-header .wd-tools-element .wd-tools-text,
.whb-general-header .wd-header-search .wd-tools-text {
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
}

/* Compact sticky header: keep the menu on one line. */
.whb-clone .wd-nav {
	flex-wrap: nowrap;
	--nav-gap: 16px;
}

.whb-clone .wd-nav > li > a {
	font-size: 11.5px;
	letter-spacing: .1em;
	white-space: nowrap;
}

.whb-clone .wd-nav .menu-label,
.whb-clone .wd-tools-text {
	display: none;
}

.wd-dropdown-menu.wd-design-full-width {
	border-top: 1px solid var(--hp-line);
	box-shadow: 0 24px 40px -28px rgba(35, 24, 21, .35);
}

.wd-dropdown-menu.wd-design-full-width .wd-sub-menu > li > a {
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--hp-line);
	font-family: var(--hp-serif);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--hp-ink);
}

.wd-dropdown-menu.wd-design-full-width .sub-sub-menu li a {
	padding-block: 6px;
	font-size: 14px;
	color: var(--hp-muted);
	transition: color .25s, padding-left .3s var(--hp-ease);
}

.wd-dropdown-menu.wd-design-full-width .sub-sub-menu li a:hover {
	padding-left: 6px;
	color: var(--hp-gold);
}

.wd-nav .menu-label {
	border-radius: 0;
	font-size: 9px;
	letter-spacing: .08em;
}

.wd-nav .menu-label.menu-label-sale {
	background: var(--hp-maroon);
}

.wd-nav .menu-label.menu-label-new {
	background: var(--hp-gold);
}

/* ---- Products ------------------------------------------------------------ */

.wd-product .wd-entities-title {
	font-size: 14px;
	letter-spacing: .02em;
}

.wd-product .price {
	font-size: 14px;
	font-weight: 500;
	color: var(--hp-ink);
}

.wd-product .price del {
	font-weight: 400;
	color: #a3968c;
}

.wd-product .price ins {
	color: var(--hp-maroon);
	text-decoration: none;
}

.product-labels .product-label {
	padding: 5px 10px;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.wd-product .product-element-top,
.wd-product .wd-product-thumb {
	background: var(--hp-sand);
}

/* Section headings on the product page: Frequently Bought Together, Related Products… */
.single-product .wd-el-title.slider-title {
	text-transform: capitalize;
}

.single-product .product_title {
	font-family: var(--hp-serif);
	font-size: clamp(28px, 2.6vw, 38px);
	font-weight: 600;
	line-height: 1.15;
}

.single-product .summary .price {
	font-size: 20px;
	font-weight: 500;
	color: var(--hp-ink);
}

.woocommerce-product-details__short-description {
	line-height: 1.75;
}

.btn,
.button,
button[type="submit"],
.single_add_to_cart_button,
.checkout-button {
	letter-spacing: .14em;
}

/* ---- Page titles and text pages ------------------------------------------ */

.wd-page-title .title,
.page-title .entry-title {
	font-family: var(--hp-serif);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.hp-text-page > .e-con-inner {
	max-width: 820px;
}

.hp-text-page .hp-heading__title:empty {
	display: none;
}

.hp-text-page .elementor-widget-text-editor h3 {
	margin: 34px 0 10px;
	font-size: 24px;
}

.hp-text-page .elementor-widget-text-editor h3:first-child {
	margin-top: 0;
}

.hp-text-page .elementor-widget-text-editor {
	font-size: 15.5px;
	line-height: 1.8;
}

.hp-text-page .elementor-widget-text-editor a {
	border-bottom: 1px solid var(--hp-gold-soft);
}

.hp-size-table {
	width: 100%;
	margin-bottom: 36px;
	border-collapse: collapse;
	text-align: center;
}

.hp-size-table th {
	font-family: var(--wd-text-font, inherit);
	padding: 14px 10px;
	border-bottom: 1px solid var(--hp-ink);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hp-ink);
	text-align: center;
}

.hp-size-table td {
	padding: 14px 10px;
	border-bottom: 1px solid var(--hp-line);
	text-align: center;
}

.hp-size-table td:first-child {
	font-weight: 500;
	color: var(--hp-ink);
}

/* ---- Footer -------------------------------------------------------------- */

.wd-footer {
	border-top: 1px solid var(--hp-line);
}

.hp-footer {
	font-size: 14.5px;
	line-height: 1.75;
}

.hp-footer p {
	margin-bottom: 0;
}

.hp-footer .elementor-widget-text-editor p + p {
	margin-top: 16px;
}

.hp-footer__title {
	margin: 0 0 18px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-ink);
}

.hp-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hp-footer__links li {
	margin: 0 0 9px;
}

.hp-footer a {
	color: #5e5049;
	text-decoration: none;
	transition: color .25s;
}

.hp-footer a:hover {
	color: var(--hp-gold);
}

.hp-footer__social a,
.hp-footer__legal a {
	margin-right: 18px;
	font-size: 11.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hp-ink);
}

.wd-copyrights,
.copyrights-wrapper {
	font-size: 12.5px;
	letter-spacing: .04em;
}

/* ---- Social icons ------------------------------------------------------- */

.hp-social {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.hp-social .hp-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 0;
	border-radius: 50%;
	color: inherit;
	transition: color .25s, background-color .25s, transform .3s var(--hp-ease);
}

.hp-social .hp-social__link:hover {
	transform: translateY(-2px);
}

.whb-top-bar .hp-social {
	margin-left: -7px;
	color: #e9dcc6;
}

.whb-top-bar .hp-social__link:hover {
	color: var(--hp-gold-soft);
}

.whb-top-bar .hp-social svg {
	width: 15px;
	height: 15px;
}

.hp-footer .hp-footer__social {
	margin-top: 18px;
}

.hp-footer .hp-social {
	gap: 10px;
}

.hp-footer .hp-social .hp-social__link {
	width: 38px;
	height: 38px;
	border: 1px solid #d9cbb5;
	color: var(--hp-ink);
}

.hp-footer .hp-social .hp-social__link:hover {
	border-color: var(--hp-ink);
	background: var(--hp-ink);
	color: #fff;
}

/* ---- WhatsApp ------------------------------------------------------------ */

.hp-wa-float {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 350;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	line-height: 0;
	text-decoration: none;
	box-shadow: 0 10px 26px -8px rgba(18, 140, 70, .65);
	transition: transform .3s var(--hp-ease), box-shadow .3s, background-color .3s;
}

.hp-wa-float svg {
	display: block;
}

.hp-wa-float:hover {
	background: #1fbd5a;
	color: #fff;
	transform: translateY(-3px);
	box-shadow: 0 16px 30px -10px rgba(18, 140, 70, .75);
}

.husnposh .scrollToTop {
	bottom: 94px;
}

.hp-wa-order-wrap {
	margin: 4px 0 22px;
}

.hp-wa-order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 46px;
	padding: 0 26px;
	border: 1px solid #1fa855;
	background: #fff;
	color: #128c4a;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color .3s, color .3s;
}

.hp-wa-order:hover {
	background: #1fa855;
	color: #fff;
}

/* ---- Brands -------------------------------------------------------------- */

.single-product .wd-product-brands a {
	display: block;
	padding: 6px 10px;
	border: 1px solid var(--hp-line);
	background: #fff;
}

.single-product .wd-product-brands img {
	display: block;
	width: 130px;
	max-width: 100%;
	height: auto;
	max-height: none;
}


.hp-brands {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hp-brands li {
	margin: 0;
}

.hp-brands a,
.hp-brands__item {
	display: block;
	padding: 13px 26px;
	border: 1px solid var(--hp-line);
	background: #fff;
	font-family: var(--hp-serif);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--hp-ink);
	text-decoration: none;
	transition: border-color .3s, color .3s, transform .3s var(--hp-ease);
}

.hp-brands a:hover {
	border-color: var(--hp-gold);
	color: var(--hp-gold);
	transform: translateY(-2px);
}

.wd-product .wd-product-brands-links a,
.wd-product .wd-product-brands-links {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hp-gold);
}

.hp-footer .hp-footer__contact {
	margin-top: 14px;
}

.whb-top-bar .hp-topbar-links a + a {
	margin-left: 22px;
}

/* ---- Responsive ---------------------------------------------------------- */

@media (max-width: 1024px) {
	.hp-hero__inner {
		padding: 0 32px;
	}

	.hp-features {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 22px;
	}

	.hp-feature {
		justify-content: flex-start;
	}

	.hp-feature:nth-child(odd) {
		border-left: 0;
	}

	.hp-tiles {
		gap: 18px;
	}

	.hp-editorial__panel {
		padding: 52px 7%;
	}
}

@media (max-width: 1024px) {
	/* Shop categories: an always-visible swipeable row instead of a tap-to-open list. */
	.husnposh .wd-page-title .wd-btn-show-cat {
		display: none !important;
	}

	.husnposh .wd-page-title .wd-nav-product-cat {
		display: flex !important;
		flex-flow: row nowrap;
		justify-content: flex-start;
		gap: 8px;
		margin: 14px -15px 0;
		padding: 0 15px 4px;
		background: none;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.husnposh .wd-page-title .wd-nav-product-cat::-webkit-scrollbar {
		display: none;
	}

	.husnposh .wd-page-title .wd-nav-product-cat > li {
		flex: none;
		width: auto;
		margin: 0;
		border: 0;
	}

	.husnposh .wd-page-title .wd-nav-product-cat > li > a {
		display: block;
		padding: 9px 16px;
		border: 1px solid #dccfbb;
		background: #fff;
		font-size: 11.5px;
		font-weight: 500;
		letter-spacing: .12em;
		line-height: 1.2;
		text-transform: uppercase;
		white-space: nowrap;
		color: var(--hp-ink);
	}

	.husnposh .wd-page-title .wd-nav-product-cat > li.current-cat > a,
	.husnposh .wd-page-title .wd-nav-product-cat > li.wd-active > a {
		border-color: var(--hp-ink);
		background: var(--hp-ink);
		color: #fff;
	}

	.husnposh .wd-page-title .wd-nav-product-cat > li > a::after,
	.husnposh .wd-page-title .wd-nav-product-cat .wd-nav-opener,
	.husnposh .wd-page-title .wd-nav-product-cat ul {
		display: none !important;
	}
}

@media (max-width: 767px) {
	/* On phones the artwork sits above the copy instead of behind it. */
	.hp-hero {
		height: auto;
		min-height: 0;
	}

	.hp-hero__track {
		position: relative;
		display: grid;
	}

	.hp-hero__slide {
		position: relative;
		inset: auto;
		grid-area: 1 / 1;
		display: flex;
		flex-direction: column;
		background: var(--hp-cream);
	}

	.hp-hero__slide--light {
		background: #43140f;
	}

	.hp-hero__media {
		position: relative;
		inset: auto;
		aspect-ratio: 8 / 6.7;
		overflow: hidden;
	}

	.hp-hero__media img {
		object-position: top center;
	}

	.hp-hero__media::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 22%;
		background: linear-gradient(180deg, rgba(251, 247, 240, 0), var(--hp-cream));
	}

	.hp-hero__slide--light .hp-hero__media::after {
		background: linear-gradient(180deg, rgba(67, 20, 15, 0), #43140f);
	}

	.hp-hero__inner,
	.hp-hero__slide--right .hp-hero__inner {
		flex: 1;
		align-items: flex-start;
		justify-content: center;
		height: auto;
		padding: 22px 22px 70px;
		text-align: center;
	}

	.hp-hero__title {
		margin: 12px 0 12px;
		font-size: 38px;
	}

	.hp-hero__text {
		margin-bottom: 22px;
		font-size: 14px;
	}

	.hp-hero__actions {
		justify-content: center;
	}

	.hp-hero__arrow {
		display: none;
	}

	.hp-btn {
		min-height: 44px;
		padding: 0 24px;
		font-size: 11px;
	}

	.hp-feature {
		flex-direction: column;
		gap: 8px;
		padding: 4px 10px;
		text-align: center;
	}

	.hp-feature__body {
		font-size: 12px;
	}

	.hp-feature__body strong {
		font-size: 11px;
		letter-spacing: .12em;
	}

	.hp-tiles {
		gap: 14px;
	}

	.hp-tiles--scroll {
		display: flex;
		margin: 0 -15px;
		padding: 0 15px 6px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.hp-tiles--scroll::-webkit-scrollbar {
		display: none;
	}

	.hp-tiles--scroll .hp-tile {
		flex: 0 0 58%;
		scroll-snap-align: start;
	}

	.hp-tile__title {
		font-size: 19px;
	}

	.hp-tiles--overlay .hp-tile__caption {
		left: 16px;
		right: 16px;
		bottom: 16px;
	}

	.hp-tiles--overlay .hp-tile__title {
		font-size: 21px;
	}

	.hp-editorial,
	.hp-editorial--split {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.hp-editorial--split .hp-editorial__media {
		order: 0;
		aspect-ratio: 4 / 5;
	}

	.hp-editorial__panel {
		padding: 44px 24px;
	}

	.hp-editorial--overlay {
		min-height: 440px;
	}

	.hp-editorial--overlay .hp-editorial__panel {
		padding: 26px 22px;
	}

	.hp-announce {
		min-width: 0;
		width: 100%;
	}

	/* Sit above the bottom navigation bar; icon only. */
	.hp-wa-float {
		right: 12px;
		bottom: 68px;
		width: 50px;
		height: 50px;
	}

	.hp-wa-float svg {
		width: 27px;
		height: 27px;
	}

	.single-product .hp-wa-float {
		bottom: 118px;
	}

	.husnposh .scrollToTop {
		right: 14px;
		bottom: 130px;
	}

	.husnposh.single-product .scrollToTop {
		bottom: 180px;
	}

	.hp-wa-order {
		display: flex;
	}

	.hp-brands a,
	.hp-brands__item {
		padding: 10px 18px;
		font-size: 17px;
	}

	.hp-announce span {
		font-size: 9.5px;
		letter-spacing: .08em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hp-hero__media img,
	.hp-hero__content > *,
	.hp-tile__media img,
	.hp-editorial__media img {
		transition: none;
		transform: none;
	}
}
