/* ============================================================
   LEGAL PAGES - legal-styles.css
   Nutzt bestehende TraumRaum CSS-Variablen (--tr-gold etc.)
   ============================================================ */

.tr-legal-lang-switch { margin-top:0.75rem; display:flex; align-items:center; gap:0.5rem; justify-content:center; }
.tr-legal-lang-btn { color:rgba(255,255,255,0.6); text-decoration:none; font-size:0.85rem; font-weight:600; letter-spacing:0.08em; padding:0.2rem 0.6rem; border-radius:4px; transition:all 0.2s; }
.tr-legal-lang-btn:hover, .tr-legal-lang-btn.active { color:var(--tr-gold); background:rgba(201,168,76,0.1); }
.tr-legal-lang-sep { color:rgba(255,255,255,0.2); font-size:0.75rem; }

.tr-legal-article { background:rgba(8,2,6,0.7); border:1px solid rgba(201,168,76,0.12); border-radius:10px; padding:3rem 3.5rem; }

.tr-legal-article h1 { color:var(--tr-gold); font-size:2rem; font-weight:700; margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:2px solid rgba(201,168,76,0.25); letter-spacing:0.03em; }
.tr-legal-article h2 { color:var(--tr-gold); font-size:1.15rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; margin-top:2.5rem; margin-bottom:0.75rem; padding-bottom:0.4rem; border-bottom:1px solid rgba(201,168,76,0.15); }
.tr-legal-article h3 { color:#e8d9b8; font-size:1rem; font-weight:600; margin-top:1.5rem; margin-bottom:0.5rem; }
.tr-legal-article h4 { color:#c8b898; font-size:0.92rem; font-weight:600; margin-top:1.25rem; margin-bottom:0.4rem; }

.tr-legal-article p { color:#b8aa98; font-size:0.92rem; line-height:1.85; margin-bottom:1rem; }
.tr-legal-article a { color:var(--tr-gold-dark); text-decoration:none; border-bottom:1px solid rgba(139,105,20,0.3); transition:all 0.2s; }
.tr-legal-article a:hover { color:var(--tr-gold); border-bottom-color:var(--tr-gold); }
.tr-legal-article ul, .tr-legal-article ol { color:#b8aa98; font-size:0.92rem; line-height:1.85; padding-left:1.5rem; margin-bottom:1rem; }
.tr-legal-article li { margin-bottom:0.3rem; }
.tr-legal-article strong { color:#e8d9b8; font-weight:600; }

.tr-legal-stand { color:#555; font-size:0.78rem; font-style:italic; margin-top:2.5rem; padding-top:1rem; border-top:1px solid rgba(201,168,76,0.08); }

.tr-legal-nav { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1.5rem; padding-top:1rem; }
.tr-legal-nav-link { color:#666; font-size:0.82rem; text-decoration:none; padding:0.3rem 0.75rem; border:1px solid rgba(201,168,76,0.1); border-radius:4px; transition:all 0.2s; }
.tr-legal-nav-link:hover, .tr-legal-nav-link.active { color:var(--tr-gold); border-color:rgba(201,168,76,0.3); background:rgba(201,168,76,0.05); }

@media (max-width:768px) {
    .tr-legal-article { padding:1.75rem 1.25rem; }
    .tr-legal-article h1 { font-size:1.5rem; }
    .tr-legal-article h2 { font-size:1rem; }
}

/* ============================================================
   LAYOUT-ELEMENTE fuer DB-Content (trl-* Klassen)
   ============================================================ */
.trl-hero { text-align:center; padding:2.5rem 0 2rem; }
.trl-hero h1 { color:var(--tr-gold); font-size:2.2rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; margin:0.5rem 0 0; }
.trl-badge { display:inline-block; background:rgba(201,168,76,0.12); border:1px solid rgba(201,168,76,0.3); color:var(--tr-gold-dark); font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:0.25rem 0.9rem; border-radius:20px; margin-bottom:0.5rem; }

.trl-card { background:rgba(255,255,255,0.03); border:1px solid rgba(201,168,76,0.12); border-radius:8px; padding:1.4rem 1.6rem; margin-bottom:1rem; }
.trl-card-highlight { border-color:rgba(201,168,76,0.3); border-left:3px solid var(--tr-gold); background:rgba(201,168,76,0.04); }
.trl-card-label { font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--tr-gold-dark); margin-bottom:0.6rem; }
.trl-card-note { font-size:0.75rem; color:#666; margin-bottom:0.5rem; font-style:italic; }
.trl-entity-name { color:#e8d9b8; font-size:1.1rem; font-weight:600; margin-bottom:0.4rem; }
.trl-address { color:#999; font-size:0.88rem; line-height:1.6; }
.trl-contact-row { color:#aaa; font-size:0.9rem; margin-top:0.4rem; }
.trl-contact-row a { color:var(--tr-gold-dark); text-decoration:none; }
.trl-contact-row a:hover { color:var(--tr-gold); }

.trl-ust-label { font-size:0.78rem; color:#666; margin-bottom:0.3rem; }
.trl-ust-number { font-size:1.3rem; font-weight:700; color:var(--tr-gold); letter-spacing:0.08em; }

.trl-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }

.trl-notice { display:flex; gap:1.25rem; align-items:flex-start; background:rgba(201,168,76,0.06); border:1px solid rgba(201,168,76,0.2); border-radius:8px; padding:1.25rem 1.5rem; margin:1.25rem 0; }
.trl-notice-icon { flex-shrink:0; width:40px; height:40px; background:rgba(201,168,76,0.15); border:1px solid rgba(201,168,76,0.3); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.65rem; font-weight:700; color:var(--tr-gold); }
.trl-notice strong { color:#e8d9b8; }
.trl-notice div { color:#aaa; font-size:0.88rem; line-height:1.7; }
.trl-notice a { color:var(--tr-gold-dark); }

.trl-eu-box { display:flex; gap:1.25rem; align-items:flex-start; background:rgba(8,2,6,0.5); border:1px solid rgba(201,168,76,0.1); border-radius:8px; padding:1.25rem 1.5rem; margin:1.25rem 0; }
.trl-eu-icon { flex-shrink:0; width:40px; height:40px; background:rgba(30,50,120,0.25); border:1px solid rgba(100,130,220,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.6rem; font-weight:700; color:#8899dd; }
.trl-eu-box div { color:#aaa; font-size:0.88rem; line-height:1.7; }
.trl-eu-box strong { color:#e8d9b8; }
.trl-eu-box a { color:var(--tr-gold-dark); }

.trl-section { margin:2rem 0 1rem; }
.trl-section h2 { color:var(--tr-gold); font-size:1rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:1rem; padding-bottom:0.4rem; border-bottom:1px solid rgba(201,168,76,0.15); }
.trl-section h3 { color:#e8d9b8; font-size:0.95rem; font-weight:600; margin:1.25rem 0 0.4rem; }
.trl-section p { color:#aaa; font-size:0.88rem; line-height:1.8; margin-bottom:0.9rem; }

.trl-legal-basis { display:inline-block; background:rgba(139,105,20,0.1); border:1px solid rgba(139,105,20,0.25); color:#8B6914; font-size:0.72rem; font-weight:600; letter-spacing:0.06em; padding:0.2rem 0.7rem; border-radius:4px; margin:0.5rem 0 1rem; }

.trl-rights-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0.75rem; margin:1.25rem 0; }
.trl-right-item { background:rgba(255,255,255,0.02); border:1px solid rgba(201,168,76,0.1); border-radius:8px; padding:0.9rem; text-align:center; display:flex; flex-direction:column; align-items:center; gap:0.5rem; }
.trl-right-icon { width:36px; height:36px; background:rgba(201,168,76,0.1); border:1px solid rgba(201,168,76,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.65rem; font-weight:700; color:var(--tr-gold); flex-shrink:0; }
.trl-right-item span { color:#aaa; font-size:0.78rem; line-height:1.4; }
.trl-right-item small { color:#666; font-size:0.7rem; display:block; }

@media (max-width:640px) {
    .trl-grid-2 { grid-template-columns:1fr; }
    .trl-rights-grid { grid-template-columns:repeat(2,1fr); }
}