/* ==========================================================================
   Linkbausteine (linkbausteine.py, 03.10.2026): Datensatz, Gebühren-Tracker, Safari-Kosten,
   USA-Pass, Plitvice vs Krka, Zum Ausdrucken. Grundlage sind die Eintrittsseiten (eintritt.css);
   hier nur die eigenen Module jeder Seite: Preisleiter, Zeitleiste, Rechner, Monatsband, PDF-Raster.
   ========================================================================== */
.lb-page{--k-raise:#e0a35a;--k-new:#9fd9bd;--k-free:#5f8f9c;--k-rule:#c9ecdb;--k-proposal:#b4671f;--k-expected:#fbfaf6;--k-change:#e0a35a}
.lb-stage .et-grid{align-items:end}
.lb-stage .et-h1{font-size:clamp(2.6rem,5.2vw,4.8rem);hyphens:auto;-webkit-hyphens:auto}
.lb-tbl .lb-note,.lb-tbl td.lb-note{text-align:left;font-family:var(--sans)}
.lb-panel .et-rows .et-row{padding:8px 0}
.lb-pricebox{min-height:0}
.lb-pricebox .et-price small{font-size:.32em;color:var(--moss);letter-spacing:0;margin-left:.1em;vertical-align:top;position:relative;top:.25em}
.lb-dl{color:var(--white);font-weight:600;text-decoration:none;border-bottom:1px solid var(--moss)}
.lb-dl:hover{color:var(--moss)}
.lb-panel{max-height:none}
.lb-sec .et-head p a{color:inherit}

/* Kennzahlenleiste mit fünf Werten: lange Werte dürfen kleiner werden */
.et-strip ul.lb-strip-5 b{font-size:clamp(1.6rem,2.6vw,3rem)}
.et-strip ul.lb-strip-5 span{overflow-wrap:anywhere}

/* Filterknöpfe */
.lb-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.lb-chips button,.lb-chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 13px;font:600 .8125rem var(--sans);color:var(--ink-2);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.lb-chips button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.lb-chips.is-dark button,.lb-chips.is-dark .lb-chip{border-color:var(--hair);color:var(--white-2)}
.lb-chips.is-dark button[aria-pressed=true]{background:var(--white);border-color:var(--white);color:var(--night)}
.lb-chips.is-dark .lb-chip:hover{border-color:var(--moss);color:var(--white)}
.lb-chips.is-links{gap:8px}
.lb-chip .mono{font-size:.6875rem;color:var(--moss)}
.lb-chips.is-parks button{padding:6px 11px;font-size:.75rem}
.lb-chips.is-parks button.is-fee{border-color:rgba(224,163,90,.55)}
.lb-chips.is-parks button.is-fee[aria-pressed=true]{background:var(--t-high);border-color:var(--t-high);color:var(--night)}

/* Preisleiter auf der Bühne (Datensatz) */
.lb-ladder{list-style:none;margin:0;padding:0;display:grid;gap:7px;counter-reset:lb}
.lb-ladder li{display:grid;grid-template-columns:minmax(0,9.5rem) minmax(0,1fr) 4.6rem;gap:10px;align-items:center;counter-increment:lb}
.lb-ladder li[hidden]{display:none}
.lb-l-name{font-size:.8125rem;line-height:1.2;color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-l-name::before{content:counter(lb) ". ";color:var(--white-3);font:500 .6875rem var(--mono)}
.lb-l-name small{display:block;font:500 .625rem var(--mono);color:var(--white-3);letter-spacing:.06em;text-transform:uppercase}
.lb-l-bar{height:10px;border-radius:999px;background:rgba(251,250,246,.08);position:relative;overflow:hidden}
.lb-l-bar i{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,var(--t-low),var(--t-high))}
.lb-ladder b{font:500 .8125rem var(--mono);text-align:right;white-space:nowrap}

/* Tabelle des Datensatzes */
.lb-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:16px}
.lb-filter .lb-chips{margin:0}
.lb-search input{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font:500 .875rem var(--sans);background:var(--white);color:var(--ink);min-width:0;width:240px;max-width:100%}
.lb-count{margin:0;color:var(--ink-3);font-size:.75rem}
.lb-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.et-tbl.lb-tbl{min-width:0}
.lb-tbl td small,.lb-tbl th small{display:block;color:var(--ink-3);font:400 .75rem/1.35 var(--sans);margin-top:2px}
.lb-tbl th a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.lb-tbl th a:hover{border-color:var(--forest)}
.lb-tbl thead th button{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}
.lb-tbl thead th button::after{content:"↕";font-size:.75em;opacity:.45}
.lb-tbl thead th[aria-sort] button::after{opacity:1}
.lb-tbl thead th[aria-sort=ascending] button::after{content:"↑"}
.lb-tbl thead th[aria-sort=descending] button::after{content:"↓"}
.lb-tbl tr[hidden]{display:none}
.lb-tbl .lb-note{font-size:.75rem;color:var(--ink-3);max-width:34ch;font-weight:400;white-space:normal}
.lb-tbl th[scope=row]{white-space:normal}
.lb-tbl .lb-src{font-size:.8125rem;white-space:nowrap}
.lb-tbl .lb-src a{color:var(--forest)}
.lb-tbl .lb-win{color:var(--forest);font-weight:700}
.lb-mon{display:inline-block;margin-left:6px;vertical-align:1px}
.lb-tbl.is-dark{color:var(--white)}
.lb-tbl.is-dark th,.lb-tbl.is-dark td{border-color:var(--hair)}
.lb-tbl.is-dark th a,.lb-tbl.is-dark td a{color:var(--white)}
.lb-tbl.is-dark thead th{color:var(--white-3)}

