/* Terms & Policies (pages/legal/index.php + doc.php, config/legal.php). Prefix lgl-. Text sizes follow the theme (--bf-type). */
.lgl{--lgl-w:1180px;background:var(--bf-bg,#fff);color:var(--ink,#1c1e21)}
.lgl a{color:var(--bf-link,#1d4ed8)}
.lgl-wrap{max-width:var(--lgl-w);margin:0 auto;padding:0 20px}

/* Page head */
.lgl-head{border-bottom:1px solid var(--line,#e5e7eb);background:var(--surface,#f7f8fa)}
.lgl-head .lgl-wrap{padding-top:22px;padding-bottom:20px}
.lgl-crumb{font-size:calc(12.5px*var(--bf-type-sm,1));color:var(--ink-4,#65676b);margin-bottom:8px;display:flex;gap:6px;flex-wrap:wrap}
.lgl-crumb a{color:var(--ink-3,#4b4f56);text-decoration:none}
.lgl-crumb a:hover{text-decoration:underline}
.lgl-title{font-size:clamp(calc(24px*var(--bf-type,1)),3.2vw,calc(34px*var(--bf-type,1)));font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0;color:var(--ink,#1c1e21)}
.lgl-sub{font-size:calc(15px*var(--bf-type,1));color:var(--ink-3,#4b4f56);margin:8px 0 0;max-width:760px;line-height:1.55}
.lgl-meta{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:calc(12.5px*var(--bf-type-sm,1));color:var(--ink-4,#65676b)}
.lgl-meta b{color:var(--ink-2,#373a3f);font-weight:700}
.lgl-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.lgl-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line,#d6d9de);background:var(--bf-surface,#fff);color:var(--ink-2,#373a3f)!important;border-radius:var(--bf-btn-radius,8px);padding:6px 12px;font-size:calc(12.5px*var(--bf-type-sm,1));font-weight:700;text-decoration:none;cursor:pointer}
.lgl-btn:hover{border-color:var(--ink-4,#8a8d91)}

/* Document layout: contents on the left, text on the right */
.lgl-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start;padding-top:26px;padding-bottom:56px}
.lgl-side{position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto;padding-right:4px}
.lgl-side h2{font-size:calc(11px*var(--bf-type-sm,1));font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4,#65676b);margin:0 0 8px}
.lgl-toc{list-style:none;margin:0 0 22px;padding:0;counter-reset:lgl}
.lgl-toc li{counter-increment:lgl}
.lgl-toc a{display:flex;gap:8px;padding:6px 10px;border-radius:8px;color:var(--ink-3,#4b4f56);text-decoration:none;font-size:calc(13px*var(--bf-type,1));line-height:1.35;border-left:2px solid transparent}
.lgl-toc a::before{content:counter(lgl) ".";color:var(--ink-4,#8a8d91);min-width:18px}
.lgl-toc a:hover{background:var(--surface,#f2f3f5);color:var(--ink,#1c1e21)}
.lgl-toc a.on{background:var(--surface,#f2f3f5);color:var(--ink,#1c1e21);font-weight:700;border-left-color:var(--bf-brand,#c0392b);border-radius:0 8px 8px 0}
.lgl-others{list-style:none;margin:0;padding:0}
.lgl-others a{display:block;padding:5px 10px;font-size:calc(12.5px*var(--bf-type-sm,1));color:var(--ink-3,#4b4f56);text-decoration:none;border-radius:6px}
.lgl-others a:hover{background:var(--surface,#f2f3f5);color:var(--ink,#1c1e21)}
.lgl-others .all{font-weight:700;color:var(--bf-link,#1d4ed8)}
.lgl-toc-m{display:none}

.lgl-doc{min-width:0;max-width:780px}
.lgl-intro{font-size:calc(15.5px*var(--bf-type,1));line-height:1.7;color:var(--ink-2,#373a3f);padding:18px 20px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--bf-surface,#fff)}
.lgl-intro p{margin:0 0 10px}.lgl-intro p:last-child{margin:0}
.lgl-sec{padding-top:30px;scroll-margin-top:84px}
.lgl-sec h2{font-size:calc(21px*var(--bf-type,1));font-weight:800;letter-spacing:-.01em;margin:0 0 10px;color:var(--ink,#1c1e21);display:flex;gap:10px}
.lgl-sec h2 .n{color:var(--ink-4,#8a8d91);font-weight:700}
.lgl-short{background:var(--surface,#f2f3f5);border-radius:10px;padding:12px 14px;margin:0 0 14px;font-size:calc(14px*var(--bf-type,1));line-height:1.55;color:var(--ink-2,#373a3f)}
.lgl-short b{display:block;font-size:calc(11px*var(--bf-type-sm,1));letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4,#65676b);margin-bottom:3px}
.lgl-text{font-size:calc(15px*var(--bf-type,1));line-height:1.75;color:var(--ink-2,#373a3f)}
.lgl-text p{margin:0 0 12px}
.lgl-text ul,.lgl-text ol{margin:4px 0 14px;padding-left:22px}
.lgl-text li{margin:0 0 6px}
.lgl-text h3{font-size:calc(15.5px*var(--bf-type,1));font-weight:800;color:var(--ink,#1c1e21);margin:18px 0 8px}
.lgl-text code{font-size:.9em;background:var(--surface,#f2f3f5);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}
.lgl-more{margin:4px 0 6px;border:1px solid var(--line,#e5e7eb);border-radius:10px}
.lgl-more summary{cursor:pointer;padding:10px 14px;font-weight:700;font-size:calc(13.5px*var(--bf-type,1));color:var(--ink-2,#373a3f);list-style:none;display:flex;justify-content:space-between;gap:10px}
.lgl-more summary::-webkit-details-marker{display:none}
.lgl-more summary::after{content:"+";font-weight:400;color:var(--ink-4,#8a8d91)}
.lgl-more[open] summary::after{content:"−"}
.lgl-more>div{padding:0 14px 6px}
.lgl-table{width:100%;border-collapse:collapse;margin:6px 0 14px;font-size:calc(13.5px*var(--bf-type,1));line-height:1.5}
.lgl-table th,.lgl-table td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--line,#e5e7eb)}
.lgl-table th{font-size:calc(11px*var(--bf-type-sm,1));letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4,#65676b);background:var(--surface,#f7f8fa)}
.lgl-tablebox{overflow-x:auto}

.lgl-end{margin-top:40px;padding-top:22px;border-top:1px solid var(--line,#e5e7eb)}
.lgl-end h2{font-size:calc(16px*var(--bf-type,1));font-weight:800;margin:0 0 10px}
.lgl-vers{list-style:none;padding:0;margin:0 0 26px;font-size:calc(13.5px*var(--bf-type,1));color:var(--ink-3,#4b4f56)}
.lgl-vers li{display:flex;gap:14px;padding:7px 0;border-bottom:1px solid var(--line-2,#f0f1f3)}
.lgl-vers li span:first-child{min-width:140px;font-weight:700;color:var(--ink-2,#373a3f)}
.lgl-ask{font-size:calc(13.5px*var(--bf-type,1));color:var(--ink-3,#4b4f56);margin:0}

/* Hub */
.lgl-search{position:relative;max-width:560px;margin-top:16px}
.lgl-search input{width:100%;box-sizing:border-box;border:1px solid var(--line,#d6d9de);border-radius:999px;padding:11px 16px 11px 40px;font:inherit;font-size:calc(14.5px*var(--bf-type,1));background:var(--bf-surface,#fff);color:var(--ink,#1c1e21)}
.lgl-search i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--ink-4,#8a8d91)}
.lgl-group{padding-top:26px}
.lgl-group>h2{font-size:calc(18px*var(--bf-type,1));font-weight:800;margin:0}
.lgl-group>p{font-size:calc(13.5px*var(--bf-type,1));color:var(--ink-4,#65676b);margin:3px 0 12px}
.lgl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.lgl-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--bf-surface,#fff);text-decoration:none;color:inherit!important;transition:border-color .15s,box-shadow .15s}
.lgl-card:hover{border-color:var(--ink-4,#8a8d91);box-shadow:0 4px 14px rgba(0,0,0,.06)}
.lgl-card b{font-size:calc(15px*var(--bf-type,1));color:var(--ink,#1c1e21)}
.lgl-card span{font-size:calc(13px*var(--bf-type,1));line-height:1.5;color:var(--ink-3,#4b4f56)}
.lgl-card small{margin-top:auto;font-size:calc(12px*var(--bf-type-sm,1));color:var(--ink-4,#65676b)}
.lgl-hits{list-style:none;margin:14px 0 0;padding:0;max-width:820px}
.lgl-hits li{padding:12px 0;border-bottom:1px solid var(--line-2,#f0f1f3)}
.lgl-hits a{font-weight:700;font-size:calc(14.5px*var(--bf-type,1));text-decoration:none}
.lgl-hits a:hover{text-decoration:underline}
.lgl-hits .doc{font-size:calc(12px*var(--bf-type-sm,1));color:var(--ink-4,#65676b);margin-left:6px}
.lgl-hits p{margin:4px 0 0;font-size:calc(13.5px*var(--bf-type,1));color:var(--ink-3,#4b4f56);line-height:1.5}
.lgl-hits mark{background:#fde68a;color:inherit;padding:0 1px;border-radius:2px}
.lgl-none{padding:22px 0;color:var(--ink-4,#65676b);font-size:calc(14px*var(--bf-type,1))}
.lgl-help{margin:34px 0 56px;padding:18px 20px;border-radius:12px;background:var(--surface,#f2f3f5);display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center;font-size:calc(14px*var(--bf-type,1))}
.lgl-help b{margin-right:auto}

@media (max-width:900px){
  .lgl-body{grid-template-columns:minmax(0,1fr);gap:0;padding-top:16px}
  .lgl-side{display:none}
  .lgl-toc-m{display:block;margin:0 0 16px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:var(--bf-surface,#fff)}
  .lgl-toc-m summary{padding:11px 14px;font-weight:700;font-size:calc(14px*var(--bf-type,1));cursor:pointer}
  .lgl-toc-m .lgl-toc{margin:0;padding:0 6px 8px}
  .lgl-actions{margin-left:0}
}
@media (max-width:560px){
  .lgl-wrap{padding:0 16px}
  .lgl-intro{padding:14px}
  .lgl-sec h2{font-size:calc(19px*var(--bf-type,1))}
  .lgl-vers li{flex-direction:column;gap:2px}
}
@media print{
  nav,header,footer,.lgl-side,.lgl-toc-m,.lgl-actions,.bf-navbar,.navbar,#bfCookie,.cookie-banner{display:none!important}
  .lgl-body{display:block}
  .lgl-more summary::after{content:""}
  .lgl-sec{break-inside:avoid-page}
  a{color:inherit;text-decoration:none}
}
