/* Buchungskalender: gleicher Sand-/Anthrazit-Stil wie die Hauptseite */
.calendar-header{background:#29221e;color:#fff;box-shadow:0 2px 9px #0002}.cal-header-inner{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:18px}.cal-header-inner>a:last-child{font-size:13px;color:#e8cba5}.cal-main{padding-top:80px;padding-bottom:105px;min-height:74vh}.cal-main h1{font:normal clamp(42px,5.8vw,75px)/1.1 Georgia,serif;letter-spacing:-.05em;margin:0 0 23px}.cal-main h1 em{color:#b28a61}.cal-subtitle{font-size:17px;line-height:1.8;max-width:790px;color:#655b53;margin:0 0 40px}.cal-panel{background:#fff;border:1px solid #e3dbd0;padding:34px;box-shadow:0 10px 34px #211b140a}.cal-panel h2{font:normal 31px Georgia,serif;letter-spacing:-.02em;margin:0 0 10px}.cal-panel>p{color:#70675e;line-height:1.65;margin:8px 0 23px}.cal-panel-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.cal-live-dot{font-size:12px;color:#8c7052;border:1px solid #d8c4aa;padding:10px 14px;white-space:nowrap}.cal-status-legend{display:flex;gap:20px;flex-wrap:wrap;margin:17px 0 28px;font-size:12px;color:#65584b}.cal-status-legend span{display:flex;align-items:center;gap:8px}.status-dot{width:12px;height:12px;display:inline-block;border-radius:50%;flex:none}.status-frei{background:#6c8f73}.status-belegt{background:#a6544b}.status-offen{background:#b3a18c}.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-height:125px}.cal-day{padding:18px 10px 17px;min-height:143px;background:#f3f0eb;display:flex;align-items:center;flex-direction:column;gap:11px;text-align:center;border:1px solid #e6ded3}.cal-day-date{font-weight:700;font-size:12px}.cal-day-mark{font:normal 22px Georgia,serif;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.cal-mark-frei{background:#dbe8da;color:#44694a}.cal-mark-belegt{background:#f3dad5;color:#913f39}.cal-mark-offen{background:#e6ddd2;color:#776858}.cal-day-status{font-size:11px;line-height:1.3;color:#61554a}.cal-day-frei{background:#f0f5ef}.cal-day-belegt{background:#f9efec}.cal-footnote{font-size:12px!important;color:#6f665e!important;margin:25px 0 0!important;max-width:930px}.cal-loading{grid-column:1/-1;color:#746b60;padding:18px}.cal-error{display:block;color:#82342b;padding:30px;background:#f8ece9}.cal-action{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:55px 3px 0}.cal-action h2{font:normal 33px Georgia,serif;margin:0 0 12px}.cal-action p{color:#766c63;line-height:1.65;margin:0}.cal-bottom{background:#2c251f;color:#e8dac9;padding:28px 0;font-size:12px}.cal-bottom .shell{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.cal-bottom .shell span{margin-right:auto}.cal-bottom a{text-decoration:underline;text-underline-offset:3px}.cal-teaser{background:#f5eee5;border-top:1px solid #e8dccc;border-bottom:1px solid #e8dccc}.cal-teaser .cal-days{margin:24px 0}.cal-teaser-head{display:flex;justify-content:space-between;align-items:center;gap:30px}.cal-teaser-desc{font-size:14px;color:#6b6055;line-height:1.7;max-width:680px}.cal-teaser-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:22px}.cal-teaser-actions .btn{background:#302721;color:#fff}.cal-teaser .cal-day{background:#fffcf8;min-height:133px}.cal-teaser .cal-day-frei{background:#f0f5ef}.cal-teaser .cal-day-belegt{background:#f9efec}.cal-teaser .cal-footnote{margin-top:12px!important}.cal-admin{background:#faf7f2}.cal-admin-main h1{margin-bottom:35px}.admin-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:25px}.cal-admin label{font-weight:700;font-size:13px;color:#514237;display:block;margin:20px 0}.cal-admin label input,.cal-admin label select{width:100%;display:block;margin-top:9px;padding:13px 12px;border:1px solid #cdbba8;background:#fff;color:#231d19;border-radius:2px}.cal-admin label input:focus,.cal-admin label select:focus{outline:2px solid #b58a61}.admin-entry .btn{margin-top:12px}.admin-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-day{background:#f7f3ed;border:1px solid #e2d9cd;padding:14px 12px;text-align:left;cursor:pointer;color:#2f2821;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px}.admin-day:hover,.admin-day:focus{background:#e8dfd3;outline:2px solid #bd956d}.admin-day span:first-child{font-weight:700;font-size:13px}.admin-day small{grid-column:1/-1;color:#74685e;font-size:11px}.admin-tip{background:#f0e6d7;padding:18px;font-size:12px;line-height:1.7;color:#564637;margin-top:25px}.cal-login{max-width:590px}.cal-login p{line-height:1.7}.admin-alert{padding:15px 20px;margin-bottom:22px;font-size:14px}.admin-error{background:#f6e0db;color:#80342b}.admin-success{background:#e4eee0;color:#365b3b}.admin-footer{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-top:35px}.admin-footer details{max-width:560px;flex:1}.admin-footer summary{font-size:13px;text-decoration:underline;cursor:pointer}.admin-pw{margin-top:20px;background:#fff;padding:18px}.cal-logout{background:transparent;border:1px solid #927a66;padding:12px 18px;cursor:pointer}.cal-admin .btn{white-space:normal}
@media(max-width:960px){.cal-days{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}.cal-teaser-head{align-items:start;flex-direction:column;gap:0}}
@media(max-width:600px){.cal-header-inner{min-height:77px}.cal-header-inner .brand{min-width:0}.cal-header-inner .brand strong{font-size:12px}.cal-header-inner .brand small{font-size:8px}.cal-header-inner>a:last-child{font-size:11px}.cal-main{padding-top:50px;padding-bottom:70px}.cal-panel{padding:23px 17px}.cal-panel-top{align-items:start;flex-direction:column;gap:8px}.cal-panel h2{font-size:28px}.cal-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cal-day{min-height:108px;padding:13px 8px;gap:7px}.cal-day-date{font-size:12px}.cal-day-mark{width:27px;height:27px;font-size:18px}.cal-day-status{font-size:10px}.cal-action{flex-direction:column;align-items:start}.cal-admin-main h1{font-size:44px}.admin-days{grid-template-columns:1fr 1fr}.admin-footer{flex-direction:column}.cal-status-legend{gap:11px}}