/* Zwei Karten nebeneinander (Download, Zitat, RSS) */
.lb-cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.lb-card{border:1px solid var(--hair);border-radius:var(--r);padding:26px 24px;background:rgba(251,250,246,.03);min-width:0}
.lb-card h3{font:400 1.5rem/1.15 var(--serif);margin:6px 0 10px}
.lb-card p{color:var(--white-2)}
.lb-card .kicker{color:var(--moss)}
.lb-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;font-size:.875rem;color:var(--white-2)}
.lb-list code{font:500 .75rem var(--mono);color:var(--moss);background:rgba(159,217,189,.08);padding:2px 6px;border-radius:6px;margin-right:6px;overflow-wrap:anywhere}
.lb-cite{margin:14px 0;padding:14px 16px;border-left:3px solid var(--moss);background:rgba(251,250,246,.05);font:400 .875rem/1.5 var(--mono);color:var(--white);overflow-wrap:anywhere}
.lb-copy{border:0;cursor:pointer}
.lb-copy.is-done{background:var(--moss);color:var(--night)}
.lb-license{margin-left:14px;color:var(--white-2);font-size:.875rem}
.lb-steps{margin:0;padding:0 0 0 1.2em;display:grid;gap:10px;color:var(--white-2);max-width:78ch}
.lb-steps.is-paper{color:var(--ink-2)}
.lb-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.lb-cards article{border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;background:var(--white)}
.lb-cards h3{font:400 1.25rem/1.2 var(--serif);margin:0 0 8px}
.lb-cards p{margin:0;color:var(--ink-2);font-size:.9375rem}
.lb-home-links{font-size:.9375rem}
.lb-offer-grid{margin-top:4px}

/* Zeitleiste auf der Bühne (Tracker) */
.lb-tl{position:relative;height:96px;margin:12px 6px 0}
.lb-tl-axis{position:absolute;left:0;right:0;top:56px;border-top:1.5px solid var(--white-3)}
.lb-tl-now{position:absolute;top:18px;bottom:24px;border-left:1.5px dashed var(--moss)}
.lb-tl-now b{position:absolute;top:-16px;left:-14px;font:500 .625rem var(--mono);color:var(--moss);text-transform:uppercase;letter-spacing:.08em}
.lb-tl-dot{position:absolute;top:47px;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--k);border:2px solid var(--night);box-shadow:0 0 0 1px var(--k);transition:transform .2s var(--ease)}
.lb-tl-dot:hover,.lb-tl-dot:focus-visible{transform:scale(1.35)}
.lb-tl-dot.is-raise,.lb-sw.is-raise,.lb-tag.is-raise{--k:var(--k-raise)}
.lb-tl-dot.is-new,.lb-sw.is-new,.lb-tag.is-new{--k:var(--k-new)}
.lb-tl-dot.is-free,.lb-sw.is-free,.lb-tag.is-free{--k:var(--k-free)}
.lb-tl-dot.is-rule,.lb-sw.is-rule,.lb-tag.is-rule{--k:var(--k-rule)}
.lb-tl-dot.is-proposal,.lb-sw.is-proposal,.lb-tag.is-proposal{--k:var(--k-proposal)}
.lb-tl-dot.is-expected,.lb-sw.is-expected,.lb-tag.is-expected{--k:var(--k-expected)}
.lb-tl-dot.is-change,.lb-tag.is-change{--k:var(--k-change)}
.lb-tl-dot.is-expected{background:transparent;border:2px dashed var(--k);box-shadow:none}
.lb-tl-months{position:relative;height:18px;margin:0 6px}
.lb-tl-months span{position:absolute;transform:translateX(-50%);font:500 .625rem var(--mono);color:var(--white-3);white-space:nowrap}
.lb-sw{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--k,var(--white-3));margin-right:6px;vertical-align:-1px}
.lb-sw.is-p{background:var(--moss);border-radius:3px}
.lb-sw.is-k{background:var(--t-high);border-radius:3px}
.lb-sw.is-fee{background:var(--t-high);border-radius:3px}

