/* =====================================================================
   Gold King Mine — Rust & Gold :: component layer
   Aesthetic: dark "rust-preservation" — burnt orange + weathered gold
   over warm near-black, western wood-type + Roman caps.
   theme.json supplies the --wp--preset--* tokens; this file mirrors them
   into portable --gkm-* variables and styles the bespoke components.
   ===================================================================== */

:root {
  /* Portable mirror of the theme.json palette ------------------------ */
  --gkm-bg:            var(--wp--preset--color--base,        #1C1815);
  --gkm-header:        var(--wp--preset--color--header,      #120F0D);
  --gkm-surface:       var(--wp--preset--color--surface,     #26201C);
  --gkm-surface-2:     var(--wp--preset--color--surface-2,   #2E2723);
  --gkm-contrast:      var(--wp--preset--color--contrast,    #F4EEE3);
  --gkm-body:          var(--wp--preset--color--body-text,   #B3A89A);
  --gkm-muted:         var(--wp--preset--color--muted,       #8A7F72);
  --gkm-primary:       var(--wp--preset--color--primary,     #C25A2D);
  --gkm-primary-dark:  var(--wp--preset--color--primary-dark,#A8481F);
  --gkm-gold:          var(--wp--preset--color--secondary,   #E0A23A);
  --gkm-gold-bright:   var(--wp--preset--color--gold-bright, #F0C66B);
  --gkm-success:       var(--wp--preset--color--success,     #5CB85C);
  --gkm-alert:         var(--wp--preset--color--alert,       #C8503A);
  --gkm-border:        var(--wp--preset--color--border,      #3A322B);

  /* Fonts */
  --gkm-font-display:  var(--wp--preset--font-family--rye,    "Rye", serif);
  --gkm-font-heading:  var(--wp--preset--font-family--cinzel, "Cinzel", serif);
  --gkm-font-body:     var(--wp--preset--font-family--lora,   "Lora", Georgia, serif);

  /* Effects */
  --gkm-radius:        14px;
  --gkm-radius-sm:     8px;
  --gkm-shadow-card:   0 18px 40px -20px rgba(0,0,0,0.8);
  --gkm-glow-rust:     0 0 0 1px var(--gkm-primary), 0 18px 45px -12px rgba(194,90,45,0.45);
  --gkm-ease:          cubic-bezier(0.22, 1, 0.36, 1);
}

/* --------------------------------------------------------------------- */
/* Section titles: Roman caps with a white→gold sheen + an orange→gold    */
/* rule beneath, exactly as the screenshots' H2s.                         */
/* --------------------------------------------------------------------- */
.gkm-section-title {
  font-family: var(--gkm-font-heading);
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.1;
  background: linear-gradient(180deg, var(--gkm-contrast) 0%, var(--gkm-gold-bright) 135%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.gkm-rule {
  width: 88px;
  height: 4px;
  margin: 1rem auto 1.75rem;
  border: 0;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--gkm-primary) 0%, var(--gkm-gold) 100%);
}
.gkm-lede { /* the muted intro paragraph under a section title */
  color: var(--gkm-body);
  text-align: center;
  max-width: 46rem;
  margin-inline: auto;
}

/* --------------------------------------------------------------------- */
/* Pills / badges                                                         */
/* --------------------------------------------------------------------- */
.gkm-pill {                       /* "ESTABLISHED 1890" — orange outline */
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.45em 1.1em;
  border: 1px solid var(--gkm-primary);
  border-radius: 999px;
  color: var(--gkm-gold);
  background: rgba(194,90,45,0.10);
  font-family: var(--gkm-font-heading);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.gkm-tag {                        /* card category chips: EXHIBITS, etc. */
  display: inline-block;
  padding: 0.3em 0.8em;
  border-radius: var(--gkm-radius-sm);
  background: var(--gkm-gold);
  color: var(--gkm-header);
  font-family: var(--gkm-font-heading);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.gkm-tag--media     { background: transparent; color: var(--gkm-primary);  border: 1px solid var(--gkm-primary); }
.gkm-tag--community { background: transparent; color: var(--gkm-gold);     border: 1px solid var(--gkm-gold); }
.gkm-tag--alert     { background: transparent; color: var(--gkm-alert);    border: 1px solid var(--gkm-alert); }

/* --------------------------------------------------------------------- */
/* CONTENT CARDS — the clickable link cards from the redesign.            */
/* The whole card is an <a>; hover reveals the rust border + glow + lift  */
/* shown hovered on the Attractions and News screenshots.                 */
/* --------------------------------------------------------------------- */
.gkm-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.75rem;
}
.gkm-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--gkm-surface);
  border: 1px solid var(--gkm-border);
  border-radius: var(--gkm-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--gkm-shadow-card);
  transition: transform 0.35s var(--gkm-ease),
              box-shadow 0.35s var(--gkm-ease),
              border-color 0.35s var(--gkm-ease);
}
.gkm-card::before {               /* thin rust edge along the top */
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gkm-primary), var(--gkm-gold));
  opacity: 0.65;
  transition: opacity 0.35s var(--gkm-ease);
}
.gkm-card:hover,
.gkm-card:focus-visible {
  transform: translateY(-6px);
  border-color: var(--gkm-primary);
  box-shadow: var(--gkm-glow-rust);
  outline: none;
}
.gkm-card:hover::before,
.gkm-card:focus-visible::before { opacity: 1; }

.gkm-card__media {
  aspect-ratio: 16 / 10;
  width: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.92);
}
.gkm-card__body { padding: 1.4rem 1.5rem 1.6rem; }
.gkm-card__title {
  font-family: var(--gkm-font-heading);
  font-weight: 600;
  font-variant-caps: small-caps;          /* "Vintage Fleet" small-caps look */
  letter-spacing: 0.02em;
  color: var(--gkm-contrast);
  margin: 0.2rem 0 0.6rem;
  font-size: 1.45rem;
}
.gkm-card__text { color: var(--gkm-body); margin: 0; }
.gkm-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--gkm-muted);
  font-size: 0.85rem;
  margin-bottom: 0.4rem;
}
.gkm-card__more {                 /* "Read More →" affordance */
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  margin-top: 1rem;
  color: var(--gkm-gold);
  font-family: var(--gkm-font-heading);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
}
.gkm-card:hover .gkm-card__more { color: var(--gkm-primary); }

/* feature list with rust checkmarks (Attractions cards) */
.gkm-checklist { list-style: none; margin: 1rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--gkm-border); }
.gkm-checklist li { display: flex; align-items: center; gap: 0.6em; padding: 0.3rem 0; color: var(--gkm-contrast); font-weight: 500; }
.gkm-checklist li::before { content: "✓"; color: var(--gkm-primary); font-weight: 700; }

/* --------------------------------------------------------------------- */
/* HERO — full-bleed photo, darkening scrim, western H1.                  */
/* --------------------------------------------------------------------- */
.gkm-hero {
  position: relative;
  min-height: 88vh;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 6rem 1.5rem;
  background-size: cover;
  background-position: center;
  color: var(--gkm-contrast);
}
.gkm-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(18,15,13,0.55) 0%, rgba(18,15,13,0.45) 45%, rgba(18,15,13,0.88) 100%);
}
.gkm-hero > * { position: relative; z-index: 1; }
.gkm-hero__title {
  font-family: var(--gkm-font-display);
  font-weight: 400;
  line-height: 1.02;
  font-size: clamp(3rem, 7vw, 6rem);
  text-shadow: 0 4px 24px rgba(0,0,0,0.6);
  margin: 1.25rem 0;
}
.gkm-hero__title em { color: var(--gkm-gold); font-style: normal; }
.gkm-hero__sub { color: #E9E2D6; max-width: 44rem; margin: 0 auto 2rem; font-size: 1.2rem; }

/* status chip: "CLOSED NOW / OPEN NOW" */
.gkm-status {
  display: inline-flex; align-items: center; gap: 1rem;
  background: rgba(18,15,13,0.7);
  border: 1px solid var(--gkm-border);
  border-radius: 999px;
  padding: 0.7rem 1.4rem;
  margin-top: 2rem;
}
.gkm-status__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--gkm-alert); }
.gkm-status--open .gkm-status__dot { background: var(--gkm-success); }
.gkm-status__label { font-family: var(--gkm-font-heading); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gkm-contrast); }
.gkm-status__note  { color: var(--gkm-body); }

/* --------------------------------------------------------------------- */
/* BUTTONS — rust fill (primary) + gold outline (secondary / PLAN VISIT)  */
/* --------------------------------------------------------------------- */
.gkm-btn {
  display: inline-flex; align-items: center; gap: 0.6em;
  font-family: var(--gkm-font-heading);
  font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  font-size: 0.85rem;
  padding: 0.95rem 1.7rem;
  border-radius: var(--gkm-radius-sm);
  text-decoration: none;
  transition: background 0.25s var(--gkm-ease), color 0.25s var(--gkm-ease), transform 0.25s var(--gkm-ease);
}
.gkm-btn--primary { background: var(--gkm-primary); color: var(--gkm-contrast); }
.gkm-btn--primary:hover { background: var(--gkm-primary-dark); transform: translateY(-2px); }
.gkm-btn--ghost { background: transparent; color: var(--gkm-gold); border: 1px solid var(--gkm-gold); }
.gkm-btn--ghost:hover { background: rgba(224,162,58,0.12); transform: translateY(-2px); }

/* "PLAN VISIT" header CTA — boxed gold outline */
.gkm-plan-visit {
  border: 1px solid var(--gkm-gold);
  border-radius: var(--gkm-radius-sm);
  padding: 0.55rem 1.1rem;
  line-height: 1.1;
  font-family: var(--gkm-font-heading);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--gkm-contrast); text-decoration: none; text-align: center;
}
.gkm-plan-visit:hover { background: var(--gkm-gold); color: var(--gkm-header); }

/* --------------------------------------------------------------------- */
/* HEADER bar + icon navigation                                           */
/* --------------------------------------------------------------------- */
.wp-block-template-part.gkm-site-header,
.gkm-site-header { background: var(--gkm-header); border-bottom: 1px solid var(--gkm-border); }
.gkm-tagline { color: var(--gkm-gold); font-family: var(--gkm-font-heading); font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; }
.gkm-nav a { color: var(--gkm-contrast); font-family: var(--gkm-font-heading); font-size: 0.82rem; letter-spacing: 0.04em; text-transform: uppercase; }
.gkm-nav a:hover, .gkm-nav .current-menu-item > a { color: var(--gkm-gold); }

/* --------------------------------------------------------------------- */
/* PRICING / RATES rows (Hours & Rates page)                              */
/* --------------------------------------------------------------------- */
.gkm-rate {
  display: flex; justify-content: space-between; align-items: center;
  background: var(--gkm-surface); border: 1px solid var(--gkm-border);
  border-radius: var(--gkm-radius-sm); padding: 1rem 1.25rem; margin-bottom: 0.9rem;
}
.gkm-rate__label { color: var(--gkm-contrast); font-weight: 600; }
.gkm-rate__sub   { color: var(--gkm-muted); font-size: 0.85rem; }
.gkm-rate__price { font-family: var(--gkm-font-heading); font-weight: 700; color: var(--gkm-gold); font-size: 1.15rem; }
.gkm-rate__price--free { color: var(--gkm-success); }

/* --------------------------------------------------------------------- */
/* HISTORY timeline (vertical spine, year markers, alternating cards)     */
/* --------------------------------------------------------------------- */
.gkm-timeline { position: relative; max-width: 980px; margin-inline: auto; padding: 2rem 0; }
.gkm-timeline::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 50%;
  width: 2px; transform: translateX(-50%);
  background: linear-gradient(180deg, var(--gkm-primary), var(--gkm-gold));
}
.gkm-tl-item { position: relative; width: 50%; padding: 1.5rem 2.5rem; }
.gkm-tl-item:nth-child(odd)  { left: 0; text-align: right; }
.gkm-tl-item:nth-child(even) { left: 50%; text-align: left; }
.gkm-tl-year {
  position: absolute; top: 1.5rem; transform: translateX(-50%);
  padding: 0.25rem 0.8rem; border-radius: var(--gkm-radius-sm);
  font-family: var(--gkm-font-heading); font-weight: 700; color: var(--gkm-gold);
  background: var(--gkm-bg); border: 1px solid var(--gkm-primary);
}
.gkm-tl-item:nth-child(odd)  .gkm-tl-year { right: -1.5rem; left: auto; transform: translateX(50%); }
.gkm-tl-item:nth-child(even) .gkm-tl-year { left: -1.5rem; }
.gkm-tl-card { background: var(--gkm-surface); border: 1px solid var(--gkm-border); border-radius: var(--gkm-radius); padding: 1.5rem 1.75rem; }
.gkm-tl-card h3 { font-family: var(--gkm-font-heading); font-variant-caps: small-caps; color: var(--gkm-contrast); margin-top: 0; }
.gkm-tl-card p  { color: var(--gkm-body); margin-bottom: 0; }

/* --------------------------------------------------------------------- */
/* CONTACT form (Get in Touch)                                            */
/* --------------------------------------------------------------------- */
.gkm-form { background: var(--gkm-surface); border: 1px solid var(--gkm-border); border-radius: var(--gkm-radius); padding: 2rem; }
.gkm-form label { display: block; color: var(--gkm-contrast); font-weight: 600; margin-bottom: 0.4rem; }
.gkm-form input, .gkm-form textarea {
  width: 100%; background: var(--gkm-bg); color: var(--gkm-contrast);
  border: 1px solid var(--gkm-border); border-radius: var(--gkm-radius-sm);
  padding: 0.85rem 1rem; font-family: var(--gkm-font-body); margin-bottom: 1.25rem;
}
.gkm-form input::placeholder, .gkm-form textarea::placeholder { color: var(--gkm-muted); }
.gkm-form input:focus, .gkm-form textarea:focus { outline: none; border-color: var(--gkm-gold); box-shadow: 0 0 0 3px rgba(224,162,58,0.18); }

/* --------------------------------------------------------------------- */
/* GALLERY thumbnail grid (also clickable cards)                          */
/* --------------------------------------------------------------------- */
.gkm-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; }
.gkm-gallery a { position: relative; display: block; border-radius: var(--gkm-radius); overflow: hidden; aspect-ratio: 4/3; box-shadow: var(--gkm-shadow-card); transition: transform 0.35s var(--gkm-ease), box-shadow 0.35s var(--gkm-ease); }
.gkm-gallery a:hover { transform: translateY(-4px); box-shadow: var(--gkm-glow-rust); }
.gkm-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* --------------------------------------------------------------------- */
/* Responsive: stack the timeline on small screens                        */
/* --------------------------------------------------------------------- */
@media (max-width: 700px) {
  .gkm-timeline::before { left: 18px; }
  .gkm-tl-item, .gkm-tl-item:nth-child(even) { width: 100%; left: 0; text-align: left; padding-left: 3rem; }
  .gkm-tl-item:nth-child(odd) { text-align: left; }
  .gkm-tl-item .gkm-tl-year,
  .gkm-tl-item:nth-child(odd) .gkm-tl-year,
  .gkm-tl-item:nth-child(even) .gkm-tl-year { left: 18px; right: auto; transform: translate(-50%, 0); }
}

