.analytics-consent[hidden]{display:none!important}
.analytics-consent{position:fixed;z-index:2000;inset:auto 1rem 1rem;max-width:70rem;margin:0 auto;display:flex;align-items:center;gap:2rem;padding:1.4rem 1.6rem;border:1px solid #cabfb1;border-radius:1rem;background:#fffdf8;color:#25352d;box-shadow:0 8px 40px #0003;max-height:85dvh;overflow:auto;font-family:inherit}
.analytics-consent h2{margin:0 0 .5rem;font-family:inherit;font-size:1.15rem;line-height:1.3;letter-spacing:normal}
.analytics-consent p{margin:.35rem 0;font-size:.9rem;line-height:1.5}
.analytics-consent a{color:inherit;text-decoration:underline}
.analytics-consent-actions{display:flex;flex-shrink:0;gap:.65rem}
.analytics-consent-actions button{min-height:44px;min-width:100px;padding:.7rem 1rem;border:1px solid #25352d;border-radius:.5rem;color:#fff;background:#25352d;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.analytics-consent-actions button:hover{background:#405749}
.analytics-settings{display:inline-block;padding:.4rem 0;border:0;color:inherit;background:transparent;font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer;min-height:44px}
.analytics-consent button:focus-visible,.analytics-consent a:focus-visible,.analytics-settings:focus-visible{outline:3px solid #b85624;outline-offset:4px}
@media(max-width:650px){.analytics-consent{inset:auto .65rem max(.65rem,env(safe-area-inset-bottom));padding:1rem;display:block}.analytics-consent-actions{margin-top:.85rem}.analytics-consent-actions button{flex:1}.analytics-consent h2{font-size:1.05rem}}

/* Shared footer controls on every public page. */
footer .footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:0 1rem}footer .footer-links a,footer .footer-links .analytics-settings{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0;font:inherit;font-size:.8rem;line-height:1.5;color:inherit;vertical-align:middle}footer .affiliate-footer{grid-column:1/-1;font-size:.8rem;line-height:1.6;margin:0;color:inherit}.affiliate-label{display:block;font-size:.8rem;line-height:1.5;margin-top:.4rem}
