/**
 * Portico theme CSS layer.
 *
 * Only for things theme.json cannot express (button sizing, focus states,
 * small primitives). Tokens come from theme.json presets — no hardcoded hex.
 */

/* Buttons: min tap target + centred label (design: .btn min-height 48px, touch >=44px). */
.wp-element-button,
.wp-block-button__link {
	min-height: var( --wp--custom--button--min-height, 48px );
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	line-height: 1.1;
}

/* Visible keyboard focus everywhere (accessibility). */
:where( a, button, .wp-element-button, input, select, textarea ):focus-visible {
	outline: 2px solid var( --wp--preset--color--primary );
	outline-offset: 2px;
}

/* Form controls use the body font and a comfortable mobile size (16px avoids iOS zoom). */
input,
select,
textarea {
	font-family: var( --wp--preset--font-family--body );
	font-size: 16px;
}

/* Never allow horizontal overflow on small screens. */
html,
body {
	overflow-x: hidden;
}

/* --- Header ------------------------------------------------------------- */
.portico-header {
	position: relative;
	padding-top: var( --wp--preset--spacing--30 );
	padding-bottom: var( --wp--preset--spacing--30 );
}

.portico-header__row {
	gap: var( --wp--preset--spacing--40 );
}

.portico-header__brand {
	gap: var( --wp--preset--spacing--20 );
}

.portico-header__brand .wp-block-site-title {
	font-family: var( --wp--preset--font-family--heading );
	font-weight: 800;
	font-size: var( --wp--preset--font-size--large );
	white-space: nowrap;
}

.portico-header__brand .wp-block-site-title a {
	color: var( --wp--preset--color--ink );
	text-decoration: none;
}

/* Search grows to fill the row; drops to full width when the row wraps. */
.portico-header__search {
	flex: 1 1 320px;
	min-width: 220px;
}

.portico-header__search .wp-block-search__inside-wrapper {
	border: 1px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--sm );
	overflow: hidden;
}

/* Commerce actions: three aligned icons at the top-right of the header. */
.portico-header__actions {
	gap: 4px;
	flex: 0 0 auto;
	align-items: center;
	color: var( --wp--preset--color--ink );
}

/* Normalize all three into identical 44px centred boxes so the glyphs share
   one baseline and even spacing regardless of each block's native sizing. */
.portico-header__actions > *,
.portico-header__actions .wp-block-woocommerce-customer-account a,
.portico-header__actions .wc-block-mini-cart__button,
.portico-header__actions .portico-wishlist-link__icon {
	width: 44px;
	min-width: 44px;
	height: 44px;
	padding: 0;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.portico-header__actions a,
.portico-header__actions button,
.portico-header__actions .wc-block-mini-cart__button {
	color: var( --wp--preset--color--ink );
}

.portico-header__actions a:hover,
.portico-header__actions .wc-block-mini-cart__button:hover {
	color: var( --wp--preset--color--primary );
}

/* Unify the three action glyphs with one icon set (Lucide, ISC license):
   hide each block's own SVG and paint a single masked icon tinted with
   currentColor, so account / wishlist / cart match in size, weight and style. */
.portico-header__actions .wc-block-customer-account__account-icon,
.portico-header__actions .portico-wishlist-link__icon svg,
.portico-header__actions .wc-block-mini-cart__icon {
	display: none;
}

.portico-header__actions .wp-block-woocommerce-customer-account a::before,
.portico-header__actions .portico-wishlist-link__icon::before,
.portico-header__actions .wc-block-mini-cart__button::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	vertical-align: middle;
	background-color: currentColor;
	-webkit-mask: center / 24px 24px no-repeat;
	mask: center / 24px 24px no-repeat;
}

.portico-header__actions .wp-block-woocommerce-customer-account a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.portico-header__actions .portico-wishlist-link__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
}

.portico-header__actions .wc-block-mini-cart__button::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E");
}

/* Wishlist stays inline + icon-only; hide its now-empty icon span text. */
.portico-header__actions .portico-wishlist-link {
	flex-direction: row;
	gap: 0;
	min-width: 0;
}

/* Drop the cart total so the trio reads as three clean icons. */
.portico-header__actions .wc-block-mini-cart__amount {
	display: none;
}

/* Hamburger (mobile nav) is the first item in the row; shown only on mobile. */
.portico-header__row .portico-header__burger {
	display: none;
}

/* --- Nav row: dark tinted menu bar -------------------------------------- */
.portico-navbar {
	background: var( --wp--preset--color--primary-dark );
}

.portico-navbar__inner {
	gap: var( --wp--preset--spacing--40 );
	min-height: 48px;
}

