/*
Theme Name: Nurture Better Futures
Theme URI: https://nbfutures.com.au
Author: Nurture Better Futures
Description: A warm, accessible WordPress starter theme for the Nurture Better Futures Rural Brain Health Roadshow.
Version: 1.2.0
Text Domain: nurture-better-futures
*/

:root {
  --nbf-purple: #69428d;
  --nbf-deep: #422653;
  --nbf-plum: #6d2e55;
  --nbf-cream: #fbf6ea;
  --nbf-white: #ffffff;
  --nbf-text: #2f2931;
  --nbf-muted: #6f6670;
  --nbf-green: #5f7664;
  --nbf-border: #e4d9e7;
  --nbf-shadow: 0 12px 34px rgba(66, 38, 83, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--nbf-text);
  background: var(--nbf-cream);
  font-family: Tahoma, Verdana, sans-serif;
  line-height: 1.65;
}
a { color: var(--nbf-purple); }
img { max-width: 100%; height: auto; }
h1,h2,h3,h4 {
  color: var(--nbf-deep);
  font-family: "Rancho", "Trebuchet MS", cursive;
  font-weight: 700;
  line-height: 1.12;
  margin-top: 0;
}
h1 { font-size: clamp(2.8rem, 6vw, 5.3rem); }
h2 { font-size: clamp(2.1rem, 4vw, 3.4rem); }
h3 { font-size: clamp(1.45rem, 2.6vw, 2rem); }
p { margin-top: 0; }
.container { width: min(1120px, calc(100% - 36px)); margin-inline: auto; }
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(251,246,234,.96);
  border-bottom: 1px solid var(--nbf-border);
  backdrop-filter: blur(10px);
}
.header-inner {
  min-height: 82px; display: flex; align-items: center;
  justify-content: space-between; gap: 24px;
}
.brand { text-decoration: none; display: flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 48px; height: 48px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--nbf-purple); color: white;
  font-family: "Rancho", cursive; font-size: 1.25rem;
}
.brand-copy strong { display:block; color:var(--nbf-deep); font-size:1.05rem; }
.brand-copy small { color:var(--nbf-muted); font-size:.72rem; }
.menu { display:flex; list-style:none; gap:18px; padding:0; margin:0; align-items:center; flex-wrap:wrap; }
.menu a { text-decoration:none; color:var(--nbf-text); font-weight:700; font-size:.88rem; }
.menu a:hover { color:var(--nbf-purple); }
.mobile-toggle { display:none; }
.hero {
  padding: 96px 0 78px;
  background:
    radial-gradient(circle at 85% 18%, rgba(105,66,141,.18), transparent 28%),
    radial-gradient(circle at 15% 82%, rgba(95,118,100,.16), transparent 30%),
    linear-gradient(135deg, #fffaf0, #f6ecf8);
}
.hero-grid { display:grid; grid-template-columns: 1.25fr .75fr; gap:54px; align-items:center; }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:.78rem; font-weight:800; color:var(--nbf-plum); }
.hero p { font-size:1.15rem; max-width:760px; }
.actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:28px; }
.button {
  display:inline-block; padding:13px 20px; border-radius:999px;
  background:var(--nbf-purple); color:white; text-decoration:none; font-weight:800;
  border:2px solid var(--nbf-purple);
}
.button.secondary { background:transparent; color:var(--nbf-purple); }
.button:hover { transform:translateY(-1px); }
.hero-card {
  background:white; padding:28px; border-radius:24px; box-shadow:var(--nbf-shadow);
  border:1px solid var(--nbf-border);
}
.hero-card ul { padding-left:20px; margin-bottom:0; }
section { padding:76px 0; }
section.alt { background:white; }
.lead { font-size:1.16rem; max-width:820px; }
.grid-3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:34px; }
.grid-2 { display:grid; grid-template-columns:repeat(2, 1fr); gap:28px; margin-top:34px; }
.card {
  background:white; border:1px solid var(--nbf-border); border-radius:20px;
  padding:26px; box-shadow:0 8px 25px rgba(66,38,83,.06);
}
.alt .card { background:var(--nbf-cream); }
.card h3 { margin-bottom:10px; }
.notice {
  border-left:6px solid var(--nbf-purple); background:#f3eafa;
  padding:24px 26px; border-radius:8px 18px 18px 8px;
}
.ngw {
  background:linear-gradient(135deg, var(--nbf-deep), var(--nbf-purple));
  color:white; border-radius:28px; padding:38px;
}
.ngw h2,.ngw h3 { color:white; }
.ngw a { color:white; }
.tagline {
  padding:48px 0; text-align:center; background:var(--nbf-purple); color:white;
}
.tagline h2 { color:white; margin-bottom:8px; }
.site-footer { background:#26192c; color:#eee6f1; padding:54px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:30px; }
.site-footer h3 { color:white; }
.site-footer a { color:#eee6f1; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.15); margin-top:30px; padding-top:20px; font-size:.82rem; }
.page-hero { padding:68px 0 44px; background:linear-gradient(135deg,#fffaf0,#f3eafa); }
.content-wrap { padding:58px 0 80px; }
.entry-content { max-width:900px; }
.entry-content h2 { margin-top:46px; }
.entry-content h3 { margin-top:34px; }
.entry-content ul { padding-left:22px; }
.form-box {
  background:white; border:1px solid var(--nbf-border); border-radius:20px;
  padding:28px; box-shadow:var(--nbf-shadow);
}
.small { font-size:.86rem; color:var(--nbf-muted); }

@media (max-width: 900px) {
  .hero-grid,.grid-3,.grid-2,.footer-grid { grid-template-columns:1fr; }
  .hero { padding-top:68px; }
  .mobile-toggle { display:block; background:none; border:0; font-size:1.7rem; color:var(--nbf-deep); }
  .site-nav { display:none; position:absolute; left:0; right:0; top:82px; background:var(--nbf-cream); padding:20px; border-bottom:1px solid var(--nbf-border); }
  .site-nav.open { display:block; }
  .menu { flex-direction:column; align-items:flex-start; }
}


/* NBF branded brain bullet points */
.entry-content ul,
.hero-card ul,
.card ul {
  list-style: none;
  padding-left: 0;
}

.entry-content li,
.hero-card li,
.card li {
  position: relative;
  padding-left: 34px;
  margin: 0 0 12px;
}

.entry-content li::before,
.hero-card li::before,
.card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.28em;
  width: 22px;
  height: 18px;
  background-color: var(--nbf-purple);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 52'%3E%3Cpath d='M21 3c-7 0-12 5-12 12-5 2-8 7-8 13 0 7 5 13 12 14 2 5 7 8 13 8 4 0 7-1 10-4 3 3 7 4 11 4 8 0 15-6 15-14 0-4-2-8-5-11 1-2 2-5 2-8 0-8-6-14-14-14-4 0-8 2-10 5-3-3-8-5-14-5zm-3 10c4 0 7 3 7 7h-4c0-2-1-3-3-3s-3 1-3 3c0 1 1 2 3 3l3 1c4 2 6 5 6 9 0 5-4 9-9 9-4 0-8-3-9-7l4-1c1 2 2 4 5 4 2 0 5-2 5-5 0-2-2-4-4-5l-3-1c-4-1-6-4-6-8 0-4 4-7 8-7zm22 0c5 0 9 4 9 9 0 3-1 5-3 7 3 2 5 5 5 9 0 5-4 9-9 9-3 0-6-2-8-4v-6c2 4 4 6 8 6 3 0 5-2 5-5 0-3-2-5-5-5h-5v-4h4c2 0 4-2 4-5 0-3-2-5-5-5-3 0-5 2-6 5l-4-1c1-6 5-10 10-10z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 52'%3E%3Cpath d='M21 3c-7 0-12 5-12 12-5 2-8 7-8 13 0 7 5 13 12 14 2 5 7 8 13 8 4 0 7-1 10-4 3 3 7 4 11 4 8 0 15-6 15-14 0-4-2-8-5-11 1-2 2-5 2-8 0-8-6-14-14-14-4 0-8 2-10 5-3-3-8-5-14-5zm-3 10c4 0 7 3 7 7h-4c0-2-1-3-3-3s-3 1-3 3c0 1 1 2 3 3l3 1c4 2 6 5 6 9 0 5-4 9-9 9-4 0-8-3-9-7l4-1c1 2 2 4 5 4 2 0 5-2 5-5 0-2-2-4-4-5l-3-1c-4-1-6-4-6-8 0-4 4-7 8-7zm22 0c5 0 9 4 9 9 0 3-1 5-3 7 3 2 5 5 5 9 0 5-4 9-9 9-3 0-6-2-8-4v-6c2 4 4 6 8 6 3 0 5-2 5-5 0-3-2-5-5-5h-5v-4h4c2 0 4-2 4-5 0-3-2-5-5-5-3 0-5 2-6 5l-4-1c1-6 5-10 10-10z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Mascot feature position */
.mascot-panel {
  display: grid;
  grid-template-columns: 1fr minmax(180px, 280px);
  gap: 34px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--nbf-border);
  border-radius: 26px;
  padding: 34px;
  box-shadow: var(--nbf-shadow);
}
.mascot-slot {
  min-height: 240px;
  border-radius: 22px;
  background: linear-gradient(145deg, #f4eafb, #fff8ea);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
}
.mascot-slot img {
  max-height: 280px;
  width: auto;
}
.mascot-slot .mascot-placeholder {
  color: var(--nbf-purple);
  font-family: "Rancho", cursive;
  font-size: 1.65rem;
}
@media (max-width: 760px) {
  .mascot-panel { grid-template-columns: 1fr; }
}


/* Younger Onset Dementia information page */
.comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin: 28px 0;
}
.comparison-card,
.story-placeholder,
.helpline-box {
  background: #fff;
  border: 1px solid var(--nbf-border);
  border-radius: 22px;
  padding: 26px;
  box-shadow: var(--nbf-shadow);
}
.story-placeholder {
  margin: 38px 0;
  background: linear-gradient(145deg, #f4eafb, #fff8ea);
}
.resource-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 22px 0;
}
.resource-buttons p {
  margin: 0;
}
.button.secondary {
  background: #fff;
  color: var(--nbf-purple);
  border: 2px solid var(--nbf-purple);
}
.button.secondary:hover {
  background: #f4eafb;
}
.helpline-box {
  border-left: 7px solid var(--nbf-purple);
  margin: 28px 0;
}
.helpline-box p {
  margin-bottom: 6px;
}
.helpline-box strong {
  color: var(--nbf-purple);
  font-size: 1.45rem;
}
@media (max-width: 760px) {
  .comparison-grid {
    grid-template-columns: 1fr;
  }
  .resource-buttons {
    display: block;
  }
  .resource-buttons p {
    margin-bottom: 12px;
  }
}
