/* Cookie consent and accessible legal dialog */
.cookie-banner{position:fixed;z-index:9000;bottom:1rem;left:1rem;right:1rem;margin:auto;max-width:840px;background:#fff9f7;color:#45243d;border:1px solid #edc8d2;border-radius:20px;box-shadow:0 18px 80px #45243d55;padding:1.15rem 1.35rem}
.cookie-banner[hidden],.cookie-settings[hidden]{display:none!important}
.cookie-banner h2{margin:0 0 .3rem;font-size:1.25rem}.cookie-banner p{margin:.3rem 0 .8rem;line-height:1.5;font-size:.96rem}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.6rem}.cookie-btn{border:2px solid #9f2459;border-radius:12px;background:#9f2459;color:white;padding:.65rem 1.05rem;font:inherit;font-weight:700;cursor:pointer;min-height:44px}
.cookie-btn.secondary{background:#fff9f7;color:#9f2459}.cookie-btn:focus-visible,.cookie-legal-trigger:focus-visible{outline:3px solid #ed6574;outline-offset:3px}
.cookie-settings{padding-top:.75rem}.cookie-choice{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid #ead8de;align-items:center}.cookie-choice span{font-size:.87rem}.cookie-choice input{width:22px;height:22px;accent-color:#9f2459}
.cookie-legal-trigger{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
.legal-modal{border:0;border-radius:18px;padding:0;max-height:90vh;width:min(1000px,94vw);box-shadow:0 15px 80px #24091b75}
.legal-modal::backdrop{background:#241020a8}.legal-modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff6f6;padding:.75rem 1rem;border-bottom:1px solid #e6c8d1}
.legal-modal-title{font-weight:750;color:#45243d}.legal-modal-close{background:#9f2459;color:white;border:0;border-radius:10px;min-height:42px;min-width:42px;font-size:1.4rem;cursor:pointer}
.legal-modal-frame{width:100%;height:min(72vh,750px);display:block;border:0;background:white}
@media(max-width:540px){.cookie-banner{bottom:.3rem;left:.3rem;right:.3rem;padding:.85rem}.cookie-actions>*{flex:1 1 40%}.legal-modal{width:98vw;max-height:96vh}.legal-modal-frame{height:78vh}}

/* Legal modal: same-origin document content, no iframe */
.legal-modal-content{width:100%;height:min(72vh,750px);overflow:auto;overscroll-behavior:contain;background:#fff9f7;color:#45243d}
.legal-modal-content .legal-main{padding:1.5rem 0 2.5rem;min-height:0}
.legal-modal-content .legal-container{width:min(100% - 2.5rem,850px);margin:auto}
.legal-modal-message{padding:2rem;line-height:1.6}
/* Four legal links share one visual row and identical typography */
.site-footer .legal-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.3rem;padding:0 0 1rem;font-size:.9rem;line-height:1.5}
.site-footer .legal-footer-links a,.site-footer .legal-footer-links .cookie-legal-trigger{display:inline-block;color:inherit;font:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;margin:0;cursor:pointer}
@media(max-width:540px){.legal-modal-content{height:78vh}.legal-modal-content .legal-main{padding:1rem 0 2rem}.site-footer .legal-footer-links{gap:.45rem 1rem}}

/* Compact legal overlay: keep legal content scrollable, not full-height */
.legal-modal{width:min(760px,calc(100vw - 24px));max-height:min(76dvh,650px);border-radius:20px;overflow:hidden;}
.legal-modal-content{height:auto;max-height:min(62dvh,540px);overflow-y:auto;overscroll-behavior:contain;}
.legal-modal-content .legal-wrap,.legal-modal-content .legal-container{width:min(100% - 2.2rem,680px);margin-inline:auto;}
.legal-modal-content .legal-main{min-height:0;padding:1.25rem 0 2rem;}
.legal-modal-content .legal-wrap h1,.legal-modal-content .legal-container h1{font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.15;}
.legal-modal-content .legal-section{margin-block:1.25rem;}
@media(max-width:540px){.legal-modal{width:calc(100vw - 16px);max-height:83dvh;}.legal-modal-content{max-height:69dvh;}.legal-modal-content .legal-wrap,.legal-modal-content .legal-container{width:calc(100% - 1.6rem);}}
