/*
 * RogIQ layout — shared by every design. Panels, section scheme tones, header overlay, flyout menu,
 * buttons, icons and footer. Colors, sizes and spacing come from presets only; a design's tokens restyle all of it.
 * Per-design touches go in designs/<slug>/design.css.
 */

body { -webkit-font-smoothing: antialiased; }

/* Ink: the color for headings and emphasised text. A design sets custom.color.ink; without it, primary. */
:root { --rogiq-ink: var(--wp--custom--color--ink, var(--wp--preset--color--primary)); }

/* Scheme helpers. The Alt / Feature section styles (includes/design.php) set background, text, headings and buttons;
   these add the in-between tones the 10-slot palette doesn't carry, mixed from presets. */
.is-style-feature {
	--rogiq-body: color-mix(in srgb, var(--wp--preset--color--primary-contrast) 85%, transparent);
	--rogiq-small: color-mix(in srgb, var(--wp--preset--color--primary-contrast) 68%, transparent);
	--rogiq-divider: color-mix(in srgb, var(--wp--preset--color--primary-contrast) 22%, transparent);
	--rogiq-raised: color-mix(in srgb, var(--wp--preset--color--primary-contrast) 8%, transparent);
	--rogiq-accent: var(--wp--preset--color--secondary);
}
.is-style-feature p:not(.has-text-color) { color: var(--rogiq-body); }

/* ---------- Panels: inset, rounded full-width sections ---------- */
.rogiq-panel {
	margin-inline: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--panel, 32px);
}
.has-global-padding > .rogiq-panel.alignfull {
	margin-left: calc(var(--wp--style--root--padding-left) * -1 + var(--wp--preset--spacing--40));
	margin-right: calc(var(--wp--style--root--padding-right) * -1 + var(--wp--preset--spacing--40));
}
.rogiq-panel.wp-block-cover { overflow: hidden; }

/* ---------- Header: overlays the first panel when the page starts with one ---------- */
body:not(.rogiq-header-static):has(main .wp-block-post-content > .rogiq-panel:first-child, main > .rogiq-panel:first-child) .wp-site-blocks > header.wp-block-template-part {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
}
body.admin-bar:not(.rogiq-header-static):has(main .wp-block-post-content > .rogiq-panel:first-child, main > .rogiq-panel:first-child) .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }

.rogiq-header {
	margin: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) 0;
	min-height: 96px;
	padding-inline: var(--wp--preset--spacing--50);
}
.rogiq-header .rogiq-logo { margin-right: auto; }
.rogiq-header .rogiq-logo img { height: 68px; width: auto; max-width: 100%; object-fit: contain; object-position: left center; }
/* When the header is collapsed (menu button), a wide logo may scale down to fit beside the button — same shape,
   never stretched. In the full desktop row it keeps its size and the fit check collapses the menu instead. */
.rogiq-header.rogiq-header-plain.rogiq-nav-collapse .rogiq-logo { flex-shrink: 1; min-width: 0; }
.rogiq-header .rogiq-logo a { display: block; max-width: 100%; }
@media (max-width: 1199px) { .rogiq-header.rogiq-header-plain .rogiq-logo { flex-shrink: 1; min-width: 0; } }

