/* Hume Child Development - Static Site */
:root {
  --header-bg: #5F839B;
  --nav-border: #1C2A69;
  --text-dark: #3C3C3C;
  --text-body: #454545;
  --content-bg: #FFFFFF;
  --sidebar-bg: #D7D7D7;
  --button-bg: #30408B;
  --link-accent: #61CE70;
  --max-width: 1140px;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: Helvetica, Arial, sans-serif; color: var(--text-body); line-height: 1.5; }

.skip-link { position: absolute; left: -9999px; z-index: 999; }
.skip-link:focus { left: 50%; transform: translateX(-50%); padding: 0.5rem 1rem; background: #fff; }

/* Header */
.site-header { background: var(--header-bg); }
.header-inner { max-width: var(--max-width); margin: 0 auto; padding: 50px 20px 0; }
.header-row { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; }
.header-brand { flex: 0 0 50%; background: var(--content-bg); border-bottom: 5px solid var(--nav-border); margin-bottom: 7px; border-radius: 16px 0 0 0; padding: 24px 0 0 16px; }
.header-brand h1 { margin: 0; font-size: 1.5rem; }
.header-brand a { color: var(--text-dark); text-decoration: none; }
.header-nav-wrap { flex: 0 0 50%; background: var(--content-bg); border-bottom: 5px solid var(--nav-border); margin-bottom: 7px; border-radius: 0 15px 0 0; padding: 12px 16px 0 0; text-align: right; }
.site-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 1.5rem; }
.site-nav a { color: var(--text-body); text-decoration: none; font-weight: 600; }
.site-nav a:hover { color: var(--link-accent); }
.header-logo { margin-top: 8px; }
.header-logo img { max-width: 400px; height: auto; display: block; }

/* Main */
.main-wrap { background: var(--header-bg); padding: 0 0 50px; }
.main-inner { max-width: var(--max-width); margin: 0 auto; padding: 0 20px; }
.main-row { display: flex; flex-wrap: wrap; }
.sidebar { flex: 0 0 27%; background: var(--sidebar-bg); padding: 56px 0 0 17px; border-radius: 0 0 0 15px; }
.sidebar h2 { font-size: 1.4rem; color: #484848; margin: 0 0 1rem; }
.sidebar .site-nav { flex-direction: column; justify-content: flex-start; text-align: left; }
.sidebar .site-nav a:hover { color: #000; }
.map-btn { display: inline-block; margin-top: 1rem; padding: 0.6em 1.3em; background: var(--button-bg); color: #fff !important; text-decoration: none; border-radius: 3px; font-size: 0.95rem; }
.map-btn:hover { opacity: 0.9; }
.content-area { flex: 0 0 73%; background: var(--content-bg); padding: 52px 17px 25px; border-radius: 0 0 15px 0; }
.page-title { font-size: 2.2rem; color: #1E285A; margin: 0 0 1rem; }
.page-content { padding: 0 8px; }
.page-content p { margin: 0 0 1rem; }
.page-content .wp-block-image { float: right; margin: 0 0 1rem 1.5rem; }
.page-content .wp-block-image img { max-width: 350px; height: auto; }
.page-content a { color: var(--button-bg); text-decoration: underline; }
.page-content a:hover { color: var(--link-accent); }
.page-content strong { color: inherit; }

/* Footer */
.site-footer { background: var(--header-bg); padding: 11px 0 50px; }
.footer-inner { max-width: var(--max-width); margin: 0 auto; padding: 0 20px; }
.footer-row { display: flex; flex-wrap: wrap; }
.footer-left { flex: 0 0 50%; background: var(--content-bg); padding: 17px 17px 17px 39px; border-radius: 0 0 0 15px; }
.footer-address { list-style: none; margin: 0; padding: 0; font-size: 1.05rem; color: var(--text-body); }
.footer-address li { margin-bottom: 0.2rem; }
.footer-address a { color: var(--text-body); text-decoration: none; }
.footer-address a:hover { color: var(--link-accent); }
.footer-logos { margin-top: 1rem; }
.footer-logos img { margin-right: 1rem; vertical-align: middle; }
.footer-right { flex: 0 0 50%; background: var(--content-bg); padding: 17px; border-radius: 0 0 15px 0; text-align: center; }
.footer-right h2 { font-size: 1.4rem; color: #3F3F3F; margin: 0 0 1rem; }
.footer-right img { max-width: 300px; height: auto; }

/* Map modal (simple inline on page or link) */
.map-link { color: inherit; }
.map-embed { margin: 1rem 0; max-width: 100%; }
.map-embed iframe { width: 100%; max-width: 600px; height: 450px; border: 0; }

/* Mobile */
@media (max-width: 767px) {
  .header-brand, .header-nav-wrap { flex: 0 0 100%; border-radius: 0; padding: 12px 8px; text-align: center; }
  .header-brand { padding-left: 0; }
  .header-nav-wrap { padding: 12px 8px 0; }
  .site-nav { justify-content: center; }
  .header-logo { text-align: center; }
  .header-logo img { margin: 0 auto; }
  .sidebar { flex: 0 0 100%; border-radius: 0; padding: 12px 15px; }
  .sidebar .site-nav { display: none; }
  .content-area { flex: 0 0 100%; border-radius: 0; padding: 15px; }
  .page-content .wp-block-image { float: none; margin: 0 auto 1rem; display: block; text-align: center; }
  .page-content .wp-block-image img { max-width: 100%; }
  .footer-left, .footer-right { flex: 0 0 100%; border-radius: 0; padding: 15px; text-align: start; }
  .footer-right { text-align: center; }
}
