/* Vaikuntha Goa-Trip — Unterkünfte, Anmeldung, Info-Bereich (sitzt im v2-Layout der Seite) */
.vkg-haus-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin: 0 0 1.5rem; }
.vkg-haus-card { background: #fafaf8; border: 1px solid #e8e8e4; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.vkg-haus-card > a img, .vkg-haus-card > img { width: 100%; height: 200px; object-fit: cover; display: block; }
.vkg-haus-platz { height: 200px; display: flex; align-items: center; justify-content: center; font-size: 44px; background: linear-gradient(120deg, #EAF3DE, #d7e7c3); }
.vkg-insta { padding: 18px 14px; background: linear-gradient(120deg, #f6efe6, #efe4d4); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.vkg-insta small { font-size: 11px; color: #8a7f6c; }
.vkg-insta-btn { background: #fff; border: 1.5px solid #C97A1A; color: #7A4A0A; border-radius: 22px; padding: 9px 18px; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.vkg-insta-btn:hover { background: #C97A1A; color: #fff; }
.vkg-insta blockquote.instagram-media { margin: 0 auto !important; min-width: 0 !important; width: 100% !important; }
.vkg-haus-body { padding: 14px 18px 16px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.vkg-haus-body h4 { font-size: 15.5px; margin: 0; color: #111; line-height: 1.3; }
.vkg-haus-body p { margin: 0; font-size: 13px; color: #555; line-height: 1.6; }
.vkg-haus-ort { color: #3B6D11 !important; font-weight: 600; }
.vkg-haus-text { flex: 1; }
.vkg-haus-links a { color: #3B6D11; font-weight: 600; text-decoration: none; }
.vkg-quelle { font-size: 11.5px; color: #999; }
.vkg-haus-stimmen { font-weight: 700; color: #27500A !important; font-size: 14px !important; }
/* Stimm-Knopf unter jedem Haus (1.2.0): ein Klick gibt die Stimme, der nächste nimmt sie zurück. */
.vkg-stimme-form { margin: 4px 0 0; }
.vkg-stimme { display: inline-flex; align-items: center; gap: 6px; background: #fff !important; border: 1.5px solid #3B6D11 !important; color: #27500A !important; border-radius: 22px !important; padding: 7px 15px !important; font-size: 13.5px !important; font-weight: 700 !important; line-height: 1.2 !important; cursor: pointer; text-decoration: none !important; font-family: inherit; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
.vkg-stimme:hover { background: #EAF3DE !important; }
.vkg-stimme-an { background: #3B6D11 !important; color: #fff !important; }
.vkg-stimme-an:hover { background: #27500A !important; }
.vkg-stimme-form small, .vkg-haus-stimmen small { display: block; margin-top: 5px; font-size: 11.5px; font-weight: 400; color: #8a917f; line-height: 1.4; }
.vkg-haus-card:target { box-shadow: 0 0 0 3px #9FDB5C; }
.vkg-kat { align-self: flex-start; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; border-radius: 20px; padding: 3px 10px; background: #EAF3DE; color: #27500A; }
.vkg-kat-luxus { background: #f0e4f7; color: #8B3FA8; }
.vkg-kat-guenstig { background: #FFF4E5; color: #7A4A0A; }
.vkg-kat-klein { background: #eee; color: #555; }
.vkg-kat-mittel { background: #EAF3DE; color: #27500A; }

/* Navigation: eine Zeile Sprungmarken oben in jedem Sprachblock. Auf schmalen
   Schirmen wird daraus ein waagerecht scrollbares Band statt eines Umbruchs. */
.vkg-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 2rem; padding: 12px 14px; background: #fafaf8; border: 1px solid #e8e8e4; border-radius: 12px; }
.vkg-nav-titel { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #8a917f; margin-right: 4px; }
.vkg-nav a { font-size: 13px; font-weight: 600; color: #27500A !important; text-decoration: none; background: #EAF3DE; border-radius: 20px; padding: 5px 13px; line-height: 1.3; white-space: nowrap; }
.vkg-nav a:hover { background: #3B6D11; color: #fff !important; }
@media (max-width: 700px) {
  .vkg-nav { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .vkg-nav-titel { display: none; }
}

/* Kernfakten je Haus: Kapazität, Preis, Verfügbarkeit */
.vkg-fakten { margin: 2px 0 4px; padding: 10px 12px; background: #fff; border: 1px solid #eceee6; border-radius: 9px; display: grid; gap: 6px; }
.vkg-fakten > div { display: grid; grid-template-columns: 88px 1fr; gap: 10px; align-items: baseline; }
.vkg-fakten dt { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #8a917f; margin: 0; }
.vkg-fakten dd { margin: 0; font-size: 12.5px; line-height: 1.5; color: #222; }
@media (max-width: 420px) { .vkg-fakten > div { grid-template-columns: 1fr; gap: 1px; } }

html.vk-dark .vkg-nav { background: #22221e; border-color: #3a3a34; }
html.vk-dark .vkg-nav a { background: #2a3a1e; color: #b9c9a8 !important; }
html.vk-dark .vkg-nav a:hover { background: #3B6D11; color: #fff !important; }
html.vk-dark .vkg-fakten { background: #1c1c19; border-color: #3a3a34; }
html.vk-dark .vkg-fakten dd { color: #d6d3cc; }

/* Zurueck aus dem Forum auf die Goa-Seite */
.vkg-zurueck { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 18px; }
.vkg-zurueck a { font-size: 14px; font-weight: 600; text-decoration: none; border-radius: 24px; padding: 9px 18px; line-height: 1.3; }
.vkg-zurueck-haupt { background: #3B6D11; color: #fff !important; }
.vkg-zurueck-haupt:hover { background: #27500A; }
.vkg-zurueck-neben { background: transparent; color: #3B6D11 !important; border: 1.5px solid #3B6D11; }
.vkg-zurueck-neben:hover { background: #EAF3DE; }
html.vk-dark .vkg-zurueck-neben { color: #9FDB5C !important; border-color: #9FDB5C; }
html.vk-dark .vkg-zurueck-neben:hover { background: #2a3a1e; }

.vkg-kat-belegt { background: #f3e3e3; color: #8a3b3b; }
html.vk-dark .vkg-kat-belegt { background: #3a2626; color: #d9a8a8; }

/* Schranke und Verbindlichkeit */
.vkg-gate { background: #fafaf8; border: 1px solid #e8e8e4; border-radius: 14px; padding: 1.6rem 1.8rem 1.4rem; margin: 0 0 2rem; }
.vkg-gate .v2-section-title { margin-top: 0; }
.vkg-gate-sprachen { font-size: 12.5px; color: #8a917f; margin: 4px 0 0; }
.vkg-gate-sprachen a { color: #3B6D11; text-decoration: none; margin-right: 4px; }
.vkg-sicher { display: inline-block; border-radius: 20px; padding: 2px 9px; font-size: 11.5px; font-weight: 700; }
.vkg-sicher-ja { background: #EAF3DE; color: #27500A; }
.vkg-sicher-vielleicht { background: #FFF4E5; color: #7A4A0A; }
.vkg-sicher-nein { background: #f1efec; color: #6b665f; }
html.vk-dark .vkg-gate { background: #22221e; border-color: #3a3a34; }
html.vk-dark .vkg-sicher-ja { background: #2a3a1e; color: #b9c9a8; }
html.vk-dark .vkg-sicher-vielleicht { background: #2b2416; color: #d9b97a; }
html.vk-dark .vkg-sicher-nein { background: #2a2a26; color: #b0aca4; }

/* Formular */
.vkg-form { display: flex; flex-direction: column; gap: 14px; font-size: 14px; }
.vkg-form label { display: flex; flex-direction: column; gap: 5px; font-weight: 600; color: #222; font-size: 13.5px; }
.vkg-form .vkg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vkg-form input[type=text], .vkg-form input[type=email], .vkg-form input[type=date], .vkg-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #cfd4c6; border-radius: 8px; padding: 9px 12px; font-size: 14px; font-family: inherit; background: #fff; color: #1a1a1a; }
.vkg-form textarea { resize: vertical; }
.vkg-form .vkg-cap { display: block; }
.vkg-form .vkg-cap .vkg-req { margin-left: 2px; }
.vkg-form fieldset { border: 1px solid #e3e6dc; border-radius: 10px; padding: 12px 16px 10px; margin: 0; }
.vkg-form legend { font-weight: 700; font-size: 13.5px; color: #27500A; padding: 0 6px; }
.vkg-form .vkg-opt { flex-direction: row; align-items: flex-start; gap: 8px; font-weight: 500; font-size: 13.5px; line-height: 1.45; padding: 4px 0; cursor: pointer; }
.vkg-form .vkg-opt input { margin: 3px 0 0; flex: 0 0 auto; }
.vkg-form .vkg-opt small { color: #888; font-weight: 400; }
.vkg-checks { display: grid; grid-template-columns: 1fr; gap: 0 14px; }
.vkg-checks-2 { grid-template-columns: 1fr 1fr; }
.vkg-req { color: #C97A1A; }
.vkg-hinweis { font-size: 12.5px; color: #777; margin: 0; line-height: 1.55; }
.vkg-form button.v2-btn { border: none; cursor: pointer; align-self: flex-start; font-family: inherit; }
.vkg-hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }

/* Rückmeldung, Chips */
.vkg-meld { border-radius: 10px; padding: 14px 18px; margin: 0 0 1.5rem; font-size: 14px; line-height: 1.6; }
.vkg-meld-ok { background: #EAF3DE; border-left: 4px solid #3B6D11; color: #27500A; }
.vkg-meld-bad { background: #FFF4E5; border-left: 4px solid #C97A1A; color: #7A4A0A; }
.vkg-link { display: flex; gap: 6px; margin-top: 8px; }
.vkg-link input { flex: 1; min-width: 0; font-size: 12.5px; padding: 7px 10px; border: 1px solid #cfd4c6; border-radius: 8px; background: #fff; color: #333; }
.vkg-copy { border: 1px solid #cfd4c6; background: #fff; border-radius: 8px; padding: 0 12px; cursor: pointer; font-size: 15px; }
.vkg-dabei { background: #fafaf8; border: 1px solid #e8e8e4; border-radius: 12px; padding: 14px 18px; margin: 0 0 1.25rem; font-size: 13.5px; line-height: 1.9; }
.vkg-chip { display: inline-block; background: #EAF3DE; color: #27500A; border-radius: 20px; padding: 2px 11px; font-size: 12.5px; font-weight: 600; margin: 0 2px; }
.vkg-dabei .vkg-hinweis { margin-top: 6px; }

/* Info-Bereich */
.vkg-info { background: #EAF3DE; border-radius: 14px; padding: 1.4rem 1.6rem 1.2rem; margin: 0 0 1.25rem; }
.vkg-info h3 { font-size: 20px; margin: 0 0 8px; color: #27500A; }
.vkg-info h4 { font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: #3B6D11; margin: 22px 0 8px; }
.vkg-info h4 small { text-transform: none; letter-spacing: 0; color: #6d7a5e; font-weight: 500; }
.vkg-info-hallo { font-size: 15px; font-weight: 600; margin: 0 0 10px; color: #1a1a1a; }
.vkg-schritte { margin: 0; padding-left: 20px; }
.vkg-schritte li { font-size: 13.5px; line-height: 1.6; color: #333; margin-bottom: 4px; }
.vkg-edit { margin: 0 0 2.5rem; }
.vkg-edit summary { cursor: pointer; font-weight: 700; color: #3B6D11; font-size: 15px; padding: 10px 0; }
.vkg-edit .v2-form-box { margin-top: 10px; }

/* Zeitleiste */
.vkg-tl { background: #fff; border-radius: 10px; padding: 12px 14px 8px; margin: 0 0 12px; overflow: hidden; }
.vkg-tl-head, .vkg-tl-row { display: grid; grid-template-columns: 150px 1fr; gap: 10px; align-items: center; }
.vkg-tl-scale { position: relative; height: 16px; font-size: 10.5px; color: #888; }
.vkg-tl-scale span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.vkg-tl-row { padding: 3px 0; }
.vkg-tl-name { font-size: 12.5px; color: #222; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vkg-tl-bar { position: relative; height: 16px; background: #f0f2ec; border-radius: 8px; }
.vkg-tl-bar i { position: absolute; top: 0; bottom: 0; border-radius: 8px; }
.vkg-tl-kern { background: rgba(59, 109, 17, 0.12); }
.vkg-tl-ist { background: #3B6D11; }
.vkg-tl-offen { background: #9FDB5C; }
.vkg-tl-fehlt { position: absolute; left: 8px; top: 1px; font-size: 10.5px; color: #999; font-style: italic; }
.vkg-legend { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: -2px; }
.vkg-legend-kern { background: rgba(59, 109, 17, 0.18); }
.vkg-legend-ist { background: #3B6D11; }
.vkg-legend-offen { background: #9FDB5C; }
@media (max-width: 600px) { .vkg-tl-head, .vkg-tl-row { grid-template-columns: 90px 1fr; } }

/* Tabelle, Tally */
.vkg-tabelle-wrap { overflow-x: auto; }
.vkg-tabelle { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; border-radius: 10px; overflow: hidden; }
.vkg-tabelle th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: #3B6D11; padding: 8px 10px; border-bottom: 1px solid #dfe7d5; }
.vkg-tabelle td { padding: 7px 10px; border-bottom: 1px solid #eef2e8; color: #222; vertical-align: top; }
.vkg-mini { font-size: 11px; }
.vkg-tally { list-style: none; margin: 0; padding: 0; }
.vkg-tally li { display: grid; grid-template-columns: minmax(140px, 1.3fr) 2fr 34px; gap: 4px 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,0.06); font-size: 13px; }
.vkg-tally-label { color: #222; font-weight: 600; }
.vkg-tally-label a { color: #27500A; text-decoration: none; }
.vkg-tally-bar { height: 10px; background: #fff; border-radius: 5px; overflow: hidden; }
.vkg-tally-bar i { display: block; height: 100%; background: #3B6D11; border-radius: 5px; }
.vkg-tally-n { font-weight: 700; color: #27500A; text-align: right; }
.vkg-tally-wer { grid-column: 1 / -1; font-size: 12px; color: #666; }
@media (max-width: 600px) { .vkg-form .vkg-row, .vkg-checks-2 { grid-template-columns: 1fr; } .vkg-tally li { grid-template-columns: 1fr 60px 30px; } }

/* Dunkelmodus (html.vk-dark der Site) */
html.vk-dark .vkg-info { background: #1e2418; }
html.vk-dark .vkg-stimme { background: #22221e !important; border-color: #9FDB5C !important; color: #9FDB5C !important; }
html.vk-dark .vkg-stimme:hover { background: #2b3322 !important; }
html.vk-dark .vkg-stimme-an { background: #9FDB5C !important; color: #1a1f14 !important; }
html.vk-dark .vkg-stimme-an:hover { background: #b6e87f !important; }
html.vk-dark .vkg-info h3, html.vk-dark .vkg-tally-label a, html.vk-dark .vkg-tally-n, html.vk-dark .vkg-haus-stimmen { color: #9FDB5C !important; }
html.vk-dark .vkg-info-hallo, html.vk-dark .vkg-schritte li, html.vk-dark .vkg-tally-label, html.vk-dark .vkg-tl-name, html.vk-dark .vkg-tabelle td, html.vk-dark .vkg-form label { color: #d6d3cc !important; }
html.vk-dark .vkg-tl, html.vk-dark .vkg-tabelle, html.vk-dark .vkg-tally-bar { background: #22221e; }
html.vk-dark .vkg-tl-bar { background: #33332e; }
html.vk-dark .vkg-tl-kern { background: rgba(159, 219, 92, 0.16); }
html.vk-dark .vkg-chip, html.vk-dark .vkg-kat { background: #2a3a1e; color: #b9c9a8; }
html.vk-dark .vkg-insta { background: #2b2416; }
html.vk-dark .vkg-insta-btn { background: #22221e; color: #d9b97a; }
html.vk-dark .vkg-haus-platz { background: linear-gradient(120deg, #22221e, #2a3a1e); }
html.vk-dark .vkg-meld-ok { background: #1e2418; color: #b9c9a8; }
html.vk-dark .vkg-meld-bad { background: #2b2416; color: #d9b97a; }
html.vk-dark .vkg-link input, html.vk-dark .vkg-copy { background: #262622; color: #ddd; border-color: #44443e; }
html.vk-dark .vkg-form fieldset { border-color: #3a3a34; }
/* ================= 1.1.0: Frist, Kosten, Rechner ================= */

/* Frist der Unterkunftswahl */
.vkg-frist { display: block; margin: 0 0 16px; padding: 12px 16px; border-radius: 12px; background: #fdf4e3; border: 1px solid #e8d6ae; color: #5a4413; font-size: 14px; line-height: 1.6; }
.vkg-frist b { color: #7a3d00; }
.vkg-frist-uhr { margin-right: 6px; font-size: 17px; }
.vkg-frist-rest { font-weight: 700; color: #7a3d00; }
.vkg-frist-eng { background: #fdeaea; border-color: #eec2c2; color: #6b1f1f; }
.vkg-frist-eng b, .vkg-frist-eng .vkg-frist-rest { color: #a01c1c; }
.vkg-frist-zu { background: #eef0ec; border-color: #d6dad2; color: #4a4f45; }
.vkg-frist-zu b { color: #2f3329; }

/* Kosten je Person */
.vkg-kosten-wrap { overflow-x: auto; margin: 0 0 16px; }
.vkg-kosten { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; font-size: 13.5px; }
.vkg-kosten th, .vkg-kosten td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(0,0,0,0.07); }
.vkg-kosten thead th { background: #eef5e4; color: #27500A; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.vkg-kosten tbody th { font-weight: 700; color: #222; }
.vkg-kosten-wert { font-weight: 700; color: #27500A; white-space: nowrap; }
.vkg-kosten-q { color: #555; font-size: 12.5px; line-height: 1.55; }

/* Rechner */
.vkg-kalk { margin: 18px 0 0; padding: 16px 18px 18px; border: 1px solid #dfe7d5; border-radius: 14px; background: #f7faf3; }
.vkg-kalk h3 { margin: 0 0 4px; font-size: 18px; color: #27500A; }
.vkg-kalk-felder { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px 14px; margin: 12px 0 4px; align-items: end; }
.vkg-kalk-felder label { display: block; font-size: 13px; }
.vkg-kalk-felder .vkg-cap { display: block; margin-bottom: 4px; font-weight: 600; color: #3d4436; }
.vkg-kalk-felder input, .vkg-kalk-felder select { width: 100%; padding: 8px 10px; border: 1px solid #cfd8c4; border-radius: 8px; background: #fff; color: #222; font: inherit; font-size: 14px; }
.vkg-kalk-erg { margin-top: 14px; padding: 14px 16px; border-radius: 12px; background: #fff; border: 1px solid #e2ebd8; }
.vkg-kalk-erg h4 { margin: 0 0 8px; font-size: 13px; color: #27500A; text-transform: uppercase; letter-spacing: .04em; }
.vkg-kalk-liste { list-style: none; margin: 0; padding: 0; }
.vkg-kalk-liste li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,0.06); font-size: 14px; color: #333; }
.vkg-kalk-liste li b { font-variant-numeric: tabular-nums; color: #222; }
.vkg-kalk-summe { display: flex; justify-content: space-between; gap: 12px; margin: 10px 0 0; font-size: 17px; font-weight: 700; color: #27500A; }
.vkg-kalk-summe b { font-variant-numeric: tabular-nums; }
.vkg-kalk-tag { margin: 2px 0 0; font-size: 13px; color: #5c6156; }
.vkg-kalk-bad { margin: 0 0 8px; padding: 8px 10px; border-radius: 8px; background: #fdeaea; color: #8a2020; font-size: 13px; }

@media (max-width: 600px) {
	.vkg-kosten thead { display: none; }
	.vkg-kosten tbody tr { display: block; padding: 8px 0; border-bottom: 1px solid rgba(0,0,0,0.1); }
	.vkg-kosten tbody th, .vkg-kosten td { display: block; border-bottom: 0; padding: 3px 12px; }
}

/* Dunkelmodus (html.vk-dark der Site) */
html.vk-dark .vkg-frist { background: #2b2416; border-color: #4a3d22; color: #e2d3b0; }
html.vk-dark .vkg-frist b, html.vk-dark .vkg-frist-rest { color: #f0c674; }
html.vk-dark .vkg-frist-eng { background: #331d1d; border-color: #5a2f2f; color: #f0c0c0; }
html.vk-dark .vkg-frist-eng b, html.vk-dark .vkg-frist-eng .vkg-frist-rest { color: #ff9a9a; }
html.vk-dark .vkg-frist-zu { background: #22221e; border-color: #3a3a34; color: #c6c6bd; }
html.vk-dark .vkg-frist-zu b { color: #e2e0d8; }
html.vk-dark .vkg-kosten { background: #22221e; }
html.vk-dark .vkg-kosten thead th { background: #2a3a1e; color: #9FDB5C; }
html.vk-dark .vkg-kosten tbody th { color: #d6d3cc; }
html.vk-dark .vkg-kosten-wert { color: #9FDB5C; }
html.vk-dark .vkg-kosten-q { color: #a9a79f; }
html.vk-dark .vkg-kalk { background: #1e2418; border-color: #3a4a2e; }
html.vk-dark .vkg-kalk h3, html.vk-dark .vkg-kalk-erg h4, html.vk-dark .vkg-kalk-summe { color: #9FDB5C; }
html.vk-dark .vkg-kalk-felder .vkg-cap { color: #c3c7bb; }
html.vk-dark .vkg-kalk-felder input, html.vk-dark .vkg-kalk-felder select { background: #262622; color: #ddd; border-color: #44443e; }
html.vk-dark .vkg-kalk-erg { background: #22221e; border-color: #3a3a34; }
html.vk-dark .vkg-kalk-liste li, html.vk-dark .vkg-kalk-liste li b { color: #d6d3cc; }
html.vk-dark .vkg-kalk-tag { color: #a9a79f; }
html.vk-dark .vkg-kalk-bad { background: #331d1d; color: #f0c0c0; }

/* ---------- 1.3.0: Überblick, Aufklappfelder, Untergruppen (Bene, 11.09.2026) ---------- */
.vkg-ueberblick { background: #fafaf8; border: 1px solid #e8e8e4; border-radius: 14px; padding: 1.3rem 1.5rem 1.1rem; margin: 0 0 2rem; }
.vkg-ueberblick .v2-section-title { margin-top: 0; }
.vkg-ue-du { margin: 0 0 12px; font-weight: 700; color: #27500A; }
.vkg-ue-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; margin: 0 0 14px; }
.vkg-ue-karte { background: #fff; border: 1px solid #eceee6; border-radius: 10px; padding: 10px 12px; }
.vkg-ue-karte b { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #3B6D11; margin: 2px 0 4px; }
.vkg-ue-karte p { margin: 0; font-size: 13.5px; line-height: 1.5; color: #222; }
.vkg-ue-ic { font-size: 20px; }
.vkg-ue-schritte { font-size: 13.5px; color: #333; margin: 0 0 6px; }
.vkg-ue-schritte ol { margin: 4px 0 0; padding-left: 20px; }
.vkg-ue-schritte li { margin-bottom: 2px; line-height: 1.55; }
.vkg-ueberblick .v2-cta-row { margin-bottom: 0; }

.vkg-akk { border: 1px solid #e8e8e4; border-radius: 12px; margin: 0 0 10px; background: #fff; }
.vkg-akk > summary { list-style: none; cursor: pointer; padding: 12px 44px 12px 16px; position: relative; }
.vkg-akk > summary::-webkit-details-marker { display: none; }
.vkg-akk > summary::after { content: '+'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 400; color: #3B6D11; line-height: 1; }
.vkg-akk[open] > summary::after { content: '–'; }
.vkg-akk > summary .v2-section-title { margin: 0 !important; font-size: 18px; display: inline; }
.vkg-akk > summary:focus-visible { outline: 2px solid #3B6D11; outline-offset: 2px; border-radius: 12px; }
.vkg-akk-body { padding: 0 16px 14px; }
.vkg-weitere-titel { font-weight: 700; color: #27500A; font-size: 14.5px; }
.vkg-mehr { margin: 2.5rem 0 1rem; }
.vkg-haus-top { margin-bottom: 12px; }
.vkg-kats { display: flex; flex-wrap: wrap; gap: 5px; }
.vkg-kat-top { background: #FFF4E5; color: #7A4A0A; }

.vkg-mein { background: #EAF3DE; border-radius: 14px; padding: 1.1rem 1.3rem 0.9rem; margin: 0 0 1rem; }
.vkg-mein .vkg-mein-daten { background: #fff; margin: 6px 0 8px; }
.vkg-mein-daten > div { grid-template-columns: 128px 1fr; }
.vkg-mein-daten a { color: #27500A; font-weight: 600; }
.vkg-link-box summary { cursor: pointer; font-size: 12.5px; color: #5c6156; }
.vkg-form-mehr { border: 1px dashed #d8dccf; border-radius: 10px; padding: 8px 14px; }
.vkg-form-mehr summary { cursor: pointer; font-weight: 700; font-size: 13.5px; color: #3B6D11; }
.vkg-form-mehr[open] { display: flex; flex-direction: column; gap: 12px; padding-bottom: 12px; }
.vkg-gr-wahl { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; padding-top: 10px; border-top: 1px solid #eef2e8; }
.vkg-gr-neuname[hidden] { display: none !important; }
.vkg-gr-wahl select { border: 1px solid #cfd4c6; border-radius: 8px; padding: 8px 10px; font-size: 14px; font-family: inherit; background: #fff; color: #1a1a1a; }

.vkg-gruppen { margin: 1.4rem 0 1.4rem; }
.vkg-gruppen h3 { font-size: 19px; color: #27500A; margin: 0 0 4px; }
.vkg-gr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin: 10px 0; }
.vkg-gr-card { background: #fff; border: 1px solid #e3e6dc; border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.vkg-gr-card:target { box-shadow: 0 0 0 3px #9FDB5C; }
.vkg-gr-card h4 { margin: 0; font-size: 15.5px; color: #111; }
.vkg-gr-card h4 small { display: block; font-size: 11.5px; font-weight: 600; color: #6d7a5e; margin-top: 2px; }
.vkg-gr-meine { border: 2px solid #3B6D11; }
.vkg-gr-leute { margin: 0; line-height: 2; }
.vkg-gr-notiz { margin: 0; font-size: 13px; color: #444; line-height: 1.5; }
.vkg-gr-neu { background: #fafaf8; border-style: dashed; }
.vkg-gr-form { display: flex; flex-direction: column; gap: 8px; margin: 2px 0 0; }
.vkg-gr-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; color: #222; }
.vkg-gr-form input[type=text], .vkg-gr-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #cfd4c6; border-radius: 8px; padding: 7px 10px; font-size: 13.5px; font-family: inherit; background: #fff; color: #1a1a1a; }
.vkg-gr-btn { align-self: flex-start; background: #3B6D11 !important; color: #fff !important; border: 0 !important; border-radius: 20px !important; padding: 7px 16px !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer; font-family: inherit; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.3 !important; box-shadow: none !important; }
.vkg-gr-btn:hover { background: #27500A !important; }
.vkg-gr-btn-leise { background: transparent !important; color: #6b665f !important; border: 1px solid #cfd4c6 !important; }
.vkg-gr-btn-leise:hover { background: #f1efec !important; }
.vkg-gr-edit summary { cursor: pointer; font-size: 12.5px; color: #3B6D11; font-weight: 600; }
.vkg-gr-leer { grid-column: 1 / -1; margin: 0; font-size: 13.5px; color: #666; }
.vkg-gr-suchende { font-size: 13px; line-height: 2; margin: 4px 0 0; }
.vkg-chip-offen { background: #FFF4E5; color: #7A4A0A; }

html.vk-dark .vkg-ueberblick, html.vk-dark .vkg-akk, html.vk-dark .vkg-gr-neu { background: #22221e; border-color: #3a3a34; }
html.vk-dark .vkg-ue-karte, html.vk-dark .vkg-gr-card { background: #1c1c19; border-color: #3a3a34; }
html.vk-dark .vkg-ue-karte p, html.vk-dark .vkg-ue-schritte, html.vk-dark .vkg-gr-notiz, html.vk-dark .vkg-gr-card h4, html.vk-dark .vkg-gr-form label { color: #d6d3cc; }
html.vk-dark .vkg-ue-karte b, html.vk-dark .vkg-ue-du, html.vk-dark .vkg-weitere-titel, html.vk-dark .vkg-gruppen h3, html.vk-dark .vkg-mein-daten a, html.vk-dark .vkg-akk > summary::after { color: #9FDB5C; }
html.vk-dark .vkg-mein { background: #1e2418; }
html.vk-dark .vkg-mein .vkg-mein-daten { background: #1c1c19; }
html.vk-dark .vkg-gr-meine { border-color: #9FDB5C; }
html.vk-dark .vkg-kat-top, html.vk-dark .vkg-chip-offen { background: #2b2416; color: #d9b97a; }
html.vk-dark .vkg-gr-form input[type=text], html.vk-dark .vkg-gr-form textarea, html.vk-dark .vkg-gr-neuname[hidden] { display: none !important; }
.vkg-gr-wahl select { background: #1c1c19; color: #d6d3cc; border-color: #3a3a34; }
@media (max-width: 600px) { .vkg-ueberblick { padding: 1rem; } .vkg-akk > summary .v2-section-title { font-size: 16px; } }
.vkg-uk-h { font-size: 17px; color: #27500A; margin: 1.4rem 0 6px; }
.vkg-haus-party { grid-template-columns: minmax(280px, 560px); }
.vkg-haus-party .vkg-haus-card { border: 2px solid #C97A1A; }
.vkg-kat-party { background: #FFF4E5; color: #7A4A0A; }
.vkg-kat-villa { background: #e8f0fb; color: #1f4f8a; }
html.vk-dark .vkg-uk-h { color: #9FDB5C; }
html.vk-dark .vkg-kat-party { background: #2b2416; color: #d9b97a; }
html.vk-dark .vkg-kat-villa { background: #1d2733; color: #a9c6ea; }