/* Site-wide presentation corrections from the full visual review. */
.php-site #parallax-header{isolation:isolate}
/* Reserve real layout space for the logo, navigation and booking action. */
.php-site #header>.wrapper{display:flex;align-items:center;gap:24px;min-height:50px}
.php-site #header>.wrapper:after{display:none}
.php-site #header #logo{position:static;float:none;flex:0 0 auto;order:1;margin:0;padding:0!important;height:30px}
.php-site #header #logo img{display:block;height:30px;width:auto;max-width:none}
.php-site #header #c2a{position:static;float:none;flex:0 0 auto;order:3;margin-left:auto;white-space:nowrap;align-self:flex-start}
.php-site #header #c2a-termin{display:inline-block!important}
.php-site #header nav#main-nav{order:2}
.php-site #header .submenu-toggle{display:none}
.php-site #header nav#main-nav.is-open li{text-align:left!important;width:auto}
.php-site #header nav#main-nav.is-open li a{height:auto!important;line-height:1.5!important;padding:9px 6px!important;display:block!important;overflow-wrap:anywhere}
.php-site #header nav#main-nav.is-open li a span{padding-left:0}
@media(min-width:1200px){
 .php-site #header nav#main-nav{position:static;float:none;flex:1;min-width:0;padding:0!important}
 .php-site #header nav#main-nav>ul{display:flex;align-items:center;justify-content:flex-end;gap:22px;float:none}
 .php-site #header nav#main-nav>ul>li{float:none;margin:0;flex:0 0 auto}
 .php-site #header nav#main-nav>ul>li>a{font-size:16px;letter-spacing:.8px;padding:10px 0;white-space:nowrap}
 .php-site #header nav#main-nav>ul>li>a span{padding-left:0}
}
@media(max-width:1199px){
 .php-site #header nav#main-nav.is-open{max-height:calc(100dvh - 50px);padding:12px 24px 20px!important;border-top:1px solid #eceef3;overscroll-behavior:contain}
 .php-site #header nav#main-nav.is-open>ul{display:block;gap:0}
 .php-site #header nav#main-nav.is-open>ul>li{position:relative;border-bottom:1px solid #eceef3}
 .php-site #header nav#main-nav.is-open>ul>li>a{padding:13px 50px 13px 0!important;font-size:18px;letter-spacing:.8px;min-height:48px;box-sizing:border-box}
 .php-site #header nav#main-nav.is-open>ul>li>ul.sub-menu{display:none!important;margin:0;padding:0 0 12px 14px;border-left:2px solid #e66a00}
 .php-site #header nav#main-nav.is-open>ul>li.submenu-open>ul.sub-menu{display:block!important}
 .php-site #header nav#main-nav.is-open ul.sub-menu a{font-size:14px;letter-spacing:.4px}
 .php-site #header nav#main-nav.is-open .submenu-toggle{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:3px;width:44px;height:44px;min-width:44px;padding:0;margin:0;border:0;border-radius:4px;background:#f5f6fa;color:#d35f00;font:26px/1 'Open Sans',sans-serif;cursor:pointer}
}
@media(max-width:380px){
 .php-site #header>.wrapper{width:calc(100% - 32px);gap:8px}
 .php-site #header #logo,.php-site #header #logo img{height:28px}
 .php-site #header #c2a a{font-size:14px;padding:12px 7px;margin-left:2px}
}
.php-site .entry-content{overflow-wrap:break-word}
.php-site .toggle-name{overflow-wrap:anywhere;hyphens:auto}
.local-video{margin:28px 0;text-align:center}
.local-video__frame{position:relative;background:#111724;border-radius:6px;overflow:hidden;aspect-ratio:16/9}
.php-site .local-video video{display:block;width:100%;height:100%;object-fit:contain}
.php-site .local-video__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;white-space:nowrap;background:#e66a00;color:#fff;border:0;border-radius:4px;padding:14px 22px;min-height:48px;font:16px/1.5 'Open Sans',sans-serif;cursor:pointer}
.local-video__play span{font-size:22px}
.php-site .local-video__play[hidden]{display:none}
.local-video figcaption{font:13px/1.5 'Open Sans',sans-serif;color:#596273;margin-top:10px}
.php-site .parallax-image-galerie{min-height:0}
.php-site .parallax-image-galerie>.spacer-big,.php-site .parallax-image-galerie>.spacer-medium{height:40px}
.php-site #image-viewer button{padding:0;box-sizing:border-box;line-height:44px}
.php-site .room-content{text-align:left}
.php-site .room-content .regiondo-room-details__facts{display:block;columns:1;padding-left:22px;margin:20px 0 28px;text-align:left}
.php-site .room-content .regiondo-room-details__facts li{display:list-item;float:none;width:auto;margin:0 0 8px;padding:0;line-height:1.6;text-align:left}
.php-site .room-content .regiondo-room-details__facts li:last-child{margin-bottom:0}
.php-site .room-content .regiondo-room-details__important ul{padding-left:22px;margin:12px 0 24px;text-align:left}
.php-site .room-content .regiondo-room-details__important li{margin:0 0 8px;padding:0;line-height:1.6}
.php-site[data-page="uebersicht-aller-termine"] #content,.php-site[data-page="freie-termine-und-kombinationen-uebersicht-kombi-modus"] #content{padding-bottom:48px}
.php-site[data-page="loesung-qr-raetsel"] #content{max-width:620px}
.puzzle-unlock{padding:30px;border:1px solid #e0e3ed;border-top:4px solid #e66a00;border-radius:6px;background:#f6f7fa;margin:0 0 32px;text-align:left}
.puzzle-unlock h1{margin:0 0 18px}
.puzzle-unlock label{display:block;margin-bottom:8px}
.php-site .puzzle-unlock input[type=password]{width:100%;min-height:48px;padding:12px;box-sizing:border-box;background:#fff;font:16px/1.5 'Open Sans',sans-serif;border:1px solid #c9cddc;border-radius:4px}
.php-site .puzzle-unlock input[type=submit]{background:#232864;width:auto;padding:14px 24px;min-height:48px;border-radius:4px;margin-top:18px}
.cookie-summary{padding:28px;border-left:4px solid #e66a00;background:#f6f7fa;margin:24px 0}
.php-site[data-page="cookie-richtlinie-eu"] #page-body{min-height:calc(100vh - 150px);box-sizing:border-box}
.booking-overview-intro{max-width:780px;margin:0 auto 32px;text-align:center}
.booking-overview-intro h1{margin-bottom:24px}
.booking-overview-calendar{max-width:780px;margin:32px auto 52px}
.booking-overview-calendar .booking-sidebar{position:static}
.booking-directory{max-width:1020px;margin:30px auto 52px;text-align:left;scroll-margin-top:90px}
.booking-directory h2{font-size:28px;margin:36px 0 18px}
.booking-directory .booking-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}
.booking-choice{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:22px;border:1px solid #e0e3ed;border-radius:6px;background:#f6f7fa;color:#232864;box-sizing:border-box;transition:border-color .2s,background .2s}
.booking-choice strong{font:600 16px/1.5 'Open Sans',sans-serif}
.booking-choice>span{font:600 13px/1.5 'Open Sans',sans-serif;color:#b95500}
.booking-choice>span>span{margin-left:12px}
.booking-choice:hover{background:#fff5eb;border-color:#e66a00}
.php-site[data-page="kurzfristige-anfragen-weniger-als-72-stunden-im-voraus"] .room-layout{display:block;max-width:780px}
.php-site[data-page="kurzfristige-anfragen-weniger-als-72-stunden-im-voraus"] .booking-jump{text-align:left;margin:24px 0}
.php-site .room-content .room-gallery{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;overflow:visible;margin:0 0 24px;padding:0;align-items:start}
.php-site .room-gallery__main{display:block;min-width:0}
.room-gallery__stage{position:relative;min-width:0;overflow:hidden;border-radius:4px}
.php-site .room-gallery__main,.php-site .room-gallery__main img,.php-site .film-gallery__viewport,.php-site .film-gallery__viewport a,.php-site .film-gallery__viewport img{cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.php-site .is-dragging,.php-site .is-dragging a,.php-site .is-dragging img{cursor:grabbing!important}
/* Setzt die globale Theme-Regel button{letter-spacing:.1em;line-height:22px;margin-bottom:5px;font-family:Lato…} zurueck,
   sonst sitzt der Kreis nicht sauber mittig zur Bildflaeche (Florian A4). */
.php-site .room-gallery__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:50%;background:#232864cc;color:#fff;line-height:1;letter-spacing:0;font-family:inherit;cursor:pointer}
.php-site .room-gallery__arrow:hover{background:#232864}
.php-site .room-gallery__arrow:focus-visible{outline:3px solid #ff6600;outline-offset:2px}
.php-site .room-gallery__arrow--prev{left:10px}
.php-site .room-gallery__arrow--next{right:10px}
.php-site .room-gallery__arrow svg{display:block}
.php-site .room-content .room-gallery__main img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;border-radius:4px;background:#f5f6fa}
.php-site .room-gallery__thumbs{display:flex;flex-direction:column;gap:8px}
.php-site .room-gallery__thumbs button{display:block;width:64px;min-height:44px;padding:2px;margin:0;border:2px solid transparent;border-radius:4px;background:#f1f2f6;cursor:pointer;line-height:0;box-sizing:border-box}
.php-site .room-gallery__thumbs button[aria-pressed=true]{border-color:#e66a00;background:white}
.php-site .room-gallery__thumbs button[hidden]{display:none}
.php-site .room-content .room-gallery__thumbs img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover;border-radius:1px}
.php-site .room-content .room-gallery--single{grid-template-columns:minmax(0,1fr)}
.room-information{border-top:1px solid #d9dce5;border-bottom:1px solid #d9dce5;margin:28px 0}
.room-information>summary{position:relative;list-style:none;cursor:pointer;padding:20px 36px 20px 0;text-align:left}
.room-information>summary::-webkit-details-marker{display:none}
.room-information>summary:after{content:'+';position:absolute;right:4px;top:22px;font:24px/1 'Open Sans',sans-serif;color:#e66a00}
.room-information[open]>summary:after{content:'−'}
.room-information__title{display:block;font:26px/1.3 'Fjalla One',sans-serif;color:#232864}
.room-information__hint{display:block;font:14px/1.6 'Open Sans',sans-serif;color:#596273;margin-top:8px}
.room-information[open]>summary{margin-bottom:8px}
@media(max-width:640px){
 .php-site .room-content .room-gallery{grid-template-columns:minmax(0,1fr);gap:10px}
 .php-site .room-gallery__stage{grid-row:1}
 .php-site .room-gallery__thumbs{flex-direction:row;flex-wrap:wrap;gap:8px}
 .php-site .room-gallery__thumbs button{width:56px}
 .php-site .room-gallery__arrow{width:48px;height:48px}
}
.geocache-intro{max-width:700px;margin:0 auto 38px}
.geocache-intro .pretitle{font-size:17px;margin:0 0 8px}
.geocache-intro h1{margin:0 0 18px}
.geocache-steps{display:grid;grid-template-columns:1fr 1fr;gap:20px;list-style:none;padding:0;margin:0;text-align:left;counter-reset:station}
.geocache-steps li{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:#f5f6fa;border:1px solid #e3e5ed;border-radius:6px;margin:0;min-width:0}
.geocache-number{color:#e66a00;font:32px/1 'Fjalla One',sans-serif;margin-bottom:20px}
.geocache-steps h2{font:600 18px/1.5 'Open Sans',sans-serif;text-transform:none;margin:0 0 16px;color:#232864}
.geocache-coordinates{font:14px/1.7 'Open Sans',sans-serif;font-variant-numeric:tabular-nums;margin:auto 0 14px;overflow-wrap:anywhere}
.geocache-coordinates span{display:inline-block}
.geocache-map{font:600 14px/1.5 'Open Sans',sans-serif;text-decoration:underline;text-underline-offset:4px}
.geocache-map span{margin-left:8px}
.geocache-finish{margin:26px 0 48px;padding:34px;background:#232864;border-radius:6px;color:#fff;text-align:center}
.geocache-finish .pretitle{color:#ffbd7a;margin:0 0 8px;font-size:16px}
.geocache-finish h2{color:white;margin:0 0 16px}
.geocache-finish p{color:#eef0fa;overflow-wrap:anywhere}
.geocache-finish strong span{display:inline-block}
.geocache-finish .sr-button{display:inline-flex;gap:16px;align-items:center;background:#e66a00;color:#fff;margin-top:10px;min-height:48px;box-sizing:border-box}
.php-site .geocache-locations{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px;margin:32px 0}
.php-site .geocache-locations a{display:block;line-height:0}
.php-site .geocache-locations img{width:150px!important;height:150px!important;object-fit:contain;display:block}
.php-site[data-page="escapie-geocach-leipzig"] #content{max-width:920px}
.php-site[data-page="escapie-geocach-leipzig"] #page-body{padding-top:52px}
.php-site[data-page="escapie-geocach-leipzig"] #content + .spacer-small{display:none}
.php-site[data-page="escapie-geocach-leipzig"] #content + .spacer-small + .bg-color-white{display:none}
@media(max-width:640px){
 .booking-directory .booking-choices{grid-template-columns:1fr}
 .booking-choice{padding:20px}
 .geocache-steps{grid-template-columns:1fr;gap:14px}
 .geocache-steps li{padding:24px}
 .geocache-number{font-size:27px;margin-bottom:14px}
 .geocache-intro{text-align:left;margin-bottom:28px}
 .geocache-finish{padding:26px 22px;text-align:left}
 .geocache-finish .sr-button{width:100%;justify-content:center}
 .php-site[data-page="escapie-geocach-leipzig"] #content>.column-section{margin-top:0}
 .php-site[data-page="escapie-geocach-leipzig"] #page-body{padding-top:32px!important}
 .php-site[data-page="escapie"] h2.link-h1{padding:0 20px;box-sizing:border-box}
 .eu-map .eu-attrib{max-width:100%;white-space:normal;text-align:right;box-sizing:border-box}
 .php-site .geocache-locations{gap:14px}
 .php-site .geocache-locations img{width:120px!important;height:120px!important}
}

/* Keep native image menus/dragging from taking over horizontal photo gestures. */
.php-site .room-gallery__main,.php-site .film-gallery__viewport{touch-action:pan-y pinch-zoom;-webkit-touch-callout:none}
.php-site .room-gallery__main img,.php-site .film-gallery__viewport img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}

.php-site .room-gallery--single .room-gallery__main,.php-site .room-gallery--single .room-gallery__main img{cursor:default}

/* Tagesübersicht „Was ist wann frei?" (C2, Artur 14.09.2026, Florians Testrunde).
   Die Tabelle darf als einzige Stelle der Seite waagerecht scrollen — die Räume haben
   verschiedene Raster, deshalb wird sie auf dem Handy breiter als das Bild. */
.freie-termine{padding:40px 0 60px;text-align:left}
.freie-termine h1{margin:0 0 16px}
.ft-steuerung{display:flex;flex-wrap:wrap;gap:14px 20px;margin:24px 0 8px}
.ft-steuerung .label{display:block;font:14px/1.4 'Open Sans',sans-serif;color:#596273;margin-bottom:4px}
.ft-steuerung .field{font:16px/1.4 'Open Sans',sans-serif;padding:10px 12px;min-height:48px;border:1px solid #c7cbd8;border-radius:4px;background:#fff;box-sizing:border-box}
.ft-legende{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:14px;color:#596273;margin:10px 0 18px}
.ft-marke{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:4px}
.ft-legende .ft-frei{background:#2e7d32}
.ft-legende .ft-anfrage{background:#e68a00}
/* Karten statt Tabelle: je Angebot eine Karte mit Zeit-Kacheln. Eine gemeinsame
   Zeittabelle waere 2300 px breit (verschiedene Raster je Raum) und auf dem Handy
   unlesbar — gemessen 14.09.2026. */
.ft-zusammenfassung{font-size:16px;color:#232864;font-weight:700;margin:6px 0 18px}
.ft-gruppe{font:22px/1.3 'Fjalla One',sans-serif;color:#e66a00;margin:26px 0 10px;text-transform:uppercase;letter-spacing:.02em}
.ft-gruppe:first-of-type{margin-top:6px}
.ft-karte{border:1px solid #e1e4ec;border-radius:6px;padding:16px 18px;margin:0 0 14px;background:#fff}
.ft-karte h2{font:20px/1.3 'Fjalla One',sans-serif;color:#232864;margin:0 0 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.ft-karte h2 a{color:#232864;text-decoration:none;border-bottom:1px solid #d9dce5}
.ft-frei-anzahl{font:13px/1.4 'Open Sans',sans-serif;color:#596273;font-weight:400;white-space:nowrap}
.ft-zeiten{display:flex;flex-wrap:wrap;gap:8px}
.ft-zeit{display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:74px;min-height:48px;padding:5px 10px;border-radius:4px;font:15px/1.2 'Open Sans',sans-serif;
  font-weight:700;text-decoration:none;box-sizing:border-box}
.ft-zeit small{font-weight:400;font-size:11px;letter-spacing:.02em}
a.ft-zeit.ft-frei{background:#e7f3e8;color:#1f6023;border:1px solid #c3e2c6}
a.ft-zeit.ft-frei:hover{background:#d5ebd8}
a.ft-zeit.ft-anfrage{background:#fdf1de;color:#9a5c00;border:1px solid #f0d6ac}
a.ft-zeit.ft-anfrage:hover{background:#fbe6c8}
.ft-zeit:focus-visible{outline:3px solid #ff6600;outline-offset:2px}
.ft-hinweis{font-size:16px;color:#596273;margin:18px 0}
.ft-fuss{font-size:14px;color:#596273;margin-top:22px}
@media(max-width:640px){
  .ft-steuerung>div{flex:1 1 140px}
}
.ft-weiter{font:15px/1.4 'Open Sans',sans-serif;font-weight:700;min-height:44px;padding:10px 18px;margin-left:6px;border:2px solid #ff6600;border-radius:3px;background:#ff6600;color:#fff;cursor:pointer}
.ft-weiter:hover{background:#e65c00;border-color:#e65c00}

/* Sprachschalter DE|EN im Kopf (docs/ENGLISCH.md, 22.09.2026) */
.php-site #header .lang-switch{order:2;display:inline-flex;gap:3px;align-self:flex-start;margin:16px 8px 0 auto;font-size:12px;letter-spacing:.06em;font-weight:700}
.php-site #header #c2a{margin-left:0}
.php-site #header .lang-switch a{padding:6px 8px;border:1px solid rgba(35,40,100,.25);border-radius:4px;color:#232864;text-decoration:none;line-height:1}
.php-site #header .lang-switch a[aria-current="true"]{background:#232864;color:#fff;border-color:#232864}
@media (max-width:480px){.php-site #header .lang-switch{margin-top:12px;font-size:11px}.php-site #header .lang-switch a{padding:5px 6px}}
.php-site .legal-notice{background:#fff4e5;border-left:4px solid #e66a00;padding:10px 14px;margin:0 0 18px;font-size:15px}

/* Termin-Kasten Startseite (23.09.2026) */
.termin-box .tb-steuerung{display:flex;gap:14px;justify-content:center;align-items:flex-end;flex-wrap:wrap;margin:22px auto 14px;padding:18px 20px;max-width:520px;background:#f4f5f9;border-radius:16px}
.termin-box .tb-steuerung>div{flex:1 1 180px;display:flex;flex-direction:column;gap:6px;min-width:0}
.termin-box .tb-steuerung .label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#232864}
.termin-box .tb-steuerung .field{box-sizing:border-box;width:100%;height:50px;margin:0;padding:0 14px;border:1.5px solid #d9dbe7;border-radius:12px;background:#fff;color:#232864;font:600 1rem/1.2 inherit;appearance:none;-webkit-appearance:none}
.termin-box .tb-steuerung select.field{padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,#232864 50%),linear-gradient(135deg,#232864 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.termin-box .tb-steuerung .field:focus{outline:none;border-color:#E96220;box-shadow:0 0 0 3px rgba(233,98,32,.18)}
.termin-box .tb-steuerung input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}
/* Filter „Alle · Escape Rooms · VR“ (Artur 28.09.2026): drei Pillen über die volle Breite. */
.termin-box .tb-steuerung>.tb-art-feld{flex:1 1 100%}
.termin-box .tb-art{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.termin-box .tb-art label{position:relative;margin:0;cursor:pointer}
.termin-box .tb-art input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.termin-box .tb-art span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;border:1.5px solid #d9dbe7;border-radius:12px;background:#fff;color:#232864;font:600 .95rem/1.2 'Open Sans',sans-serif;text-align:center}
.termin-box .tb-art input:checked+span{background:#232864;border-color:#232864;color:#fff}
.termin-box .tb-art input:focus-visible+span{outline:3px solid #E96220;outline-offset:2px}
.termin-box .tb-zeiten{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 14px}
.termin-box .tb-zeit{cursor:pointer;font:inherit;background:#e9f5ee!important;color:#1c7a46!important;border:1.5px solid #bfe3cc!important;border-radius:10px;padding:8px 12px;min-width:66px;font-weight:700;box-shadow:none}
.termin-box .tb-zeit:hover{border-color:#1c7a46!important}
.termin-box .tb-zeit.tb-aktiv{background:#232864!important;color:#fff!important;border-color:#232864!important}
.termin-box .field{min-height:44px}
.termin-box .tb-raeume{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:8px 0}
.termin-box .tb-raum{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1.5px solid #e7e8f0;border-radius:12px;background:#fff;color:#232864;text-decoration:none}
.termin-box .tb-raum:hover{border-color:#E96220}
.termin-box .tb-raum small{color:#E96220;font-weight:700;text-transform:uppercase;letter-spacing:.03em}

/* Zwei-Stunden-Blöcke der Uhrzeiten (A16, Florian C2 28.09.2026; Artur-Korrektur 28.09.2026 nach
   Testseiten-Ansicht: KEIN Aufklappen mehr, nur eine dezente optische Gruppierung — alle Zeit-Knöpfe
   stehen sofort sichtbar da, die Überschrift ist reiner Text ohne Knopf/Chevron/Zähler). */
.tb-bloecke,.ft-bloecke{display:flex;flex-direction:column;gap:6px;margin:6px auto 10px}
.tb-bloecke{max-width:820px}
/* Kompakt (Artur 28.09.): Blocküberschrift links, Zeiten daneben, eine Zeile je Block. */
.tb-block,.ft-block{display:flex;align-items:center;gap:10px;background:#f4f5fa;border-radius:10px;padding:6px 10px}
.tb-block-kopf,.ft-block-kopf{flex:0 0 70px;margin:0;font:700 13px/1.3 'Open Sans',sans-serif;color:#232864}
.termin-box .tb-block .tb-zeiten,.ft-block .ft-zeiten{flex:1 1 auto;margin:0;justify-content:flex-start}
@media(max-width:560px){.tb-block,.ft-block{flex-direction:column;align-items:flex-start;gap:4px}.tb-block-kopf,.ft-block-kopf{flex:none}}
.termin-box .tb-zeit{min-height:48px}
.tb-versetzt,.ft-versetzt{font-size:14px;color:#596273;margin:4px 0 12px}

/* Kinderspecial-Hinweis (A19, Florian C7 28.09.2026): unauffällige Info-Box, nahe dem Kinder-Abschnitt
   der Raumseiten (detektivraum.html, harrys-zauberschule-escape-room.html, DE+EN) und derselbe Hinweis
   im Buchungsschritt (booking-client.tsx), sobald das Feld „Alter der Gruppe" auf Kinder deutet. */
.kinder-hinweis-box{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px 16px;
  background:#fdf1de;border-left:4px solid #E96220;border-radius:6px;color:#232864;
  font:15px/1.5 'Open Sans',sans-serif}
.kinder-hinweis-box a{color:#232864;font-weight:700;text-decoration:underline}
.kinder-hinweis-box a:hover{color:#E96220}
@media(max-width:480px){.kinder-hinweis-box{padding:10px 12px;font-size:14px}}

/* Monatskalender für die Tagesauswahl (A22, Artur 28.09.2026; tag-kalender.js): Startseite
   (Termin-Kasten) und „Was ist wann frei?“. Aussehen wie der Raumkalender im Buchungs-Widget
   (buchungssystem/app/buchen/[productId]/calendar.tsx): Grün = frei, Orange = auf Anfrage,
   gewählt navy, heute mit navy Rahmen, Monatspfeile wie die Galerie-Pfeile. Die Theme-Regeln für
   `button` (Großschrift, Innenabstand, Hover-Grün) werden hier ausdrücklich zurückgesetzt. */
.termin-box .tb-steuerung>.tb-tag-feld,.ft-steuerung>.ft-tag-feld{flex:1 1 100%;min-width:0}
.ft-tag-feld .label{margin-bottom:6px}
.tk{box-sizing:border-box;width:100%;max-width:420px;margin:0 auto;padding:16px 16px 14px;background:#fff;border:1px solid #e7e8f0;border-radius:16px;box-shadow:0 1px 3px rgba(35,40,100,.05);font-family:Arial,"Helvetica Neue","Lato",sans-serif;text-align:left}
.ft-tag-feld .tk{margin:0}
.tk-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.tk-monat{flex:1 1 auto;text-align:center;font-weight:700;font-size:17px;color:#2b2e4a;white-space:nowrap}
.tk .tk-pfeil{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:50%;background:#232864cc;color:#fff;line-height:1;letter-spacing:0;text-transform:none;font:inherit;box-shadow:none;cursor:pointer}
.tk .tk-pfeil:hover{background:#232864;color:#fff}
.tk .tk-pfeil:disabled{opacity:.4;cursor:not-allowed;background:#232864cc}
.tk .tk-pfeil svg{display:block}
.tk .tk-pfeil:focus-visible,.tk .tk-tag:focus-visible{outline:3px solid #E96220;outline-offset:2px}
.tk-woche,.tk-raster{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.tk-woche{margin-bottom:6px}
.tk-woche span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;color:#9a9db3;text-transform:uppercase}
.tk-raster{transition:opacity .12s}
.tk-raster.tk-laedt{opacity:.5}
.tk .tk-tag{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;padding:0;margin:0;border:1.5px solid transparent;border-radius:10px;background:transparent;color:#c7c9d8;font:400 15px/1 Arial,"Helvetica Neue","Lato",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;box-shadow:none;cursor:default}
.tk button.tk-tag{cursor:pointer;font-weight:700;color:#fff;transition:background .12s}
.tk .tk-frei{background:#00A054}
.tk button.tk-frei:hover{background:#058047;color:#fff}
.tk .tk-anfrage{background:#E96220}
.tk button.tk-anfrage:hover{background:#d1531a;color:#fff}
.tk .tk-belegt{color:#b3b6c6;text-decoration:line-through}
.tk .tk-heute{border-color:#232864}
.tk span.tk-heute{border-color:#d5d7e4}
.tk .tk-tag.tk-gewaehlt,.tk button.tk-gewaehlt:hover{background:#232864;color:#fff;border-color:#232864;box-shadow:0 0 0 3px rgba(35,40,100,.25)}
.tk-fehler{font-size:13px;color:#596273;margin:8px 0 0}
.tk .tk-nochmal{margin:0 0 0 4px;padding:3px 10px;border:1px solid #e7e8f0;border-radius:8px;background:#fff;color:#232864;font:12.5px/1.4 inherit;letter-spacing:0;text-transform:none;cursor:pointer}
.tk .tk-nochmal:hover{background:#f4f5f9;color:#232864}
.tk-legende{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #e7e8f0;font-size:12.5px;color:#9a9db3}
.tk-legende i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.tk-legende .tk-l-frei{background:#00A054}
.tk-legende .tk-l-anfrage{background:#E96220}
.tk-legende .tk-l-belegt{background:#eceef4}
/* Handy (390 px): Rahmen um Steuerung und Kalender schmaler, damit sieben Kacheln je mindestens
   44 px breit bleiben und nichts waagerecht scrollt. */
@media(max-width:480px){
  .termin-box .tb-steuerung{padding:14px 6px}
  .tk{padding:12px 4px 10px;border-radius:14px}
  .tk-woche,.tk-raster{gap:2px}
}
