/* ==========================================================================
   Base / body texture
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

p, h1, h2, h3, h4, li, a {
	overflow-wrap: break-word;
}

body {
	background: url('../images/pattern.jpg') left top repeat var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--body-text);
}

a {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}
a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
/* Sitewide branded focus state for ordinary links (article body, nav items, pagination,
   sidebar links, etc.) — these previously fell back to the unstyled browser-default outline.
   Lower specificity (0,1,1) than the nav submenu toggle and banner toggle's own
   :focus-visible rules elsewhere in this file, so those still win for their own elements;
   this just fills the gap everywhere else. */
a:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* ==========================================================================
   Page shell — the big white "card" the whole site sits on
   ========================================================================== */

.iwce-page-wrap {
	max-width: var(--wp--custom--shell-width);
	margin: 20px auto 40px;
	padding: 0 20px;
}

.iwce-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--base);
	box-shadow: 0 2px 18px rgba(0, 0, 0, 0.18);
	padding: 32px 44px 44px;
}

/* ==========================================================================
   Header — logo + search
   ========================================================================== */

.iwce-header-row {
	padding-top: 20px;
	padding-bottom: 10px;
	gap: 20px;
}
.iwce-brand img {
	display: block;
	height: auto;
}

.iwce-search-wrap {
	min-width: 260px;
}
.iwce-search-wrap .wp-block-search__label {
	display: block;
	font-weight: 700;
	font-family: var(--wp--preset--font-family--heading);
	margin-bottom: 4px;
	color: var(--wp--preset--color--contrast);
}
.iwce-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.1), -2px -2px 9px rgba(0, 0, 0, 0.1);
}
.iwce-search .wp-block-search__input {
	border: none;
	padding: 8px 10px;
	font-family: var(--wp--preset--font-family--heading);
}
.iwce-search .wp-block-search__button {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border: none;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--heading);
}
.iwce-search .wp-block-search__button:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
}

/* ==========================================================================
   Navigation
   ========================================================================== */

.iwce-nav {
	font-family: var(--wp--preset--font-family--heading);
	padding: 4px 0;
	margin-bottom: 20px;
}
/* nav.iwce-nav, not the bare class — the inner <ul> of nav items also
   carries the "iwce-nav" class (core duplicates the block's own className
   onto its wp-block-navigation__container), and a border here should only
   ever apply once, to the real <nav>, not that inner list too. Doubled
   yellow rule above and below the desktop menu, separating it from the
   header row above and the main content below. */
nav.iwce-nav {
	border-top: 4px double var(--wp--preset--color--primary);
	border-bottom: 4px double var(--wp--preset--color--primary);
}
/* WP core's own .wp-block-navigation__container:only-child { flex-grow: 1 } rule is what's
   meant to stretch the item list to fill the nav row automatically — it never matches here
   because the custom "Navigation Overlay" (parts/navigation-overlay.html) always adds a
   second sibling, .wp-block-navigation__overlay-container, to the DOM even while closed
   (display:none, confirmed not participating in layout — this isn't undoing that), so the
   item list is never actually an :only-child. Replicating the same flex-grow directly,
   scoped to just the item list (not the outer <nav>, which also carries this class — see
   the comment above), without the :only-child restriction that's failing. Without this,
   space-between has nothing to distribute and the whole menu clusters to the left. */
.wp-block-navigation__container.iwce-nav {
	flex-grow: 1;
}
.iwce-nav .wp-block-navigation-item {
	font-size: 0.95rem;
}
.iwce-nav a.wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	padding: 8px 12px;
}
.iwce-nav .wp-block-navigation-item__content:hover,
.iwce-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--primary);
}
/* Submenu toggles (About, New Articles & Events, Resources, Contact Us) pick
   up a focus outline once expanded, since clicking them moves keyboard focus
   onto the button itself — plain default WP behaviour, not something this
   theme added. Branded to the site's own yellow instead of the browser's
   default blue outline. */
