/* Small shared layer: no framework or remote fonts. */
.rr-mobile-actions { display:none; }
.rr-privacy-controls { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; font-size:.8rem; }
.rr-privacy-controls button { padding:0; border:0; background:none; color:inherit; font:inherit; text-decoration:underline; cursor:pointer; }
.rr-consent { position:fixed; z-index:100; right:20px; bottom:20px; width:min(440px,calc(100% - 40px)); max-height:calc(100dvh - 40px); overflow:auto; padding:24px; border:1px solid #cdb997; border-radius:12px; background:#fbf7ed; color:#1d1712; box-shadow:0 14px 60px #18110d40; font:.9rem/1.55 var(--body,system-ui,sans-serif); }
.rr-consent[hidden] { display:none; }
.rr-consent h2 { margin:0 0 10px; font:700 1.2rem/1.3 var(--body,system-ui,sans-serif); letter-spacing:-.02em; }
.rr-consent p { margin:0 0 16px; color:#51453c; }
.rr-consent>a { display:inline-block; margin-top:14px; font-size:.8rem; }
.rr-consent-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rr-consent-actions button { min-height:46px; padding:10px; border:1px solid #735135; border-radius:6px; color:#1d1712; background:#f3ead8; font:700 .85rem/1.25 var(--body,system-ui,sans-serif); cursor:pointer; }
.rr-consent-actions button:hover { background:#e7d6b7; }
.rr-consent :focus-visible,.rr-privacy-controls :focus-visible,.rr-mobile-actions :focus-visible { outline:3px solid #b6232d; outline-offset:3px; }
.menu-section { scroll-margin-top:100px; }
@media(max-width:650px) {
  body { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .rr-mobile-actions { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:7px; position:fixed; z-index:40; inset:auto 0 0; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:#18110df5; border-top:1px solid #6a5038; box-shadow:0 -4px 24px #18110d25; }
  .rr-mobile-actions a { display:flex; align-items:center; justify-content:center; min-height:46px; border:1px solid #79654e; border-radius:6px; color:#fffdf7; font-size:.83rem; font-weight:800; text-decoration:none; }
  .rr-mobile-actions a:first-child { background:#d49a3a; border-color:#d49a3a; color:#18110d; }
  .rr-consent { right:12px; bottom:calc(84px + env(safe-area-inset-bottom)); width:calc(100% - 24px); max-height:calc(100dvh - 110px - env(safe-area-inset-bottom)); padding:19px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
