/* ========= Celtic Boxing Club — Modern Theme ========= */
:root{
  --bg:#0f1115;
  --surface:#161922;
  --surface-2:#1c2030;
  --text:#eef1f7;
  --muted:#a9b1c3;
  --border:#2a3042;
  --accent:#7fbf4d;         /* Celtic green */
  --accent-alt:#5aa7ff;     /* Secondary for intros */
  --warning:#e6a23c;
  --warning-soft:#3a2c12;
  --chip:#1f2536;
  --focus: color-mix(in oklab, var(--accent) 50%, white 20%);
  --shadow: 0 10px 30px rgba(0,0,0,.25);
}

@media (prefers-color-scheme: light){
  :root{
    --bg:#f7f8fb; --surface:#ffffff; --surface-2:#f0f2f7;
    --text:#111420; --muted:#56607a; --border:#e4e7ee; --chip:#eef2f7;
    --shadow: 0 8px 20px rgba(0,0,0,.06);
  }
}

html[data-theme="light"]{
  --bg:#f7f8fb; --surface:#ffffff; --surface-2:#f0f2f7; --text:#111420; --muted:#56607a; --border:#e4e7ee; --chip:#eef2f7;
}
html, body {height:100%}
*{box-sizing:border-box}
body{
  margin:0; font: 16px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, sans-serif;
  background:var(--bg); color:var(--text);
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}

/* Layout */
.container{max-width:1100px; margin:0 auto; padding:1rem}
.nav{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 0}
.brand{font-weight:800; letter-spacing:.3px}
.links{display:flex; gap:1rem; flex-wrap:wrap}
.links a{padding:.35rem .6rem; border-radius:.5rem}
.links a[aria-current="page"]{background:var(--surface-2)}
.hero{padding:1.25rem 0 .5rem}
.kicker{opacity:.85}

/* Cards, tables */
.card{background:var(--surface); border:1px solid var(--border); border-radius:1rem; padding:1rem; box-shadow:var(--shadow)}
.table{width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--border); border-radius:.75rem; overflow:hidden}
.table th,.table td{padding:.6rem .75rem; border-bottom:1px solid var(--border)}
.table th{background:var(--surface-2); text-align:left}

/* Forms */
label{display:block; font-size:.85rem; opacity:.9; margin-bottom:.25rem}
input, select, textarea{
  width:100%; padding:.55rem .65rem; background:var(--surface-2); color:var(--text);
  border:1px solid var(--border); border-radius:.55rem; outline:none;
}
input:focus, select:focus, textarea:focus{border-color:var(--focus); box-shadow:0 0 0 3px color-mix(in oklab, var(--focus) 30%, transparent)}
.form-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.75rem}
.checkbox{display:flex; gap:.5rem; align-items:flex-start}

/* Buttons */
.button{
  display:inline-flex; align-items:center; justify-content:center; gap:.35rem;
  padding:.55rem .8rem; background:var(--accent); color:#0b1205; border:none; border-radius:.6rem; font-weight:700; cursor:pointer;
  transition: transform .05s ease, box-shadow .2s ease; box-shadow:0 4px 16px color-mix(in oklab, var(--accent) 40%, transparent)
}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0)}
.button.ghost{background:transparent; color:var(--text); border:1px solid var(--border); box-shadow:none}
.button[disabled]{opacity:.6; cursor:not-allowed}

/* Chips & badges */
.badge{display:inline-block; padding:.15rem .5rem; border-radius:999px; background:var(--chip); font-size:.8rem}
.success{color:var(--accent)}

/* Utility */
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}
.small{font-size:.9rem; opacity:.9}
.muted{opacity:.55}
.title-small{font-weight:800}

/* Footer */
footer{margin:2rem 0 1rem; display:flex; flex-direction:column; gap:.25rem; opacity:.9}

/* Responsive polish */
@media (max-width:720px){
  .links{gap:.35rem}
  .brand{font-size:1rem}
}
