/* ===== Ranking Hub V2 ===== */
.rk{max-width:1200px;padding:0 var(--ds-s4) 64px}
.rk-hero{padding:var(--ds-s4) 0 var(--ds-s3)}
.rk-hero h1{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:800;letter-spacing:-.025em;line-height:1.1;color:var(--ds-forest);margin:0 0 var(--ds-s2)}
.rk-hero h1 em{font-style:normal;color:var(--ds-brand)}
.rk-sub{margin:0 0 var(--ds-s2);font-size:var(--ds-fs-lg);color:var(--ds-mut);max-width:720px;line-height:1.45}
.rk-meta{margin:0;font-size:var(--ds-fs-sm);color:var(--ds-mut)}.rk-meta a{color:var(--ds-brand-600);font-weight:600}
.rk-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--ds-s3);margin:var(--ds-s4) 0 var(--ds-s3)}
.rk-tabs a{display:flex;flex-direction:column;gap:2px;padding:var(--ds-s3) var(--ds-s4);border:1px solid var(--ds-line);border-radius:var(--ds-r-md);background:#fff;text-decoration:none;color:var(--ds-forest);transition:background .15s,border-color .15s}
.rk-tabs a:hover{background:var(--ds-mint);border-color:#BFE3CE}
.rk-tabs a[aria-current=page]{background:var(--ds-forest);border-color:var(--ds-forest);color:#fff}
.rk-tabs b{font-size:var(--ds-fs-md)}.rk-tabs small{font-size:var(--ds-fs-xs);color:var(--ds-mut)}.rk-tabs a[aria-current=page] small{color:rgba(255,255,255,.75)}
.rk-chips{display:flex;gap:var(--ds-s2);flex-wrap:wrap;margin-bottom:var(--ds-s5)}
.rk-chips a{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--ds-s4);border-radius:var(--ds-r-pill);background:#F1F5F3;color:var(--ds-ink);font-size:var(--ds-fs-sm);font-weight:600;text-decoration:none}
.rk-chips a[aria-current=page]{background:var(--ds-mint);color:var(--ds-forest);box-shadow:inset 0 0 0 1.5px var(--ds-brand)}
/* Podium */
.cr-top3.rk-podium{display:grid!important;grid-template-columns:1fr 1.15fr 1fr;gap:var(--ds-s4);align-items:end;margin:0 0 var(--ds-s7);overflow:visible;padding:0}
.rk-pcard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--ds-s5) var(--ds-s4);background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);text-decoration:none;color:var(--ds-ink);position:relative;transition:box-shadow .15s,border-color .15s}
.rk-pcard:hover{box-shadow:0 10px 28px rgba(16,63,50,.12);border-color:#9FCDB5}
.rk-p1{padding:var(--ds-s6) var(--ds-s4);border-color:#E6C65A;box-shadow:0 8px 28px rgba(230,198,90,.22)}
.rk-p2{border-top:3px solid #C4CCC8}.rk-p3{border-top:3px solid #D9A67A}
.rk-pmedal{font-size:var(--ds-fs-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ds-mut)}.rk-p1 .rk-pmedal{color:#9A7A10}
.rk-pimgwrap{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;background:#fff;border-radius:var(--ds-r-md);overflow:hidden}
.rk-pimg{width:100%;height:100%;object-fit:contain;padding:var(--ds-s2);box-sizing:border-box}
.rk-pname{font-size:var(--ds-fs-md);line-height:1.3;color:var(--ds-forest);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.rk-p1 .rk-pname{font-size:var(--ds-fs-lg)}
.rk-pmaker{color:var(--ds-mut);min-height:1.2em}
.rk-pscore{font-size:var(--ds-fs-sm);color:var(--ds-mut)}.rk-pscore b{font-size:2.1rem;letter-spacing:-.02em;color:var(--ds-forest);line-height:1}.rk-p1 .rk-pscore b{font-size:2.7rem}
.rk-pmeta{display:flex;align-items:center;gap:var(--ds-s2);font-size:var(--ds-fs-sm);color:var(--ds-mut)}
.rk-gen{font-style:normal;font-size:12px;font-weight:700;padding:3px 10px;border-radius:var(--ds-r-pill);background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--ds-ink)}
.rk-pcta{margin-top:var(--ds-s2);width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--ds-brand);color:#fff;font-weight:700;font-size:var(--ds-fs-sm);border-radius:var(--ds-r-sm)}.rk-pcard:hover .rk-pcta{background:var(--ds-brand-600)}
/* Liste + Insights */
.rk-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--ds-s6);align-items:start}
.rk-listhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--ds-s2);margin-bottom:var(--ds-s3)}
.rk-listhead h2{margin:0;font-size:var(--ds-fs-xl);color:var(--ds-forest)}.rk-listhead span{font-size:var(--ds-fs-xs);color:var(--ds-mut)}
.rk-list ol{list-style:none;margin:0;padding:0;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);background:#fff;overflow:hidden}
.rk-list li+li{border-top:1px solid #EEF3F0}
.rk-row{display:grid;grid-template-columns:36px 64px minmax(0,1fr) 84px 76px 92px 96px;align-items:center;gap:var(--ds-s3);min-height:76px;padding:var(--ds-s2) var(--ds-s4);text-decoration:none;color:var(--ds-ink);transition:background .12s}
.rk-row:hover{background:var(--ds-mint)}.rk-row:focus-visible{outline:2px solid var(--ds-brand);outline-offset:-2px}
.rk-rank{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--ds-fs-sm);color:var(--ds-mut)}
.rk-r1{background:#F5E6A8;color:#7A5F0A}.rk-r2{background:#E4E8E6;color:#4B5651}.rk-r3{background:#F0D5BC;color:#7A4E27}
.rk-thumb{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:var(--ds-r-sm)}
.rk-main{display:flex;flex-direction:column;min-width:0}.rk-main strong{font-size:var(--ds-fs-md);line-height:1.25;color:var(--ds-forest);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rk-main small{color:var(--ds-mut);font-size:var(--ds-fs-xs);margin-top:2px}
.rk-score{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.rk-score b{font-size:var(--ds-fs-lg);color:var(--ds-forest)}.rk-score small{font-size:11px;color:var(--ds-mut)}
.rk-price{font-weight:800;color:var(--ds-forest);white-space:nowrap;text-align:right}.rk-price small{font-weight:600;color:var(--ds-mut)}
.rk-go{color:var(--ds-brand-600);font-weight:700;font-size:var(--ds-fs-sm);text-align:right;white-space:nowrap}
.rk-src{font-size:var(--ds-fs-xs);color:var(--ds-mut);margin:var(--ds-s3) 0 0}
.rk-insights{position:sticky;top:150px}
.rk-icard{background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);padding:var(--ds-s5)}
.rk-icard h3{margin:0 0 var(--ds-s3);font-size:var(--ds-fs-md);color:var(--ds-forest)}
.rk-icard dl{margin:0 0 var(--ds-s4);display:grid;grid-template-columns:1fr auto;gap:var(--ds-s2) var(--ds-s3);font-size:var(--ds-fs-sm)}.rk-icard dt{color:var(--ds-mut)}.rk-icard dd{margin:0;font-weight:800;color:var(--ds-forest);text-align:right}
.rk-bar{display:grid;grid-template-columns:1fr 70px 38px;align-items:center;gap:var(--ds-s2);font-size:12px;margin-top:var(--ds-s2)}
.rk-bar span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ds-ink);line-height:1.25}
.rk-bar i{height:6px;border-radius:3px;background:#EEF3F0;position:relative;overflow:hidden}.rk-bar i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--ds-brand);border-radius:3px}.rk-bar b{text-align:right;color:var(--ds-forest)}
/* Sections */
.rk-sechead{margin:var(--ds-s8) 0 var(--ds-s4)}.rk-sechead h2{margin:0 0 var(--ds-s1,4px);font-size:clamp(1.4rem,2.2vw,1.8rem);color:var(--ds-forest);letter-spacing:-.015em}.rk-sechead p{margin:0;color:var(--ds-mut)}
.rk-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ds-s4)}
.rk-mcol{background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);padding:var(--ds-s4)}
.rk-mcol h3{margin:0 0 var(--ds-s3);font-size:var(--ds-fs-md)}.rk-m-down h3{color:var(--ds-brand-600)}.rk-m-up h3{color:#B45309}
.rk-mrow{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:var(--ds-s3);align-items:center;padding:var(--ds-s2);border-radius:var(--ds-r-sm);text-decoration:none;color:inherit}.rk-mrow:hover{background:var(--ds-mint)}
.rk-mrow img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:var(--ds-r-sm)}
.rk-mrow s{color:var(--ds-mut)}
.rk-pct{font-weight:800;font-size:var(--ds-fs-md);white-space:nowrap}.rk-m-down .rk-pct{color:var(--ds-brand-600)}.rk-m-up .rk-pct{color:#B45309}
.rk-cgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ds-s4)}
.rk-ccard{display:flex;flex-direction:column;gap:var(--ds-s3);background:#fff;border:1px solid var(--ds-line)!important;border-top:1px solid var(--ds-line)!important;border-radius:var(--ds-r-md);padding:var(--ds-s4);text-decoration:none;color:inherit}.rk-ccard:hover{border-color:#9FCDB5!important}
.rk-chead{display:flex;flex-direction:column;gap:2px}.rk-chead strong{color:var(--ds-forest)}.rk-chead small{color:var(--ds-mut);font-size:var(--ds-fs-xs)}
.rk-cwrap{display:block!important;height:190px;position:relative}
.rk-mcards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ds-s3)}
.rk-mcard{display:flex;flex-direction:column;gap:4px;padding:var(--ds-s4);background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);text-decoration:none;color:var(--ds-forest)}.rk-mcard:hover{background:var(--ds-mint);border-color:#BFE3CE}
.rk-mcard small{color:var(--ds-mut);line-height:1.4}.rk-mcard span{margin-top:auto;padding-top:var(--ds-s2);color:var(--ds-brand-600);font-weight:700;font-size:var(--ds-fs-sm)}
.article{scroll-margin-top:140px}
/* Responsive */
@media(max-width:1000px){.rk-cols{grid-template-columns:1fr}.rk-insights{position:static}.rk-tabs{grid-template-columns:repeat(2,1fr)}.rk-mcards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .cr-top3.rk-podium{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;align-items:stretch;gap:var(--ds-s3);padding:0 0 var(--ds-s2)}
  .rk-pcard{flex:0 0 80%;scroll-snap-align:start}.rk-p1{order:-1;padding:var(--ds-s5) var(--ds-s4)}
  .rk-p1 .rk-pscore b{font-size:2.3rem}
  .rk-row{grid-template-columns:30px 56px minmax(0,1fr) auto;grid-template-areas:"rank img main score" "rank img gen price";row-gap:2px;padding:var(--ds-s3)}
  .rk-rank{grid-area:rank}.rk-thumb{grid-area:img;width:56px;height:56px}.rk-main{grid-area:main}.rk-score{grid-area:score}.rk-gen{grid-area:gen;justify-self:start}.rk-price{grid-area:price}.rk-go{display:none}
  .rk-mgrid,.rk-cgrid{grid-template-columns:1fr}
  .rk-sechead{margin:var(--ds-s6) 0 var(--ds-s3)}
}
@media(prefers-reduced-motion:reduce){.rk-pcard,.rk-row{transition:none}}
/* Bewertungen: gemeinsame Familie mit Ranking */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rt-stats{list-style:none;margin:var(--ds-s3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--ds-s6)}
.rt-stats li{display:flex;flex-direction:column;line-height:1.15}.rt-stats b{font-size:var(--ds-fs-xl);color:var(--ds-forest)}.rt-stats span{font-size:var(--ds-fs-xs);color:var(--ds-mut)}
.rt-bar{display:flex;flex-wrap:wrap;gap:var(--ds-s3) var(--ds-s5);align-items:center;margin:var(--ds-s4) 0 var(--ds-s5)}
.rt-bar .rk-chips{margin:0}
.rt-tools{display:flex;gap:var(--ds-s3);margin-left:auto;flex-wrap:wrap}
.rt-search input,.rt-sort select{min-height:42px;border:1px solid var(--ds-line);border-radius:var(--ds-r-sm);padding:0 var(--ds-s3);font:inherit;font-size:var(--ds-fs-sm);background:#fff;color:var(--ds-forest)}
.rt-search input{min-width:200px}.rt-search input:focus,.rt-sort select:focus{outline:2px solid var(--ds-brand);outline-offset:0}
.rt-sort{display:flex;align-items:center;gap:var(--ds-s2);font-size:var(--ds-fs-sm);color:var(--ds-mut)}
.rt-stars{color:#E8A317;letter-spacing:2px;font-size:1.05rem;line-height:1}
.rt-count{color:var(--ds-mut);font-size:var(--ds-fs-xs)}
.rt-row{grid-template-columns:36px 64px minmax(0,1.3fr) minmax(130px,.9fr) 130px 120px!important}
.rt-rating{display:flex;flex-direction:column;gap:2px}.rt-rating b{font-size:var(--ds-fs-md);color:var(--ds-forest)}.rt-rating small{font-size:var(--ds-fs-xs);color:var(--ds-mut)}
.rk-main small .rk-gen{font-size:11px;padding:1px 8px}
.rt-apo{display:block;font-weight:400;color:var(--ds-mut);font-size:11px}
.rt-row .rk-price small:only-child{font-weight:500;font-size:var(--ds-fs-xs)}
.rt-list li[hidden],#rt-list li[hidden]{display:none}
.rt-morebtn{min-height:46px;padding:0 var(--ds-s6);border:1px solid var(--ds-brand);border-radius:var(--ds-r-sm);background:#fff;color:var(--ds-brand-600);font:inherit;font-weight:700;cursor:pointer}.rt-morebtn:hover{background:var(--ds-mint)}
.rt-empty{padding:var(--ds-s6);text-align:center;color:var(--ds-mut);border:1px dashed var(--ds-line);border-radius:var(--ds-r-md)}.rt-empty[hidden]{display:none}
.rt-facts{list-style:none;margin:0 0 var(--ds-s3);padding:0;display:flex;flex-direction:column;gap:var(--ds-s3);font-size:var(--ds-fs-sm);color:var(--ds-mut);line-height:1.45}.rt-facts b{display:block;color:var(--ds-forest)}
.rt-link{font-weight:700;font-size:var(--ds-fs-sm);color:var(--ds-brand-600);text-decoration:none}
.rt-mini{display:flex;justify-content:space-between;gap:var(--ds-s3);padding:var(--ds-s2) 0;border-top:1px solid #EEF3F0;color:var(--ds-ink);text-decoration:none;font-size:var(--ds-fs-sm)}.rt-mini:first-of-type{border-top:0}.rt-mini b{color:var(--ds-forest)}.rt-mini:hover span{text-decoration:underline}
.rt-3{grid-template-columns:repeat(3,1fr)!important}
.rt-trust{margin-top:var(--ds-s4)}.rt-trust p{margin:0;color:var(--ds-mut);line-height:1.6}
.rt-faq{max-width:860px}
.ap-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ds-s4)}
.ap-steps li{display:flex;gap:var(--ds-s3);align-items:flex-start;padding:var(--ds-s4);background:#fff;border:1px solid var(--ds-line);border-radius:14px}
.ap-steps b{flex:none;width:34px;height:34px;border-radius:50%;background:var(--ds-mint);color:var(--ds-forest);display:flex;align-items:center;justify-content:center;font-weight:800}.ap-steps strong{display:block;color:var(--ds-forest)}.ap-steps small{color:var(--ds-mut);line-height:1.45}
@media(max-width:1000px){.rt-3{grid-template-columns:1fr!important}.ap-steps{grid-template-columns:1fr}}
@media(max-width:760px){
  .rt-row{grid-template-columns:30px 56px minmax(0,1fr)!important;grid-template-areas:"rank img main" "rank img rating" "price price go";row-gap:4px}
  .rt-row .rk-rank{grid-area:rank}.rt-row .rk-thumb{grid-area:img}.rt-row .rk-main{grid-area:main}.rt-row .rt-rating{grid-area:rating}.rt-row .rk-price{grid-area:price;text-align:left}.rt-row .rk-go{display:block;grid-area:go}
  .rt-tools{margin-left:0;width:100%}.rt-search{flex:1}.rt-search input{width:100%;min-width:0}
}
