/* CannaPreis Design System v1 (ds.css) — verbindliche Tokens + Komponenten.
   Regel: keine neuen Hex-Farben, Radien oder Abstaende ausserhalb dieser Datei. Neue UI nutzt .ds-* und var(--ds-*). */
:root{
  /* Farben */
  --ds-forest:#103F32;      /* Headlines, dunkle Flaechen */
  --ds-brand:#16845B;       /* Primary (Buttons, Links, Preise) — 4.9:1 auf Weiss */
  --ds-brand-600:#0F6B49;   /* Hover/Pressed */
  --ds-mint:#DFF5E9;        /* helle Akzentflaeche */
  --ds-canvas:#F7F9F7;      /* Seitenhintergrund Sektionen */
  --ds-surface:#FFFFFF;
  --ds-ink:#17251F;         /* Fliesstext */
  --ds-mut:#5B6B64;         /* Sekundaertext (>=4.5:1) */
  --ds-line:#DFE7E2;        /* Rahmen */
  --ds-on-dark:#4ADE80;     /* Gruen-Akzent NUR auf dunklen Flaechen */
  --ds-warn:#B45309; --ds-warn-bg:#FEF3C7;
  --ds-error:#B91C1C; --ds-error-bg:#FEE2E2;
  --ds-info:#1D4ED8; --ds-info-bg:#DBEAFE;
  /* Abstaende (8px-Raster) */
  --ds-s1:4px;--ds-s2:8px;--ds-s3:12px;--ds-s4:16px;--ds-s5:24px;--ds-s6:32px;--ds-s7:48px;--ds-s8:64px;
  /* Radien */
  --ds-r-sm:8px;--ds-r-md:12px;--ds-r-lg:20px;--ds-r-pill:999px;
  /* Schatten */
  --ds-shadow-1:0 1px 2px rgba(16,63,50,.06);
  --ds-shadow-2:0 8px 24px rgba(16,63,50,.12);
  --ds-shadow-3:0 16px 40px rgba(16,63,50,.18);
  /* Typografie */
  --ds-font:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ds-fs-xs:.75rem;--ds-fs-sm:.875rem;--ds-fs-md:1rem;--ds-fs-lg:1.125rem;--ds-fs-xl:1.5rem;--ds-fs-2xl:1.75rem;--ds-fs-3xl:2.25rem;--ds-fs-4xl:3.25rem;
  --ds-lh-tight:1.15;--ds-lh-snug:1.3;--ds-lh-body:1.6;
  /* Layout */
  --ds-container:1180px;
}

/* ---- Layout ---- */
.ds-container{max-width:var(--ds-container);margin:0 auto;padding:0 var(--ds-s4)}
.ds-section{padding:var(--ds-s8) 0}
.ds-section--tint{background:var(--ds-canvas)}
.ds-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--ds-s4);margin-bottom:var(--ds-s5)}
.ds-section-head h2{font-size:var(--ds-fs-2xl);line-height:var(--ds-lh-snug);font-weight:800;letter-spacing:-.015em;color:var(--ds-forest);margin:0}
.ds-section-head p{margin:var(--ds-s2) 0 0;color:var(--ds-mut);line-height:1.55;max-width:640px}
.ds-section-head>a{font-weight:700;font-size:var(--ds-fs-sm);color:var(--ds-brand);text-decoration:none;white-space:nowrap}
.ds-page-head{padding:var(--ds-s6) 0 var(--ds-s5)}
.ds-page-head h1{font-size:clamp(1.75rem,4vw,var(--ds-fs-3xl));line-height:var(--ds-lh-tight);font-weight:800;letter-spacing:-.02em;color:var(--ds-forest);margin:0 0 var(--ds-s2)}
.ds-page-head p{color:var(--ds-mut);margin:0;max-width:720px;line-height:var(--ds-lh-body)}

