:root {
  --gcp-bg: #081014;
  --gcp-bg-2: #0c171c;
  --gcp-panel: #101d22;
  --gcp-panel-2: #13262c;
  --gcp-text: #f5f2e9;
  --gcp-muted: #aeb9b6;
  --gcp-gold: #d8bd73;
  --gcp-gold-strong: #efcf79;
  --gcp-line: rgba(216, 189, 115, .22);
  --gcp-white-line: rgba(255,255,255,.09);
  --gcp-success: #63c18b;
  --gcp-danger: #e27d72;
  --gcp-shadow: 0 18px 48px rgba(0,0,0,.28);
  --gcp-radius: 18px;
  --gcp-container: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.gcp27-site {
  margin: 0;
  background: var(--gcp-bg);
  color: var(--gcp-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}
body.gcp27-menu-open { overflow: hidden; }

body.gcp27-site a { color: inherit; }
body.gcp27-site img { max-width: 100%; height: auto; }
body.gcp27-site input,
body.gcp27-site select,
body.gcp27-site textarea,
body.gcp27-site button { font: inherit; }

.screen-reader-text,
.gcp27-skip-link:not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.gcp27-skip-link:focus {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100000;
  background: #fff;
  color: #111;
  padding: 10px 14px;
  border-radius: 8px;
}

/* --------------------------------------------------------------------------
   ONE canonical header only.
   These selectors intentionally suppress legacy theme/plugin header layers.
   -------------------------------------------------------------------------- */
body.gcp27-site > header:not(.gcp27-header),
body.gcp27-site > .site-header:not(.gcp27-header),
body.gcp27-site > #masthead:not(.gcp27-header),
body.gcp27-site .gcp26-header,
body.gcp27-site .gcvl-nav,
body.gcp27-site header.gcvl-nav,
body.gcp27-site .gc-site-header,
body.gcp27-site .goldconnect-header,
body.gcp27-site .marketplace-header {
  display: none !important;
}

.gcp27-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  display: block !important;
  width: 100%;
  border-bottom: 1px solid var(--gcp-line);
  background: rgba(8,16,20,.96) !important;
  color: var(--gcp-text) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.admin-bar .gcp27-header { top: 32px; }
.gcp27-header-inner {
  width: min(calc(100% - 40px), var(--gcp-container));
  min-height: 76px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(225px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}
.gcp27-brand {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.gcp27-brand-mark {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(216,189,115,.5);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(216,189,115,.22), rgba(216,189,115,.06));
  color: var(--gcp-gold-strong) !important;
  font-weight: 900;
  letter-spacing: -.04em;
}
.gcp27-brand-copy { min-width: 0; display: grid; line-height: 1.12; }
.gcp27-brand-copy strong {
  color: var(--gcp-gold-strong) !important;
  font-size: 18px;
  font-weight: 850;
  white-space: nowrap;
}
.gcp27-brand-copy small {
  margin-top: 5px;
  color: #d1d8d5 !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  white-space: nowrap;
}

.gcp27-primary-nav { min-width: 0; }
.gcp27-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
}
.gcp27-menu > li { position: relative; margin: 0; }
.gcp27-menu a {
  display: block;
  padding: 10px 8px;
  border-radius: 9px;
  text-decoration: none;
  color: #e8ecea !important;
  font-size: 13px;
  font-weight: 680;
  line-height: 1.2;
  white-space: nowrap;
}
.gcp27-menu a:hover,
.gcp27-menu a:focus-visible,
.gcp27-menu .current-menu-item > a,
.gcp27-menu .current_page_item > a {
  background: rgba(216,189,115,.10) !important;
  color: var(--gcp-gold-strong) !important;
}
.gcp27-menu .sub-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 10000;
  min-width: 220px;
  margin: 0;
  padding: 8px;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  border: 1px solid var(--gcp-line);
  border-radius: 14px;
  background: #0b171b;
  box-shadow: var(--gcp-shadow);
  transition: .18s ease;
}
.gcp27-menu li:hover > .sub-menu,
.gcp27-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.gcp27-menu .sub-menu a { white-space: normal; }

.gcp27-header-actions { display: flex; align-items: center; gap: 8px; }
.gcp27-dashboard-link,
.gcp27-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 11px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}
.gcp27-dashboard-link {
  border: 1px solid var(--gcp-white-line);
  color: #edf1ef !important;
}
.gcp27-header-cta {
  border: 1px solid var(--gcp-gold);
  background: var(--gcp-gold) !important;
  color: #111a1d !important;
}
.gcp27-dashboard-link:hover { border-color: var(--gcp-line); color: var(--gcp-gold-strong) !important; }
.gcp27-header-cta:hover { background: var(--gcp-gold-strong) !important; }

