.public-page{max-width:1180px;margin:32px auto 60px;padding:0 24px;color:#29251f}.public-hero{padding:clamp(28px,5vw,64px);border-radius:28px;background:#fff8ef;margin-bottom:28px;position:relative;overflow:hidden;border:1px solid #f3ddc5}.public-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#a7440b}.public-hero h1{font-size:clamp(32px,5vw,62px);line-height:1.08;font-weight:800;letter-spacing:-.04em;margin:14px 0 20px}.public-hero p{max-width:640px;font-size:17px;line-height:1.7;color:#675d52}.public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.public-card{background:#fffdf9;border:1px solid #eedecb;border-radius:22px;padding:28px;box-shadow:0 12px 28px #552c0e0b;min-width:0}.public-card h2{font-size:23px;font-weight:750;line-height:1.3;margin:12px 0 16px}.public-card p{line-height:1.8}.public-page a{overflow-wrap:anywhere;color:#a7440b}.public-tag{display:inline-block;background:#ffead5;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:800;color:#93420e}.public-link{display:inline-flex;padding:12px 17px;border-radius:10px;background:#b94b0b;color:white!important;text-decoration:none!important;font-weight:700;margin-top:12px}.public-card a:focus-visible,.public-link:focus-visible{outline:3px solid #e97724;outline-offset:4px}.public-note{padding:22px 28px;border-radius:18px;background:#fff0df;margin:24px 0;line-height:1.8}.legal-content{background:#fffdf9;padding:clamp(24px,4vw,48px);border-radius:22px;line-height:1.85;overflow-wrap:anywhere}.legal-content h4{margin:30px 0 12px;font-size:23px;font-weight:750}.legal-content h4:first-child{margin-top:0}body:has(.public-page),body:has(.event-page){background:#ed7923 url('../img/background.jpg') center/cover fixed}body:has(.public-page) #main,body:has(.event-page) #main{background:#ffffffec;border-radius:28px;margin:24px auto;float:none;max-width:1360px}body:has(.public-page) #mainContent{overflow-x:visible}.event-page{max-width:1200px;margin:30px auto;padding:0 24px}.event-page>.row{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.event-page>.row>div{width:auto;float:none;padding:0;min-width:0}.event-page .event-header{background:#fff5e8;color:#2e241c;border:1px solid #f0d7b9;border-radius:24px;text-align:left;padding:36px;box-shadow:none}.event-page .event-title{font-size:clamp(28px,4vw,48px);overflow-wrap:anywhere}.event-page .event-subtitle{color:#766453}.event-page .event-content{background:#fffdf9;border:1px solid #ecdfcf;border-radius:22px;padding:28px;line-height:1.8;overflow-wrap:anywhere}.event-page .event-content img{max-width:100%;height:auto}.event-page .card{background:#fff7ed;border:1px solid #f0dac1;border-radius:22px;padding:22px;position:sticky;top:20px}.event-page .nav-stacked li a{background:transparent;border-radius:10px;color:#654e3c;margin:4px 0;padding:12px 14px}.event-page .nav-stacked li.active a{background:#b94b0b;color:white}.event-page .btn-orange{background:#b94b0b;color:#fff!important;padding:12px 18px;margin:6px 8px 6px 0}.event-page .btn-orange:hover,.event-page .btn-orange:focus{background:#923b08;color:#fff!important}.event-page .modal-dialog{max-width:calc(100vw - 24px)}.event-page table{max-width:100%}.event-page .event-content:has(table){overflow-x:auto}@media(max-width:980px){.public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-page>.row{grid-template-columns:1fr}.event-page .card{position:static}.event-page .nav-stacked{display:flex;flex-wrap:wrap;gap:5px}.event-page .nav-stacked li{margin:0}}@media(max-width:600px){.public-page,.event-page{padding:0 14px;margin-top:20px}.public-grid{grid-template-columns:1fr}.public-card,.event-page .event-content{padding:22px}.public-hero{border-radius:20px}.event-page .event-header{padding:26px}body:has(.public-page) #main,body:has(.event-page) #main{width:100%;margin:0;border-radius:0}}@media(prefers-reduced-motion:reduce){.public-page *,.event-page *{transition:none!important}}
.event-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.event-device-grid{grid-template-columns:1fr}}

