/* Grand Hotel Traian — legal pages.
   Self-contained on purpose: these pages do not load the application bundle,
   so they cannot rely on the Tailwind classes it generates. Palette and
   typography are copied from the site so the pages still read as native. */

:root {
  --ink: #17130f;
  --ink-soft: #211d1a;
  --paper: #f7f3ec;
  --paper-warm: #ece4d8;
  --paper-deep: #e7ded1;
  --body: #6a5f56;
  --gold: #d6c3a4;
  --gold-deep: #b99d72;
  --gold-pale: #dfcba8;
  --wine: #6f1d2b;
  --wine-deep: #581521;
  --display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--wine); text-decoration: none; border-bottom: 1px solid rgba(111, 29, 43, 0.28); }
a:hover { color: var(--wine-deep); border-bottom-color: var(--wine-deep); }

/* ---------------------------------------------------------------- header */
.lg-header {
  background: var(--ink);
  color: var(--paper);
  padding: 1.55rem 1.25rem;
}
.lg-header-inner {
  max-width: 78rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.lg-brand { display: flex; align-items: center; gap: 0.85rem; border: 0; }
.lg-brand img { height: 42px; width: auto; display: block; }
.lg-brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.lg-brand-name {
  font-family: var(--display);
  font-size: 1.16rem;
  letter-spacing: 0.05em;
  color: var(--paper);
}
.lg-brand-sub {
  font-size: 0.54rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 0.18rem;
}
.lg-back {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(214, 195, 164, 0.35);
  padding: 0.72rem 1.3rem;
}
.lg-back:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }

/* ---------------------------------------------------------------- hero */
.lg-hero {
  background: var(--ink);
  color: var(--paper);
  padding: 3.2rem 1.25rem 4.6rem;
  border-top: 1px solid rgba(214, 195, 164, 0.14);
}
.lg-hero-inner { max-width: 52rem; margin: 0 auto; }
.lg-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold-pale);
  margin: 0 0 1.6rem;
}
.lg-eyebrow::before { content: ""; height: 1px; width: 2.4rem; background: var(--gold-deep); }
.lg-hero h1 {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(2.5rem, 5.4vw, 3.9rem);
  line-height: 0.98;
  letter-spacing: -0.03em;
  margin: 0;
}
.lg-hero p { margin: 1.5rem 0 0; color: rgba(248, 242, 233, 0.68); max-width: 34rem; }
.lg-updated {
  margin-top: 2.2rem;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(214, 195, 164, 0.75);
}

/* ---------------------------------------------------------------- body */
.lg-main { max-width: 52rem; margin: 0 auto; padding: 3.4rem 1.25rem 4.5rem; }

.lg-notice {
  border-left: 3px solid var(--wine);
  background: var(--paper-warm);
  padding: 1.15rem 1.4rem;
  margin: 0 0 2.8rem;
  font-size: 0.88rem;
  color: var(--body);
}
.lg-notice strong { color: var(--ink-soft); }

.lg-toc {
  border: 1px solid rgba(33, 29, 26, 0.12);
  background: #fff;
  padding: 1.5rem 1.7rem;
  margin-bottom: 3rem;
}
.lg-toc h2 {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--wine);
  margin: 0 0 1rem;
}
.lg-toc ol { margin: 0; padding-left: 1.15rem; color: var(--body); }
.lg-toc li { margin-bottom: 0.4rem; }
.lg-toc a { border: 0; color: var(--ink-soft); }
.lg-toc a:hover { color: var(--wine); }

.lg-main h2 {
  font-family: var(--display);
  font-weight: 400;
  font-size: 1.85rem;
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 3.1rem 0 1rem;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(33, 29, 26, 0.1);
}
.lg-main h2:first-of-type { margin-top: 0; border-top: 0; padding-top: 0; }
.lg-main h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink-soft);
  margin: 1.9rem 0 0.6rem;
}
.lg-main p, .lg-main li { color: var(--body); }
.lg-main ul, .lg-main ol { padding-left: 1.25rem; }
.lg-main li { margin-bottom: 0.5rem; }

.lg-identity {
  border: 1px solid rgba(33, 29, 26, 0.12);
  background: #fff;
  padding: 0.4rem 1.4rem;
  margin: 1.4rem 0 0;
}
.lg-identity dl { margin: 0; }
.lg-identity div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.1rem;
  padding: 0.72rem 0;
  border-bottom: 1px solid rgba(33, 29, 26, 0.07);
}
.lg-identity div:last-child { border-bottom: 0; }
.lg-identity dt {
  flex: 0 0 13rem;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wine);
  padding-top: 0.24rem;
}
.lg-identity dd { margin: 0; flex: 1 1 14rem; color: var(--ink-soft); }

.lg-table-wrap { overflow-x: auto; margin: 1.4rem 0; }
table.lg-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; min-width: 34rem; }
table.lg-table th, table.lg-table td {
  text-align: left;
  vertical-align: top;
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid rgba(33, 29, 26, 0.1);
}
table.lg-table th {
  font-size: 0.56rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wine);
  background: var(--paper-warm);
  border-bottom-color: rgba(33, 29, 26, 0.16);
}
table.lg-table td { color: var(--body); }
table.lg-table code {
  font-size: 0.82em;
  background: var(--paper-deep);
  padding: 0.1rem 0.35rem;
  color: var(--ink-soft);
}

.lg-lang-note {
  margin-top: 3.4rem;
  padding-top: 1.6rem;
  border-top: 1px solid rgba(33, 29, 26, 0.1);
  font-size: 0.82rem;
  color: var(--body);
}

/* ---------------------------------------------------------------- footer */
.lg-footer {
  background: var(--ink);
  color: rgba(213, 205, 194, 0.55);
  padding: 3rem 1.25rem;
  font-size: 0.78rem;
}
.lg-footer-inner { max-width: 78rem; margin: 0 auto; }
.lg-footer-links { display: flex; flex-wrap: wrap; gap: 0.75rem 1.6rem; margin-bottom: 1.5rem; }
.lg-footer a { color: rgba(213, 205, 194, 0.75); border: 0; }
.lg-footer a:hover { color: #fff; }
.lg-footer-meta { margin: 0; }

@media (max-width: 640px) {
  .lg-identity dt { flex: 1 1 100%; }
  .lg-hero { padding: 2.4rem 1.25rem 3.4rem; }
}

/* Re-opens the privacy notice from the cookie policy page. */
.lg-consent-btn {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: #fff;
  background: var(--wine);
  border: 1px solid var(--wine);
  padding: 0.92rem 1.5rem;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.lg-consent-btn:hover { background: var(--wine-deep); border-color: var(--wine-deep); }
