:root{
  --primary:#0f766e;
  --primary-dark:#115e59;
  --bg:#f3f4f6;
  --card-bg:#ffffff;
  --text:#111827;
  --radius:14px;
  --shadow:0 6px 20px rgba(0,0,0,0.07);
  --border:#e3e3e3;
  --soft-text:#666;
  --soft-bg:#eef9f3;
}


html, body {
    margin: 0;
    padding: 0;
    background: var(--bg);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--text);
}

/* CONTAINERS */
.container {
    width: 95%;
    max-width: 980px;
    margin: 0 auto;
}

/* HEADER */
.site-header {
    background: var(--card-bg);
    border-bottom: 1px solid var(--border);
    padding: 12px 0;
}

.header-inner {
    display: flex;
    align-items: center;
}

.brand {
    display: flex;
    align-items: center;
    gap: 8px;
}
.brand-dot {
    width: 16px;
    height: 16px;
    background: var(--primary);
    border-radius: 50%;
}
.brand-name {
    font-weight: 700;
    font-size: 1.25rem;
}

/* PAGE */
.page-main {
    padding: 40px 0;
}

.hero-layout {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

/* CALC CARD */
.calc-card {
    background: var(--card-bg);
    padding: 28px;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.calc-card h1 {
    margin-top: 0;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
}

.calc-intro {
    text-align: center;
    color: var(--soft-text);
    margin: 0 0 20px;
}

/* UNIT SWITCH */
.unit-switch {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 15px;
}

.unit-btn {
    flex: 1;
    max-width: 150px;
    text-align: center;
    padding: 10px 0;
    border-radius: 999px;
    border: 1px solid var(--border);
    color: var(--text);
    background: #fff;
    cursor: pointer;
    padding:.75rem 1.4rem;
    font-size:.95rem;
    font-weight:600;
}

.unit-btn.active {
    background: var(--primary);
    border-color: var(--primary-dark);
    color: #fff;
}

/* SVG WRAPPER */
.svg-wrapper {
    width: 100%;
    max-width: 700px;
    margin: 0 auto 10px;
    margin-top: -20px;
}

.svg-wrapper svg {
    width: 100%;
    height: auto;
}


/* INPUT FIELDS */
.field-row {
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
}

.field-row label {
    font-size: 0.95rem;
    margin-bottom: 5px;
    color: var(--soft-text);
}

.field-row input {
    padding: 12px;
    border-radius: 8px;
    border: 1px solid var(--border);
    font-size: 1rem;
}

.field-row input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(5,150,105,0.22);
    outline: none;
}

/* RESULT BOX */
.result-box {
    background: var(--soft-bg);
    border-radius: var(--radius);
    padding: 12px 16px;
    margin-top: 15px;
}

.result-line {
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
}

.result-label {
    font-weight: 600;
}

/* SEO TEKST */
.text-column {
    background: var(--card-bg);
    padding: 28px;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.text-column h2 {
    margin-top: 0;
    font-size: 1.4rem;
}

/* FOOTER */
.site-footer {
    padding: 15px 0;
    border-top: 1px solid var(--border);
    background: var(--card-bg);
    margin-top: 40px;
}

.footer-inner {
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-align: center;
    font-size: 0.9rem;
    color: var(--soft-text);
}

.footer-link {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
}

.footer-link:hover {
    text-decoration: underline;
}

/* RESPONSIVE */
@media (max-width: 640px) {
    .calc-card, .text-column {
        padding: 20px;
    }
}
/* Zelfde input-stijl als BMI tool */
.field-row input {
    font-size: 1.15rem;   /* GROTERE TEKST */
    padding: 14px 16px;   /* iets hogere input zoals BMI */
    border-radius: 10px;
}

.field-row label {
    font-size: 1.5rem;      /* label ook iets groter */
}
/* HEADER SHARE BUTTON */
.header-share {
    position: relative;
    margin-left: auto;
}

.header-share-btn {
    background: #0f766e;
    color: #ffffff;
    border: none;
    padding: 6px 14px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    box-shadow: 0 3px 10px rgba(0,0,0,0.12);
    transition: background 0.15s, transform 0.1s;
}

.header-share-btn:hover {
    background: #115e59;
    transform: translateY(-1px);
}

.header-share-menu {
    display: none;
    position: absolute;
    right: 0;
    top: 120%;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.18);
    padding: 0.35rem 0;
    min-width: 180px;
    z-index: 9999;
}

.header-share-menu.open {
    display: block;
}

.header-share-item {
    width: 100%;
    border: none;
    background: transparent;
    text-align: left;
    padding: 0.45rem 0.9rem;
    font-size: 0.82rem;
    cursor: pointer;
    color: #111827;
    transition: background 0.15s;
}

.header-share-item:hover {
    background: #f3f4f6;
}

/* Copy confirmation */
.header-share-toast {
    position: absolute;
    right: 0;
    top: -28px;
    background: #111827;
    color: #ffffff;
    font-size: 0.75rem;
    padding: 3px 10px;
    border-radius: 20px;
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity 0.15s, transform 0.15s;
}

.header-share-toast.show {
    opacity: 1;
    transform: translateY(-10px);
}
/* FOOTER */
.site-footer{
  padding:15px 0;
  border-top:1px solid var(--border);
  background:var(--card-bg);
  margin-top:40px;
}

.footer-inner{
  display:flex;
  flex-direction:column;
  gap:6px;
  text-align:center;
  font-size:.9rem;
  color:var(--soft-text);
}

.footer-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:6px;
  font-size:.85rem;
}