/* Pill navigation */
.rogiq-nav .wp-block-navigation__container {
	gap: 2px;
	padding: 5px;
	border-radius: var(--wp--custom--radius--pill, 999px);
	background: color-mix(in srgb, var(--wp--preset--color--base-alt) 50%, var(--wp--preset--color--base));
}
/* Core gives each item background-color: inherit, which paints square corners past the pill's rounded ends */
.rogiq-nav .wp-block-navigation-item { background-color: transparent; }
.rogiq-nav .wp-block-navigation-item__content {
	display: block;
	padding: 10px 16px;
	border-radius: var(--wp--custom--radius--pill, 999px);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--rogiq-ink);
	transition: background-color var(--wp--custom--transition--fast, 0.2s ease), color var(--wp--custom--transition--fast, 0.2s ease);
}
.rogiq-nav .wp-block-navigation-item__content:hover,
.rogiq-nav .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* Collapse to the flyout below 1200px (core's built-in breakpoint is 600px) */
@media (max-width: 1199px) {
	.rogiq-header { min-height: 84px; padding-inline: var(--wp--preset--spacing--30); }
	.rogiq-nav { order: 3; }
	.rogiq-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.rogiq-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* Same collapsed header at any width when the links + logo + button don't fit (measured by assets/nav.js) */
.rogiq-header.rogiq-header-plain.rogiq-nav-collapse { display: flex; min-height: 84px; }
.rogiq-header.rogiq-nav-collapse .rogiq-nav { order: 3; }
.rogiq-header.rogiq-nav-collapse .rogiq-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
.rogiq-header.rogiq-nav-collapse .rogiq-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
.rogiq-header .rogiq-logo { flex-shrink: 0; }
/* Collapsed (menu button) header: logo left, the header button sits beside the menu button on the right */
.rogiq-header.rogiq-header-plain.rogiq-nav-collapse { justify-content: flex-end; column-gap: var(--wp--preset--spacing--20); }
@media (max-width: 1199px) { .rogiq-header.rogiq-header-plain { justify-content: flex-end; column-gap: var(--wp--preset--spacing--20); } }
.rogiq-nav .wp-block-navigation__responsive-container-open {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border: 1.5px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--round, 50%);
	color: var(--rogiq-ink);
}
/* Right-side flyout panel with a navy scrim */
.rogiq-nav .wp-block-navigation__responsive-container.is-menu-open {
	left: auto;
	box-sizing: border-box;
	width: min(420px, 88vw);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radius--panel, 32px) 0 0 var(--wp--custom--radius--panel, 32px);
	box-shadow: 0 0 0 100vmax color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent);
}
.rogiq-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.rogiq-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; }
.rogiq-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
.rogiq-nav .is-menu-open .wp-block-navigation__container {
	gap: 0;
	width: 100%;
	padding: 0;
	border-radius: 0;
	background: transparent;
}
.rogiq-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--primary-contrast) 22%, transparent);
}
.rogiq-nav .is-menu-open .wp-block-navigation-item__content {
	padding: 18px 4px;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 400;
	color: var(--wp--preset--color--primary-contrast);
	transition: padding var(--wp--custom--transition--fast, 0.2s ease);
}
.rogiq-nav .is-menu-open .wp-block-navigation-item__content:hover,
.rogiq-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content {
	background: transparent;
	color: var(--wp--preset--color--primary-contrast);
	padding-left: 12px;
}
.rogiq-nav .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--primary-contrast); }

/* Flyout-only buttons: menu links with the class rogiq-nav-cta (add rogiq-nav-phone for the phone icon).
   Hidden in the desktop pill, which already sits beside the header buttons. */
.rogiq-nav .wp-block-navigation__container > .rogiq-nav-cta { display: none; }
.rogiq-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.rogiq-nav-cta { display: flex; border-bottom: 0; }
.rogiq-nav .is-menu-open .wp-block-navigation-item:not(.rogiq-nav-cta) + .rogiq-nav-cta { margin-top: var(--wp--preset--spacing--50); }
.rogiq-nav .is-menu-open .rogiq-nav-cta + .rogiq-nav-cta { margin-top: var(--wp--preset--spacing--20); }
.rogiq-nav .is-menu-open .rogiq-nav-cta > .wp-block-navigation-item__content,
.rogiq-nav .is-menu-open .rogiq-nav-cta > .wp-block-navigation-item__content:hover {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	box-sizing: border-box;
	width: 100%;
	padding: 0.9rem 1.4rem;
	border: 1.5px solid var(--wp--preset--color--secondary);
	border-radius: var(--wp--custom--radius--pill, 999px);
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--secondary-contrast);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}
.rogiq-nav .is-menu-open .rogiq-nav-phone > .wp-block-navigation-item__content,
.rogiq-nav .is-menu-open .rogiq-nav-phone > .wp-block-navigation-item__content:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary-contrast) 22%, transparent);
	background: transparent;
	color: var(--wp--preset--color--primary-contrast);
}
.rogiq-nav .is-menu-open .rogiq-nav-cta > .wp-block-navigation-item__content:hover { filter: brightness(0.92); }
.rogiq-nav .is-menu-open .rogiq-nav-phone > .wp-block-navigation-item__content::before {
	content: '';
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Light logo: add a second logo Image with rogiq-logo rogiq-logo-light. It replaces the dark one when the page opens with a Feature (dark) panel. */
.rogiq-header .rogiq-logo-light { display: none; }
body:not(.rogiq-header-static):has(main .wp-block-post-content > .rogiq-panel.is-style-feature:first-child, main > .rogiq-panel.is-style-feature:first-child) .rogiq-header .rogiq-logo:not(.rogiq-logo-light) { display: none; }
body:not(.rogiq-header-static):has(main .wp-block-post-content > .rogiq-panel.is-style-feature:first-child, main > .rogiq-panel.is-style-feature:first-child) .rogiq-header .rogiq-logo-light { display: block; }
body:not(.rogiq-header-static):has(main .wp-block-post-content > .rogiq-panel.is-style-feature:first-child, main > .rogiq-panel.is-style-feature:first-child) .rogiq-header .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary-contrast) 22%, transparent);
	color: var(--wp--preset--color--primary-contrast);
}

