/* =========================================================
   Gutenberg adjustments — bridges WordPress block output to the
   theme's existing design classes (styles.css). Loaded on the
   front-end AND in the block editor.
   ========================================================= */

/* Constrain plain (non-aligned) content on ordinary pages;
   full-width "section" bands keep spanning edge-to-edge. */
.sgb-content > :not(.alignfull):not(.alignwide) { max-width: 1140px; margin-inline: auto; padding-inline: 20px; }
.sgb-content > .alignwide { max-width: 1200px; margin-inline: auto; }

/* Vertical rhythm inside the centred .container (overrides WP block-gap so it's
   consistent regardless of WordPress version). */
.sgb-content .container > * { margin-block: 0; }
.sgb-content .container > * + * { margin-top: 24px; }

/* Design grids are CSS grid — kill WordPress block-gap top-margins on the grid
   items, otherwise items 2..n sit lower than the first (e.g. the stats row). */
.sgb-content .grid > *, .sgb-content .stats > *, .sgb-content .steps > * { margin-block: 0 !important; }
.sgb-content .stats, .sgb-content .steps { align-items: start; }
.sgb-content .card-service > *, .sgb-content .feature > *,
.sgb-content .testi > *, .sgb-content .step > *, .sgb-content .stat > * { margin-block-start: 0; }

/* ---- Photo hero (home) ---- */
.sgb-hero {
  display: flex; align-items: center; min-height: clamp(420px, 56vh, 560px);
  background:
    linear-gradient(90deg, rgba(8,24,46,.94) 0%, rgba(8,24,46,.82) 38%, rgba(8,24,46,.46) 70%, rgba(8,24,46,.2) 100%),
    url("../images/banner2.png") right center / cover no-repeat;
}
.sgb-hero > .container { width: 100%; }
.sgb-hero h1, .sgb-hero h2 { color: #fff; }
.sgb-hero p, .sgb-hero li { color: #D7E3F2; }
.sgb-hero .eyebrow { color: #5AA0EE; }
.sgb-hero .eyebrow::before { background: #5AA0EE; }

/* ---- Light text on dark navy bands (stats / CTA) ---- */
.section--dark h1, .section--dark h2, .section--dark h3,
.section--dark .stat__num { color: #fff; }
.section--dark p, .section--dark li { color: #CAD8EA; }
.section--dark .eyebrow { color: #5AA0EE; }
.section--dark .eyebrow::before { background: #5AA0EE; }

/* ---- Editable check-list — circular blue badge (matches design .check-list .ck) ---- */
.sgb-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sgb-checks li { position: relative; padding-left: 38px; }
.sgb-checks li::before {
  content: ""; position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%;
  background: var(--brand-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D5FA8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 13px;
}
.section--dark .sgb-checks li::before { background-color: rgba(255,255,255,.12); filter: brightness(1.7); }

/* ---- Interior page hero (navy gradient + dot pattern + breadcrumb) ---- */
.sgb-content .page-hero__inner > * { margin-block: 0; }
.sgb-content .page-hero__inner > * + * { margin-top: 16px; }
.sgb-content .page-hero__inner .eyebrow { margin-top: 4px; }
.sgb-content .breadcrumb a { color: inherit; text-decoration: none; }

/* Stats centred */
.sgb-content .stat { text-align: center; }

/* Buttons inside bands */
.sgb-content .wp-block-buttons { gap: 14px; }

/* Outline button ("Our Services") on the dark hero/navy bands was nearly invisible —
   force readable white text + a clear border, with a subtle hover fill. */
.sgb-hero .wp-block-button.is-style-outline .wp-block-button__link,
.section--dark .wp-block-button.is-style-outline .wp-block-button__link {
  color: #fff !important;
  background: transparent !important;
  border: 2px solid rgba(255,255,255,.65) !important;
}
.sgb-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.section--dark .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(255,255,255,.12) !important;
  border-color: #fff !important;
}

/* Spacing inside columns (e.g. the "Committed to you" split, Contact grid) */
.sgb-content .wp-block-column > * + * { margin-top: 18px; }

/* CTA band uses its own grid/flex layout — don't let block-flow add margins */
.sgb-content .cta-band__inner > *, .sgb-content .cta-band__actions > * { margin-block: 0; }
.sgb-content .cta-band__inner { margin: 0; }
