.footer-legal { display:flex; flex-direction:column; align-items:flex-start; gap:.42rem; font-size:.84rem; color:#f4d8e1; }
.footer-legal a:hover, .footer-legal button:hover { color:white; text-decoration:underline; }
.footer-legal button { appearance:none; border:0; background:none; color:inherit; font:inherit; padding:0; cursor:pointer; }
.page:not(.home) main, .privacy-policy main { max-width:860px; margin:auto; padding:4.5rem 1.5rem 6rem; }
.page:not(.home) main h1, .privacy-policy main h1 { font-size:clamp(2.5rem,5vw,4rem); }
.page:not(.home) main h2, .privacy-policy main h2 { font-size:1.65rem; margin-top:2.4rem; }
.page:not(.home) main h3, .privacy-policy main h3 { margin:1.5rem 0 .35rem; }
.page:not(.home) main a, .privacy-policy main a { color:var(--rose); text-decoration:underline; }
.cookie-banner { position:fixed; z-index:9999; left:1.25rem; right:1.25rem; bottom:1.25rem; max-width:920px; margin:auto; background:#fffaf7; border:1px solid #edcad7; border-radius:18px; box-shadow:0 18px 60px #49394433; padding:1.15rem 1.25rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.cookie-banner[hidden] { display:none; }
.cookie-banner strong { font-family:'Playfair Display',serif; font-size:1.15rem; }
.cookie-banner p { font-size:.84rem; margin:.25rem 0 0; max-width:590px; }
.cookie-actions { display:flex; flex-shrink:0; gap:.55rem; }
.cookie-button { border:1px solid var(--rose); border-radius:999px; background:var(--rose); color:white; padding:.68rem 1rem; font:600 .78rem 'DM Sans',sans-serif; cursor:pointer; }
.cookie-button:hover { background:#b84570; }
.cookie-essential { background:transparent; color:var(--rose); }
@media(max-width:780px) { .cookie-banner { align-items:stretch; flex-direction:column; } .cookie-actions { width:100%; } .cookie-button { flex:1; } }