.iwce-nav .wp-block-navigation-submenu__toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: -2px;
}
.iwce-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.15);
	min-width: 220px;
}
.iwce-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	padding: 8px 14px;
}
.iwce-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--primary);
}
/* The custom mobile "Navigation Overlay" (edited via the Site Editor, saved
   as its own wp_navigation post referenced by the header nav's "overlay"
   attribute) lives inside the header nav's own DOM subtree, so it still
   inherits .iwce-nav's descendant rules above — including the 8px 12px/14px
   item padding meant for the desktop bar. !important throughout because WP
   core's own item-padding rules (button.wp-block-navigation-item__content,
   .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle,
   and the .has-child submenu-container rule, all in
   wp-includes/css/dist/block-library/style.css) out-specify this selector
   even placed after them.
   Its "submenuVisibility":"click" setting makes every top-level item with a
   submenu (About, New Articles & Events, Resources, Contact Us) render as a
   <button>, not an <a> like everything else — buttons never matched the
   .iwce-nav a.wp-block-navigation-item__content padding rule above at all
   (browser default ~1px stood in instead), which is why those items were
   visibly shorter than the rest. Setting top/bottom here for every item
   regardless of tag/nesting makes them all the same height. */
.iwce-nav .wp-block-navigation__overlay-container .wp-block-navigation-item__content {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}
/* Left/right padding only for non-toggle items — core reserves
   padding-right: 0.85em on .wp-block-navigation-submenu__toggle specifically
   to give its arrow icon (.wp-block-navigation__submenu-icon, pulled back
   over that space with a matching negative margin-left) somewhere to sit.
   Zeroing it there too, as a first pass at this did, removes that room and
   the icon collapses to sit underneath the label text instead of after it. */
.iwce-nav .wp-block-navigation__overlay-container .wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* WP core's own .wp-block-navigation .has-child .wp-block-navigation__submenu-container
   rule always sets position: absolute — it only ever gets switched to
   position: static (pushing later items down instead of floating over them,
   plus a 2rem indent) by a second core rule scoped to
   ":where(:not(.disable-default-overlay))", specifically so a *custom*
   overlay (ours has disable-default-overlay, since we built our own via the
   "Navigation Overlay" template part) can lay its own submenus out however
   it likes. Replicating that same in-flow + indented treatment here, since
   nothing else does it for us: without this, expanding a submenu (e.g.
   "New Articles & Events") floats it over the following top-level items
   instead of pushing them down, and it isn't indented under its parent.
   !important for the same reason as the padding rules above — core's base
   rule and this one are equal specificity (0,3,0), and !important is more
   robust than relying on source order if either selector list changes. */
/* Not flex-direction: column on the <li> — its children are the toggle
   <button>, the arrow icon <span>, and the submenu <ul> as three separate
   flex siblings (in that order), so a column direction also drops the arrow
   onto its own line under the button label even while collapsed. Wrapping
   instead, with the submenu forced to its own full-width line, keeps
   "label + arrow" together on one row and only pushes the submenu below. */
.iwce-nav .wp-block-navigation__overlay-container .wp-block-navigation-item.has-child {
	flex-wrap: wrap !important;
}
.iwce-nav .wp-block-navigation__overlay-container .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	flex-basis: 100% !important;
}
.iwce-nav .wp-block-navigation__overlay-container .wp-block-navigation__submenu-container {
	position: static !important;
	padding-left: 2rem !important;
	padding-right: 2rem !important;
}
.iwce-nav .wp-block-navigation__submenu-icon {
	vertical-align: middle;
}

/* ==========================================================================
   Rotating banner (recreates Joomla's "Simple Spotlight" showcase module,
   module id 93 — see CLAUDE.md for the exact source data)
   ========================================================================== */

.iwce-banner.wp-block-gallery {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 929 / 232;
	overflow: hidden;
	margin-bottom: 20px;
	background: var(--wp--preset--color--contrast);
	border: 8px solid var(--wp--preset--color--base);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.iwce-banner.wp-block-gallery figure.wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
	width: 100% !important; /* core Gallery block sets a high-specificity column width via a :not(#id) hack */
}
.iwce-banner.wp-block-gallery figure.wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 800ms ease-in-out;
}
.iwce-banner.wp-block-gallery figure.wp-block-image img.is-active {
	opacity: 1;
	z-index: 1;
}
/* Pause/play control (assets/js/banner-slideshow.js) — z-index above .is-active's 1 so it
   always sits on top regardless of which slide is showing. */
