/*
 * Site chrome: header, navigation, footer and prose width.
 * Ported from the approved preview (preview/index.html).
 *
 * @package GTB_Pro
 */

.gtb-skip {
	position: absolute;
	left: -9999px;
	top: 0.75rem;
	z-index: 100;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy-900);
	padding: 0.6rem 1rem;
	border-radius: 8px;
}

.gtb-skip:focus {
	left: 0.75rem;
}

/* header */
.gtb-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.gtb-header__inner {
	min-height: 78px;
}

.gtb-header__logo img {
	height: 52px;
	width: auto;
}

/* Header quote button: desktop only (phones get the footer bar). */
.wp-block-buttons.gtb-header__cta {
	display: none;
}

@media (min-width: 1080px) {

	.wp-block-buttons.gtb-header__cta {
		display: flex;
	}
}

/* Full-width sections sit edge to edge, with no block gap. */
.wp-site-blocks > main,
.wp-site-blocks > footer,
main#main > .wp-block-post-content,
main#main > .alignfull,
.wp-block-post-content > .alignfull,
.wp-block-post-content > .alignfull + * {
	margin-block-start: 0;
}

/* navigation links */
.gtb-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.6rem 0.8rem;
	border-radius: 10px;
	font-weight: 600;
	font-size: 0.97rem;
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
}

.gtb-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.gtb-nav .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--soft);
	color: var(--wp--preset--color--navy);
}

/* navigation submenus */
.wp-block-navigation__submenu-container {
	min-width: 280px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: var(--wp--preset--shadow--card);
	padding: 0.5rem;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 0.55rem 0.8rem;
	border-radius: 8px;
	color: var(--wp--preset--color--ink);
	font-size: 0.95rem;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-block-navigation__submenu-container .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--soft);
	color: var(--wp--preset--color--navy);
}

/* core Navigation mobile overlay */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--white);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	min-height: 48px;
	display: flex;
	align-items: center;
}

/* footer */
.gtb-footer {
	background: var(--wp--preset--color--soft);
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 4rem;
	font-size: 0.95rem;
}

.gtb-footer__grid {
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 768px) {

	.gtb-footer__grid {
		grid-template-columns: 1.4fr 1fr 1fr 1fr;
	}
}

.gtb-footer .wp-block-heading {
	font-size: 1rem;
	letter-spacing: 0;
	margin-bottom: 1rem;
}

.gtb-footer a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.gtb-footer a:hover {
	color: var(--wp--preset--color--sky-700);
	text-decoration: underline;
}

.gtb-footer__legal {
	border-top: 1px solid var(--wp--preset--color--line);
	margin-top: 3rem;
	padding-block: 1.5rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
}

/* article prose */
.gtb-prose {
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
}

@media (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}
}
