/* Foundation theme: brand tokens + Bootstrap 5.3 dark overrides. Load after bootstrap.min.css. */
:root,[data-bs-theme=dark]{
  --bg:#0c0a09;--surface:#15110f;--surface-2:#1e1814;--surface-3:#271f1a;--line:#2f2621;--line-2:#3d322b;
  --fg:#f4ede4;--muted:#b5a798;--red:#ec3c42;--red-fill:#c81f26;--gold:#e9b949;--gold-dim:#8a6a26;
  --ok:#4fc28a;--warn:#e9b949;--info:#6aa8ff;
  --font-display:'Prompt','Noto Sans Thai',system-ui,sans-serif;
  --font-body:'Noto Sans Thai',system-ui,sans-serif;
  --font-tag:'Chakra Petch','Noto Sans Thai',ui-monospace,monospace;
  --side:272px;
}
[data-bs-theme=dark]{
  color-scheme:dark;
  --bs-body-bg:var(--bg);--bs-body-color:var(--fg);--bs-body-font-family:var(--font-body);--bs-body-font-size:15px;
  --bs-secondary-color:var(--muted);--bs-tertiary-bg:var(--surface-2);--bs-secondary-bg:var(--surface-2);
  --bs-border-color:var(--line-2);--bs-border-color-translucent:var(--line);
  --bs-primary:var(--red-fill);--bs-primary-rgb:200,31,38;--bs-link-color:var(--gold);--bs-link-hover-color:#f5cf75;
  --bs-link-color-rgb:233,185,73;--bs-link-hover-color-rgb:245,207,117;
  --bs-success:var(--ok);--bs-warning:var(--gold);--bs-danger:var(--red);--bs-info:var(--info);
  --bs-form-control-bg:var(--bg);--bs-emphasis-color:var(--fg);
  --bs-heading-color:var(--fg);--bs-code-color:var(--gold);
  --bs-focus-ring-color:rgba(233,185,73,.3);
}
html,body{height:100%}
body{line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--font-display);line-height:1.3;text-wrap:balance}
a{text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons: brand variants on top of Bootstrap */
.btn{--bs-btn-border-radius:10px;--bs-btn-font-weight:500;--bs-btn-padding-y:.55rem;--bs-btn-padding-x:1.1rem;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-sm{--bs-btn-border-radius:8px;min-height:36px}
.btn-primary{--bs-btn-bg:var(--red-fill);--bs-btn-border-color:var(--red-fill);--bs-btn-hover-bg:var(--red);--bs-btn-hover-border-color:var(--red);--bs-btn-active-bg:var(--red);--bs-btn-active-border-color:var(--red);--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-font-weight:600}
.btn-gold{--bs-btn-bg:var(--gold);--bs-btn-border-color:var(--gold);--bs-btn-color:#1a1307;--bs-btn-hover-bg:#f5cf75;--bs-btn-hover-border-color:#f5cf75;--bs-btn-hover-color:#1a1307;--bs-btn-font-weight:600}
.btn-outline-secondary,.btn-light{--bs-btn-color:var(--fg);--bs-btn-border-color:var(--line-2);--bs-btn-bg:var(--surface-2);--bs-btn-hover-bg:var(--surface-3);--bs-btn-hover-color:var(--fg);--bs-btn-hover-border-color:var(--gold-dim)}
.btn-danger-outline{--bs-btn-color:var(--red);--bs-btn-border-color:rgba(236,60,66,.4);--bs-btn-hover-bg:var(--red-fill);--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:var(--red-fill)}
.icon-btn{width:42px;height:42px;padding:0}

/* Forms */
.form-control,.form-select{min-height:44px;border-radius:10px;border-color:var(--line-2);background-color:var(--bg);font-size:15px}
textarea.form-control{min-height:96px}
.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(233,185,73,.18);background-color:var(--bg)}
.form-label{font-size:14px;font-weight:500}
.form-text{color:var(--muted)}
.form-check-input:checked{background-color:var(--red-fill);border-color:var(--red-fill)}

/* Tables */
.table{--bs-table-bg:transparent;--bs-table-border-color:var(--line);--bs-table-hover-bg:rgba(255,255,255,.02);vertical-align:middle;margin:0}
.table>thead th{font-family:var(--font-tag);font-weight:600;font-size:12px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;background:var(--surface-2);white-space:nowrap}
.table>:not(caption)>*>*{padding:.8rem 1rem}

/* Alerts / messages */
.alert{border-radius:10px;font-size:14px}
.alert-danger{--bs-alert-bg:rgba(200,31,38,.14);--bs-alert-border-color:rgba(236,60,66,.45);--bs-alert-color:#ffc9c6}
.alert-success{--bs-alert-bg:rgba(79,194,138,.1);--bs-alert-border-color:rgba(79,194,138,.4);--bs-alert-color:#b9ecd3}
.alert-info,.note{--bs-alert-bg:var(--surface-2);--bs-alert-border-color:var(--line);--bs-alert-color:var(--muted)}
.note{padding:12px 14px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:14px}
.dropdown-menu{--bs-dropdown-bg:var(--surface);--bs-dropdown-border-color:var(--line-2);--bs-dropdown-border-radius:14px}
.modal-content{background:var(--surface);border-color:var(--line-2);border-radius:14px}
