/* ============================================================
   Corfu Odyssey — Legal / info pages (insurance, …)
   Loaded after tokens + base + components. Pure-CSS DE/EN toggle.
   ============================================================ */
.legal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:15px clamp(20px,5vw,40px);background:rgba(6,18,40,.72);backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--hair);position:sticky;top:0;z-index:60}
.legal-top .brand{font-size:1rem}
.back-link{font-size:.82rem;color:var(--mist);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  padding:9px 14px;border:1px solid var(--hair);border-radius:100px;transition:background .25s,color .25s}
.back-link:hover{background:var(--faint);color:var(--marble)}

.legal{max-width:880px;margin:0 auto;padding:clamp(28px,5vw,52px) clamp(20px,5vw,40px) 90px}
.legal h1{font-family:var(--display);font-weight:700;letter-spacing:-.01em;font-size:clamp(2rem,5vw,3.1rem);line-height:1.05;margin:6px 0 10px}
.legal h2{font-family:var(--display);font-weight:700;font-size:clamp(1.25rem,3vw,1.7rem);margin:34px 0 12px}
.legal h3{font-family:var(--display);font-weight:700;font-size:1.08rem;color:var(--bronze-lite);margin:22px 0 8px}
.legal p,.legal li{color:var(--mist);line-height:1.7}
.legal p{margin:0 0 12px;max-width:72ch}
.legal ul{margin:0 0 14px;padding-left:20px;max-width:72ch}
.legal li{margin:5px 0}
.legal a{color:var(--bronze-lite);text-decoration:underline}
.legal strong{color:var(--marble);font-weight:600}
.legal .lede{font-size:1.08rem;color:var(--marble)}

.prices{width:100%;max-width:440px;border-collapse:collapse;margin:14px 0 6px}
.prices th,.prices td{padding:10px 14px;border-bottom:1px solid var(--hair);font-size:.95rem;text-align:left}
.prices th{color:var(--mist);font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.prices td:last-child,.prices th:last-child{text-align:right;color:var(--bronze-lite);font-family:var(--display);font-weight:700}

.callout{border:1px solid var(--hair);border-radius:14px;padding:18px 20px;background:rgba(5,17,38,.45);margin:20px 0}
.callout p:last-child{margin-bottom:0}

.doc-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}
.doc-links a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--hair);border-radius:100px;
  padding:11px 18px;color:var(--marble);text-decoration:none;font-size:.86rem;font-weight:600;transition:background .25s,border-color .25s}
.doc-links a:hover{background:var(--faint);border-color:var(--bronze-lite)}

/* pure-CSS language toggle */
.lang-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.lang-switch{display:inline-flex;gap:2px;border:1px solid var(--hair);border-radius:100px;padding:3px;margin-bottom:26px}
.lang-switch label{padding:7px 17px;border-radius:100px;color:var(--mist);cursor:pointer;font-weight:600;font-size:.8rem;letter-spacing:.1em;transition:background .25s,color .25s}
.lang-content{display:none}
#lang-en:checked ~ .legal .lang-content[data-lang="en"]{display:block}
#lang-de:checked ~ .legal .lang-content[data-lang="de"]{display:block}
#lang-en:checked ~ .legal .lang-switch label[for="lang-en"],
#lang-de:checked ~ .legal .lang-switch label[for="lang-de"]{background:var(--bronze-lite);color:#2c200a}