.gcp27-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--gcp-line);
  border-radius: 11px;
  background: rgba(255,255,255,.03);
  color: #fff;
  cursor: pointer;
}
.gcp27-menu-toggle-lines { display: grid; gap: 4px; }
.gcp27-menu-toggle-lines i { display: block; width: 18px; height: 2px; margin: 0 auto; background: currentColor; border-radius: 999px; }

.gcp27-main { width: 100%; min-height: 48vh; }
.gcp27-entry-content { width: 100%; }

/* Brand-colour guard: stop late stylesheets from turning hero headings into blue blocks. */
body.gcp27-site .gcp27-front-main h1,
body.gcp27-site .gcp27-front-main h1 *,
body.gcp27-site.home main h1,
body.gcp27-site.home main h1 * {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none;
}
body.gcp27-site .gcp27-front-main h1,
body.gcp27-site.home main h1 {
  color: var(--gcp-gold-strong) !important;
}
body.gcp27-site .gcp27-front-main h1 mark,
body.gcp27-site.home main h1 mark {
  background: transparent !important;
  color: inherit !important;
}

/* Selection remains subtle and branded rather than default electric blue. */
body.gcp27-site ::selection { background: rgba(216,189,115,.32); color: #fff; }
body.gcp27-site ::-moz-selection { background: rgba(216,189,115,.32); color: #fff; }

/* Dashboard / marketplace integration: preserve plugin layouts, add sane edges. */
body.gcp27-dashboard-page .gcp27-entry-content,
body.gcp27-marketplace-page .gcp27-entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.gcp27-site .gcp27-entry-content > :first-child { margin-top: 0; }

/* Make generic forms legible without taking over plugin-specific component styling. */
body.gcp27-site .gcp27-entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.gcp27-site .gcp27-entry-content select,
body.gcp27-site .gcp27-entry-content textarea {
  max-width: 100%;
}

.gcp27-reading-shell,
.gcp27-archive-shell {
  width: min(calc(100% - 40px), 1160px);
  margin: 0 auto;
  padding: 64px 0 80px;
}
.gcp27-article { max-width: 840px; margin: 0 auto; }
.gcp27-article-header h1,
.gcp27-archive-header h1,
.gcp27-error-card h1 {
  margin: 0;
  color: var(--gcp-text) !important;
  font-size: clamp(36px, 6vw, 68px);
  line-height: .98;
  letter-spacing: -.04em;
}
.gcp27-eyebrow {
  margin: 0 0 12px;
  color: var(--gcp-gold-strong) !important;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.gcp27-meta { color: var(--gcp-muted) !important; font-size: 13px; }
.gcp27-featured { margin: 34px 0; }
.gcp27-featured img { width: 100%; border-radius: var(--gcp-radius); }
.gcp27-article-body { color: #dde4e1; font-size: 18px; }
.gcp27-article-body h2,
.gcp27-article-body h3 { color: var(--gcp-text) !important; line-height: 1.1; }
.gcp27-article-body a { color: var(--gcp-gold-strong) !important; }

.gcp27-post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 34px;
}
.gcp27-post-card {
  overflow: hidden;
  border: 1px solid var(--gcp-line);
  border-radius: var(--gcp-radius);
  background: var(--gcp-panel);
}
.gcp27-card-image { display: block; aspect-ratio: 16/10; overflow: hidden; }
.gcp27-card-image img { width: 100%; height: 100%; object-fit: cover; }
.gcp27-card-body { padding: 22px; }
.gcp27-card-body h2 { margin: 6px 0 12px; font-size: 22px; line-height: 1.1; }
.gcp27-card-body h2 a { text-decoration: none; color: var(--gcp-text) !important; }
.gcp27-card-body p { color: var(--gcp-muted); }

.gcp27-error-card {
  max-width: 700px;
  margin: 40px auto;
  padding: 42px;
  border: 1px solid var(--gcp-line);
  border-radius: 24px;
  background: var(--gcp-panel);
}
.gcp27-button {
  display: inline-flex;
  margin-top: 16px;
  padding: 12px 18px;
  border-radius: 11px;
  background: var(--gcp-gold) !important;
  color: #111a1d !important;
  font-weight: 850;
  text-decoration: none;
}

.gcp27-footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--gcp-line);
  background: #071013 !important;
  color: var(--gcp-text) !important;
}
.gcp27-footer-inner {
  width: min(calc(100% - 40px), var(--gcp-container));
  margin: 0 auto;
  padding: 52px 0 38px;
  display: grid;
  grid-template-columns: minmax(320px, 1.1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}
.gcp27-footer-brand { display: flex; gap: 14px; max-width: 560px; }
.gcp27-footer-brand strong { color: var(--gcp-gold-strong) !important; font-size: 18px; }
.gcp27-footer-brand p { margin: 8px 0 0; color: var(--gcp-muted); }
.gcp27-footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
}
.gcp27-footer-menu a { color: #dce4e1 !important; text-decoration: none; }
.gcp27-footer-menu a:hover { color: var(--gcp-gold-strong) !important; }
.gcp27-footer-legal {
  border-top: 1px solid var(--gcp-white-line);
  color: #8f9d99;
}
.gcp27-footer-legal p {
  width: min(calc(100% - 40px), var(--gcp-container));
  margin: 0 auto;
  padding: 18px 0 26px;
  font-size: 12px;
}

/* WordPress admin bar */
@media (max-width: 782px) { .admin-bar .gcp27-header { top: 46px; } }

@media (min-width: 1101px) and (max-width: 1270px) {
  .gcp27-header-inner { width: min(calc(100% - 28px), var(--gcp-container)); gap: 10px; grid-template-columns: minmax(198px, auto) minmax(0, 1fr) auto; }
  .gcp27-brand-copy strong { font-size: 16px; }
  .gcp27-brand-copy small { font-size: 8px; letter-spacing: .12em; }
  .gcp27-menu a { padding-inline: 6px; font-size: 12px; }
  .gcp27-dashboard-link { display: none; }
}

@media (max-width: 1100px) {
  .gcp27-header-inner {
    width: min(calc(100% - 28px), var(--gcp-container));
    min-height: 68px;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .gcp27-menu-toggle { display: grid; place-items: center; grid-column: 2; grid-row: 1; }
  .gcp27-primary-nav {
    position: fixed;
    inset: 68px 0 auto 0;
    max-height: calc(100vh - 68px);
    overflow: auto;
    padding: 14px;
    border-top: 1px solid var(--gcp-line);
    background: rgba(7,16,19,.985) !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: .18s ease;
  }
  .admin-bar .gcp27-primary-nav { top: 100px; }
  .gcp27-menu-open .gcp27-primary-nav { opacity: 1; visibility: visible; transform: translateY(0); }
  .gcp27-menu { display: grid; justify-content: stretch; gap: 4px; }
  .gcp27-menu a { padding: 13px 14px; font-size: 15px; white-space: normal; }
  .gcp27-menu .sub-menu {
    position: static;
    min-width: 0;
    opacity: 1;
    visibility: visible;
    transform: none;
    margin: 4px 0 6px 16px;
    border: 0;
    border-left: 1px solid var(--gcp-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .gcp27-header-actions { display: none; }
  .gcp27-post-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .gcp27-header-inner { width: calc(100% - 22px); }
  .gcp27-brand { gap: 9px; }
  .gcp27-brand-mark { width: 39px; height: 39px; flex-basis: 39px; border-radius: 11px; font-size: 13px; }
  .gcp27-brand-copy strong { font-size: 15px; }
  .gcp27-brand-copy small { font-size: 7px; letter-spacing: .10em; }
  .gcp27-reading-shell,
  .gcp27-archive-shell { width: calc(100% - 28px); padding: 42px 0 58px; }
  .gcp27-article-body { font-size: 16px; }
  .gcp27-post-grid { grid-template-columns: 1fr; }
  .gcp27-footer-inner { width: calc(100% - 28px); grid-template-columns: 1fr; gap: 28px; padding-top: 38px; }
  .gcp27-footer-menu { grid-template-columns: 1fr 1fr; }
  .gcp27-footer-legal p { width: calc(100% - 28px); }
}
