/*
Theme Name: Programs Portal Theme
Theme URI: https://archns.com/themes/programs-portal
Author: Arch Network Services, Inc.
Author URI: https://archns.com
Description: Thin, brandable companion theme for the Programs plugin (Arch Network Services). Provides the nav, footer, and page wrapper; the plugin builds the landing and the public family/check-in/documents pages. Branding (name, colors, contact) is driven by the plugin's Branding settings, so one theme serves every center deployment. Matches the NC Pre-K Portal family look.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: programs-portal
Tags: education, custom-logo, custom-menu, full-width-template
*/
/* APP_FILE_VER: 1.0.0 */

:root{
  --prog-brand:#1b6ca8;      /* overridden inline from plugin Branding */
  --prog-brand2:#2a9d8f;
  --prog-accent:#f0883e;
  --prog-dark:#173042;
  --prog-ink:#21323d;
  --prog-muted:#54616a;
  --prog-bg:#f6f9fb;
  --prog-line:#e2e8ec;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:"Open Sans",system-ui,-apple-system,sans-serif;background:var(--prog-bg);color:var(--prog-ink);line-height:1.6}
h1,h2,h3,.prog-display{font-family:"Nunito",sans-serif}
img{max-width:100%;height:auto}
a{color:var(--prog-brand)}
a:focus-visible,button:focus-visible{outline:3px solid var(--prog-brand);outline-offset:2px}

/* skip link */
.prog-skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--prog-brand);padding:10px 16px;z-index:999}
.prog-skip:focus{left:0}

/* nav */
.prog-nav{background:#fff;border-bottom:1px solid var(--prog-line);position:sticky;top:0;z-index:100}
.prog-nav-inner{max-width:1140px;margin:0 auto;padding:0 20px;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.prog-brand-link{display:flex;align-items:center;gap:11px;text-decoration:none}
.prog-brand-link .mark{width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,var(--prog-brand),var(--prog-brand2));display:grid;place-items:center;color:#fff;font-family:"Nunito";font-weight:900;font-size:16px;flex:0 0 auto}
.prog-brand-link img{max-height:56px;width:auto}
.prog-brand-txt b{display:block;font-family:"Nunito";font-weight:900;color:var(--prog-brand);font-size:16px;line-height:1.05}
.prog-brand-txt span{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--prog-muted)}
.prog-menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.prog-menu a{display:block;color:var(--prog-ink);font-family:"Nunito";font-weight:700;font-size:14px;padding:8px 11px;border-radius:8px;text-decoration:none}
.prog-menu a:hover{background:#eef4f8;color:var(--prog-brand)}
.prog-menu .current-menu-item>a{background:#eef4f8;color:var(--prog-brand)}
.prog-actions{display:flex;align-items:center;gap:10px}
.prog-login{font-family:"Nunito";font-weight:700;font-size:13px;color:var(--prog-muted);text-decoration:none}
.prog-login:hover{color:var(--prog-brand)}
.prog-cta{background:var(--prog-accent);color:#fff;font-family:"Nunito";font-weight:800;padding:10px 20px;border-radius:30px;font-size:14px;text-decoration:none;box-shadow:0 4px 14px rgba(240,136,62,.35)}
.prog-cta:hover{filter:brightness(.95);color:#fff}
.prog-toggle{display:none;background:none;border:0;font-size:26px;color:var(--prog-brand);cursor:pointer}

/* page wrap */
.prog-page{max-width:1140px;margin:0 auto;padding:40px 20px;min-height:50vh}
.prog-page.full{max-width:none;padding:0}            /* front page / landing renders edge-to-edge */
.prog-page .entry > h1:first-child{color:var(--prog-brand)}

/* footer */
.prog-footer{background:var(--prog-dark);color:#cdd9e1;padding:40px 0 22px;margin-top:40px}
.prog-footer-inner{max-width:1140px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1.4fr 1fr;gap:28px}
.prog-footer h4{font-family:"Nunito";color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}
.prog-footer a{color:#cdd9e1}.prog-footer a:hover{color:#fff}
.prog-footer ul{list-style:none;margin:0;padding:0;font-size:14px}
.prog-footer li{margin-bottom:7px}
.prog-copy{max-width:1140px;margin:26px auto 0;padding:16px 20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#9fb0bc;text-align:center}

/* login page fallback (plugin also brands this) */
body.login{background:var(--prog-dark)!important}
body.login input[type=submit]{background:var(--prog-accent)!important;border-color:var(--prog-accent)!important}
body.login #backtoblog,body.login #nav{display:none}

@media(max-width:880px){
  .prog-footer-inner{grid-template-columns:1fr}
  .prog-toggle{display:block}
  .prog-menu{display:none;width:100%;flex-direction:column;align-items:stretch;padding:8px 0}
  .prog-menu.open{display:flex}
  .prog-menu a{padding:11px 8px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
