/* Shared styles for the legal pages (consent, privacy policy) */

@font-face {
  font-family: "DIN Pro Condensed";
  src: url("../fonts/DINPro-CondensedRegular.otf") format("opentype");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "DIN Pro Condensed";
  src: url("../fonts/DINPro-CondensedBold.otf") format("opentype");
  font-weight: 800;
  font-display: swap;
}

:root { --orange: #E37222; --black: #000000; --white: #FFFFFF; }

*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  font-family: "DIN Pro Condensed", "Arial Narrow", sans-serif;
  background: var(--white);
  color: var(--black);
  -webkit-font-smoothing: antialiased;
}

p, li, td { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

.doc-header { background: var(--orange); text-align: center; }
.doc-header img { display: block; height: 90px; width: auto; margin: 0 auto; }

main {
  max-width: 760px;
  margin: 0 auto;
  padding: 2.5rem 1rem 3rem;
  font-size: 1.1rem;
  line-height: 1.5;
}

h1 {
  margin: 0 0 1.5rem;
  font-weight: 800;
  font-size: clamp(1.6rem, 6vw, 2.2rem);
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}
h2 {
  margin: 2.2rem 0 0.8rem;
  font-weight: 800;
  font-size: 1.45rem;
  line-height: 1.2;
}
h3 {
  margin: 1.6rem 0 0.6rem;
  font-weight: 800;
  font-size: 1.2rem;
  line-height: 1.25;
}
strong { font-weight: 800; }

p { margin: 0 0 1rem; }
ol, ul { margin: 0 0 1.2rem; padding-left: 1.4rem; }
li { margin-bottom: 0.5rem; }
li p { margin: 0.4rem 0 0; }

a { color: var(--orange); text-underline-offset: 2px; overflow-wrap: anywhere; }
a:hover { color: var(--black); }

.table-wrap { overflow-x: auto; margin: 0 0 1.5rem; }
table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 0.95rem; line-height: 1.35; }
th, td { padding: 0.5rem 0.6rem; border: 1px solid rgb(0 0 0 / 0.15); text-align: left; vertical-align: top; }
th { background: var(--orange); color: var(--white); font-weight: 800; }
tbody tr:nth-child(even) { background: rgb(227 114 34 / 0.07); }
td:first-child { font-weight: 800; }

/* Phones: each table row becomes a card with field labels, no sideways scrolling */
@media (max-width: 599px) {
  table { min-width: 0; }
  thead { display: none; }
  table, tbody, tr, td { display: block; }
  tr { margin-bottom: 0.8rem; border: 1px solid rgb(0 0 0 / 0.15); }
  tbody tr:nth-child(even) { background: none; }
  td { border: 0; border-top: 1px solid rgb(0 0 0 / 0.08); }
  td:first-child { border-top: 0; background: var(--orange); color: var(--white); }
  td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.8em;
    font-weight: 800;
    text-transform: uppercase;
    opacity: 0.6;
  }
}

.doc-links {
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgb(0 0 0 / 0.15);
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.6rem;
  font-size: 1rem;
}

footer {
  background: var(--orange);
  color: rgb(255 255 255 / 0.9);
  text-align: center;
  padding: 1rem;
  font-size: 0.8rem;
}