.portico-navbar .wp-block-navigation {
	gap: var( --wp--preset--spacing--40 );
	font-weight: 600;
}

/* White links — beat WP core's doubled-class inherit hack (0,3,0) on the
   nav item content, and set the container so inheritance resolves to white. */
.portico-navbar .wp-block-navigation,
.portico-navbar .wp-block-navigation a.wp-block-navigation-item__content {
	color: #fff;
}

.portico-navbar .wp-block-navigation a.wp-block-navigation-item__content:hover {
	color: var( --wp--preset--color--on-dark-accent );
}

/* "Sale/Deals" nav item in red (design) — desktop nav + mobile drawer. */
.portico-nav-sale .wp-block-navigation-item__content,
.portico-nav-sale .wp-block-navigation-item__label {
	color: var( --wp--preset--color--sale ) !important;
}

/* --- Desktop dropdown submenus (Shop by Size, Collections) --------------- */
.portico-navbar .wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 230px;
	margin-top: 8px;
	padding: 6px;
	background: var( --wp--preset--color--surface );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--lg );
	box-shadow: var( --wp--custom--shadow--card );
	z-index: 60;
}

/* Bridge the visual gap so the pointer never leaves the menu tree. */
.portico-navbar .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: 100%;
	height: 10px;
}

/* Enhanced desktop menus have one state owner, including Escape dismissal. */
.portico-navbar.portico-menu-enhanced .wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
	visibility: hidden;
	opacity: 0;
	width: 0;
	height: 0;
	overflow: hidden;
	transition: none;
}

.portico-navbar.portico-menu-enhanced .wp-block-navigation .has-child.portico-menu-open > .wp-block-navigation__submenu-container {
	visibility: visible;
	opacity: 1;
	width: auto;
	height: auto;
	overflow: visible;
}

/* Normalise every submenu row to full width (WP core's flex column leaves
   some items content-sized, causing uneven indentation). */
.portico-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
}

/* Submenu links: dark ink on white — override the white nav-link colour. */
.portico-navbar .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	min-height: 44px;
	padding: 8px 12px;
	color: var( --wp--preset--color--ink );
	font-weight: 600;
	text-align: start;
	border-radius: 8px;
}

.portico-navbar .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover,
.portico-navbar .wp-block-navigation .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:focus {
	color: var( --wp--preset--color--primary );
	background: var( --wp--preset--color--primary-tint );
}

/* Parent caret stays legible on the dark bar. */
.portico-navbar .wp-block-navigation .wp-block-navigation__submenu-icon {
	color: #fff;
}

/* Trust badges sit at the right of the dark bar, in light ink. */
.portico-navbar__trust {
	gap: 0;
	flex: 0 0 auto;
	align-items: center;
}

.portico-navbar__trust .portico-usp-item {
	gap: 8px;
	align-items: center;
	padding-inline: var( --wp--preset--spacing--30 );
}

.portico-navbar__trust .portico-usp-item + .portico-usp-item {
	border-left: 1px solid rgba( 255, 255, 255, 0.18 );
}

.portico-navbar__trust .portico-usp-item__icon {
	color: #fff;
}

.portico-navbar__trust .portico-usp-item__title {
	color: #fff;
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.15;
}

.portico-navbar__trust .portico-usp-item__text {
	color: var( --wp--preset--color--on-dark-muted );
	line-height: 1.15;
}

/* Left-align the title + subtitle text within each header trust badge. */
.portico-navbar__trust .portico-usp-item__title,
.portico-navbar__trust .portico-usp-item__text {
	text-align: left;
}

/* --- Footer ------------------------------------------------------------- */
.portico-footer a {
	color: var( --wp--preset--color--on-dark-muted );
	text-decoration: none;
}

.portico-footer a:hover {
	color: #fff;
}

.portico-footer .wp-block-site-title {
	font-family: var( --wp--preset--font-family--heading );
	font-weight: 800;
	color: #fff;
}

.portico-footer .wp-block-navigation {
	gap: var( --wp--preset--spacing--20 );
}

.portico-footer__cols {
	gap: var( --wp--preset--spacing--50 );
}

/* Footer uses the single (dark) custom logo on a dark background: show it white. */
.portico-footer .wp-block-site-logo img {
	filter: brightness( 0 ) invert( 1 );
}

/* Footer brand mark: standalone green "G" icon on a white tile + wordmark. */
.portico-footer__brand-lockup {
	display: flex;
	align-items: center;
	gap: 12px;
}

.portico-footer__brandmark {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	object-fit: cover;
}

