/* Shared Grow in Grace Kids components.
   Page-specific approved layouts remain in assets/css/pages/. */

:root {
  --navy:#102b52;
  --purple:#8c78a0;
  --purple-deep:#705b86;
  --lavender:#f2e8f5;
  --sage:#adbea4;
  --sage-light:#f4f7f1;
  --charcoal:#344548;
  --cream:#fffdf9;
  --white:#ffffff;
  --line:#e5dfea;
}

img { max-width:100%; }

.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,253,249,.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(140,120,160,.18);
}

.site-header .nav {
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.site-header .brand {
  width:270px;
  flex:none;
}

.site-header .brand img,
.site-footer .footer-brand img {
  display:block;
  width:100%;
  height:auto;
}

.site-header .nav-links {
  display:flex;
  align-items:center;
  gap:24px;
}

.site-header .nav-links a.active {
  color:var(--purple-deep);
}

.mobile-toggle {
  display:none;
  border:0;
  background:transparent;
  color:var(--navy);
  font-size:1.65rem;
  cursor:pointer;
}

.site-footer {
  background:linear-gradient(135deg,var(--lavender),var(--sage-light)) !important;
  color:var(--charcoal) !important;
  border-top:1px solid var(--line);
  padding:60px 0 28px;
}

.site-footer h4 {
  color:var(--navy) !important;
}

.site-footer .footer-links,
.site-footer .footer-links a {
  color:var(--navy) !important;
}

.site-footer .footer-brand {
  max-width:320px;
}

.site-footer .footer-brand img {
  width:245px;
}

.site-footer .footer-brand p {
  color:#5e6b6d !important;
}

.site-footer .copyright {
  color:#6c7779 !important;
  border-top:1px solid rgba(16,43,82,.14) !important;
}

.site-footer a:hover {
  color:var(--purple-deep) !important;
}

@media (max-width: 900px) {
  .site-header .nav-links {
    position:absolute;
    left:0;
    right:0;
    top:100%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--cream);
    padding:14px 22px 22px;
    border-bottom:1px solid var(--line);
    box-shadow:0 16px 30px rgba(16,43,82,.10);
  }

  .site-header .nav-links.is-open {
    display:flex !important;
  }

  .site-header .nav-links a {
    padding:12px 5px;
  }

  .site-header .nav-links .btn {
    margin-top:8px;
  }

  .mobile-toggle {
    display:block !important;
  }
}

@media (max-width: 650px) {
  .site-header .brand { width:215px; }
  .site-header .nav { min-height:72px; }
}


/* Shared footer layout */
.site-footer .footer-grid {
  display:grid;
  grid-template-columns:1.4fr repeat(3,minmax(0,1fr));
  gap:48px;
}
.site-footer .footer-links {
  display:grid;
  gap:10px;
  font-size:.88rem;
}
.site-footer .copyright {
  margin-top:43px;
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:.78rem;
}
@media (max-width: 900px) {
  .site-footer .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 650px) {
  .site-footer .footer-grid { grid-template-columns:1fr; gap:28px; }
  .site-footer .copyright { display:block; }
  .site-footer .copyright span { display:block; margin-top:5px; }
}

/* Curriculum dropdown and shared review updates */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-menu-button{appearance:none;border:0;background:transparent;color:var(--navy);font:inherit;font-weight:inherit;padding:10px 0;cursor:pointer;white-space:nowrap}
.nav-menu-button span{color:var(--purple-deep);margin-left:4px}
.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:215px;background:var(--cream);border:1px solid var(--line);border-radius:15px;padding:9px;box-shadow:0 18px 40px rgba(16,43,82,.14);display:none;z-index:80}
.nav-dropdown-menu a{display:block;padding:10px 12px;border-radius:9px;white-space:nowrap;color:var(--navy)}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus{background:var(--lavender)}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{display:block}
.nav-dropdown.active .nav-menu-button{color:var(--purple-deep)}
@media(max-width:900px){
  .nav-dropdown{display:block;width:100%}
  .nav-menu-button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:12px 5px;text-align:left}
  .nav-dropdown-menu{position:static;transform:none;min-width:0;width:100%;box-shadow:none;border:0;border-left:3px solid var(--lavender);border-radius:0;background:transparent;padding:0 0 4px 12px;display:none}
  .nav-dropdown:hover .nav-dropdown-menu{display:none}
  .nav-dropdown.is-open .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
  .nav-dropdown-menu a{padding:9px 8px}
}


/* Launch polish checkpoint — 2026-07 */
:root{
  --sage-deep:#5f7658;
  --yellow-soft:#fff8e4;
  --shadow:0 18px 48px rgba(16,43,82,.10);
  --shadow-soft:0 10px 30px rgba(16,43,82,.07);
}

html{scroll-padding-top:104px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p{max-width:72ch}
.section-head p,.team-intro p,.final p{margin-left:auto;margin-right:auto}

a,button,input,select,textarea{outline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(112,91,134,.45);
  outline-offset:3px;
}

.btn{
  min-height:48px;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,43,82,.13)}
.btn:active{transform:translateY(0)}

