/* ─── CSS Custom Property Defaults ─────────────────────────────────────────
   Colours extracted from drawer-target.html:
     --blue-dark  #3a4a5c  → primary brand
     --white      #ffffff  → background
     --text-main  #2c3e50  → text
     --border     #dde2e8  → border/divider
   Overlay from .drawer-overlay { background: rgba(0,0,0,0.46) }
   ─────────────────────────────────────────────────────────────────────────── */
:root {
	--norweh-drawer-primary : #3a4a5c;
	--norweh-drawer-bg      : #ffffff;
	--norweh-drawer-text    : #2c3e50;
	--norweh-drawer-overlay : rgba(0, 0, 0, 0.46);
	--norweh-drawer-border  : #dde2e8;
	--norweh-drawer-width   : 300px;
}

/* ─── Widget Root ────────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .norweh-drawer-widget {
	display : inline-block;
}

/* ─── Trigger Button ─────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .hamburger {
	display         : flex;
	flex-direction  : column;
	justify-content : center;
	align-items     : center;
	gap             : 5px;
	width           : 34px;
	height          : 34px;
	background      : transparent;
	border          : none;
	cursor          : pointer;
	padding         : 4px;
	border-radius   : 5px;
	transition      : background 150ms;
}

.elementor-widget-norweh_mobile_drawer .hamburger:hover {
	background : #f4f6f8;
}

.elementor-widget-norweh_mobile_drawer .hamburger span {
	display          : block;
	width            : 100%;
	height           : 2px;
	background       : var(--norweh-drawer-text);
	border-radius    : 2px;
	transition       : all 280ms ease;
	transform-origin : center;
}

.elementor-widget-norweh_mobile_drawer .hamburger.open span:nth-child(1) {
	transform : translateY(7px) rotate(45deg);
}

.elementor-widget-norweh_mobile_drawer .hamburger.open span:nth-child(2) {
	opacity   : 0;
	transform : scaleX(0);
}

.elementor-widget-norweh_mobile_drawer .hamburger.open span:nth-child(3) {
	transform : translateY(-7px) rotate(-45deg);
}

.elementor-widget-norweh_mobile_drawer .hamburger__label {
	font-size   : 0.8rem;
	font-weight : 600;
	color       : var(--norweh-drawer-text);
	white-space : nowrap;
}

/* ─── Overlay ────────────────────────────────────────────────────────────── */
/* position: absolute — the parent .mobile-drawer is already fixed/full-screen.
   z-index: 1 keeps it below the panel (z-index: 2) within the same context. */
.elementor-widget-norweh_mobile_drawer .drawer-overlay {
	position       : absolute;
	inset          : 0;
	background     : var(--norweh-drawer-overlay);
	z-index        : 1;
	opacity        : 0;
	pointer-events : none;
	transition     : opacity 0.3s ease;
}

.elementor-widget-norweh_mobile_drawer .drawer-overlay.is-visible {
	opacity        : 1;
	pointer-events : auto;
}

/* ─── Mobile Drawer Container ────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .mobile-drawer {
	display  : none;
	position : fixed;
	inset    : 0;
	z-index  : 9999;
}

.elementor-widget-norweh_mobile_drawer .mobile-drawer.is-open {
	display : block;
}

/* ─── Drawer Panel ───────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .drawer-panel {
	position       : absolute;
	top            : 0;
	left           : 0;
	bottom         : 0;
	width          : var(--norweh-drawer-width, 300px);
	max-width      : 90vw;
	background     : var(--norweh-drawer-bg);
	overflow-y     : auto;
	display        : flex;
	flex-direction : column;
	transform      : translateX(-100%);
	transition     : transform 0.26s cubic-bezier(0.4, 0, 0.2, 1);
	z-index        : 2;
}

.elementor-widget-norweh_mobile_drawer .mobile-drawer.is-open .drawer-panel {
	transform : translateX(0);
}

/* Right-position variant */
.elementor-widget-norweh_mobile_drawer .drawer-panel.norweh-drawer__panel--right {
	left      : auto;
	right     : 0;
	transform : translateX(100%);
}

.elementor-widget-norweh_mobile_drawer .mobile-drawer.is-open .drawer-panel.norweh-drawer__panel--right {
	transform : translateX(0);
}