.iwce-banner__toggle {
	position: absolute;
	z-index: 2;
	right: 12px;
	bottom: 12px;
	padding: 6px 10px;
	background: rgba(15, 13, 0, 0.65);
	color: var(--wp--preset--color--base);
	border: 1px solid rgba(255, 255, 255, 0.5);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.75rem;
	cursor: pointer;
}
.iwce-banner__toggle:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}
.iwce-banner__toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--base);
	outline-offset: 2px;
}
/* Hidden until hover/focus, but only on devices with a real hover state (trackpad/mouse) —
   scoped to (hover: hover) so touchscreens, which never trigger a true hover, always show it
   by default instead of hiding a control some users could never reveal. The button stays in
   the DOM/tab order throughout (opacity, not display:none), so keyboard focus still reaches
   it regardless of visibility, and :focus-visible below brings it into view exactly when
   that happens — never hidden from keyboard users, just visually deferred for mouse users
   until they interact with the banner. */
@media (hover: hover) {
	.iwce-banner__toggle {
		opacity: 0;
		transition: opacity 200ms ease-in-out;
	}
	.iwce-banner:hover .iwce-banner__toggle,
	.iwce-banner__toggle:focus-visible {
		opacity: 1;
	}
}

/* ==========================================================================
   Main layout — content + sidebar
   ========================================================================== */

.iwce-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 44px;
	align-items: start;
}
.iwce-content {
	min-width: 0;
}

/* ==========================================================================
   Archive / home article loop — leading + 2-col grid + "more articles" list
   ========================================================================== */

.iwce-archive-title {
	font-family: var(--wp--preset--font-family--heading);
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 8px;
	margin-bottom: 16px;
}

.iwce-archive-loop .wp-block-post-template {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 40px;
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}
.iwce-archive-loop .wp-block-post-template > li {
	min-width: 0;
	border-bottom: 1px dotted var(--wp--preset--color--border);
	padding-bottom: 14px;
	margin-bottom: 14px;
}

/* Leading article: first post spans both columns, larger heading */
.iwce-archive-loop .wp-block-post-template > li:first-child {
	grid-column: 1 / -1;
}
.iwce-archive-loop .wp-block-post-template > li:first-child .iwce-post-title {
	font-size: 1.5rem;
}
.iwce-archive-loop .wp-block-post-template > li:first-child .iwce-post-thumb img {
	max-width: 100%;
	height: auto;
}

/* "More articles" tail: items 6-9 collapse to a plain link list */
.iwce-archive-loop .wp-block-post-template > li:nth-child(n+6) {
	grid-column: 1 / -1;
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 4px;
}
.iwce-archive-loop .wp-block-post-template > li:nth-child(6) {
	margin-top: 6px;
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 14px;
}
.iwce-archive-loop .wp-block-post-template > li:nth-child(6)::before {
	content: "More Articles\2026";
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 10px;
}
.iwce-archive-loop .wp-block-post-template > li:nth-child(n+6) .iwce-post-thumb,
.iwce-archive-loop .wp-block-post-template > li:nth-child(n+6) .iwce-post-excerpt {
	display: none;
}
.iwce-archive-loop .wp-block-post-template > li:nth-child(n+6) .iwce-post-title {
	font-size: 1rem;
	font-weight: 400;
	margin: 0;
}

.iwce-post-title {
	margin: 0 0 6px;
	font-family: var(--wp--preset--font-family--heading);
}
.iwce-post-title a {
	text-decoration: none;
}
.iwce-post-title a:hover {
	text-decoration: underline;
}
.iwce-post-excerpt {
	font-size: 0.95rem;
	line-height: 1.55;
}
.iwce-post-thumb img {
	width: 100%;
	height: auto;
	margin-bottom: 8px;
}

/* ==========================================================================
   Events archive — templates/category-events.html, parts/events-loop.html
   (the iwce-event-date and iwce-events-view-label bound paragraphs are
   styled from the Site Editor, per-block, not here)
   ========================================================================== */

.iwce-events-toggle {
	margin: 0 0 20px;
}
.iwce-events-toggle a {
	font-weight: 700;
	text-decoration: none;
}
.iwce-events-toggle a:hover {
	text-decoration: underline;
}
.iwce-events-loop .wp-block-post-template {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.iwce-events-loop .wp-block-post-template > li {
	border-bottom: 1px dotted var(--wp--preset--color--border);
	padding-bottom: 16px;
}
.iwce-events-loop .wp-block-post-template > li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.iwce-pagination-info {
	text-align: center;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 10px;
}
.iwce-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
	font-family: var(--wp--preset--font-family--heading);
}
.iwce-pagination a,
.iwce-pagination span {
	display: inline-block;
	min-width: 1.6em;
	text-align: center;
	padding: 4px 8px;
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.iwce-pagination a:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.iwce-pagination .wp-block-query-pagination-numbers .current {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--contrast);
}

