/* =========================================================================
   Ian en Wijn — coded site header (IAN-18).
   Strak en zakelijk: the olive brand bar, hairlines, restrained uppercase labels,
   gold only on the primary action and the count badges. Tokens come from
   assets/css/design-system.css. Everything is scoped under .iew-site-header /
   .iew-mnav so nothing leaks into Elementor page content.
   Desktop is the default; the two responsive breakpoints are generated from the
   Elementor kit in inc/site-header.php (iew_header_responsive_css) and injected
   with wp_add_inline_style(), so the header collapses in lockstep with the site.
   ========================================================================= */

.iew-site-header,
.iew-site-header *,
.iew-mnav,
.iew-mnav * { box-sizing: border-box; }

.iew-site-header {
	font-family: var(--iew-font-sans);
	color: var(--iew-ink-900);
	/* Sticky with a negative top equal to the line above the bar: that line (USPs or the customer
	   bar) scrolls away, the olive bar stays. Nothing changes size, so nothing can jump. JS measures
	   the line's height into --iew-topbar-h (0 when it is hidden). */
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--iew-topbar-h, 0px));
	z-index: 50;
	-webkit-tap-highlight-color: transparent;
}
/* Anchor targets and focused elements land below the sticky bar, not underneath it. */
html { scroll-padding-top: 84px; }
.iew-site-header a, .iew-site-header button, .iew-mnav a, .iew-mnav button { touch-action: manipulation; }

/* ---------- shared icon button ---------- */
.iew-icn-btn {
	width: 40px; height: 40px; padding: 0;
	background: transparent; border: none; color: var(--iew-paper);
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer; border-radius: var(--iew-radius-pill);
	transition: background var(--iew-dur-fast), color var(--iew-dur-fast); position: relative; text-decoration: none;
}
.iew-icn-btn svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.iew-icn-btn:hover { background: rgba(255, 255, 255, 0.08); color: var(--iew-paper); }

.iew-badge-num {
	position: absolute; top: 3px; right: 3px;
	min-width: 17px; height: 17px; padding: 0 4px;
	background: var(--iew-gold-500); color: var(--iew-olive-900); border-radius: var(--iew-radius-pill);
	font-family: var(--iew-font-mono); font-size: 10px; font-weight: 700; line-height: 17px; text-align: center;
	box-shadow: 0 0 0 2px var(--iew-olive-700);
}