.portico-footer__brandname {
	font-family: var( --wp--preset--font-family--heading );
	font-weight: 700;
	font-size: 1.125rem;
	color: #fff;
}

/* Mobiel: verberg de logo/brand-kolom en zet de menukolommen in twee kolommen. */
@media ( max-width: 782px ) {
	.portico-footer .portico-footer__cols {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var( --wp--preset--spacing--40 ) var( --wp--preset--spacing--50 );
	}

	.portico-footer .portico-footer__cols > .wp-block-column:first-child {
		display: none;
	}

	.portico-footer .portico-footer__cols > .wp-block-column {
		flex-basis: auto;
	}
}

/* --- Block: usp-bar / usp-item ------------------------------------------ */
.portico-usp-bar {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: var( --wp--preset--spacing--40 );
}

.portico-usp-item {
	display: flex;
	align-items: flex-start;
	gap: var( --wp--preset--spacing--20 );
}

.portico-usp-item__icon {
	flex: 0 0 auto;
	color: var( --wp--preset--color--primary );
	line-height: 0;
}

.portico-usp-item__title {
	display: block;
	font-weight: 700;
	font-size: var( --wp--preset--font-size--large );
	line-height: 1.25;
	color: var( --wp--preset--color--ink );
}

.portico-usp-item__text {
	display: block;
	font-size: var( --wp--preset--font-size--small );
	color: var( --wp--preset--color--muted );
}

@media ( max-width: 900px ) {
	.portico-usp-bar {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 480px ) {
	.portico-usp-bar {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* --- Block: rating ------------------------------------------------------ */
.portico-rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var( --wp--preset--font-size--small );
}

.portico-rating__stars {
	position: relative;
	display: inline-block;
	white-space: nowrap;
	color: var( --wp--preset--color--line-strong );
	letter-spacing: 1px;
}

.portico-rating__fill {
	position: absolute;
	inset: 0;
	overflow: hidden;
	color: var( --wp--preset--color--star );
}

.portico-rating__score {
	font-weight: 700;
	color: var( --wp--preset--color--ink );
}

.portico-rating__count {
	color: var( --wp--preset--color--muted );
}

/* --- Block: financing-note ---------------------------------------------- */
.portico-financing-note {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: var( --wp--preset--font-size--small );
	color: var( --wp--preset--color--ink-2 );
}

.portico-financing-note__icon {
	color: var( --wp--preset--color--cta );
	line-height: 0;
}

.portico-financing-note__icon svg {
	width: 18px;
	height: 18px;
}

/* --- Hero badges + spotlight eyebrow ------------------------------------ */
.portico-hero__badges {
	gap: 8px;
	margin-bottom: 12px;
}

.portico-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 4px 12px;
	border-radius: var( --wp--custom--radius--pill );
	background: var( --wp--preset--color--surface );
	border: 1px solid var( --wp--preset--color--line-strong );
	font-size: var( --wp--preset--font-size--small );
	font-weight: 600;
	color: var( --wp--preset--color--ink-2 );
}

.portico-spotlight__eyebrow {
	display: block;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var( --wp--preset--color--primary );
}

/* --- Block: category-grid ----------------------------------------------- */
.portico-category-grid {
	display: grid;
	grid-template-columns: repeat( var( --portico-cols, 3 ), minmax( 0, 1fr ) );
	gap: var( --wp--preset--spacing--40 );
}

.portico-category-card {
	display: flex;
	flex-direction: column;
	gap: var( --wp--preset--spacing--20 );
	padding: var( --wp--preset--spacing--20 );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--md );
	background: var( --wp--preset--color--surface-alt );
	text-decoration: none;
	color: var( --wp--preset--color--ink );
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.portico-category-card:hover {
	border-color: var( --wp--preset--color--primary );
	box-shadow: var( --wp--custom--shadow--card );
}

.portico-category-card__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var( --wp--custom--radius--sm );
}

.portico-category-card__name {
	font-weight: 700;
}

.portico-category-card__price {
	color: var( --wp--preset--color--muted );
	font-size: var( --wp--preset--font-size--small );
}

/* --- Block: product-spotlight ------------------------------------------- */
.portico-spotlight {
	display: flex;
	flex-direction: column;
	gap: var( --wp--preset--spacing--30 );
	padding: var( --wp--preset--spacing--40 );
	background: var( --wp--preset--color--surface );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--lg );
	box-shadow: var( --wp--custom--shadow--card );
	max-width: 360px;
}

.portico-spotlight__media {
	position: relative;
	display: block;
}

.portico-spotlight__media img {
	width: 100%;
	height: auto;
	border-radius: var( --wp--custom--radius--md );
}

