/*
Theme Name: Valor School of Healthcare
Theme URI: https://lightslategray-grasshopper-936249.hostingersite.com/
Author: Valor School of Healthcare
Description: Custom WordPress theme for Valor School of Healthcare and its New Jersey Certified Medication Aide program.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: valor-school
*/

:root {
  --valor-navy: #082f63;
  --valor-navy-dark: #041f43;
  --valor-blue: #164f8f;
  --valor-silver: #c8ced6;
  --valor-silver-light: #edf1f5;
  --valor-ink: #172033;
  --valor-muted: #607086;
  --valor-white: #ffffff;
  --valor-green: #0f766e;
  --valor-radius: 20px;
  --valor-shadow: 0 18px 50px rgba(4,31,67,.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--valor-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}
a { color: var(--valor-navy); text-decoration: none; }
a:hover { color: var(--valor-blue); }
img { max-width: 100%; height: auto; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.section { padding: 84px 0; }
.section-tight { padding: 58px 0; }
.bg-soft { background: linear-gradient(180deg,#f7f9fc,#eef2f7); }
.bg-navy { background: linear-gradient(135deg,var(--valor-navy-dark),var(--valor-navy)); color:#fff; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:800; color:var(--valor-blue); margin-bottom:12px; }
.eyebrow.light { color:#d9e7f8; }
h1,h2,h3,h4 { color:var(--valor-navy-dark); line-height:1.12; margin:0 0 18px; }
h1 { font-size:clamp(2.6rem,6vw,5.2rem); letter-spacing:-.045em; }
h2 { font-size:clamp(2rem,4vw,3.35rem); letter-spacing:-.035em; }
h3 { font-size:1.3rem; }
p { margin:0 0 18px; }
.lead { font-size:clamp(1.08rem,2vw,1.3rem); color:var(--valor-muted); max-width:720px; }
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy p { color:#fff; }

.valor-topbar { background:var(--valor-navy-dark); color:#dbe8f7; font-size:.9rem; padding:8px 0; }
.valor-topbar .container { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.valor-header { position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom:1px solid #e6ebf1; }
.valor-nav { display:flex; align-items:center; justify-content:space-between; min-height:88px; gap:24px; }
.valor-brand { display:flex; align-items:center; gap:12px; min-width:230px; }
.valor-brand img { width:72px; max-height:66px; object-fit:contain; }
.valor-brand-text strong { display:block; color:var(--valor-navy-dark); font-size:1.05rem; line-height:1.15; }
.valor-brand-text span { color:var(--valor-muted); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.valor-menu { display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; font-weight:700; font-size:.95rem; }
.valor-menu a { color:var(--valor-ink); }
.menu-toggle { display:none; border:1px solid #d8dee8; border-radius:12px; background:#fff; padding:10px 12px; font-weight:800; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 22px; border-radius:999px; font-weight:800; border:1px solid transparent; transition:.2s ease; cursor:pointer; }
.btn-primary { color:#fff; background:var(--valor-navy); box-shadow:0 10px 28px rgba(8,47,99,.22); }
.btn-primary:hover { color:#fff; transform:translateY(-1px); background:var(--valor-navy-dark); }
.btn-light { color:var(--valor-navy-dark); background:#fff; }
.btn-outline { border-color:#cfd7e3; background:#fff; color:var(--valor-navy-dark); }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }

.hero { overflow:hidden; position:relative; background:radial-gradient(circle at 80% 20%,#dce6f1 0,transparent 34%),linear-gradient(135deg,#f8fafc 0%,#eef3f8 55%,#fff 100%); }
.hero-grid { min-height:690px; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:55px; }
.hero-copy p { max-width:720px; }
.hero-visual { position:relative; display:flex; justify-content:center; }
.hero-logo-card { position:relative; width:min(500px,100%); border-radius:36px; background:#fff; padding:40px; box-shadow:var(--valor-shadow); border:1px solid #e5ebf2; }
.hero-logo-card img { width:100%; display:block; }
.hero-badge { position:absolute; right:-12px; bottom:30px; max-width:220px; border-radius:18px; padding:18px; background:var(--valor-navy); color:#fff; box-shadow:0 16px 40px rgba(4,31,67,.22); font-weight:700; }
.trust-row { display:flex; gap:18px; flex-wrap:wrap; margin-top:28px; }
.trust-item { display:flex; align-items:center; gap:8px; font-weight:700; color:#34445b; font-size:.92rem; }
.trust-dot { width:10px; height:10px; border-radius:50%; background:var(--valor-green); box-shadow:0 0 0 5px rgba(15,118,110,.1); }

.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.card { background:#fff; border:1px solid #e3e9f0; border-radius:var(--valor-radius); padding:28px; box-shadow:0 12px 32px rgba(18,43,74,.06); }
.card h3 { margin-bottom:10px; }
.iconbox { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#eaf1f8; color:var(--valor-navy); font-size:1.25rem; font-weight:900; margin-bottom:18px; }
.stat { padding:22px; border-left:4px solid var(--valor-navy); background:#f7f9fc; border-radius:0 16px 16px 0; }

.requirements { border-radius:28px; padding:38px; border:1px solid #dfe6ef; background:#fff; box-shadow:var(--valor-shadow); }
.requirements ul,.checklist { margin:18px 0 0; padding:0; list-style:none; }
.requirements li,.checklist li { position:relative; padding:9px 0 9px 30px; }
.requirements li::before,.checklist li::before { content:'✓'; position:absolute; left:0; top:8px; color:var(--valor-green); font-weight:900; }
.notice { padding:18px 20px; border-radius:15px; background:#fff7e6; border:1px solid #f0d9a7; color:#60451b; font-size:.95rem; }
.source-note { font-size:.82rem; color:#78879a; margin-top:18px; }

.steps { counter-reset:steps; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.step { counter-increment:steps; background:#fff; border:1px solid #e1e7ef; border-radius:18px; padding:24px; }
.step::before { content:counter(steps); width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--valor-navy); color:#fff; font-weight:900; margin-bottom:16px; }

.owner-photo { border-radius:28px; box-shadow:var(--valor-shadow); overflow:hidden; aspect-ratio:1/1; background:#eef2f7; }
.owner-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.owner-meta { display:flex; align-items:center; gap:14px; margin:22px 0; }
.owner-meta .line { width:52px; height:3px; background:var(--valor-silver); }

.cta-panel { border-radius:32px; padding:48px; background:linear-gradient(135deg,var(--valor-navy-dark),var(--valor-navy)); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.cta-panel h2,.cta-panel p { color:#fff; }
.cta-panel p { max-width:700px; color:#e2eaf4; }

.page-hero { padding:92px 0 64px; background:linear-gradient(135deg,#f4f7fb,#eaf0f6); border-bottom:1px solid #e1e8f0; }
.page-hero h1 { font-size:clamp(2.5rem,5vw,4.5rem); }
.content-wrap { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:46px; align-items:start; }
.sidebar-card { position:sticky; top:118px; }
.prose h2 { margin-top:42px; }
.prose h3 { margin-top:28px; }
.prose ul { padding-left:22px; }
.prose a { text-decoration:underline; text-underline-offset:3px; }

.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { display:flex; flex-direction:column; gap:7px; }
.form-field.full { grid-column:1/-1; }
.form-field label { font-weight:800; font-size:.92rem; color:#27364b; }
.form-field input,.form-field select,.form-field textarea { width:100%; border:1px solid #ccd5e1; border-radius:12px; padding:13px 14px; font:inherit; background:#fff; color:#172033; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:3px solid rgba(22,79,143,.12); border-color:var(--valor-blue); }
.form-field textarea { min-height:125px; resize:vertical; }
.valor-alert { padding:14px 16px; border-radius:12px; margin-bottom:20px; }
.valor-alert.success { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }
.valor-alert.error { background:#fff1f2; border:1px solid #fecdd3; color:#9f1239; }
.honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.valor-footer { background:#061b36; color:#bac8da; margin-top:0; }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; padding:64px 0 40px; }
.valor-footer h3,.valor-footer h4 { color:#fff; }
.valor-footer a { color:#d7e3f1; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:20px 0; font-size:.86rem; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }

@media (max-width: 960px) {
  .hero-grid,.grid-2,.content-wrap { grid-template-columns:1fr; }
  .hero-grid { padding:70px 0; min-height:auto; }
  .hero-visual { order:-1; max-width:520px; }
  .grid-3 { grid-template-columns:1fr 1fr; }
  .grid-4,.steps { grid-template-columns:1fr 1fr; }
  .valor-menu { display:none; position:absolute; left:20px; right:20px; top:82px; flex-direction:column; align-items:stretch; gap:0; background:#fff; border:1px solid #dfe6ef; border-radius:16px; padding:10px; box-shadow:var(--valor-shadow); }
  .valor-menu.open { display:flex; }
  .valor-menu li a { display:block; padding:12px 14px; }
  .menu-toggle { display:block; }
  .nav-enroll { display:none; }
  .sidebar-card { position:static; }
}
@media (max-width: 640px) {
  .container { width:min(100% - 28px,1180px); }
  .section { padding:62px 0; }
  .grid-3,.grid-4,.steps,.form-grid,.footer-grid { grid-template-columns:1fr; }
  .hero-logo-card { padding:24px; }
  .hero-badge { position:static; max-width:none; margin-top:18px; }
  .cta-panel { padding:30px 24px; flex-direction:column; align-items:flex-start; }
  .valor-topbar .container { justify-content:center; text-align:center; }
  .valor-brand-text { display:none; }
  .valor-brand { min-width:auto; }
}
