/* Cookie / statistics consent panel (Phase 13, docs/rebuild/93). Printed only when analytics is switched on (inc/analytics.php).
   One flat NIGHT plane with IVORY type (16.9:1), no shadow, no blur, no gradient, no CRIMSON. Accept and reject share one rule on purpose.
   Fixed, so it never moves the page (no layout shift); not modal, nothing is locked. z-index sits between the sticky header (100) and the
   mobile menu (200). */
.cm{position:fixed;z-index:150;left:0;right:0;bottom:0;background:var(--night);color:var(--ivory);font-family:var(--font-core);border-top:1px solid rgba(242,239,230,.22);animation:cm-in var(--dur-base) var(--ease-lock) both}
.cm-inner{max-width:var(--container);margin-inline:auto;padding:var(--sp-20) var(--gutter) calc(var(--sp-20) + env(safe-area-inset-bottom,0px))}
.cm-title{margin:0 0 var(--sp-8);font-size:1.0625rem;font-weight:700;line-height:1.25;letter-spacing:-.005em}
.cm-title:focus{outline:none}
.cm-text{margin:0;max-width:60ch;font-size:var(--fs-meta);line-height:1.5}
.cm-state{margin:var(--sp-8) 0 0;font-size:var(--fs-meta);line-height:1.5;color:var(--smoke)}
.cm-actions{display:flex;flex-wrap:wrap;gap:var(--sp-12);margin-top:var(--sp-16)}
.cm-btn{flex:1 1 11rem;min-height:48px;padding:0 var(--sp-20);background:transparent;color:var(--ivory);border:1.5px solid var(--ivory);border-radius:0;font:inherit;font-size:var(--fs-small);font-weight:700;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.cm-btn:hover{background:var(--ivory);color:var(--night)}
.cm-btn:focus-visible,.cm-more:focus-visible,.cm-close:focus-visible{outline:2px solid var(--ivory);outline-offset:3px}
.cm-more{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--sp-4);color:var(--ivory);font-size:var(--fs-meta);text-decoration:underline;text-underline-offset:.2em}
.cm-more:hover{text-decoration-thickness:2px}
.cm-close{position:absolute;top:var(--sp-8);right:var(--sp-8);width:44px;height:44px;display:grid;place-items:center;background:transparent;color:var(--ivory);border:0;font-size:1.5rem;line-height:1;cursor:pointer}
@media (min-width:768px){
	.cm{left:var(--gutter);right:auto;bottom:var(--gutter);width:min(30rem,calc(100vw - 2 * var(--gutter)));border:1px solid rgba(242,239,230,.22)}
	.cm-inner{padding:var(--sp-24)}
	.cm-btn{flex:1 1 0}
}
@keyframes cm-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cm{animation:none}.cm-btn{transition:none}}
.reduced-motion .cm{animation:none}
@media print{.cm{display:none}}

/* Footer control that reopens the panel (rendered by footer.php only while the panel exists); it reads as the neighbouring legal link. */
.site-footer-legal .cm-open{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;border:0;color:inherit;font:inherit;font-size:var(--fs-meta);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.site-footer-legal .cm-open:hover,.site-footer-legal .cm-open:focus-visible{text-decoration-thickness:2px}
.site-footer-legal .cm-open:focus-visible{outline:2px solid var(--scene-focus);outline-offset:4px}