/* ---------- line above the bar: USPs + Klant worden (guests) or the customer bar ---------- */
.iew-usp {
	background: var(--iew-olive-900); color: var(--iew-paper-2);
	padding: 8px 0;
	font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
.iew-usp ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 0; justify-content: flex-start; }
.iew-usp li { opacity: 0.9; white-space: nowrap; }
.iew-usp li + li::before { content: '·'; margin: 0 14px; opacity: 0.5; }
/* Guests: USPs left, the Klant worden link right. Paper, not gold: gold stays on the primary button. */
.iew-usp--gast .iew-nav__in { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.iew-usp--gast .iew-usp__list { min-width: 0; overflow: hidden; flex-wrap: nowrap; }
.iew-usp__cta { flex: none; color: var(--iew-paper); text-decoration: underline; text-decoration-color: rgba(251, 248, 242, 0.45); text-underline-offset: 4px; white-space: nowrap; }
.iew-usp__cta:hover { text-decoration-color: currentColor; }
/* Logged-in customers: the bar carries their delivery slot (one line, [iew_dash_bestelslot vorm="kort"]) and three quick links. */
.iew-usp--klant .iew-nav__in { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.iew-usp--klant .iew-usp__slot { min-width: 0; }
.iew-site-header .iew-usp--klant .iew-slot { display: block; margin: 0; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; text-transform: none; color: var(--iew-paper-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iew-usp--klant .iew-usp__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: 0; flex: none; justify-content: flex-end; }
.iew-usp__links li + li::before { content: '·'; margin: 0 12px; opacity: 0.5; }
.iew-usp__links a { color: var(--iew-paper-2); text-decoration: none; opacity: 0.9; }
.iew-usp__links a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- main bar ---------- */
/* Full-bleed bar, contents on the same 1240px measure as the page content. */
.iew-nav {
	--iew-nav-pad: 12px;
	background: var(--iew-olive-700); color: var(--iew-paper);
	padding: var(--iew-nav-pad) 0;
	position: relative;
}
.iew-nav__in {
	max-width: 1240px; margin: 0 auto; padding: 0 28px;
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px;
}
.iew-nav > .iew-nav__in { min-height: 46px; }
.iew-burger { display: none; }
.iew-logo-link { display: inline-flex; align-items: center; }
.iew-logo { height: 46px; width: auto; display: block; }

/* Items stretch the full bar height so the hover from trigger to panel never breaks. */
/* The spine sits left, next to the logo; the tools keep the right edge. The menu extends into the
   bar's vertical padding so every item spans the full bar height: panels and dropdowns then open
   exactly at the bar's bottom edge and the hover never crosses a gap. */
.iew-menu { display: flex; gap: 18px; justify-content: flex-start; align-items: stretch; align-self: stretch; min-width: 0; margin: calc(-1 * var(--iew-nav-pad)) 0 calc(-1 * var(--iew-nav-pad)) 12px; }
.iew-menu-item { display: flex; align-items: stretch; }
.iew-menu-link {
	color: var(--iew-paper); text-decoration: none;
	font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
	padding: 18px 2px; position: relative; transition: color var(--iew-dur-fast) var(--iew-ease);
	display: inline-flex; align-items: center; white-space: nowrap;
}
.iew-caret { margin-left: 7px; width: 9px; height: 9px; stroke: currentColor; fill: none; stroke-width: 2.2; opacity: 0.7; transition: transform var(--iew-dur-fast) var(--iew-ease); }
.iew-has-mega:hover .iew-menu-link > .iew-caret,
.iew-has-mega.is-open .iew-menu-link > .iew-caret { transform: rotate(180deg); }

/* ---------- right-hand tools ---------- */
.iew-tools { display: flex; align-items: center; gap: 4px; min-width: 0; }
.iew-login-icon { display: none; }
.iew-search-toggle { display: inline-flex; }

/* logged-in: the search field lives in the bar itself */
.iew-search-inline {
	display: flex; align-items: center; gap: 8px;
	width: 320px; height: 38px; padding: 0 12px; margin-right: 6px;
	background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--iew-radius-xs); transition: border-color var(--iew-dur-fast), background var(--iew-dur-fast);
}
.iew-search-inline:focus-within { background: var(--iew-paper); border-color: var(--iew-paper); }
.iew-search-inline svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.7; flex: none; opacity: 0.8; }
.iew-search-inline:focus-within svg { color: var(--iew-ink-500); }
.iew-search-inline input {
	flex: 1; min-width: 0; border: none; outline: none; background: transparent;
	font-family: var(--iew-font-sans); font-size: 14px; color: var(--iew-paper);
}
.iew-search-inline input::placeholder { color: rgba(251, 248, 242, 0.65); }
.iew-search-inline:focus-within input { color: var(--iew-ink-900); }
.iew-search-inline:focus-within input::placeholder { color: var(--iew-ink-500); }
.iew-tools:has(.iew-search-inline) .iew-search-toggle { display: none; }

.iew-btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 11px 18px; font-size: 11px; font-weight: 700; letter-spacing: 0.18em;
	text-transform: uppercase; border-radius: var(--iew-radius-xs); border: 1px solid transparent;
	cursor: pointer; text-decoration: none; white-space: nowrap;
	transition: background var(--iew-dur-fast), color var(--iew-dur-fast), border-color var(--iew-dur-fast);
}
.iew-btn-ghost { color: var(--iew-paper); border-color: rgba(255, 255, 255, 0.3); background: transparent; margin-right: 4px; }
.iew-btn-ghost:hover { border-color: var(--iew-paper); color: var(--iew-paper); }
.iew-btn-primary { background: var(--iew-gold-500); color: var(--iew-olive-900); }
.iew-btn-primary:hover { background: var(--iew-gold-400); color: var(--iew-olive-900); }

/* ---------- search: JetSearch block (live search, also by article number) ---------- */
.iew-search-inline.iew-search-inline--jet,
.iew-search-inline.iew-search-inline--jet:focus-within { padding: 0; background: none; border: 0; height: auto; }
.iew-jetsearch, .iew-jetsearch .jet-ajax-search, .jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__form,
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__fields-holder, .jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__field-wrapper { width: 100%; margin: 0; }
.iew-jetsearch .jet-ajax-search { position: relative; font-family: var(--iew-font-sans); }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__form { display: flex; border: 0; padding: 0; background: none; box-shadow: none; }
/* The field: minimal. A short "Zoeken" at rest (the script swaps in "Naam of artikelnummer" while
   it has focus), no hard border, and one ring on focus instead of border + offset outline. */
.jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"] {
	width: 100%; height: 38px; margin: 0; padding: 0 32px 0 36px;
	font-family: var(--iew-font-sans); font-size: 14px; line-height: 38px;
	border: 1px solid transparent; border-radius: var(--iew-radius-xs); box-shadow: none; outline: none;
	background: no-repeat 12px 50% / 15px 15px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FBF8F2' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
	transition: background-color var(--iew-dur-fast), box-shadow var(--iew-dur-fast);
}
/* In the olive bar (customer, desktop) and the mobile menu: a borderless translucent field. */
.jet-ajax-search-block.iew-jetsearch--inline input.jet-ajax-search__field[type="search"],
.jet-ajax-search-block.iew-jetsearch--sheet input.jet-ajax-search__field[type="search"] { background-color: rgba(255, 255, 255, 0.08); color: var(--iew-paper); }
.jet-ajax-search-block.iew-jetsearch--inline input.jet-ajax-search__field[type="search"]:hover,
.jet-ajax-search-block.iew-jetsearch--sheet input.jet-ajax-search__field[type="search"]:hover { background-color: rgba(255, 255, 255, 0.11); }
.jet-ajax-search-block.iew-jetsearch--sheet input.jet-ajax-search__field[type="search"],
.jet-ajax-search-block.iew-jetsearch--row input.jet-ajax-search__field[type="search"] { height: 44px; line-height: 44px; font-size: 15px; }
.jet-ajax-search-block.iew-jetsearch--inline input.jet-ajax-search__field[type="search"]::placeholder,
.jet-ajax-search-block.iew-jetsearch--sheet input.jet-ajax-search__field[type="search"]::placeholder { color: rgba(251, 248, 242, 0.8); opacity: 1; }
/* The toggled search row sits on paper: a white field with a hairline. */
.jet-ajax-search-block.iew-jetsearch--row input.jet-ajax-search__field[type="search"] { background-color: var(--iew-surface); border-color: var(--iew-ink-100); color: var(--iew-ink-900); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6E64' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); }
/* Focus: white field, dark icon, one gold ring flush with the field (no border, no offset outline). */
.iew-site-header .jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"]:focus,
.iew-site-header .jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"]:focus-visible,
.iew-mnav .jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"]:focus,
.iew-mnav .jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"]:focus-visible {
	background-color: var(--iew-surface); border-color: transparent; color: var(--iew-ink-900);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6E64' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
	outline: none !important; box-shadow: 0 0 0 2px var(--iew-gold-500) !important;
}
/* On paper a gold ring barely shows: the light row gets an olive line with a soft halo instead. */
.iew-site-header .jet-ajax-search-block.iew-jetsearch--row input.jet-ajax-search__field[type="search"]:focus,
.iew-site-header .jet-ajax-search-block.iew-jetsearch--row input.jet-ajax-search__field[type="search"]:focus-visible {
	border-color: var(--iew-olive-700); box-shadow: 0 0 0 3px rgba(67, 76, 55, 0.14) !important;
}
.jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"]::placeholder { font-weight: 400; }
.jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"]:focus::placeholder,
.jet-ajax-search-block.iew-jetsearch--row input.jet-ajax-search__field[type="search"]::placeholder { color: var(--iew-ink-500); }
/* Customer bar on desktop: compact at rest, room to type once focused. */
.iew-search-inline.iew-search-inline--jet { width: 220px; transition: width var(--iew-dur) var(--iew-ease); }
.iew-search-inline.iew-search-inline--jet:focus-within { width: 420px; } /* = the results panel below it */
@media (prefers-reduced-motion: reduce) { .iew-search-inline.iew-search-inline--jet { transition: none; } }
.iew-searchrow .iew-search--jet { max-width: 760px; padding: 0; border: 0; background: none; height: auto; }
.iew-msearch.iew-msearch--jet { display: block; padding: 0; border: 0; background: none; height: auto; }

/* The browser's own clear (×) button: a quiet cross in the field's text colour. */
.jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none; appearance: none; width: 14px; height: 14px; cursor: pointer; opacity: 0.6;
	background: no-repeat center / 14px 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6E64' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
}
.jet-ajax-search-block.iew-jetsearch input.jet-ajax-search__field[type="search"]::-webkit-search-cancel-button:hover { opacity: 1; }

