/*
Theme Name: New Life Professional Survey Theme
Theme URI: https://newlifedcare.com.au/
Author: Tony James
Description: Clean professional WordPress theme designed to work beautifully with the New Life Participant Survey plugin.
Version: 1.0.0
Text Domain: nl-professional-survey
*/

:root{
  --nl-bg:#f4f7fb;
  --nl-surface:#ffffff;
  --nl-text:#163047;
  --nl-muted:#5f7285;
  --nl-line:#d9e3ec;
  --nl-brand:#0d5c63;
  --nl-brand-dark:#0a4950;
  --nl-radius:20px;
  --nl-shadow:0 12px 28px rgba(12,42,67,.08);
  --nl-width:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:linear-gradient(180deg,#f8fbfd 0%,#f3f7fb 100%);
  color:var(--nl-text);
  line-height:1.6;
}

a{color:var(--nl-brand);text-decoration:none}
a:hover{color:var(--nl-brand-dark)}
img{max-width:100%;height:auto}

.site-shell{min-height:100vh;display:flex;flex-direction:column}
.site-header{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--nl-line);
  position:sticky;
  top:0;
  z-index:100;
}
.site-header-inner,
.site-main-inner,
.site-footer-inner{
  width:min(calc(100% - 32px), var(--nl-width));
  margin:0 auto;
}
.site-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 0;
}
.site-branding{
  display:flex;
  align-items:center;
  gap:14px;
}
.site-brand-mark{
  width:46px;
  height:46px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--nl-brand),#2a8f98);
  box-shadow:var(--nl-shadow);
}
.site-title{
  margin:0;
  font-size:20px;
  line-height:1.2;
}
.site-tagline{
  margin:2px 0 0;
  color:var(--nl-muted);
  font-size:13px;
}

.site-nav .menu,
.site-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.site-nav a{
  color:var(--nl-text);
  font-weight:700;
  font-size:14px;
}
.site-main{flex:1;padding:30px 0 50px}
.page-card{
  background:var(--nl-surface);
  border:1px solid var(--nl-line);
  border-radius:28px;
  box-shadow:var(--nl-shadow);
  padding:32px;
}
.entry-title{
  margin:0 0 10px;
  font-size:34px;
  line-height:1.15;
}
.entry-content{color:var(--nl-text)}
.entry-content > *:first-child{margin-top:0}
.entry-content > *:last-child{margin-bottom:0}

.hero-panel{
  background:linear-gradient(135deg,#0d5c63 0%,#1f7e87 100%);
  color:#fff;
  border-radius:28px;
  padding:34px;
  margin-bottom:28px;
  box-shadow:var(--nl-shadow);
}
.hero-panel h1,
.hero-panel h2,
.hero-panel p{color:#fff;margin-top:0}
.hero-grid{
  display:grid;
  grid-template-columns:1.5fr .85fr;
  gap:22px;
  align-items:center;
}
.hero-badge{
  display:inline-block;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  padding:8px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  margin-bottom:14px;
}
.hero-microcard{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  padding:20px;
}
.hero-microcard strong{display:block;margin-bottom:6px}

.site-footer{
  border-top:1px solid var(--nl-line);
  background:#fff;
  margin-top:20px;
}
.site-footer-inner{
  padding:20px 0;
  text-align:center;
  color:var(--nl-muted);
  font-size:14px;
}

.alignwide{width:min(100%, calc(var(--nl-width) - 60px));margin-left:auto;margin-right:auto}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}

.wp-block-group,
.wp-block-cover,
.wp-block-columns,
.wp-block-image{
  border-radius:18px;
}

button,
input[type="submit"],
.wp-element-button{
  border-radius:14px;
}

@media (max-width: 860px){
  .hero-grid{grid-template-columns:1fr}
  .entry-title{font-size:28px}
  .page-card{padding:22px}
  .site-header-inner{padding:14px 0}
}

@media (max-width: 640px){
  .site-title{font-size:17px}
  .site-tagline{font-size:12px}
  .site-nav{display:none}
  .site-main{padding:18px 0 34px}
  .page-card{padding:18px}
  .hero-panel{padding:24px}
}
.site-brand-logo img{max-height:64px;width:auto;display:block}
.custom-logo-link{display:block;line-height:0}
