/* Fiduciam Cookie Banner & Preferences (Light Theme) */
:root {
  --fiduciam-green: #bccf00;
}
.cookie-bar { position:fixed; bottom:0; left:0; right:0; z-index:4000; background:#ffffff; color:#1d1d1b; font-family:var(--font-family-primary,system-ui,sans-serif); border-top:4px solid var(--fiduciam-green,#bccf00); box-shadow:0 -2px 6px -2px rgba(0,0,0,.15); }
.cookie-bar__inner { max-width:1200px; margin:0 auto; padding:1.1rem 1.4rem; display:flex; gap:1.75rem; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; }
.cookie-bar__text { flex:1 1 520px; font-size:.9rem; line-height:1.45; display:flex; flex-direction:column; gap:.4rem; }
.cookie-bar__text strong { font-size:.95rem; letter-spacing:.5px; }
.cookie-bar__text a { color:var(--fiduciam-green,#bccf00); text-decoration:underline; font-weight:600; }
.cookie-bar__text a:hover { text-decoration:none; }
.cookie-bar__link { color:var(--fiduciam-green,#bccf00); font-weight:600; text-decoration:underline; }
.cookie-bar__link:hover { text-decoration:none; }
.cookie-bar__actions { display:flex; flex-direction:column; gap:.5rem; align-items:flex-start; }
.cookie-btn { cursor:pointer; font:inherit; font-weight:600; letter-spacing:.5px; padding:.7rem 1.35rem; border-radius:4px; border:1px solid transparent; transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease; display:inline-flex; align-items:center; justify-content:center; font-size:.8rem; text-transform:uppercase; }
.cookie-btn--accept { background:var(--fiduciam-green,#bccf00); color:#ffffff; border-color:var(--fiduciam-green,#bccf00); box-shadow:0 2px 4px -1px rgba(0,0,0,.25); min-width:230px; }
.cookie-btn--accept:hover { background:#c3d600; transform:translateY(-2px); }
.cookie-btn--accept:active { background:var(--fiduciam-green,#bccf00); transform:translateY(0); }
.cookie-btn:focus-visible { outline:2px solid #1d1d1b; outline-offset:2px; }
.cookie-bar__prefs-text { font-size:.7rem; opacity:.65; line-height:1.15; }
.cookie-bar__prefs-text a { color:inherit; text-decoration:underline; background:none; padding:0; font:inherit; }
.cookie-bar__prefs-text a:hover { opacity:.9; }
@media (max-width:680px){
  .cookie-bar__inner { flex-direction:column; gap:1rem; }
  .cookie-bar__actions { width:100%; align-items:stretch; }
  .cookie-btn--accept { width:100%; padding:0.95rem 1.5rem; font-size:.9rem; }
}
/* Preferences Modal */
.cookie-preferences { position:fixed; inset:0; z-index:5000; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); backdrop-filter:blur(3px); }
.cookie-preferences__inner { background:#ffffff; color:#1d1d1b; max-width:760px; width:100%; margin:1rem; border-radius:12px; box-shadow:0 10px 30px -8px rgba(0,0,0,.25); padding:2rem 2.25rem 2.2rem; font-family:var(--font-family-primary,system-ui,sans-serif); position:relative; overflow:hidden; border:1px solid #e3e6e2; }
.cookie-preferences__title { margin:0 0 .75rem; font-size:1.45rem; letter-spacing:.5px; color:var(--fiduciam-green,#bccf00); }
.cookie-preferences__description { margin:0 0 1.5rem; font-size:.9rem; line-height:1.5; color:#404341; }
.cookie-preferences__list { display:flex; flex-direction:column; gap:1rem; margin:0 0 1.75rem; }
.cookie-preferences__item { background:#f8f9f7; border:1px solid #e0e3df; border-radius:10px; padding:1rem 1.1rem 1rem; position:relative; transition:border-color .18s ease, background .18s ease; }
.cookie-preferences__item:hover { border-color:var(--fiduciam-green,#bccf00); }
.cookie-pref-head { display:flex; align-items:center; gap:.75rem; justify-content:space-between; flex-wrap:wrap; }
.cookie-pref-name { font-weight:600; letter-spacing:.4px; font-size:.9rem; }
.cookie-pref-badge { background:var(--fiduciam-green,#bccf00); color:#1d1d1b; font-size:.55rem; font-weight:700; padding:.35rem .55rem .3rem; border-radius:20px; letter-spacing:1px; text-transform:uppercase; }
.cookie-pref-badge {
  color: #fff;
}
.cookie-pref-toggle { display:flex; align-items:center; gap:.65rem; }
.cookie-pref-checkbox { width:1.05rem; height:1.05rem; cursor:pointer; accent-color:var(--fiduciam-green,#bccf00); }
.cookie-pref-desc { margin:.7rem 0 .25rem 1.85rem; font-size:.72rem; line-height:1.35; color:#4f524f; }
.cookie-pref-expand { background:#e7eae5; color:#1d1d1b; border:1px solid #d5d9d3; border-radius:4px; width:1.55rem; height:1.55rem; padding:0; cursor:pointer; font-size:.8rem; line-height:1; display:flex; align-items:center; justify-content:center; transition:background .18s ease, transform .18s ease; }
.cookie-pref-expand:hover { background:#dde0db; }
.cookie-pref-expand.open { transform:rotate(180deg); }
.cookie-preferences__actions { display:flex; justify-content:space-between; gap:.9rem; flex-wrap:wrap; }
/* New modal buttons */
.cookie-btn.cookie-consent__accept-all { background:var(--fiduciam-green,#bccf00); color:#ffffff; border:1px solid var(--fiduciam-green,#bccf00); font-weight:700; letter-spacing:.7px; font-size:.8rem; flex:1 1 auto; }
.cookie-btn.cookie-consent__accept-all:hover { background:#c3d600; }
.cookie-btn.cookie-consent__confirm { background:#5a5d5c; color:#ffffff; border:1px solid #5a5d5c; font-weight:600; letter-spacing:.6px; font-size:.8rem; flex:1 1 auto; }
.cookie-btn.cookie-consent__confirm:hover { background:#6a6d6c; }
@media (max-width:640px){
  .cookie-preferences__actions { flex-direction:column-reverse; }
  .cookie-btn.cookie-consent__accept-all, .cookie-btn.cookie-consent__confirm { width:100%; }
}
@media (max-width:600px){ .cookie-preferences__inner { padding:1.5rem 1.35rem 2rem; } .cookie-pref-desc { margin-left:1.2rem; } }