.eyebrow{line-height:1.4}
.section-head h2,.hero-copy h1{max-width:18ch}
.form-card input,.form-card select,.form-card textarea{
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{
  border-color:var(--purple-deep)!important;
  box-shadow:0 0 0 4px rgba(140,120,160,.13);
  background:#fff;
}

.aud-card,.challenge,.inside-item,.month,.training-option,.training-card,.unit-card,.contact-option,.team-card{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.aud-card:hover,.challenge:hover,.contact-option:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-soft);
}
.month-link:hover,.month-link:focus-visible,.unit-card.available-card:hover,.unit-card.available-card:focus-visible{
  transform:translateY(-5px);
  box-shadow:var(--shadow);
}

.site-header .nav-links>a:not(.btn),.nav-menu-button{
  position:relative;
}
.site-header .nav-links>a:not(.btn)::after,.nav-menu-button::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:2px;
  height:2px;
  background:var(--purple);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.site-header .nav-links>a:not(.btn):hover::after,
.site-header .nav-links>a.active::after,
.nav-dropdown.active .nav-menu-button::after,
.nav-menu-button:hover::after{transform:scaleX(1)}

.site-footer .footer-links a{width:max-content;max-width:100%}
.site-footer .footer-links a:hover{transform:translateX(2px)}
.site-footer .footer-links a{transition:transform .16s ease,color .16s ease}

@media(max-width:900px){
  html{scroll-padding-top:82px}
  .site-header .nav-links>a:not(.btn)::after,.nav-menu-button::after{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* Monday launch-readiness sprint */
.skip-link{position:fixed;left:18px;top:12px;z-index:1000;background:var(--navy);color:#fff;padding:11px 16px;border-radius:8px;transform:translateY(-160%);transition:transform .15s ease;font-weight:800}
.skip-link:focus{transform:translateY(0)}
.sr-only,.bot-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.footer-heading{font-family:inherit!important;font-size:1rem!important;line-height:1.3!important;margin:0 0 12px!important;text-transform:none!important}
.copyright a{text-decoration:underline;text-underline-offset:3px}
.form-note a,.signup-privacy a,.check a,.note a,.legal-copy a,.invoice-help a{text-decoration:underline;text-underline-offset:3px;color:var(--purple-deep)}
.signup-privacy{grid-column:1/-1;font-size:.78rem;margin:0;color:#5e6b6d}
select,textarea,input{font:inherit}
.nav-dropdown-menu a:focus-visible{outline-offset:-2px}
@media print{.site-header,.site-footer,.verse,.skip-link,.actions,.legal-nav{display:none!important}body{background:#fff!important}.legal-content{padding:0!important}.legal-grid{display:block!important}.legal-copy{max-width:none!important}}


/* Feedback 3: alignment, navigation, availability, and shared CTA fixes */
.section-head h2{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.calendar .month-link .month-head{
  background:var(--sage);
  color:var(--navy);
}
.site-header .nav-links .btn.primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 20px;
  border-radius:999px;
  background:var(--navy);
  color:#fff !important;
  font-weight:800;
  line-height:1.2;
}
.nav-dropdown{gap:4px}
.nav-menu-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  padding:10px 0;
  color:var(--navy);
  white-space:nowrap;
}
.nav-menu-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  background:var(--purple);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.nav-menu-link:hover::after,
.nav-dropdown.active .nav-menu-link::after{transform:scaleX(1)}
.nav-dropdown.active .nav-menu-link{color:var(--purple-deep)}
.nav-menu-button{
  display:inline-grid;
  place-items:center;
  width:28px;
  min-height:42px;
  padding:8px 2px;
}
.nav-menu-button::after{display:none !important}
@media(max-width:900px){
  .nav-dropdown{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
  }
  .nav-menu-link{
    width:100%;
    padding:12px 5px;
  }
  .nav-menu-link::after{display:none}
  .nav-menu-button{
    width:44px;
    padding:12px 8px;
  }
  .nav-dropdown-menu{grid-column:1 / -1}
}

/* Post-launch usability update — curriculum hover bridge */
@media (min-width:901px){
  .nav-dropdown-menu{
    top:calc(100% - 1px);
    padding:18px 9px 9px;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .nav-dropdown-menu::before{
    content:"";
    position:absolute;
    top:9px;
    right:0;
    bottom:0;
    left:0;
    z-index:0;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--cream);
    box-shadow:0 18px 40px rgba(16,43,82,.14);
    pointer-events:none;
  }
  .nav-dropdown-menu a{
    position:relative;
    z-index:1;
  }
}

/* Shared Scripture banner — keep formatting consistent on every page */
.verse{
  padding:17px 0;
  background:linear-gradient(90deg,var(--sage-light),#faf6fc,var(--sage-light));
  border-bottom:1px solid #e7e4df;
  text-align:center;
  color:var(--navy);
}
.verse blockquote{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.09rem;
  font-style:italic;
}
.verse cite{
  font-family:"Open Sans",Arial,sans-serif;
  font-style:normal;
  font-weight:800;
  color:var(--purple-deep);
  margin-left:7px;
  font-size:.86rem;
}
@media(max-width:650px){
  .verse blockquote{font-size:.93rem}
}