/* Results dropdown: a white card under the field, above the header panels. */
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__results-area {
	z-index: 70; margin-top: 6px; background: var(--iew-surface); color: var(--iew-ink-900);
	border: 1px solid var(--iew-ink-100); border-radius: var(--iew-radius-xs); box-shadow: var(--iew-shadow-lg);
	min-width: 300px; max-height: min(70vh, 560px); overflow-y: auto; text-align: left;
}
.jet-ajax-search-block.iew-jetsearch--inline .jet-ajax-search .jet-ajax-search__results-area { left: auto; right: 0; width: 420px; }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__results-header { padding: 10px 14px 6px; border-bottom: 1px solid var(--iew-ink-100); }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__results-count,
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__results-count:hover,
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__results-count:focus {
	background: none; border: 0; padding: 0; color: var(--iew-ink-500);
	font-family: var(--iew-font-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
.iew-site-header .jet-ajax-search-block.iew-jetsearch a.jet-ajax-search__item-link,
.iew-mnav .iew-msheet .jet-ajax-search-block.iew-jetsearch a.jet-ajax-search__item-link {
	display: flex; align-items: center; gap: 12px; padding: 10px 14px; color: var(--iew-ink-900); text-decoration: none;
	border-bottom: 1px solid var(--iew-ink-100); transition: background var(--iew-dur-fast);
}
.iew-site-header .jet-ajax-search-block.iew-jetsearch a.jet-ajax-search__item-link:hover,
.iew-mnav .iew-msheet .jet-ajax-search-block.iew-jetsearch a.jet-ajax-search__item-link:hover,
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__results-item:focus-within a.jet-ajax-search__item-link { background: var(--iew-paper-2); color: var(--iew-ink-900); }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__item-thumbnail { flex: none; width: 44px; height: 56px; margin: 0; }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__item-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__item-title { font-family: var(--iew-font-sans); font-size: 15px; font-weight: 500; line-height: 1.3; color: var(--iew-ink-900); margin: 0; }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__item-content { font-size: 13px; line-height: 1.4; color: var(--iew-ink-500); margin: 2px 0 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__item-title mark, .jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__item-content mark { background: rgba(241, 187, 71, 0.35); color: inherit; }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__results-footer { padding: 10px 14px 12px; }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__full-results,
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__full-results:hover,
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__full-results:focus {
	background: none; border: 0; padding: 0; color: var(--iew-olive-700);
	font-family: var(--iew-font-sans); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px;
}
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__message { padding: 12px 14px; font-size: 14px; color: var(--iew-ink-500); }
.jet-ajax-search-block.iew-jetsearch .jet-ajax-search .jet-ajax-search__spinner .rect { background-color: var(--iew-olive-700); }
.iew-site-header .iew-jetsearch button:focus-visible,
.iew-mnav .iew-jetsearch button:focus-visible { outline: 2px solid var(--iew-gold-500); outline-offset: 2px; }

/* ---------- cart: WooCommerce Mini-Cart block, styled like the other header icons ---------- */
.iew-minicart { display: inline-flex; align-items: center; }
.iew-minicart .wc-block-mini-cart { margin: 0; }
.iew-site-header .iew-minicart .wc-block-mini-cart__button {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; min-width: 0; padding: 0;
	background: transparent; border: none; color: var(--iew-paper);
	border-radius: var(--iew-radius-pill); cursor: pointer; position: relative;
	transition: background var(--iew-dur-fast), color var(--iew-dur-fast);
}
.iew-site-header .iew-minicart .wc-block-mini-cart__button:hover { background: rgba(255, 255, 255, 0.08); color: var(--iew-paper); }
.iew-minicart .wc-block-mini-cart__icon { width: 21px; height: 21px; fill: currentColor; }
.iew-minicart .wc-block-mini-cart__amount { display: none; }
.iew-minicart .wc-block-mini-cart__quantity-badge { position: static; }
.iew-site-header .iew-minicart .wc-block-mini-cart__badge {
	position: absolute; top: 3px; right: 3px; left: auto; margin: 0; transform: none;
	min-width: 17px; height: 17px; padding: 0 4px;
	/* WooCommerce writes the badge colours inline; the header badges are gold. */
	background: var(--iew-gold-500) !important; color: var(--iew-olive-900) !important; border: none; border-radius: var(--iew-radius-pill);
	font-family: var(--iew-font-mono); font-size: 10px; font-weight: 700; line-height: 17px; text-align: center;
	box-shadow: 0 0 0 2px var(--iew-olive-700);
}

/* The drawer is rendered at the end of <body>, outside the header. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button {
	font-family: var(--iew-font-sans); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
	border-radius: var(--iew-radius-xs);
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:focus { background: var(--iew-gold-500); border-color: var(--iew-gold-500); color: var(--iew-olive-900); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover { background: var(--iew-gold-400); border-color: var(--iew-gold-400); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart:hover { color: var(--iew-ink-900); border-color: var(--iew-ink-300); background: transparent; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart:hover { border-color: var(--iew-ink-900); }
/* Quantity field: Hello Elementor's input padding (8px 16px) left 13px for the number in WooCommerce's
   45px field, so "78" was cut off and 7266 showed as "72". Room for four digits, centred. */
/* WooCommerce rings focused drawer buttons in WordPress blue, also after a mouse click: keyboard
   focus only, in the gold ring the rest of the header uses. */
body .wc-block-mini-cart__drawer .wc-block-components-button.wp-element-button:not(.is-link):focus { box-shadow: none; }
body .wc-block-mini-cart__drawer .wc-block-components-button.wp-element-button:not(.is-link):focus-visible { box-shadow: none; outline: 2px solid var(--iew-gold-500); outline-offset: 2px; }
body .wc-block-mini-cart__drawer .wc-block-components-button.wc-block-components-drawer__close:not(.is-link):focus-visible { outline-offset: -4px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { width: auto; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	flex: 0 0 56px; width: 56px; min-width: 56px; padding: 8px 4px; text-align: center; font-variant-numeric: tabular-nums;
}
/* The drawer sits outside the header and would inherit the Elementor kit's body colours (#313131 on
   #FCFCFB): put it on the design tokens like the rest of the header. */
.wc-block-mini-cart__drawer .wc-block-components-drawer,
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block,
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block { background-color: var(--iew-surface); color: var(--iew-ink-900); font-family: var(--iew-font-sans); }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { background-color: var(--iew-surface) !important; color: var(--iew-ink-900); } /* WooCommerce writes the kit background inline */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title,
.wc-block-mini-cart__drawer .wc-block-mini-cart__title span,
.wc-block-mini-cart__drawer h2 { color: var(--iew-ink-900); }
.wc-block-mini-cart__drawer .wc-block-components-product-name,
.wc-block-mini-cart__drawer .wc-block-components-product-name:hover { color: var(--iew-ink-900); }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { border-color: var(--iew-ink-300); }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button { color: var(--iew-ink-900); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { border-top-color: var(--iew-ink-100); }
.wc-block-mini-cart__drawer .wc-block-components-totals-item__description,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__description { color: var(--iew-ink-500); }
/* A line whose quantity is locked (read-only) is the transport surcharge (core pins it via the Store
   API; nothing in the catalogue is "sold individually"): no remove button either, removing it would
   only bounce back because TransportContribution re-adds it. */
.wc-block-mini-cart__drawer .wc-block-cart-items__row:has(.wc-block-components-quantity-selector__input[readonly]) .wc-block-cart-item__remove-link { display: none; }

/* ---------- account icon + dropdown ---------- */
.iew-dd-anchor { position: relative; }
.iew-account[aria-expanded="true"] { background: rgba(255, 255, 255, 0.12); }
.iew-dropdown {
	position: absolute; top: calc(100% + 10px); right: 0; width: 300px;
	background: var(--iew-surface); border: 1px solid var(--iew-ink-100);
	box-shadow: var(--iew-shadow-lg); z-index: 60; color: var(--iew-ink-900);
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity var(--iew-dur-fast), transform var(--iew-dur-fast), visibility var(--iew-dur-fast);
}
.iew-dd-anchor.is-open .iew-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.iew-dd-head { padding: 16px 18px 14px; border-bottom: 1px solid var(--iew-ink-100); }
.iew-dd-biz { font-size: 15px; font-weight: 600; color: var(--iew-ink-900); }
.iew-dd-meta { font-size: 12px; color: var(--iew-ink-500); margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iew-dd-list { list-style: none; margin: 0; padding: 6px 0; }
.iew-dd-list a {
	display: flex; align-items: center; gap: 12px; padding: 10px 18px;
	font-size: 14px; color: var(--iew-ink-900); text-decoration: none; transition: background var(--iew-dur-fast);
}
.iew-dd-list a:hover { background: var(--iew-paper-2); }
.iew-dd-list a svg { width: 17px; height: 17px; stroke: var(--iew-ink-500); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.iew-dd-sep { height: 1px; background: var(--iew-ink-100); margin: 6px 0; }
.iew-dd-logout { color: var(--iew-wine-600); }
.iew-dd-logout svg { stroke: var(--iew-wine-600); }

/* ---------- panels under the spine ---------- */
.iew-mega {
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--iew-surface); border-top: 1px solid var(--iew-ink-100); border-bottom: 1px solid var(--iew-ink-100);
	box-shadow: var(--iew-shadow-md); color: var(--iew-ink-900);
	padding: 0; z-index: 55;
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity var(--iew-dur-fast) var(--iew-ease), transform var(--iew-dur-fast) var(--iew-ease), visibility var(--iew-dur-fast);
}
@media (hover: hover) {
	.iew-has-mega:hover .iew-mega, .iew-has-dropdown:hover .iew-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
}
.iew-has-mega.is-open .iew-mega, .iew-has-dropdown.is-open .iew-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
/* hover bridge across the bar's bottom padding */
.iew-mega::before, .iew-submenu::before { content: ''; position: absolute; left: 0; right: 0; bottom: 100%; height: 14px; }
.iew-mega-grid { max-width: 1240px; margin: 0 auto; padding: 0 28px; }

/* Assortiment: rail of groups on the left, the active group's items in the middle, a calm aside on the right. */
.iew-mega-grid--assortiment { display: grid; grid-template-columns: 240px minmax(0, 1fr) 280px; min-height: 340px; }
.iew-mega-railcol { padding: 22px 0; border-right: 1px solid var(--iew-ink-100); display: flex; flex-direction: column; }
.iew-mega-rail { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.iew-mega-rail button {
	display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 12px 18px 12px 0;
	background: none; border: 0; cursor: pointer; text-align: left; color: var(--iew-ink-900);
	font-family: var(--iew-font-sans); font-size: 15px; font-weight: 500; transition: color var(--iew-dur-fast);
}
/* Hello Elementor's reset paints button:hover magenta; the rail is a list of quiet tabs. */
.iew-site-header .iew-mega-rail button:hover,
.iew-site-header .iew-mega-rail button:focus,
.iew-site-header .iew-mega-rail button:active { background: transparent; color: var(--iew-ink-900); box-shadow: none; }
.iew-mega-rail button.is-active, .iew-mega-rail button:hover { color: var(--iew-ink-900); font-weight: 600; }
.iew-site-header .iew-mega-rail button.is-active { background: var(--iew-paper-2); padding-left: 14px; margin-left: -14px; padding-right: 14px; margin-right: 4px; }
.iew-mega-rail__pijl { font-size: 18px; line-height: 1; color: var(--iew-ink-300); transition: transform var(--iew-dur-fast), color var(--iew-dur-fast); }
.iew-mega-rail button.is-active .iew-mega-rail__pijl { color: var(--iew-ink-900); transform: translateX(3px); }
.iew-mega-rail__alle { margin-top: auto; padding-top: 14px; margin-right: 18px; }
.iew-mega-rail__alle a { display: inline-block; padding: 8px 0; font-size: 13px; font-weight: 600; color: var(--iew-ink-700); text-decoration: none; }
.iew-mega-rail__alle a:hover { color: var(--iew-wine-600); }
.iew-mega-panes { padding: 22px 32px; }
.iew-mega-pane[hidden] { display: none; }
.iew-mega-pane ul { list-style: none; margin: 0; padding: 0; column-count: 2; column-gap: 32px; column-fill: auto; height: 296px; }
/* A pane with a "more" link under its list (Land en regio) gives the list that room back, so every
   group opens the panel at the same height. */
.iew-mega-pane:has(.iew-mega-more) ul { height: 262px; }
.iew-mega-pane li { break-inside: avoid; }
.iew-mega-pane li a {
	display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
	font-size: 15px; color: var(--iew-ink-900); padding: 7px 0; text-decoration: none; transition: color var(--iew-dur-fast);
}
.iew-mega-pane li a:hover { color: var(--iew-wine-600); }
.iew-count { font-family: var(--iew-font-mono); font-size: 11px; color: var(--iew-ink-500); font-variant-numeric: tabular-nums; }
.iew-mega-more {
	display: inline-block; margin-top: 14px; font-size: 12px; font-weight: 600; letter-spacing: 0.06em;
	color: var(--iew-ink-700); text-decoration: none; border-bottom: 1px solid var(--iew-ink-300); padding-bottom: 1px;
}
.iew-mega-more:hover { color: var(--iew-wine-600); border-color: var(--iew-wine-600); }
.iew-mega-aside {
	display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 4px;
	background: var(--iew-paper-2); padding: 22px 26px 24px; text-decoration: none; color: var(--iew-ink-900);
	position: relative; overflow: hidden; transition: background var(--iew-dur-fast);
}
.iew-mega-aside:hover { background: var(--iew-olive-100); }
.iew-mega-aside__label { position: absolute; top: 22px; left: 26px; font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--iew-ink-700); }
.iew-mega-aside__beeld { display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 190px; margin-bottom: 14px; }
.iew-mega-aside__beeld img { display: block; height: 100%; width: auto !important; max-width: 60%; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(27, 29, 24, 0.14)); }
.iew-mega-aside__titel { font-family: var(--iew-font-heading); font-size: 22px; font-weight: 500; line-height: 1.2; color: var(--iew-ink-900); }
.iew-mega-aside__sub { font-size: 13px; color: var(--iew-ink-700); /* ink-500 on paper-2 is 4.45:1, below AA */ }
.iew-mega-aside:hover .iew-mega-aside__sub { color: var(--iew-wine-600); }

/* Wijnadvies: a wide panel of cards from the menu's child items (title + description). */
.iew-mega--panel .iew-panel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.iew-panel-card {
	display: flex; flex-direction: column; gap: 8px; padding: 26px 24px 24px; min-height: 170px;
	border-left: 1px solid var(--iew-ink-100); text-decoration: none; color: var(--iew-ink-900); transition: background var(--iew-dur-fast);
}
.iew-panel-card:first-child { border-left: 0; }
.iew-panel-card:hover { background: var(--iew-paper-2); }
.iew-panel-card__titel { font-family: var(--iew-font-heading); font-size: 20px; font-weight: 500; line-height: 1.25; }
.iew-panel-card__tekst { font-size: 14px; line-height: 1.55; color: var(--iew-ink-500); }
.iew-panel-card__pijl { margin-top: auto; font-size: 16px; color: var(--iew-ink-500); }
.iew-panel-card:hover .iew-panel-card__pijl { color: var(--iew-wine-600); }

/* Over ons: a dropdown under its item, attached like the panels (same top edge, border and shadow). */
.iew-has-dropdown { position: relative; }
.iew-submenu {
	position: absolute; left: -26px; top: 100%; min-width: 280px;
	background: var(--iew-surface); border-top: 1px solid var(--iew-ink-100); border-bottom: 1px solid var(--iew-ink-100);
	box-shadow: var(--iew-shadow-md); z-index: 55; padding: 14px 0;
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity var(--iew-dur-fast) var(--iew-ease), transform var(--iew-dur-fast) var(--iew-ease), visibility var(--iew-dur-fast);
}
.iew-submenu ul { list-style: none; margin: 0; padding: 0; }
.iew-submenu li a { display: block; padding: 11px 26px; font-size: 15px; color: var(--iew-ink-900); text-decoration: none; white-space: nowrap; transition: color var(--iew-dur-fast); }
.iew-submenu li a:hover { color: var(--iew-wine-600); }

/* ---------- search row (toggled) ---------- */
.iew-searchrow { background: var(--iew-paper-2); padding: 12px 0; border-bottom: 1px solid var(--iew-ink-100); }
.iew-searchrow .iew-nav__in { display: block; }
.iew-searchrow[hidden] { display: none; }
.iew-search {
	display: flex; align-items: center; gap: 10px; max-width: 760px; margin: 0;
	background: var(--iew-surface); border: 1px solid var(--iew-ink-300); border-radius: var(--iew-radius-xs); padding: 0 6px 0 14px; height: 44px;
}
.iew-search:focus-within { border-color: var(--iew-olive-700); }
.iew-search svg { width: 16px; height: 16px; stroke: var(--iew-ink-500); fill: none; stroke-width: 1.7; flex: none; }
.iew-search input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-family: var(--iew-font-sans); font-size: 15px; color: var(--iew-ink-900); }
.iew-search input::placeholder { color: var(--iew-ink-500); }
.iew-search-go {
	border: none; background: var(--iew-olive-700); color: var(--iew-paper); cursor: pointer;
	padding: 0 16px; height: 32px; border-radius: var(--iew-radius-xs);
	font-family: var(--iew-font-sans); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
}
.iew-search-go:hover { background: var(--iew-olive-800); }

/* ---------- mobile off-canvas ---------- */
/* Closed = gone: `display` on .iew-mnav would otherwise override the hidden attribute and keep the
   off-screen sheet in the tab order (axe aria-hidden-focus, header lab 2026-10-06). */
.iew-mnav[hidden],
.iew-mnav-overlay[hidden] { display: none; }
.iew-mnav-overlay {
	position: fixed; inset: 0; background: rgba(27, 29, 24, 0.5);
	opacity: 0; transition: opacity var(--iew-dur) var(--iew-ease); z-index: 998;
}
.iew-mnav-overlay.is-open { opacity: 1; }
.iew-mnav {
	position: fixed; top: 0; left: 0; bottom: 0; width: min(390px, 88vw);
	background: var(--iew-olive-800); color: var(--iew-paper); z-index: 999;
	transform: translateX(-100%); transition: transform var(--iew-dur-slow) var(--iew-ease-out);
	display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; font-family: var(--iew-font-sans);
	-webkit-tap-highlight-color: transparent;
}
.iew-mnav.is-open { transform: translateX(0); }
.iew-mnav-bar { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--iew-olive-700); }
.iew-mnav-bar .iew-logo { height: 36px; }
.iew-msheet { padding: 16px 18px 28px; }

.iew-msearch {
	display: flex; align-items: center; gap: 10px; background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--iew-radius-xs); padding: 0 12px; height: 44px; margin-bottom: 18px;
}
.iew-msearch svg { width: 16px; height: 16px; stroke: var(--iew-fg-onDark-2); fill: none; stroke-width: 1.7; flex: none; }
.iew-msearch input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; color: var(--iew-paper); font-size: 15px; font-family: var(--iew-font-sans); }
.iew-msearch input::placeholder { color: var(--iew-fg-onDark-2); }

/* Account section at the bottom of the sheet: who is logged in, then the account buttons. */
.iew-maccount { display: flex; align-items: center; gap: 12px; margin-top: 22px; } /* the last menu row already draws the line above */
.iew-maccount + .iew-mcta { margin-top: 14px; }
.iew-maccount .iew-avatar { width: 40px; height: 40px; font-size: 14px; }
.iew-maccount .iew-account-name { font-size: 15px; font-weight: 500; color: var(--iew-paper); white-space: normal; }
.iew-maccount .iew-account-biz { margin-top: 2px; }
.iew-mmini { display: flex; gap: 8px; margin: 0 0 6px; }
.iew-mmini a {
	flex: 1 1 0; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 6px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--iew-radius-xs);
	color: var(--iew-paper); text-decoration: none; font-size: 10px; font-weight: 700; letter-spacing: 0.08em; white-space: nowrap; text-transform: uppercase;
}
.iew-mmini a svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.iew-mmini .iew-c { color: var(--iew-gold-500); }

