/**
 * Bayfix audit remediation styles.
 *
 * @copyright ùrlar — https://www.urlar.co/
 */

/* Brand lock: header always stays Bayfix navy */
.gb-element-2402bee0,
.gb-site-header-69c1bea6,
.gb-site-header-69c1bea6.gb-is-sticky,
.gb-element-2402bee0.gb-is-sticky {
	background-color: var(--wp--preset--color--p-500, #02214A) !important;
	color: var(--wp--preset--color--static-light, #ffffff);
}

/* Mobile drawer matches header navy */
.gb-menu-container-5197f399.gb-menu-container--mobile {
	background-color: var(--wp--preset--color--p-500, #02214A) !important;
	color: var(--wp--preset--color--static-light, #ffffff) !important;
}

.gb-menu-container-5197f399.gb-menu-container--mobile .gb-text-mm-ln-projects-l,
.gb-menu-container-5197f399.gb-menu-container--mobile .gb-text-mm-ln-about-l,
.gb-menu-container-5197f399.gb-menu-container--mobile .gb-text-mm-ln-contact-l,
.gb-menu-container-5197f399.gb-menu-container--mobile .gb-text-mm-suburbs {
	color: rgba(255, 255, 255, 0.92) !important;
}

.gb-menu-container-5197f399.gb-menu-container--mobile .gb-text-mm-ln-projects-c,
.gb-menu-container-5197f399.gb-menu-container--mobile .gb-text-mm-ln-about-c,
.gb-menu-container-5197f399.gb-menu-container--mobile .gb-text-mm-ln-contact-c {
	color: rgba(255, 255, 255, 0.72) !important;
}

.gb-menu-container-5197f399.gb-menu-container--mobile .gb-element-mm-ln-projects,
.gb-menu-container-5197f399.gb-menu-container--mobile .gb-element-mm-ln-about,
.gb-menu-container-5197f399.gb-menu-container--mobile .gb-element-mm-ln-contact {
	border-bottom-color: rgba(255, 255, 255, 0.16) !important;
}

.gb-menu-container-5197f399.gb-menu-container--mobile .gb-element-mm-cta-call {
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.35) !important;
}

/* Desktop nav dropdown — solid bg when inline GB CSS escapes custom properties */
.gb-sub-menu-sm566e5a {
	background-color: #f0f4f9 !important;
	border: 1px solid #dee6f1 !important;
	box-shadow: 10px 10px 15px -15px rgba(0, 0, 0, 0.1);
	border-radius: 16px;
}

.gb-sub-menu-sm566e5a .menu-item {
	background-color: #f0f4f9 !important;
	color: #000613 !important;
	border-radius: 12px;
}

.gb-sub-menu-sm566e5a .menu-item:is(:hover, :focus-within) {
	background-color: #dee6f1 !important;
}

.gb-sub-menu-sm566e5a .gb-menu-link {
	color: inherit;
}

/* Quieter: replace side-stripe cards with full accent borders */
.gb-element-leak-card,
.gb-element-mm-leak {
	border-left: none !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--terracotta-500) 35%, transparent);
}

.gb-element-reno-card,
.gb-element-mm-reno {
	border-left: none !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--sage-500) 35%, transparent);
}

/* Quieter: soften eyebrow cadence */
.gb-text-hero-eyebrow {
	letter-spacing: 0.06em !important;
	text-transform: none !important;
	font-size: 13px !important;
	opacity: 0.9 !important;
}

/* Colorize: improve muted text contrast on cream backgrounds */
.gb-text-leak-desc,
.gb-text-reno-desc,
.gb-text-foot-sub,
.gb-text-mm-leak-s1-c,
.gb-text-mm-leak-s2-c,
.gb-text-mm-reno-s1-c,
.gb-text-mm-reno-s2-c,
.gb-text-mm-ln-projects-c,
.gb-text-mm-ln-about-c,
.gb-text-mm-ln-contact-c,
.gb-text-mm-suburbs {
	color: rgba(2, 33, 74, 0.82) !important;
}

/* Adapt: larger touch targets for text links on mobile */
@media (max-width: 767px) {
	.gb-text-leak-link,
	.gb-text-reno-link,
	.gb-text-hero-call,
	.wpsr-reviewer-name a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding-top: 0.65rem;
		padding-bottom: 0.65rem;
	}
}

/* Icon replacements after emoji removal */
.gb-text-leak-icon::before,
.gb-text-reno-icon::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.gb-text-leak-icon::before {
	background-color: var(--wp--preset--color--terracotta-700);
}

.gb-text-reno-icon::before {
	background-color: var(--wp--preset--color--sage-700);
}

/* Animate: respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
	.gb-element-leak-card,
	.gb-element-reno-card,
	.gb-text-foot-btn-leak,
	.gb-text-foot-btn-reno,
	.gb-text-foot-btn-call,
	.gb-element-work-c1,
	.gb-element-work-c2,
	.gb-element-work-c3,
	.gb-element-work-c4,
	.wp-block-button__link {
		transition: none !important;
		transform: none !important;
	}

	.gb-element-leak-card:hover,
	.gb-element-reno-card:hover,
	.gb-text-foot-btn-leak:hover,
	.gb-text-foot-btn-reno:hover,
	.gb-text-foot-btn-call:hover,
	.gb-element-work-c1:hover,
	.gb-element-work-c2:hover,
	.gb-element-work-c3:hover,
	.gb-element-work-c4:hover,
	.wp-block-button__link:hover {
		transform: none !important;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.gb-element-leak-card:hover,
	.gb-element-reno-card:hover {
		transform: translateY(-2px);
		box-shadow: 0 12px 28px rgba(2, 33, 74, 0.08);
	}
}

/* Polish: balanced hero heading */
.gb-text-hero-h1 {
	text-wrap: balance;
}

/* ============================================================
   Landing (/l/) readability — the GB page content stores per-block
   font sizes below the 16px body (0.85–0.93rem). Lift them here so
   the fix ships with the theme; the durable fix is raising the
   sizes in the block editor, at which point these rules no-op.
   ============================================================ */

/* Landing CTA hover lift stays reduced-motion safe */
@media (prefers-reduced-motion: reduce) {
	.single-l a.gb-element {
		transition: none !important;
		transform: none !important;
	}
}

/* Body copy set below the base size → at least base size */
.single-l :is(
	.gb-text-cc7be76c, .gb-text-932a42ef, .gb-text-540f9b7b, .gb-text-6739c921,
	.gb-text-debd6130, .gb-text-dde401d2, .gb-text-2bbb1620, .gb-text-f4be0b47,
	.gb-text-23cb1ac5, .gb-text-b1a2c6b3, .gb-text-bacb43da
) {
	font-size: 1rem !important;
	line-height: 1.6;
}

/* Card headings (signs + process steps) were 1rem serif, too quiet */
.single-l :is(
	.gb-text-0e7df321, .gb-text-d4e7d956, .gb-text-cb02f17f, .gb-text-5f54f0e0,
	.gb-text-d8745800, .gb-text-275c0b4c, .gb-text-345ed39c, .gb-text-840fb8c5
) {
	font-size: 1.3rem !important;
	line-height: 1.25;
}
