/* Scoped workspace layer: public pages and the event area stay unchanged. */
.photobox-cms-page { --cms-ink:#163449; --cms-muted:#526575; --cms-line:#dce3e5; --cms-gold:#9b7437; background:#f3f4f2; color:var(--cms-ink); }
.photobox-cms-page [hidden] { display:none !important; }
.photobox-cms-page > main.section { padding:24px 0 64px; }
.photobox-cms-page .container { max-width:1440px; width:100%; padding-inline:28px; }
.photobox-cms-page .mm-cms-marke { margin:0 0 20px; }
.photobox-cms-page .cms-app { gap:18px; }
.photobox-cms-page .cms-nav { border:1px solid var(--cms-line); background:#fff; box-shadow:0 3px 12px #16344908; border-radius:14px; backdrop-filter:none; }
.photobox-cms-page .cms-nav-rechts { position:relative; inset:auto; justify-content:flex-end; padding:8px 16px; border-bottom:1px solid var(--cms-line); min-height:48px; }
.photobox-cms-page .cms-identity { margin-right:auto; }
.photobox-cms-page .cms-groups { padding:4px 12px 0; gap:4px; }
.photobox-cms-page .cms-group { font-weight:600; min-height:44px; padding:10px 14px; color:var(--cms-muted); }
.photobox-cms-page .cms-group.is-active { color:var(--cms-ink); border-bottom-color:var(--cms-gold); }
.photobox-cms-page .cms-tabs { padding:8px 12px; background:#f7f8f6; gap:6px; }
.photobox-cms-page .cms-tab { min-height:40px; font-weight:600; color:var(--cms-muted); }
.photobox-cms-page .cms-tab.is-active { background:var(--cms-ink); border-color:var(--cms-ink); color:#fff; }
.cms-workspace-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,340px); align-items:center; gap:28px; padding:12px 2px 4px; }
.cms-eyebrow { margin:0 0 6px; color:var(--cms-gold); font-size:12px; font-weight:700; letter-spacing:.06em; }
.photobox-cms-page #cmsPageTitle { font-size:clamp(26px,3vw,36px); line-height:1.15; margin:0 0 8px; letter-spacing:-.025em; }
#cmsPageDescription { margin:0; max-width:65ch; font-size:14px; color:var(--cms-muted); line-height:1.55; }
.cms-find { position:relative; z-index:12; }
.cms-find label { display:block; margin-bottom:6px; font-size:12px; font-weight:600; }
.cms-find input { width:100%; padding:12px 14px; border:1px solid #b8c5cb; border-radius:9px; background:#fff; font:inherit; }
.cms-find-results { position:absolute; left:0; right:0; top:100%; margin-top:6px; padding:6px; background:#fff; border:1px solid var(--cms-line); border-radius:10px; box-shadow:0 12px 32px #16344920; max-height:360px; overflow:auto; }
.cms-find-results button { display:flex; flex-direction:column; text-align:left; gap:3px; width:100%; padding:10px 12px; border:0; border-radius:6px; background:none; color:var(--cms-ink); font:inherit; cursor:pointer; }
.cms-find-results button:hover,.cms-find-results button:focus { background:#f0f3f2; }
.cms-find-results span,.cms-find-results p { color:var(--cms-muted); font-size:12px; }
.photobox-cms-page .booking-panel { padding:24px; border:1px solid var(--cms-line); box-shadow:none; border-radius:12px; background:#fff; min-width:0; }
.photobox-cms-page .booking-panel h2 { font-size:20px; line-height:1.3; letter-spacing:-.015em; }
.photobox-cms-page .booking-help { color:var(--cms-muted); line-height:1.6; max-width:75ch; }
.photobox-cms-page .form-field { min-width:0; }
.photobox-cms-page input,.photobox-cms-page select,.photobox-cms-page textarea { max-width:100%; font-variant-numeric:tabular-nums; }
.photobox-cms-page .form-field input,.photobox-cms-page .form-field select { min-height:44px; }
.photobox-cms-page .form-field textarea { line-height:1.55; min-height:88px; resize:vertical; }
.photobox-cms-page :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--cms-gold); outline-offset:3px; }
.photobox-cms-page .btn { min-height:40px; white-space:normal; font-weight:600; transition:background-color .15s ease,color .15s ease; }
.photobox-cms-page .btn-primary { background:var(--cms-ink); color:#fff; border-color:var(--cms-ink); }
.photobox-cms-page .btn-primary:hover { background:#244e69; }
.photobox-cms-page .btn-secondary { color:var(--cms-ink); }
.photobox-cms-page .cms-btn-danger { color:#a02d2d; border-color:#e4baba; }
.cms-section-links { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:2px; }
.cms-section-links button { padding:8px 11px; border:1px solid var(--cms-line); border-radius:6px; color:var(--cms-muted); background:#fff; font:inherit; font-size:12px; font-weight:500; line-height:1.4; cursor:pointer; }
.cms-section-links button:hover { background:#e9eeeb; }
.cms-fold { border:1px solid var(--cms-line); border-radius:12px; background:#fff; min-width:0; }
.cms-fold > summary { padding:18px 22px; cursor:pointer; font-size:16px; font-weight:600; color:var(--cms-ink); scroll-margin-top:210px; }
.cms-fold > summary::marker { color:var(--cms-gold); }
.cms-fold[open] > summary { border-bottom:1px solid var(--cms-line); }
.photobox-cms-page .cms-fold > .booking-panel { border:0; }
.cms-fold > .booking-panel > h2:first-child { display:none; }
.cms-fold.has-draft > summary::after { content:' · Ungespeichert'; font-size:12px; color:#855808; font-weight:500; }
.cms-draft-note { padding:10px 14px; margin:0; background:#fff5df; border-left:3px solid #b47d2d; border-radius:4px; font-size:13px; color:#755014; }
.photobox-cms-page .cms-global-status:empty { display:none; }
.photobox-cms-page .cms-global-status.show { position:sticky; top:164px; z-index:9; padding:12px 16px; border-radius:8px; box-shadow:0 3px 10px #16344912; }
.photobox-cms-page .cms-toolbar { flex-direction:row; flex-wrap:wrap; justify-content:flex-start; padding:18px; gap:14px; }
.cms-booking-search { flex:1 1 250px; }
.cms-result-count { font-size:12px; color:var(--cms-muted); padding-bottom:12px; font-variant-numeric:tabular-nums; }
.photobox-cms-page .admin-stats strong { font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.photobox-cms-page .admin-stats article { border:1px solid var(--cms-line); box-shadow:none; border-radius:10px; }
.photobox-cms-page .cms-activity-item,.photobox-cms-page .cms-list-item { border:0; border-bottom:1px solid var(--cms-line); border-radius:0; background:transparent; padding:12px 0; }
.photobox-cms-page .cms-list-item strong,.photobox-cms-page .cms-activity-item strong { font-weight:600; }
.photobox-cms-page .cms-upcoming-link { width:100%; text-align:left; font:inherit; color:var(--cms-ink); cursor:pointer; }
.photobox-cms-page .cms-upcoming-link:hover { background:#f2f5f3; }
.photobox-cms-page .cms-geraete { flex:0 0 auto; }
.photobox-cms-page .cms-logout { margin-left:0; }
.photobox-cms-page :is(.cms-view,.cms-two-col,.booking-grid,.cms-box-grid,.cms-panel-head,.cms-poolwahl-kasten) { min-width:0; }
.photobox-cms-page :is(h1,h2,h3,p,dd,td,.cms-list-item,.cms-activity-item) { overflow-wrap:anywhere; }
.photobox-cms-page :is(.cms-view h2,#cmsPageTitle) { scroll-margin-top:210px; }
.cms-skip { position:fixed; top:10px; left:12px; transform:translateY(-200%); z-index:1000; background:#fff; padding:12px; color:#163449; }
.cms-skip:focus { transform:none; }
.photobox-cms-page .cms-login-panel { max-width:720px; margin:40px auto; }
@media(max-width:900px) {
 .photobox-cms-page .cms-nav { position:static; }
 .cms-workspace-head { grid-template-columns:1fr; gap:18px; }
 .photobox-cms-page .container { padding-inline:18px; }
 .photobox-cms-page .cms-two-col,.photobox-cms-page .cms-box-grid { grid-template-columns:minmax(0,1fr); }
 .photobox-cms-page .cms-global-status.show { top:8px; }
 .photobox-cms-page :is(.cms-view h2,#cmsPageTitle,.cms-fold > summary) { scroll-margin-top:20px; }
}
@media(max-width:600px) {
 .photobox-cms-page > main.section { padding-top:16px; }
 .photobox-cms-page .container { padding-inline:12px; }
 .photobox-cms-page .booking-panel { padding:18px 14px; }
 .photobox-cms-page .cms-nav-rechts { flex-wrap:wrap; padding:8px 10px; }
 .photobox-cms-page .cms-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:4px 6px; gap:2px; }
 .photobox-cms-page .cms-group { font-size:12px; padding:8px 4px; }
 .photobox-cms-page .cms-tabs { gap:4px; padding:6px; }
 .photobox-cms-page .cms-tab { font-size:12px; padding:7px 9px; }
 .photobox-cms-page .booking-grid { grid-template-columns:minmax(0,1fr); }
 .photobox-cms-page .booking-grid > * { grid-column:1/-1; }
 .photobox-cms-page .cms-toolbar { padding:14px; }
 .photobox-cms-page .cms-toolbar .form-field { flex:1 1 100%; }
 .cms-section-links { gap:5px; }
 .cms-section-links button { font-size:12px; text-align:left; }
 .cms-fold > summary { padding:16px 14px; }
 .photobox-cms-page .cms-panel-head,.photobox-cms-page .cms-banner { flex-wrap:wrap; }
 .photobox-cms-page .admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .photobox-cms-page .cms-poolwahl { padding:10px; }
 .photobox-cms-page .cms-poolwahl-kasten { padding:14px; }
 .photobox-cms-page .cms-boxstatus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .photobox-cms-page * { scroll-behavior:auto !important; transition:none !important; } }