body:not(.rogiq-header-static):has(main .wp-block-post-content > .rogiq-panel.is-style-feature:first-child, main > .rogiq-panel.is-style-feature:first-child) .rogiq-header .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	border-color: var(--wp--preset--color--secondary);
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--secondary-contrast);
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color var(--wp--custom--transition--fast, 0.2s ease), color var(--wp--custom--transition--fast, 0.2s ease), filter var(--wp--custom--transition--fast, 0.2s ease); }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { filter: brightness(0.9); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
}
.is-style-feature .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border-color: var(--rogiq-divider);
	color: var(--wp--preset--color--primary-contrast);
}
.is-style-feature .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary-contrast);
	border-color: var(--wp--preset--color--primary-contrast);
	color: var(--rogiq-ink);
}
.wp-block-button__link:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.is-style-feature .wp-block-button__link:focus-visible { outline-color: var(--rogiq-accent); }

/* Phone icon on a button: add the class rogiq-icon-phone to the Button block */
.rogiq-icon-phone > .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.5rem; }
.rogiq-icon-phone > .wp-block-button__link::before {
	content: '';
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Home Hero ---------- */
.rogiq-hero .rogiq-media img { border-radius: var(--wp--custom--radius--card, 22px); }
@media (max-width: 781px) {
	.rogiq-hero .rogiq-media img { aspect-ratio: 4 / 3 !important; }
}

/* ---------- CTA Band (photo panel) ---------- */
.rogiq-cta .wp-block-cover__inner-container { max-width: 44rem; margin-inline: auto; }

/* ---------- Footer ---------- */
.rogiq-footer { margin-bottom: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); }
.rogiq-footer .rogiq-footer-logo a { display: block; }
.rogiq-footer .rogiq-footer-logo img { width: 100%; height: auto; max-height: 84px; object-fit: contain; object-position: left center; }
.rogiq-footer .rogiq-footer-brand { font-family: var(--wp--preset--font-family--heading); color: var(--wp--preset--color--primary-contrast); }
.rogiq-footer .rogiq-footer-blurb { color: var(--wp--preset--color--primary-contrast); line-height: 1.4; }
.rogiq-footer .rogiq-footer-label { color: var(--rogiq-small); }
.rogiq-footer .rogiq-footer-list { list-style: none; padding: 0; margin-inline: 0; margin-bottom: 0; display: flex; flex-direction: column; gap: 10px; }
.rogiq-footer a { text-decoration: none; }
.rogiq-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.rogiq-footer a:focus-visible { outline: 2px solid var(--rogiq-accent); outline-offset: 3px; border-radius: 2px; }
.rogiq-footer .rogiq-footer-bottom {
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--rogiq-divider);
	font-size: var(--wp--preset--font-size--x-small);
}
.rogiq-footer .rogiq-footer-bottom p,
.rogiq-footer .rogiq-footer-bottom a { color: var(--rogiq-small); }

