/*
 * Simple, mobile-first global chrome.
 */

.odcu-design #site-header,
.odcu-design #site-footer,
.odcu-design .elementor-location-header,
.odcu-design .elementor-location-footer {
	display: none!important;
}

.odcu-global-header,
.odcu-global-footer {
	display: block!important;
}

.odcu-global-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: color-mix(in srgb, var(--odcu-night) 96%, transparent);
	backdrop-filter: blur(12px);
	color: var(--odcu-parchment);
	border-bottom: 1px solid rgba(255,255,255,.06);
}

.odcu-global-header-inner > .elementor-container {
	min-height: 72px;
	align-items: center;
}

.odcu-brandmark {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	color: inherit!important;
	text-decoration: none!important;
}

.odcu-brandmark__symbol {
	width: 25px;
	flex: 0 0 25px;
	color: var(--odcu-bronze-soft);
}

.odcu-brandmark__symbol svg {
	display: block;
	width: 100%;
	height: auto;
}

.odcu-brandmark__type {
	display: grid;
	gap: .1rem;
	font-family: var(--odcu-font-heading);
	letter-spacing: .12em;
	line-height: 1;
}

.odcu-brandmark__type > span {
	font-size: .95rem;
}

.odcu-brandmark__type > small {
	font-size: .5rem;
	letter-spacing: .24em;
}

.odcu-nav__list,
.odcu-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.odcu-nav__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.55rem;
}

.odcu-nav__list a {
	color: inherit!important;
	font-size: .67rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-decoration: none!important;
	text-transform: uppercase;
	white-space: nowrap;
}

.odcu-nav__list a:hover,
.odcu-nav__list .current-menu-item > a {
	color: var(--odcu-bronze-soft)!important;
}

.odcu-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .2rem;
}

.odcu-header-action {
	position: relative;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	color: inherit!important;
	text-decoration: none!important;
}

.odcu-header-action svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
}

.odcu-cart-count {
	position: absolute;
	top: 1px;
	right: -1px;
	min-width: 15px;
	height: 15px;
	display: grid;
	place-items: center;
	padding: 0 3px;
	border-radius: 999px;
	background: var(--odcu-bronze);
	color: var(--odcu-night);
	font-size: .55rem;
	font-weight: 700;
}

.odcu-mobile-menu {
	display: none;
}

.odcu-global-footer {
	background: var(--odcu-night);
	color: var(--odcu-parchment);
	border-top: 1px solid rgba(255,255,255,.06);
}

.odcu-global-footer-main {
	padding-block: 3rem;
}

.odcu-global-footer-main > .elementor-container {
	align-items: center;
}

.odcu-global-footer p {
	margin-top: .8rem;
	color: color-mix(in srgb,var(--odcu-parchment) 70%,transparent);
}

.odcu-footer-menu {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: .75rem 1.25rem;
}

.odcu-footer-menu a {
	color: color-mix(in srgb,var(--odcu-parchment) 75%,transparent)!important;
	font-size: .8rem;
	text-decoration: none!important;
}

.odcu-global-footer-bottom {
	padding: .9rem 0;
	border-top: 1px solid rgba(255,255,255,.06);
}

.odcu-footer-bottom {
	color: color-mix(in srgb,var(--odcu-parchment) 48%,transparent);
	font-size: .64rem;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
}

.odcu-mobile-bottom-nav {
	display: none;
}

.woocommerce-checkout .odcu-global-footer,
.woocommerce-cart .odcu-global-footer {
	display: none!important;
}

.woocommerce-checkout .odcu-header-nav-col,
.woocommerce-cart .odcu-header-nav-col {
	visibility: hidden;
}