.portico-spotlight__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var( --wp--preset--color--sale );
	color: #fff;
	font-weight: 700;
	font-size: var( --wp--preset--font-size--small );
	padding: 2px 8px;
	border-radius: var( --wp--custom--radius--badge );
}

.portico-spotlight__name {
	font-family: var( --wp--preset--font-family--heading );
	font-weight: 700;
	color: var( --wp--preset--color--ink );
	text-decoration: none;
}

.portico-spotlight__price {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.portico-spotlight__now {
	font-weight: 800;
	font-size: var( --wp--preset--font-size--x-large );
	color: var( --wp--preset--color--ink );
}

.portico-spotlight__was {
	color: var( --wp--preset--color--strike, var( --wp--preset--color--muted ) );
	text-decoration: line-through;
}

.portico-spotlight__cta {
	align-self: flex-start;
	background: var( --wp--preset--color--cta );
	color: #fff;
	text-decoration: none;
	padding: 12px 20px;
	border-radius: var( --wp--custom--radius--sm );
	font-weight: 700;
}

.portico-spotlight__cta:hover {
	background: var( --wp--preset--color--cta-hover );
	color: #fff;
}

@media ( max-width: 900px ) {
	.portico-category-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 560px ) {
	.portico-category-grid {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* --- Block: size-finder / size-chip ------------------------------------- */
.portico-size-finder {
	display: flex;
	flex-direction: column;
	gap: var( --wp--preset--spacing--30 );
}

.portico-size-finder__controls {
	display: flex;
	flex-wrap: wrap;
	gap: var( --wp--preset--spacing--20 );
}

.portico-size-finder__select {
	flex: 1 1 200px;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--sm );
	background: var( --wp--preset--color--surface );
}

.portico-size-finder__cta {
	background: var( --wp--preset--color--cta );
	color: #fff;
	border: 0;
	border-radius: var( --wp--custom--radius--sm );
	padding: 0 22px;
	min-height: 48px;
	font-weight: 700;
	cursor: pointer;
}

.portico-size-finder__cta:hover {
	background: var( --wp--preset--color--cta-hover );
}

.portico-size-finder__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var( --wp--preset--spacing--20 );
}

.portico-size-chip {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--pill );
	background: var( --wp--preset--color--surface );
	color: var( --wp--preset--color--ink );
	font-weight: 600;
	text-decoration: none;
}

.portico-size-chip:hover {
	border-color: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--primary );
}

.portico-size-finder__measure {
	color: var( --wp--preset--color--primary );
	font-weight: 600;
}

/* --- Block: wishlist-link ----------------------------------------------- */
.portico-wishlist-link {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	position: relative;
	min-width: 44px;
	color: var( --wp--preset--color--ink );
	text-decoration: none;
	font-size: 12px;
	font-weight: 600;
	line-height: 0;
}

.portico-wishlist-link__label {
	line-height: 1;
}

.portico-wishlist-link__count {
	position: absolute;
	top: -6px;
	right: 2px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: var( --wp--custom--radius--pill );
	background: var( --wp--preset--color--cta );
	color: #fff;
	font-size: 11px;
	line-height: 18px;
	text-align: center;
}

/* --- Block: announcement-bar -------------------------------------------- */
.portico-announcement {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	padding: 9px clamp( 16px, 4vw, 24px );
	background: var( --wp--preset--color--primary-tint );
	color: var( --wp--preset--color--primary-dark );
	font-size: var( --wp--preset--font-size--small );
}

.portico-announcement__main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.portico-announcement__message {
	font-weight: 600;
}

.portico-announcement__badge {
	background: transparent;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: var( --wp--custom--radius--badge );
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.portico-announcement__countdown {
	color: var( --wp--preset--color--ink-2 );
	font-weight: 400;
	font-variant-numeric: tabular-nums;
}

/* Ticker shows the promo + countdown only — price-match/phone now live in
   the menu-bar trust badges, so the aside is hidden to avoid duplication. */
.portico-announcement__aside {
	display: none;
	align-items: center;
	gap: 20px;
}

.portico-announcement__phone {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

@media ( max-width: 782px ) {
	.portico-announcement__aside {
		display: none;
	}
}

/* --- Block: product-search ---------------------------------------------- */
.portico-product-search {
	position: relative;
	flex: 1 1 320px;
	min-width: 220px;
}

/* Desktop: the field is always visible, the icon toggle is hidden. */
.portico-product-search__toggle {
	display: none;
}

.portico-product-search__panel {
	width: 100%;
}

.portico-product-search__field {
	display: flex;
	border: 1px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--sm );
	overflow: hidden;
	background: var( --wp--preset--color--surface );
}

.portico-product-search__input {
	flex: 1;
	border: 0;
	padding: 0 14px;
	min-height: 44px;
	background: transparent;
}

.portico-product-search__input:focus {
	outline: none;
}

.portico-product-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	border: 0;
	background: var( --wp--preset--color--primary );
	color: #fff;
	cursor: pointer;
}

