/* gk-astra-glue.css — HAND-WRITTEN host glue for Astra. Not part of the Etch port: delete it at
   the port, with gk-tokens.css. (gk-services.css is generated; this file is not.)

   Astra styles bare elements (table, th, td, blockquote, button) site-wide. On gotknots.test
   those elements have only the browser defaults under the Etch/ACSS rules, so here we roll
   Astra's values back to the browser's with `revert`. Every selector is :where()-wrapped under
   .gk-svc (0-1-0): it beats Astra's element rules (0-0-1) and loses to every Etch/ACSS class
   rule (0-2-0 and up), exactly like the reset layer on the source. Measured 2026-09-27. */

/* Astra's .ast-container is a flex row, so <main> shrank to its content (449px of 1280). */
.ast-container > .gk-svc { flex: 1 1 100%; inline-size: 100%; min-inline-size: 0; }

.gk-svc :where(table, thead, tbody, tfoot, tr, th, td, caption) {
  border: revert; padding: revert; font-weight: revert; background: revert; text-align: revert;
  border-collapse: revert; border-spacing: revert;
}
.gk-svc :where(th, td) { padding: 1px; } /* the browser default; `revert` still resolved to 0 */
.gk-svc :where(ul, ol) { padding: revert; list-style: revert; } /* Astra zeroes the list indent */
.gk-svc :where(blockquote) {
  padding: revert; border: revert; font-style: revert; font-size: revert; color: revert;
  position: revert; background: revert; quotes: revert;
}
.gk-svc :where(blockquote p) { font-style: revert; font-size: revert; color: revert; }
.gk-svc :where(blockquote)::before, .gk-svc :where(blockquote)::after { content: none; }
.gk-svc :where(button) {
  border-radius: revert; box-shadow: revert; text-transform: revert; letter-spacing: revert;
  line-height: revert;
}

/* Fonts (Rob, 2026-09-27): the service pages use the Etch build's system-ui (set on .gk-svc by
   gk-services.css), not Astra's Sora. Astra sets Sora on headings, buttons and links directly. */
.gk-svc :where(h1, h2, h3, h4, h5, h6, a, button, input, select, textarea, blockquote, cite, q) { font-family: inherit; }

/* Hub gutters (Rob, 2026-09-27). Astra's archive-width setting caps the archive container at
   1500px from 922px up (`.archive .site-content > .ast-container`, 0-3-0), which beats the
   page-builder 100% rule the singles get: 210px bands each side at 1920. Same full width as
   the singles. 0-3-1 + loaded after Astra's inline CSS, so it wins. */
body .site-content > .ast-container:has(> .gk-svc) { max-width: 100%; }

/* Service hero height (Rob, 2026-09-27). The Etch build has no site header, so its hero is
   100svh and the benefits row sits at the fold. Here Astra's header (80px to 921px, 99px from
   922px, measured) and, logged in, the admin bar (46px under 783px, 32px from 783px, WP core)
   sit above it and push it down by that much. Subtract them. This one deliberately BEATS the
   generated rule (0-2-1 over 0-2-0), unlike the :where() rules above. Delete at the Etch port. */
.gk-svc { --gk-header-h: 80px; --gk-adminbar-h: 0px; }
.admin-bar .gk-svc { --gk-adminbar-h: 46px; }
@media (min-width: 783px) { .admin-bar .gk-svc { --gk-adminbar-h: 32px; } }
@media (min-width: 922px) { .gk-svc { --gk-header-h: 99px; } }
main.gk-svc .wc-svc-hero { min-height: calc(100svh - var(--gk-header-h) - var(--gk-adminbar-h)); }