@media (max-width: 900px) {
	.odcu-nav--desktop {
		display: none;
	}

	.odcu-mobile-menu {
		display: block;
	}

	.odcu-mobile-menu summary {
		width: 38px;
		height: 38px;
		display: grid;
		place-content: center;
		gap: 5px;
		cursor: pointer;
		list-style: none;
	}

	.odcu-mobile-menu summary::-webkit-details-marker {
		display: none;
	}

	.odcu-mobile-menu summary span {
		display: block;
		width: 19px;
		height: 1px;
		background: currentColor;
	}

	.odcu-mobile-menu__panel {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		padding: .7rem var(--odcu-gutter) 1.2rem;
		background: var(--odcu-night);
		border-top: 1px solid rgba(255,255,255,.06);
	}

	.odcu-mobile-menu__list {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.odcu-mobile-menu__list a {
		display: block;
		padding: .85rem 0;
		border-bottom: 1px solid rgba(255,255,255,.06);
		color: var(--odcu-parchment)!important;
		font-family: var(--odcu-font-heading);
		font-size: 1.4rem;
		text-decoration: none!important;
	}

	.odcu-footer-menu {
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	.odcu-global-header-inner > .elementor-container {
		min-height: 64px;
	}

	.odcu-brandmark__type > span {
		font-size: .84rem;
	}

	.odcu-brandmark__type > small {
		font-size: .44rem;
	}

	.odcu-header-nav-col {
		width: auto!important;
		order: 3;
	}

	.odcu-header-brand-col {
		width: auto!important;
	}

	.odcu-header-actions-col {
		width: auto!important;
		margin-left: auto;
	}

	.odcu-header-actions .odcu-header-action:first-child {
		display: none;
	}

	.odcu-global-footer-main > .elementor-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.35rem;
	}

	.odcu-global-footer-main .elementor-column {
		width: 100%!important;
	}

	.odcu-global-footer {
		padding-bottom: 72px;
	}

	.odcu-mobile-bottom-nav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1100;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		min-height: 66px;
		padding: 5px max(8px, env(safe-area-inset-left)) max(5px, env(safe-area-inset-bottom));
		background: color-mix(in srgb, var(--odcu-night) 97%, transparent);
		backdrop-filter: blur(14px);
		border-top: 1px solid rgba(255,255,255,.08);
	}

	.odcu-mobile-bottom-nav a {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		color: color-mix(in srgb,var(--odcu-parchment) 76%,transparent)!important;
		font-size: .58rem;
		text-decoration: none!important;
	}

	.odcu-mobile-bottom-nav svg {
		width: 19px;
		height: 19px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.4;
	}

	.odcu-mobile-bottom-nav b {
		position: absolute;
		top: 1px;
		left: calc(50% + 8px);
		min-width: 15px;
		height: 15px;
		display: grid;
		place-items: center;
		padding: 0 3px;
		border-radius: 999px;
		background: var(--odcu-bronze);
		color: var(--odcu-night);
		font-size: .5rem;
	}

	.woocommerce-checkout .odcu-mobile-bottom-nav {
		display: none!important;
	}

	.woocommerce-cart .odcu-global-footer {
		display: none!important;
	}
}


/* ---------- Compact mobile header 0.5.2 ---------- */
@media (max-width: 900px) {
	.odcu-global-header {
		height: 58px;
		min-height: 58px;
		max-height: 58px;
		overflow: visible;
	}

	.odcu-global-header .elementor,
	.odcu-global-header .elementor-section-wrap,
	.odcu-global-header .elementor-section,
	.odcu-global-header .elementor-container {
		min-height: 0!important;
	}

	.odcu-global-header-inner {
		height: 58px!important;
		min-height: 58px!important;
		padding: 0!important;
		margin: 0!important;
	}

	.odcu-global-header-inner > .elementor-container {
		display: grid!important;
		grid-template-columns: minmax(0, 1fr) 40px 40px;
		gap: 3px!important;
		width: min(100%, var(--odcu-container));
		height: 58px!important;
		min-height: 58px!important;
		margin: 0 auto!important;
		padding: 0 max(12px, var(--odcu-gutter))!important;
		align-items: center!important;
		align-content: center!important;
		flex-wrap: nowrap!important;
	}

	.odcu-global-header-inner .elementor-column,
	.odcu-global-header-inner .elementor-widget-wrap,
	.odcu-global-header-inner .elementor-widget,
	.odcu-global-header-inner .elementor-widget-container {
		min-height: 0!important;
		margin: 0!important;
	}

	.odcu-global-header-inner .elementor-column {
		width: auto!important;
		max-width: none!important;
		flex: none!important;
	}

	.odcu-global-header-inner .elementor-widget-wrap {
		display: flex!important;
		align-items: center!important;
		align-content: center!important;
		padding: 0!important;
	}

	.odcu-header-brand-col {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}

	.odcu-header-nav-col {
		grid-column: 2;
		grid-row: 1;
		order: initial;
	}

	.odcu-header-actions-col {
		grid-column: 3;
		grid-row: 1;
		margin: 0!important;
	}

	.odcu-brandmark {
		max-width: 100%;
		gap: .5rem;
	}

	.odcu-brandmark__symbol {
		width: 21px;
		flex-basis: 21px;
	}

	.odcu-brandmark__type {
		min-width: 0;
		letter-spacing: .1em;
	}

	.odcu-brandmark__type > span {
		font-size: .76rem;
		white-space: nowrap;
	}

	.odcu-brandmark__type > small {
		font-size: .39rem;
		letter-spacing: .2em;
		white-space: nowrap;
	}

	.odcu-header-actions {
		width: 40px;
		height: 40px;
		gap: 0;
	}

	.odcu-header-actions .odcu-header-action:not(.odcu-cart-link) {
		display: none!important;
	}

	.odcu-header-action,
	.odcu-mobile-menu summary {
		width: 40px;
		height: 40px;
	}

	.odcu-mobile-menu {
		position: static;
		width: 40px;
		height: 40px;
		margin: 0!important;
	}

	.odcu-mobile-menu:not([open]) > .odcu-mobile-menu__panel {
		display: none!important;
	}

	.odcu-mobile-menu[open] > .odcu-mobile-menu__panel {
		display: block!important;
	}

	.odcu-mobile-menu__panel {
		position: fixed!important;
		z-index: 1200;
		top: 58px!important;
		left: 0!important;
		right: 0!important;
		width: 100vw!important;
		max-height: calc(100svh - 58px);
		overflow-y: auto;
		padding: .45rem max(18px, var(--odcu-gutter)) 1.2rem!important;
		background: color-mix(in srgb, var(--odcu-night) 99%, transparent)!important;
		border-top: 1px solid rgba(255,255,255,.07);
		box-shadow: 0 18px 40px rgba(0,0,0,.24);
	}

	.odcu-mobile-menu__list a {
		padding: .76rem 0;
		font-size: 1.2rem;
		line-height: 1.1;
	}
}

