/* Rep's legal pages: the dark green palette of the app (frontend/src/UI/colors.ts in PetitPois). */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #092328;
  color: #eaf4ec;
  line-height: 1.7;
  padding: 40px 16px;
}
.container { max-width: 720px; margin: 0 auto; }
.app-name {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #eaf4ec;
  font-size: 1.1rem;
  margin-bottom: 32px;
}
.app-name:hover { text-decoration: none; }
.app-name img { width: 36px; height: 36px; border-radius: 9px; display: block; }
h1 {
  font-size: 2rem;
  font-weight: 300;
  color: #eaf4ec;
  margin-bottom: 8px;
  line-height: 1.25;
}
.subtitle {
  color: #5e7a76;
  font-size: 0.9rem;
  margin-bottom: 40px;
}
h2 {
  font-size: 1.1rem;
  color: #eaf4ec;
  margin-top: 36px;
  margin-bottom: 10px;
  border-left: 3px solid #7fe0a8;
  padding-left: 12px;
}
p { margin-bottom: 12px; color: #b9cdc8; }
ol, ul { margin: 0 0 12px 20px; color: #b9cdc8; }
li { margin-bottom: 6px; }
strong { color: #eaf4ec; }
a { color: #7fe0a8; text-decoration: none; }
a:hover { text-decoration: underline; }
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
  font-size: 0.92rem;
}
th, td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid #1d4046;
  color: #b9cdc8;
  vertical-align: top;
}
th { color: #eaf4ec; font-weight: 600; }
.table-wrap { overflow-x: auto; }
.callout {
  border: 1px solid #1d4046;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 12px;
  background: #0f3036;
}
.prevails { margin-top: 36px; font-size: 0.85rem; font-style: italic; color: #5e7a76; }

/* Language choice (see ../lang.js). */
/* Top bar: same layout as the rest of the site (see ../site.css), in Rep's colours. */
@font-face {
  font-family: "Lilita One";
  src: url("../fonts/LilitaOne-Regular.ttf") format("truetype");
  font-display: swap;
}
body { padding-top: 104px; }
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  height: 64px;
  display: flex; align-items: center; gap: 28px;
  padding: 0 clamp(16px, 4vw, 48px);
  background: rgba(9, 35, 40, 0.8);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #1d4046;
}
.nav .brand {
  font-family: "Lilita One", "Segoe UI", sans-serif;
  font-size: 1.15rem; letter-spacing: 3px; text-transform: uppercase;
  color: #eaf4ec; margin-right: auto; white-space: nowrap;
}
.nav a.link {
  color: #8fa9a3;
  font-size: 0.82rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
}
.nav a:hover { text-decoration: none; color: #eaf4ec; }
.nav .btn {
  font-family: "Lilita One", "Segoe UI", sans-serif;
  font-size: 0.9rem; letter-spacing: 1px; text-transform: uppercase;
  color: #092328; background: #7fe0a8; border-radius: 12px; padding: 9px 16px;
  transition: transform 0.15s;
}
.nav .btn:hover { color: #092328; transform: translateY(-2px); }
.nav .show-s { display: none; }
@media (max-width: 720px) {
  .nav { gap: 12px; }
  .nav .brand { font-size: 0.95rem; letter-spacing: 1.5px; }
  .nav a.link { font-size: 0.72rem; letter-spacing: 1px; }
  .nav .hide-s { display: none; }
  .nav .show-s { display: inline; }
  .nav { gap: 10px; }
  .nav .btn { padding: 7px 12px; font-size: 0.82rem; }
  .nav .lang button { padding: 6px 9px; }
}
@media (max-width: 400px) {
  .nav { gap: 8px; padding: 0 12px; }
  .nav .brand { font-size: 0.85rem; letter-spacing: 1px; }
  .nav .lang button { padding: 6px 7px; }
}
.lang { display: inline-flex; border: 1px solid #1d4046; border-radius: 999px; overflow: hidden; }
.lang button {
  background: transparent; border: 0; cursor: pointer;
  color: #8fa9a3; font-family: inherit; font-weight: 700; font-size: 0.78rem; letter-spacing: 1px; padding: 7px 13px;
}
.lang button[aria-pressed="true"] { background: #12544f; color: #7fe0a8; }
html[data-lang="fr"] [data-l="en"],
html[data-lang="en"] [data-l="fr"] { display: none !important; }
/* Without the script: both texts follow each other, the rest of the page stays in French. */
html:not([data-lang]) .lang,
html:not([data-lang]) [data-l="en"]:not(section) { display: none !important; }
html:not([data-lang]) section[data-l="en"] { margin-top: 64px; padding-top: 40px; border-top: 1px solid #1d4046; }
footer {
  margin-top: 60px;
  font-size: 0.8rem;
  color: #5e7a76;
  text-align: center;
}
footer p { margin-bottom: 8px; color: #5e7a76; }
