/* ==================================================================
   Blog-Bausteine: visuelle Elemente für die Artikel
   Nur in Blogartikeln eingebunden (nach style.css).
   ================================================================== */

/* ---------- gemeinsame Hülle ---------- */
.prose .vis{ margin:34px 0 38px; }
.prose .vis__cap{ display:block; margin-top:12px; font-size:13.5px; line-height:1.5; color:var(--muted); text-align:center; }

/* ---------- Kennzahlen (.stats) ---------- */
.prose .stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:30px 0 34px; }
.prose .stat{ position:relative; overflow:hidden; padding:22px 20px 20px; border-radius:20px; background:#fff; border:1px solid var(--line); box-shadow:var(--sh-md); }
.prose .stat::after{ content:""; position:absolute; right:-28px; top:-28px; width:90px; height:90px; border-radius:50%; background:radial-gradient(circle, rgba(240,210,127,.45), transparent 70%); }
.prose .stat b{ display:block; font-family:var(--font-display); font-weight:700; font-size:clamp(1.9rem,3.4vw,2.5rem); line-height:1; letter-spacing:-.04em; color:var(--ink); }
.prose .stat b em{ font-style:normal; color:var(--gold-text); }
.prose .stat span{ display:block; margin-top:10px; font-size:14.5px; line-height:1.45; color:var(--muted); }
.prose .stats--dark .stat{ background:#121110; border-color:#121110; }
.prose .stats--dark .stat b{ color:#fff; }
.prose .stats--dark .stat span{ color:#b9b6ae; }

/* ---------- Icon-Karten (.icards) ---------- */
.prose .icards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:26px 0 30px; }
.prose .icard{ position:relative; padding:22px 22px 20px; border-radius:20px; background:#fff; border:1px solid var(--line); transition:transform .3s var(--ease), box-shadow .3s; }
.prose .icard:hover{ transform:translateY(-3px); box-shadow:var(--sh-lg); }
.prose .icard__ic{ display:grid; place-items:center; width:44px; height:44px; margin-bottom:14px; border-radius:13px; background:#fbf1d4; border:1px solid #f0e2b6; }
.prose .icard__ic svg{ width:20px; height:20px; color:#8a6d1c; }
.prose .icard h3{ margin:0 0 6px; font-size:1.06rem; line-height:1.3; }
.prose .icard p{ margin:0; font-size:15.5px; line-height:1.6; color:var(--muted); }
.prose .icards--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.prose .icard--wide{ grid-column:1 / -1; }

/* ---------- Zeitstrahl für Abläufe (ol.tl) ---------- */
.prose ol.tl{ position:relative; gap:0; margin:28px 0 32px; }
.prose ol.tl li{ position:relative; padding:0 0 22px 64px; min-height:46px; }
.prose ol.tl li:last-child{ padding-bottom:0; }
.prose ol.tl li::before{ left:0; top:0; width:44px; height:44px; border-radius:14px; background:#fff; border:1px solid var(--gold-line); box-shadow:0 8px 20px -12px rgba(184,137,26,.6);
  font-family:var(--font-display); font-size:15px; color:var(--gold-600); content:counter(li, decimal-leading-zero); }
.prose ol.tl li::after{ content:""; position:absolute; left:21px; top:48px; bottom:4px; width:2px; border-radius:2px; background:linear-gradient(var(--gold-line), rgba(239,220,170,.15)); }
.prose ol.tl li:last-child::after{ display:none; }
.prose ol.tl li > strong:first-child{ display:block; margin:9px 0 2px; font-family:var(--font-display); font-size:1.08rem; letter-spacing:-.01em; }
.prose ol.tl li:last-child::before{ background:#f0d27f; border-color:#f0d27f; color:#1d1402; }

/* ---------- Richtig / Falsch (.dodont) ---------- */
.prose .dodont{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:28px 0 32px; }
.prose .dd{ padding:22px 22px 18px; border-radius:20px; border:1px solid; }
.prose .dd h3{ display:flex; align-items:center; gap:10px; margin:0 0 14px; font-size:1.04rem; }
.prose .dd h3 i{ display:grid; place-items:center; width:28px; height:28px; border-radius:50%; font-style:normal; font-size:15px; font-weight:700; color:#fff; }
.prose .dd ul{ gap:10px; margin:0; }
.prose .dd ul li{ padding-left:28px; font-size:15.5px; line-height:1.55; }
.prose .dd--no{ background:var(--red-soft); border-color:#f6d5ce; }
.prose .dd--no h3 i{ background:var(--red); }
.prose .dd--no ul li::before{ width:18px; height:18px; top:.2em; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M18 6 6 18M6 6l12 12' stroke='%23b4402f' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E") center/10px no-repeat; }
.prose .dd--ok{ background:var(--green-soft); border-color:#c9e8d8; }
.prose .dd--ok h3 i{ background:var(--green); }
.prose .dd--ok ul li::before{ width:18px; height:18px; top:.2em; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 6 9 17l-5-5' stroke='%230e7c5a' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat; }

/* ---------- Praxis-Tipp mit Autor (.tip) ---------- */
.prose .tip{ position:relative; display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:start; margin:36px 0 38px; padding:24px 26px; border-radius:22px;
  background:linear-gradient(135deg,#fffaf0,#fbf1d6); border:1px solid var(--gold-line); }
.prose .tip__av{ width:64px; height:64px; border-radius:50%; overflow:hidden; background:#f0d27f; border:3px solid #fff; box-shadow:0 10px 24px -14px rgba(23,23,23,.5); }
.prose .tip__av img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.prose .tip__label{ display:inline-flex; align-items:center; gap:6px; margin-bottom:6px; font-family:var(--font-display); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-600); }
.prose .tip__label svg{ width:14px; height:14px; }
.prose .tip p{ margin:0 0 10px; font-size:16.5px; line-height:1.65; color:var(--ink-2); }
.prose .tip small{ display:block; font-size:13.5px; color:var(--muted); }
.prose .tip small b{ color:var(--ink); }

/* ---------- Mockup-Rahmen (.mock) ---------- */
.prose .mock{ position:relative; overflow:hidden; border-radius:20px; background:#fff; border:1px solid var(--line); box-shadow:0 30px 70px -40px rgba(23,23,23,.45); }
.prose .mock__bar{ display:flex; align-items:center; gap:12px; height:40px; padding:0 14px; border-bottom:1px solid var(--line); background:#fcfbf8; }
.prose .mock__dots{ display:flex; gap:6px; }
.prose .mock__dots i{ width:9px; height:9px; border-radius:50%; background:#e7e5e0; }
.prose .mock__dots i:nth-child(1){ background:#f2b8ae; } .prose .mock__dots i:nth-child(2){ background:#f3dca0; } .prose .mock__dots i:nth-child(3){ background:#b9dfc8; }
.prose .mock__url{ flex:1; max-width:340px; display:flex; align-items:center; gap:8px; height:26px; padding:0 12px; border-radius:99px; background:#fff; border:1px solid var(--line); font-size:12.5px; color:var(--muted); white-space:nowrap; overflow:hidden; }
.prose .mock__url svg{ flex:none; width:12px; height:12px; color:var(--muted-2); }
.prose .mock__body{ padding:18px; }

/* Google-Suche mit Kartenanzeige */
.prose .gsearch{ display:flex; align-items:center; gap:10px; height:42px; padding:0 16px; border-radius:99px; border:1px solid var(--line); box-shadow:0 2px 8px rgba(23,23,23,.06); font-size:15px; color:var(--ink); }
.prose .gsearch svg{ width:16px; height:16px; color:var(--muted-2); }
.prose .gpack{ display:grid; grid-template-columns:1.05fr 1fr; gap:14px; margin-top:14px; }
.prose .gmap{ position:relative; min-height:230px; border-radius:14px; overflow:hidden; background:#eef0e8;
  background-image:linear-gradient(28deg, transparent 47%, #fff 47%, #fff 53%, transparent 53%), linear-gradient(-62deg, transparent 46%, #fff 46%, #fff 50%, transparent 50%),
  linear-gradient(90deg, transparent 70%, #fff 70%, #fff 72.5%, transparent 72.5%), radial-gradient(circle at 22% 78%, #dfe9d6 0 16%, transparent 16.5%), radial-gradient(circle at 82% 22%, #dde8f0 0 14%, transparent 14.5%); }
.prose .gpin{ position:absolute; display:grid; place-items:center; width:30px; height:30px; margin:-30px 0 0 -15px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#c9c6be; box-shadow:0 6px 14px -6px rgba(0,0,0,.4); }
.prose .gpin span{ transform:rotate(45deg); font-family:var(--font-display); font-size:12px; font-weight:700; color:#fff; }
.prose .gpin--you{ width:38px; height:38px; margin:-38px 0 0 -19px; background:#171717; z-index:2; }
.prose .gpin--you span{ color:#f0d27f; font-size:14px; }
.prose .gpin--you::after{ content:""; position:absolute; inset:-9px; border-radius:50% 50% 50% 0; border:2px solid rgba(201,151,31,.55); animation:gpulse 2.6s infinite; }
@keyframes gpulse{ 0%{ opacity:.9; transform:scale(.8);} 100%{ opacity:0; transform:scale(1.5);} }
.prose .glist{ display:grid; gap:8px; align-content:start; }
.prose .gitem{ display:grid; grid-template-columns:auto 1fr; gap:4px 10px; align-items:center; padding:11px 12px; border-radius:12px; border:1px solid var(--line); background:#fff; }
.prose .gitem i{ grid-row:span 3; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#c9c6be; font-style:normal; font-family:var(--font-display); font-size:11.5px; font-weight:700; color:#fff; }
.prose .gitem b{ font-family:var(--font-display); font-size:14px; line-height:1.25; color:var(--ink); }
.prose .gitem .stars{ font-size:12px; letter-spacing:1px; color:#e3b341; line-height:1; }
.prose .gitem .stars small{ margin-left:4px; letter-spacing:0; font-size:12px; color:var(--muted); }
.prose .gitem em{ font-style:normal; font-size:12px; color:var(--muted); line-height:1.3; }
.prose .gitem--you{ border-color:#e9cf7a; background:#fffbef; box-shadow:0 0 0 4px rgba(240,210,127,.25); }
.prose .gitem--you i{ background:#171717; color:#f0d27f; }
.prose .gitem--you em{ color:var(--green); font-weight:600; }
.prose .gorg{ margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); display:grid; gap:10px; }
.prose .gorg__row{ display:grid; gap:5px; }
.prose .gorg__row small{ font-size:12px; color:var(--muted); }
.prose .gorg__row b{ font-family:var(--font-body); font-weight:500; font-size:16px; color:#1a4fb4; }
.prose .gorg__row span{ height:7px; border-radius:4px; background:var(--bg-3); }
.prose .gorg__row span + span{ width:72%; }
.prose .glabel{ position:absolute; z-index:3; padding:5px 10px; border-radius:99px; background:#171717; color:#fff; font-family:var(--font-display); font-size:11.5px; font-weight:700; white-space:nowrap; box-shadow:0 10px 22px -12px rgba(0,0,0,.6); }
.prose .glabel--gold{ background:#f0d27f; color:#1d1402; }

/* Unternehmensprofil-Karte */
.prose .gbp{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
.prose .gbp__main{ padding:18px 20px; }
.prose .gbp__main h4{ margin:0 0 4px; font-size:1.2rem; }
.prose .gbp__rating{ display:flex; align-items:center; gap:6px; font-size:13.5px; color:var(--muted); }
.prose .gbp__rating b{ color:var(--ink); font-weight:600; }
.prose .gbp__rating .stars{ color:#e3b341; letter-spacing:1px; }
.prose .gbp__cat{ margin:4px 0 12px; font-size:13.5px; color:var(--muted); }
.prose .gbp__btns{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.prose .gbp__btns span{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:99px; border:1px solid #d4dcef; color:#1a4fb4; font-size:12.5px; font-weight:600; }
.prose .gbp__btns span:first-child{ background:#1a4fb4; border-color:#1a4fb4; color:#fff; }
.prose .gbp__rows{ display:grid; gap:7px; font-size:13px; color:var(--ink-2); }
.prose .gbp__rows div{ display:flex; gap:8px; }
.prose .gbp__rows i{ font-style:normal; color:var(--muted); min-width:92px; }
.prose .gbp__open{ color:var(--green); font-weight:600; }
.prose .gbp__map{ min-height:200px; border-radius:0; }

/* Artikel-Aufbau als Skizze */
.prose .wire{ display:grid; grid-template-columns:1fr 150px; gap:16px; }
.prose .wire__main, .prose .wire__side{ display:grid; gap:10px; align-content:start; }
.prose .wb{ position:relative; display:flex; align-items:center; gap:10px; min-height:34px; padding:9px 12px; border-radius:10px; background:var(--bg-3); font-size:12.5px; color:var(--muted); }
.prose .wb b{ flex:none; padding:3px 8px; border-radius:6px; background:#fff; border:1px solid var(--line); font-family:var(--font-display); font-size:11px; font-weight:700; color:var(--ink); }
.prose .wb span{ flex:1; height:7px; border-radius:4px; background:#e6e3db; }
.prose .wb--h1{ background:#171717; color:#fff; min-height:48px; }
.prose .wb--h1 b{ background:#f0d27f; border-color:#f0d27f; color:#1d1402; }
.prose .wb--h1 strong{ color:#fff; font-family:var(--font-display); font-size:14px; font-weight:600; }
.prose .wb--gold{ background:#fbf1d4; color:#7a5c12; }
.prose .wb--tbl{ display:grid; grid-template-columns:repeat(3,1fr); gap:5px; padding:10px; }
.prose .wb--tbl i{ height:12px; border-radius:3px; background:#e6e3db; }
.prose .wb--tbl i:nth-child(-n+3){ background:#f0d27f; }
.prose .wb--cta{ justify-content:center; background:#0f3d2e; color:#fff; font-family:var(--font-display); font-weight:700; }
.prose .wb--tall{ min-height:120px; align-items:flex-start; flex-direction:column; }

/* Förderbalken */
.prose .fbar{ padding:22px 22px 18px; }
.prose .fbar__track{ position:relative; display:flex; height:54px; border-radius:14px; overflow:hidden; background:#f1efe9; }
.prose .fbar__seg{ display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:14px; white-space:nowrap; }
.prose .fbar__seg--state{ background:repeating-linear-gradient(-45deg,#f0d27f 0 12px,#ecc966 12px 24px); color:#1d1402; }
.prose .fbar__seg--you{ color:var(--ink); }
.prose .fbar__rows{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:14px; }
.prose .fbar__row{ padding:12px 14px; border-radius:12px; background:var(--bg-3); font-size:13.5px; color:var(--muted); }
.prose .fbar__row b{ display:block; font-family:var(--font-display); font-size:1.15rem; color:var(--ink); }
.prose .fbar__row--gold{ background:#fbf1d4; }

/* ---------- Mobil ---------- */
@media (max-width:760px){
  .prose .stats{ grid-template-columns:1fr; gap:10px; }
  .prose .stat{ display:flex; align-items:center; gap:16px; padding:16px 18px; }
  .prose .stat b{ min-width:92px; font-size:1.8rem; }
  .prose .stat span{ margin:0; }
  .prose .icards, .prose .icards--3, .prose .dodont{ grid-template-columns:1fr; }
  .prose .tip{ grid-template-columns:1fr; gap:12px; padding:20px; }
  .prose .tip__av{ width:54px; height:54px; }
  .prose .gpack{ grid-template-columns:1fr; }
  .prose .gmap{ min-height:170px; }
  .prose .gbp{ grid-template-columns:1fr; }
  .prose .gbp__map{ min-height:140px; }
  .prose .wire{ grid-template-columns:1fr; }
  .prose .wire__side{ display:none; }
  .prose ol.tl li{ padding-left:58px; }
  .prose .mock__body{ padding:14px; }
}
@media (prefers-reduced-motion:reduce){ .prose .gpin--you::after{ animation:none; } }

/* Kennzahlen mit Wörtern statt Zahlen */
.prose .stats--words .stat b{ font-size:clamp(1.3rem,2.1vw,1.6rem); letter-spacing:-.03em; }
.prose .gorg .glabel{ position:static; justify-self:start; }

/* ---------- Website-Skizze im Browser (.wf) ---------- */
.prose .wf{ padding:18px; display:grid; gap:12px; }
.prose .wf__nav{ display:flex; align-items:center; gap:10px; }
.prose .wf__logo{ width:28px; height:28px; border-radius:8px; background:#f0d27f; }
.prose .wf__links{ display:flex; gap:8px; margin-left:auto; }
.prose .wf__links i{ width:44px; height:7px; border-radius:4px; background:#e6e3db; }
.prose .wf__navbtn{ padding:6px 12px; border-radius:99px; background:#171717; color:#fff; font-family:var(--font-display); font-size:11px; font-weight:700; }
.prose .wf__hero{ display:grid; grid-template-columns:1.2fr 1fr; gap:16px; align-items:center; padding:16px; border-radius:14px; background:linear-gradient(135deg,#fffaf0,#f6efe0); }
.prose .wf__h{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; line-height:1.2; letter-spacing:-.02em; color:var(--ink); margin:0 0 8px; }
.prose .wf__p{ height:7px; border-radius:4px; background:#e6e0d0; margin-bottom:6px; }
.prose .wf__p + .wf__p{ width:75%; }
.prose .wf__cta{ display:inline-flex; margin-top:8px; padding:8px 14px; border-radius:99px; background:#0f3d2e; color:#fff; font-family:var(--font-display); font-size:12px; font-weight:700; }
.prose .wf__trust{ display:flex; align-items:center; gap:6px; margin-top:10px; font-size:12px; color:var(--muted); }
.prose .wf__trust .stars{ color:#e3b341; letter-spacing:1px; }
.prose .wf__img{ min-height:120px; border-radius:12px; background:linear-gradient(160deg,#e9dcc0,#d8c7a0); position:relative; overflow:hidden; }
.prose .wf__img::after{ content:""; position:absolute; left:18%; right:18%; bottom:0; height:62%; border-radius:50% 50% 0 0; background:rgba(255,255,255,.35); }
.prose .wf__cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.prose .wf__card{ padding:12px; border-radius:12px; border:1px solid var(--line); display:grid; gap:6px; }
.prose .wf__card b{ font-family:var(--font-display); font-size:12.5px; color:var(--ink); }
.prose .wf__card i{ height:6px; border-radius:3px; background:#ece9e2; }
.prose .wf__card i + i{ width:70%; }
.prose .wf__tag{ position:relative; }
.prose .wf__tag::after{ content:attr(data-tag); position:absolute; right:-6px; top:-10px; padding:3px 8px; border-radius:99px; background:#f0d27f; color:#1d1402; font-family:var(--font-display); font-size:10.5px; font-weight:700; white-space:nowrap; box-shadow:0 6px 14px -8px rgba(0,0,0,.4); }

/* ---------- Google-Bewertung mit Antwort (.grev) ---------- */
.prose .grev{ padding:20px; display:grid; gap:12px; }
.prose .grev__head{ display:flex; align-items:center; gap:10px; }
.prose .grev__av{ display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#7a8fb8; color:#fff; font-family:var(--font-display); font-weight:700; font-size:14px; }
.prose .grev__head b{ display:block; font-family:var(--font-display); font-size:14px; color:var(--ink); }
.prose .grev__head small{ font-size:12px; color:var(--muted); }
.prose .grev__stars{ color:#e3b341; letter-spacing:1px; font-size:14px; }
.prose .grev__text{ margin:0 !important; font-size:15px !important; line-height:1.6; color:var(--ink-2); }
.prose .grev__reply{ margin-left:22px; padding:14px 16px; border-radius:14px; background:#f7f5ef; border-left:3px solid #f0d27f; }
.prose .grev__reply b{ display:block; margin-bottom:4px; font-family:var(--font-display); font-size:13px; color:var(--ink); }
.prose .grev__reply p{ margin:0 !important; font-size:14.5px !important; line-height:1.6; color:var(--ink-2); }

/* ---------- Vorher / Nachher (.ba) ---------- */
.prose .ba{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:28px 0 32px; }
.prose .ba__col{ position:relative; padding:22px 22px 18px; border-radius:20px; border:1px solid var(--line); background:#fff; }
.prose .ba__col--before{ background:#f6f5f2; }
.prose .ba__col--after{ border-color:var(--gold-line); background:linear-gradient(160deg,#fffdf6,#fbf1d6); box-shadow:0 24px 50px -34px rgba(184,137,26,.55); }
.prose .ba__label{ display:inline-block; margin-bottom:12px; padding:4px 11px; border-radius:99px; font-family:var(--font-display); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.prose .ba__col--before .ba__label{ background:#e8e6e0; color:var(--muted); }
.prose .ba__col--after .ba__label{ background:#f0d27f; color:#1d1402; }
.prose .ba__col h3{ margin:0 0 10px; font-size:1.06rem; }
.prose .ba__col ul{ margin:0; gap:8px; }
.prose .ba__col ul li{ font-size:15.5px; line-height:1.55; }
.prose .ba__col--before ul li::before{ background:#e8e6e0 none; width:8px; height:8px; top:.6em; left:6px; }

@media (max-width:760px){
  .prose .wf__hero{ grid-template-columns:1fr; }
  .prose .wf__img{ min-height:80px; }
  .prose .wf__links{ display:none; }
  .prose .wf__cards{ grid-template-columns:1fr 1fr; }
  .prose .wf__cards .wf__card:nth-child(3){ display:none; }
  .prose .ba{ grid-template-columns:1fr; }
  .prose .grev__reply{ margin-left:0; }
}
@media (max-width:760px){ .prose .pull .pull__q{ font-size:1.12rem !important; } }

/* ---------- Ortsbild im Kopf der Standort-Artikel (.ort-hero) ---------- */
.ort-hero{ position:relative; max-width:1120px; margin:44px auto 0; border-radius:28px; overflow:hidden; background:#ece7da; box-shadow:0 40px 90px -50px rgba(23,23,23,.55); }
.ort-hero img{ display:block; width:100%; height:auto; aspect-ratio:16/7; object-fit:cover; }
.ort-hero::after{ content:""; position:absolute; inset:auto 0 0 0; height:45%; background:linear-gradient(transparent, rgba(10,9,8,.55)); pointer-events:none; }
.ort-hero figcaption{ position:absolute; z-index:1; left:22px; right:22px; bottom:18px; display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.ort-hero__place{ display:inline-flex; align-items:center; gap:8px; padding:8px 14px 8px 10px; border-radius:99px; background:rgba(255,255,255,.94); font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--ink); box-shadow:0 10px 24px -14px rgba(0,0,0,.5); }
.ort-hero__place svg{ width:16px; height:16px; color:var(--gold); }
.ort-hero__credit{ max-width:52%; font-size:11.5px; line-height:1.4; color:rgba(255,255,255,.85); text-align:right; }
.ort-hero__credit a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
@media (max-width:760px){
  .ort-hero{ margin-top:30px; border-radius:20px; }
  .ort-hero img{ aspect-ratio:4/3; }
  .ort-hero figcaption{ left:12px; right:12px; bottom:12px; flex-direction:column; align-items:flex-start; gap:8px; }
  .ort-hero__credit{ max-width:none; text-align:left; font-size:10.5px; }
}

/* ---------- Orte als Chips (.ortchips) ---------- */
.prose .ortchips{ display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 26px; padding:0; }
.prose .ortchips span{ display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:99px; background:#fff; border:1px solid var(--line); font-size:14.5px; font-weight:500; color:var(--ink-2); }
.prose .ortchips span svg{ width:13px; height:13px; color:var(--gold); }
.prose .ortchips span.is-main{ background:#171717; border-color:#171717; color:#fff; }
.prose .ortchips span.is-main svg{ color:#f0d27f; }
.prose .ortchips .ortchips__label{ width:100%; margin-top:6px; padding:0; border:0; background:none; font-family:var(--font-display); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }

/* Pflanzen liegen über dem Kachel-Raster */
.hero .deco-leaf, .article .deco-leaf{ z-index:1; }
.hero .tiles, .article .tiles{ z-index:0; }

/* ---------- Standort-Hero zweispaltig mit Ortsbild-Karte (.hero--split) ---------- */
.hero--split .ort-split{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(40px,5vw,84px); align-items:center; max-width:1240px; }
.hero--split .hero-inner{ text-align:left; max-width:none; margin:0; }
.hero--split .crumbs{ justify-content:flex-start; }
.hero--split .hero-title{ font-size:clamp(2.3rem,4.3vw,3.7rem); }
.hero--split .hero-sub{ margin-left:0; margin-right:0; max-width:560px; }
.hero--split .art-chips{ justify-content:flex-start; }
.hero--split .btn-row{ justify-content:flex-start !important; }
.ort-card{ position:relative; margin:0 0 0 auto; width:100%; max-width:440px; }
.ort-card__frame{ position:relative; aspect-ratio:4/5; border-radius:26px; overflow:hidden; background:#ece7da; box-shadow:0 40px 80px -48px rgba(23,23,23,.5), 0 0 0 1px rgba(23,23,23,.06); }
.ort-card__frame img{ display:block; width:100%; height:100%; object-fit:cover; }
.ort-card__float{ position:absolute; left:16px; bottom:16px; display:grid; gap:1px; padding:12px 16px; border-radius:16px; background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 14px 30px -18px rgba(0,0,0,.45); }
.ort-card__float .stars{ color:#e3b341; font-size:12px; letter-spacing:1.5px; }
.ort-card__float b{ font-family:var(--font-display); font-size:1.15rem; line-height:1.15; color:var(--ink); }
.ort-card__float small{ font-size:12px; color:var(--muted); }
@media (max-width:900px){
  .hero--split .ort-split{ grid-template-columns:1fr; gap:44px; }
  .hero--split .hero-inner{ text-align:center; }
  .hero--split .crumbs, .hero--split .art-chips{ justify-content:center; }
  .hero--split .hero-sub{ margin-left:auto; margin-right:auto; }
  .hero--split .btn-row{ justify-content:center !important; }
  .ort-card{ margin:0 auto; max-width:420px; }
  .ort-card__frame{ aspect-ratio:1/1; }
}