/* ---------- Small screens ---------- */
@media (max-width: 640px) {
	.rogiq-panel { margin-inline: var(--wp--preset--spacing--20); border-radius: 20px; }
	.has-global-padding > .rogiq-panel.alignfull {
		margin-left: calc(var(--wp--style--root--padding-left) * -1 + var(--wp--preset--spacing--20));
		margin-right: calc(var(--wp--style--root--padding-right) * -1 + var(--wp--preset--spacing--20));
	}
	.rogiq-header { margin: var(--wp--preset--spacing--20) var(--wp--preset--spacing--20) 0; }
	.rogiq-header .rogiq-logo img { height: 52px; }
	.rogiq-header .rogiq-hide-mobile { display: none; }
	/* Phone collapses to a round tap-to-call icon; the number stays as its accessible name */
	.rogiq-header .rogiq-icon-phone > .wp-block-button__link { width: 44px; height: 44px; padding: 0; justify-content: center; font-size: 0; gap: 0; }
}

/* ---------- Header (top bar): plain nav with dropdowns, header sits above the page ---------- */
:root { --rogiq-phone-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
/* Header edges = page banner edges: the section padding on smaller screens, the site width on wide ones.
   Logo, button and the top bar phone all sit on these lines (same formula as .rogiq-banner in sections.css). */
/* Slim bar; the phone lines up with the header button's right edge, not the screen edge */
.rogiq-topbar {
	padding: 0.25em max(var(--wp--preset--spacing--50), (100% - var(--wp--custom--site-width, 100%)) / 2);
	max-width: none;
	font-size: var(--wp--custom--topbar-font-size, var(--wp--preset--font-size--small)) !important;
	line-height: 1.45;
}
.rogiq-topbar p { margin: 0; }
/* Nothing left to show (e.g. Site Info phone cleared): drop the bar */
.rogiq-topbar:not(:has(p, a, form, .wp-block-social-links, .wp-block-buttons)) { display: none; }
/* Search icon on the left of the bar (core Search, icon only): click opens a field in the bar, the next click / Enter searches.
   White line icon + underlined field on the dark bar instead of the site's filled button. */
.rogiq-topbar .rogiq-topbar-search { margin: 0 auto 0 0; line-height: 1; }
.rogiq-topbar-search .wp-block-search__inside-wrapper { align-items: center; padding: 0; border: 0; background: none; }
.rogiq-topbar-search .wp-block-search__button {
	display: inline-grid;
	place-items: center;
	width: 1.45em;
	height: 1.45em;
	min-height: 0;
	margin: 0 0 0 -0.2em;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--sm, 5px);
	background: none;
	color: inherit;
	box-shadow: none;
}
.rogiq-topbar-search .wp-block-search__button svg { width: 1.125em; height: 1.125em; min-width: 0; fill: currentColor; }
.rogiq-topbar-search .wp-block-search__button:is(:hover, :focus-visible) { background: color-mix(in srgb, currentColor 15%, transparent); color: inherit; }
.rogiq-topbar-search .wp-block-search__input {
	height: 1.45em;
	min-height: 0;
	padding: 0 0.25em;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, currentColor 60%, transparent);
	border-radius: 0;
	background: none;
	color: inherit;
	font-size: inherit;
}
.rogiq-topbar-search .wp-block-search__input::placeholder { color: color-mix(in srgb, currentColor 65%, transparent); opacity: 1; }
.rogiq-topbar-search .wp-block-search__input:focus-visible { outline: none; border-bottom-color: currentColor; }
.rogiq-topbar-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper { width: min(18rem, 60vw) !important; }
.rogiq-topbar-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { flex: 1 1 auto; width: auto !important; min-width: 0; }
.rogiq-topbar-phone { white-space: nowrap; }
/* Phones: an open search takes the whole bar; the phone number comes back when it's closed */
@media (max-width: 600px) {
	.rogiq-topbar:has(.rogiq-topbar-search:not(.wp-block-search__searchfield-hidden)) .rogiq-topbar-phone { display: none; }
	.rogiq-topbar .rogiq-topbar-search:not(.wp-block-search__searchfield-hidden) { flex: 1 1 auto; margin-right: 0; }
	.rogiq-topbar-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper { width: 100% !important; }
}
.rogiq-topbar a { color: inherit; text-decoration: none; }
.rogiq-topbar-phone a { display: inline-flex; align-items: center; gap: 0.5em; }
.rogiq-topbar-phone a::before {
	content: '';
	width: 1em;
	height: 1em;
	background: currentColor;
	-webkit-mask: var(--rogiq-phone-glyph) center / contain no-repeat;
	        mask: var(--rogiq-phone-glyph) center / contain no-repeat;
}
.rogiq-header.rogiq-header-plain {
	margin: 0;
	max-width: none;
	min-height: 0;
	padding: var(--wp--preset--spacing--30) max(var(--wp--preset--spacing--50), (100% - var(--wp--custom--site-width, 100%)) / 2);
}
/* Desktop: logo left, links centred on the row (not between logo and button), button right */
@media (min-width: 1200px) {
	/* Logo and button columns never shrink below their natural width; links stay on one line.
	   If the row can't fit, assets/nav.js switches the header to the menu button (rogiq-nav-collapse). */
	.rogiq-header.rogiq-header-plain { display: grid; grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); align-items: center; }
	.rogiq-header-plain .wp-block-navigation__container { flex-wrap: nowrap; }
	/* Wide logo: links can't be centred on the page but still fit, so they sit centred in the space that's left */
	.rogiq-header.rogiq-header-plain.rogiq-nav-offcenter { grid-template-columns: max-content minmax(0, 1fr) max-content; }
	.rogiq-header-plain .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { white-space: nowrap; }
	.rogiq-header-plain > :first-child { justify-self: start; }
	.rogiq-header-plain > :last-child { justify-self: end; }
}
.rogiq-nav-plain .wp-block-navigation__container { padding: 0; gap: var(--wp--custom--nav-gap, var(--wp--preset--spacing--40)); background: transparent; border-radius: 0; }
.rogiq-nav-plain .wp-block-navigation-item__content { padding: 0.5em 0; border-radius: 0; font-size: var(--wp--custom--nav-font-size, var(--wp--preset--font-size--medium)); font-weight: 400; }
.rogiq-nav-plain .wp-block-navigation-item__content:hover,
.rogiq-nav-plain .current-menu-item > .wp-block-navigation-item__content {
	background: transparent;
	color: var(--wp--preset--color--accent);
}
.rogiq-nav-plain .wp-block-navigation__submenu-container {
	min-width: 15rem;
	padding: 0;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: var(--wp--custom--radius--sm, 12px);
	overflow: hidden;
	background: var(--wp--preset--color--base) !important;
	/* the nav's overlay text colour is for the dark mobile menu; dropdowns sit on base */
	color: var(--wp--preset--color--contrast) !important;
}
/* Ruled rows; hover and the current page sit on a tint */
.rogiq-nav-plain .wp-block-navigation__submenu-container > .wp-block-navigation-item + .wp-block-navigation-item { border-top: 1px solid var(--wp--preset--color--border); }
.rogiq-nav-plain .wp-block-navigation__submenu-container .wp-block-navigation-item__content { width: 100%; padding: 0.6em var(--wp--preset--spacing--20); }
.rogiq-nav-plain .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.rogiq-nav-plain .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--base-alt);
	color: var(--wp--preset--color--contrast);
}

