/* Obchodní podmínky (templates/legal/terms.html.twig) — navazuje na docs.css (horní lišta, hero, patička). */
.legal-hero p { margin-bottom: 14px; }
.legal-print { border: 1px solid #d9dcf0; background: #fff; color: #3b2bd6; font: 600 .86rem/1 Inter, sans-serif; padding: 9px 14px; border-radius: 8px; cursor: pointer; }
.legal-print:hover { border-color: #4318ee; }

.legal-wrap { max-width: 1160px; margin: 0 auto; padding: 8px 20px 64px; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; }
.legal-toc { position: sticky; top: 76px; max-height: calc(100vh - 96px); overflow: auto; font-size: .86rem; border: 1px solid #e6e8ef; border-radius: 12px; background: #fff; padding: 14px 16px; }
.legal-toc-title { font-weight: 700; margin-bottom: 8px; color: #1c1d26; }
.legal-toc ol { list-style: none; margin: 0; padding: 0; }
.legal-toc li { margin: 0; }
.legal-toc a { display: block; padding: 4px 0; color: #4b4f63; text-decoration: none; line-height: 1.35; }
.legal-toc a:hover { color: #4318ee; }

.legal-doc { background: #fff; border: 1px solid #e6e8ef; border-radius: 16px; padding: 32px 40px; font-size: .95rem; line-height: 1.65; color: #23252f; }
.legal-doc h2 { font: 700 1.2rem/1.3 Montserrat, Inter, sans-serif; color: #15162b; margin: 36px 0 12px; padding-top: 8px; scroll-margin-top: 80px; }
.legal-doc h2:first-of-type { margin-top: 24px; }
.legal-doc h3 { font-size: 1rem; margin: 22px 0 8px; color: #15162b; scroll-margin-top: 80px; }
.legal-doc ol { padding-left: 1.4em; margin: 0 0 8px; }
.legal-doc ol > li { margin-bottom: 8px; padding-left: 4px; }
.legal-doc ul { padding-left: 1.2em; margin: 6px 0; }
.legal-doc ul li { margin-bottom: 4px; }
.legal-doc a { color: #3b2bd6; }

.legal-provider { background: #f6f5ff; border: 1px solid #e4e0ff; border-radius: 12px; padding: 16px 20px; }
.legal-provider p { margin: 0 0 10px; }
.legal-provider dl { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 16px; margin: 0; }
.legal-provider dt { color: #6b7088; }
.legal-provider dd { margin: 0; }

.legal-table { overflow-x: auto; margin: 12px 0; }
.legal-table table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.legal-table th, .legal-table td { border: 1px solid #e6e8ef; padding: 8px 10px; text-align: left; vertical-align: top; }
.legal-table th { background: #f7f7fb; font-weight: 600; }
.legal-table .num { text-align: right; white-space: nowrap; }
.legal-note { font-size: .88rem; color: #4b4f63; }
.legal-form { border: 1px dashed #c9cce0; border-radius: 12px; padding: 16px 20px; }
.legal-form p { margin: 0 0 10px; }

@media (max-width: 900px) {
    .legal-wrap { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 4px 16px 48px; }
    .legal-toc { position: static; max-height: none; }
    .legal-doc { padding: 22px 18px; }
    .legal-provider dl { grid-template-columns: minmax(0, 1fr); }
    .legal-provider dt { margin-top: 6px; }
}

@media print {
    .docs-topbar, .legal-toc, .legal-print, .pay-badges { display: none !important; }
    .legal-wrap { display: block; padding: 0; max-width: none; }
    .legal-doc { border: 0; padding: 0; font-size: 10.5pt; }
    .docs-hero { padding: 0 0 12px; background: none; }
    .legal-doc h2 { break-after: avoid; }
    body { background: #fff; }
}

/* ── Samostatné právní stránky (podmínky / opakované platby / kontakt) ── */
.legal-tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-top: 18px; padding: 4px; border: 1px solid #e4e0ff; border-radius: 999px; background: #fff; }
.legal-tabs a { padding: 8px 16px; border-radius: 999px; font: 600 .88rem/1.2 Inter, sans-serif; color: #4b4f63; text-decoration: none; }
.legal-tabs a:hover { color: #3b2bd6; background: #f6f5ff; }
.legal-tabs a[aria-current="page"] { background: linear-gradient(135deg, #4318ee, #b03cf0); color: #fff; }
.legal-hero p a { color: #3b2bd6; }
.legal-wrap-single { grid-template-columns: minmax(0, 900px); justify-content: center; }
.legal-lead { font-size: 1.02rem; color: #3a3d4f; margin: 0 0 8px; }
.legal-provider-links { margin: 12px 0 0 !important; font-size: .88rem; }
.legal-contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.legal-contact-card { border: 1px solid #e6e8ef; border-radius: 14px; padding: 18px 22px; background: #fbfbfe; }
.legal-contact-card h2 { margin-top: 4px !important; }
.legal-contact-card dl { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 6px 14px; margin: 0; }
.legal-contact-card dt { color: #6b7088; }
.legal-contact-card dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
@media (max-width: 560px) { .legal-tabs { border-radius: 14px; } .legal-contact-card dl { grid-template-columns: 1fr; } .legal-contact-card dt { margin-top: 6px; } }
@media print { .legal-tabs { display: none; } }