.portico-product-search__submit svg {
	width: 20px;
	height: 20px;
}

.portico-product-search__results {
	position: absolute;
	z-index: 30;
	inset-inline: 0;
	top: calc( 100% + 4px );
	background: var( --wp--preset--color--surface );
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--md );
	box-shadow: var( --wp--custom--shadow--card );
	overflow: hidden;
}

.portico-product-search__result {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	text-decoration: none;
	color: var( --wp--preset--color--ink );
}

.portico-product-search__result:hover {
	background: var( --wp--preset--color--surface-alt );
}

.portico-product-search__result img,
.portico-product-search__thumb {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: var( --wp--custom--radius--sm );
	background: var( --wp--preset--color--muted );
	flex: 0 0 auto;
}

.portico-product-search__result-name {
	flex: 1;
	font-size: var( --wp--preset--font-size--small );
}

.portico-product-search__result-price {
	font-weight: 700;
}

/* --- Block: product-configurator ---------------------------------------- */
.portico-configurator__fields {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: var( --wp--preset--spacing--30 );
}

.portico-configurator__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.portico-configurator__label {
	font-weight: 700;
	font-size: var( --wp--preset--font-size--small );
}

.portico-configurator__field select {
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--sm );
	background: var( --wp--preset--color--surface );
	width: 100%;
}

.portico-configurator__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var( --wp--preset--spacing--30 );
	margin-top: var( --wp--preset--spacing--40 );
}

.portico-configurator__price {
	display: inline-flex;
	align-items: baseline;
	gap: 10px;
}

.portico-configurator__now {
	font-family: var( --wp--preset--font-family--heading );
	font-weight: 800;
	font-size: var( --wp--preset--font-size--xx-large );
	color: var( --wp--preset--color--ink );
}

.portico-configurator__was {
	color: var( --wp--preset--color--muted );
	text-decoration: line-through;
}

.portico-configurator__off {
	background: var( --wp--preset--color--sale );
	color: #fff;
	font-weight: 700;
	font-size: var( --wp--preset--font-size--small );
	padding: 2px 8px;
	border-radius: var( --wp--custom--radius--badge );
}

.portico-configurator__monthly {
	margin: 0;
	color: var( --wp--preset--color--ink-2 );
	font-size: var( --wp--preset--font-size--small );
}

.portico-configurator__cta {
	background: var( --wp--preset--color--cta );
	color: #fff;
	text-decoration: none;
	padding: 0 24px;
	min-height: 54px;
	display: inline-flex;
	align-items: center;
	border-radius: var( --wp--custom--radius--sm );
	font-weight: 700;
}

.portico-configurator__cta:hover {
	background: var( --wp--preset--color--cta-hover );
	color: #fff;
}

.portico-configurator__sticky {
	position: sticky;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var( --wp--preset--spacing--30 );
	margin-top: var( --wp--preset--spacing--40 );
	padding: 12px clamp( 16px, 4vw, 24px );
	background: var( --wp--preset--color--surface );
	border-top: 1px solid var( --wp--preset--color--line );
	box-shadow: var( --wp--custom--shadow--sticky );
}

