/* NutriSavvy Cookie Consent — shared styles (both sites)
   Brand colors: pink #d879a1 (buttons, switch, preference boxes), orange #f27405 (titles), dark green #4e7425 (links; the site's #7faf42 is too light for small text).
   Text on the colored buttons is near-black so it stays readable (white on these light brand colors is too faint).
   Theme hover/focus styles are overridden with !important so buttons never turn black. */
.bns-cc{
  --bns-green:#4e7425; --bns-green-dark:#3d5a1a; --bns-green-50:#f7fbf1; --bns-green-line:#dbe8c8;
  --bns-magenta:#ad0049; --bns-orange:#f27405; --bns-pink:#d879a1; --bns-leaf:#7faf42;
  --bns-ink:#1f1f1f; --bns-muted:#555;
  --bns-pink-dark:#c45d8a; --bns-pink-light:#e7a3c1; --bns-pink-text:#a8476f; --bns-pink-line:#f3d3e1; --bns-pink-50:#fcf0f5; --bns-leaf-dark:#5f8a2b;
  font-family:inherit; font-size:16px; line-height:1.5; color:var(--bns-ink);
  -webkit-text-size-adjust:100%; color-scheme:light;
}
.bns-cc *, .bns-cc *::before, .bns-cc *::after{box-sizing:border-box}
.bns-cc[hidden], .bns-cc [hidden]{display:none !important}

/* Neutralize theme styles on our own elements */
.bns-cc h2, .bns-cc p{margin:0;padding:0;border:0;background:none;text-transform:none;letter-spacing:normal;font-family:inherit}
.bns-cc button{font-family:inherit;letter-spacing:normal;text-transform:none;text-shadow:none;box-shadow:none;margin:0;width:auto;min-height:0;line-height:1.2}
.bns-cc a{box-shadow:none}