/* ==========================================================================
   Single article / page
   ========================================================================== */

.iwce-article {
	background: var(--wp--preset--color--base);
}
.iwce-article__title {
	font-size: 1.6rem;
	margin: 0 0 12px;
}
.iwce-article__thumb img {
	max-width: 100%;
	height: auto;
	margin-bottom: 16px;
}
.iwce-article__content {
	line-height: 1.65;
}
.iwce-article__content p {
	margin: 0 0 1em;
}
.iwce-article__content img {
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   Advanced Search page — plain form, no plugin; WP's own `s` + `category_name`
   query vars combine natively (see CLAUDE.md)
   ========================================================================== */

.advanced-search-form {
	max-width: 420px;
	margin-top: 12px;
}
.advanced-search-form__field {
	margin-bottom: 14px;
}
.advanced-search-form label {
	display: block;
	font-weight: 700;
	font-family: var(--wp--preset--font-family--heading);
	margin-bottom: 4px;
	color: var(--wp--preset--color--contrast);
}
.advanced-search-form input,
.advanced-search-form select {
	width: 100%;
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.1), -2px -2px 9px rgba(0, 0, 0, 0.1);
	padding: 8px 10px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
}
.advanced-search-form__submit button {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border: none;
	border-radius: 0;
	padding: 10px 20px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	cursor: pointer;
}
.advanced-search-form__submit button:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
}

/* ==========================================================================
   Contact page — Contact Form 7 ([contact-form-7] on the Contact Us page)
   ========================================================================== */

.wpcf7-form {
	max-width: 420px;
	margin-top: 12px;
}
.wpcf7-form p {
	margin-bottom: 14px;
}
.wpcf7-form label {
	display: block;
	font-weight: 700;
	font-family: var(--wp--preset--font-family--heading);
	margin-bottom: 4px;
	color: var(--wp--preset--color--contrast);
}
.wpcf7-form-control {
	width: 100%;
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.1), -2px -2px 9px rgba(0, 0, 0, 0.1);
	padding: 8px 10px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
}
.wpcf7-form textarea.wpcf7-form-control {
	min-height: 140px;
}
.wpcf7-submit {
	width: auto;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 10px 20px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	cursor: pointer;
}
.wpcf7-submit:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
}

/* ==========================================================================
   Sidebar module ("Plebs Pamphlet")
   ========================================================================== */

.iwce-sidebar {
	font-family: var(--wp--preset--font-family--heading);
}
.iwce-module {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.1), -2px -2px 9px rgba(0, 0, 0, 0.1);
	margin-bottom: 20px;
}
.iwce-module__title {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0;
	padding: 8px 12px;
}
.iwce-module__content {
	padding: 12px;
}
.iwce-pamphlet {
	margin: 0;
	text-align: center;
	font-size: 0.9rem;
}
.iwce-pamphlet a {
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}
.iwce-pamphlet__cover {
	display: block;
	margin: 0 auto 8px;
	max-width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--border);
}
.iwce-pamphlet__label {
	/* Beats WP's global-styles block-gap rule
	   (:root :where(.is-layout-constrained) > :not(:first-child) { margin-block-start: 24px })
	   now that the image and this label are two separate flow children of a real group block,
	   instead of one hand-written <a> — without this, WP's default 24px gap shows up between
	   the cover image and this link, wider than the tight 8px this design uses everywhere else. */
	margin-top: 0;
}
.iwce-pamphlet__label a {
	text-decoration: underline;
}
.iwce-promo-link {
	margin: 0;
	text-align: center;
}
.iwce-promo-link img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--border);
}

/* ==========================================================================
   Upcoming Events (home page teaser — recreates Joomla module id 91's
   position, powered by the real event_date meta instead of its crude
   "latest 3 from category" approximation — see CLAUDE.md)
   ========================================================================== */

