/* Unterseiten im v2-Design (Profil, Website-Check, Methodik, Für Betriebe, Leistungen, Impressum).
   Lädt nach directory-human.css und directory-v2.css und überschreibt nur Darstellung, keine Inhalte. */
body.v2-sub { background: var(--bg); color: var(--ink); font: 16px/1.6 var(--body); --accent: var(--action); --line: #e4e2da; --muted: #5f625c; }
.v2-sub .profile-wrap { max-width: 1000px; margin: 0 auto; padding: 8px 24px 40px; }
.v2-sub .v2-back { margin: 18px 0 0; font-size: 14px; }
.v2-sub .v2-back a { color: var(--muted); text-decoration: none; }
.v2-sub .v2-back a:hover { text-decoration: underline; }
.v2-sub h1, .v2-sub h2, .v2-sub h3 { font-family: var(--head); }
.v2-sub .profile-hero { padding: 22px 0 18px; }
.v2-sub .profile-hero h1 { margin: 6px 0 10px; font: 800 clamp(30px, 4.6vw, 52px)/1.05 var(--head); letter-spacing: -.02em; overflow-wrap: anywhere; }
.v2-sub .profile-hero > p { color: var(--muted); }
.v2-sub .eyebrow { font-size: 12px; letter-spacing: .16em; color: var(--muted); font-weight: 600; }
.v2-sub .panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; margin: 16px 0; box-shadow: none; }
.v2-sub .panel h2 { font: 700 21px/1.3 var(--head); margin: 0 0 12px; }
.v2-sub .owner-panel { background: linear-gradient(135deg, var(--lime-soft), var(--violet-soft)); border-color: #dcd6ea; }
.v2-sub .action, .v2-sub button.action { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 12px; background: var(--action); border: 1px solid var(--action); color: #fff; font-weight: 700; text-decoration: none; }
.v2-sub .action.secondary { background: #fff; color: var(--ink); border-color: var(--line); }
.v2-sub .action:hover { filter: brightness(1.08); }
.v2-sub .actions { gap: 10px; }
.v2-sub a { color: var(--action); }
.v2-sub .evidence { background: var(--bg); border: 1px solid var(--line); }
.v2-sub .check-list li { border-color: var(--line); }
.v2-sub details.panel summary { cursor: pointer; font-weight: 700; }

/* Animierte Angebots-Szenen und GEO-Banner in den Markenfarben (Limette → Violett). */
.v2-sub .oo-offer, .v2-sub .geo-autopilot { --ga-hi: #a8e06a; --ga-dim: #b7b1c4; background: radial-gradient(120% 140% at 100% 0, #2b2140 0, #15121c 58%); border-radius: var(--radius); }
.v2-sub .oo-offer .ga-cta, .v2-sub .geo-autopilot .ga-cta { background: linear-gradient(90deg, #a8e06a, #c39be6); color: #15121c; border-radius: 12px; }
.v2-sub .oo-offer .ga-cta:hover, .v2-sub .geo-autopilot .ga-cta:hover { filter: brightness(1.06); background: linear-gradient(90deg, #b8ea80, #cfadeb); }
.v2-sub .oo-tile { border-radius: 14px; }

/* Impressum */
.v2-sub .v2-legal h1 { font: 800 32px/1.15 var(--head); margin: 0 0 8px; }
.v2-sub .v2-legal h2 { font-size: 18px; margin: 26px 0 8px; }
.v2-sub .v2-legal .contact td { padding: 4px 14px 4px 0; vertical-align: top; }
.v2-sub .v2-legal table { max-width: 100%; }
.v2-sub .v2-legal code { background: var(--bg); padding: 1px 5px; border-radius: 4px; overflow-wrap: anywhere; }

@media (max-width: 560px) {
  .v2-sub .profile-wrap { padding: 4px 16px 32px; }
  .v2-sub .panel { padding: 18px; }
  .v2-sub .actions .action { flex: 1 1 auto; justify-content: center; }
  .v2-sub .v2-legal .contact td { display: block; padding: 2px 0; }
  .v2-sub .v2-legal .contact tr { display: block; margin-bottom: 8px; }
}
.v2-sub .v2-brand, .v2-sub .v2-top nav a { color: var(--ink); }
/* Relevanz-Seiten (Stadt-Hubs, Leistungen v2, Ratgeber): Brotkrumen und kompakte Listen */
.profile-wrap nav.crumbs{display:block;justify-content:flex-start;gap:0;margin:6px 0 14px;padding:0;border:0;font-size:.92rem;color:#5b6b63}
.profile-wrap nav.crumbs a{display:inline;margin:0}
.hub-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.hub-list .hub-item{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px 12px}
.hub-list .hub-item h3{font-size:1rem;margin:0 0 4px}.hub-list .hub-item p{margin:0;font-size:.9rem}
.hub-cities{columns:3 200px;padding-left:18px}
.v2-hubs{margin:18px 0}.v2-hubs h2{font-size:1.15rem;margin:0 0 6px}.v2-guides{columns:2 260px}
.v2-core{margin:18px 0;padding:16px 18px;border-left:4px solid var(--accent,#245b43);background:rgba(0,0,0,.025);border-radius:0 12px 12px 0}
.v2-core h2{font-size:1.2rem;margin:0 0 8px}
.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%}.table-wrap th,.table-wrap td{border:1px solid rgba(0,0,0,.12);padding:6px 8px;text-align:left;vertical-align:top}
.mo{margin:18px 0}.mo h2{font-size:1.15rem;margin:0 0 10px}
.mo-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.mo-step{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:12px 14px;background:#fff;display:grid;gap:4px;animation-name:mo-glow;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
.mo-step b{font-size:.98rem}.mo-step span{font-size:.9rem;color:#4b5a52}.mo-icon{font-size:1.4rem}
@keyframes mo-glow{0%,30%,100%{border-color:rgba(0,0,0,.1);box-shadow:none}8%,22%{border-color:var(--accent,#245b43);box-shadow:0 0 0 3px rgba(36,91,67,.15)}}
@media (prefers-reduced-motion:reduce){.mo-step{animation:none}}
.rg-hero{margin:0 0 18px}.rg-hero img{width:100%;height:auto;max-height:360px;object-fit:cover;border-radius:16px;display:block}.rg-hero figcaption{font-size:.8rem;color:#5b6b63;margin-top:6px}
.notice{padding:10px 14px;border-left:4px solid #b7791f;background:#fff8e6;border-radius:0 10px 10px 0;margin:10px 0}

.v2-foto{position:relative;margin:16px 0 0}
.v2-foto img{display:block;width:100%;height:clamp(180px,28vw,360px);object-fit:cover;border-radius:18px;background:#e9ece8}
.v2-foto figcaption{position:absolute;right:10px;bottom:10px;max-width:calc(100% - 20px);font-size:.72rem;line-height:1.35;background:rgba(255,255,255,.88);color:#33413a;padding:3px 10px;border-radius:999px}
.v2-foto figcaption a{color:inherit}
.v2-foto--sub{margin:0 0 16px}.v2-foto--sub img{height:clamp(120px,18vw,220px)}
@media (max-width:600px){.v2-foto figcaption{border-radius:10px;font-size:.68rem}}