/* --------------------------------------------------------------------- */
/* LIVE QUERY-LOOP BLOG ROLL — reuses the card look on dynamic posts.     */
/* Whole card is clickable via a stretched Post Title link; the category  */
/* chip is raised above it so it stays independently clickable.           */
/* --------------------------------------------------------------------- */
.gkm-query .wp-block-post-template {
  list-style: none;
  margin: 3rem 0 0;
  padding: 0;
  gap: 1.75rem !important;
}
.gkm-card--query {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--gkm-surface);
  border: 1px solid var(--gkm-border);
  border-radius: var(--gkm-radius);
  overflow: hidden;
  box-shadow: var(--gkm-shadow-card);
  transition: transform 0.35s var(--gkm-ease),
              box-shadow 0.35s var(--gkm-ease),
              border-color 0.35s var(--gkm-ease);
}
.gkm-card--query::before {            /* rust top edge, matches static cards */
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  z-index: 3;
  background: linear-gradient(90deg, var(--gkm-primary), var(--gkm-gold));
  opacity: 0.65;
  transition: opacity 0.35s var(--gkm-ease);
}
.gkm-card--query:hover,
.gkm-card--query:focus-within {
  transform: translateY(-6px);
  border-color: var(--gkm-primary);
  box-shadow: var(--gkm-glow-rust);
}
.gkm-card--query:hover::before,
.gkm-card--query:focus-within::before { opacity: 1; }