@media ( max-width: 560px ) {
	.portico-configurator__fields {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* ======================================================================= *
 * WooCommerce
 * ======================================================================= */

/* Buttons: WooCommerce's own classes get the CTA treatment. */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-Button,
.wc-block-components-button:not( .is-link ) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	background: var( --wp--preset--color--cta );
	color: #fff;
	border: 0;
	border-radius: var( --wp--custom--radius--sm );
	font-weight: 700;
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.1;
	text-decoration: none;
	cursor: pointer;
}

.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-Button:hover,
.wc-block-components-button:not( .is-link ):hover {
	background: var( --wp--preset--color--cta-hover );
	color: #fff;
}

/* Inputs & selects. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.wc-block-components-text-input input {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--sm );
	background: var( --wp--preset--color--surface );
	font-size: 16px;
}

.woocommerce form .form-row {
	display: block;
	width: 100%;
}

.woocommerce form .form-row textarea {
	min-height: 96px;
	padding: 12px 14px;
}

/* Product variations: stacked labels prevent intrinsic select widths from
   forcing the legacy WooCommerce table outside the product summary. */
.woocommerce.single-product div.product .summary {
	min-width: 0;
	overflow-wrap: anywhere;
}

.woocommerce.single-product div.product form.cart .variations,
.woocommerce.single-product div.product form.cart .variations tbody,
.woocommerce.single-product div.product form.cart .variations tr,
.woocommerce.single-product div.product form.cart .variations th,
.woocommerce.single-product div.product form.cart .variations td {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.woocommerce.single-product div.product form.cart .variations tr {
	margin-bottom: var( --wp--preset--spacing--30 );
}

.woocommerce.single-product div.product form.cart .variations th,
.woocommerce.single-product div.product form.cart .variations td {
	padding: 0;
	text-align: left;
}

.woocommerce.single-product div.product form.cart .variations label {
	display: block;
	margin-bottom: var( --wp--preset--spacing--10 );
}

.woocommerce.single-product div.product form.cart .variations select {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	min-height: var( --wp--custom--button--min-height );
	margin: 0;
	padding: var( --wp--preset--spacing--10 ) var( --wp--preset--spacing--20 );
	padding-right: var( --wp--preset--spacing--60 );
	border: 1px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--sm );
	background-color: var( --wp--preset--color--surface );
	color: var( --wp--preset--color--ink );
	text-overflow: ellipsis;
}

.woocommerce.single-product div.product form.cart .reset_variations {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* Account: logged-in dashboard (sidebar nav + content). Scoped so the
   logged-out login/register layout (WooCommerce's own 2-column layout) is
   left untouched. */
.woocommerce-account .woocommerce:has( .woocommerce-MyAccount-navigation ) {
	display: grid;
	grid-template-columns: 240px minmax( 0, 1fr );
	gap: var( --wp--preset--spacing--70 );
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 16px;
	border-radius: var( --wp--custom--radius--sm );
	color: var( --wp--preset--color--ink );
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-MyAccount-navigation ul li a:hover {
	background: var( --wp--preset--color--surface-alt );
}

.woocommerce-MyAccount-navigation ul li.is-active a {
	background: var( --wp--preset--color--primary );
	color: #fff;
}

/* Tables (orders, addresses, cart). */
.woocommerce table.shop_table {
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--md );
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 12px 16px;
	border-top: 1px solid var( --wp--preset--color--line );
}

.woocommerce table.shop_table thead th {
	border-top: 0;
	background: var( --wp--preset--color--surface-alt );
	font-weight: 700;
}

/* Notices: status conveyed by a full colored border + a light tint. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border: 1px solid var( --wp--preset--color--primary );
	border-radius: var( --wp--custom--radius--sm );
	background: color-mix( in srgb, var( --wp--preset--color--primary ) 8%, #fff );
	padding: 12px 16px;
}

.woocommerce-message {
	border-color: var( --wp--preset--color--success );
	background: color-mix( in srgb, var( --wp--preset--color--success ) 10%, #fff );
}

.woocommerce-error {
	border-color: var( --wp--preset--color--sale );
	background: color-mix( in srgb, var( --wp--preset--color--sale ) 8%, #fff );
}

/* Shared browsing cards: Product Collections and classic WooCommerce loops. */
:is(.woocommerce, .portico-products) ul.products,
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--30);
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(.woocommerce, .portico-products) ul.products::before,
:is(.woocommerce, .portico-products) ul.products::after {
	content: none;
}

:is(.woocommerce, .portico-products) ul.products[class*="columns-"] li.product,
.wp-block-woocommerce-product-template .wc-block-product {
	position: relative;
	box-sizing: border-box;
	width: auto;
	min-width: 0;
	margin: 0;
	float: none;
	display: flex;
	flex-direction: column;
	padding: 0;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface);
	text-align: left;
}

:is(.woocommerce, .portico-products) ul.products li.product:is(:hover, :focus-within),
.wp-block-woocommerce-product-template .wc-block-product:is(:hover, :focus-within) {
	border-color: var(--wp--preset--color--primary);
}

:is(.woocommerce, .portico-products) ul.products li.product a.woocommerce-loop-product__link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	border-radius: inherit;
}

.wp-block-woocommerce-product-template .wc-block-product > * {
	margin: 0;
}

.wp-block-woocommerce-product-template .wc-block-components-product-image img,
:is(.woocommerce, .portico-products) ul.products li.product a img {
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	object-position: center;
	padding: var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--md) var(--wp--custom--radius--md) 0 0;
	background: var(--wp--preset--color--surface-alt);
	margin: 0;
}

.wp-block-woocommerce-product-template .wc-block-components-product-image {
	margin: 0;
}