.iwce-upcoming-events {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: 20px;
	padding-top: 16px;
}
.iwce-upcoming-events__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.1rem;
	text-align: center;
	margin: 0 0 10px;
}
.iwce-upcoming-events__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.iwce-upcoming-events__item {
	padding: 6px 0;
	border-bottom: 1px dotted var(--wp--preset--color--border);
	font-size: 0.9rem;
}
.iwce-upcoming-events__item:last-child {
	border-bottom: none;
}
.iwce-upcoming-events__item time {
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}
.iwce-upcoming-events__empty {
	text-align: center;
	color: var(--wp--preset--color--muted);
	font-size: 0.9rem;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.iwce-footer-bar {
	max-width: var(--wp--custom--shell-width);
	margin: 0 auto 30px;
	padding: 10px 20px;
	text-align: center;
}
.iwce-footer-text {
	color: var(--wp--preset--color--muted);
	font-size: 0.85rem;
	margin: 0;
}

/* ==========================================================================
   Responsive overrides — kept last so they win the cascade at equal
   specificity regardless of where the base rule they adjust lives above.
   ========================================================================== */

@media (max-width: 780px) {
	.iwce-main {
		grid-template-columns: 1fr;
	}
	.iwce-header-row {
		flex-wrap: wrap !important;
	}
	.iwce-archive-loop .wp-block-post-template {
		grid-template-columns: 1fr;
	}
	.iwce-archive-loop .wp-block-post-template > li:nth-child(n+2) {
		grid-column: 1 / -1;
	}
}

/* Push the Navigation block's mobile-menu (hamburger) breakpoint from WP
   core's hardcoded 600px up to 1200px — core hardcodes 600px in
   wp-includes/blocks/navigation/style.css, so this re-applies core's own
   <600px "closed" rules across 600–1199px. */
@media (min-width: 600px) and (max-width: 1199.98px) {
	.iwce-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.iwce-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}
}

/* Strip the desktop nav bar's decorative styling on mobile (<1200px, i.e.
   whenever the hamburger is showing) — no yellow top/bottom border framing
   the hamburger button, and no hover/current-item highlight, submenu card
   background/border/shadow inside the open overlay menu. */
@media (max-width: 1199.98px) {
	nav.iwce-nav {
		border-top: none;
		border-bottom: none;
	}
	.iwce-nav .wp-block-navigation-item__content:hover,
	.iwce-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
		background: none;
	}
	/* !important: WP core's own
	   .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container
	   rule (wp-includes/css/dist/block-library/style.css) sets this same
	   border at higher specificity (0,3,0 vs this selector's 0,2,0), so it
	   was still winning and showing a border even with this rule present. */
	.iwce-nav .wp-block-navigation__submenu-container {
		background: none !important;
		border: none !important;
		box-shadow: none !important;
	}
	.iwce-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		background: none;
	}
}

/* Mobile header layout: hide the header row's own search box (it also
   appears inside the mobile "Navigation Overlay" — see the .iwce-nav
   .wp-block-navigation__overlay-container rules above — and should stay
   visible there, so this is scoped to .iwce-header-row's copy specifically,
   not the bare .iwce-search-wrap class both share), and pull the (now
   sibling, not nested) nav bar up onto the same row as the logo — .iwce-nav
   is a sibling of .iwce-header-row, both direct children of the real
   <header>, so it's positioned absolutely against that shared ancestor
   rather than moved in the DOM. Logo stays left (normal flow); the
   hamburger button is bottom/right-aligned within the header's full height,
   matching the logo's bottom edge. */
@media (max-width: 1199.98px) {
	.iwce-header-row .iwce-search-wrap {
		display: none;
	}
	header.wp-block-template-part {
		position: relative;
	}
	/* nav.iwce-nav, not the bare class — the inner <ul> of nav items also
	   carries the "iwce-nav" class (core duplicates the block's own
	   className onto its wp-block-navigation__container), and absolutely
	   positioning that too broke the open overlay's item layout. */
	nav.iwce-nav {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		margin-bottom: 0;
		align-items: flex-end;
	}
	/* The desktop double yellow rule sits above/below nav.iwce-nav, but nav
	   is absolutely positioned on top of .iwce-header-row on mobile (see
	   above) rather than sitting in its own row below it — so the same
	   double line goes on the row it's actually visually stacked under. */
	.iwce-header-row {
		border-bottom: 4px double var(--wp--preset--color--primary);
	}
}