.footer-links a{
  color:var(--primary);
  text-decoration:none;
  font-weight:700;
}

.footer-links a:hover{
  text-decoration:underline;
}

.footer-sep{
  color:#9ca3af;
}

.footer-copy{
  font-size:.85rem;
  color:var(--soft-text);
}
/* FAQ */
.faq{
  margin-top:1.6rem;
  margin-bottom:2rem;
}

.faq .container{
  max-width:980px;
}

.faq h2{
  max-width:720px;
  margin:0 auto 1rem auto;
  padding:0 6px;
}

.faq-item{
  max-width:720px;
  margin:0 auto .75rem auto;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:.9rem 1rem;
  box-shadow:0 10px 25px rgba(15,23,42,0.06);
}

.faq-item > summary{
  cursor:pointer;
  font-weight:800;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.faq-item > summary::-webkit-details-marker{display:none;}
.faq-item > summary::marker{content:"";}

.faq-item > summary::after{
  content:"›";
  font-size:22px;
  line-height:1;
  opacity:.75;
  transform:rotate(0deg);
  transition:transform .18s ease, opacity .18s ease;
}

.faq-item[open] > summary::after{
  transform:rotate(90deg);
  opacity:1;
}

.faq-item > p{
  margin:.75rem 0 0 0;
  line-height:1.6;
  color:#374151;
  font-weight:520;
}
/* COOKIE BANNER + MODAL (consent.js UI) */
.cookie-banner{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:99999;
  padding:14px;
  background:rgba(17,24,39,.92);
  color:#fff;
  backdrop-filter: blur(6px);
}

.cookie-banner-inner{
  max-width:980px;
  margin:0 auto;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

.cookie-banner-text{
  font-size:.9rem;
  line-height:1.35;
}

.cookie-banner-text a{
  color:#a7f3d0;
  text-decoration:underline;
}

.cookie-banner-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.cookie-btn{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
  font-size:.88rem;
}

.cookie-btn-primary{
  background:var(--primary);
  color:#fff;
}
.cookie-btn-primary:hover{background:var(--primary-dark);}

.cookie-btn-secondary{
  background:#374151;
  color:#fff;
}
.cookie-btn-secondary:hover{background:#4b5563;}

.cookie-btn-ghost{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
}
.cookie-btn-ghost:hover{background:rgba(255,255,255,.08);}

/* MODAL */
.cookie-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.cookie-modal-box{
  width:min(560px, 100%);
  background:#fff;
  color:#111827;
  border-radius:16px;
  padding:18px 18px 14px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}

.cookie-modal-title{
  font-weight:900;
  font-size:1.1rem;
  margin-bottom:8px;
}

.cookie-modal-desc{
  font-size:.92rem;
  line-height:1.4;
  color:#374151;
}

.cookie-modal-desc a{
  color:var(--primary);
  font-weight:900;
}

.cookie-modal-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:14px;
  flex-wrap:wrap;
}
@media(min-width:1024px){
  .text-column{
    background:#fff;
    padding:24px;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
  }
}
