/* ===== Telemedizin (Template A/B): Hero, Banner, Vergleich, Karten ===== */
.tc-hero{background:linear-gradient(180deg,var(--ds-canvas),#fff);padding:var(--ds-s5) 0 var(--ds-s6)}
.tc-crumbs{margin:0 0 var(--ds-s4)}.tc-b-crumbs{padding-top:var(--ds-s4)}.tc-b-crumbs .tc-crumbs{margin:0}
.tc-hero__grid{display:grid;grid-template-columns:1fr 340px;gap:var(--ds-s6);align-items:center}
.tc-hero h1{font-size:clamp(1.8rem,4vw,var(--ds-fs-3xl));line-height:1.12;font-weight:800;letter-spacing:-.02em;color:var(--ds-forest);margin:0 0 var(--ds-s3)}
.tc-lead{font-size:var(--ds-fs-lg);color:var(--ds-mut);line-height:1.55;margin:0 0 var(--ds-s4);max-width:640px}
.tc-chips{list-style:none;display:flex;flex-wrap:wrap;gap:var(--ds-s2);margin:0 0 var(--ds-s5);padding:0}
.tc-chips li{background:var(--ds-mint);color:var(--ds-forest);font-size:var(--ds-fs-xs);font-weight:700;padding:6px var(--ds-s3);border-radius:var(--ds-r-pill)}
.tc-hero__card{background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);box-shadow:var(--ds-shadow-2);padding:var(--ds-s5);display:flex;flex-direction:column;gap:var(--ds-s2)}
.tc-hero__card strong{font-size:var(--ds-fs-xl);color:var(--ds-forest)}.tc-hero__card small{color:var(--ds-mut)}
.tc-hero__card dl{margin:var(--ds-s3) 0;display:flex;flex-direction:column;gap:var(--ds-s2)}.tc-hero__card dl div{display:flex;justify-content:space-between;gap:var(--ds-s3);border-bottom:1px solid var(--ds-line);padding-bottom:6px}
.tc-hero__card dt{color:var(--ds-mut);font-size:var(--ds-fs-sm)}.tc-hero__card dd{margin:0;font-weight:800;color:var(--ds-forest);text-align:right}
/* Logo-Kachel */
.tc-logo{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--ds-r-sm);background:var(--ds-mint);color:var(--ds-forest);font-weight:800;flex:none}
.tc-logo--sm{width:32px;height:32px;font-size:.8rem}.tc-logo--lg{width:64px;height:64px;font-size:1.3rem}
.tc-logo--zen{width:auto;height:auto;background:transparent;gap:8px;font-size:1.05rem}
.tc-logo--zen i{display:inline-block;width:22px;height:22px;border:3px solid var(--ds-forest);border-radius:50%;border-right-color:transparent;transform:rotate(-30deg)}
.tc-logo--zen b{font-weight:800;letter-spacing:-.02em}
.tc-logo--on-dark{color:#fff}.tc-logo--on-dark i{border-color:#fff;border-right-color:transparent}
/* Sponsored Banner */
.tc-banner{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:var(--ds-s6);align-items:center;margin:var(--ds-s5) 0;padding:var(--ds-s6) var(--ds-s7) var(--ds-s6) var(--ds-s6);border-radius:var(--ds-r-lg);color:#fff;overflow:hidden;background:linear-gradient(115deg,var(--ds-forest) 0%,#0F6B49 55%,var(--ds-brand) 100%)}
.tc-banner::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.07)}
.tc-banner::before{content:"";position:absolute;right:120px;bottom:-110px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.05)}
.tc-banner__tag{position:absolute;top:var(--ds-s3);left:var(--ds-s4);background:rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px var(--ds-s3);border-radius:var(--ds-r-pill)}
.tc-banner__brand{font-size:1.6rem;padding-top:var(--ds-s2)}.tc-banner__brand .tc-logo--zen b{font-size:1.6rem}.tc-banner__brand .tc-logo--zen i{width:34px;height:34px;border-width:4px}
.tc-banner__copy{position:relative;z-index:1}.tc-banner__copy strong{display:block;font-size:var(--ds-fs-xl);line-height:1.2;margin-bottom:var(--ds-s2)}
.tc-banner__copy p{margin:0 0 var(--ds-s3);opacity:.9;line-height:1.5;max-width:560px}
.tc-banner__copy ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--ds-s2);margin:0;padding:0}.tc-banner__copy li{background:rgba(255,255,255,.14);border-radius:var(--ds-r-pill);padding:4px var(--ds-s3);font-size:var(--ds-fs-xs);font-weight:600}
.tc-banner__cta{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--ds-s2)}.tc-banner__cta small{opacity:.75;font-size:11px}
.tc-btn-light{background:#fff;color:var(--ds-forest);padding:var(--ds-s4) var(--ds-s6);font-size:var(--ds-fs-md);box-shadow:var(--ds-shadow-2)}.tc-btn-light:hover{background:var(--ds-mint)}
/* Toggle */
.tc-toggle{display:flex;gap:4px;background:var(--ds-canvas);border:1px solid var(--ds-line);border-radius:var(--ds-r-pill);padding:4px;width:max-content;margin:0 auto var(--ds-s5)}
.tc-toggle button{border:0;background:transparent;border-radius:var(--ds-r-pill);padding:10px var(--ds-s5);font:700 var(--ds-fs-sm)/1 var(--ds-font);color:var(--ds-mut);cursor:pointer}
.tc-toggle button.is-active{background:var(--ds-forest);color:#fff}
/* Vergleichsmatrix */
.tc-scroll{overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--ds-s2)}
.tc-matrix{display:grid;grid-template-columns:220px repeat(var(--cols),248px);width:max-content;min-width:100%}
.tc-cell{padding:var(--ds-s3) var(--ds-s4);display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--ds-fs-sm);min-height:56px;border-bottom:1px solid var(--ds-line);background:#fff;scroll-snap-align:start}
.tc-cell.is-alt{background:var(--ds-canvas)}
.tc-crit{justify-content:flex-start;text-align:left;font-weight:700;color:var(--ds-forest);position:sticky;left:0;z-index:3;background:#fff;box-shadow:1px 0 0 var(--ds-line)}
.tc-crit.is-alt{background:var(--ds-canvas)}
.tc-head{flex-direction:column;gap:var(--ds-s2);padding:var(--ds-s4);min-height:170px;background:#fff;border-top:1px solid var(--ds-line)}
.tc-head strong{color:var(--ds-forest);font-size:var(--ds-fs-md)}
.tc-flag{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px var(--ds-s3);border-radius:var(--ds-r-pill);min-height:20px}
.tc-flag--sponsor{background:var(--ds-forest);color:#fff}.tc-flag--focus{background:var(--ds-mint);color:var(--ds-forest)}.tc-flag--none{opacity:0}
.tc-cell.is-sponsor{box-shadow:inset 2px 0 0 var(--ds-brand),inset -2px 0 0 var(--ds-brand);background:#F3FBF6}
.tc-cell.is-sponsor.is-alt{background:#EAF7EF}
.tc-head.is-sponsor{box-shadow:inset 2px 0 0 var(--ds-brand),inset -2px 0 0 var(--ds-brand),inset 0 2px 0 var(--ds-brand);border-radius:var(--ds-r-md) var(--ds-r-md) 0 0}
.tc-foot.is-sponsor{box-shadow:inset 2px 0 0 var(--ds-brand),inset -2px 0 0 var(--ds-brand),inset 0 -2px 0 var(--ds-brand);border-radius:0 0 var(--ds-r-md) var(--ds-r-md)}
.tc-cell.is-focus{background:var(--ds-mint)}.tc-cell.is-focus.is-alt{background:#D3EFE0}
.tc-cell.is-miss{color:var(--ds-mut);font-size:var(--ds-fs-xs)}
.tc-foot{flex-direction:column;gap:var(--ds-s2);padding:var(--ds-s4);border-bottom:0}.tc-foot .ds-btn{width:100%}
.tc-more{font-size:var(--ds-fs-xs);font-weight:700;color:var(--ds-brand);text-decoration:none}
.tc-scrollhint{display:none;text-align:center;color:var(--ds-mut);font-size:var(--ds-fs-xs);margin:var(--ds-s2) 0 0}
.tc-disclaimer{margin:var(--ds-s4) 0 0;line-height:1.5}
/* Tabellenansicht */
.tc-table{width:100%;border-collapse:collapse;font-size:var(--ds-fs-sm);background:#fff}
.tc-table th,.tc-table td{padding:var(--ds-s3) var(--ds-s4);border-bottom:1px solid var(--ds-line);text-align:left;vertical-align:middle}
.tc-table thead th{font-size:var(--ds-fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ds-mut);background:var(--ds-canvas);white-space:nowrap}
.tc-table tbody th{position:sticky;left:0;background:#fff;z-index:2;min-width:190px}
.tc-table tbody th span{display:inline-flex;flex-direction:column;vertical-align:middle;margin-left:var(--ds-s3)}.tc-table tbody th .tc-logo{vertical-align:middle}
.tc-table tbody tr:nth-child(even) th,.tc-table tbody tr:nth-child(even) td{background:var(--ds-canvas)}
.tc-table tr.is-sponsor th,.tc-table tr.is-sponsor td{background:#EAF7EF;box-shadow:inset 0 2px 0 var(--ds-brand),inset 0 -2px 0 var(--ds-brand)}
.tc-table tr.is-focus th,.tc-table tr.is-focus td{background:var(--ds-mint)}
.tc-table em{font-style:normal;font-size:11px;font-weight:800;color:var(--ds-brand);text-transform:uppercase;letter-spacing:.04em}
.tc-table td.is-miss{color:var(--ds-mut);font-size:var(--ds-fs-xs)}
/* Info, Produkte, FAQ */
.tc-infogrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-s5)}
.tc-info{background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);padding:var(--ds-s5)}.tc-info h2{margin:0 0 var(--ds-s3);font-size:var(--ds-fs-xl);color:var(--ds-forest)}
.tc-info__body{color:var(--ds-ink);line-height:1.6}.tc-info__body ul,.tc-info__body ol{margin:0 0 var(--ds-s3);padding-left:var(--ds-s5);display:flex;flex-direction:column;gap:6px}.tc-info__body a{color:var(--ds-brand);font-weight:700}
.tc-plist{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ds-s2) var(--ds-s5)}
.tc-plist a{display:flex;justify-content:space-between;align-items:center;gap:var(--ds-s3);background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-sm);padding:var(--ds-s3) var(--ds-s4);text-decoration:none;color:inherit}
.tc-plist a:hover{border-color:var(--ds-brand)}.tc-plist span{display:flex;flex-direction:column;min-width:0}.tc-plist small{color:var(--ds-mut);font-size:var(--ds-fs-xs)}.tc-plist em{font-style:normal;font-weight:800;color:var(--ds-brand);white-space:nowrap}
.tc-faq h2{font-size:var(--ds-fs-2xl);color:var(--ds-forest);margin:0 0 var(--ds-s4)}.tc-narrow{max-width:820px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.tc-hero__grid{grid-template-columns:1fr}.tc-banner{grid-template-columns:1fr;gap:var(--ds-s4);padding:var(--ds-s7) var(--ds-s5) var(--ds-s5)}.tc-banner__cta{align-items:stretch}.tc-banner__cta .ds-btn{width:100%}.tc-infogrid,.tc-plist{grid-template-columns:1fr}}
@media(max-width:640px){.tc-matrix{grid-template-columns:116px repeat(var(--cols),74vw)}.tc-crit{font-size:var(--ds-fs-xs);padding:var(--ds-s3)}.tc-scrollhint{display:block}.tc-toggle{width:100%}.tc-toggle button{flex:1;padding:10px var(--ds-s3)}.tc-head{min-height:150px}}

.tc-crit{overflow-wrap:anywhere;hyphens:auto}

/* Wortmarke statt Logo-Kachel */
.tc-logo--word{width:auto;height:auto;background:transparent;border-radius:0;padding:0;font-size:1.15rem;line-height:1.15;letter-spacing:-.02em;font-weight:800;color:var(--ds-forest);text-align:center;max-width:210px}
.tc-logo--word.tc-logo--sm{font-size:.98rem;text-align:left}
.tc-logo--word.tc-logo--lg{font-size:1.7rem;text-align:left;max-width:none}
.tc-table tbody th .tc-logo--word{vertical-align:middle}
.tc-table tbody th span{margin-left:var(--ds-s2)}
