/* GaiasBus Living Network visual refresh — shared, responsive layer for every destination. */
:root {
  --gb-ink: #20392e;
  --gb-muted: #62756a;
  --gb-paper: #fffaf1;
  --gb-line: rgba(44, 83, 60, .15);
  --gb-green: #27734d;
  --gb-green-deep: #174b37;
  --gb-surface: rgba(255,255,255,.91);
  --gb-surface-warm: #fff5e7;
  --gb-shadow-lift: 0 18px 48px rgba(38,76,52,.10);
  --gb-rainbow: linear-gradient(105deg,#e65b9b 0%,#f1a34d 22%,#e8cf62 41%,#57a977 60%,#35a8b4 80%,#8270cf 100%);
  --gb-radius-xl: 28px;
}
html { scroll-padding-top: 6rem; }
body {
  color: var(--gb-ink);
  background:
    radial-gradient(ellipse at 3% 3%, rgba(231,91,155,.09), transparent 34rem),
    radial-gradient(ellipse at 97% 10%, rgba(53,168,180,.10), transparent 32rem),
    radial-gradient(ellipse at 48% 100%, rgba(87,169,119,.08), transparent 38rem),
    var(--gb-paper);
}
:where(h1,h2,h3) { color: var(--gb-ink); letter-spacing: -.025em; }
:where(p,li) { text-wrap: pretty; }
:where(.brand strong,.brand [data-brand-word],.brand > span:not(.rainbow-mark)) {
  background: var(--gb-rainbow);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
:where(body > header,.site-header,.topbar) {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(44,83,60,.09);
}
:where(body > header,body > .topbar) {
  padding-inline: clamp(4px,1.5vw,18px);
}
:where(header nav a,header nav button,header nav form button,.nav a,.workspace-nav a,.workspace-nav button) {
  min-height: 44px;
  border: 1px solid var(--gb-line);
  border-radius: 999px;
  padding: 9px 14px;
  background: rgba(255,255,255,.88);
  color: var(--gb-green-deep);
  font-weight: 800;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
:where(header nav a:hover,header nav button:hover,.nav a:hover,.workspace-nav a:hover,.workspace-nav button:hover) {
  transform: translateY(-1px);
  box-shadow: 0 7px 18px rgba(38,76,52,.09);
}
:where(nav a[aria-current="page"],nav a[aria-current="location"]) {
  background: linear-gradient(110deg,rgba(230,91,155,.13),rgba(241,163,77,.15),rgba(53,168,180,.13));
  border-color: rgba(39,115,77,.28);
}
:where(button,.button,.pill,.action-button,.path-button,.connect,input[type="submit"],input[type="button"]) {
  min-height: 44px;
  border-radius: 999px;
  font-weight: 800;
  -webkit-tap-highlight-color: transparent;
}
:where(.primary,.pill-primary,.button-primary,.action-button.primary,.submit,button[type="submit"]) {
  background: var(--gb-rainbow);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: 0 9px 22px rgba(67,112,79,.16);
  text-shadow: 0 1px 1px rgba(30,50,38,.12);
}
:where(button:not(:disabled),.button,.pill,.action-button,.path-button,.connect) {
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
@media (hover:hover) and (pointer:fine) {
  :where(button:not(:disabled),.button,.pill,.action-button,.path-button,.connect):hover {
    filter: saturate(1.07);
    box-shadow: 0 9px 22px rgba(38,76,52,.13);
  }
}
:where(.card,.panel,.hero,.shell,.section,.tile,.pathway,.explore-card,.listing-card,.listing,.project-card,.profile-card,.map-card,.content-card,.assistant-card,.intro,.guide-panel,.guide-result,.network-item,.person-card) {
  border-color: var(--gb-line);
  border-radius: var(--gb-radius-xl);
  background-color: var(--gb-surface);
  box-shadow: 0 10px 30px rgba(38,76,52,.065);
}
:where(.panel,.listing,.guide-panel,.intro,.assistant-card) {
  backdrop-filter: blur(12px);
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select) {
  min-height: 44px;
  border: 1px solid var(--gb-line);
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  color: var(--gb-ink);
}
:where(input,textarea,select):focus-visible,
:where(a,button,[role="button"],[tabindex]):focus-visible {
  outline: 3px solid #35a8b4;
  outline-offset: 3px;
}
:where(.kicker,.eyebrow,.guide-kicker,.gb-community-kicker) {
  color: var(--gb-green);
  letter-spacing: .09em;
}
:where(.lead,.muted,.quiet,.hint,.meta,.panel-intro,.body-copy) { color: var(--gb-muted); }
:where(.pathway.have,.tile.have) { background: linear-gradient(145deg,#edf8e9,#fff 78%); }
:where(.pathway.need,.tile.need) { background: linear-gradient(145deg,#eaf6ff,#fff 78%); }
:where(.pathway.creating,.tile.creating) { background: linear-gradient(145deg,#f6edff,#fff 78%); }
:where(.pathway.help,.tile.help) { background: linear-gradient(145deg,#fff1df,#fff 78%); }
:where(.door,.intro,.home-welcome-art,.gb-community-banner,.closing-note) {
  border-color: var(--gb-line);
}
.door {
  overflow: hidden;
  border: 1px solid rgba(44,83,60,.09);
  border-radius: 34px;
  padding-inline: clamp(18px,4vw,52px);
  background:
    radial-gradient(ellipse at 82% 14%,rgba(53,168,180,.14),transparent 24rem),
    radial-gradient(ellipse at 8% 88%,rgba(230,91,155,.10),transparent 25rem),
    linear-gradient(135deg,rgba(255,255,255,.84),rgba(245,250,238,.85));
  box-shadow: var(--gb-shadow-lift);
}
.door-copy h1 { max-width: 11ch; color: var(--gb-green-deep); }
.door-art .approved-hero-art { border: 7px solid rgba(255,255,255,.76); border-radius: 30px; box-shadow: 0 24px 55px rgba(38,76,52,.17); }
:where(.pathway,.explore-card,.listing,.network-item,.person-card) {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
@media (hover:hover) and (pointer:fine) {
  :where(.pathway,.explore-card,.listing,.network-item,.person-card):hover {
    transform: translateY(-3px);
    border-color: rgba(39,115,77,.28);
    box-shadow: 0 17px 36px rgba(38,76,52,.11);
  }
}
:where(.grid,.pathway-grid,.explore-grid,.listings) { gap: clamp(12px,2vw,20px); }
:where(.panel,.listing,.guide-panel,.intro) { padding: clamp(17px,3vw,28px); }
:where(.market-actions,.actions,.profile-actions,.market-card-actions,.auth-actions) { gap: 10px; }
:where(.market-actions button,.profile-actions a,.market-card-actions a,.market-card-actions button) { min-height: 46px; }
:where(footer) { color: var(--gb-muted); }
@media (max-width: 760px) {
  :where(body > header,body > .topbar) { padding-block: 10px; }
  :where(header nav,.nav,.top-actions,.actions,.market-actions,.workspace-nav) { gap: 7px; }
  :where(header nav a,header nav button,.nav a) { min-height: 42px; padding: 8px 11px; }
  .door { border-radius: 24px; padding: 22px 18px; }
  .door-copy h1 { font-size: clamp(2.65rem,12vw,4.1rem); }
  :where(.panel,.listing,.guide-panel,.intro,.assistant-card) { border-radius: 21px; }
  :where(.grid,.pathway-grid,.explore-grid,.listings) { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 420px) {
  :where(header nav a,header nav button,.nav a) { font-size: .88rem; }
  :where(button,.button,.pill,.action-button,.path-button,.connect) { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  :where(.pathway,.explore-card,.listing,.network-item,.person-card):hover { transform: none; }
}
@media (forced-colors: active) {
  :where(button,.button,.pill,.action-button,.path-button,a) { border: 1px solid ButtonText; }
}
