
/* Site-specific enhancements: legal links, operator details, accessibility and mobile navigation. */
.section-anchor { display:block; position:relative; top:-88px; visibility:hidden; }
.footer-site-info { margin-top: 1.5rem; text-align:center; }
.footer-legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem 1.25rem; margin-bottom:1.15rem; }
.footer-legal-links a, .footer-operator-info a { color:inherit; text-decoration:none; border-bottom:1px solid rgba(0,0,0,.28); }
.footer-legal-links a:hover, .footer-operator-info a:hover { border-bottom-color:currentColor; }
.footer-operator-info { max-width:860px; margin:0 auto 1rem; padding:1rem 1.15rem; border:1px solid rgba(0,0,0,.12); border-radius:14px; background:rgba(255,255,255,.32); }
.footer-operator-info p { margin:.24rem 0; line-height:1.55; }
.responsible-note { max-width:860px; margin:.9rem auto 1.1rem; line-height:1.55; }
img { max-width:100%; height:auto; }
@media (max-width: 991.98px) {
  .menu .navbar-toggler { display:block; position:relative; z-index:1002; }
  .menu .hamburger span { background:#000 !important; }
  .menu .navbar-collapse { position:relative; z-index:1001; }
  .footer-operator-info { text-align:left; }
}

/* Legal pages */
body.legal-page { margin:0; background:#f5f5f5; color:#111; }
.legal-page .legal-hero { padding:9rem 1rem 3.2rem; background:#f5f5f5; }
.legal-page .legal-container { width:min(960px, calc(100% - 2rem)); margin:0 auto; }
.legal-page .legal-kicker { font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; opacity:.65; margin-bottom:.65rem; }
.legal-page .legal-hero h1 { font-size:clamp(2.3rem,6vw,4.7rem); line-height:1.05; margin:0 0 1rem; }
.legal-page .legal-hero p { max-width:760px; font-size:1.05rem; line-height:1.75; color:#515151; }
.legal-page .legal-content { padding:1rem 0 5rem; }
.legal-page .legal-card { background:#fff; border:1px solid rgba(0,0,0,.09); border-radius:18px; padding:clamp(1.25rem,4vw,2.5rem); box-shadow:0 18px 55px rgba(0,0,0,.06); }
.legal-page .legal-card h2 { margin:2rem 0 .75rem; font-size:1.55rem; }
.legal-page .legal-card h2:first-child { margin-top:0; }
.legal-page .legal-card h3 { margin:1.35rem 0 .55rem; font-size:1.1rem; }
.legal-page .legal-card p, .legal-page .legal-card li { color:#3f3f3f; line-height:1.75; }
.legal-page .legal-card ul { padding-left:1.25rem; }
.legal-page .legal-card a { color:#111; text-decoration:underline; text-underline-offset:3px; }
.legal-page .legal-meta { margin-top:2rem; padding-top:1.2rem; border-top:1px solid rgba(0,0,0,.1); font-size:.92rem; }
.legal-page .footer01 { width:100%; margin:0; }
@media (max-width: 991.98px) {
  .legal-page .legal-hero { padding-top:7.25rem; }
  .legal-page .menu .navbar-collapse.show { background:#f5f5f5; padding:1rem; border-radius:0 0 16px 16px; }
  .legal-page .menu .navbar-nav { gap:.25rem; }
}
