/* The Ash Counselling cookie consent UI — isolated from global styles.css */
:root { --ash-cookie-bg:#2f3f36; --ash-cookie-ink:#fffaf3; --ash-cookie-line:rgba(255,250,243,.22); }
.cookie-banner[hidden], .cookie-modal[hidden] { display:none !important; }
.cookie-banner {
  position:fixed; z-index:100000; left:1rem; right:1rem; bottom:1rem;
  max-width:1180px; margin:auto; background:var(--ash-cookie-bg); color:var(--ash-cookie-ink);
  border:1px solid var(--ash-cookie-line); border-radius:18px; box-shadow:0 18px 60px rgba(0,0,0,.24);
  padding:1.15rem 1.25rem;
}
.cookie-banner__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem 1.5rem; align-items:center; }
.cookie-banner h2 { margin:0 0 .35rem; color:inherit; font:500 clamp(1.25rem,2vw,1.6rem)/1.2 Newsreader,Georgia,serif; }
.cookie-banner p { margin:0; max-width:760px; color:inherit; line-height:1.55; font-size:.94rem; }
.cookie-banner a { color:inherit; text-decoration:underline; text-underline-offset:.2em; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:.55rem; justify-content:flex-end; }
.cookie-btn {
  min-height:44px; padding:.7rem 1rem; border-radius:999px; border:1px solid var(--ash-cookie-ink);
  font:700 .88rem/1 DM Sans,system-ui,sans-serif; cursor:pointer;
}
.cookie-btn--light { background:var(--ash-cookie-ink); color:#26362e; }
.cookie-btn--outline { background:transparent; color:var(--ash-cookie-ink); }
.cookie-btn:focus-visible, .cookie-settings-link:focus-visible { outline:3px solid #fff; outline-offset:3px; }

.cookie-modal { position:fixed; z-index:100001; inset:0; background:rgba(22,29,25,.66); padding:1rem; overflow:auto; }
.cookie-dialog {
  width:min(680px,100%); margin:5vh auto; background:#fffaf3; color:#26362e; border-radius:20px;
  box-shadow:0 24px 80px rgba(0,0,0,.3); padding:clamp(1.25rem,4vw,2rem);
}
.cookie-dialog h2 { margin-top:0; font:500 clamp(1.8rem,5vw,2.6rem)/1.05 Newsreader,Georgia,serif; }
.cookie-dialog p { line-height:1.6; }
.cookie-category { border-top:1px solid rgba(38,54,46,.18); padding:1rem 0; }
.cookie-category__row { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.cookie-category h3 { margin:.1rem 0 .35rem; font-size:1rem; }
.cookie-category p { margin:0; font-size:.92rem; }
.cookie-status { font-size:.82rem; font-weight:700; white-space:nowrap; }
.cookie-switch { width:48px; height:28px; accent-color:#536d5c; }
.cookie-dialog__actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.25rem; }
.cookie-dialog .cookie-btn--light { background:#2f3f36; color:#fffaf3; border-color:#2f3f36; }
.cookie-dialog .cookie-btn--outline { color:#2f3f36; border-color:#2f3f36; }
.cookie-settings-link { background:none; border:0; padding:0; color:inherit; font:inherit; text-decoration:underline; cursor:pointer; }
body.cookie-modal-open { overflow:hidden; }
@media (max-width:760px) {
  .cookie-banner { left:.65rem; right:.65rem; bottom:.65rem; padding:1rem; }
  .cookie-banner__inner { grid-template-columns:1fr; }
  .cookie-actions { justify-content:stretch; }
  .cookie-actions .cookie-btn { flex:1 1 145px; }
}
@media (prefers-reduced-motion:reduce) { .cookie-banner,.cookie-modal{scroll-behavior:auto;} }