@media (max-width: 390px) {
	.odcu-global-header-inner > .elementor-container {
		padding-inline: 10px!important;
	}

	.odcu-brandmark__type > span {
		font-size: .7rem;
	}

	.odcu-brandmark__type > small {
		font-size: .36rem;
	}
}


/* ==========================================================
   Native mobile header — 0.6.7
   Independent from the Elementor header template.
   ========================================================== */
.odcu-mobile-site-header {
	display: none;
}

@media (max-width: 900px) {
	.odcu-global-header--desktop {
		display: none!important;
	}

	.odcu-mobile-site-header {
		position: sticky;
		top: 0;
		z-index: 1400;
		display: block;
		height: 60px;
		background: color-mix(in srgb, var(--odcu-night) 98%, transparent);
		color: var(--odcu-parchment);
		border-bottom: 1px solid rgba(255,255,255,.07);
		backdrop-filter: blur(16px);
	}

	.admin-bar .odcu-mobile-site-header {
		top: 46px;
	}

	.odcu-mobile-site-header__bar {
		width: min(100%, var(--odcu-container));
		height: 60px;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 10px;
		margin: 0 auto;
		padding: 0 12px 0 14px;
	}

	.odcu-mobile-site-header .odcu-brandmark {
		min-width: 0;
		max-width: 100%;
		gap: .52rem;
	}

	.odcu-mobile-site-header .odcu-brandmark__symbol {
		width: 22px;
		flex: 0 0 22px;
	}

	.odcu-mobile-site-header .odcu-brandmark__type {
		min-width: 0;
		letter-spacing: .095em;
	}

	.odcu-mobile-site-header .odcu-brandmark__type > span {
		font-size: .76rem;
		white-space: nowrap;
	}

	.odcu-mobile-site-header .odcu-brandmark__type > small {
		font-size: .39rem;
		letter-spacing: .19em;
		white-space: nowrap;
	}

	.odcu-mobile-site-header__actions {
		display: flex;
		align-items: center;
		gap: 3px;
	}

	.odcu-mobile-site-header__cart,
	.odcu-mobile-site-header__toggle {
		position: relative;
		width: 40px;
		height: 40px;
		display: grid;
		place-items: center;
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: transparent;
		color: var(--odcu-parchment)!important;
		text-decoration: none!important;
		cursor: pointer;
	}

	.odcu-mobile-site-header__cart:hover,
	.odcu-mobile-site-header__toggle:hover {
		background: rgba(255,255,255,.045);
	}

	.odcu-mobile-site-header__cart svg {
		width: 19px;
		height: 19px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.5;
	}

	.odcu-mobile-site-header__cart > span {
		position: absolute;
		top: 2px;
		right: 0;
		min-width: 15px;
		height: 15px;
		display: grid;
		place-items: center;
		padding: 0 3px;
		border-radius: 999px;
		background: var(--odcu-bronze);
		color: var(--odcu-night);
		font-size: .49rem;
		font-weight: 800;
	}

	.odcu-mobile-site-header__toggle {
		align-content: center;
		gap: 5px;
	}

	.odcu-mobile-site-header__toggle i {
		width: 19px;
		height: 1px;
		display: block;
		background: currentColor;
		transform-origin: center;
		transition: transform .22s ease, opacity .18s ease;
	}

	.odcu-mobile-site-header.is-open .odcu-mobile-site-header__toggle i:first-child {
		transform: translateY(3px) rotate(45deg);
	}

	.odcu-mobile-site-header.is-open .odcu-mobile-site-header__toggle i:last-child {
		transform: translateY(-3px) rotate(-45deg);
	}

	.odcu-mobile-site-drawer {
		position: fixed;
		z-index: 1390;
		top: 60px;
		left: 0;
		right: 0;
		bottom: 0;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-8px);
		background:
			radial-gradient(circle at 90% 0%, rgba(155,116,61,.13), transparent 30%),
			var(--odcu-night);
		transition: opacity .2s ease, transform .22s ease, visibility .22s ease;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.admin-bar .odcu-mobile-site-drawer {
		top: 106px;
	}

	.odcu-mobile-site-header.is-open .odcu-mobile-site-drawer {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.odcu-mobile-site-drawer__inner {
		width: min(100%, 620px);
		min-height: 100%;
		display: flex;
		flex-direction: column;
		margin: 0 auto;
		padding: 30px 22px max(94px, calc(28px + env(safe-area-inset-bottom)));
	}

	.odcu-mobile-site-drawer__intro {
		display: grid;
		gap: 7px;
		padding-bottom: 20px;
		border-bottom: 1px solid rgba(255,255,255,.08);
	}

	.odcu-mobile-site-drawer__intro span {
		color: var(--odcu-bronze-soft);
		font-size: .62rem;
		font-weight: 600;
		letter-spacing: .14em;
		text-transform: uppercase;
	}

	.odcu-mobile-site-drawer__intro strong {
		max-width: 330px;
		color: var(--odcu-parchment);
		font-family: var(--odcu-font-heading);
		font-size: clamp(1.7rem, 8vw, 2.25rem);
		font-weight: 500;
		line-height: 1.03;
	}

	.odcu-mobile-site-menu {
		padding: 16px 0 24px;
	}

	.odcu-mobile-site-menu__list {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.odcu-mobile-site-menu__list > li {
		margin: 0;
		border-bottom: 1px solid rgba(255,255,255,.07);
	}

	.odcu-mobile-site-menu__list > li > a {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 58px;
		padding: 10px 34px 10px 0;
		color: var(--odcu-parchment)!important;
		font-family: var(--odcu-font-heading);
		font-size: 1.48rem;
		font-weight: 500;
		line-height: 1.05;
		text-decoration: none!important;
	}

	.odcu-mobile-site-menu__list > li > a::after {
		content: '↗';
		position: absolute;
		right: 2px;
		color: var(--odcu-bronze-soft);
		font-family: var(--odcu-font-body);
		font-size: .9rem;
		font-weight: 400;
	}

	.odcu-mobile-site-menu__list .current-menu-item > a {
		color: var(--odcu-bronze-soft)!important;
	}

	.odcu-mobile-site-drawer__footer {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 9px;
		margin-top: auto;
	}

	.odcu-mobile-site-drawer__footer > a {
		min-width: 0;
		display: grid;
		grid-template-columns: 28px minmax(0,1fr);
		align-items: center;
		gap: 9px;
		min-height: 67px;
		padding: 12px;
		border: 1px solid rgba(255,255,255,.09);
		border-radius: 10px;
		color: var(--odcu-parchment)!important;
		text-decoration: none!important;
	}

	.odcu-mobile-site-drawer__footer svg {
		width: 20px;
		height: 20px;
		fill: none;
		stroke: var(--odcu-bronze-soft);
		stroke-width: 1.4;
	}

	.odcu-mobile-site-drawer__footer span {
		min-width: 0;
		display: grid;
		gap: 2px;
	}

	.odcu-mobile-site-drawer__footer small {
		color: rgba(245,239,229,.5);
		font-size: .54rem;
		letter-spacing: .1em;
		text-transform: uppercase;
	}

	.odcu-mobile-site-drawer__footer strong {
		overflow: hidden;
		color: var(--odcu-parchment);
		font-size: .69rem;
		font-weight: 600;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	html.odcu-mobile-menu-open,
	body.odcu-mobile-menu-open {
		overflow: hidden!important;
	}

	body.odcu-mobile-menu-open .odcu-mobile-bottom-nav {
		opacity: 0;
		pointer-events: none;
	}
}

@media (min-width: 901px) {
	.odcu-mobile-site-header {
		display: none!important;
	}
}

@media (min-width: 783px) and (max-width: 900px) {
	.admin-bar .odcu-mobile-site-header { top: 32px; }
	.admin-bar .odcu-mobile-site-drawer { top: 92px; }
}

@media (max-width: 380px) {
	.odcu-mobile-site-header__bar {
		padding-inline: 10px;
	}
	.odcu-mobile-site-header .odcu-brandmark__type > span { font-size: .7rem; }
	.odcu-mobile-site-header .odcu-brandmark__type > small { font-size: .35rem; }
	.odcu-mobile-site-drawer__inner { padding-inline: 17px; }
}
