:root {
  --gk-text-xs: 11px;
  --gk-text-sm: 14px;
}

html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
}

* {
  box-sizing: border-box;
}

body {
  background: #1a1a1a;
}

.gkt-runtime-banner {
  display: none;
}

.gkt-form-status {
  margin-top: 16px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}

.gkt-form-status[data-state="error"] {
  color: #d4b978;
}

.gkt-form-status[data-state="success"] {
  color: #d4b978;
}


/*
 * GKT migration correction:
 *
 * WordPress-rendered service-card HTML may contain a parser-created
 * empty paragraph after the numeric service marker. It must never
 * participate as a CSS Grid item.
 */
.gk-service-card > p:empty {
  display: none !important;
}


/*
 * The Shopify five-column service-card layout is not viable on narrow
 * viewports. Preserve every content element while converting only this
 * component to a two-column mobile composition.
 */
@media (max-width: 1023px) {

  .gk-service-card {
    display: grid !important;

    grid-template-columns:
      40px minmax(0, 1fr) !important;

    grid-auto-flow: row !important;

    column-gap: 16px !important;
    row-gap: 12px !important;

    padding:
      28px 24px !important;

    align-items:
      start !important;
  }


  .gk-service-card > span:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;

    align-self:
      start !important;
  }


  .gk-service-card > :not(span) {
    grid-column: 2 !important;

    min-width: 0 !important;
    max-width: 100% !important;
  }


  .gk-service-card > p[data-gold="true"] {
    text-align:
      left !important;
  }


  .gk-service-card > p > a {
    justify-self:
      start !important;

    max-width:
      100% !important;
  }
}


@media (max-width: 900px) {
  .gk-nav {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .gk-nav-links,
  .gk-nav-contact {
    display: none !important;
  }

  .gk-hamburger {
    display: block !important;
  }

  .gk-nav.gkt-menu-open .gk-nav-links {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 28px !important;

    background: #1a1a1a !important;

    transform: none !important;
  }

  .gk-nav.gkt-menu-open .gk-nav-links a {
    color: #ffffff !important;
    font-size: 13px !important;
  }

  .gk-nav.gkt-menu-open .gk-hamburger {
    z-index: 1001 !important;
  }
}

@media (min-width: 901px) {
  .gk-hamburger {
    display: none !important;
  }
}
