/* ePIT Connect — theme-adaptive base styles.
   Deliberately minimal + neutral: inherits the host theme's fonts (no font-family set) and text
   colour, and exposes a few CSS variables a centre can override in their own theme to match brand:
     .epit { --epit-accent: #c0392b; --epit-radius: 14px; }
*/
.epit {
  --epit-accent: #2b6cb0;                 /* buttons / highlights — override to brand */
  --epit-accent-contrast: #fff;
  --epit-radius: 10px;
  --epit-border: rgba(0,0,0,.12);
  --epit-muted: rgba(0,0,0,.55);
  --epit-card-bg: rgba(255,255,255,.75);
}
.epit, .epit * { box-sizing: border-box; }

/* Cards + grid (used by events, groups, roles, trainings) */
.epit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: 1rem; margin: 1.2rem 0; }
.epit-card { border: 1px solid var(--epit-border); border-radius: var(--epit-radius); padding: 1.1rem 1.15rem; background: var(--epit-card-bg); display: flex; flex-direction: column; gap: .45rem; }
.epit-card h3, .epit-card h4 { margin: 0; line-height: 1.25; }
/* I-Group cards: reserve two lines for the name so single-line names take the same height and
   the mini-maps below line up evenly across the row. */
.epit-igroups .epit-card h4 { min-height: 2.5em; }
.epit-eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--epit-muted); }
.epit-muted { color: var(--epit-muted); font-size: .92rem; }

/* Pills / badges */
.epit-pill { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .02em; padding: .28em .65em; border-radius: 999px; background: color-mix(in srgb, var(--epit-accent) 14%, transparent); color: var(--epit-accent); }
.epit-badge-closed { background: rgba(0,0,0,.08); color: inherit; }

/* Buttons — inherit theme font, use accent colour */
.epit-btn { display: inline-flex; align-items: center; gap: .4em; font: inherit; font-weight: 600; line-height: 1.2; padding: .6em 1.1em; border-radius: 999px; border: 2px solid var(--epit-accent); background: var(--epit-accent); color: var(--epit-accent-contrast); text-decoration: none; cursor: pointer; align-self: flex-start; }
.epit-btn:hover { filter: brightness(.93); color: var(--epit-accent-contrast); }
.epit-btn-outline { background: transparent; color: var(--epit-accent); }
.epit-btn-outline:hover { background: var(--epit-accent); color: var(--epit-accent-contrast); }
.epit-btn-sm { padding: .45em .9em; font-size: .9em; }

/* Empty state */
.epit-empty { border: 1px dashed var(--epit-border); border-radius: var(--epit-radius); padding: 1.1rem 1.2rem; color: var(--epit-muted); }

/* Maps */
.epit-map { height: 320px; border-radius: var(--epit-radius); overflow: hidden; border: 1px solid var(--epit-border); position: relative; z-index: 0; isolation: isolate; }
.epit-mini-map { height: 150px; border-radius: var(--epit-radius); overflow: hidden; border: 1px solid var(--epit-border); margin: .5rem 0; position: relative; z-index: 0; isolation: isolate; }

/* Language flags */
.epit-flags img { height: .9em; width: auto; margin-left: .25em; vertical-align: baseline; }

/* Controls (I-Group centre picker) */
.epit-controls { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: end; margin-bottom: 1rem; }
.epit-controls select { font: inherit; padding: .5em .8em; border: 1px solid var(--epit-border); border-radius: 8px; }

/* Next-NWTA strip (homepage banner under the hero) */
.epit-next-strip{background:var(--po,#1F3A5F);color:#fff;border-top:1px solid rgba(255,255,255,.12);margin:0;}
.epit-next-strip a{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:52px;color:#fff;font-weight:600;font-size:.98rem;text-decoration:none;flex-wrap:wrap;padding:8px 24px;}
.epit-next-strip .epit-next-label{background:var(--tussock,#C15B34);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:999px;margin:0;}

/* ---- Member profile (signed-in member's own ePIT details, [epit_member]) ---- */
.epit-member { margin: 1rem 0; }
.epit-member-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem 1.4rem; }
.epit-member-item { display: flex; flex-direction: column; gap: .1rem; }
.epit-member-label { font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--epit-muted); }
.epit-member-value { font-weight: 600; line-height: 1.35; }
.epit-member-signin { text-align: center; border: 1px dashed var(--epit-border); border-radius: var(--epit-radius); padding: 1.4rem 1.2rem; }
.epit-member-signin .epit-btn { align-self: center; margin-top: .4rem; }
.epit-member-note { margin: 1.1rem 0 0; padding-top: .8rem; border-top: 1px solid var(--epit-border); font-size: .85rem; color: var(--epit-muted); }
