/* Extends the captured Tivexa design. */
.header-line { flex-wrap: wrap; }
.tivexa-language { position: relative; margin-inline-start: auto; font-size: .9rem; z-index: 30; }
.tivexa-language summary { cursor: pointer; border: 1px solid #718ba5; border-radius: 8px; padding: .65rem .85rem; background: #0d1b2d; color: #fff; list-style-position: inside; }
.tivexa-language summary:focus-visible, .tivexa-language a:focus-visible { outline: 3px solid #67c9ff; outline-offset: 3px; }
.tivexa-language nav { position: absolute; inset-inline-end: 0; top: calc(100% + .4rem); width: min(22rem,calc(100vw - 3rem)); max-height: min(30rem,70vh); overflow-y: auto; display: grid; grid-template-columns: 1fr 1fr; gap: .2rem; background: #0d1b2d; border: 1px solid #718ba5; padding: .65rem; border-radius: 10px; box-shadow: 0 12px 32px #0008; }
.tivexa-language nav a { display: block; padding: .65rem .5rem; color: #e7f2ff; text-decoration: none; border-radius: 5px; overflow-wrap: anywhere; }
.tivexa-language nav a:hover, .tivexa-language nav a[aria-current] { background: #214564; color: #fff; }
.tivexa-language a[data-auto-language] { grid-column: 1 / -1; border-top: 1px solid #718ba5; margin-top: .4rem; }
.tivexa-legal-notice { border-inline-start: 4px solid #67c9ff; padding: .8rem 1rem; background: #11243a; border-radius: 5px; }
.tivexa-legal-original { text-align: left; }
html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] .brand, html[dir="rtl"] .player-preview, html[dir="rtl"] .dl-screen-logo { direction: ltr; }
html[dir="rtl"] .hero-copy, html[dir="rtl"] .panel, html[dir="rtl"] .dl-card { text-align: right; }
html[dir="rtl"] .dl-store-note, html[dir="rtl"] .dl-trial, html[dir="rtl"] .dl-feature { text-align: start; }
html[dir="rtl"] .site-header .brand { margin-inline-end: 0; }
html[dir="rtl"] address { text-align: left; }
main h1, main h2, main h3, .main-nav a { overflow-wrap: anywhere; }
main p, .panel p, .dl-card p { overflow-wrap: anywhere; }
.main-nav { flex-wrap: wrap; }
@media (max-width: 700px) {
  .tivexa-language { margin-block: .5rem; }
  .tivexa-language nav { width: min(22rem,calc(100vw - 2rem)); }
  .header-line { gap: .65rem; }
  .main-nav { width: 100%; }
}
/* Keep the expanded language menu above the decorative media preview. */
.site-header { position: relative; z-index: 100; }

/* German legal originals retain their original reading alignment in RTL pages. */
html[dir="rtl"] .tivexa-legal-original .panel { text-align: left; }
