/* Gesund Voran Buchung – Kundenbereich */
.gvb { --b:#175778; --g:#6CBD2B; --gd:#3F7A14; --gs:#DDF0CC; --be:#FFF6D5; --mut:#5B7A8A; color:var(--b); font-size:16px; line-height:1.5; max-width:980px; margin:0 auto; }
.gvb * { box-sizing:border-box; }
.gvb h3 { color:var(--b); font-weight:800; margin:0 0 10px; }
.gvb .gvb-day { font-size:20px; margin:28px 0 10px; }
.gvb-notice { border-radius:16px; padding:14px 18px; margin:0 0 18px; font-weight:600; }
.gvb-notice-ok { background:var(--gs); color:var(--gd); }
.gvb-notice-err { background:#FBE3DC; color:#8A2A0A; }
.gvb-bar { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; align-items:center; background:#fff; border-radius:18px; padding:12px 18px; margin-bottom:8px; }
.gvb-plan-nav { display:flex; justify-content:space-between; align-items:center; margin:18px 0 0; }
.gvb-list { display:flex; flex-direction:column; gap:10px; }
.gvb-row, .gvb-block { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; background:#fff; border-radius:20px; padding:14px 18px; box-shadow:0 4px 0 rgba(23,87,120,.08); }
.gvb-block { border-left:8px solid var(--g); }
.gvb-block > div:first-child { display:flex; flex-direction:column; flex:1 1 320px; gap:2px; }
.gvb-row-off { opacity:.6; }
.gvb-row-off .gvb-info strong { text-decoration:line-through; }
.gvb-time { display:flex; flex-direction:column; min-width:96px; line-height:1.25; }
.gvb-time strong { font-size:17px; }
.gvb-time span, .gvb-info span, .gvb-block span { color:var(--mut); font-size:14px; }
.gvb-info { display:flex; flex-direction:column; flex:1 1 220px; line-height:1.3; }
.gvb-info strong { font-size:17px; }
.gvb-act { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; justify-content:flex-end; margin-left:auto; }
.gvb-free { font-size:14px; font-weight:600; color:var(--gd); background:var(--gs); border-radius:999px; padding:3px 10px; }
.gvb-free.gvb-full { color:#8A2A0A; background:#FBE3DC; }
.gvb-price { font-weight:700; }
.gvb-tag { font-size:14px; font-weight:600; border-radius:999px; padding:4px 12px; background:var(--be); color:var(--b); }
.gvb-tag-ok { background:var(--gs); color:var(--gd); }
.gvb-tag-off { background:#FBE3DC; color:#8A2A0A; }
.gvb-kicker { font-family:Caveat, cursive; font-size:22px !important; color:var(--gd) !important; line-height:1.1; }
.gvb-desc { margin-top:4px; }
.gvb-inline { display:inline; margin:0; }
.gvb-btn { display:inline-block; background:var(--b); color:#fff !important; border:0; border-radius:999px; padding:12px 22px; font-weight:700; font-size:16px; text-decoration:none; cursor:pointer; font-family:inherit; }
.gvb-btn:hover { background:#0F3D55; }
.gvb-btn-small { padding:8px 16px; font-size:15px; }
.gvb-btn-ghost { background:#fff; color:var(--b) !important; box-shadow:inset 0 0 0 2px var(--b); }
.gvb-btn-ghost:hover { background:var(--be); }
.gvb-link { color:var(--b); font-weight:700; text-decoration:none; }
.gvb-empty, .gvb-muted { color:var(--mut); font-size:15px; }
.gvb-card { background:#fff; border-radius:24px; padding:22px 24px; margin:0 0 14px; }
.gvb-balance { border-top:10px solid var(--g); }
.gvb-big { display:block; font-size:40px; font-weight:800; line-height:1.1; margin:2px 0 10px; }
.gvb-cards { margin:0 0 14px; padding-left:20px; }
.gvb-cards li { margin:4px 0; }
.gvb-warn { color:#8A2A0A; }
.gvb-auth { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:18px; }
.gvb-form label { display:flex; flex-direction:column; gap:4px; font-weight:600; font-size:15px; margin:0 0 12px; }
.gvb-form input[type=text], .gvb-form input[type=email], .gvb-form input[type=password], .gvb-form input[type=tel] { font:inherit; font-weight:400; padding:11px 14px; border:2px solid #E5DDB8; border-radius:12px; background:#fff; color:var(--b); width:100%; }
.gvb-form input:focus { outline:none; border-color:var(--g); }
.gvb-form .gvb-check { flex-direction:row; align-items:flex-start; gap:8px; font-weight:400; }
.gvb-form .gvb-check input { margin-top:4px; }
.gvb-two { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
.gvb-hp { position:absolute !important; left:-9999px !important; height:0; overflow:hidden; }
.gvb-details { background:#fff; border-radius:20px; padding:14px 20px; margin:14px 0; }
.gvb-details summary { cursor:pointer; font-weight:700; }
.gvb-table { width:100%; border-collapse:collapse; margin-top:10px; font-size:15px; }
.gvb-table td { padding:6px 4px; border-bottom:1px solid #F0E8C8; }
.gvb-num { text-align:right; white-space:nowrap; }
.gvb-row-details { display:block; }
.gvb-row-details summary { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; cursor:pointer; list-style:none; }
.gvb-names { margin:10px 0 0 116px; }
@media (max-width:600px) {
  .gvb-two { grid-template-columns:1fr; }
  .gvb-act { width:100%; justify-content:flex-start; margin-left:0; }
  .gvb-names { margin-left:20px; }
}
.gvb-serie { font-size:14px; font-weight:700; color:var(--gd); text-decoration:none; margin-top:2px; }
.gvb-series .gvb-check { display:flex; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid #F0E8C8; font-weight:600; }
.gvb-series .gvb-dis { color:var(--mut); font-weight:400; }
.gvb-series em { font-style:normal; color:var(--mut); font-weight:400; }
.gvb-series .gvb-btn { margin-top:14px; }
.gvb-stamm { display:flex; gap:10px; align-items:flex-start; background:var(--gs); border-radius:14px; padding:12px 14px; margin:12px 0 0; font-weight:400 !important; border:0 !important; }
.gvb-stamm input { margin-top:4px; }
