/* 
Theme Name: TMB Core
Theme URI: https://tmbilly.com
Author: Billy Day / TMB Solutions
Author URI: https://tmbilly.com
Description: Minimal, portable base theme with token-based styling, Branding folder support, and optional WooCommerce helpers.
Version: 0.2.2
Text Domain: tmb-core
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* ===== Token defaults (overridden via admin + brand.json) ===== */
:root{
  color-scheme: light dark;

  --tmb-bg:#ffffff;
  --tmb-surface:#f6f7f9;
  --tmb-text:#111827;
  --tmb-muted:#6b7280;
  --tmb-border:#e5e7eb;
  --tmb-accent:#2563eb;
  --tmb-accent-contrast:#ffffff;

  --tmb-font-body:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --tmb-font-heading:var(--tmb-font-body);
  --tmb-text-base:16px;
  --tmb-line-height:1.5;

  --tmb-max-width:1200px;
  --tmb-radius:12px;
  --tmb-border-width:1px;
  --tmb-shadow:0 8px 30px rgba(0,0,0,.08);

  --tmb-space-1:4px;
  --tmb-space-2:8px;
  --tmb-space-3:12px;
  --tmb-space-4:16px;
  --tmb-space-5:24px;
  --tmb-space-6:32px;
}

@media (prefers-color-scheme: dark){
  html[data-theme="auto"]{
    --tmb-bg:#0b1220;
    --tmb-surface:#0f1a2e;
    --tmb-text:#e5e7eb;
    --tmb-muted:#9ca3af;
    --tmb-border:#22304a;
    --tmb-accent:#60a5fa;
    --tmb-accent-contrast:#0b1220;
    --tmb-shadow:0 10px 40px rgba(0,0,0,.35);
  }
}

html[data-theme="dark"]{
  --tmb-bg:#0b1220;
  --tmb-surface:#0f1a2e;
  --tmb-text:#e5e7eb;
  --tmb-muted:#9ca3af;
  --tmb-border:#22304a;
  --tmb-accent:#60a5fa;
  --tmb-accent-contrast:#0b1220;
  --tmb-shadow:0 10px 40px rgba(0,0,0,.35);
}

/* ===== Minimal base styling ===== */
*{box-sizing:border-box;}
html{font-size:var(--tmb-text-base);}
body{
  margin:0;
  background:var(--tmb-bg);
  color:var(--tmb-text);
  font-family:var(--tmb-font-body);
  line-height:var(--tmb-line-height);
}
a{color:var(--tmb-accent);text-decoration:none;}
a:hover{text-decoration:underline;}

.tmb-skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.tmb-skip-link:focus{
  left:var(--tmb-space-4);top:var(--tmb-space-4);width:auto;height:auto;
  padding:var(--tmb-space-2) var(--tmb-space-3);
  background:var(--tmb-surface);
  border:var(--tmb-border-width) solid var(--tmb-border);
  border-radius:var(--tmb-radius);
  z-index:100000;
}
.tmb-wrap{max-width:var(--tmb-max-width);margin:0 auto;padding:0 var(--tmb-space-4);}
.tmb-header{border-bottom:var(--tmb-border-width) solid var(--tmb-border);background:var(--tmb-bg);}
.tmb-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--tmb-space-4);padding:var(--tmb-space-4) 0;}
.tmb-brand-link{display:inline-flex;align-items:center;gap:var(--tmb-space-2);color:var(--tmb-text);}
.tmb-logo{max-height:44px;width:auto;display:block;}
/* Logo mode switching (when both variants are present) */
.tmb-logo-light{display:none;}
html[data-theme="light"] .tmb-logo-light{display:block;}
html[data-theme="light"] .tmb-logo-dark{display:none;}
html[data-theme="dark"] .tmb-logo-light{display:none;}
html[data-theme="dark"] .tmb-logo-dark{display:block;}
@media (prefers-color-scheme: dark){
  html[data-theme="auto"] .tmb-logo-light{display:none;}
  html[data-theme="auto"] .tmb-logo-dark{display:block;}
}
@media (prefers-color-scheme: light){
  html[data-theme="auto"] .tmb-logo-light{display:block;}
  html[data-theme="auto"] .tmb-logo-dark{display:none;}
}

.tmb-site-title{font-family:var(--tmb-font-heading);font-weight:700;}
.tmb-nav .tmb-menu{display:flex;gap:var(--tmb-space-4);list-style:none;margin:0;padding:0;}
.tmb-nav .tmb-menu a{color:var(--tmb-text);}
.tmb-main{padding:var(--tmb-space-6) 0;min-height:60vh;}
.tmb-card{
  background:var(--tmb-surface);
  border:var(--tmb-border-width) solid var(--tmb-border);
  border-radius:var(--tmb-radius);
  padding:var(--tmb-space-5);
  box-shadow:var(--tmb-shadow);
}
.tmb-footer{border-top:var(--tmb-border-width) solid var(--tmb-border);background:var(--tmb-bg);}
.tmb-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--tmb-space-4);padding:var(--tmb-space-5) 0;}
.tmb-footer-copy{margin:0;color:var(--tmb-muted);}
.tmb-content > *:first-child{margin-top:0;}
.tmb-content > *:last-child{margin-bottom:0;}

.tmb-header-actions{display:flex;align-items:center;gap:var(--tmb-space-3);}
.tmb-mode-toggle{
  appearance:none;
  background:var(--tmb-surface);
  color:var(--tmb-text);
  border:var(--tmb-border-width) solid var(--tmb-border);
  border-radius:999px;
  padding:6px 10px;
  font:inherit;
  cursor:pointer;
}
.tmb-mode-toggle:hover{filter:brightness(0.98);}
