/*
 * Gotto reference desktop header.
 * Intentionally namespaced so historic WoodMart/child-theme header rules cannot
 * distort the client-approved desktop composition.
 */

.gotto-reference-header {
	--gotto-header-navy: #072f55;
	--gotto-header-navy-deep: #052744;
	--gotto-header-ink: #092845;
	--gotto-header-gold: #c99b3b;
	--gotto-header-gold-light: #efd28e;
	--gotto-header-paper: #fbf8f1;
	display: none;
}

@media (min-width: 1025px) {
	body.gotto-client-redesign .whb-header > .whb-top-bar,
	body.gotto-client-redesign .whb-header > .whb-general-header,
	body.gotto-client-redesign .whb-header > .whb-header-bottom,
	body.gotto-client-redesign .whb-sticky-shadow,
	body.gotto-client-redesign .whb-clone {
		display: none !important;
	}

	.gotto-reference-header {
		position: sticky;
		top: 0;
		display: block;
		width: 100%;
		z-index: 990;
		font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
		color: var(--gotto-header-ink);
		box-shadow: 0 4px 16px rgba(3, 29, 53, .08);
	}

	body.admin-bar .gotto-reference-header {
		top: 32px;
	}

	.gotto-reference-header,
	.gotto-reference-header * {
		box-sizing: border-box;
	}

	.gotto-reference-header a {
		text-decoration: none;
	}

	.gotto-reference-header__frame {
		width: 100%;
		max-width: 1360px;
		margin: 0 auto;
		padding-right: clamp(16px, 3vw, 40px);
		padding-left: clamp(16px, 3vw, 40px);
	}

	/* Utility row */
	.gotto-reference-header__top {
		min-height: 42px;
		border-top: 2px solid #9b1649;
		border-bottom: 1px solid rgba(161, 133, 81, .18);
		background: linear-gradient(90deg, #fbf8f1 0%, #f5f0e5 100%);
	}

	.gotto-reference-header__top-frame {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 39px;
		gap: 28px;
	}

	.gotto-reference-header__utility {
		min-width: 0;
	}

	.gotto-reference-header__utility-list,
	.gotto-reference-header__main-list {
		display: flex;
		align-items: center;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.gotto-reference-header__utility-list > li {
		position: relative;
		margin: 0;
		padding: 0 13px;
		white-space: nowrap;
	}

	.gotto-reference-header__utility-list > li:first-child {
		padding-left: 0;
	}

	.gotto-reference-header__utility-list > li:not(:last-child)::after {
		position: absolute;
		top: 50%;
		right: 0;
		width: 1px;
		height: 15px;
		background: rgba(111, 91, 54, .22);
		content: "";
		transform: translateY(-50%);
	}

	.gotto-reference-header__utility-list a {
		display: flex;
		align-items: center;
		min-height: 39px;
		padding: 0 !important;
		color: #765c2d !important;
		font-size: 12px;
		font-weight: 500;
		line-height: 1;
		text-transform: none;
	}

	.gotto-reference-header__utility-list a:hover,
	.gotto-reference-header__utility-list .current-menu-item > a {
		color: #a86e16 !important;
	}

	.gotto-reference-header__contact {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		gap: 14px;
		min-height: 39px;
		color: #6f7580;
		font-size: 12px;
		white-space: nowrap;
	}

	.gotto-reference-header__contact a {
		display: flex;
		align-items: center;
		gap: 9px;
		color: #18344e;
	}

	.gotto-reference-header__contact a:hover {
		color: #a86e16;
	}

	.gotto-reference-header__contact svg {
		width: 14px;
		height: 14px;
		fill: var(--gotto-header-gold);
	}

	.gotto-reference-header__contact strong {
		font-size: 13px;
		font-weight: 700;
	}

	.gotto-reference-header__contact-rule {
		width: 1px;
		height: 24px;
		background: rgba(111, 91, 54, .22);
	}

	/* Navy identity/search row */
	.gotto-reference-header__middle {
		min-height: 90px;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
		background: linear-gradient(105deg, var(--gotto-header-navy) 0%, var(--gotto-header-navy-deep) 100%);
	}

	.gotto-reference-header__middle-frame {
		display: grid;
		grid-template-columns: 460px minmax(360px, 489px) 1fr;
		align-items: center;
		min-height: 89px;
		column-gap: 36px;
	}

	.gotto-reference-header__logo {
		display: flex;
		align-items: center;
		width: 460px;
		height: 46px;
		overflow: hidden;
	}

	.gotto-reference-header__logo img {
		display: block;
		width: 100%;
		height: 46px;
		max-width: none;
		object-fit: cover;
	}

	.gotto-reference-header__logo > span {
		color: #fff;
		font-family: Georgia, serif;
		font-size: 36px;
		letter-spacing: .35em;
	}

	.gotto-reference-header__search {
		position: relative;
		min-width: 0;
	}

	.gotto-reference-header__search .wd-search-form,
	.gotto-reference-header__search .wd-search-form form,
	.gotto-reference-header__search form.searchform {
		width: 100%;
		margin: 0;
	}

	.gotto-reference-header__search .wd-search-form {
		position: relative;
	}

	.gotto-reference-header__search form.searchform {
		position: relative;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 118px;
		height: 50px;
		padding: 0;
		border: 1px solid rgba(203, 169, 97, .62);
		border-radius: 10px;
		background: #fff;
		box-shadow: 0 3px 14px rgba(0, 21, 42, .1);
		overflow: visible;
	}

	.gotto-reference-header__search form.searchform::before {
		position: absolute;
		top: 50%;
		left: 17px;
		z-index: 2;
		width: 16px;
		height: 16px;
		border: 1.7px solid #8190a0;
		border-radius: 50%;
		content: "";
		transform: translateY(-58%);
		pointer-events: none;
	}

	.gotto-reference-header__search form.searchform::after {
		position: absolute;
		top: 29px;
		left: 30px;
		z-index: 2;
		width: 7px;
		height: 1.7px;
		background: #8190a0;
		content: "";
		transform: rotate(45deg);
		transform-origin: left center;
		pointer-events: none;
	}

	.gotto-reference-header__search input.s {
		grid-column: 1;
		width: 100%;
		height: 48px;
		margin: 0;
		padding: 0 44px 0 47px;
		border: 0 !important;
		border-radius: 10px 0 0 10px;
		background: #fff !important;
		box-shadow: none !important;
		color: #18344e;
		font-size: 14px;
		font-weight: 400;
		line-height: 48px;
	}

	.gotto-reference-header__search input.s::placeholder {
		color: #748296;
		opacity: 1;
	}

	.gotto-reference-header__search input.s:focus {
		outline: 0;
	}

	.gotto-reference-header__search .wd-clear-search {
		right: 125px;
		z-index: 3;
	}

	.gotto-reference-header__search button.searchsubmit {
		position: relative;
		grid-column: 2;
		width: 118px;
		height: 48px;
		min-height: 48px;
		margin: 0;
		padding: 0 23px;
		border: 0;
		border-radius: 0 9px 9px 0;
		background: linear-gradient(180deg, #e9d2a1 0%, #c99a43 100%);
		box-shadow: none;
		color: #102b46;
		font-family: Manrope, Arial, sans-serif;
		font-size: 12.5px;
		font-weight: 800;
		letter-spacing: .12em;
		line-height: 48px;
		text-transform: uppercase;
	}

	.gotto-reference-header__search button.searchsubmit::before {
		display: none !important;
		content: none !important;
	}

	.gotto-reference-header__search button.searchsubmit::after {
		display: none !important;
		content: none !important;
	}

	.gotto-reference-header__search button.searchsubmit:hover {
		background: linear-gradient(180deg, #f6dda1 0%, #d3a13f 100%);
		color: #082a48;
	}

	.gotto-reference-header__search .wd-search-results-wrapper {
		top: calc(100% + 7px);
		z-index: 420;
		width: 100%;
	}

	.gotto-reference-header__tools {
		display: grid;
		grid-template-columns: 82px 82px 82px;
		align-items: stretch;
		justify-content: end;
		height: 58px;
	}

	.gotto-reference-header__tool {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 5px;
		color: #fff !important;
	}

	.gotto-reference-header__tool:not(:first-child)::before {
		position: absolute;
		top: 3px;
		bottom: 3px;
		left: 0;
		width: 1px;
		background: rgba(255, 255, 255, .16);
		content: "";
	}

	.gotto-reference-header__tool svg {
		width: 23px;
		height: 23px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.75;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.gotto-reference-header__tool span {
		font-size: 10px;
		font-weight: 750;
		letter-spacing: .08em;
		line-height: 1;
		text-transform: uppercase;
	}

	.gotto-reference-header__tool:hover {
		color: #edcf85 !important;
	}

	/* Navigation row */
	.gotto-reference-header__bottom {
		min-height: 50px;
		border-bottom: 1px solid rgba(161, 133, 81, .28);
		background: linear-gradient(90deg, #fdfbf6 0%, #f7f2e7 100%);
		box-shadow: 0 3px 9px rgba(9, 40, 69, .04);
	}

	.gotto-reference-header__bottom-frame {
		display: flex;
		align-items: center;
		min-height: 49px;
		gap: 15px;
	}

	.gotto-reference-header__category,
	.gotto-reference-header__buying,
	.gotto-reference-header__vatera {
		display: inline-flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		height: 44px;
		margin: 0;
		border-radius: 10px;
		font-family: Manrope, Arial, sans-serif;
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .1em;
		line-height: 1;
		text-transform: uppercase;
	}

	.gotto-reference-header .gotto-reference-header__category {
		width: 186px;
		min-height: 44px;
		gap: 11px;
		padding: 0 17px !important;
		border: 0 !important;
		border-radius: 10px !important;
		background: linear-gradient(180deg, #e9d2a1 0%, #c99a43 100%) !important;
		box-shadow: 0 14px 26px -20px rgba(201, 154, 67, .95) !important;
		color: #102b46 !important;
		font-family: Manrope, Arial, sans-serif !important;
		font-size: 12.5px !important;
		font-weight: 800 !important;
		letter-spacing: .14em !important;
		line-height: 1 !important;
		cursor: pointer;
	}

	.gotto-reference-header .gotto-reference-header__category:hover,
	.gotto-reference-header .gotto-reference-header__category[aria-expanded="true"] {
		background: linear-gradient(180deg, #f0dcae 0%, #d1a04a 100%) !important;
		color: #102b46 !important;
	}

	.gotto-reference-header__hamburger {
		flex: 0 0 auto;
		width: 17px;
		height: 17px;
		margin-right: 0;
		fill: none;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
	}

	.gotto-reference-header__chevron {
		display: block;
		flex: 0 0 auto;
		width: 14px;
		height: 14px;
		margin-left: auto;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
		stroke-linecap: round;
		stroke-linejoin: round;
		transition: transform .2s ease;
	}

	.gotto-reference-header__category[aria-expanded="true"] .gotto-reference-header__chevron {
		transform: rotate(180deg);
	}

	.gotto-reference-header__buying {
		width: 132px;
		border: 1px solid #dfd4b7;
		background: #fff;
		color: #0a2b49 !important;
	}

	.gotto-reference-header__buying:hover {
		border-color: #c99b3b;
		color: #9a6c1f !important;
	}

	.gotto-reference-header__main-nav {
		min-width: 0;
		flex: 1 1 auto;
	}

	.gotto-reference-header__main-list {
		justify-content: center;
		gap: 0;
	}

	.gotto-reference-header__main-list > li {
		min-width: 0;
		margin: 0;
		padding: 0;
		white-space: nowrap;
	}

	.gotto-reference-header__main-list a {
		display: flex;
		align-items: center;
		min-height: 42px;
		padding: 0 10.5px !important;
		color: #0a2946 !important;
		font-size: 14px;
		font-weight: 650;
		line-height: 1;
		text-transform: none;
	}

	.gotto-reference-header__main-list a:hover,
	.gotto-reference-header__main-list .current-menu-item > a {
		color: #b17d27 !important;
	}

	.gotto-reference-header__vatera {
		width: 99px;
		gap: 6px;
		border: 1px solid #dfd4bf;
		background: rgba(255, 255, 255, .75);
		color: #f26134 !important;
		letter-spacing: 0;
		text-transform: none;
	}

	.gotto-reference-header__vatera img {
		display: block;
		width: 48px;
		height: auto;
		max-height: 18px;
		object-fit: contain;
	}

	.gotto-reference-header__vatera > span {
		font-size: 16px;
		font-weight: 750;
	}

	.gotto-reference-header__vatera svg {
		width: 11px;
		height: 11px;
		fill: none;
		stroke: #8a8f96;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.gotto-reference-header__vatera:hover {
		border-color: #d5a84f;
	}

	/* Full-width, three-level category panel using live WooCommerce terms. */
	.gotto-reference-header .gotto-header-mega[hidden],
	.gotto-reference-header .gotto-header-mega__pane[hidden],
	.gotto-reference-header .gotto-header-mega__third-root[hidden],
	.gotto-reference-header .gotto-header-mega__third-pane[hidden] {
		display: none !important;
	}

	.gotto-reference-header .gotto-header-mega {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		z-index: 410;
		width: 100%;
		margin: 0;
		border-top: 1px solid #e4dac7;
		border-bottom: 1px solid #ded2bc;
		background: #fff;
		box-shadow: 0 18px 42px rgba(4, 27, 50, .18);
		font-family: Manrope, Arial, sans-serif;
	}

	.gotto-reference-header .gotto-header-mega__inner {
		display: grid;
		grid-template-columns: clamp(220px, 20vw, 286px) minmax(0, 1fr) minmax(0, 1fr);
		width: 100%;
		max-width: 1360px;
		min-height: 404px;
		margin: 0 auto;
		padding: 0;
		background: #fff;
	}

	.gotto-reference-header .gotto-header-mega__roots {
		padding: 20px 0 20px clamp(16px, 3vw, 40px);
		background: #fcfaf6;
		box-shadow: -50vw 0 0 #fcfaf6;
	}

	.gotto-reference-header .gotto-header-mega__eyebrow {
		display: block;
		margin: 0;
		padding: 0 12px 12px 0;
		color: #a8823c;
		font-family: inherit;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .22em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	.gotto-reference-header .gotto-header-mega__heading {
		display: inline-flex;
		margin: 0;
		padding: 0 0 12px;
		color: #a8823c !important;
		font-family: inherit;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .22em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	.gotto-reference-header .gotto-header-mega__root,
	.gotto-reference-header .gotto-header-mega__child {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 43px;
		margin: 0;
		border-bottom: 1px solid #f4efe4;
	}

	.gotto-reference-header .gotto-header-mega__root::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 3px;
		background: transparent;
		content: "";
	}

	.gotto-reference-header .gotto-header-mega__root.is-active {
		background: #fff;
	}

	.gotto-reference-header .gotto-header-mega__root.is-active::before {
		background: #a8823c;
	}

	.gotto-reference-header .gotto-header-mega__root > a,
	.gotto-reference-header .gotto-header-mega__child > a,
	.gotto-reference-header .gotto-header-mega__grandchild {
		display: flex;
		flex: 1 1 auto;
		align-items: center;
		align-self: stretch;
		color: #263d51 !important;
		padding: 11px 12px 11px 0;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.35;
	}

	.gotto-reference-header .gotto-header-mega__root.is-active > a {
		padding-left: 13px;
		font-weight: 700;
	}

	.gotto-reference-header .gotto-header-mega__root.is-active > a,
	.gotto-reference-header .gotto-header-mega__root > a:hover,
	.gotto-reference-header .gotto-header-mega__child.is-active > a,
	.gotto-reference-header .gotto-header-mega__child > a:hover,
	.gotto-reference-header .gotto-header-mega__grandchild:hover {
		color: #8c6b2f !important;
	}

	.gotto-reference-header .gotto-header-mega__root > button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 32px;
		min-height: 0;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
		color: #8d7750;
		font-size: 21px;
	}

	.gotto-reference-header .gotto-header-mega__detail {
		display: grid;
		grid-column: 2 / 4;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gotto-reference-header .gotto-header-mega__level-two,
	.gotto-reference-header .gotto-header-mega__level-three {
		padding: 20px clamp(14px, 1.6vw, 24px);
		border-right: 1px solid #eee6d8;
	}

	.gotto-reference-header .gotto-header-mega__level-three {
		padding-left: 0;
		border-right: 0;
	}

	.gotto-reference-header .gotto-header-mega__level-three > * {
		padding-left: clamp(14px, 1.6vw, 24px);
	}

	.gotto-reference-header .gotto-header-mega__child {
		min-height: 39px;
		border-bottom-color: #f7f3ea;
	}

	.gotto-reference-header .gotto-header-mega__child > a {
		padding: 9px 8px 9px 0;
		font-size: 14.5px;
		font-weight: 400;
	}

	.gotto-reference-header .gotto-header-mega__child > span {
		margin-left: 10px;
		color: #9d855c;
		font-size: 17px;
	}

	.gotto-reference-header .gotto-header-mega__grandchild {
		min-height: 35px;
		padding: 9px 0;
		border-bottom: 1px solid #f7f3ea;
		font-size: 14.5px;
		font-weight: 400;
	}

	.gotto-reference-header .gotto-header-mega__open {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin-top: 20px;
		color: #9c6e23 !important;
		font-size: 10px;
		font-weight: 750;
		letter-spacing: .12em;
		text-transform: uppercase;
	}

	.gotto-reference-header .gotto-header-mega__footer {
		display: flex;
		justify-content: flex-end;
		width: 100%;
		max-width: 1360px;
		margin: 0 auto;
		padding: 12px clamp(16px, 3vw, 40px) 16px;
		border-top: 1px solid #eee6d8;
	}

	.gotto-reference-header .gotto-header-mega__close {
		min-height: 0;
		padding: 6px 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		color: #8c6b2f;
		font-size: 13px;
		font-weight: 600;
		letter-spacing: .06em;
		text-transform: none;
	}

	body.gotto-mega-open::after {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 380;
		height: calc(100vh - 184px);
		background: rgba(3, 22, 40, .34);
		content: "";
		pointer-events: none;
	}
}

@media (min-width: 1025px) and (max-width: 1399px) {
	.gotto-reference-header__frame {
		padding-right: clamp(16px, 3vw, 40px);
		padding-left: clamp(16px, 3vw, 40px);
	}

	.gotto-reference-header__middle-frame {
		grid-template-columns: minmax(300px, 390px) minmax(300px, 1fr) 228px;
		column-gap: 24px;
	}

	.gotto-reference-header__logo {
		width: 100%;
	}

	.gotto-reference-header__tools {
		grid-template-columns: repeat(3, 76px);
	}

	.gotto-reference-header__utility-list > li:nth-child(5),
	.gotto-reference-header__utility-list > li:nth-child(6),
	.gotto-reference-header__utility-list > li:nth-child(7) {
		display: none;
	}

	.gotto-reference-header__main-list {
		gap: 0;
	}

	.gotto-reference-header__main-list a {
		padding-right: 8px !important;
		padding-left: 8px !important;
		font-size: 12px;
	}
}

@media (min-width: 1025px) and (max-width: 1199px) {
	.gotto-reference-header__middle-frame {
		grid-template-columns: 300px minmax(280px, 1fr) 192px;
		column-gap: 18px;
	}

	.gotto-reference-header__tools {
		grid-template-columns: repeat(3, 64px);
	}

	.gotto-reference-header .gotto-reference-header__category {
		width: 164px;
	}

	.gotto-reference-header__buying {
		width: 118px;
	}

	.gotto-reference-header__main-list > li:nth-child(n+5) {
		display: none;
	}
}

@media (max-width: 1024px) {
	.gotto-reference-header {
		display: none !important;
	}

	body.gotto-client-redesign .whb-header {
		position: sticky !important;
		top: 0;
		z-index: 990;
		box-shadow: 0 4px 16px rgba(3, 29, 53, .08);
	}

	body.admin-bar.gotto-client-redesign .whb-header {
		top: 32px;
	}
}

@media (max-width: 782px) {
	body.admin-bar.gotto-client-redesign .whb-header {
		top: 46px;
	}
}

/* The footer is a single global Elementor/WoodMart object; keep its type scale
 * identical on every route instead of depending on homepage-only CSS. */
body.gotto-client-redesign .gotto-client-footer__grid {
	padding-block: 64px 56px !important;
}

body.gotto-client-redesign .gotto-client-footer__title,
body.gotto-client-redesign .gotto-client-footer__title .elementor-heading-title {
	font-size: 12.5px !important;
	line-height: 1.4 !important;
}

body.gotto-client-redesign .gotto-client-footer__text,
body.gotto-client-redesign .gotto-client-footer__text p,
body.gotto-client-redesign .gotto-client-footer__text a,
body.gotto-client-redesign .gotto-client-footer__column .menu a {
	font-size: 15px !important;
	line-height: 1.7 !important;
}

body.gotto-client-redesign .gotto-client-footer__column .menu {
	gap: 3px !important;
}

body.gotto-client-redesign .gotto-client-footer__column .menu a {
	display: block;
	padding-block: 5px;
}

body.gotto-client-redesign .gotto-client-footer__copyright,
body.gotto-client-redesign .gotto-client-footer__copyright p {
	font-size: 13.5px !important;
	line-height: 1.5 !important;
}

body.gotto-client-redesign .gotto-client-footer__version {
	display: none !important;
}

@media (max-width: 767px) {
	body.gotto-client-redesign .gotto-client-footer__grid {
		padding-block: 44px 38px !important;
	}
}