/* ─── Panel Header ───────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .drawer-header {
	display         : flex;
	align-items     : center;
	justify-content : space-between;
	padding         : 14px 18px;
	border-bottom   : 1px solid var(--norweh-drawer-border);
	flex-shrink     : 0;
}

.elementor-widget-norweh_mobile_drawer .norweh-drawer__title {
	font-size   : 1rem;
	font-weight : 700;
	color       : var(--norweh-drawer-text);
}

.elementor-widget-norweh_mobile_drawer .drawer-close {
	width           : 30px;
	height          : 30px;
	border          : none;
	background      : transparent;
	cursor          : pointer;
	border-radius   : 5px;
	display         : flex;
	align-items     : center;
	justify-content : center;
	color           : var(--norweh-drawer-text);
	font-size       : 1.1rem;
	transition      : background 150ms;
	flex-shrink     : 0;
}

.elementor-widget-norweh_mobile_drawer .drawer-close:hover {
	background : #f4f6f8;
}

/* ─── Phone Bar ──────────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .drawer-phone-bar {
	background    : #f4f6f8;
	padding       : 10px 18px;
	display       : flex;
	align-items   : center;
	gap           : 7px;
	border-bottom : 1px solid var(--norweh-drawer-border);
	flex-shrink   : 0;
}

.elementor-widget-norweh_mobile_drawer .drawer-phone-bar a,
.elementor-widget-norweh_mobile_drawer .drawer-phone-bar a:visited {
	font-size       : 0.78rem;
	font-weight     : 600;
	color           : #3a4a5c;
	text-decoration : none;
}

.elementor-widget-norweh_mobile_drawer .drawer-phone-bar svg {
	width       : 13px;
	height      : 13px;
	color       : var(--norweh-drawer-primary);
	flex-shrink : 0;
}

/* ─── Nav List ───────────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .drawer-nav {
	list-style : none;
	flex       : 1;
	padding    : 6px 0;
	margin     : 0;
}

.elementor-widget-norweh_mobile_drawer .drawer-nav-item {
	border-bottom : 1px solid var(--norweh-drawer-border);
}

.elementor-widget-norweh_mobile_drawer .drawer-item-row {
	display         : flex;
	align-items     : center;
	justify-content : space-between;
}

/* Extra specificity (.drawer-panel .drawer-item-row) beats site-wide a{} rules */
.elementor-widget-norweh_mobile_drawer .drawer-panel .drawer-item-row .drawer-link,
.elementor-widget-norweh_mobile_drawer .drawer-panel .drawer-item-row a.drawer-link {
	flex            : 1;
	padding         : 14px 18px;
	font-size       : 0.85rem !important;
	font-weight     : 400 !important;
	color           : #2c3e50 !important;
	text-decoration : none !important;
	display         : block;
	transition      : color 150ms;
	line-height     : 1.4;
}

.elementor-widget-norweh_mobile_drawer .drawer-panel .drawer-item-row .drawer-link:hover,
.elementor-widget-norweh_mobile_drawer .drawer-panel .drawer-item-row a.drawer-link:hover {
	color           : #3a4a5c;
	text-decoration : none;
}

.elementor-widget-norweh_mobile_drawer .drawer-arrow {
	width           : 44px;
	height          : 48px;
	border          : none;
	background      : transparent;
	cursor          : pointer;
	display         : flex;
	align-items     : center;
	justify-content : center;
	color           : #2c3e50;
	flex-shrink     : 0;
	transition      : background 150ms;
	padding         : 0;
}

.elementor-widget-norweh_mobile_drawer .drawer-arrow:hover {
	background : #f4f6f8;
}

/* CSS chevron — SVG child elements are stripped by wp_kses_post so we use ::after */
.elementor-widget-norweh_mobile_drawer .drawer-arrow::after {
	content       : '';
	display       : block;
	width         : 7px;
	height        : 7px;
	border-right  : 2.5px solid currentColor;
	border-bottom : 2.5px solid currentColor;
	transform     : rotate(45deg);
	transition    : transform 220ms ease;
	flex-shrink   : 0;
}

.elementor-widget-norweh_mobile_drawer .drawer-nav-item.open .drawer-arrow::after {
	transform : rotate(-135deg);
}

/* ─── Sub Menu ───────────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .drawer-sub {
	list-style : none;
	background : #f4f6f8;
	overflow   : hidden;
	max-height : 0;
	transition : max-height 300ms ease;
	padding    : 0;
	margin     : 0;
}

.elementor-widget-norweh_mobile_drawer .drawer-nav-item.open .drawer-sub {
	max-height : 600px;
}

/* Extra specificity beats site-wide a{} rules */
.elementor-widget-norweh_mobile_drawer .drawer-sub .drawer-sub-link,
.elementor-widget-norweh_mobile_drawer .drawer-sub a.drawer-sub-link {
	display         : block;
	padding         : 10px 18px 10px 30px;
	font-size       : 0.8rem;
	font-weight     : 400;
	color           : #4a5c72;
	text-decoration : none;
	border-top      : 1px solid #dde2e8;
	transition      : background 150ms, color 150ms;
}