/* ---------- Banner ---------- */
.bns-cc-banner{
  position:fixed; z-index:2147483000; left:50%; bottom:16px; transform:translateX(-50%);
  width:calc(100% - 32px); max-width:940px;
  background:#fff; border-radius:16px; overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.08);
  animation:bns-cc-up .35s ease-out;
}
@keyframes bns-cc-up{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
.bns-cc-stripe{height:5px;background:linear-gradient(90deg,var(--bns-orange) 0 33.3%,var(--bns-pink) 33.3% 66.6%,var(--bns-leaf) 66.6% 100%)}
.bns-cc-inner{display:flex;gap:24px;align-items:center;padding:20px 24px 22px}
.bns-cc-text{flex:1 1 auto;min-width:0}
.bns-cc-title{display:flex;align-items:center;gap:10px;font-size:1.25rem !important;font-weight:700 !important;color:var(--bns-orange) !important;line-height:1.25 !important;margin:0 0 6px !important}
.bns-cc-logo{width:36px;height:36px;object-fit:contain;flex:none;border-radius:6px}
.bns-cc-body{font-size:.95rem;color:var(--bns-ink)}
.bns-cc-link, .bns-cc-link:visited{color:var(--bns-green) !important;text-decoration:underline !important;text-underline-offset:2px;font-weight:700;white-space:nowrap;background:none !important}
.bns-cc-link:hover, .bns-cc-link:focus{color:var(--bns-pink) !important;background:none !important}
.bns-cc-actions{display:flex;flex-direction:column;gap:10px;flex:0 0 210px}

.bns-cc .bns-cc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:11px 20px !important;border-radius:999px !important;cursor:pointer;
  font-size:1rem !important;font-weight:700 !important;line-height:1.2 !important;margin:0 !important;border:2px solid var(--bns-pink) !important;
  transition:background .15s,color .15s,border-color .15s;
}
/* Solid pink: "Accept all" in the banner, "Save my choices" in the window */
.bns-cc .bns-cc-solid{background:var(--bns-pink) !important;color:var(--bns-ink) !important}
.bns-cc .bns-cc-solid:hover, .bns-cc .bns-cc-solid:focus{background:var(--bns-pink-light) !important;border-color:var(--bns-pink-light) !important;color:var(--bns-ink) !important}
/* Banner "Only necessary": pink outline, near-black text */
.bns-cc .bns-cc-actions .bns-cc-outline{background:#fff !important;color:var(--bns-ink) !important;border-color:var(--bns-pink) !important}
.bns-cc .bns-cc-actions .bns-cc-outline:hover, .bns-cc .bns-cc-actions .bns-cc-outline:focus{background:var(--bns-pink-50) !important;color:var(--bns-ink) !important;border-color:var(--bns-pink-text) !important}
/* Preferences window: "Save my choices" solid pink, the other two outlined in pink */
.bns-cc .bns-cc-actions-panel .bns-cc-outline{background:#fff !important;color:var(--bns-ink) !important;border-color:var(--bns-pink) !important}
.bns-cc .bns-cc-actions-panel .bns-cc-outline:hover, .bns-cc .bns-cc-actions-panel .bns-cc-outline:focus{background:var(--bns-pink-50) !important;border-color:var(--bns-pink-text) !important;color:var(--bns-ink) !important}
/* "Customize": a green link that turns pink, never a box */
.bns-cc .bns-cc-textbtn, .bns-cc .bns-cc-textbtn:hover, .bns-cc .bns-cc-textbtn:focus, .bns-cc .bns-cc-textbtn:active{background:transparent !important;border:0 !important;box-shadow:none !important}
.bns-cc .bns-cc-textbtn{padding:6px 4px !important;cursor:pointer;font-size:.95rem !important;font-weight:700 !important;color:var(--bns-green) !important;text-decoration:underline !important;text-underline-offset:2px}
.bns-cc .bns-cc-textbtn:hover, .bns-cc .bns-cc-textbtn:focus{color:var(--bns-pink) !important}
.bns-cc button:focus-visible, .bns-cc a:focus-visible, .bns-cc input:focus-visible + .bns-cc-track{outline:3px solid var(--bns-orange);outline-offset:2px}

/* ---------- Preferences window ---------- */
.bns-cc-overlay{position:fixed;inset:0;z-index:2147483001;background:rgba(20,20,20,.55);display:flex;align-items:center;justify-content:center;padding:16px}
html.bns-cc-open{overflow:hidden}
.bns-cc-panel{
  position:relative;background:#fff;border-radius:16px;overflow:auto;
  width:100%;max-width:560px;max-height:calc(100vh - 32px);
  padding:0 24px 24px;box-shadow:0 20px 60px rgba(0,0,0,.3);outline:none;
}
.bns-cc-panel .bns-cc-stripe{margin:0 -24px 20px}
.bns-cc-panel .bns-cc-title{padding-right:44px !important}
.bns-cc-panel > .bns-cc-body{margin-bottom:16px;padding-right:28px}
.bns-cc .bns-cc-x{position:absolute !important;top:16px !important;right:12px !important;margin:0 !important;padding:0 !important;width:40px !important;height:40px !important;min-height:0 !important;display:flex !important;align-items:center;justify-content:center;border-radius:50% !important;border:0 !important;background:transparent !important;color:var(--bns-muted) !important;font-size:1.7rem !important;line-height:1 !important;cursor:pointer}
.bns-cc .bns-cc-x:hover, .bns-cc .bns-cc-x:focus{background:var(--bns-pink-50) !important;color:var(--bns-pink-dark) !important}
.bns-cc-cat{border:1px solid var(--bns-pink-line);background:var(--bns-pink-50);border-radius:12px;padding:14px 16px;margin:0 0 12px}
.bns-cc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.bns-cc-cat-name{font-weight:700;font-size:1rem;color:var(--bns-ink);margin:0;cursor:default}
label.bns-cc-cat-name{cursor:pointer}
.bns-cc-cat-desc{font-size:.9rem;color:var(--bns-muted)}
.bns-cc-always{font-size:.85rem;font-weight:700;color:var(--bns-pink-text)}

/* Switch: a real checkbox, styled */
.bns-cc .bns-cc-switch{position:relative;display:inline-flex;align-items:center;gap:8px;flex:none;cursor:pointer;margin:0 !important;padding:4px 0}
.bns-cc .bns-cc-switch input{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;opacity:0 !important;margin:0 !important;padding:0 !important;cursor:pointer;z-index:1;-webkit-appearance:none;appearance:none}
.bns-cc .bns-cc-cat-toggle{cursor:pointer}
.bns-cc-track{width:48px;height:28px;border-radius:999px;background:#8a8a8a;position:relative;transition:background .15s}
.bns-cc-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:left .15s}
.bns-cc-switch input:checked + .bns-cc-track{background:var(--bns-pink)}
.bns-cc-switch input:checked + .bns-cc-track .bns-cc-knob{left:23px}
.bns-cc-state{font-size:.85rem;font-weight:700;color:var(--bns-ink);min-width:2.2em}

/* Main button full width on top, the other two side by side below */
.bns-cc-id{font-size:.8rem;color:var(--bns-muted);margin:4px 0 0 !important;word-break:break-all}
.bns-cc-id span{font-family:ui-monospace,Menlo,Consolas,monospace}
.bns-cc-actions-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;flex:none}
.bns-cc-actions-panel .bns-cc-btn:first-child{grid-column:1 / -1}

/* ---------- Floating button ---------- */
.bns-cc-float{
  position:fixed;z-index:2147482999;left:16px;bottom:16px;width:48px;height:48px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;
  background:var(--bns-leaf) !important;color:var(--bns-leaf-dark) !important;border:3px solid #fff !important;
  box-shadow:0 4px 14px rgba(0,0,0,.22);
}
.bns-cc-float svg{display:block}
.bns-cc-float:hover, .bns-cc-float:focus{background:var(--bns-pink) !important;color:var(--bns-pink-dark) !important}

.bns-cc-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Phones and narrow screens ---------- */
@media (max-width:720px){
  .bns-cc-banner{bottom:10px;width:calc(100% - 20px);border-radius:14px}
  .bns-cc-inner{flex-direction:column;align-items:stretch;gap:14px;padding:16px 16px 18px}
  .bns-cc-title{font-size:1.1rem !important}
  .bns-cc-body{font-size:.92rem}
  .bns-cc-actions{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .bns-cc-actions .bns-cc-textbtn{grid-column:1 / -1;justify-self:center}
  .bns-cc .bns-cc-btn{padding:10px 12px !important;font-size:.95rem !important}
  .bns-cc-panel{padding:0 18px 18px}
  .bns-cc-panel .bns-cc-stripe{margin:0 -18px 18px}
}
@media (max-width:360px){
  .bns-cc-actions, .bns-cc-actions-panel{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .bns-cc-banner{animation:none}
  .bns-cc *{transition:none !important}
}
@media print{.bns-cc{display:none !important}}