/* Chevron (Font Awesome Free "chevron-down", CC BY 4.0 — fontawesome.com/license/free) as a mask, so it takes currentColor */
.rogiq-nav-plain {
	--rogiq-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");
}
.rogiq-nav-plain .wp-block-navigation__submenu-icon svg { display: none; }
.rogiq-nav-plain .wp-block-navigation__submenu-icon::before,
.rogiq-nav-plain .rogiq-chevron {
	content: '';
	display: block;
	width: 0.65em;
	height: 0.65em;
	background: currentColor;
	-webkit-mask: var(--rogiq-chevron) center / contain no-repeat;
	        mask: var(--rogiq-chevron) center / contain no-repeat;
	transition: transform var(--wp--custom--transition--fast, 0.2s ease);
}
.rogiq-nav-plain .wp-block-navigation__submenu-icon { display: inline-flex; align-items: center; justify-content: center; }
.rogiq-nav-plain .wp-block-navigation__submenu-icon[aria-expanded="true"]::before,
.rogiq-nav-plain .rogiq-sub-open > .rogiq-sub-toggle .rogiq-chevron { transform: rotate(180deg); }

/* Accordion toggle: only used in the open mobile flyout (assets/nav.js) */
.rogiq-sub-toggle { display: none; }

/* ---------- Footer (link columns): light footer with a ruled legal row ---------- */
.rogiq-footer.rogiq-footer-links { margin-bottom: 0; font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--contrast); }
.rogiq-footer-links .rogiq-footer-label { margin: 0 0 var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--large); font-weight: 600; color: var(--rogiq-ink); }
.rogiq-footer-links .rogiq-footer-list { gap: 0.4em; }
/* Footer columns as menus (Navigation block, class rogiq-footer-nav): same look as the old link lists */
.rogiq-footer-links .rogiq-footer-nav { font-size: inherit; }
.rogiq-footer-links .rogiq-footer-nav .wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: 0.4em; }
.rogiq-footer-links .rogiq-footer-nav .wp-block-navigation-item__content { padding: 0; color: inherit; }
.rogiq-footer-links .rogiq-footer-nav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 4px; }
.rogiq-footer-links a { color: inherit; }
.rogiq-footer-links .rogiq-footer-bottom {
	padding-top: var(--wp--preset--spacing--20);
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--small);
}
.rogiq-footer-links .rogiq-footer-bottom a { color: inherit; }
.rogiq-footer-links .rogiq-footer-bottom p { margin: 0; }
/* Legal line: copyright, then the legal links; separators are drawn (not read aloud). On phones the copyright gets its
   own line, so a long company name never strands a separator; the social icons always stay on the right. */