:is(.woocommerce, .portico-products) ul.products li.product .woocommerce-loop-product__title,
.wp-block-woocommerce-product-template .wc-block-product .wp-block-post-title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.45;
	overflow-wrap: anywhere;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) var(--wp--preset--spacing--20);
	margin: 0;
}

.wp-block-woocommerce-product-template .wp-block-post-title a {
	display: block;
	min-height: 44px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

:is(.woocommerce, .portico-products) ul.products li.product a.woocommerce-loop-product__link:focus-visible,
.wp-block-woocommerce-product-template .wc-block-product a:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
}

.wp-block-woocommerce-product-template .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

:is(.woocommerce, .portico-products) ul.products li.product .price,
.wp-block-woocommerce-product-template .wc-block-product .wp-block-woocommerce-product-price {
	margin: auto 0 0;
	padding: 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

.portico-card-price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2em;
	font-variant-numeric: tabular-nums;
	min-height: calc(2.8 * var(--wp--preset--font-size--small) + 1.8 * var(--wp--preset--font-size--x-large));
}

.portico-card-price__label {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	order: -2;
}

.portico-card-price > ins {
	order: -1;
	background: none;
	font-weight: 700;
	text-decoration: none;
}

.wp-block-woocommerce-product-template .wc-block-components-product-price del,
:is(.woocommerce, .portico-products) ul.products li.product .price del {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	opacity: 1;
}

.portico-card-price .amount {
	white-space: nowrap;
}

.portico-card-price .woocommerce-price-suffix {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}

:is(.woocommerce, .portico-products) ul.products li.product .onsale,
.wp-block-woocommerce-product-template .wc-block-components-product-sale-badge {
	position: absolute;
	top: var(--wp--preset--spacing--10);
	left: var(--wp--preset--spacing--10);
	right: auto;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 0.25em 0.6em;
	border: 0;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--sale);
	color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1.4;
}

.wp-block-woocommerce-product-template .wp-block-woocommerce-product-rating,
:is(.woocommerce, .portico-products) ul.products li.product .star-rating {
	margin: 0 var(--wp--preset--spacing--20) var(--wp--preset--spacing--20);
}

@media (min-width: 768px) {

	:is(.woocommerce, .portico-products) ul.products,
	.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--30);
	}
}

@media (min-width: 1100px) {

	:is(.woocommerce, .portico-products) ul.products,
	.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--40);
	}
}

.portico-products ul.products {
	margin-top: var(--wp--preset--spacing--40);
}

/* Free-freight progress bar on the cart. */
.portico-freight {
	margin: 0 0 var( --wp--preset--spacing--40 );
	padding: 14px 18px;
	border-radius: var( --wp--custom--radius--md );
	background: var( --wp--preset--color--primary-tint );
}

.portico-freight.is-complete {
	background: color-mix( in srgb, var( --wp--preset--color--success ) 14%, #fff );
}

.portico-freight__msg {
	margin: 0 0 8px;
	font-weight: 600;
	color: var( --wp--preset--color--ink );
}

.portico-freight__track {
	height: 8px;
	border-radius: var( --wp--custom--radius--pill );
	background: var( --wp--preset--color--line );
	overflow: hidden;
}

.portico-freight__fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var( --wp--preset--color--success );
}

