/* Bestandsseiten: Zusätze aus dem Entwurf (Vereinigung der Seiten mit bestand-live.css, ohne Dubletten). */
main.bestand :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,table,hr,blockquote){all:revert}
main.bestand :where(*){box-sizing:border-box}
main.bestand{display:block;font-family:"ff-typestar-black-web",Saira,sans-serif}
main.bestand.ohne-cover.frontend{padding-top:174px!important}
@media (max-width:869px){main.bestand.ohne-cover.frontend{padding-top:100px!important}}
.bestand-platzhalter{border:2px dashed rgba(63,72,79,.35);padding:28px;margin:12px auto 24px;max-width:1124px;background:#E8E6E4;color:#343434}
.bestand-platzhalter p{margin:0 0 8px}
.bestand-platzhalter .kicker{font-family:var(--ocr);font-stretch:var(--breit-ocr);font-size:15px;margin-bottom:10px}
.bestand-platzhalter .verweis{display:inline-block;margin-top:6px}
main.bestand:has(.zb){overflow:visible;overflow-x:clip}
main.bestand .wp-block-cover.anreise-kopf{min-height:0!important;height:clamp(240px,32vw,460px);padding:0}
main.bestand .anreise-kopf .bild-nachweis{position:absolute;right:12px;bottom:8px;z-index:2;font-family:var(--ocr);font-stretch:var(--breit-ocr);font-size:12px;color:#fff;text-decoration:none;text-shadow:0 0 4px rgba(0,0,0,.6)}
main.bestand .anreise-kopf .bild-nachweis:hover{text-decoration:underline}
main.bestand .karte-swisstopo{margin:32px 0 0;aspect-ratio:16/9;max-height:620px;width:100%;background:#E8E6E4}
main.bestand .karte-swisstopo iframe{display:block;width:100%;height:100%;border:0}
main.bestand .kartendienste{margin:18px 0 40px;font-family:var(--ocr);font-stretch:var(--breit-ocr)}
main.bestand .kartendienste .kicker{display:block;font-size:15px;margin-bottom:10px}
main.bestand .kartendienste ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px}
main.bestand.frontend .kartendienste ul li{margin:0;padding:0;list-style:none}
main.bestand.frontend .kartendienste ul li::before{content:none}
main.bestand .kartendienste a{color:inherit;text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:2px;font-size:17px}
main.bestand .kartendienste a:hover{color:var(--orange)}
@media (max-width:860px){main.bestand .karte-swisstopo{aspect-ratio:4/5}}
main.bestand .zb{margin-inline:calc(50% - 50vw);position:sticky;top:68px;z-index:15;background:var(--orange);color:var(--schwarz);font-family:var(--ocr);font-stretch:var(--breit-ocr);transition:box-shadow .3s ease}
main.bestand .zb-innen{max-width:var(--max);margin:0 auto;padding:20px var(--rand) 22px;display:grid;grid-template-columns:minmax(170px,.75fr) 4fr;gap:28px;align-items:end}
main.bestand .zb-titel{display:flex;flex-direction:column;gap:4px;padding-bottom:4px}
main.bestand .zb-titel b{font-family:var(--display);font-weight:var(--fett);font-stretch:var(--breit-titel);text-transform:uppercase;font-size:22px;line-height:1.1;letter-spacing:.02em}
main.bestand .zb-titel span{font-size:14px;line-height:1.35}
main.bestand .zb-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:2px;margin:0}
main.bestand .zb .feld{display:flex;flex-direction:column;gap:6px;padding:0 14px 0 0;min-width:0;margin:0}
main.bestand .zb .feld label{font-family:var(--ocr);font-stretch:var(--breit-ocr);font-size:15px;color:var(--schwarz);margin:0;transition:opacity .2s}
main.bestand .zb .feld input,main.bestand .zb .feld select{font:inherit;font-family:var(--ocr);height:44px;font-size:19px;background:transparent;border:0;border-bottom:2px solid var(--schwarz);padding:8px 0;color:var(--schwarz);border-radius:0;width:100%;margin:0;box-shadow:none;transition:height .2s}
main.bestand .zb .feld input::placeholder{color:rgba(0,0,0,.72)}
main.bestand .zb .knopf{--flaeche:var(--schwarz);--spitze:var(--gruen);height:56px;margin:0 40px 0 0;font-family:var(--display);transition:height .2s,color .3s}
main.bestand .zb.klebt{box-shadow:0 8px 20px rgba(0,0,0,.18)}
main.bestand .zb.klebt .zb-innen{padding-top:10px;padding-bottom:12px}
main.bestand .zb.klebt .zb-titel span{display:none}
main.bestand .zb.klebt .feld label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
main.bestand .zb.klebt .feld input,main.bestand .zb.klebt .feld select{height:38px;font-size:17px}
main.bestand .zb.klebt .knopf{height:46px;min-height:46px;padding-top:10px;padding-bottom:10px}
.zb-marke{height:1px;margin-bottom:-1px}
@media (max-width:1100px){main.bestand .zb-innen{grid-template-columns:1fr;gap:12px}}
@media (max-width:860px){
  main.bestand .zb{position:relative;top:auto}
  main.bestand .zb-innen{padding:20px var(--rand) 24px}
  main.bestand .zb-form{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}
  main.bestand .zb .knopf{grid-column:1/-1;justify-self:start;margin-top:6px}
  .mobil-buchen{transition:translate .3s ease}
  .mobil-buchen.weg{translate:0 110%}
}
@media (prefers-reduced-motion:reduce){main.bestand .zb,main.bestand .zb *{transition:none!important}}
/* WordPress legt den Seiteninhalt in div.wp-block-post-content; im Entwurf sind die Abschnitte direkte Kinder von
   main (Flex-Container aus dem Live-CSS). display:contents macht die Hülle für das Layout unsichtbar. */
main.bestand > .wp-block-post-content{display:contents}
/* Die Regeln ab hier tragen :root vorne: bestand.css lädt vor bestand-live.css und verliert sonst bei gleicher Spezifität.
   Pre-Launch D2: Zimmer-Auswahl im Kopfbild der Zimmer- und Lab-Room-Seiten. Das Live-CSS gibt weissem Text einen hellgrauen
   Schatten; auf hellen Bildern (Kissen, Wände) verschwand er. Dunkler Verlauf von unten (Desktop: Liste als Zeile am unteren Rand) und von links (Handy: Liste links), dunkler Schatten. */
:root main.bestand.frontend:is(.pt-zimmer,.pt-lab-room) .hero-live>.wp-block-cover__background{opacity:1!important;background:linear-gradient(0deg,rgba(0,0,0,.55) 0,rgba(0,0,0,0) 45%),linear-gradient(90deg,rgba(0,0,0,.55) 0,rgba(0,0,0,.3) 35%,rgba(0,0,0,0) 65%)!important}
:root main.bestand.frontend:is(.pt-zimmer,.pt-lab-room) .hero-live .submenu :is(a,.current_page){text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 14px rgba(0,0,0,.6)}
/* Nachprüfung Stefan D2 (#AK8): Auf Modular, Swissness, Jungle Serenity lief die Liste in die Handschrift im Bild. Eigenes dunkles
   Band hinter der Liste (so breit wie die Liste, nur Desktop; auf dem Handy steht die Liste links im dunklen Verlauf und das
   Band würde die Wortmarke im Bild verdecken), aktiver Eintrag grün und unterstrichen. */
@media (min-width:870px){:root main.bestand.frontend:is(.pt-zimmer,.pt-lab-room) .hero-live .submenu{width:fit-content;max-width:100%;background:rgba(22,33,34,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 14px 6px 12px}}
:root main.bestand.frontend:is(.pt-zimmer,.pt-lab-room) .hero-live .submenu .current_page{color:#00d800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
/* Pre-Launch D4: Zimmer-Galerie. Drei Spalten à 33 % plus Lücke (16 px) und Rand (5 px) passten in keiner Breite, es blieben zwei Bilder
   je Zeile und ein leeres Drittel (auf dem Handy auffällig, auf dem Desktop ebenso). Zwei Spalten über die volle Breite, Höhe aus dem Seitenverhältnis. */
:root main.bestand.frontend .room-detail-gallery .room-gallery .wp-block-gallery{gap:10px}
:root main.bestand.frontend .room-detail-gallery .room-gallery .wp-block-gallery>figure{width:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important;max-height:none;margin:0!important}
:root main.bestand.frontend .room-detail-gallery .room-gallery .wp-block-gallery>figure img{height:auto;aspect-ratio:3/2;object-fit:cover}
/* Pre-Launch D11: Knöpfe des Gästebuchs (gwolle-gb, input statt a, darum ohne die Sechseck-Spitze von .knopf) in der Knopf-Gestaltung */
:root main.bestand .gwolle-gb input.button{-webkit-appearance:none;appearance:none;font-family:var(--display);font-weight:var(--fett);font-stretch:var(--breit-titel);text-transform:uppercase;font-size:15px;letter-spacing:.06em;
  min-height:56px;padding:18px 28px;border:0;border-radius:0;box-shadow:none;background:var(--schiefer);color:var(--weiss);cursor:pointer;transition:background-color .3s ease,color .3s ease}
:root main.bestand .gwolle-gb input.button:hover,:root main.bestand .gwolle-gb input.button:focus-visible{background:var(--orange);color:var(--schwarz)}
:root main.bestand .gwolle-gb input.gwolle_gb_submit{background:var(--orange);color:var(--schwarz)}
:root main.bestand .gwolle-gb input.gwolle_gb_submit:hover,:root main.bestand .gwolle-gb input.gwolle_gb_submit:focus-visible{background:var(--schiefer);color:var(--weiss)}
@media (prefers-reduced-motion:reduce){:root main.bestand .gwolle-gb input.button{transition:none}}
/* Pre-Launch D5: Links im Fliesstext von Expeditionen (Seiten 298 DE, 377 EN). Orange auf Weiss erreichte nur rund 3:1.
   Schiefergrau mit orangem Unterstrich (wie die übrigen Textlinks der Website), Orange erst beim Darüberfahren. */
:root body:is(.page-id-298,.page-id-377) main.bestand .entry-content p a{color:var(--schiefer);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
:root body:is(.page-id-298,.page-id-377) main.bestand .entry-content p a:hover{color:var(--orange)}
/* Grün markierte Wörter (mark.has-knallgruen-color, #00D800 auf hellem Grund, rund 2:1): Expeditionen, Unsere Zimmer und Our rooms
   (Stand 29.10.2026, alle auf hellem Grund). Text in Schiefer, das Grün bleibt als Leuchtstift-Strich darunter. */
/* Nachprüfung Stefan D5 (#AK8): Der dünne hellgrüne Strich wirkte wie ein schwacher Link. Breiter Leuchtstift-Balken und halbfett,
   damit es als Hervorhebung lesbar ist und nicht als Link. */
:root main.bestand mark.has-knallgruen-color{color:var(--schiefer)!important;background:linear-gradient(transparent 55%,rgba(0,216,0,.38) 55%,rgba(0,216,0,.38) 92%,transparent 92%)!important;padding:0 .08em;font-weight:600}
/* Gästebuch-Einträge (Rückmeldung Max 29.10.2026): ohne Benutzerbild (nutzt nur eine Person), ruhige Kopfzeile mit Name und Ort,
   Datum in der Schreibmaschinenschrift darunter, Text in Lesegrösse, klare Linie zwischen den Einträgen. Nur CSS, gwolle bleibt. */
:root main.bestand .gwolle-gb .gb-entry{border-top:2px solid var(--schiefer);padding:28px 0 32px;max-width:46em}
:root main.bestand .gwolle-gb .gb-entry .gb-author-avatar,:root main.bestand .gwolle-gb .gb-entry .gb-author-info br{display:none}
:root main.bestand .gwolle-gb .gb-entry .gb-author-info{font-family:var(--display);font-stretch:var(--breit-text);font-size:19px;line-height:1.4;color:var(--text);padding-right:48px}
:root main.bestand .gwolle-gb .gb-entry .gb-author-info .gb-author-name{padding-left:0;font-weight:var(--fett);font-stretch:var(--breit-titel)}
:root main.bestand .gwolle-gb .gb-entry .gb-author-name a{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
:root main.bestand .gwolle-gb .gb-entry .gb-author-info .gb-datetime{display:block;margin-top:6px;font-family:var(--ocr);font-stretch:var(--breit-ocr);font-size:14px;line-height:1.4;color:var(--schiefer)}
:root main.bestand .gwolle-gb .gb-entry .gb-entry-content{padding-left:0;margin-top:16px;font-family:var(--display);font-stretch:var(--breit-text);font-size:19px;line-height:1.6;color:var(--text);max-width:40em}
@media (max-width:860px){:root main.bestand .gwolle-gb .gb-entry{padding:22px 0 26px}:root main.bestand .gwolle-gb .gb-entry .gb-entry-content,:root main.bestand .gwolle-gb .gb-entry .gb-author-info{font-size:18px}}
/* Unsere Zimmer und Our rooms (Rückmeldung Max): weniger Luft über dem Titel, mehr über dem Buchungsbanner. Greift nur, wo das
   Banner im Textbereich steht; auf den Zimmer- und Lab-Room-Seiten hängt es direkt am Kopfbild und bleibt unverändert. */
@media (min-width:870px){:root main.bestand .is-style-text-container:has(.zb-marke){padding-top:124px!important}}
@media (max-width:869px){:root main.bestand .ontop:has(.zb-marke){padding-top:108px!important}}
:root main.bestand .is-style-text-container:has(.zb-marke) h1:first-child{margin-top:0!important}
:root main.bestand .is-style-text-container .zb-marke{margin-top:clamp(48px,6vw,80px)}
/* Nachprüfung Stefan N5 (#AK8): «THE LAB HOTEL –» in Orange bzw. Grün auf dem blauen Band (Lab Rooms, Medien, Expeditionen, DE und EN) erreichte rund 1,5:1.
   Auf Blau in Schiefer (grosse Schrift, rund 3,8:1), die weissen Zeilen bleiben. */
:root main.bestand .has-bg-hotel-blau-background-color :is(.has-orange-color,.has-gruen-hotel-color){color:var(--schiefer)!important}
/* Nachprüfung Stefan N6 (#AK8): Waben-Grafik der Lab Rooms, weisse Schrift auf den hellen Waben Swissness (Beige) und Upcycling
   (Hellgrün) kaum lesbar. Dort Schiefer; beim Darüberfahren bleibt die Umkehrung aus dem Live-CSS. */
:root main.bestand.frontend #lab-anchors :is(#totraditionell,#togruen):not(:hover) .schrift{fill:var(--schiefer)}
/* Nachprüfung Stefan N11 (#AK8): Auf schmalen Bildschirmen schnitt der zentrierte Ausschnitt die Wortmarke im Kopfbild ab
   («THE LAB HOTE», EGO und Campus). Ausschnitt nach rechts zur Wortmarke. */
@media (max-width:869px){:root main.bestand .hero-live img:is([src*="TLH_Headerbilder_10-"],[src*="TLH_Headerbilder_01-"]){object-position:66% 50%!important}}
/* Nachprüfung Stefan N11 (#AK8): Auf dem Handy gab das Live-CSS der 360°-Tour (.ontop) 139 px Abstand oben, unter dem Kopf blieb
   ein weisser Streifen (Lab Rooms DE/EN). Wie die Kopfbilder der Zimmer beginnt die Tour direkt oben, der Kopf liegt darüber. */
@media (max-width:869px){:root main.bestand .vrTour.like-hero.ontop{padding-top:0}}
/* Nachprüfung Stefan N12 (#AK8): Die Blätterleiste von gwolle stand rechtsbündig über die volle Breite, neben der schmaleren
   Eintragsspalte (46em). Gleiche Breite wie die Einträge, linksbündig, darunter etwas Luft. */
:root main.bestand .gwolle-gb .page-navigation{max-width:46em;text-align:left;margin:24px 0}
/* Nachprüfung Stefan N7 (#AK8, Hinweis CHAPEL): Unsere Zimmer / Our rooms (279, 358). Einleitung, Schlusssatz und Zimmertexte stehen
   in der Schreibmaschinenschrift, die fünf Absätze dazwischen in der Grundschrift: Schriftwechsel mitten im Text. Einheitlich
   Schreibmaschinenschrift; die Grössen bleiben. */
:root body:is(.page-id-279,.page-id-358) main.bestand p.is-style-typestar-ocr ~ p.wp-block-paragraph:not([class*="is-style-"]){font-family:ff-typestar-ocr-web-pro,sans-serif}
