/* Apotheken-Detailseite (zen-map, 10.10.2026): Hero, Aktionen, Raster mit Infokarte, Standort kompakt */
.zad{--zad-ink:#111;--zad-mute:#555;--zad-line:#e4e4e4;--zad-accent:#1b5e20;max-width:1180px;margin:0 auto;padding:16px 20px 96px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--zad-ink)}
.zad a{color:inherit}
.zad-crumbs{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:14px;color:var(--zad-mute);margin:6px 0 18px}
.zad-crumbs a{text-decoration:none;color:var(--zad-mute)}.zad-crumbs a:hover{color:var(--zad-ink);text-decoration:underline}
.zad-hero{padding:4px 0 8px}
.zad-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.zad-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:5px 11px;border-radius:999px;border:1px solid var(--zad-line);background:#fff;color:#222}
.zad .zad-chip--zen{background:#111;color:#fff!important;border-color:#111;text-decoration:none}
.zad-chip--ok{color:#fff}
#zenmap-detail-open-status.zenmap-open-tag{font-size:13px;font-weight:700;padding:5px 11px;border-radius:999px}
.zad-h1{font-size:clamp(1.7rem,4.2vw,2.6rem);line-height:1.12;font-weight:800;letter-spacing:-.02em;margin:0 0 10px}
.zad-h1sub{font-weight:600;color:var(--zad-mute);font-size:.62em;letter-spacing:0;display:block;margin-top:6px}
.zad-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 4px;font-size:16px;color:#222}
.zad-star{color:#f59e0b;font-weight:700}
.zad-addr{font-size:17px;margin:0 0 18px;color:#222}
.zad-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.zad-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px;font-size:16px;font-weight:700;text-decoration:none!important;border:1px solid #111;cursor:pointer;font-family:inherit;line-height:1}
.zad-btn--primary{background:#111;color:#fff!important}.zad-btn--primary:hover{background:#333}
.zad-btn--ghost{background:#fff;color:#111!important}.zad-btn--ghost:hover{background:#f3f3f3}
.zad-link{font-size:15px;font-weight:600;color:var(--zad-accent)!important;text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;padding:8px 4px}.zad-link:hover{text-decoration:underline}
.zad-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:8px}
.zad-aside{display:flex;flex-direction:column;gap:16px}
.zad-card{border:1px solid var(--zad-line);border-radius:16px;padding:20px;background:#fff}
.zad-card h2{font-size:17px;font-weight:800;margin:0 0 12px}
.zad-today{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:17px;font-weight:700;margin-bottom:6px}
.zad-today small{font-size:13px;font-weight:600;color:var(--zad-mute)}
.zad-week{margin-top:8px}.zad-week summary{cursor:pointer;font-size:15px;font-weight:600;color:var(--zad-accent);list-style:none;padding:6px 0}
.zad-week summary::-webkit-details-marker{display:none}
.zad-week table{width:100%;border-collapse:collapse;margin-top:6px}
.zad-week td{padding:7px 0;border-bottom:1px solid #f0f0f0;font-size:15px}.zad-week td:last-child{text-align:right}
.zad-week tr.is-today td{font-weight:800}.zad-week .is-closed td:last-child{color:#999}
.zad-kv{display:flex;flex-direction:column;gap:10px;margin:0}
.zad-kv a{font-size:16px;font-weight:600;text-decoration:none;word-break:break-word}.zad-kv a:hover{text-decoration:underline}
.zad-kv .zad-lab{display:block;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--zad-mute);margin-bottom:2px}
.zad-note{font-size:13px;color:var(--zad-mute);line-height:1.5;margin:12px 0 0}
.zad-main{display:flex;flex-direction:column;gap:36px;min-width:0}
.zad-sec h2{font-size:clamp(1.25rem,2.6vw,1.6rem);font-weight:800;letter-spacing:-.01em;margin:0 0 6px}
.zad-sec .zad-lead{font-size:15px;color:var(--zad-mute);margin:0 0 12px}
.zad-map{height:260px;border-radius:16px;overflow:hidden;border:1px solid var(--zad-line);background:#e9e9e9;position:relative}
.zad-map #zenmap-detail-map{width:100%!important;height:100%!important}
.zad-maplinks{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0 0}
.zad-transit{margin-top:18px}.zad-transit h3{font-size:16px;font-weight:800;margin:0 0 8px}
.zad-sec .zm-transit-section{border:0;padding:0;margin:0;box-shadow:none;background:none}
.zad-sec .zm-transit-section h2{display:none}
.zad-about p{font-size:16px;line-height:1.65;color:#222;margin:0 0 12px}
.zad-more summary{cursor:pointer;font-size:16px;font-weight:700;padding:10px 0}
.zad-near{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.zad-near a{display:flex;flex-direction:column;gap:3px;border:1px solid var(--zad-line);border-radius:14px;padding:14px;text-decoration:none;background:#fff}
.zad-near a:hover{border-color:#111}.zad-near strong{font-size:15px;line-height:1.3}.zad-near span{font-size:13px;color:var(--zad-mute)}
.zad-faq details{border-bottom:1px solid var(--zad-line);padding:2px 0}.zad-faq summary{cursor:pointer;font-weight:700;font-size:16px;padding:14px 0;list-style:none}
.zad-faq summary::-webkit-details-marker{display:none}.zad-faq summary::after{content:"+";float:right;font-size:20px;font-weight:600}
.zad-faq details[open] summary::after{content:"–"}.zad-faq .zad-ans{padding:0 0 14px;font-size:15px;line-height:1.6;color:#222}
.zad-bar{display:none}
@media(min-width:900px){
  .zad-grid{grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
  .zad-hero{grid-column:1;grid-row:1}
  .zad-aside{grid-column:2;grid-row:1 / span 2;position:sticky;top:96px}
  .zad-main{grid-column:1;grid-row:2}
  .zad-near{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:899px){
  .zad{padding:12px 16px 120px}
  .zad-actions .zad-btn{flex:1 1 44%}
  .zad-bar{display:flex;gap:10px;position:fixed;left:0;right:88px;bottom:0;z-index:100000;padding:10px 0 12px 12px;transform:translateY(120%);transition:transform .25s ease}
  .zad-bar.is-on{transform:none}
  .zad-bar .zad-btn{flex:1;min-height:48px;box-shadow:0 4px 18px rgba(0,0,0,.18)}
}
.zas-grid{margin-top:12px}
/* Zen-Sorten-Slider (aus der bisherigen Detailseite) */
.zm-cz-wrap{margin:28px -16px 0;padding:0 16px}
.zm-cz-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0}
.zm-cz-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#888}
.zm-cz-all-link{font-size:12px;color:#1b5e20;text-decoration:none;font-weight:500}
.zm-cz-all-link:hover{text-decoration:underline}
.zm-cz-outer{position:relative;display:flex;align-items:center;margin:0 -10px;padding:0 10px}
.zm-cz-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;flex:1}
.zm-cz-viewport::-webkit-scrollbar{display:none}
.zm-cz-track{display:flex;gap:8px;padding:4px 0}
.zm-cz-viewport{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.zm-cz-card{scroll-snap-align:start}
.zm-cz-card{flex-shrink:0;width:calc(25vw - 36px)!important;max-width:200px!important;min-width:120px;aspect-ratio:9/16;border-radius:12px;background-size:cover;background-position:center;background-color:#e0e0e0;text-decoration:none;position:relative;overflow:hidden;display:block;transition:transform .15s}
.zm-cz-card:hover{transform:scale(1.02)}
.zm-cz-overlay{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.10) 0%,rgba(0,0,0,.10) 45%,rgba(0,0,0,.65) 80%,rgba(0,0,0,.80) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:12px 10px 14px}
.zm-cz-title{display:block;font-size:12px;font-weight:700;line-height:1.3;color:#fff}
.zm-cz-price{display:block;font-size:11px;font-weight:700;color:#fff!important;margin-top:3px}
.zm-cz-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.92);border:none;cursor:pointer;font-size:20px;font-weight:700;color:#111;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.2);transition:all .15s;flex-shrink:0}
.zm-cz-arrow:hover{background:#111;color:#fff}
.zm-cz-prev{left:0}.zm-cz-next{right:0}
@media(max-width:640px){.zm-cz-card{width:calc(50vw - 52px)!important;max-width:none}}
.zad-cz .zm-cz-wrap{margin:0}

.zad-cz .zm-cz-all-link{white-space:nowrap}.zad-cz .zm-cz-label{font-size:12px}
.zad-cz .zm-cz-head{gap:12px;flex-wrap:nowrap}
.zad-rest{display:flex;flex-direction:column;gap:36px;margin-top:40px;min-width:0}
@media(min-width:900px){.zad-rest{max-width:calc(100% - 380px)}}

/* ---- V2 (10.10.2026): Feinschliff nach Review ---- */
.zad-hero{padding-top:0}
.zad-chips{margin-bottom:10px}
.zad-h1{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;overflow-wrap:anywhere}
.zad-h1sub{font-weight:500;color:#6b6b6b;font-size:.5em;margin-top:4px}
.zad-meta{margin-bottom:2px;font-size:15px}
.zad-addr{margin-bottom:16px}
.zad-card{border-radius:12px}
.zad-map{height:260px;border-radius:12px}
.zad-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.zad-sec{scroll-margin-top:96px}
.zad-near{align-items:stretch}
.zad-near a{height:100%;min-height:78px;border-radius:12px;transition:border-color .15s,box-shadow .15s}
.zad-near a:hover,.zad-near a:focus-visible{border-color:#111;box-shadow:0 2px 10px rgba(0,0,0,.06);outline:none}
.zad-near strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.zad-transit li:nth-child(n+4){display:none}
.zad a:focus-visible,.zad button:focus-visible,.zad summary:focus-visible,.zad input:focus-visible,.zad select:focus-visible{outline:2px solid #111;outline-offset:2px}
/* Raster ohne Wrapper: Hero + Sortiment + Standort links, Infospalte rechts (sticky nur in diesem Bereich) */
@media(min-width:900px){
  .zad-grid{grid-template-columns:minmax(0,1fr) 340px;column-gap:40px;row-gap:36px}
  .zad-hero{grid-column:1;grid-row:1}
  .zad-aside{grid-column:2;grid-row:1 / span 3;position:sticky;top:96px;align-self:start}
  #sortiment{grid-column:1;grid-row:2}
  #standort{grid-column:1;grid-row:3}
}
/* Mobil: eigene Reihenfolge Hero, Zeiten, Sortiment, Standort, Kontakt */
@media(max-width:899px){
  .zad-grid{display:flex;flex-direction:column;gap:28px}
  .zad-aside{display:contents}
  .zad-hero{order:1}
  .zad-card--hours{order:2}
  #sortiment{order:3}
  #standort{order:4}
  .zad-card--contact{order:5}
  .zad-near a:nth-child(n+5){display:none}
  .zad{padding-left:16px;padding-right:16px}
  .zad-h1{font-size:clamp(1.5rem,6.4vw,1.9rem)}
  .zad-sec h2{font-size:1.3rem}
  .zad-btn{min-height:48px}
}
@media(max-width:380px){.zad-actions .zad-btn{flex:1 1 100%}}
