/* Heejab header, mega menu, mobile drawer and footer — from the approved mockups. */

/* ---------------------------------------------------------------- header */
.hj-hdr {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, .97);
	border-bottom: 1px solid var(--hj-line);
	backdrop-filter: saturate(1.2) blur(6px);
}
.hj-hdr-in {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 20px;
	height: 78px;
	padding-inline: var(--hj-gut);
}
.hj-logo { justify-self: start; display: flex; align-items: center; }
.hj-logo a, .hj-logo .custom-logo-link { display: block; line-height: 0; }
.hj-logo img, .hj-logo .custom-logo { height: 31px; width: auto; max-width: none; display: block; }
.hj-logo-text {
	font-family: var(--hj-serif);
	font-size: 27px;
	line-height: 1;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--hj-accent);
}
.hj-hdr-in .hj-burger { display: none; }

/* the theme styles bare <button> elements; keep header icons flat */
.hj-hdr .hj-ibtn,
.hj-drawer .hj-ibtn {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0;
	min-height: 0;
	color: var(--hj-ink);
}

.hj-nav-wrap { justify-self: center; }
.hj-nav { display: flex; gap: clamp(18px, 2.2vw, 34px); align-items: center; margin: 0; padding: 0; list-style: none; }
.hj-nav > li { position: relative; }
.hj-nav > li > a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
	height: 78px;
	font-size: 12.5px;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--hj-ink-2);
	white-space: nowrap;
	text-decoration: none;
}
.hj-nav > li > a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 24px;
	height: 1px;
	background: var(--hj-accent);
	transform: scaleX(0);
	transition: transform .25s;
}
.hj-nav > li:hover > a::after,
.hj-nav > .current-menu-item > a::after,
.hj-nav > .current-menu-ancestor > a::after { transform: scaleX(1); }
.hj-nav > .current-menu-item > a,
.hj-nav > .current-menu-ancestor > a { color: var(--hj-accent-deep); }

/* Mega panels come from IGSHOP Shop Kit; these rules only give them the Heejab look. */
.hj-nav,
.hj-drawer-nav { --qav-mm-line: var(--hj-line); --qav-mm-gutter: var(--hj-gut); --qav-mm-max: var(--hj-wrap); }
.hj-nav .qav-mm > .sub-menu {
	padding-top: 30px;
	padding-bottom: 34px;
	border-bottom: 1px solid var(--hj-line);
	box-shadow: 0 18px 40px rgba(30, 26, 21, .08);
}
.hj-nav .qav-mm-heading > a,
.hj-nav .qav-mm-nolink {
	font-size: 11.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--hj-accent-deep);
	font-weight: 500;
	text-decoration: none;
}
.hj-nav .qav-mm .sub-menu .sub-menu a {
	font-size: 14px;
	color: var(--hj-ink-2);
	padding: 4px 0;
	text-decoration: none;
}
.hj-nav .qav-mm .sub-menu .sub-menu a:hover { color: var(--hj-accent-deep); }

/* A submenu that isn't a mega panel: a plain dropdown under its item. */
.hj-nav > li:not(.qav-mm) > .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	z-index: 60;
	display: none;
	min-width: 210px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--hj-line);
	box-shadow: 0 18px 40px rgba(30, 26, 21, .08);
}
.hj-nav > li:not(.qav-mm):hover > .sub-menu,
.hj-nav > li:not(.qav-mm):focus-within > .sub-menu { display: block; }
.hj-nav > li:not(.qav-mm) .sub-menu .sub-menu { list-style: none; margin: 0; padding: 0 0 0 12px; }
.hj-nav > li:not(.qav-mm) .sub-menu a {
	display: block;
	padding: 7px 18px;
	font-size: 14px;
	color: var(--hj-ink-2);
	white-space: nowrap;
	text-decoration: none;
}
.hj-nav > li:not(.qav-mm) .sub-menu a:hover { color: var(--hj-accent-deep); }

/* icons */
.hj-hdr-icons { justify-self: end; display: flex; gap: 6px; align-items: center; }
.hj-ibtn {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 0;
	background: none;
	color: var(--hj-ink);
	border-radius: 50%;
	cursor: pointer;
	text-decoration: none;
}
.hj-ibtn:hover { color: var(--hj-accent-deep); }
.hj-count {
	position: absolute;
	top: 3px; right: 1px;
	min-width: 17px; height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--hj-accent-deep);
	color: #fff;
	font-size: 10px;
	line-height: 17px;
	text-align: center;
	font-weight: 600;
}

