/* Besichtigung vereinbaren – Räume für Träume */
.rov, .rov * { box-sizing: border-box; }
.rov { --rov-blau: #0f4470; max-width: 1080px; margin: 0 auto; padding: 56px 20px; color: var(--rov-blau); line-height: 1.55; font-size: 1rem; }
.rov h2, .rov h3 { font-family: "Oswald", "Arial Narrow", Arial, sans-serif; text-transform: uppercase; color: var(--rov-blau); margin: 0; line-height: 1.15; }
.rov p { margin: 0; color: var(--rov-blau); }
.rov-kopf { text-align: center; max-width: 640px; margin: 0 auto 32px; }
.rov-kopf h2 { font-size: clamp(1.8rem, 5vw, 2.6rem); font-weight: 600; margin: 14px 0 10px; }
.rov-marke { display: inline-block; padding: 5px 18px; border-radius: 999px; background: linear-gradient(100deg, #cfe4f2, #f6f8fc 50%, #dccaef); font-size: .78rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.rov-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; align-items: start; }
.rov-karte { position: relative; background: #ffffff; border-radius: 26px; padding: 30px 26px 26px; box-shadow: 0 20px 46px rgba(15, 68, 112, .13); border-top: 8px solid #cfe4f2; }
.rov-eigen { border-top-color: #dccaef; }
.rov-nr { position: absolute; top: -20px; left: 24px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--rov-blau); color: #ffffff; font-weight: 800; }
.rov-karte h3 { font-size: 1.5rem; font-weight: 600; margin: 4px 0 8px; }
.rov-wann { margin: 0 0 10px !important; font-size: 1.08rem; }
.rov-hinweis { margin-top: 12px !important; font-style: italic; }
.rov-form { margin-top: 18px; }
.rov-termine { border: 0; padding: 0; margin: 0 0 16px; }
.rov-termine legend { font-weight: 700; margin-bottom: 8px; padding: 0; }
.rov-liste { display: grid; gap: 8px; }
.rov-termin { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1.5px solid #dbe5ef; border-radius: 14px; cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.rov-termin:hover { border-color: #9fc1dd; }
.rov-termin:has(input:checked) { border-color: var(--rov-blau); background: linear-gradient(100deg, #eef5fb, #f5effb); }
.rov-termin input { accent-color: #0f4470; width: 18px; height: 18px; margin: 0; flex: none; }
.rov-datum { font-weight: 700; flex: 1; }
.rov-frei { font-size: .9rem; white-space: nowrap; }
.rov-termin.is-voll { opacity: .5; cursor: not-allowed; }
.rov-felder { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.rov-felder label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; font-size: .92rem; }
.rov-breit { grid-column: 1 / -1; }
.rov input[type="text"], .rov input[type="email"], .rov input[type="tel"], .rov select, .rov textarea { width: 100%; padding: 11px 13px; border: 1.5px solid #dbe5ef; border-radius: 12px; background: #ffffff; color: #0f4470; font: inherit; font-weight: 400; }
.rov input:focus-visible, .rov select:focus-visible, .rov textarea:focus-visible { outline: 3px solid #9fc1dd; outline-offset: 1px; border-color: #0f4470; }
.rov-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.rov-ok { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0 16px; font-size: .9rem; }
.rov-ok input { width: 18px; height: 18px; margin-top: 3px; flex: none; accent-color: #0f4470; }
.rov-ok a { color: #0f4470; }
.rov .rov-knopf { display: inline-block; border: 1.5px solid transparent; border-radius: 999px; padding: 14px 28px; background: #0f4470; color: #ffffff !important; font: inherit; font-weight: 700; text-decoration: none !important; cursor: pointer; box-shadow: 0 10px 24px rgba(15, 68, 112, .25); transition: transform .2s ease, box-shadow .2s ease; }
.rov .rov-knopf:hover, .rov .rov-knopf:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(15, 68, 112, .32); }
.rov .rov-knopf[disabled] { opacity: .6; cursor: wait; transform: none; }
.rov .rov-knopf-hell { margin-top: 16px; background: linear-gradient(100deg, #cfe4f2, #f6f8fc 50%, #dccaef); color: #0f4470 !important; box-shadow: 0 10px 24px rgba(15, 68, 112, .12); }
.rov .rov-knopf-hell:hover, .rov .rov-knopf-hell:focus-visible { border-color: #0f4470; }
.rov-fragen { margin-top: 18px !important; font-size: .95rem; }
.rov-fragen a { color: #0f4470; font-weight: 700; }
.rov-status { margin-top: 12px !important; font-weight: 600; }
.rov-status.is-error { color: #a12a2a; }
.rov-danke { padding: 18px; border-radius: 16px; background: #eaf6ee; color: #1e5b34; }
.rov-danke strong { display: block; font-size: 1.1rem; margin-bottom: 4px; }
@media (max-width: 820px) { .rov-grid { grid-template-columns: 1fr; gap: 34px; } }
@media (max-width: 520px) { .rov { padding: 40px 14px; } .rov-felder { grid-template-columns: 1fr; } .rov-karte { padding: 28px 18px 22px; } .rov .rov-knopf { width: 100%; text-align: center; } }
@media (prefers-reduced-motion: reduce) { .rov * { transition: none !important; } }
