/* CowScreamsMoo cookie controls: site-wide and intentionally independent of login and lessons. */
.csm-cookie-banner,.csm-cookie-backdrop{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;box-sizing:border-box}
.csm-cookie-banner *, .csm-cookie-backdrop *{box-sizing:border-box}
.csm-cookie-banner{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);width:min(1040px,calc(100% - 28px));z-index:9500;background:#f1f8fd;color:#143657;border:2px solid #82c3d7;box-shadow:0 14px 44px rgba(12,42,72,.26);border-radius:18px;display:flex;align-items:center;gap:22px;padding:17px 20px}
.csm-cookie-copy{flex:1 1 440px;min-width:0}
.csm-cookie-copy strong{font-size:16px;color:#113d6a}
.csm-cookie-copy p{margin:7px 0 0;line-height:1.55;font-size:13px}
.csm-cookie-banner a{color:#075d8c;text-decoration:underline}
.csm-cookie-actions{display:flex;gap:9px;flex:0 1 440px;flex-wrap:wrap;justify-content:flex-end}
.csm-cookie-button{appearance:none;cursor:pointer;border:1px solid #2e75a1;border-radius:10px;padding:11px 13px;min-height:42px;font:700 13px Manrope,system-ui,sans-serif;transition:background-color .15s ease,color .15s ease}
.csm-cookie-button:focus-visible,.csm-cookie-close:focus-visible,.csm-cookie-optional input:focus-visible{outline:3px solid #eaa63a;outline-offset:3px}
.csm-cookie-accept{background:#08669a;color:white;border-color:#08669a}
.csm-cookie-accept:hover{background:#064c75}
.csm-cookie-decline{background:#fff;color:#163c5e}
.csm-cookie-decline:hover{background:#e4f4fc}
.csm-cookie-manage{background:transparent;border-color:transparent;color:#075b8b;text-decoration:underline}
.csm-cookie-backdrop{position:fixed;inset:0;z-index:9700;display:flex;align-items:center;justify-content:center;background:rgba(9,28,51,.66);padding:18px}
.csm-cookie-dialog{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:3px solid #82c3d7;border-radius:20px;box-shadow:0 22px 60px rgba(0,0,0,.32);color:#173757;padding:24px}
.csm-cookie-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.csm-cookie-dialog-heading h2{font-size:23px;color:#0b4d7b;margin:0}
.csm-cookie-dialog>p{line-height:1.6;font-size:14px;margin:12px 0 19px}
.csm-cookie-close{appearance:none;border:1px solid #b6cddc;color:#173757;background:#f1f8fd;border-radius:9px;font-size:25px;line-height:1;cursor:pointer;width:38px;height:38px}
.csm-cookie-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #d8e8f0}
.csm-cookie-option strong{font-size:15px;color:#173a5a}
.csm-cookie-option p,.csm-cookie-explanation{font-size:13px;color:#44677f;line-height:1.5;margin:4px 0 0;display:block}
.csm-cookie-required{white-space:nowrap;font-weight:800;font-size:12px;color:#196641;background:#e9f8ed;padding:7px 10px;border-radius:18px}
.csm-cookie-optional{cursor:pointer}
.csm-cookie-optional input{flex:0 0 auto;width:22px;height:22px;accent-color:#0875a5;cursor:pointer}
.csm-cookie-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:17px}
@media(max-width:700px){.csm-cookie-banner{flex-direction:column;align-items:stretch;gap:10px;max-height:80vh;overflow:auto}.csm-cookie-actions{justify-content:stretch;flex:1 1 auto}.csm-cookie-actions button{flex:1 1 45%}.csm-cookie-dialog{padding:18px}.csm-cookie-dialog-heading h2{font-size:20px}}
@media print{.csm-cookie-banner,.csm-cookie-backdrop{display:none!important}}
