/* Legal reading pages and shared footer notices — Boteco Clássico. */
.footer-legal-links { display:flex; flex-wrap:wrap; gap:8px 28px; margin-block:24px; }
.footer-legal-links a { display:inline-flex; align-items:center; min-height:48px; font:600 16px/1.5 Montserrat,sans-serif; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.footer-legal-links a:hover { color:var(--amber); }
.responsible-notice { display:flex; align-items:flex-start; gap:20px; margin-block:28px; padding:24px; border:1px solid #c8922f99; color:var(--cream); background:#351014; text-align:left; }
.responsible-notice .responsible-age { flex:none; display:grid; place-items:center; width:56px; height:56px; border:1px solid var(--amber); border-radius:50%; font:400 28px/1 Bebas,sans-serif; color:var(--cream); }
.responsible-notice strong { display:block; font:600 16px/1.65 Montserrat,sans-serif; }
.responsible-notice p { margin:8px 0 0; font:400 16px/1.75 Montserrat,sans-serif; opacity:1; }
.birthday-dialog .form-privacy { font-size:14px; line-height:1.7; margin-top:18px; }
.form-privacy a { text-decoration:underline; text-underline-offset:3px; }
.route-actions .safe-return { font-weight:600; }
.legal-page { margin:0; color:var(--ink); background:var(--paper); font:400 18px/1.85 Montserrat,sans-serif; overflow-wrap:break-word; }
.legal-page *, .legal-page *::before, .legal-page *::after { box-sizing:border-box; }
.legal-page .skip-link { z-index:100; }
.legal-page a:focus-visible, .site-footer a:focus-visible { outline:3px solid var(--amber); outline-offset:5px; }
.legal-header { padding:24px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--wine); color:var(--cream); border-bottom:4px solid var(--amber); }
.legal-header img { display:block; width:clamp(200px,25vw,280px); max-width:100%; height:auto; }
.legal-home { font-size:16px; font-weight:600; display:inline-flex; align-items:center; min-height:48px; text-decoration:underline; text-underline-offset:5px; }
.legal-hero { max-width:1350px; margin:auto; padding:64px var(--gutter) 48px; }
.legal-eyebrow { font-size:14px; letter-spacing:.12em; font-weight:600; color:#8a5516; }
.legal-hero h1 { font:400 clamp(42px,5.5vw,76px)/1.05 Bebas,sans-serif; color:var(--wine); margin:18px 0 22px; letter-spacing:0; max-width:900px; }
.legal-hero > p:not(.legal-eyebrow):not(.legal-date) { max-width:65ch; }
.legal-date { font-size:14px; margin-top:20px; }
.legal-layout { display:grid; grid-template-columns:minmax(220px,280px) minmax(0,760px); gap:clamp(32px,5vw,76px); max-width:1350px; margin:0 auto; padding:0 var(--gutter) 80px; align-items:start; }
.legal-index { position:sticky; top:24px; padding:22px; background:var(--cream); border-top:4px solid var(--wine); font-size:15px; line-height:1.55; }
.legal-index > p { font-weight:700; font-size:14px; letter-spacing:.06em; margin-bottom:10px; }
.legal-index ol { list-style:decimal-leading-zero; padding-left:26px; }
.legal-index li { padding-left:4px; }
.legal-index a { display:flex; align-items:center; min-height:48px; padding-block:9px; text-decoration:underline; text-underline-offset:4px; }
.legal-index a:hover, .legal-content a:hover { color:#8a5516; }
.legal-other { margin-top:16px; border-top:1px solid var(--line); font-weight:600; }
.legal-content { min-width:0; }
.legal-content section { padding:32px 0; border-top:1px solid var(--line); scroll-margin-top:24px; }
.legal-content h2 { font:400 clamp(28px,3vw,36px)/1.2 Bebas,sans-serif; color:var(--wine); margin:0 0 22px; letter-spacing:0; }
.legal-content h2 > span { color:#8a5516; margin-right:8px; }
.legal-content h3 { font:600 18px/1.5 Montserrat,sans-serif; color:var(--wine); margin:26px 0 12px; }
.legal-content p { margin:0 0 18px; text-wrap:pretty; }
.legal-content p:last-child { margin-bottom:0; }
.legal-content ul { padding-left:24px; margin:0 0 20px; list-style:disc; }
.legal-content li { margin-bottom:12px; }
.legal-content a { text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.legal-callout { background:var(--cream); border-left:4px solid var(--amber); padding:24px; margin:24px 0; }
.legal-callout h3 { margin-top:0; }
.legal-footer { padding:32px var(--gutter); background:var(--wine); color:var(--cream); }
.legal-footer > p { font-size:14px; line-height:1.8; }
.legal-footer .responsible-notice { max-width:1150px; }
.legal-footer > p a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:900px) {
  .legal-layout { grid-template-columns:1fr; gap:32px; }
  .legal-index { position:static; }
  .legal-index ol { columns:2; column-gap:40px; }
  .legal-index li { break-inside:avoid; }
}
@media(max-width:600px) {
  .legal-page { font-size:17px; line-height:1.8; }
  .legal-header { flex-direction:column; align-items:flex-start; gap:12px; padding-block:20px; }
  .legal-hero { padding-top:36px; padding-bottom:32px; }
  .legal-index ol { columns:1; }
  .legal-content section { padding-block:26px; }
  .legal-callout { padding:20px; }
  .responsible-notice { padding:20px; gap:14px; flex-direction:column; }
  .footer-legal-links { gap:8px 20px; }
  .legal-footer .footer-legal-links { flex-direction:column; align-items:flex-start; }
}
@media print {
  .legal-page { background:white; color:black; font-size:11pt; }
  .legal-header { background:white; color:black; padding:0 0 20px; }
  .legal-header img { width:200px; }
  .legal-home, .legal-index, .legal-footer, .skip-link { display:none!important; }
  .legal-hero { padding:24px 0; }
  .legal-hero h1 { font-size:32pt; }
  .legal-layout { display:block; padding:0; }
  .legal-content h2 { font-size:20pt; break-after:avoid; }
  .legal-content h3 { break-after:avoid; }
  .legal-content p { orphans:3; widows:3; }
  .legal-callout { background:white; }
}