/* Use document scrolling instead of the legacy viewport-height flex scroller. */
html:has(> body.public-modern){height:auto;min-height:100%;overflow-y:auto;overflow-x:clip}
body.public-modern{height:auto;min-height:100vh}
body.public-modern .main-scroll{display:block;height:auto;min-height:100vh;overflow:visible;padding:30px 20px}
body.public-modern #main{height:auto;min-width:0;width:100%;max-width:1360px;overflow:visible;float:none;margin:0 auto}
body.public-modern #mainContent{overflow:visible;min-width:0}
body.public-modern .event-page{width:100%;box-sizing:border-box}
body.public-modern .event-page>.row{margin-left:0;margin-right:0}
.faq-list{display:grid;gap:14px}.faq-section-title{font-size:26px;font-weight:750;margin:32px 0 18px}.faq-item{background:#fffdf9;border:1px solid #eedecb;border-radius:16px;padding:0 24px}.faq-item summary{cursor:pointer;font-size:18px;font-weight:700;padding:22px 0;line-height:1.5;color:#453326}.faq-item[open]{border-color:#dc8c4c}.faq-item p{line-height:1.85;color:#675d52;margin:0;padding:0 0 24px}.faq-item summary:focus-visible{outline:3px solid #e97724!important;outline-offset:4px;border-radius:6px}
@media(max-width:600px){body.public-modern .main-scroll{padding:0}.faq-item{padding:0 18px}.faq-item summary{font-size:16px}}

/* Bootstrap 3 clearfix pseudo-elements must not become CSS grid items. */
.event-page > .row::before,
.event-page > .row::after { content: none; display: none; }
.event-page > .row > .col-lg-9 { grid-column: 1; grid-row: 1; }
.event-page > .row > .col-lg-3 { grid-column: 2; grid-row: 1; }
@media (max-width:980px) {
 .event-page > .row > .col-lg-9 { grid-column: 1; grid-row: 1; }
 .event-page > .row > .col-lg-3 { grid-column: 1; grid-row: 2; }
}

/* Shared header follows the landing page's warm, rounded shell. */
body.public-modern #main{padding:0;border-radius:24px;border:1px solid #ece5d6;box-shadow:0 18px 65px #59391922}
body.public-modern #mainHeader,body.public-modern #mainContent,body.public-modern #mainFooter{margin-left:0;margin-right:0}
body.public-modern .custom-navbar{padding:8px 18px;background:#fff;border:0;border-bottom:1px solid #ece5d6;border-radius:24px 24px 0 0;margin-bottom:0}
body.public-modern .custom-navbar .navbar-brand{color:#29392e;font-weight:750}
body.public-modern .custom-navbar .nav>li>a{font-size:13px;color:#50624f}
body.public-modern .custom-navbar .nav>li>a:hover,body.public-modern .custom-navbar .nav>li>a:focus,body.public-modern .custom-navbar .nav>li.open>a{color:#823d11;background:#f3eee5;border-radius:7px}
body.public-modern .custom-navbar .navbar-toggle{background:#394d39;border:0;border-radius:9px}
body.public-modern .custom-navbar .navbar-toggle .icon-bar{background:#fff}
body.public-modern .custom-navbar .navbar-collapse{border-color:#e5e8e1}
body.public-modern .custom-navbar .dropdown-menu{background:#fff;border:1px solid #e5e8e1;border-radius:12px;box-shadow:0 12px 24px #59391920}
body.public-modern .custom-navbar .dropdown-menu>li>a{color:#3b513a;font-size:13px;padding:10px 18px}
body.public-modern .custom-navbar .nav .open .dropdown-menu li>a:hover{background:#f3eee5;color:#823d11}
body.public-modern .custom-navbar a:focus-visible,body.public-modern .custom-navbar button:focus-visible{outline:3px solid #b85520!important;outline-offset:3px}
@media(max-width:767px){body.public-modern .main-scroll{padding:12px 10px 24px}body.public-modern #main{border-radius:18px}body.public-modern .custom-navbar{padding:3px 8px;border-radius:18px 18px 0 0}body.public-modern .custom-navbar .dropdown-menu{box-shadow:none}}

/* Distinct page identities, with restrained colored accents and real photography. */
[data-page] .public-hero{isolation:isolate;box-shadow:0 14px 40px #60391a0c;border-left:6px solid #c15717}
[data-page] .public-hero::after{content:'';position:absolute;width:220px;height:220px;right:-80px;top:-90px;border:35px solid #ed79231c;border-radius:50%;z-index:-1}
[data-page="event"] .public-hero{padding-right:34%;background:linear-gradient(90deg,#fff8ef 0%,#fff8ef 62%,#fff8ef00 85%),url('../img/event/kletterturm/1.jpg') right center/42% auto no-repeat}
[data-page="download"] .public-hero{background:linear-gradient(120deg,#fff6e5,#f4e6cf);border-left-color:#ba6b12}
[data-page="faq"] .public-hero{background:linear-gradient(120deg,#f0f6eb,#fff9ec);border-left-color:#42614c}
[data-page="faq"] .public-eyebrow{color:#42614c}
[data-page="contact"] .public-hero{background:linear-gradient(120deg,#edf5f5,#fff7ed);border-left-color:#39716f}
[data-page="contact"] .public-eyebrow{color:#39716f}
[data-page="impressum"] .public-hero{background:linear-gradient(120deg,#f3efeb,#fff8ef);border-left-color:#75624c}
[data-page] .public-hero h1{overflow-wrap:break-word}
.event-page .modal-content{border:1px solid #f0decb;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px #3d231e45}
.event-page .modal-header{background:#fff4e6!important;color:#432d1d!important;border-bottom:1px solid #ead6bc;padding:24px 28px}
.event-page .modal-header .modal-title{font-size:24px;font-weight:750;color:#432d1d}.event-page .modal-header .close{color:#432d1d!important;opacity:.8;font-size:30px}
.event-page .modal-body{background:#fffdf9;padding:24px}.event-page .modal-footer{background:#fff5e8;border-color:#ead6bc}
.event-page .modal .table{background:white;border-radius:12px;border-collapse:separate;border-spacing:0;font-size:14px}
.event-page .modal .table td{height:72px;min-width:58px;border-color:#fff;padding:10px;vertical-align:top}
.event-page .modal .table th{padding:12px;color:#71523b;border-color:#f0dfce;font-size:12px;text-align:center}
.event-page .modal .table td.success{background:#e6f2df;color:#325929}.event-page .modal .table td.danger{background:#f6ded8;color:#893a28}.event-page .modal .table td.warning{background:#fff0c9;color:#856519}
.event-page .modal .pager a{border:1px solid #ead6bc;border-radius:12px;color:#913d0c;background:#fff5e8;padding:10px 16px}
.event-page .modal label{color:#66432b}.event-page .modal input{border:1px solid #dec9b0;border-radius:9px;padding:10px;max-width:100%}
.event-page .carousel-inner .item img{width:100%;max-height:65vh;object-fit:contain;background:#f5eee5;border-radius:15px}
.event-page .carousel-control{background:none!important;width:12%;color:#fff;text-shadow:0 2px 8px #000}
.event-page .carousel-control .glyphicon{background:#51321dc9;border-radius:50%;padding:12px;width:auto;height:auto;font-size:20px}
.event-page .gallery-note{margin-bottom:18px;color:#7a614d;line-height:1.6}
@media(max-width:767px){[data-page="event"] .public-hero{padding-right:26px;padding-bottom:180px;background:linear-gradient(180deg,#fff8ef 0%,#fff8ef 55%,#fff8ef00 75%),url('../img/event/kletterturm/1.jpg') center bottom/100% auto no-repeat}.event-page .modal-body{padding:14px}.event-page .modal .table td{height:60px;min-width:48px}.event-page .modal .pager a{padding:8px 10px}}

/* Account pages and legacy child views share the same presentation. */
body.public-modern{background:#ed7923 url('../img/background.jpg') center/cover fixed;color:#35291e}
body.public-modern #mainFooter{padding:18px 24px;border-top:1px solid #f1e3d3;border-radius:0 0 24px 24px;background:#fffaf3}
body.public-modern #mainFooter hr{display:none}
.account-page{max-width:1200px;margin:24px auto 48px;padding:0 28px}.account-hero,.account-auth-hero{background:linear-gradient(120deg,#fff4e2,#eef3e8);border:1px solid #edd9c1;border-left:6px solid #ae511b;border-radius:24px;padding:32px 38px;margin-bottom:28px}.account-hero h1,.account-auth-hero h1{font-size:clamp(30px,4vw,48px);font-weight:750;line-height:1.15;margin:16px 0}.account-hero p,.account-auth-hero p{line-height:1.8;color:#74604b}
.account-page .event-container{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px}.account-page .event-content{padding:0;min-width:0}.account-page .event-sidebar{background:#fff7eb;border:1px solid #ead8c2;border-radius:20px;padding:22px;align-self:start;font-size:14px}.account-menu-label{font-size:10px;letter-spacing:.14em;color:#a06c45;margin-bottom:14px}.account-page .event-sidebar li a{color:#674930;border-radius:9px;padding:12px;margin:4px 0}.account-page .event-sidebar li.active>a{background:#b94b0b!important}.account-page .event-sidebar li::after{display:none}.account-page .event-sidebar li:hover{ text-indent:0 }
.account-page .panel,body[data-view="register"] .panel,body[data-view="login"] .panel{border:1px solid #eadbc8;border-radius:18px;background:#fffdf9;box-shadow:0 10px 30px #71411108}.account-page .panel-body,body[data-view="register"] .panel-body,body[data-view="login"] .panel-body{padding:24px}.account-page .form-control,body[data-view="register"] .form-control,body[data-view="login"] .form-control{border:1px solid #dac9b4;border-radius:9px;min-height:44px;box-shadow:none}.account-page .form-control:focus,body[data-view="register"] .form-control:focus,body[data-view="login"] .form-control:focus{border-color:#bc642c;box-shadow:0 0 0 3px #e7954b20}.account-page h3{font-size:21px;font-weight:750;margin-top:20px}.account-page .btn-success,body[data-view="register"] .btn-dark,body[data-view="login"] .btn-dark{background:#b94b0b;border-color:#b94b0b;border-radius:10px;padding:11px 18px}.account-form-note{background:#fff2df;padding:16px 20px;border-radius:12px;color:#765032;line-height:1.7}.account-borrow-card{padding:25px;border:1px solid #eadbc8;border-radius:20px;background:#fffdf9;margin:18px 0;box-shadow:0 8px 24px #59391908}.account-borrow-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:#81684d}.account-badge{padding:7px 11px;border-radius:8px;background:#fff0cf;color:#856017;font-weight:750}.account-badge.approved{background:#e6f0dd;color:#446535}.account-borrow-date{font-size:18px;color:#765032}.account-borrow-links{display:flex;flex-wrap:wrap;gap:14px}.account-borrow-links a{color:#a54c16;font-weight:700}.account-empty{padding:32px;background:#fff5e8;border-radius:20px;line-height:1.8}.account-borrows>p{line-height:1.8;color:#796652}
body[data-view="login"] #mainContent,body[data-view="register"] #mainContent{padding:28px}.account-auth-hero{max-width:1080px;margin:0 auto 28px}body[data-view="login"] #mainContent>.col-md-12{display:none}body[data-view="login"] #mainContent>.col-md-4{float:none;margin:0 auto;width:100%;max-width:540px;padding:0}body[data-view="login"] #mainContent>form{max-width:540px;margin:auto}body[data-view="login"] .panel-heading{background:#fff2df;border-radius:18px 18px 0 0;border-color:#eadbc8;color:#674930}.account-register-form{display:flow-root;max-width:1080px;margin:auto}.account-register-form>.account-form-note{margin:0 15px 24px}.account-page .role-profile-summary{margin-bottom:24px}
@media(max-width:991px){.account-page .event-container{grid-template-columns:1fr}.account-page .event-sidebar{grid-row:1}.account-page .event-sidebar .nav{display:flex;flex-wrap:wrap;gap:4px}.account-page .event-sidebar .nav>li{margin:0}.account-page .event-sidebar .nav::before,.account-page .event-sidebar .nav::after{display:none}.account-page .event-sidebar .nav>li>a{padding:10px}}
@media(max-width:600px){.account-page{padding:0 16px}.account-hero,.account-auth-hero{padding:26px 22px}.account-page .panel-body{padding:20px}.account-page .event-content>.div-md-12>.col-md-6{padding:0}body[data-view="login"] #mainContent,body[data-view="register"] #mainContent{padding:18px}.account-register-form>.col-md-6{padding:0}.account-register-form>.account-form-note{margin:0 0 20px}.account-borrow-card{padding:20px}}
.account-page .event-sidebar a[href*="q=ausleihen"]{background:#fff;border:1px solid #d9bea2;color:#8f3c0c;font-weight:800;box-shadow:0 4px 12px #5939190d}
