/* Cookie banner for V3.2 production. Behaviour, wording and markup come unchanged from the production
   consent script (inputs/production-consent.js); these rules only style its classes with V3.2 tokens,
   so it follows the V3.2 light and dark themes. Scoped to .cc so nothing else on the page is affected. */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--card);color:var(--ink);
  border-top:2px solid var(--hl);box-shadow:0 -6px 28px rgba(23,38,29,.16);display:none;
  max-height:88vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
.cc--on{display:block}
.cc-in{max-width:var(--wrap);margin:0 auto;padding:clamp(18px,2.2vw,26px) var(--gut);display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:center}
.cc--wide .cc-in{grid-template-columns:1fr;align-items:start}
.cc-copy h2{font-family:var(--display);font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:600;margin:0 0 .4rem}
.cc-copy p{margin:0;font-size:.92rem;line-height:1.58;color:var(--ink-2);max-width:78ch}
.cc-copy a{color:var(--leaf-text);font-weight:500}
.cc-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cc--wide .cc-acts{margin-top:4px}
.cc-acts .btn{flex:1 1 auto;min-width:168px;min-height:46px;font-size:.95rem}
.cc .cc-choice{flex:1 1 0}
.cc .btn-ink{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.cc .btn-ink:hover{filter:brightness(1.08)}
.cc-link{background:none;border:0;padding:8px 4px;font-family:var(--body);font-size:.9rem;font-weight:500;
  color:var(--leaf-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cc-link:hover{color:var(--ink)}
.cc-prefs[hidden]{display:none}
.cc-prefs{grid-column:1/-1;margin-top:clamp(14px,1.8vw,22px);padding-top:clamp(14px,1.8vw,22px);
  border-top:1px solid var(--rule);display:grid;gap:clamp(10px,1.2vw,14px)}
.cc-row{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:.9rem;
  line-height:1.55;color:var(--ink-2);cursor:pointer}
.cc-row--fixed{cursor:default;opacity:.85}
.cc-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--leaf)}
.cc-row b{display:block;color:var(--ink);font-weight:600;margin-bottom:1px}
.cc-acts--save{grid-column:1/-1}
.cc-acts--save .btn{flex:0 0 auto}
@media (max-width:900px){.cc-in{grid-template-columns:1fr;gap:14px;align-items:start}.cc-acts .btn{flex:1 1 100%}}