.elementor-widget-norweh_mobile_drawer .drawer-sub .drawer-sub-link:hover,
.elementor-widget-norweh_mobile_drawer .drawer-sub a.drawer-sub-link:hover {
	background      : #e2e8f0;
	color           : #3a4a5c;
	text-decoration : none;
}

/* ─── Active / Current Menu Item ────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .drawer-nav-item.current-menu-item > .drawer-item-row .drawer-link,
.elementor-widget-norweh_mobile_drawer .drawer-nav-item.current-menu-item > .drawer-item-row a.drawer-link,
.elementor-widget-norweh_mobile_drawer .drawer-nav-item.current_page_item > .drawer-item-row .drawer-link,
.elementor-widget-norweh_mobile_drawer .drawer-nav-item.current_page_item > .drawer-item-row a.drawer-link {
	color       : var(--norweh-drawer-primary) !important;
	font-weight : 700 !important;
}

/* ─── Footer ─────────────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer .drawer-footer {
	padding         : 14px 18px;
	border-top      : 1px solid var(--norweh-drawer-border);
	display         : flex;
	align-items     : center;
	justify-content : space-between;
	gap             : 10px;
	flex-shrink     : 0;
}

.elementor-widget-norweh_mobile_drawer .drawer-footer .drawer-footer-link,
.elementor-widget-norweh_mobile_drawer .drawer-footer a.drawer-footer-link {
	font-size       : 0.76rem;
	font-weight     : 500;
	color           : #6b7c93;
	text-decoration : none;
	transition      : color 150ms;
}

.elementor-widget-norweh_mobile_drawer .drawer-footer .drawer-footer-link:hover,
.elementor-widget-norweh_mobile_drawer .drawer-footer a.drawer-footer-link:hover {
	color           : #3a4a5c;
	text-decoration : none;
}

.elementor-widget-norweh_mobile_drawer .country-switcher {
	position : relative;
}

.elementor-widget-norweh_mobile_drawer .country-btn {
	display       : flex;
	align-items   : center;
	gap           : 4px;
	padding       : 4px 7px;
	border        : 1px solid var(--norweh-drawer-border);
	border-radius : 5px;
	background    : var(--norweh-drawer-bg);
	cursor        : pointer;
	font-size     : 0.74rem;
	font-weight   : 600;
	color         : var(--norweh-drawer-text);
	transition    : background 150ms;
}

.elementor-widget-norweh_mobile_drawer .country-btn:hover {
	background : #f4f6f8;
}

.elementor-widget-norweh_mobile_drawer .country-list {
	position       : absolute;
	bottom         : calc(100% + 6px);
	right          : 0;
	list-style     : none;
	margin         : 0;
	padding        : 4px 0;
	background     : var(--norweh-drawer-bg);
	border         : 1px solid var(--norweh-drawer-border);
	border-radius  : 6px;
	box-shadow     : 0 4px 12px rgba(0, 0, 0, 0.12);
	min-width      : 130px;
	opacity        : 0;
	pointer-events : none;
	transform      : translateY(4px);
	transition     : opacity 150ms ease, transform 150ms ease;
	z-index        : 10;
}

.elementor-widget-norweh_mobile_drawer .country-switcher.is-open .country-list {
	opacity        : 1;
	pointer-events : auto;
	transform      : translateY(0);
}

.elementor-widget-norweh_mobile_drawer .country-list li a {
	display         : flex;
	align-items     : center;
	gap             : 6px;
	padding         : 8px 14px;
	font-size       : 0.76rem;
	font-weight     : 500;
	color           : var(--norweh-drawer-text);
	text-decoration : none;
	transition      : background 150ms;
}

.elementor-widget-norweh_mobile_drawer .country-list li a:hover {
	background      : #f4f6f8;
	text-decoration : none;
}

/* ─── Body Scroll Lock ───────────────────────────────────────────────────── */
body.norweh-drawer-open {
	overflow : hidden;
}

/* ─── Focus Visible ──────────────────────────────────────────────────────── */
.elementor-widget-norweh_mobile_drawer *:focus-visible {
	outline        : 2px solid var(--norweh-drawer-primary);
	outline-offset : 2px;
}

/* ─── Responsive Visibility ──────────────────────────────────────────────── */

/* Hide on desktop (>= 1025px) */
@media (min-width: 1025px) {
	.elementor-widget-norweh_mobile_drawer {
		display : none !important;
	}
}