@media ( max-width: 900px ) {
	.woocommerce-account .woocommerce:has( .woocommerce-MyAccount-navigation ) {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* --- Mobile header overrides (kept last so they win the cascade) ------ */
@media ( max-width: 782px ) {
	/* One clean row: hamburger · left-aligned logo · cart pushed right.
	   Prefixed to beat WP's generated layout rule (justifyContent attr). */
	.portico-header .portico-header__row {
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 10px;
	}

	.portico-header__row .portico-header__burger {
		display: flex;
		flex: 0 0 auto;
	}

	/* Logo sits left; the brand column grows so the cart is pushed to the far right. */
	.portico-header__brand {
		flex: 1 1 auto;
		justify-content: flex-start;
	}

	.portico-header__brand .wp-block-site-logo {
		max-width: 150px;
	}

	/* Minimal mobile chrome: hamburger · logo · cart. Search + nav live in the
	   drawer; the whole dark menu bar (nav + trust badges) is hidden — no strip.
	   Prefixed selectors beat core's .wp-block-group.is-layout-flex (0,2,0). */
	.portico-header__row .portico-header__search,
	.portico-header__actions .wp-block-woocommerce-customer-account,
	.portico-header__actions .portico-wishlist-link,
	.portico-header .portico-navbar,
	.portico-navbar {
		display: none;
	}

	.wc-block-mini-cart__amount {
		display: none;
	}

	/* Compact announcement bar: one line, never overflows. */
	.portico-announcement {
		justify-content: center;
		padding: 7px 12px;
		font-size: 13px;
		overflow: hidden;
	}

	.portico-announcement__main {
		flex-wrap: nowrap;
		gap: 8px;
		min-width: 0;
		justify-content: center;
	}

	.portico-announcement__badge {
		flex: none;
	}

	.portico-announcement__message {
		min-width: 0;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	/* Keep the countdown intact on its own; the message yields space to it. */
	.portico-announcement__countdown {
		flex: none;
		white-space: nowrap;
	}

	/* --- Hamburger drawer: dark scrim + left white panel ---------------- */
	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open {
		background-color: rgba( 8, 20, 18, 0.55 ) !important;
		padding: 0;
	}

	.portico-header__burger
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-close {
		width: 100%;
		max-width: none;
		height: 100%;
		padding: 0;
	}

	.portico-header__burger
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-dialog {
		position: relative;
		display: flex;
		flex-direction: column;
		width: min( 330px, 86vw );
		height: 100%;
		margin: 0;
		padding: 0;
		background: var( --wp--preset--color--surface );
		overflow-y: auto;
		box-shadow: 0 0 40px rgba( 0, 0, 0, 0.25 );
	}

	/* Drawer header bar: "Menu" title + close, with a divider. */
	.portico-header__burger .wp-block-navigation__responsive-container-close {
		position: static;
		order: 0;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		width: 100%;
		height: 52px;
		padding: 0 var( --wp--preset--spacing--40 );
		border-bottom: 1px solid var( --wp--preset--color--line );
		color: var( --wp--preset--color--ink );
	}

	.portico-header__burger .wp-block-navigation__responsive-container-close::before {
		content: "Menu";
		margin-right: auto;
		padding-left: 0;
		font-family: var( --wp--preset--font-family--heading );
		font-weight: 800;
		font-size: 18px;
		color: var( --wp--preset--color--ink );
	}

	.portico-header__burger .wp-block-navigation__responsive-container-close svg {
		width: 24px;
		height: 24px;
	}

	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		order: 1;
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: 0;
		padding: var( --wp--preset--spacing--20 ) 0 0;
	}

	/* Search field at the top of the drawer. */
	.portico-header__burger .portico-menu-search {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		padding: 0 var( --wp--preset--spacing--40 ) var( --wp--preset--spacing--20 );
		margin: 0;
	}

	.portico-header__burger .wp-block-search__inside-wrapper {
		border: 1px solid var( --wp--preset--color--line-strong );
		border-radius: var( --wp--custom--radius--sm );
		overflow: hidden;
	}

	.portico-header__burger .portico-menu-search .wp-block-search__button {
		min-width: 44px;
		min-height: 44px;
		padding: var( --wp--preset--spacing--10 );
	}

	/* Menu links as full-width rows with dividers and a chevron. */
	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		flex-direction: column;
		gap: 0;
		width: 100%;
	}

	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		width: 100%;
	}

	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		box-sizing: border-box;
		min-height: 44px;
		padding: 0 var( --wp--preset--spacing--40 );
		border-bottom: 1px solid var( --wp--preset--color--line );
		color: var( --wp--preset--color--ink );
		font-weight: 600;
		font-size: 15px;
		text-decoration: none;
	}

	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::after {
		content: "\203A";
		margin-left: 12px;
		color: var( --wp--preset--color--muted );
		font-size: 20px;
		line-height: 1;
	}

	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover {
		background: var( --wp--preset--color--primary-tint );
		color: var( --wp--preset--color--primary );
	}

	.portico-header__burger .wp-block-navigation__responsive-container-content .portico-nav-sale .wp-block-navigation-item__content {
		color: var( --wp--preset--color--sale );
	}

	/* Mobile accordion: submenus collapsed by default, expand only the opened one.
	   Display is driven by the .portico-sub-open class (set by mobile-nav.js), so it
	   does not fight WordPress' interactivity binding of aria-expanded. */
	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		display: none !important;
	}

	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.portico-sub-open > .wp-block-navigation__submenu-container {
		display: block !important;
		padding-left: var( --wp--preset--spacing--40 );
	}

	/* Single chevron indicator (hide WP's own submenu icon); rotate when open. */
	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
		display: none;
	}

	.portico-header__burger .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle::after {
		transition: transform 0.2s ease;
	}

	.portico-header__burger .wp-block-navigation-submenu.portico-sub-open > .wp-block-navigation-submenu__toggle::after {
		transform: rotate( 90deg );
	}
}