.gkm-card--query .wp-block-post-featured-image { margin: 0; }
.gkm-card--query .wp-block-post-featured-image img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  filter: saturate(0.92);
}
.gkm-card--query .gkm-card__body { padding: 1.4rem 1.5rem 1.6rem; }

.gkm-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.gkm-card--query .wp-block-post-date {
  color: var(--gkm-muted);
  font-size: 0.85rem;
  font-family: var(--gkm-font-body);
}
.gkm-card--query .wp-block-post-terms { margin: 0; }
.gkm-card--query .wp-block-post-terms a {     /* category chip — stays clickable */
  position: relative;
  z-index: 2;
  display: inline-block;
  padding: 0.25em 0.7em;
  border: 1px solid var(--gkm-gold);
  border-radius: var(--gkm-radius-sm);
  color: var(--gkm-gold);
  font-family: var(--gkm-font-heading);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
}
.gkm-card--query .wp-block-post-terms a:hover { background: rgba(224,162,58,0.14); }

.gkm-card--query .wp-block-post-title {
  font-family: var(--gkm-font-heading);
  font-variant-caps: small-caps;
  letter-spacing: 0.02em;
  font-size: 1.4rem;
  line-height: 1.2;
  margin: 0.2rem 0 0.6rem;
}
.gkm-card--query .wp-block-post-title a { color: var(--gkm-contrast); text-decoration: none; }
.gkm-card--query:hover .wp-block-post-title a { color: var(--gkm-gold); }
.gkm-card--query .wp-block-post-title a::after {  /* stretched link = whole card */
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.gkm-card--query .wp-block-post-excerpt { color: var(--gkm-body); margin: 0; }
.gkm-card--query .wp-block-post-excerpt__excerpt { color: var(--gkm-body); }
.gkm-card--query .gkm-card__more { margin-top: 1rem; }   /* decorative, not a 2nd link */
.gkm-card--query:hover .gkm-card__more { color: var(--gkm-primary); }

/* Query pagination */
.gkm-query .wp-block-query-pagination { margin-top: 2.5rem; justify-content: center; gap: 0.75rem; }
.gkm-query .wp-block-query-pagination a,
.gkm-query .wp-block-query-pagination .wp-block-query-pagination-numbers .current {
  color: var(--gkm-gold);
  font-family: var(--gkm-font-heading);
  letter-spacing: 0.04em;
}
.gkm-query .wp-block-query-pagination .current { color: var(--gkm-primary); }

/* --------------------------------------------------------------------- */
/* SINGLE POST — featured-image hero + themed article body, nav, comments */
/* Keeps individual news posts visually identical to the rest of the      */
/* redesign (dark, rust + gold, Cinzel titles, Lora body).                */
/* --------------------------------------------------------------------- */
.gkm-post-hero { min-height: 52vh; padding-block: 4rem; }
.gkm-post-hero .gkm-section-title {
  margin: 0.6rem auto 0;
  max-width: 22ch;
}
.gkm-post-cat { margin: 0; }
.gkm-post-cat a {                 /* category chip in the post hero */
  display: inline-block;
  padding: 0.28em 0.9em;
  border: 1px solid var(--gkm-gold);
  border-radius: var(--gkm-radius-sm);
  color: var(--gkm-gold);
  font-family: var(--gkm-font-heading);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
}
.gkm-post-cat a:hover { background: rgba(224,162,58,0.14); }
.gkm-post-meta {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 0.95rem;
  color: var(--gkm-body);
  font-family: var(--gkm-font-heading);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.gkm-post-meta a { color: var(--gkm-gold); text-decoration: none; }
.gkm-post-meta a:hover { color: var(--gkm-primary); }

.gkm-back-link { margin-top: 2.5rem; }
.gkm-back-link a {
  color: var(--gkm-gold);
  font-family: var(--gkm-font-heading);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.85rem;
  text-decoration: none;
}
.gkm-back-link a:hover { color: var(--gkm-primary); }

.gkm-post-content { margin-block: 2.5rem 3.5rem; }
.gkm-post-content img { border-radius: var(--gkm-radius); }
.gkm-post-content figcaption { color: var(--gkm-muted); font-size: 0.85rem; text-align: center; }

.gkm-post-nav {
  border-top: 1px solid var(--gkm-border);
  padding-top: 1.5rem;
  margin-top: 3rem;
  gap: 1rem;
}
.gkm-post-nav a { color: var(--gkm-gold); font-family: var(--gkm-font-heading); letter-spacing: 0.04em; text-decoration: none; }
.gkm-post-nav a:hover { color: var(--gkm-primary); }

.gkm-comments { margin-top: 4rem; border-top: 1px solid var(--gkm-border); padding-top: 2.5rem; }
.gkm-comments-title { font-family: var(--gkm-font-heading); color: var(--gkm-contrast); letter-spacing: 0.02em; }
.gkm-comments .wp-block-comment-author-name a { color: var(--gkm-gold); }
.gkm-comments .wp-block-comment-date a { color: var(--gkm-muted); text-decoration: none; }
.gkm-comments .wp-block-comment-content { color: var(--gkm-body); }
.gkm-comments .wp-block-comment-reply-link a { color: var(--gkm-gold); }
.gkm-comments .wp-block-post-comments-form input:not([type=submit]),
.gkm-comments .wp-block-post-comments-form textarea {
  background: var(--gkm-bg);
  color: var(--gkm-contrast);
  border: 1px solid var(--gkm-border);
  border-radius: var(--gkm-radius-sm);
}
.gkm-comments .wp-block-post-comments-form input:focus,
.gkm-comments .wp-block-post-comments-form textarea:focus {
  outline: none; border-color: var(--gkm-gold); box-shadow: 0 0 0 3px rgba(224,162,58,0.18);
}

/* --------------------------------------------------------------------- */
/* STATIC PAGE header + 404 — same dark rust + gold language.            */
/* --------------------------------------------------------------------- */
.gkm-page-header { padding-block: var(--wp--preset--spacing--50) 0; }

.gkm-404 {
  min-height: 64vh;
  text-align: center;
  padding-block: clamp(4rem, 10vw, 7rem);
}
.gkm-404 > * { margin-inline: auto; }
.gkm-404__code {
  font-family: var(--gkm-font-display);
  font-size: clamp(4.5rem, 18vw, 10rem);
  line-height: 0.95;
  color: var(--gkm-primary);
  text-shadow: 0 6px 30px rgba(0,0,0,0.55);
  margin: 0.5rem 0;
}
.gkm-404 .gkm-section-title { margin: 0 0 0.75rem; }
.gkm-404 .wp-block-search { margin: 2rem auto 2.5rem; max-width: 30rem; }
.gkm-404 .wp-block-search__input {
  background: var(--gkm-surface);
  color: var(--gkm-contrast);
  border: 1px solid var(--gkm-border);
}
.gkm-404 .wp-block-search__input::placeholder { color: var(--gkm-muted); }
.gkm-404 .wp-block-search__button {
  background: var(--gkm-primary);
  color: var(--gkm-contrast);
  border: 0;
  font-family: var(--gkm-font-heading);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-inline: 1.25rem;
}
.gkm-404 .wp-block-search__button:hover { background: var(--gkm-primary-dark); }