.rogiq-footer-links { --rogiq-footer-sep: "·"; }
/* Every item starts with its separator in a fixed-width slot; the wrap is shifted left by one slot and clipped, so a
   separator that lands at the start of a line is hidden and only separators between items on one line show. */
.rogiq-footer-links { --rogiq-footer-sep-w: 1.6em; }
.rogiq-footer-links .rogiq-footer-legal-wrap { gap: 0; row-gap: 0.25rem; margin-left: calc(-1 * var(--rogiq-footer-sep-w)) !important; clip-path: inset(0 0 0 var(--rogiq-footer-sep-w)); }
.rogiq-footer-links .rogiq-footer-legal a + a::before,
.rogiq-footer-links .rogiq-footer-legal-wrap > p::before { content: var(--rogiq-footer-sep) / ""; display: inline-block; width: var(--rogiq-footer-sep-w); text-align: center; color: inherit; }
.rogiq-footer-links .rogiq-footer-legal a + a::before { text-decoration: none; }
.rogiq-footer-links .rogiq-footer-bottom .rogiq-site-socials { margin-left: auto; }
@media (max-width: 781px) {
	.rogiq-footer-links .rogiq-footer-legal-wrap { flex-direction: column; align-items: flex-start; }
	.rogiq-footer-links .rogiq-footer-legal-wrap { margin-left: 0 !important; clip-path: none; }
	.rogiq-footer-links .rogiq-footer-legal-wrap > p::before { content: none; }
	.rogiq-footer-links .rogiq-footer-bottom .rogiq-site-socials { margin-left: 0; }
}
/* In the open mobile menu, submenus are plain indented lists, not dropdown boxes */
.rogiq-nav-plain .is-menu-open .wp-block-navigation__submenu-container { min-width: 0; padding: 0; border: 0 !important; background: transparent !important; color: inherit !important; box-shadow: none; }
.rogiq-nav-plain .is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item { border-top: 0; background: transparent; }

