/* Partner-Seite (taxonomy-pa_haendler.php), wie tafeln/haendler-seite.html. Grundklassen stehen in velodeals.css. */
.pkopf{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pkopf .partner{font-size:13px;padding:4px 10px}
.plogo img{max-width:220px;object-fit:contain}
.addr a[href^="tel:"]{color:inherit}
.pschritte{padding-top:8px}
.pschritte .h2{margin-bottom:20px}
.praeder{padding-top:0;scroll-margin-top:80px}
.tabs .pill:not(.on):hover{border-color:var(--c-mute-on-ink)}
.pager .btn.ghost{min-height:52px}
/* Kopf */
.pk{position:relative;min-height:720px;display:flex;align-items:flex-end;background:var(--c-ink)}
.pk-bild{position:absolute;top:0;right:0;width:64%;height:100%;object-fit:cover;object-position:50% 30%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
.pk::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(15% .004 120 / 0) 62%,oklch(15% .004 120 / .7) 100%)}
.pk-in{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:minmax(0,540px) 1fr 320px;gap:32px;align-items:end;padding-top:72px;padding-bottom:48px}
.pk-gruss{grid-column:3}
.pk h1{font-size:92px;margin:18px 0 12px}
.pk-satz{font-size:20px;font-weight:600;margin:0;max-width:40ch}
.pk .facts{margin-top:20px}
.pk .facts span:not(.l){background:oklch(22% .006 120 / .7);backdrop-filter:blur(6px)}
.pk-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.pk-btns .btn.ghost{--fg:var(--c-paper);color:var(--c-paper);background:oklch(15% .004 120 / .35);backdrop-filter:blur(6px)}
.pk-gruss{margin:0;background:oklch(22% .006 120 / .8);backdrop-filter:blur(12px);border:1px solid var(--c-ink-3);border-radius:var(--r,18px);padding:22px}
.pk-gruss .wer{display:flex;gap:14px;align-items:center}
.pk-gruss .wer img{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:50% 22%;box-shadow:0 0 0 2px var(--c-lime)}
.pk-gruss .wer b{display:block;font-size:17px}
.pk-gruss .wer small{color:var(--c-mute-on-ink);font-size:14px}
.pk-gruss blockquote{margin:16px 0 0;font-size:19px;line-height:1.38;font-weight:600}
.offen{display:flex;gap:8px;align-items:center;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--c-ink-3);font-size:14.5px;font-weight:700}
.offen i{width:9px;height:9px;border-radius:50%;background:var(--c-da);box-shadow:0 0 0 4px oklch(78% .2 145 / .2)}
.offen small{font-weight:500;color:var(--c-mute-on-ink)}
/* Rückfall ohne Ladenfoto */
.pk.ohne{background:var(--c-photo)}
.pk.ohne .pk-bild{object-fit:contain;object-position:50% 50%;inset:48px 32px 48px auto;width:46%;height:calc(100% - 96px)}
.pk.ohne .pk-text{max-width:52%}
.pk.ohne::after{display:none}
.pk.ohne .pk-bild{-webkit-mask-image:none;mask-image:none}
.pk.ohne + .praeder{padding-top:40px}
.pk.ohne{min-height:640px}
.pk.ohne .pk-text{color:var(--c-ink)}
.pk.ohne .pk-satz{color:var(--c-mute)}
.pk.ohne .facts span:not(.l){background:var(--c-paper);color:var(--c-ink);border-color:var(--c-line);backdrop-filter:none}
.pk.ohne .pk-btns .btn.ghost{--fg:var(--c-ink);color:var(--c-ink);background:transparent}
.pk.ohne .pk-in{grid-template-columns:minmax(0,1fr);padding-bottom:56px;align-self:center}
/* Leistungen */
.vl{padding:24px 0 56px}
.vl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;margin-top:22px;align-items:stretch}
.vl-liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vl-liste li{background:var(--c-ink-2);border:1px solid var(--c-ink-3);border-radius:var(--r,18px);padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:6px}
.vl-liste svg + b{margin-top:auto}
.vl-liste svg{width:28px;height:28px;color:var(--c-lime);margin-bottom:6px}
.vl-liste b{font-size:18px}
.vl-liste small{color:var(--c-mute-on-ink);font-size:14.5px;line-height:1.4}
.vw{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-radius:var(--r,18px);overflow:hidden;background:var(--c-ink-2);border:1px solid var(--c-ink-3)}
.vw img{width:100%;height:100%;object-fit:cover;object-position:40% 40%;min-height:100%}
.vw > div{padding:26px;display:flex;flex-direction:column}
.vw .lab{color:var(--c-lime);margin-bottom:8px}
.vw h3{font-size:30px;margin:0}
.vw .desc{color:var(--c-mute-on-ink);margin:10px 0 0;font-size:15.5px}
.vw .facts{margin-top:16px}
.vw .btn{margin-top:auto;align-self:flex-start}
.vw .facts + .btn{margin-top:22px}
/* Der Laden */
.vt{padding:16px 0 72px}
.vt-kopf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:end}
.vt-kopf .desc{color:var(--c-mute-on-ink);font-size:17px;margin:0;max-width:56ch}
.vt-kopf .desc i{display:block;font-style:normal;margin-top:8px;color:var(--c-paper);font-weight:700}
.vt-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.vt-team figure{margin:0}
.vt-team img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r,18px);display:block}
.vt-team figcaption{margin-top:10px}
.vt-team b{display:block;font-size:18px}
.vt-team small{color:var(--c-mute-on-ink);font-size:14.5px}
.vt-unten{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;margin-top:16px}
.vt-fotos{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:16px}
.vt-fotos img{width:100%;height:100%;object-fit:cover;border-radius:var(--r,18px);display:block}
.vt-fotos img:first-child{grid-row:1/3}
.vt .addr{align-content:start}
.vt .addr table{width:100%;border-collapse:collapse;margin:6px 0 10px;font-size:15px}
.vt .addr td{padding:6px 0;border-bottom:1px solid var(--c-ink-3)}
.vt .addr td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.vt .addr tr.heute td{color:var(--c-lime);font-weight:800}
.vt .addr .zu td:last-child{color:var(--c-mute-on-ink)}
.vt .addr .fine2{margin:0 0 12px;font-size:13px;color:var(--c-mute-on-ink)}
/* Ohne Werkstatt, ohne Werkstatt-Foto, ohne Galerie: eine Spalte */
.vl-grid.solo,.vw.solo,.vt-unten.solo{grid-template-columns:minmax(0,1fr)}
.vl-grid.solo .vl-liste{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.vt-unten.solo .addr{max-width:520px}
.offen[hidden]{display:none}
/* Fotos so hoch wie die Öffnungszeiten daneben, nicht so hoch wie die Bilder selbst */
@media (min-width:900px){.vt-fotos{contain:size;grid-auto-rows:1fr}.vt-fotos img{min-height:0}}
.offen.zu i{background:var(--c-mute-on-ink);box-shadow:none}
/* Werkstatt-Termin: Sprungziel #werkstatt und Fenster teile/werkstatt.php (Bausteine aus rad.css) */
.vw{scroll-margin-top:80px}
.wk .fh img{background:#fff;padding:6px}
.wk .sz ~ .inp{margin-top:8px}
.wk .fld small.tipp{display:block;margin-top:6px;font-size:12.5px;color:var(--mute)}
.wk textarea.inp{height:84px}
@media (max-width:899px){
  .pk{display:block;min-height:0;padding:0}
  .pk-bild{position:relative;display:block;width:100%;-webkit-mask-image:none;mask-image:none;height:auto;aspect-ratio:4/3;object-position:50% 30%}
  .pk::after{inset:0 0 auto 0;height:calc(100vw * .75);background:linear-gradient(180deg,oklch(15% .004 120 / 0) 60%,var(--c-ink) 100%)}
  .pk-gruss{grid-column:auto}
  .pk-in{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:0;padding-bottom:32px;margin-top:-44px}
  .pk h1{font-size:50px;margin:14px 0 8px}
  .pk-satz{font-size:17px}
  .pk-btns .btn{flex:1 1 auto;min-height:48px;padding:0 18px}
  .pk-btns .btn:first-child{flex-basis:100%}
  .pk-gruss{padding:18px}
  .pk-gruss blockquote{font-size:17px}
  .pk.ohne .pk-bild{position:relative;inset:auto;width:100%;max-height:none;padding:16px 16px 40px;background:var(--c-photo)}
  .pk.ohne{background:var(--c-ink);min-height:0}
  .pk.ohne .pk-text{max-width:none}
  .pk.ohne .pk-in{margin-top:0;padding-top:20px}
  .pk.ohne .pk-text{color:var(--c-paper)}
  .pk.ohne .pk-satz{color:var(--c-mute-on-ink)}
  .pk.ohne .facts span:not(.l){background:var(--c-ink-2);color:var(--c-paper);border-color:var(--c-ink-3)}
  .pk.ohne .pk-btns .btn.ghost{--fg:var(--c-paper);color:var(--c-paper)}
  .vl-grid,.vt-kopf,.vt-unten,.vw{grid-template-columns:minmax(0,1fr)}
  .vl-liste{grid-template-columns:1fr 1fr;gap:10px}
  .vl-liste li{padding:16px}
  .vl-liste b{font-size:16px}
  .vw img{aspect-ratio:16/10;min-height:0}
  .vw > div{padding:20px}
  .vw .btn{width:100%}
  .vt-team{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .vt-team b{font-size:15px}
  .vt-team small{font-size:13px}
  .vt-fotos{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .vt-fotos img{aspect-ratio:4/3;height:auto}
  .vt-fotos img:first-child{grid-row:auto;grid-column:1/-1}
}
