.vt10-sr{max-width:1200px;margin:0 auto;color:#292825;font-family:inherit}
.vt10-sr__notice{padding:12px 14px;background:#fff8e8;border:1px solid #e4d3a6;border-radius:8px}
.vt10-sr__legend{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0;font-size:14px}
.vt10-sr__legend span{display:inline-flex;align-items:center;gap:7px}
.vt10-sr__dot{display:inline-block;width:13px;height:13px;border-radius:3px}
.vt10-sr__dot--free{background:#39a852}.vt10-sr__dot--selected{background:#2676c9}.vt10-sr__dot--blocked{background:#d52f32}
.vt10-sr__map-wrap{width:100%;overflow-x:auto}
.vt10-sr__map{position:relative;width:100%;min-width:760px;aspect-ratio:2048/682;background-color:#FAF9F5 !important;background-image:var(--vt10-image);background-size:100% 100%;background-repeat:no-repeat}
.vt10-sr__seats{position:absolute;inset:0}
.vt10-sr__seat{position:absolute !important;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:calc(1.75% + 4px) !important;height:calc(4.9% + 4px) !important;min-width:0 !important;max-width:none !important;margin:0 !important;padding:0 !important;border:1px solid #245a2c !important;border-radius:3px !important;background:#39a852 !important;color:#fff !important;font-size:clamp(10px,0.95vw,17px) !important;font-weight:700 !important;line-height:1 !important;cursor:pointer;display:flex !important;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.vt10-sr__seat--lower{height:calc(4.9% + 4px) !important;width:calc(1.75% + 4px) !important}
.vt10-sr__seat:disabled,.vt10-sr__seat[aria-disabled="true"]{background:#d52f32 !important;color:#fff !important;border-color:#9f1e22 !important;cursor:not-allowed !important;opacity:1 !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.vt10-sr__seat[aria-pressed="true"]{background:#2676c9 !important;color:#fff !important;border-color:#174d87 !important}
.vt10-sr__seat:focus-visible,.vt10-sr__reserve:focus-visible,.vt10-sr__pay:focus-visible{outline:3px solid #a58a57;outline-offset:2px}
.vt10-sr__locked{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:2.05%;height:6.2%;background:transparent;border:0;border-radius:0;box-shadow:none;pointer-events:none}
.vt10-sr__summary{display:flex;flex-wrap:wrap;gap:12px 28px;margin:16px 0;padding:12px;background:#faf9f5;border:1px solid #d7d2c8;border-radius:8px}
.vt10-sr__reserve,.vt10-sr__pay,.vt10-sr__back{padding:11px 18px;border:0;border-radius:6px;background:#8a3029;color:white;font-weight:700;cursor:pointer}
.vt10-sr__reserve:disabled,.vt10-sr__pay:disabled{opacity:.45;cursor:not-allowed}
.vt10-sr__contact{margin-top:18px;padding:18px;border:1px solid #d7d2c8;border-radius:8px;background:#faf9f5}
.vt10-sr__contact[hidden]{display:none}
.vt10-sr__contact label{display:block;margin:12px 0;font-weight:600}
.vt10-sr__contact input{display:block;width:100%;max-width:520px;margin-top:5px;padding:10px;border:1px solid #b8b2a8;border-radius:5px;background:white;color:#292825}
.vt10-sr__back{margin-left:8px;background:#5d5a54}.vt10-sr__validation{min-height:1.2em}
.vt10-sr__footer{font-size:12px;color:#69665f;margin-top:14px}
@media(max-width:600px){.vt10-sr__map{min-width:760px}.vt10-sr__summary{display:block}.vt10-sr__summary>div+div{margin-top:8px}}

.vt10-sr__ride{margin:0 0 12px;padding:12px 14px;border:1px solid #D7D2C8;border-left:4px solid #3F6B3F;border-radius:6px;background:#FAF9F5;line-height:1.5}.vt10-sr__ride--empty{border-left-color:#A58A57}

.vt10-sr__passenger-types{margin:14px 0;padding:12px;background:#fff;border:1px solid #d7d2c8;border-radius:6px}
.vt10-sr__passenger-row{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0!important;font-weight:400!important}
.vt10-sr__passenger-row select{padding:7px;border:1px solid #b8b2a8;border-radius:4px;background:#fff;color:#292825}
.vt10-sr__notice{line-height:1.5!important;margin:12px 0!important}

/* Version 0.7.1: kompakte Fahrgastwahl und nebeneinanderliegende Namensfelder */
.vt10-sr__passenger-row{display:grid!important;grid-template-columns:minmax(145px,190px) minmax(150px,230px);align-items:center;gap:8px 12px;margin:8px 0!important}
.vt10-sr__passenger-row select{width:100%!important;max-width:230px!important;min-width:0!important;box-sizing:border-box!important}
.vt10-sr__contact .vt10-sr__name-row{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:14px;max-width:550px}
.vt10-sr__contact .vt10-sr__name-row label{min-width:0;margin:12px 0}
.vt10-sr__contact input{box-sizing:border-box;max-width:100%}
.vt10-sr__member-field{padding:12px;margin:0 0 14px;border:1px solid #A58A57;border-radius:6px;background:#fff8e8}
.vt10-sr__member-field[hidden]{display:none!important}
.vt10-sr__member-note{font-size:13px;line-height:1.45;margin:6px 0 0}
@media(max-width:600px){.vt10-sr__passenger-row{grid-template-columns:1fr;gap:4px}.vt10-sr__passenger-row select{max-width:100%!important}.vt10-sr__contact .vt10-sr__name-row{grid-template-columns:1fr;gap:0}}


/* Version 0.7.2: klare Abstände, keine Textüberlagerungen und zweispaltige Fahrgastliste */
.vt10-sr .vt10-sr__contact { box-sizing:border-box; line-height:1.5 !important; }
.vt10-sr .vt10-sr__contact h3 { display:block !important; position:static !important; margin:0 0 8px !important; padding:0 !important; line-height:1.3 !important; height:auto !important; }
.vt10-sr .vt10-sr__contact > p:not(.vt10-sr__validation) { display:block !important; position:static !important; margin:0 0 14px !important; padding:0 !important; line-height:1.5 !important; height:auto !important; }
.vt10-sr .vt10-sr__passenger-types { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:8px 18px; }
.vt10-sr .vt10-sr__passenger-row { min-width:0; margin:0 !important; grid-template-columns:minmax(0,1fr) minmax(120px,190px) !important; align-items:center !important; gap:6px !important; line-height:1.35 !important; }
.vt10-sr .vt10-sr__passenger-row select { min-width:0 !important; width:100% !important; max-width:none !important; }
.vt10-sr .vt10-sr__actions { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:10px !important; margin:16px 0 8px !important; clear:both; }
.vt10-sr .vt10-sr__actions button { display:inline-flex !important; position:static !important; float:none !important; width:auto !important; min-height:40px; align-items:center; justify-content:center; margin:0 !important; padding:10px 18px !important; line-height:1.3 !important; white-space:normal !important; }
.vt10-sr .vt10-sr__validation { display:block !important; position:static !important; clear:both !important; min-height:1.5em; margin:8px 0 0 !important; padding:0 !important; line-height:1.5 !important; height:auto !important; }
@media(max-width:700px){ .vt10-sr .vt10-sr__passenger-types { grid-template-columns:1fr; } }

/* Version 0.8.1: bereits reservierte Sitze fahrtspezifisch sichtbar und nicht auswählbar */
.vt10-sr__dot--occupied{background:#7b3f98}
.vt10-sr .vt10-sr__seat--occupied:disabled,.vt10-sr .vt10-sr__seat--occupied[aria-disabled="true"]{background:#7b3f98 !important;border-color:#54256c !important;color:#fff !important;opacity:1 !important;cursor:not-allowed !important}
