/* wooglsmodul funnel — design-step additions to the design export (styles.css stays a verbatim copy of
   design/gls-homepage/export/v5/styles.css). Loaded on the home step after styles.css. Design tokens only. */

/* Gutenberg Group block that restores the export's <div class="page"> wrapper: drop WordPress's
   flow-layout gap between the sections (the design has no margins between top-level elements). */
body.wgm-design .wp-block-group.page > * { margin-block-start: 0; margin-block-end: 0; }
body.wgm-design [id][tabindex="-1"]:focus { outline: none; }

/* Mobile menu panel (handoff §06): full-height navy, four links + primary button, 48 px targets. */
.wgm-menu {
	position: fixed; inset: 0; z-index: 100000; overflow-y: auto;
	display: flex; flex-direction: column; gap: 32px;
	background: var(--navy-deep); color: #fff;
	padding: 0 24px 40px; border-top: 4px solid var(--yellow);
}
.wgm-menu[hidden] { display: none; }
.wgm-menu-top { display: flex; align-items: center; justify-content: space-between; height: 80px; }
.wgm-menu-close {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; margin-right: -12px;
	background: none; border: 0; border-radius: var(--r); color: #fff; cursor: pointer;
}
.wgm-menu-links { display: flex; flex-direction: column; }
.wgm-menu-links a {
	display: flex; align-items: center; min-height: 56px;
	font-family: var(--font-display); font-weight: 700; font-size: 24px; letter-spacing: -.01em;
	color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .14);
}
.wgm-menu-links a svg { flex: none; margin-right: 12px; }
.wgm-menu-links a:hover { color: var(--yellow); text-decoration: none; }
.wgm-menu-cta { align-self: stretch; }
html.wgm-menu-open, html.wgm-menu-open body { overflow: hidden; }
@media (min-width: 1025px) { .wgm-menu { display: none; } }

/* Shared by the home step and the V5 page shell (0.10.0): visually hidden text, skip link. */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.wgm-skip:focus { position: fixed !important; left: 16px; top: 16px; z-index: 100001; width: auto; height: auto; margin: 0; padding: 12px 18px; clip: auto; overflow: visible; white-space: normal; background: var(--yellow); color: var(--navy); font-weight: 600; border-radius: var(--r); }

/* V5 page shell (pages outside the funnel): the theme template is replaced by templates/page-shell.php. `overflow:clip`
   instead of the design's `hidden` keeps the account side nav sticky (hidden makes .page a scroll container). */
body.wgm-shell { background: var(--paper-2); }
body.wgm-shell .page { overflow: clip; min-height: 100vh; display: flex; flex-direction: column; }
body.wgm-shell .page > main { flex: 1 0 auto; }
body.wgm-shell [id][tabindex="-1"]:focus { outline: none; }

/* 0.14.0 sticky header (home step only, desktop; home.css): stick below the admin toolbar (32 px above 782 px). */
@media (min-width: 901px) { body.wgm-home.admin-bar .site-header { top: 32px; } }

/* 0.17.15 LCP: the hero's h1 lines rose from opacity 0 (.reveal), so Chrome never took them as the LCP candidate and
   fell back to the small header brand (PageSpeed "element render delay 2.3 s"). The h1 keeps the rise but not the
   fade: visible from the first paint, so the largest text on the screen is the LCP element again. */
@keyframes wgm-rise-move { from { transform: translateY(18px); } to { transform: none; } }
.h1 .h1-line.reveal { animation-name: wgm-rise-move; opacity: 1; }
