.tour-booking { margin-top: 32px; border-top: 1px solid var(--line); padding-top: 8px; }
.tour-facts { padding: 20px; border-radius: 14px; background: #faf7ef; }
.tour-facts > div + div { margin-top: 12px; }
.tour-facts dt { font-weight: 750; color: var(--blue); }
.tour-facts dd { margin: 0; }
.tour-dates { padding-left: 24px; }
.tour-dates li { margin-bottom: 8px; }
.tour-request { scroll-margin-top: 20px; }
.tour-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tour-form-grid label { display: block; font-weight: 650; }
.tour-form-grid input, .tour-form-grid select, .tour-form-grid textarea { display: block; width: 100%; min-width: 0; margin-top: 6px; padding: 12px; border: 2px solid var(--line); border-radius: 10px; background: white; color: var(--ink); font: inherit; }
.tour-form-grid textarea { resize: vertical; }
.tour-wide { grid-column: 1 / -1; }
.tour-form-grid .note { margin: -8px 0 0; }
.tour-privacy { margin: 22px 0 14px; }
.tour-privacy summary { cursor: pointer; color: var(--blue); font-weight: 650; }
.tour-privacy p { margin-top: 12px; }
.tour-consent { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0 22px; }
.tour-consent input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 5px; accent-color: var(--blue); }
.tour-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.tour-feedback { padding: 20px; border: 2px solid var(--blue); border-radius: 12px; margin: 20px 0; overflow-wrap: anywhere; }
.tour-feedback h4 { margin: 0 0 10px; font-size: 1.15rem; }
.tour-feedback p, .tour-feedback ul { margin-bottom: 0; }
.tour-success { background: #f0f6f2; }
.tour-error { border-color: var(--red); background: #fff5f5; }
.tour-booking select:focus-visible, .tour-booking textarea:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
@media (max-width: 600px) { .tour-form-grid { grid-template-columns: minmax(0, 1fr); } .tour-form-grid select { font-size: .9rem; } }

.tour-map { margin-top: 10px; font-size: .9rem; }
#stadtfuehrung-success h2 { font: bold 1.5rem/1.35 Georgia, serif; }

#stadtfuehrung-modal .tour-consent { display: flex; align-items: flex-start; justify-content: flex-start; gap: 12px; text-align: left; }
#stadtfuehrung-modal #tour-datenschutz-check { display: inline-block; flex: 0 0 20px; width: 20px; height: 20px; margin: 4px 0 0; padding: 0; }
#stadtfuehrung-modal .tour-consent span { flex: 1; min-width: 0; }


/* SKTC: Scrollleisten innerhalb der runden Modal-Ecken. */
:is(dialog,[role="dialog"]:not(.modal),.modal-content){border-radius:16px;clip-path:inset(0 round 16px)}
:is(dialog,[role="dialog"],.modal-content,.modal-body),:is(dialog,[role="dialog"],.modal-content) *{scrollbar-width:thin;scrollbar-color:rgba(90,105,125,.65) transparent}
:is(dialog,[role="dialog"],.modal-content,.modal-body)::-webkit-scrollbar,:is(dialog,[role="dialog"],.modal-content) *::-webkit-scrollbar{width:8px;height:8px}
:is(dialog,[role="dialog"],.modal-content,.modal-body)::-webkit-scrollbar-track,:is(dialog,[role="dialog"],.modal-content) *::-webkit-scrollbar-track{background:transparent;margin-block:14px;border-radius:999px}
:is(dialog,[role="dialog"],.modal-content,.modal-body)::-webkit-scrollbar-thumb,:is(dialog,[role="dialog"],.modal-content) *::-webkit-scrollbar-thumb{background:rgba(90,105,125,.65);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
:is(dialog,[role="dialog"],.modal-content,.modal-body)::-webkit-scrollbar-button,:is(dialog,[role="dialog"],.modal-content) *::-webkit-scrollbar-button{display:none;width:0;height:0}

@supports selector(::-webkit-scrollbar){:is(dialog,[role="dialog"],.modal-content,.modal-body),:is(dialog,[role="dialog"],.modal-content) *{scrollbar-width:auto;scrollbar-color:auto}}

/* SKTC: Links ohne Unterstreichung in allen Zuständen. */
a:any-link,a:any-link:hover,a:any-link:focus,a:any-link:focus-visible,a:any-link:active,a:any-link *{text-decoration:none!important}

/* SKTC: Flache Formularfelder ohne native 3D-Raender. */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="file"]):not([type="color"]),textarea,select){
 appearance:none;-webkit-appearance:none;box-shadow:none!important;background-image:none;border:1px solid #8b96a3!important;border-radius:8px;background-color:rgba(255,255,255,.8);color:inherit;font:inherit;box-sizing:border-box;
}
:where(input,textarea,select):focus-visible{outline:2px solid #224579;outline-offset:2px;box-shadow:none!important}
select{padding-right:2rem!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2330343b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .65rem center!important;background-size:16px!important}
select[multiple],select[size]:not([size="1"]){background-image:none!important;padding-right:.65rem!important}
input[type="file"]::file-selector-button{border:1px solid #8b96a3;border-radius:8px;background:#f2f5f9;color:#30343b;box-shadow:none;font:inherit;padding:.5rem .8rem}

/* SKTC: Aktionsbuttons in Modal-Fenstern linksbuendig. */
:is(dialog,[role="dialog"],.modal-content) :is(button,input[type="submit"],input[type="button"],input[type="reset"],a.button,a.btn):not(.modal-close):not(.story-close):not(.close):not(.btn-close):not([aria-label][data-close]:empty){margin-left:0!important;margin-right:auto!important;align-self:flex-start!important}
:is(dialog,[role="dialog"],.modal-content) :is(.modal-footer,.dialog-actions,.modal-actions,.form-actions,.actions,.button-row){justify-content:flex-start!important;text-align:left!important}
:is(dialog,[role="dialog"],.modal-content) :is(form,.button-group,.buttons){text-align:left}
