/* Storefront header: shared with the account and mini-cart redesign palette.
 * The theme is never edited: the desktop header is scoped by the theme's own
 * `.wrapper .site-header`, the mobile header is the plugin's `.dvz-mobile-header`
 * (storefront-header.php). Elementor template IDs below belong to the existing
 * desktop header (4297). Saved responsive Elementor headers are left alone. */
.wrapper .site-header,
.dvz-mobile-header {
	--dvz-header-primary: #3f0261;
	--dvz-header-ink: #2b2233;
	--dvz-header-muted: #756c7e;
	--dvz-header-line: #e9e3ef;
	--dvz-header-field: #f7f5fa;
	background: #fff;
	color: var(--dvz-header-ink);
	border-bottom: 1px solid var(--dvz-header-line);
}

/* A single, readable action replaces the detached avatar and instruction. */
.wrapper .site-header .header-account .account-box .box-inner,
.dvz-mobile-header .header-account .account-box .box-inner {
	display: inline-flex;
	flex-direction: row;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 18px;
	border: 1px solid var(--dvz-header-line);
	border-radius: 14px;
	background: #fff;
	color: var(--dvz-header-primary);
	text-decoration: none;
	transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.wrapper .site-header .header-account.is-guest .account-box .box-inner,
.dvz-mobile-header .header-account.is-guest .account-box .box-inner {
	background: var(--dvz-header-primary);
	border-color: var(--dvz-header-primary);
	color: #fff;
	box-shadow: 0 4px 12px rgba(63, 2, 97, .12);
}
.wrapper .site-header .header-account .account-box .box-inner:hover,
.dvz-mobile-header .header-account .account-box .box-inner:hover {
	background: var(--dvz-header-field);
	border-color: #cdbbda;
}
.wrapper .site-header .header-account.is-guest .account-box .box-inner:hover,
.dvz-mobile-header .header-account.is-guest .account-box .box-inner:hover {
	background: #551780;
	border-color: #551780;
}
.wrapper .site-header .header-account .account-box .box-inner .icon,
.dvz-mobile-header .header-account .account-box .box-inner .icon {
	flex: 0 0 20px;
	width: 20px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	color: inherit !important;
	font-size: 19px;
}
/* Template 4297 colours this icon white with !important; inherit the button's ink. */
.wrapper .site-header .elementor-element .header-account .account-box .box-inner .icon { color: inherit !important; }
.wrapper .site-header .header-account .account-box .box-inner .icon img,
.dvz-mobile-header .header-account .account-box .box-inner .icon img {
	position: static;
	width: 24px;
	height: 24px;
	border-radius: 50%;
}
.wrapper .site-header .header-account .account-box .box-inner .title,
.dvz-mobile-header .header-account .account-box .box-inner .title {
	color: inherit !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
	white-space: nowrap;
}
.wrapper .site-header .header-account .account-box .box-inner .subtitle,
.dvz-mobile-header .header-account .account-box .box-inner .subtitle { display: none; }
.wrapper .site-header .header-account .account-box .account-links,
.dvz-mobile-header .header-account .account-box .account-links {
	inset-inline-start: auto;
	inset-inline-end: 0;
	width: 260px;
	max-width: calc(100vw - 32px);
	padding: 8px;
	border: 1px solid var(--dvz-header-line);
	border-radius: 18px;
	box-shadow: 0 16px 40px rgba(43, 22, 63, .12);
}
.wrapper .site-header .header-account .account-box:focus-within .account-links,
.dvz-mobile-header .header-account .account-box:focus-within .account-links {
	margin-top: 10px;
	opacity: 1;
	visibility: visible;
}
.wrapper .site-header .header-account .account-links > li > a,
.dvz-mobile-header .header-account .account-links > li > a {
	padding: 10px 12px;
	border-radius: 10px;
	text-align: right;
	color: var(--dvz-header-ink);
}
.wrapper .site-header .header-account .account-links > li > a:hover,
.dvz-mobile-header .header-account .account-links > li > a:hover,
.wrapper .site-header .header-account .account-links > li > a:focus-visible,
.dvz-mobile-header .header-account .account-links > li > a:focus-visible {
	background: var(--dvz-header-field);
	color: var(--dvz-header-primary);
}
.wrapper .site-header a:focus-visible,
.dvz-mobile-header a:focus-visible,
.wrapper .site-header button:focus-visible,
.dvz-mobile-header button:focus-visible,
.wrapper .site-header input:focus-visible,
.dvz-mobile-header input:focus-visible {
	outline: 3px solid #9764cc;
	outline-offset: 3px;
}

/* Desktop: full-width white surface, quiet announcement, two aligned rows. */
/* Template 4297's CSS sets header.d-none to display: initial !important, which
 * defeats Bootstrap's d-none/d-lg-block; these two display rules restore them. */
@media (min-width: 992px) {
	.wrapper .site-header { display: block !important; margin-bottom: 24px; padding: 0 20px; }
	.wrapper .site-header .elementor-4297 > .elementor-section > .elementor-container { max-width: 1200px; }
	.wrapper .site-header .elementor-4297 .elementor-element-4a9198e { width: calc(100% + 40px); margin: 0 -20px; }
	.wrapper .site-header .elementor-4297 .elementor-element-4a9198e > .elementor-container { max-width: none; }
	.wrapper .site-header .elementor-4297 .elementor-element-59f8ddf > .elementor-widget-wrap { padding: 0; }
	.wrapper .site-header .elementor-4297 .elementor-element-bb499f4 {
		position: static !important;
		width: 100% !important;
		margin: 0;
		padding: 7px 16px;
		background: #f4eff8;
		color: #553369;
		font-size: 12px;
		line-height: 1.8;
		text-align: center;
	}
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-bb499f4 > .elementor-widget-container { height: auto; padding: 0; background: transparent; }
	/* Elementor still creates a placeholder for the former fixed banner. */
	.wrapper .site-header .elementor-element-bb499f4.elementor-sticky__spacer { display: none !important; }
	.wrapper .site-header .elementor-element-bb499f4 p { margin: 0; }
	.wrapper .site-header .elementor-4297 .elementor-element-39991713 {
		display: block !important;
		margin: 0;
		padding: 22px 0 18px;
	}
	.wrapper .site-header .elementor-element-39991713 > .elementor-container {
		display: grid;
		grid-template-columns: 190px minmax(0, 1fr) auto;
		align-items: center;
		gap: 32px;
	}
	.wrapper .site-header .elementor-element-39991713 > .elementor-container > .elementor-column { width: auto; min-width: 0; }
	.wrapper .site-header .elementor-element-39991713 .elementor-widget-wrap { padding: 0; }
	.wrapper .site-header .elementor-element-39991713 .elementor-element-7a1e05d3 { display: none; }
	.wrapper .site-header .elementor-element-4335554b img { width: 190px; height: auto; }
	.wrapper .site-header .elementor-4297 .elementor-element-5993a421 { display: block !important; padding: 0; margin: 0; }
	.wrapper .site-header .elementor-element-5993a421 > .elementor-container {
		display: flex;
		align-items: center;
		gap: 24px;
		border-top: 1px solid #f1edf5;
		padding: 8px 0;
	}
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-31ba1103 { flex: 1; min-width: 0; width: auto; }
	.wrapper .site-header .elementor-element-2b69524a { display: none; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-254a9a37 { flex: 0 0 auto; width: auto; }
	.wrapper .site-header .elementor-element-5993a421 .elementor-widget-wrap { padding: 0; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-7520126b .header-main-nav.header_menu_type_normal { padding: 0; background: transparent; border-radius: 0; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-7520126b .header-main-nav .header-main-menu ul.main-menu { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 2px; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-7520126b .header-main-nav .header-main-menu > ul > li { margin: 0; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-7520126b .header-main-nav .main-menu > li > a {
		padding: 12px 10px;
		border-radius: 10px;
		color: var(--dvz-header-ink);
		font-size: 13px;
		font-weight: 600;
	}
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-7520126b .header-main-nav .main-menu > li:hover > a,
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-7520126b .header-main-nav .main-menu > li.current-menu-item > a {
		background: var(--dvz-header-field);
		color: var(--dvz-header-primary);
	}
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-7520126b .header-main-nav .main-menu > li > a .item-icon { width: 24px; height: 24px; margin-left: 7px; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-3e047a29 .header-cart-basket .cart-basket-box {
		min-height: 44px;
		padding: 10px 16px;
		gap: 10px;
		border: 1px solid var(--dvz-header-line);
		border-radius: 12px;
		background: var(--dvz-header-field);
		color: var(--dvz-header-primary);
		box-shadow: none;
	}
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-3e047a29 .header-cart-basket .cart-basket-box .icon { color: inherit !important; font-size: 21px; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-3e047a29 .header-cart-basket .cart-basket-box .title { color: inherit !important; font-size: 13px; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-3e047a29 .header-cart-basket .cart-basket-box .count { position: static; margin: 0; min-width: 22px; height: 22px; line-height: 22px; background: var(--dvz-header-primary); color: #fff; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-775019af .header-search .search-box .search-form-fields {
		min-height: 50px;
		padding: 4px 6px;
		border: 1px solid var(--dvz-header-line);
		border-radius: 14px;
		background: var(--dvz-header-field);
	}
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-775019af .header-search .search-box .search-form-fields:focus-within { border-color: #9764cc; background: #fff; }
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-775019af .header-search .search-box .search-form-fields .search-input {
		height: 42px;
		padding: 0 12px;
		background: transparent;
		color: var(--dvz-header-ink);
		font-size: 13px;
		border-radius: 10px;
	}
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-775019af .header-search .search-box .search-form-fields .search-buttons-group .search-submit {
		width: 42px;
		height: 42px;
		padding: 0;
		border-radius: 10px;
		background: #eee5f5;
		color: var(--dvz-header-primary);
		box-shadow: none;
	}
	.wrapper .site-header .elementor-4297 .elementor-element.elementor-element-775019af .header-search .search-box .search-form-fields .search-buttons-group .search-filters { height: 42px; color: var(--dvz-header-muted); }
}

/* The mobile brand remains visible alongside a labelled account action. */
.dvz-mobile-header { margin-bottom: 18px; padding: 16px; }
.dvz-mobile-header__top,
.dvz-mobile-header__search { max-width: 728px; margin-inline: auto; }
.dvz-mobile-header__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.dvz-mobile-header__brand { min-width: 0; flex: 1; }
.dvz-mobile-header__brand a { display: inline-flex; align-items: center; color: var(--dvz-header-primary); font-weight: 700; }
.dvz-mobile-header__brand img { display: block; width: 167px; max-width: 100%; height: auto; }
.dvz-mobile-header .header-account { flex-shrink: 0; }
.dvz-mobile-header .header-account .account-box .box-inner { min-height: 44px; padding: 0 12px; gap: 8px; border-radius: 12px; }
.dvz-mobile-header .header-account .account-box .box-inner .title { font-size: 12px; }
.dvz-mobile-header .header-account .account-box .box-inner .icon { font-size: 17px; }
.dvz-mobile-header__search {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-block: 0;
	padding: 4px;
	background: var(--dvz-header-field);
	border: 1px solid var(--dvz-header-line);
	border-radius: 12px;
}
.dvz-mobile-header__search:focus-within { border-color: #9764cc; }
.dvz-mobile-header__search input[type="search"] { flex: 1; min-width: 0; width: 100%; height: 44px; padding: 0; padding-inline-start: 10px; border: 0; background: transparent; color: var(--dvz-header-ink); font-size: 16px; }
.dvz-mobile-header__search input::placeholder { color: var(--dvz-header-muted); font-size: 13px; }
/* An integrated search icon, with a full 44px touch target and equal insets. */
.dvz-mobile-header__search button {
	display: grid;
	place-items: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
	color: var(--dvz-header-primary);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.dvz-mobile-header__search button:hover,
.dvz-mobile-header__search button:active { background: #eee5f5; }
@media (max-width: 991.98px) {
	.wrapper .site-header { display: none !important; }
}
@media (min-width: 992px) {
	.dvz-mobile-header { display: none; }
}
/* Visually hidden label that does not depend on Elementor's frontend CSS. */
.dvz-mobile-header .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
@media (max-width: 359px) {
	.dvz-mobile-header { padding: 12px; }
	.dvz-mobile-header__top { gap: 10px; }
	.dvz-mobile-header .header-account .account-box .box-inner { padding: 0 10px; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
	.wrapper .site-header .header-account .account-box .box-inner,
	.dvz-mobile-header .header-account .account-box .box-inner,
	.wrapper .site-header .header-account .account-box .account-links,
	.dvz-mobile-header .header-account .account-box .account-links { transition: none; }
}
