/*
Theme Name: NuViva 2.0
Theme URI: https://nuviva.dk
Author: OpenAI
Description: Custom NuViva WordPress theme with a modern green/blue wellness design.
Version: 2.0
Text Domain: nuviva
*/

:root{
  --nv-navy:#0f2d3d;
  --nv-green:#2fa85b;
  --nv-green-dark:#1f7a45;
  --nv-blue:#1577d3;
  --nv-sky:#eaf5ff;
  --nv-mint:#eef8f1;
  --nv-cream:#fbfcf8;
  --nv-white:#ffffff;
  --nv-text:#173042;
  --nv-muted:#5f7280;
  --nv-border:#dfe9e4;
  --nv-shadow:0 18px 45px rgba(15,45,61,.10);
  --nv-radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--nv-text);background:#fff;line-height:1.55}
a{color:inherit}
img{max-width:100%;height:auto}
.nv-wrap{width:min(1160px,calc(100% - 40px));margin:0 auto}
.nv-section{padding:86px 0}
.nv-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--nv-green-dark);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.13em;margin-bottom:16px}
.nv-kicker:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--nv-green)}
.nv-title,.entry-title,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--nv-navy);line-height:1.08}
.nv-title{font-size:clamp(2rem,4vw,3.4rem);margin:0 0 14px}
.nv-lead{font-size:1.08rem;color:var(--nv-muted);max-width:720px}
.nv-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.nv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:800;transition:.2s ease;border:1px solid transparent}
.nv-btn-primary{background:linear-gradient(135deg,var(--nv-green),var(--nv-green-dark));color:#fff;box-shadow:0 10px 24px rgba(47,168,91,.25)}
.nv-btn-secondary{background:#fff;color:var(--nv-navy);border-color:#cbd9d3}
.nv-btn-blue{background:linear-gradient(135deg,var(--nv-blue),#0e61b0);color:#fff}
.nv-btn:hover{transform:translateY(-2px)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(223,233,228,.7)}
.nv-nav{width:min(1160px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.nv-logo{font-family:Georgia,serif;font-size:2rem;font-weight:700;color:var(--nv-navy);text-decoration:none}
.nv-logo span{color:var(--nv-green)}
.nv-navlinks{display:flex;gap:24px;align-items:center}
.nv-navlinks a{color:var(--nv-text);text-decoration:none;font-size:.94rem;font-weight:700}
.menu-toggle{display:none;border:0;background:#eef8f1;border-radius:12px;padding:10px 12px;font-weight:800}
.nv-hero{background:linear-gradient(110deg,#fff 0%,#fff 45%,#eaf7ef 100%)}
.nv-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:650px}
.nv-hero-copy{padding:86px 4vw 72px max(20px,calc((100vw - 1160px)/2));display:flex;flex-direction:column;justify-content:center}
.nv-hero-copy h1{font-size:clamp(2.9rem,5.3vw,5.4rem);margin:0 0 22px;max-width:760px}
.nv-hero-copy h1 em{font-style:normal;color:var(--nv-green-dark)}
.nv-hero-copy p{font-size:1.12rem;color:var(--nv-muted);max-width:630px}
.nv-hero-media{min-height:650px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0)),var(--nv-hero-image,linear-gradient(135deg,#dceee3,#d8eafb));background-position:center;background-size:cover;position:relative}
.nv-hero-card{position:absolute;right:8%;bottom:9%;background:rgba(255,255,255,.90);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:22px;box-shadow:var(--nv-shadow);width:min(330px,84%)}
.nv-hero-card strong{display:block;font-family:Georgia,serif;font-size:1.35rem;color:var(--nv-navy);margin-bottom:10px}
.nv-pillrow{display:flex;gap:8px;flex-wrap:wrap}
.nv-pill{background:var(--nv-mint);color:var(--nv-green-dark);padding:7px 11px;border-radius:999px;font-size:.82rem;font-weight:800}
.nv-trust{background:linear-gradient(90deg,#edf8f0,#eef6ff);border-top:1px solid var(--nv-border);border-bottom:1px solid var(--nv-border)}
.nv-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.nv-trust-item{padding:22px;border-right:1px solid #d6e5df;display:flex;gap:12px;align-items:center}
.nv-trust-item:last-child{border-right:none}
.nv-icon{width:45px;height:45px;border-radius:15px;background:#fff;display:grid;place-items:center;font-size:1.35rem;box-shadow:0 5px 16px rgba(15,45,61,.06)}
.nv-trust-item strong{display:block}.nv-trust-item span{font-size:.87rem;color:var(--nv-muted)}
.nv-center{text-align:center}.nv-center .nv-lead{margin-left:auto;margin-right:auto}
.nv-process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.nv-step{padding:28px 22px;border-radius:24px;background:#fff;border:1px solid var(--nv-border);position:relative}
.nv-step-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--nv-navy);color:#fff;font-weight:800;margin-bottom:18px}
.nv-step:nth-child(even) .nv-step-num{background:var(--nv-blue)}
.nv-step h3{font-size:1.35rem;margin:0 0 10px}.nv-step p{color:var(--nv-muted);font-size:.94rem;margin:0}
.nv-story{background:var(--nv-cream)}
.nv-split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.nv-photo{min-height:520px;border-radius:32px;background:var(--nv-story-image,linear-gradient(135deg,#dbece0,#edf6ff));background-position:center;background-size:cover;box-shadow:var(--nv-shadow)}
.nv-bullets{display:grid;gap:14px;margin-top:28px}
.nv-bullet{display:flex;gap:13px;align-items:flex-start}
.nv-check{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--nv-mint);color:var(--nv-green-dark);font-weight:900}
.nv-plans{background:linear-gradient(180deg,#fff,#f6fbff)}
.nv-cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px;align-items:stretch}
.nv-plan{background:#fff;border:1px solid var(--nv-border);border-radius:26px;padding:30px;box-shadow:0 12px 34px rgba(15,45,61,.07);display:flex;flex-direction:column}
.nv-plan.featured{background:linear-gradient(160deg,#0f4f46,#0b6577);color:#fff;transform:translateY(-10px)}
.nv-plan.featured h3,.nv-plan.featured .nv-price{color:#fff}
.nv-badge{align-self:flex-start;padding:6px 10px;border-radius:999px;background:var(--nv-sky);color:var(--nv-blue);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.featured .nv-badge{background:#69d786;color:#063b26}
.nv-plan h3{font-size:1.7rem;margin:18px 0 8px}
.nv-plan p{margin-top:0;color:var(--nv-muted)}
.featured p,.featured li{color:#edf8f6}
.nv-list{list-style:none;padding:0;margin:16px 0 24px;display:grid;gap:10px}
.nv-list li:before{content:"✓";margin-right:9px;color:var(--nv-green);font-weight:900}.featured .nv-list li:before{color:#8df0a6}
.nv-price{font-family:Georgia,serif;font-size:2rem;font-weight:700;color:var(--nv-navy);margin-top:auto;margin-bottom:18px}
.nv-dashboard-shell{margin-top:38px;background:linear-gradient(135deg,#eff9f2,#edf6ff);border-radius:32px;padding:34px;display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:center;border:1px solid var(--nv-border)}
.nv-screen{background:#fff;border-radius:22px;padding:18px;box-shadow:var(--nv-shadow);border:1px solid #dce7e2}
.nv-screen-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}.nv-score{padding:16px;border-radius:18px;background:var(--nv-sky);margin-bottom:14px}.nv-score strong{font-size:2rem;color:var(--nv-blue)}
.nv-bars{display:grid;gap:12px}.nv-bar{height:10px;border-radius:999px;background:#e5edf1;overflow:hidden}.nv-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--nv-green),var(--nv-blue))}
.nv-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.nv-mini{background:#f8fbfa;padding:12px;border-radius:14px;font-size:.82rem}.nv-mini strong{display:block;font-size:1.2rem;color:var(--nv-navy)}
.nv-testimonial{background:var(--nv-navy);color:#fff}.nv-testimonial h2{color:#fff}.nv-quote{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;max-width:880px;margin:0 auto}
.nv-avatar{width:115px;height:115px;border-radius:50%;background:linear-gradient(135deg,#b5d6c1,#9fc5df);background-position:center;background-size:cover}.nv-quote blockquote{font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.4rem);margin:0 0 12px}.nv-quote p{color:#cfe0e7;margin:0}
.nv-cta{background:linear-gradient(120deg,var(--nv-green-dark),var(--nv-blue));color:#fff}.nv-cta-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.nv-cta h2{color:#fff;font-size:clamp(2rem,4vw,3rem);margin:0 0 8px}.nv-cta p{margin:0;color:#e9f5fa}
.site-footer{background:#092430;color:#d8e5ea;padding:46px 0}.nv-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px}.site-footer h4{color:#fff;margin:0 0 10px}.site-footer a{color:#d8e5ea;text-decoration:none;display:block;margin:7px 0;font-size:.9rem}.site-footer p{font-size:.9rem;color:#bcd0d8}.nv-small{font-size:.78rem!important;color:#8fb0bd!important;margin-top:18px}
.content-area{width:min(900px,calc(100% - 40px));margin:70px auto}.entry-content{font-size:1.05rem}.entry-content p{margin-bottom:1.2em}
@media(max-width:900px){.nv-navlinks{display:none}.menu-toggle{display:block}.nv-nav.open .nv-navlinks{display:flex;position:absolute;top:70px;left:20px;right:20px;background:#fff;padding:20px;border-radius:18px;box-shadow:var(--nv-shadow);flex-direction:column;align-items:flex-start}.nv-hero-grid,.nv-split,.nv-dashboard-shell{grid-template-columns:1fr}.nv-hero-copy{padding:60px 20px}.nv-hero-media{min-height:460px}.nv-trust-grid{grid-template-columns:1fr 1fr}.nv-process{grid-template-columns:1fr 1fr}.nv-cardgrid{grid-template-columns:1fr}.nv-plan.featured{transform:none}.nv-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.nv-wrap{width:min(100% - 28px,1160px)}.nv-section{padding:62px 0}.nv-hero-copy h1{font-size:2.7rem}.nv-trust-grid,.nv-process,.nv-footer-grid{grid-template-columns:1fr}.nv-trust-item{border-right:none;border-bottom:1px solid #d6e5df}.nv-cta-grid{align-items:flex-start;flex-direction:column}.nv-quote{grid-template-columns:1fr}.nv-avatar{width:90px;height:90px}.nv-mini-grid{grid-template-columns:1fr}}
