/* l5g.me – mobile first */
:root {
  --l5g-accent: #0d6efd;
}
html { scroll-padding-top: 4.5rem; }
body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1 0 auto; }
.navbar-brand { font-weight: 700; letter-spacing: .02em; }
.lang-switch .btn { min-width: 3rem; }

/* Hero */
.hero { padding: 2.5rem 0 2rem; }
.hero .app-icon { width: 96px; height: 96px; border-radius: 22%; box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.15); }
@media (min-width: 768px) {
  .hero { padding: 4rem 0 3rem; }
  .hero .app-icon { width: 128px; height: 128px; }
}
.store-badge { display: inline-flex; align-items: center; gap: .6rem; padding: .55rem 1rem; border-radius: .6rem;
  background: #111; color: #fff; text-decoration: none; font-size: .95rem; line-height: 1.15; }
.store-badge:hover { background: #333; color: #fff; }
.store-badge .fa-brands, .store-badge .fa-solid { font-size: 1.5rem; }
.store-badge small { display: block; font-size: .7rem; opacity: .8; }
[data-bs-theme="dark"] .store-badge { background: #e9ecef; color: #111; }
[data-bs-theme="dark"] .store-badge:hover { background: #fff; color: #111; }

/* Screenshots */
.shot { max-width: 100%; height: auto; border-radius: 1.2rem; box-shadow: 0 .75rem 2rem rgba(0,0,0,.18); }
.shot-sm { max-width: 220px; }
.shot-md { max-width: 280px; }

/* Feature / security cards */
.icon-circle { width: 3rem; height: 3rem; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; font-size: 1.25rem; }
.card-feature { height: 100%; }
.card-feature .card-body { display: flex; flex-direction: column; gap: .5rem; }

/* Manual */
.manual h2 { margin-top: 2.5rem; padding-top: .5rem; border-top: 1px solid var(--bs-border-color); }
.manual h3 { margin-top: 2rem; }
.manual h4 { margin-top: 1.5rem; font-size: 1.1rem; }
.manual img { max-width: 100%; height: auto; }
.manual img.code-img { max-width: 220px; }
.manual img.shot { max-width: 260px; display: block; margin: .5rem auto; }
.manual .row-shots img { max-width: 100%; }
.manual .appendix-entry { background: var(--bs-tertiary-bg); border-radius: .75rem; padding: 1rem; margin: 1rem 0; }
.manual .table { font-size: .95rem; }
.manual p { max-width: 70ch; }
.toc { font-size: .9rem; flex-direction: column; flex-wrap: nowrap; }
.toc .nav-link { padding: .15rem .5rem; color: var(--bs-body-color); }
.toc .nav-link.active { color: var(--bs-link-color); font-weight: 600; }
.toc .nav-link.lvl3 { padding-left: 1.5rem; font-size: .85rem; }
@media (min-width: 992px) {
  .toc-sidebar { position: sticky; top: 5rem; max-height: calc(100vh - 6rem); overflow-y: auto; }
}

/* Docs (privacy, dpia) */
.doc h2 { margin-top: 2rem; }
.doc h3 { margin-top: 1.5rem; font-size: 1.2rem; }
.doc table { width: 100%; }

footer { font-size: .9rem; }
footer a { text-decoration: none; }