/* Plain flyout: light panel (the nav's overlay colours, base/contrast) over a dark scrim, ruled with the border token */
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open { box-shadow: 0 0 0 100vmax color-mix(in srgb, var(--wp--preset--color--contrast) 60%, transparent); }
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { border-bottom-color: var(--wp--preset--color--border); }
.rogiq-nav-plain .wp-block-navigation__responsive-container-close { color: inherit; }
/* Plain flyout: body font at reading sizes, even rows, no hover indent, submenus as an accordion.
   Scoped under the open container so it outranks core's overlay rules. */
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; }
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content {
	padding: 0.7em 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
	background: transparent;
	color: inherit;
}
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content { font-weight: 700; }
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { gap: 0; padding: 0 0 var(--wp--preset--spacing--20) var(--wp--preset--spacing--20); }
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	padding: 0.5em 0;
	font-size: var(--wp--preset--font-size--medium);
}
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; }
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .has-child {
	display: grid !important;
	grid-template-columns: 1fr auto;
	align-items: center !important;
}
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-container { grid-column: 1 / -1; }
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .has-child:not(.rogiq-sub-open) > .wp-block-navigation__submenu-container { display: none !important; }
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .rogiq-sub-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-right: -12px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: var(--wp--preset--font-size--large);
	cursor: pointer;
}
/* Flyout CTA (menu link with rogiq-nav-cta): same outline button as the desktop header */
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .rogiq-nav-cta > .wp-block-navigation-item__content,
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .rogiq-nav-cta > .wp-block-navigation-item__content:hover {
	justify-content: center;
	padding: 1rem 1.25rem;
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: var(--wp--custom--radius--button, 5px);
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 400;
	filter: none;
}
.rogiq-nav-plain .wp-block-navigation__responsive-container.is-menu-open .rogiq-nav-cta > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
/* Static header: content starts right under it and the footer meets the last section, as in the flat designs */
.rogiq-header-static .wp-site-blocks > :is(main, footer) { margin-block-start: 0; }

/* ---------- Site Info social icons (.rogiq-site-socials): Font Awesome Free brand glyphs, as in the designs ----------
   Font Awesome Free 6.7.2 by @fontawesome — https://fontawesome.com/license/free (Icons: CC BY 4.0).
   Masks take the block's icon colour; each glyph keeps its own width, so the gaps read evenly. */
.wp-block-social-links.rogiq-site-socials { gap: var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--large); align-items: center; }
.rogiq-site-socials .wp-social-link { padding: 0; background: none; }
.rogiq-site-socials .wp-block-social-link-anchor { padding: 0; }
.rogiq-site-socials .wp-block-social-link-anchor svg { display: none; }
.rogiq-site-socials .wp-block-social-link-anchor::before {
	content: '';
	display: block;
	width: var(--rogiq-brand-w, 1em);
	height: 1em;
	background: currentColor;
	-webkit-mask: var(--rogiq-brand) center / contain no-repeat;
	        mask: var(--rogiq-brand) center / contain no-repeat;
}
.rogiq-site-socials .wp-social-link:hover { transform: none; }
.rogiq-site-socials .wp-block-social-link-anchor:hover::before { background: var(--wp--preset--color--accent); }
.rogiq-site-socials .wp-social-link-facebook { --rogiq-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'/%3E%3C/svg%3E"); --rogiq-brand-w: 0.625em; }
.rogiq-site-socials .wp-social-link-instagram { --rogiq-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E"); --rogiq-brand-w: 0.875em; }
.rogiq-site-socials .wp-social-link-linkedin { --rogiq-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E"); --rogiq-brand-w: 0.875em; }
.rogiq-site-socials .wp-social-link-x { --rogiq-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E"); --rogiq-brand-w: 1.0em; }
.rogiq-site-socials .wp-social-link-youtube { --rogiq-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E"); --rogiq-brand-w: 1.125em; }
.rogiq-site-socials .wp-social-link-tiktok { --rogiq-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z'/%3E%3C/svg%3E"); --rogiq-brand-w: 0.875em; }
.rogiq-site-socials .wp-social-link-google { --rogiq-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 488 512'%3E%3Cpath d='M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z'/%3E%3C/svg%3E"); --rogiq-brand-w: 0.9531em; }

/* Hide by screen size: rogiq-hide-on-<device> (Site Info → Footer menus adds them; usable on any block).
   Same breakpoints as the rest of the theme: phone up to 781px, tablet 782–1024, laptop 1025–1279, desktop 1280+. */
@media (min-width: 1280px) { .rogiq-hide-on-desktop { display: none !important; } }
@media (min-width: 1025px) and (max-width: 1279px) { .rogiq-hide-on-laptop { display: none !important; } }
@media (min-width: 782px) and (max-width: 1024px) { .rogiq-hide-on-tablet { display: none !important; } }
@media (max-width: 781px) { .rogiq-hide-on-phone { display: none !important; } }