/* ---- Buttons ---- */
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-s2);border:1px solid transparent;border-radius:var(--ds-r-sm);padding:var(--ds-s3) var(--ds-s5);font:700 var(--ds-fs-sm)/1 var(--ds-font);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.ds-btn--primary{background:var(--ds-brand);color:#fff}.ds-btn--primary:hover{background:var(--ds-brand-600)}
.ds-btn--secondary{background:var(--ds-surface);color:var(--ds-forest);border-color:var(--ds-line)}.ds-btn--secondary:hover{border-color:var(--ds-brand);color:var(--ds-brand)}
.ds-btn--ghost{background:transparent;color:var(--ds-brand)}.ds-btn--ghost:hover{background:var(--ds-mint)}
.ds-btn:disabled,.ds-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}
.ds-btn.is-loading{position:relative;color:transparent;pointer-events:none}
.ds-btn.is-loading::after{content:'';position:absolute;width:16px;height:16px;border:2px solid currentColor;border-color:#fff transparent #fff transparent;border-radius:50%;animation:ds-spin .7s linear infinite}
.ds-btn--secondary.is-loading::after{border-color:var(--ds-brand) transparent var(--ds-brand) transparent}
@keyframes ds-spin{to{transform:rotate(360deg)}}

/* ---- Inputs / Filter ---- */
.ds-input,.ds-select{width:100%;border:1px solid var(--ds-line);border-radius:var(--ds-r-sm);background:var(--ds-surface);color:var(--ds-ink);padding:var(--ds-s3) var(--ds-s4);font:400 var(--ds-fs-md)/1.2 var(--ds-font)}
.ds-input:focus,.ds-select:focus{outline:2px solid var(--ds-brand);outline-offset:1px;border-color:var(--ds-brand)}
.ds-filterbar{display:flex;flex-wrap:wrap;gap:var(--ds-s2);margin-bottom:var(--ds-s4)}
.ds-filterbar>*{flex:1 1 160px;min-width:0}
.ds-chip{display:inline-flex;align-items:center;gap:var(--ds-s1);padding:var(--ds-s2) var(--ds-s3);border:1px solid var(--ds-line);border-radius:var(--ds-r-pill);background:var(--ds-surface);color:var(--ds-ink);font-size:var(--ds-fs-sm);font-weight:600;text-decoration:none}
.ds-chip.is-active{background:var(--ds-forest);border-color:var(--ds-forest);color:#fff}

/* ---- Badges / Status ---- */
.ds-badge{display:inline-block;padding:2px var(--ds-s2);border-radius:var(--ds-r-pill);font-size:var(--ds-fs-xs);font-weight:700;background:var(--ds-mint);color:var(--ds-forest)}
.ds-badge--new{background:var(--ds-forest);color:#fff}
.ds-badge--warn{background:var(--ds-warn-bg);color:var(--ds-warn)}
.ds-badge--error{background:var(--ds-error-bg);color:var(--ds-error)}
.ds-badge--info{background:var(--ds-info-bg);color:var(--ds-info)}

/* ---- Card + Preis ---- */
.ds-card{display:flex;flex-direction:column;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-r-md);overflow:hidden;color:inherit;text-decoration:none;transition:box-shadow .15s,transform .15s,border-color .15s}
a.ds-card:hover{box-shadow:var(--ds-shadow-2);transform:translateY(-2px);border-color:#C5D4CC}
a.ds-card:focus-visible,.ds-btn:focus-visible,.ds-chip:focus-visible{outline:2px solid var(--ds-brand);outline-offset:2px}
.ds-card__body{display:flex;flex-direction:column;gap:var(--ds-s1);padding:var(--ds-s4)}
.ds-card__title{font-size:var(--ds-fs-md);font-weight:700;line-height:var(--ds-lh-snug);color:var(--ds-ink)}
.ds-card__meta{font-size:var(--ds-fs-xs);color:var(--ds-mut);line-height:1.4}
.ds-price{font-weight:800;font-size:var(--ds-fs-lg);color:var(--ds-brand)}.ds-price small{font-weight:600;font-size:var(--ds-fs-xs);color:var(--ds-mut)}

/* ---- Tabelle / Vergleich ---- */
.ds-table{width:100%;border-collapse:collapse;font-size:var(--ds-fs-sm)}
.ds-table th{text-align:left;font-size:var(--ds-fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ds-mut);padding:var(--ds-s3) var(--ds-s2);border-bottom:1px solid var(--ds-ink)}
.ds-table td{padding:var(--ds-s3) var(--ds-s2);border-bottom:1px solid var(--ds-line)}

/* ---- Accordion / Hinweis / Zustaende ---- */
.ds-accordion{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-r-md);padding:0 var(--ds-s5);margin-bottom:var(--ds-s2)}
.ds-accordion summary{cursor:pointer;font-weight:700;padding:var(--ds-s4) 0;list-style:none;color:var(--ds-forest)}
.ds-accordion summary::-webkit-details-marker{display:none}
.ds-accordion summary::after{content:'+';float:right;font-size:1.3rem;color:var(--ds-mut)}.ds-accordion[open] summary::after{content:'\2013'}
.ds-accordion p{margin:0 0 var(--ds-s4);color:var(--ds-ink);line-height:var(--ds-lh-body)}
.ds-note{font-size:var(--ds-fs-xs);color:var(--ds-mut);line-height:1.5}
.ds-callout{background:var(--ds-mint);border-radius:var(--ds-r-md);padding:var(--ds-s4) var(--ds-s5);color:var(--ds-forest)}
.ds-skeleton{background:linear-gradient(90deg,#EEF2EF 25%,#E3EAE5 37%,#EEF2EF 63%);background-size:400% 100%;animation:ds-shimmer 1.4s ease infinite;border-radius:var(--ds-r-sm);min-height:16px}
@keyframes ds-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}
.ds-empty{text-align:center;padding:var(--ds-s7) var(--ds-s4);color:var(--ds-mut);border:1px dashed var(--ds-line);border-radius:var(--ds-r-md)}
.ds-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(prefers-reduced-motion:reduce){.ds-card,.ds-btn{transition:none}.ds-skeleton{animation:none}}
@media(max-width:640px){.ds-section{padding:var(--ds-s7) 0}.ds-section-head{flex-direction:column;align-items:flex-start;gap:var(--ds-s2)}}

/* ---- Bruecke: Legacy-Karten bekommen DS-Optik (Pilot: Produktkarte in allen Listings) ---- */
.cp-product-card{border-radius:var(--ds-r-md) !important;border-color:var(--ds-line) !important}
.cp-product-card:hover{box-shadow:var(--ds-shadow-2) !important;border-color:#C5D4CC !important}
.cp-card-title{color:var(--ds-ink)}
.cp-card-price{color:var(--ds-brand) !important}
.cp-card-link{color:var(--ds-brand) !important}

/* ===== Produktkarte (Amazon-Stil) ===== */
.ds-stars{color:#d1d9d4;letter-spacing:1px;font-size:.8rem}.ds-stars i{font-style:normal}.ds-stars i.on{color:#E8A317}
.ds-pcard{display:flex;flex-direction:column;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-r-md);overflow:hidden;color:inherit;text-decoration:none;transition:box-shadow .15s,transform .15s,border-color .15s}
.ds-pcard:hover{box-shadow:var(--ds-shadow-2);transform:translateY(-3px);border-color:#c5d4cc}
.ds-pcard__img{position:relative;display:block;aspect-ratio:4/3;background:var(--ds-mint);overflow:hidden}
.ds-pcard__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.ds-pcard:hover .ds-pcard__img img{transform:scale(1.04)}
.ds-pcard__sale{position:absolute;top:var(--ds-s3);left:var(--ds-s3);background:var(--ds-brand);color:#fff;font-style:normal;font-size:var(--ds-fs-xs);font-weight:800;padding:4px var(--ds-s3);border-radius:var(--ds-r-pill)}
.ds-pcard__new{position:absolute;top:var(--ds-s3);right:var(--ds-s3);background:var(--ds-forest);color:#fff;font-style:normal;font-size:var(--ds-fs-xs);font-weight:700;padding:4px var(--ds-s2);border-radius:var(--ds-r-pill)}
.ds-pcard__sale+.ds-pcard__new{top:48px}
.ds-pcard__gen{position:absolute;left:var(--ds-s3);bottom:var(--ds-s3);background:rgba(255,255,255,.94);color:var(--ds-forest);font-style:normal;font-size:var(--ds-fs-xs);font-weight:700;padding:3px var(--ds-s2);border-radius:var(--ds-r-pill)}
.ds-pcard__body{display:flex;flex-direction:column;gap:6px;padding:var(--ds-s4);flex:1}
.ds-pcard__mf{color:var(--ds-mut);text-transform:uppercase;letter-spacing:.04em;font-size:var(--ds-fs-xs);font-weight:600}
.ds-pcard__title{font-size:var(--ds-fs-md);line-height:1.3;color:var(--ds-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.ds-pcard__meta{display:flex;align-items:center;gap:var(--ds-s2);flex-wrap:wrap;font-size:var(--ds-fs-xs);color:var(--ds-mut)}
.ds-pcard__thc{font-style:normal;font-weight:700;color:var(--ds-forest);background:var(--ds-mint);padding:2px var(--ds-s2);border-radius:var(--ds-r-sm)}
.ds-pcard__price{display:flex;align-items:baseline;gap:var(--ds-s2);margin-top:2px}
.ds-pcard__price b{font-size:var(--ds-fs-xl);color:var(--ds-forest);line-height:1;white-space:nowrap}.ds-pcard__price b small{font-size:var(--ds-fs-sm);font-weight:600;color:var(--ds-mut)}.ds-pcard__price s{font-size:var(--ds-fs-xs);color:var(--ds-mut);text-decoration:none}
.ds-pcard__avail{color:var(--ds-mut);font-size:var(--ds-fs-xs)}
.ds-pcard__cta{margin-top:auto;display:block;text-align:center;background:var(--ds-brand);color:#fff;font-weight:700;font-size:var(--ds-fs-sm);padding:var(--ds-s3);border-radius:var(--ds-r-sm)}.ds-pcard:hover .ds-pcard__cta{background:var(--ds-brand-600)}

/* ===== Listing im Amazon-Stil: Shop-Layout (hoehere Spezifitaet ueberschreibt die alten Inline-Regeln) ===== */
.cp-shop-layout{gap:var(--ds-s6) !important}
.cp-shop-layout .cp-shop-sidebar{width:264px;background:transparent;border:0;border-radius:0;overflow:visible;position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;padding-right:var(--ds-s2)}
.cp-shop-layout .cp-shop-fgroup{border-bottom:1px solid var(--ds-line)}
.cp-shop-layout .cp-shop-fgroup summary{padding:var(--ds-s4) 0;font-size:var(--ds-fs-md);font-weight:800;color:var(--ds-forest)}
.cp-shop-layout .cp-shop-foptions{padding:0 0 var(--ds-s3);gap:0}
.cp-shop-layout .cp-shop-foptions a{position:relative;padding:7px 8px 7px 28px;margin:0;border-radius:var(--ds-r-sm);font-size:var(--ds-fs-sm);color:var(--ds-ink)}
.cp-shop-layout .cp-shop-foptions a::before{content:'';position:absolute;left:6px;top:50%;width:14px;height:14px;margin-top:-7px;border:1.5px solid #9fb0a7;border-radius:4px;background:#fff}
.cp-shop-layout .cp-shop-foptions a:hover{background:var(--ds-canvas)}
.cp-shop-layout .cp-shop-foptions a.active{background:var(--ds-mint);color:var(--ds-forest);font-weight:700}
.cp-shop-layout .cp-shop-foptions a.active::before{background:var(--ds-brand);border-color:var(--ds-brand);box-shadow:inset 0 0 0 2px #fff}
.cp-shop-layout .cp-shop-foptions a.active .cp-shop-fcount{color:var(--ds-mut)}
.cp-shop-layout .cp-shop-fsearch{border-radius:var(--ds-r-sm);padding:8px 12px;font-size:var(--ds-fs-sm)}
.cp-shop-main .cp-shop-toolbar{border-bottom:1px solid var(--ds-line);padding-bottom:var(--ds-s3);margin-bottom:var(--ds-s4)}
.cp-shop-main .cp-shop-count{font-size:var(--ds-fs-md);color:var(--ds-mut)}.cp-shop-main .cp-shop-count strong{color:var(--ds-forest)}
.cp-shop-main .cp-shop-sort-select{border-radius:var(--ds-r-sm);border-color:var(--ds-line);padding:9px 12px;font-weight:600;color:var(--ds-forest)}
.cp-shop-main .cp-shop-search-input{border-radius:var(--ds-r-sm);border-color:var(--ds-line)}
.cp-shop-main .pnp-btn{background:var(--ds-brand);border-color:var(--ds-brand);border-radius:var(--ds-r-sm)}
.cp-shop-main .pnp-btn-outline{border-radius:var(--ds-r-sm);border-color:var(--ds-line);color:var(--ds-forest)}
.cp-shop-main .cp-product-grid{gap:var(--ds-s4)}
.cp-shop-main .cp-product-grid .ds-pcard{min-width:0}
.cp-pagination{display:flex;gap:var(--ds-s2);justify-content:center;margin:var(--ds-s6) 0}
.cp-page-link{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ds-line);border-radius:var(--ds-r-sm);color:var(--ds-forest);text-decoration:none;font-weight:600;background:#fff}
.cp-page-link.active{background:var(--ds-forest);border-color:var(--ds-forest);color:#fff}
@media(max-width:768px){.cp-shop-layout .cp-shop-sidebar{position:static;max-height:none;width:100%;padding:0}}

/* ===== Partner-Werbeflaeche (CannaZen) kompakt statt 280px-Banner ===== */
.cp-shopad-wrap{min-height:0 !important;background:var(--ds-forest) !important}
.cp-shopad-wrap .cp-shopad-inner{display:flex;align-items:center;justify-content:center;gap:var(--ds-s4);flex-wrap:wrap;padding:var(--ds-s3) var(--ds-s6) !important}
.cp-shopad-wrap .cp-shopad-inner::before{content:'Anzeige';font-size:var(--ds-fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cp-shopad-wrap .cp-shopad-brand{font-size:var(--ds-fs-lg) !important;line-height:1.2 !important;letter-spacing:0 !important}
.cp-shopad-wrap .cp-shopad-sub{font-size:var(--ds-fs-sm) !important;margin:0 !important}
.cp-shopad-wrap .cp-shopad-btn{margin:0 !important;background:var(--ds-on-dark) !important;color:var(--ds-forest) !important;padding:var(--ds-s2) var(--ds-s4) !important;border-radius:var(--ds-r-sm) !important;font-size:var(--ds-fs-sm) !important}
.cp-shopad-wrap .cp-shopad-close{top:50% !important;margin-top:-14px}
@media(max-width:480px){.cp-shopad-wrap .cp-shopad-brand{font-size:var(--ds-fs-md) !important}.cp-shopad-wrap .cp-shopad-inner{gap:var(--ds-s2)}}

/* ===== Mobile: kompaktes 2-Spalten-Raster wie bei Marktplaetzen ===== */
@media(max-width:640px){
  .cp-shop-layout .cp-shop-main .cp-product-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:var(--ds-s2) !important}
  .ds-pcard__img{aspect-ratio:1/1}
  .ds-pcard__body{padding:var(--ds-s3);gap:4px}
  .ds-pcard__title{font-size:var(--ds-fs-sm);min-height:2.6em}
  .ds-pcard__price b{font-size:var(--ds-fs-lg)}.ds-pcard__price s{display:none}
  .ds-pcard__cta{display:none}
  .ds-pcard__meta small{display:none}
  .ds-pcard__avail{font-size:11px}
  .ds-pcard__sale,.ds-pcard__new{font-size:11px;padding:3px var(--ds-s2)}
}

/* ===== Bruecke: Legacy-Systeme (.pnp-* Detail/Standort/Apotheke, .cr-* Rankings, .cp-* Rest) bekommen die DS-Optik ===== */
.pnp h1,.cr-hero h1,.cp-container>h1{color:var(--ds-forest) !important;letter-spacing:-.02em;line-height:1.12}
.pnp .pnp-h2,.pnp-h2{font-size:var(--ds-fs-xl) !important;font-weight:800 !important;text-transform:none !important;letter-spacing:-.01em !important;color:var(--ds-forest) !important;margin:var(--ds-s7) 0 var(--ds-s4) !important}
.pnp .pnp-h4,.pnp-h4{color:var(--ds-forest) !important}
.pnp-btn{background:var(--ds-brand) !important;border-color:var(--ds-brand) !important;color:#fff !important;border-radius:var(--ds-r-sm) !important}
.pnp-btn:hover{background:var(--ds-brand-600) !important}
.pnp-btn-outline{border-radius:var(--ds-r-sm) !important;border-color:var(--ds-line) !important;color:var(--ds-forest) !important}
.pnp-tag{background:var(--ds-mint) !important;color:var(--ds-forest) !important;border:0 !important;border-radius:var(--ds-r-pill) !important;font-weight:600}
.pnp-tag-dark{background:var(--ds-forest) !important;color:#fff !important}
.pnp-area,.pnp-rcard,.pnp-scard{background:var(--ds-surface);border:1px solid var(--ds-line) !important;border-radius:var(--ds-r-md) !important;box-shadow:var(--ds-shadow-1)}
.pnp-kpi-val{color:var(--ds-forest) !important}
.pnp-aprice,.pnp-pprice,.pnp-abest{color:var(--ds-brand) !important}
.pnp-alist:hover,.pnp-prow:hover{background:var(--ds-canvas)}
.pnp-prow,.pnp-alist{border-bottom-color:var(--ds-line) !important}
.pnp-hr{border-top-color:var(--ds-line) !important;margin:var(--ds-s7) 0 !important}
.pnp a[style*="underline"]{color:var(--ds-brand) !important;text-decoration-color:var(--ds-line) !important}
.pnp .pnp-bar-fill,.pnp-bar-fill{background:var(--ds-brand) !important}
.cp-breadcrumb{font-size:var(--ds-fs-xs);color:var(--ds-mut)}.cp-breadcrumb a{color:var(--ds-mut);text-decoration:none}.cp-breadcrumb a:hover{color:var(--ds-brand)}
.cp-kpi-widget,.cp-feat-card,.cp-ratgeber-card,.cp-anl-card{border-radius:var(--ds-r-md) !important;border-color:var(--ds-line) !important}
.cp-price-table th{background:var(--ds-canvas) !important;color:var(--ds-mut) !important}
.cp-price-table td{border-bottom-color:var(--ds-line) !important}
details.cp-faq,.cp-faq-item{border-radius:var(--ds-r-md) !important;border-color:var(--ds-line) !important}
.info-box{border-radius:var(--ds-r-md) !important;background:var(--ds-mint) !important;border-left-color:var(--ds-brand) !important}
/* Rankings (.cr-*): Pills und Kopf */
.cr-gtab{border-radius:var(--ds-r-pill) !important;font-weight:600}
.cr-gtab.active{background:var(--ds-forest) !important;color:#fff !important}
.cr-hero h1 em{color:var(--ds-brand);font-style:normal}
.cr-badge{background:var(--ds-mint) !important;color:var(--ds-forest) !important;border-radius:var(--ds-r-pill) !important}
/* Fokus-Zustaende global (Barrierefreiheit) */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ds-brand);outline-offset:2px;border-radius:4px}

/* Standort/Apotheke: Link-Listen als Chips statt Aufzaehlung */
.pnp ul[style*="padding-left:20px"]{display:flex;flex-wrap:wrap;gap:var(--ds-s2);list-style:none;padding-left:0 !important;margin:var(--ds-s4) 0 !important}
.pnp ul[style*="padding-left:20px"] li{margin:0}
.pnp ul[style*="padding-left:20px"] li a{display:inline-block;padding:6px var(--ds-s3);background:var(--ds-canvas);border:1px solid var(--ds-line);border-radius:var(--ds-r-pill);font-size:var(--ds-fs-sm);font-weight:600;color:var(--ds-forest) !important;text-decoration:none !important}
.pnp ul[style*="padding-left:20px"] li a:hover{border-color:var(--ds-brand);color:var(--ds-brand) !important}

/* ===== Karten-Raster + Apotheken-/Telemedizin-/Stadtkarte ===== */
.ds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--ds-s4)}
.ds-ccard{position:relative;display:flex;flex-direction:column;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-r-md);color:inherit;text-decoration:none;transition:box-shadow .15s,transform .15s,border-color .15s;min-width:0}
.ds-ccard:hover{box-shadow:var(--ds-shadow-2);transform:translateY(-2px);border-color:#c5d4cc}
.ds-ccard__main,.ds-ccard--link{display:flex;flex-direction:column;gap:var(--ds-s1);padding:var(--ds-s5) var(--ds-s4) var(--ds-s4);color:inherit;text-decoration:none;flex:1}
.ds-ccard__ini{width:44px;height:44px;border-radius:var(--ds-r-sm);background:var(--ds-mint);color:var(--ds-forest);display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:var(--ds-s2)}
.ds-ccard__title{font-size:var(--ds-fs-md);line-height:1.3;color:var(--ds-ink)}
.ds-ccard__meta{color:var(--ds-mut);font-size:var(--ds-fs-xs);line-height:1.4}
.ds-ccard__row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--ds-s2);flex-wrap:wrap;margin-top:var(--ds-s2)}
.ds-ccard__web{padding:var(--ds-s2) var(--ds-s4);border-top:1px solid var(--ds-line);font-size:var(--ds-fs-xs);font-weight:700;color:var(--ds-brand);text-decoration:none}
.ds-ccard__web:hover{background:var(--ds-canvas)}
.ds-citycard{position:relative;display:flex;align-items:flex-end;min-height:150px;padding:var(--ds-s4);border-radius:var(--ds-r-md);text-decoration:none;color:#fff;overflow:hidden;background:linear-gradient(180deg,rgba(16,63,50,0) 25%,rgba(16,63,50,.88)),var(--img) center/cover;transition:transform .2s,box-shadow .2s}
.ds-citycard:hover{transform:translateY(-3px);box-shadow:var(--ds-shadow-2)}.ds-citycard b{display:block;font-size:var(--ds-fs-lg)}.ds-citycard small{opacity:.9;font-size:var(--ds-fs-xs)}

/* ===== Editorial: Inhaltsverzeichnis ===== */
.ds-toc{background:var(--ds-canvas);border:1px solid var(--ds-line);border-radius:var(--ds-r-md);padding:var(--ds-s4) var(--ds-s5);margin:var(--ds-s5) 0}
.ds-toc strong{display:block;color:var(--ds-forest);margin-bottom:var(--ds-s2)}
.ds-toc ol{margin:0;padding-left:var(--ds-s5);display:flex;flex-direction:column;gap:6px}
.ds-toc a{color:var(--ds-brand);text-decoration:none;font-weight:600;font-size:var(--ds-fs-sm)}.ds-toc a:hover{text-decoration:underline}
.cp-article-content h2{scroll-margin-top:96px}

/* ===== Info-/Kaufbox (Produkt, Apotheke) ===== */
.pnp-hero-buybox{background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-md);padding:var(--ds-s5);box-shadow:var(--ds-shadow-1);display:flex;flex-direction:column;gap:var(--ds-s3)}
.ap-box{width:330px;flex:none;position:sticky;top:96px;overflow:hidden}
.ap-box__img{margin:calc(var(--ds-s5) * -1) calc(var(--ds-s5) * -1) 0;width:calc(100% + var(--ds-s6) + var(--ds-s4));max-width:none;aspect-ratio:16/7;object-fit:cover;display:block}
.bb-label{font-size:var(--ds-fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ds-mut)}
.bb-price{font-size:2.25rem;font-weight:800;line-height:1;color:var(--ds-forest)}.bb-price small{font-size:var(--ds-fs-md);font-weight:600;color:var(--ds-mut)}
.bb-sub{font-size:var(--ds-fs-sm);color:var(--ds-mut);line-height:1.4}.bb-sub a{color:var(--ds-brand);font-weight:700;text-decoration:none}
.bb-btn{display:block;text-align:center;background:var(--ds-brand);color:#fff;font-weight:700;padding:var(--ds-s3) var(--ds-s4);border-radius:var(--ds-r-sm);text-decoration:none}.bb-btn:hover{background:var(--ds-brand-600)}
.bb-btn2{background:#fff;color:var(--ds-forest);border:1px solid var(--ds-line)}.bb-btn2:hover{background:var(--ds-canvas);border-color:var(--ds-brand)}
.bb-facts{list-style:none;margin:0;padding:var(--ds-s3) 0 0;border-top:1px solid var(--ds-line);display:flex;flex-direction:column;gap:6px;font-size:var(--ds-fs-xs);color:var(--ds-mut)}
@media(max-width:900px){.pnp-hero:has(.ap-box){flex-direction:column !important}.ap-box{width:100%;position:static}}
