/* WABi Windows theme: site chrome and pattern helpers. Colours and type come from theme.json. */
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 3px; }

/* Header: frosted glass */
.wabi-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: color-mix(in srgb, #fff 78%, transparent) !important; -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(0,0,0,.08); }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--wp--preset--color--paper); }
.admin-bar .wabi-header { top: calc(32px + env(safe-area-inset-top, 0px)); }
.wabi-logo-link { display: inline-flex; color: #5f5f5f; line-height: 0; }
.wabi-logo-svg { width: 112px; height: 37px; display: block; }
.wabi-logo-footer .wabi-logo-svg { width: 150px; height: 50px; }
.wabi-header .wp-block-navigation a { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none; }
.wabi-header .wabi-tel { font-size: 0.78rem; color: var(--wp--preset--color--muted); white-space: nowrap; }
.wabi-header .wp-block-button__link { padding: 6px 14px; font-size: 0.78rem; }
@media (max-width: 760px) { .wabi-header .wabi-tel { display: none; } }

/* Pattern helpers */
.wabi-eyebrow { font-size: 0.7rem !important; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.wabi-lede { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--muted); max-width: 62ch; }
.more { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.wabi-dark { --wp--preset--color--muted: #a1a1a6; --wp--preset--color--line: #2c2c2e; }
.wabi-dark .wp-block-button__link { background: var(--wp--preset--color--on-night); color: #000; }
/* Full-width sections sit edge to edge: no block gap showing as white strips between coloured bands. */
.wp-site-blocks > main { margin-block-start: 0 !important; }
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
/* Intro text starts on the same left edge as its heading; the 62ch line length comes from right padding, not a narrower centred box. */
.is-layout-constrained > .wabi-lede { max-width: 1180px !important; box-sizing: border-box; padding-right: max(0px, calc(min(100%, 1180px) - 62ch)); }
/* GoDaddy's injected "designsetgo" styles force text on photos to var(--dsgo-text-color) with !important on the live server, so set that variable too. */
.wp-block-cover .wabi-lede { --dsgo-text-color: rgba(255,255,255,.9); color: rgba(255,255,255,.9) !important; }
/* Full-width hero: every line starts on the 1180px content edge, matching the sections below. */
.wp-block-cover.alignfull > .wp-block-cover__inner-container { max-width: calc(1180px + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px)); margin-inline: auto !important; }
.wp-block-cover.alignfull > .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: auto !important; }
.wp-block-cover.alignfull { padding-left: 0 !important; padding-right: 0 !important; }
.wp-block-cover.alignfull > .wp-block-cover__inner-container { box-sizing: border-box; padding-inline: var(--wp--style--root--padding-left, 22px) !important; }
.wp-block-cover a.more { color: #fff; }
.wp-block-cover .wp-block-button__link { background: var(--wp--preset--color--on-night); color: #000; }
.wp-block-cover .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: #fff; }
.wabi-tile { overflow: hidden; min-height: 640px !important; }
.wabi-tile h3 { font-size: clamp(2.4rem, 4.4vw, 3.6rem) !important; font-weight: 300; }
.wabi-rounded img { border-radius: 0; }
.wabi-stats > .wp-block-column { border-top: 1px solid var(--wp--preset--color--line); padding-top: 18px; }
.wabi-stats strong { display: block; font-size: clamp(2.6rem, 5vw, 4.2rem); font-weight: 300; letter-spacing: -0.04em; line-height: 1; margin-bottom: 8px; }
.wabi-steps { counter-reset: step; }
.wabi-steps > .wp-block-column { border-top: 1px solid var(--wp--preset--color--line); padding-top: 16px; counter-increment: step; font-size: 0.92rem; color: var(--wp--preset--color--muted); }
.wabi-steps > .wp-block-column { border-top-color: var(--wp--preset--color--ink); }
.wabi-steps > .wp-block-column::before { content: counter(step, decimal-leading-zero); display: block; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.22em; color: var(--wp--preset--color--muted); margin-bottom: 18px; }
.wabi-steps strong { color: var(--wp--preset--color--ink); }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-size: 1.1rem; }
.wabi-credit { font-size: 0.72rem !important; color: rgba(255,255,255,.6); }
.more::after { content: " ›"; }

/* Footer and mobile quick bar */
.wabi-footer a { text-decoration: none; color: var(--wp--preset--color--muted); }
.wabi-footer a:hover { color: var(--wp--preset--color--ink); }
.wabi-mobile-bar { display: none; }
@media (max-width: 760px) {
  .wabi-mobile-bar { display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 25; background: color-mix(in srgb, #fff 82%, transparent); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-top: 1px solid rgba(0,0,0,.08);
    padding: 0 env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); margin: 0 !important; }
  .wabi-mobile-bar a { color: var(--wp--preset--color--ink); text-decoration: none; text-align: center; padding: 14px 4px; font-size: 0.82rem; font-weight: 600; }
  .wabi-footer { padding-bottom: 72px !important; }
  .wabi-tile { min-height: 460px !important; }
}
