/* Guild list and guild pages (BACKLOG #55). */
.guilds-intro { min-height: 14rem; display: flex; flex-direction: column; justify-content: end;
  padding: 1.4rem clamp(1.3rem, 3vw, 2.5rem); margin: 0 0 1.5rem; border: 1px solid #53616a;
  background: linear-gradient(90deg, #08131bf0, #0a1924d1 58%, #0a19247a),
              url("/static/img/rf-warrior-bg.jpg") center 30% / cover; }
.guilds-intro .eyebrow { margin: 0 0 .55rem; }
.guilds-intro h1 { margin: 0; font: 500 clamp(2.8rem, 7vw, 5rem)/.98 "Arial Narrow", Bahnschrift, sans-serif;
  letter-spacing: .045em; text-transform: uppercase; }
.guilds-intro > p:last-child { color: #dce5e8; margin: .8rem 0 0; }

.guilds-demo-notice { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem 1.25rem;
  border: 1px solid #926032; background: linear-gradient(100deg, #302419, #1b252a 65%);
  color: #e2d5c4; font-size: .9rem; margin: 0 0 1.5rem; }
.guilds-demo-notice[hidden] { display: none; }
.guilds-demo-notice strong { color: #ffd39b; text-transform: uppercase; white-space: nowrap;
  letter-spacing: .13em; font: 800 .72rem/1.5 "Arial Narrow", Bahnschrift, sans-serif;
  padding: .2rem .55rem; border: 1px solid #ca803c; }

.guild-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.2rem; margin-bottom: 1rem; }
.guild-filters .tabs { margin-bottom: 0; }
.guild-filters .tabs button[aria-pressed="true"] { background: var(--gold); color: #15120b; border-color: var(--gold); }
.guild-recruiting-filter { display: inline-flex; align-items: center; gap: .45rem; color: var(--muted); cursor: pointer; }

.guild-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: .9rem; margin-bottom: 1.2rem; }
.guild-card { display: flex; flex-direction: column; gap: .55rem; min-width: 0; padding: 1rem 1.1rem;
  color: var(--text); text-decoration: none; background: #142129; border: 1px solid #3c4d57;
  border-top: 3px solid var(--line); transition: border-color .15s; }
.guild-card:hover, .guild-card:focus-visible { border-color: var(--gold); }
.guild-card.bellato { border-top-color: var(--bellato); }
.guild-card.cora { border-top-color: var(--cora); }
.guild-card.accretia { border-top-color: var(--accretia); }
.guild-card-top { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; }
.guild-card-name { font: 600 1.45rem/1.15 "Arial Narrow", Bahnschrift, sans-serif; letter-spacing: .03em;
  overflow-wrap: anywhere; }
.guild-card-facts, .guild-facts, .guild-battle dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem .9rem; margin: 0; }
.guild-card-facts dt, .guild-facts dt, .guild-battle dt { color: var(--muted); font-size: .72rem;
  text-transform: uppercase; letter-spacing: .1em; }
.guild-card-facts dd, .guild-facts dd, .guild-battle dd { margin: 0; overflow-wrap: anywhere; }

.guild-race { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
  padding: .15rem .45rem; border: 1px solid currentColor; white-space: nowrap; }
.guild-race.bellato { color: var(--bellato); } .guild-race.cora { color: var(--cora); }
.guild-race.accretia { color: var(--accretia); } .guild-race.neutral { color: var(--muted); }
.recruit-badge { font-size: .72rem; font-weight: 700; padding: .15rem .5rem; white-space: nowrap; }
.recruit-badge.open { color: #0d1d16; background: var(--ok); }
.recruit-badge.closed { color: var(--muted); border: 1px solid var(--line); }

.guild-back { margin: 0 0 1rem; }
.guild-head { padding: 1.3rem clamp(1.2rem, 3vw, 2rem); margin-bottom: 1.2rem; border: 1px solid #53616a;
  background: linear-gradient(90deg, #08131bf2, #0a1925cc 60%, #0a192566),
              url("/static/img/rf-ether-bg.jpg") center 50% / cover; }
.guild-head .eyebrow { margin: 0 0 .4rem; }
.guild-head h1 { margin: 0 0 .6rem; font: 500 clamp(2.1rem, 6vw, 3.6rem)/1.02 "Arial Narrow", Bahnschrift, sans-serif;
  text-transform: uppercase; letter-spacing: .04em; overflow-wrap: anywhere; }
.guild-recruiting { margin: 0; }
.guild-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 1rem 1.2rem;
  background: var(--panel); border: 1px solid var(--line); margin-bottom: 1.2rem; }
.guild-leader-tools { padding: 1rem 1.2rem; margin-bottom: 1.2rem; background: #182630;
  border-left: 3px solid var(--gold); }
.guild-leader-tools[hidden] { display: none; }
.guild-leader-tools p { margin: 0 0 .7rem; }
.guild-leader-tools .flash { margin: .8rem 0 0; }
.guild-battle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.guild-battle-card { padding: 1rem 1.2rem; background: var(--panel); border: 1px solid var(--line); }
.guild-battle-card h3 { margin: 0 0 .6rem; font-size: .95rem; color: var(--gold-2); }
.guild-battle dl { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.guild-battle dd { font: 600 1.5rem/1.1 "Arial Narrow", Bahnschrift, sans-serif; }
.guild-count { color: var(--muted); font-weight: 400; font-size: 1rem; }
table.guild-members { display: table; width: 100%; }
table.guild-members[hidden] { display: none; }
.guild-role.leader { color: var(--gold-2); font-weight: 700; }
.guild-role.senate { color: #dce5e8; font-weight: 600; }

@media (max-width: 640px) {
  .guild-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guild-battle { grid-template-columns: 1fr; }
  /* The member table scrolls inside itself, never the page. */
  table.guild-members { display: block; overflow-x: auto; }
  table.guild-members th, table.guild-members td { padding: .5rem .6rem; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .guild-card { transition: none; }
}