.iew-mlinks { display: flex; flex-direction: column; }
.iew-mlinks > a, .iew-macc > button {
	display: flex; align-items: center; justify-content: space-between; width: 100%;
	color: var(--iew-paper); text-decoration: none; cursor: pointer;
	font-size: 13px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
	padding: 16px 2px; border: none; border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: none; font-family: inherit; text-align: left;
}
.iew-mlinks .iew-caret { width: 14px; height: 14px; opacity: 0.7; flex: none; }
.iew-macc { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.iew-macc > button { border-bottom: none; }
.iew-macc > button[aria-expanded="true"] .iew-caret { transform: rotate(180deg); }
.iew-macc-body { padding: 0 0 10px; }
.iew-macc-body[hidden] { display: none; }
/* level 2 inside Assortiment: one row per group, its rows one level deeper */
.iew-macc2 > button {
	display: flex; align-items: center; justify-content: space-between; width: 100%;
	padding: 12px 2px 12px 14px; background: none; border: none; border-top: 1px solid rgba(255, 255, 255, 0.08);
	color: var(--iew-paper); font-family: inherit; font-size: 15px; font-weight: 500; text-align: left; cursor: pointer; letter-spacing: 0;
}
.iew-macc2 > button[aria-expanded="true"] { font-weight: 600; }
.iew-macc2 > button[aria-expanded="true"] .iew-caret { transform: rotate(180deg); }
.iew-macc2 .iew-macc-body { padding: 0 0 8px 28px; }
.iew-mrow {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 2px;
	color: var(--iew-paper); text-decoration: none; font-size: 15px; border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.iew-mrow:first-child { border-top: 0; }
.iew-mrow .iew-count { color: rgba(251, 248, 242, 0.6); }
.iew-mrow--alle { font-weight: 600; padding-left: 14px; }
.iew-mrow--alle .iew-count { color: rgba(251, 248, 242, 0.75); }
.iew-mcat { display: flex; align-items: center; justify-content: space-between; padding: 12px 2px 12px 14px; color: var(--iew-paper); text-decoration: none; font-size: 15px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.iew-mcat:hover { color: var(--iew-paper); }

.iew-mcta { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.iew-mbtn {
	display: flex; align-items: center; justify-content: center; padding: 14px; border-radius: var(--iew-radius-xs);
	font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none;
	font-family: inherit; border: 1px solid transparent;
}
.iew-mbtn-primary { background: var(--iew-gold-500); color: var(--iew-olive-900); }
.iew-mbtn-ghost { background: transparent; border-color: rgba(255, 255, 255, 0.3); color: var(--iew-paper); }
.iew-mlogout {
	display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 14px 2px;
	color: var(--iew-paper); opacity: 0.8; text-decoration: none; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
}
.iew-mlogout svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.iew-musp { margin: 22px 0 0; font-size: 11px; line-height: 1.7; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(251, 248, 242, 0.6); }

body.iew-mnav-open { overflow: hidden; }

/* Desktop and laptop widths (Elementor has no breakpoints here, so these are static).
   The logged-in bar carries seven menu items plus search, counts, account and the primary
   action; below 1600px the account chip drops its text, below 1366px the inline search
   field becomes an icon. Nothing is removed, only compacted. */
@media (max-width: 1366px) {
	.iew-tools .iew-search-inline { display: none; }
	.iew-tools:has(.iew-search-inline) .iew-search-toggle { display: inline-flex; }
}

@media (prefers-reduced-motion: reduce) {
	.iew-mega, .iew-submenu, .iew-dropdown, .iew-mnav, .iew-mnav-overlay { transition: none; }
}

/* =========================================================================
   Specificity guard — the Elementor kit rule `.elementor-kit-5 a` (0,1,1) sets a
   site-wide link colour and would win over single-class rules; re-assert the
   header colours behind the header root. Same for the logo height and buttons.
   ========================================================================= */
/* WooCommerce's `.woocommerce-page img { height: auto }` (0,1,1) would otherwise blow the
   logo up to its natural size on shop pages — the heights are the insulation boundary. */
.iew-site-header .iew-logo,
.iew-mnav .iew-logo { height: 46px !important; width: auto !important; max-width: none !important; }
.iew-mnav .iew-mnav-bar .iew-logo { height: 36px !important; }
.iew-site-header .iew-icn-btn,
.iew-site-header .iew-icn-btn:hover { color: var(--iew-paper); }
.iew-site-header .iew-usp__links a, .iew-site-header .iew-usp__links a:hover { color: var(--iew-paper-2); }
.iew-site-header .iew-usp__cta, .iew-site-header .iew-usp__cta:hover { color: var(--iew-paper); }
.iew-site-header .iew-menu-link,
.iew-site-header .iew-menu-link:hover,
.iew-site-header .iew-has-mega.is-open > .iew-menu-link { color: var(--iew-paper); }
.iew-site-header .iew-btn-ghost,
.iew-site-header .iew-btn-ghost:hover { color: var(--iew-paper); }
.iew-site-header .iew-btn-primary,
.iew-site-header .iew-btn-primary:hover { color: var(--iew-olive-900); }
.iew-site-header .iew-mega-more:hover { color: var(--iew-wine-600); }
.iew-site-header .iew-dd-list a:hover { color: var(--iew-ink-900); }
.iew-mnav .iew-msheet a:hover { color: var(--iew-paper); }
.iew-site-header .iew-mega-pane li a { color: var(--iew-ink-900); }
.iew-site-header .iew-mega-pane li a:hover { color: var(--iew-wine-600); }
.iew-site-header .iew-panel-card, .iew-site-header .iew-panel-card:hover { color: var(--iew-ink-900); }
.iew-site-header .iew-submenu li a { color: var(--iew-ink-900); }
.iew-site-header .iew-submenu li a:hover { color: var(--iew-wine-600); }
.iew-site-header .iew-mega-aside, .iew-site-header .iew-mega-aside:hover { color: var(--iew-ink-900); }
.iew-site-header .iew-mega-rail__alle a { color: var(--iew-ink-700); }
.iew-site-header .iew-mega-more { color: var(--iew-ink-700); }
.iew-site-header .iew-mega-rail button:focus { background: transparent; }
.iew-site-header .iew-dd-list a { color: var(--iew-ink-900); }
.iew-site-header .iew-dd-list a.iew-dd-logout { color: var(--iew-wine-600); }
.iew-mnav .iew-msheet a { color: var(--iew-paper); }
.iew-mnav .iew-msheet a.iew-mbtn-primary { color: var(--iew-olive-900); }

.iew-site-header button,
.iew-mnav button { box-shadow: none !important; -webkit-appearance: none; appearance: none; }
/* Hello Elementor's reset.css paints `button:focus` magenta — never on our chrome. */
.iew-site-header button:focus,
.iew-mnav button:focus { background-color: transparent; }
.iew-site-header .iew-icn-btn:focus-visible { background-color: rgba(255, 255, 255, 0.08); }
.iew-site-header .iew-search-go:focus { background-color: var(--iew-olive-700); }
.iew-site-header .iew-account:focus { background-color: transparent; }
.iew-mnav .iew-macc > button,
.iew-mnav .iew-macc > button:hover,
.iew-mnav .iew-macc > button:focus { background: transparent !important; }
.iew-site-header button:focus:not(:focus-visible),
.iew-mnav button:focus:not(:focus-visible),
.iew-site-header a:focus:not(:focus-visible),
.iew-mnav a:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }
.iew-site-header button:focus-visible,
.iew-mnav button:focus-visible,
.iew-site-header a:focus-visible,
.iew-mnav a:focus-visible,
.iew-site-header input:focus-visible { outline: 2px solid var(--iew-gold-500) !important; outline-offset: 2px; box-shadow: none !important; }