/* search drop-down */
.hj-search { border-top: 1px solid var(--hj-line); background: #fff; padding: 16px var(--hj-gut); }
.hj-search form { max-width: 560px; margin-inline: auto; display: flex; gap: 8px; }
.hj-search input[type="search"] { flex: 1; height: 46px; border: 1px solid var(--hj-line-2); padding: 0 14px; font-size: 15px; }
.hj-search button { background: var(--hj-accent-deep); color: #fff; border: 0; padding: 0 22px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }

/* ---------------------------------------------------------------- drawer (phones) */
.hj-drawer { position: fixed; inset: 0; z-index: 80; display: none; }
.hj-drawer.is-open { display: block; }
.hj-drawer-scrim { position: absolute; inset: 0; background: rgba(30, 26, 21, .45); }
.hj-drawer-panel {
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: min(86%, 340px);
	background: #fff;
	overflow: auto;
	padding: 18px 20px 40px;
}
.hj-drawer-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.hj-drawer-top .hj-logo-text { font-size: 21px; }
.hj-drawer-nav, .hj-drawer-nav ul { list-style: none; margin: 0; padding: 0; }
.hj-drawer-nav > li > a,
.hj-drawer-link {
	display: block;
	padding: 14px 0;
	font-size: 13px;
	letter-spacing: .16em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--hj-line);
	text-decoration: none;
}
/* the divider belongs to the whole row, so a row with Shop Kit's arrow button stays one line */
.hj-drawer-nav > li { border-bottom: 1px solid var(--hj-line); }
.hj-drawer-nav > li > a { border-bottom: 0; }
.hj-drawer-nav .qav-mm-heading > a,
.hj-drawer-nav .qav-mm-nolink {
	display: block;
	padding: 12px 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hj-accent-deep);
}
.hj-drawer-nav .qav-mm > .sub-menu { padding: 0 0 8px 10px; }
.hj-drawer-nav .qav-mm-heading > .sub-menu { padding: 0 0 8px 12px; }
.hj-drawer-nav ul { padding: 0 0 10px 10px; }
.hj-drawer-nav ul a { display: block; padding: 6px 0; font-size: 14px; color: var(--hj-ink-2); text-transform: none; letter-spacing: 0; border: 0; text-decoration: none; }

/* ---------------------------------------------------------------- footer */
.hj-ftr { background: var(--hj-sand); color: var(--hj-ink-2); }
.hj-ftr-in {
	max-width: var(--hj-wrap);
	margin-inline: auto;
	padding: 56px var(--hj-gut) 34px;
	display: grid;
	grid-template-columns: 1.35fr repeat(4, 1fr);
	gap: 32px;
}
.hj-ftr-brand .hj-logo-text { display: block; margin-bottom: 12px; }
.hj-ftr-brand .hj-tagline { font-size: 21px; line-height: 1.2; margin: 0 0 14px; }
.hj-ftr-brand address { font-style: normal; font-size: 13.5px; line-height: 1.7; color: var(--hj-muted); }
.hj-ftr h4 {
	font-size: 11.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--hj-ink);
	margin: 0 0 16px;
}
.hj-ftr ul { list-style: none; margin: 0; padding: 0; }
.hj-ftr li { margin-bottom: 9px; }
.hj-ftr li a { font-size: 14px; text-decoration: none; }
.hj-ftr-social a { display: inline-flex; gap: 9px; align-items: center; }
.hj-ftr-pay {
	max-width: var(--hj-wrap);
	margin-inline: auto;
	padding: 22px var(--hj-gut);
	border-top: 1px solid var(--hj-line-2);
	display: flex;
	flex-wrap: wrap;
	gap: 14px 22px;
	align-items: center;
	justify-content: center;
}
.hj-ftr-pay span { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--hj-muted); }
.hj-pay-logos { display: flex; flex-wrap: wrap; gap: 10px; }
.hj-pay-logos i {
	display: grid;
	place-items: center;
	height: 34px;
	padding: 0 12px;
	background: #fff;
	border: 1px solid var(--hj-line);
	font-style: normal;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--hj-ink-2);
	letter-spacing: .04em;
}
.hj-ftr-copy {
	background: var(--hj-ink);
	color: #CFC4B2;
	text-align: center;
	font-size: 12px;
	padding: 14px var(--hj-gut);
}
.hj-ftr-copy a { color: var(--hj-accent-light); text-decoration: none; }

/* ---------------------------------------------------------------- phones */
@media (max-width: 900px) {
	.hj-hdr-in { height: 60px; grid-template-columns: 44px 1fr 44px; gap: 6px; padding-inline: 8px; }
	.hj-hdr-in .hj-burger { display: inline-grid; }
	.hj-logo { justify-self: center; }
	.hj-logo img, .hj-logo .custom-logo { height: 24px; }
	.hj-logo-text { font-size: 21px; }
	.hj-nav-wrap, .hj-ibtn--desktop { display: none; }
	.hj-ftr-in { grid-template-columns: 1fr 1fr; padding: 40px 20px 24px; gap: 28px 18px; }
	.hj-ftr-brand { grid-column: 1 / -1; text-align: center; }
	.hj-ftr-copy { font-size: 11px; line-height: 1.6; }
	/* room for TSC's bottom nav */
	body.has-tsc-nav { padding-bottom: 64px; }
}