/* Liste der Änderungen */
.lb-changes{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.lb-ch{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:28px;padding:28px 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--topbar) + 16px)}
.lb-ch:target{background:linear-gradient(90deg,rgba(159,217,189,.18),transparent 70%)}
.lb-ch-date time{display:block;font:400 1.25rem/1.2 var(--serif);margin-top:10px}
.lb-tag{display:inline-block;font:600 .6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--k);color:var(--night)}
.lb-tag.is-expected{background:transparent;border:1px dashed var(--ink-3);color:var(--ink-2)}
.lb-tag.is-proposal{color:var(--white)}
.lb-ch-body h3{font:400 1.5rem/1.2 var(--serif);margin:0 0 6px}
.lb-ch-body>p{color:var(--ink-2);max-width:70ch}
.lb-ch-parks{font-size:.75rem;color:var(--ink-3);margin:0 0 14px}
.lb-ch-parks a{color:var(--forest)}
.lb-ch-row{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr) minmax(0,1fr) 64px;gap:12px;align-items:center;margin:8px 0}
.lb-ch-lab{font-size:.8125rem;color:var(--ink-2)}
.lb-ch-bar{position:relative;height:30px;border-radius:8px;background:var(--paper-2);overflow:hidden}
.lb-ch-bar i{position:absolute;inset:0 auto 0 0;background:var(--line);border-radius:8px}
.lb-ch-bar.is-old i{background:var(--line)}
.lb-ch-bar.is-new i{background:var(--t-high)}
.lb-ch-bar b{position:relative;z-index:1;display:block;padding:6px 10px;font:500 .8125rem var(--mono);white-space:nowrap}
.lb-ch-pct{font-weight:700;color:var(--clay-ink);text-align:right}
.lb-ch-src{font-size:.8125rem;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.lb-ch-src .et-src{color:var(--forest);opacity:1}
.lb-ch-src .mono{color:var(--ink-3);font-size:.6875rem}

/* Rechner (Safari, USA-Pass) */
.lb-srow small{color:var(--white-3)}
.lb-people{margin-top:6px}
.lb-people .et-row{border-color:var(--hair)}
.lb-people .et-row small{color:var(--white-3)}
.lb-age{display:flex;gap:8px;align-items:center;font-size:.75rem;color:var(--white-3);margin-top:4px}
.lb-age select{background:transparent;color:var(--white);border:1px solid var(--hair);border-radius:999px;padding:4px 10px;font:500 .75rem var(--mono);color-scheme:dark}
.lb-toggles{display:grid;gap:6px;margin-top:12px;font-size:.8125rem;color:var(--white-2)}
.lb-toggles input{accent-color:var(--moss)}
.lb-bars{margin-bottom:28px}
.lb-bars .b-row a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}

/* Monatsband Plitvice vs Krka */
.lb-vs-ribbon{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;height:150px;align-items:end}
.lb-vs-ribbon button{all:unset;cursor:pointer;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0}
.lb-vs-bars{display:flex;gap:2px;align-items:flex-end;height:calc(100% - 18px)}
.lb-vs-bars i{flex:1;border-radius:4px 4px 1px 1px;opacity:.55;transition:opacity .2s,height .3s var(--ease)}
.lb-vs-bars i.is-p{background:var(--moss)}
.lb-vs-bars i.is-k{background:var(--t-high)}
.lb-vs-ribbon button[aria-pressed=true] i,.lb-vs-ribbon button:hover i{opacity:1}
.lb-vs-ribbon button[aria-pressed=true] .lb-vs-bars{box-shadow:0 0 0 2px var(--white);border-radius:4px}
.lb-vs-m{font:500 .625rem var(--mono);text-align:center;color:var(--white-3);margin-top:5px}
.lb-vs-price{display:grid;grid-template-columns:auto auto;gap:4px 28px;justify-content:start}
.lb-vs-price .et-pricelab{grid-column:1/-1}
.lb-vs-price .et-price{font-size:clamp(3.6rem,8vw,7rem)}
.lb-vs-price .et-price small{display:block;top:0;margin:6px 0 0;font:500 .75rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
.lb-vs-price .et-price.is-second{color:var(--t-high)}
.lb-vs-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.lb-vs-cols h3{font:400 1.75rem/1.1 var(--serif);margin:0 0 12px}
.lb-incl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lb-incl li{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--hair);border-radius:var(--r-s);background:rgba(251,250,246,.03)}
.lb-incl li b{font-weight:600}
.lb-incl li span:not(.et-tag){color:var(--white-2);font-size:.9375rem}
.lb-incl li.is-yes .et-tag{color:var(--moss)}
.lb-incl li.is-no .et-tag{color:var(--t-high)}
.lb-vs-grid{display:grid;gap:0;border-top:1px solid var(--line)}
.lb-vs-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.lb-vs-row h3{font:400 1.25rem/1.2 var(--serif);margin:0}
.lb-vs-row .mono{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin:0 0 6px}
.lb-vs-row p{margin:0 0 8px;color:var(--ink-2);font-size:.9375rem}
.lb-vs-row .et-src{color:var(--forest)}

