/*
Theme Name: San3a Academy Theme
Theme URI: https://example.com/
Author: OpenAI
Description: Custom frontend theme for San3a Academy built to work with the San3a Academy Core plugin.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: san3a-academy-theme
*/

:root {
  --sa-bg: #f8fafc;
  --sa-card: #ffffff;
  --sa-text: #0f172a;
  --sa-muted: #475569;
  --sa-border: #e2e8f0;
  --sa-primary: #2563eb;
  --sa-primary-2: #0ea5e9;
  --sa-success: #059669;
  --sa-warning: #d97706;
  --sa-danger: #dc2626;
  --sa-radius: 20px;
  --sa-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  color: var(--sa-text);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.sa-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.sa-section { padding: 72px 0; }
.sa-grid { display: grid; gap: 24px; }
.sa-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sa-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sa-card {
  background: var(--sa-card);
  border: 1px solid var(--sa-border);
  border-radius: var(--sa-radius);
  box-shadow: var(--sa-shadow);
}
.sa-btn, .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 12px 18px; border-radius: 999px; font-weight: 600;
  border: 1px solid transparent; transition: all .2s ease;
}
.sa-btn-primary { background: linear-gradient(90deg, var(--sa-primary), var(--sa-primary-2)); color: #fff; }
.sa-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 30px rgba(37,99,235,.25); }
.sa-btn-light { background: #fff; border-color: var(--sa-border); }
.sa-pill { display:inline-flex; padding:6px 10px; border-radius:999px; background:#eff6ff; color:var(--sa-primary); font-size:13px; font-weight:700; }
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.9); backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(226,232,240,.9);
}
.site-header-inner { display:flex; align-items:center; justify-content:space-between; min-height: 78px; gap:20px; }
.site-branding a { font-size: 24px; font-weight: 800; letter-spacing: -.03em; }
.site-nav { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.site-nav a { color: var(--sa-muted); font-weight: 600; }
.site-nav a:hover, .site-nav .current-menu-item > a { color: var(--sa-text); }
.hero {
  padding: 90px 0 72px;
}
.hero-wrap {
  display:grid; grid-template-columns: 1.15fr .85fr; gap:32px; align-items:center;
}
.hero-copy h1 { font-size: clamp(36px, 6vw, 64px); line-height:1; margin: 14px 0 18px; letter-spacing: -.04em; }
.hero-copy p { font-size: 18px; color: var(--sa-muted); line-height: 1.8; max-width: 720px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top: 24px; }
.hero-panel { padding: 28px; background: radial-gradient(circle at top right, #dbeafe 0%, #ffffff 45%); }
.hero-stat { display:flex; align-items:center; justify-content:space-between; padding: 18px 0; border-bottom:1px solid var(--sa-border); }
.hero-stat:last-child { border-bottom:0; }
.sa-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom: 28px; }
.sa-heading h2 { font-size: clamp(28px, 4vw, 42px); margin:0; letter-spacing:-.03em; }
.sa-heading p { margin:0; color: var(--sa-muted); max-width: 680px; }
.sa-post-card { overflow:hidden; }
.sa-post-card .thumb { aspect-ratio: 16 / 10; background:#e2e8f0; display:block; }
.sa-post-card .thumb img { width:100%; height:100%; object-fit:cover; }
.sa-post-body { padding:22px; }
.sa-post-body h3 { margin: 12px 0 10px; font-size: 22px; }
.sa-post-body p { margin:0; color: var(--sa-muted); line-height:1.7; }
.sa-meta { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; color: var(--sa-muted); }
.sa-dashboard { display:grid; grid-template-columns: 280px 1fr; gap:24px; }
.sa-sidebar { padding: 22px; position: sticky; top: 100px; height: fit-content; }
.sa-sidebar a { display:block; padding: 10px 14px; border-radius: 14px; color: var(--sa-muted); font-weight: 600; }
.sa-sidebar a:hover, .sa-sidebar a.is-active { background:#eff6ff; color: var(--sa-primary); }
.sa-content-card { padding: 24px; }
.sa-table-wrap { overflow:auto; }
.sa-table { width:100%; border-collapse:collapse; }
.sa-table th, .sa-table td { text-align:left; padding:14px 12px; border-bottom:1px solid var(--sa-border); font-size: 14px; }
.sa-table th { color:var(--sa-muted); font-weight:700; }
.sa-status { display:inline-flex; padding: 6px 10px; border-radius:999px; font-size:12px; font-weight:700; }
.sa-status-draft, .sa-status-pending { background:#fff7ed; color:#c2410c; }
.sa-status-submitted, .sa-status-review { background:#eff6ff; color:#1d4ed8; }
.sa-status-accepted, .sa-status-published, .sa-status-enrolled { background:#ecfdf5; color:#047857; }
.sa-status-rejected, .sa-status-declined, .sa-status-blacklisted { background:#fef2f2; color:#b91c1c; }
.sa-form-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:18px; }
.sa-form-group { display:flex; flex-direction:column; gap:8px; }
.sa-form-group label { font-size:14px; font-weight:700; }
.sa-input, .sa-select, .sa-textarea, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], textarea, select {
  width:100%; box-sizing:border-box; min-height:48px; border-radius:16px; border:1px solid var(--sa-border);
  padding: 12px 14px; background:#fff; font:inherit;
}
.sa-textarea, textarea { min-height: 140px; }
.sa-auth { max-width: 520px; margin: 80px auto; padding: 30px; }
.sa-banner { padding: 16px 18px; border-radius: 18px; margin-bottom: 20px; }
.sa-banner-success { background:#ecfdf5; color:#065f46; }
.sa-banner-error { background:#fef2f2; color:#991b1b; }
.footer-cta { padding: 32px; display:flex; justify-content:space-between; gap:20px; align-items:center; }
.site-footer { padding: 30px 0 50px; color:var(--sa-muted); }
.sa-mobile-toggle { display:none; }
@media (max-width: 960px) {
  .hero-wrap, .sa-grid-3, .sa-grid-2, .sa-dashboard, .sa-form-grid { grid-template-columns: 1fr; }
  .site-nav { display:none; }
  .site-nav.is-open { display:flex; position:absolute; left:16px; right:16px; top:80px; padding:18px; background:#fff; border:1px solid var(--sa-border); border-radius:20px; box-shadow: var(--sa-shadow); flex-direction:column; align-items:flex-start; }
  .sa-mobile-toggle { display:inline-flex; }
}

.entry-content ul, .entry-content ol { padding-inline-start: 20px; }
.sa-mobile-toggle { white-space: nowrap; }
.site-header-inner { position: relative; }
.sa-status-rubric_review { background:#faf5ff; color:#7e22ce; }
.sa-status-interview, .sa-status-task, .sa-status-payment { background:#fffbeb; color:#b45309; }
.sa-status-waitlisted { background:#f8fafc; color:#475569; }
@media (max-width:960px){ .site-header-inner{align-items:flex-start;padding:14px 0;} .site-branding a{font-size:20px;} }


.sa-tabs { display:flex; gap:10px; flex-wrap:wrap; margin: 16px 0 18px; }
.sa-tab { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border:1px solid var(--sa-border); border-radius:999px; background:#fff; color:var(--sa-muted); font-weight:700; }
.sa-tab:hover { border-color:#bfdbfe; color:var(--sa-text); }
.sa-tab.is-active { background:#eff6ff; color:var(--sa-primary); border-color:#bfdbfe; }
.sa-tab-panel h4 { margin:0 0 14px; font-size:20px; }
.sa-tab-panel > p { line-height:1.8; }