/* PDF-Raster (Zum Ausdrucken) */
.lb-pdf-group{margin-top:34px;scroll-margin-top:calc(var(--topbar) + 16px)}
.lb-pdf-group h3{font:400 1.75rem/1.1 var(--serif);margin:0 0 14px;display:flex;align-items:baseline;gap:10px}
.lb-pdf-group h3 .mono{font-size:.75rem;color:var(--ink-3)}
.lb-pdf-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.lb-pdf{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-s);background:var(--white);overflow:hidden;min-width:0}
.lb-pdf-dl{display:flex;gap:12px;align-items:center;padding:16px;text-decoration:none;color:var(--ink)}
.lb-pdf-dl:hover{background:var(--paper-2)}
.lb-pdf-dl b{display:block;font:400 1.125rem/1.2 var(--serif)}
.lb-pdf-dl small{color:var(--ink-3);font-size:.6875rem}
svg.lb-pdf-ic{width:30px;height:30px;flex:none;fill:none;stroke:var(--forest);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.lb-pdf-park{border-top:1px solid var(--line-2);padding:9px 16px;font-size:.8125rem;color:var(--forest);text-decoration:none;margin-top:auto}
.lb-pdf-park:hover{background:var(--paper-2)}

@media (max-width:1100px){
  .lb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .lb-ladder li{grid-template-columns:minmax(0,7.5rem) minmax(0,1fr) 4.2rem;gap:8px}
  .lb-cols2,.lb-vs-cols{grid-template-columns:1fr}
  .lb-ch{grid-template-columns:1fr;gap:10px;padding:22px 0}
  .lb-ch-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 52px;gap:8px}
  .lb-ch-lab{grid-column:1/-1}
  .lb-vs-row{grid-template-columns:1fr;gap:10px}
  .lb-vs-ribbon{height:118px;gap:3px}
  .lb-vs-m{font-size:.5rem}
  .lb-search input{width:100%}
  .lb-search{flex:1 1 100%}
  .lb-cards{grid-template-columns:1fr}
  .lb-tl-now b{left:-10px}
  .et-strip ul.lb-strip-5 b{font-size:1.7rem}
}
@media (max-width:900px){
  .et-tbl-wrap:has(.is-cards){border:0;background:transparent;overflow:visible}
  .lb-tbl.is-cards,.lb-tbl.is-cards tbody{display:block;min-width:0}
  .lb-tbl.is-cards thead{display:none}
  .lb-tbl.is-cards tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px;padding:14px 16px;margin-bottom:10px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--white)}
  .lb-tbl.is-cards tr[hidden]{display:none}
  .lb-tbl.is-cards th[scope=row]{grid-column:1/-1;padding:0;border:0;font-size:1rem}
  .lb-tbl.is-cards td{padding:0;border:0;text-align:left;white-space:normal;font-size:.875rem}
  .lb-tbl.is-cards td::before{content:attr(data-label);display:block;font:500 .625rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
  .lb-tbl.is-cards td.lb-note{grid-column:1/-1}
  .lb-tbl.is-cards tr.is-grp th{padding-left:0}
}
@media (prefers-reduced-motion:reduce){.lb-vs-bars i,.lb-tl-dot{transition:none}}
/* Tabelle auf dunklem Abschnitt (Tracker „Automatisch überwachte Tarife“): helle Karte braucht dunkle Schrift, sonst weiß auf weiß (04.10.2026) */
.et-night .et-tbl-wrap{color:var(--ink)}
