/* Header: navigation first; compact language and appearance controls at the right. */
.site-header{gap:22px}
.site-header .primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:22px;margin-inline-start:auto;min-width:0;font-size:12px}
.site-header .primary-nav>a{white-space:nowrap}
.site-header .header-controls{display:flex;align-items:center;gap:9px;flex-shrink:0}
.site-header .header-controls .language{width:59px;max-width:59px;min-width:0;min-height:36px;padding:7px 5px;font-size:12px;font-weight:600;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:9px}
.site-header .primary-nav .nav-create{min-height:36px;padding:8px 14px}
.theme-menu{position:relative;flex:0 0 auto}
.theme-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:36px;height:36px;padding:8px;border:1px solid var(--line);border-radius:9px;cursor:pointer;color:var(--text)}
.theme-menu>summary::-webkit-details-marker{display:none}
.theme-menu svg{display:block;width:18px;height:18px;flex-shrink:0}
.theme-options{position:absolute;inset-inline-end:0;top:calc(100% + 10px);min-width:170px;padding:6px;z-index:60;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 12px 32px #0003}
.theme-options button{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:12px;text-align:start}
.theme-options button:hover,.theme-options button[aria-pressed=true]{background:color-mix(in srgb,var(--text) 8%,transparent)}
.theme-check{margin-inline-start:auto;visibility:hidden}
.theme-options button[aria-pressed=true] .theme-check{visibility:visible}
.site-header .shell-mobile-menu{display:none}
.site-header .shell-mobile-menu .nav-dropdown{display:flex;flex-direction:column;align-items:stretch;gap:2px;margin:0;min-width:220px;white-space:normal;background:var(--panel);color:var(--text)}
.site-header a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
/* Footer: every link has its own row. */
.shell-footer{padding-top:40px}
.shell-footer .footer-main{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:54px}
.shell-footer .footer-identity{gap:14px}
.shell-footer .footer-logo img{width:92px}
.shell-footer .footer-email{font-size:12px;color:var(--text);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.shell-footer .footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;min-width:0}
.shell-footer .footer-column{min-width:0;padding:0;margin:0}
.shell-footer .footer-column h2{margin:0 0 18px;font-family:inherit;font-size:11px;font-weight:650;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--text)}
.shell-footer .footer-column nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:12px;line-height:1.5}
.shell-footer .footer-column a{color:var(--muted);overflow-wrap:anywhere;max-width:100%}
.shell-footer .footer-column a:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}
.shell-footer .footer-bottom{margin-top:36px}
.cookie-page .info-intro h1{font-size:clamp(28px,4vw,46px);letter-spacing:-.035em}
.cookie-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin:28px 0 12px}
.cookie-table{font-size:12px;line-height:1.7;text-align:start;min-width:700px}
.cookie-table th,.cookie-table td{padding:16px;text-align:start;vertical-align:top;min-width:120px}
.cookie-table th:first-child{position:static;max-width:none;min-width:160px;overflow-wrap:anywhere}
.cookie-table code{font-size:11px;white-space:normal;overflow-wrap:anywhere}
.cookie-table thead th{position:static}
.text-link{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.site-header{gap:16px}.site-header .primary-nav{gap:16px}.site-header .header-hosting{display:none}}
@media(max-width:950px){.site-header .primary-nav{display:none}.site-header .header-controls{margin-inline-start:auto}.site-header .shell-mobile-menu{display:block}.site-header .shell-mobile-menu>summary{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:7px}.shell-footer .footer-main{grid-template-columns:140px minmax(0,1fr);gap:28px}.shell-footer .footer-columns{gap:20px}}
@media(max-width:700px){.shell-footer .footer-main{grid-template-columns:1fr;gap:32px}.shell-footer .footer-identity{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;column-gap:20px;row-gap:8px}.shell-footer .footer-logo{grid-row:1/3;justify-self:start}.shell-footer .footer-logo img{width:66px}.shell-footer .footer-identity p{margin:0}.shell-footer .footer-columns{gap:24px}.shell-footer .footer-column h2{margin-bottom:15px}}
@media(max-width:480px){.site-header{gap:8px}.site-header .brand-logo img{width:120px}.site-header .header-controls{gap:6px}.site-header .header-controls .language{width:53px;max-width:53px}.shell-footer .footer-columns{grid-template-columns:1fr 1fr;gap:30px 20px}.shell-footer .footer-column:last-child{grid-column:1/-1}.shell-footer .footer-column nav{gap:12px}.shell-footer .footer-bottom{align-items:flex-start;gap:16px;flex-direction:column}}
@media(max-width:340px){.site-header .brand-logo img{width:100px}.site-header .header-controls{gap:4px}}

/* Klarer Header: Logo, drei Aktionen, Sprache, Darstellung. */
.site-header { display:flex; align-items:center; gap:24px; }
.site-header .primary-nav { display:flex; }
.site-header .primary-nav .nav-create { display:inline-flex; }
.site-header .header-controls { margin-inline-start:0; }
.site-header .theme-menu { order:2; }
.site-header .header-controls .language { order:1; }
.site-header .primary-nav .nav-text { color:var(--muted); }
.site-header .primary-nav .nav-text:hover { color:var(--text); }
.site-header a:focus-visible,
.site-header summary:focus-visible,
.site-header select:focus-visible,
.theme-options button:focus-visible { outline:2px solid #a3d6b7; outline-offset:4px; }
.shell-footer .footer-column nav { align-items:stretch; gap:8px; }
.shell-footer .footer-column nav a { display:block; padding-block:5px; line-height:1.6; }
.shell-footer .footer-column h2 { color:var(--text); margin-bottom:15px; }
@media(max-width:1050px) {
 .site-header { gap:16px; }
 .site-header .primary-nav { gap:16px; font-size:12px; }
 .site-header .brand-logo img { width:150px; height:auto; }
}
@media(max-width:760px) {
 .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding-block:16px; }
 .site-header .header-identity { grid-column:1; grid-row:1; }
 .site-header .header-controls { grid-column:2; grid-row:1; margin:0; }
 .site-header .primary-nav { grid-column:1/-1; grid-row:2; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin:0; padding-top:12px; border-top:1px solid var(--line); font-size:12px; }
 .site-header .primary-nav .nav-create { display:inline-flex; min-height:38px; padding:9px 12px; }
 .site-header .brand-logo img { width:140px; height:auto; }
}
@media(max-width:480px) {
 .shell-footer .footer-columns { grid-template-columns:1fr; gap:26px; }
 .shell-footer .footer-column:last-child { grid-column:auto; }
 .shell-footer .footer-column { padding-bottom:22px; border-bottom:1px solid var(--line); }
 .shell-footer .footer-column:last-child { border-bottom:0; padding-bottom:0; }
 .site-header .primary-nav { font-size:11px; gap:8px; }
 .site-header .primary-nav .nav-create { padding-inline:10px; font-size:11px; }
 .site-header .brand-logo img { width:125px; }
}

/* Lesbare native Sprachliste mit expliziten Farben und sichtbarem Pfeil. */
.site-header .header-controls #language.language {
 appearance:none;
 -webkit-appearance:none;
 width:64px;
 max-width:64px;
 min-height:38px;
 padding:8px 25px 8px 10px;
 background-color:var(--panel);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 9px center;
 color:var(--text);
 color-scheme:light;
 cursor:pointer;
}
.site-header .header-controls #language option {
 background-color:#fff;
 color:#111827;
 font-size:14px;
 font-weight:500;
}
[dir=rtl] .site-header .header-controls #language.language {
 padding:8px 10px 8px 25px;
 background-position:left 9px center;
}

/* Breites Layout und klarere Startseite. */
.wrap { width:100%; max-width:none; min-height:100vh; min-height:100svh; margin-inline:auto; padding-inline:clamp(20px,4vw,96px); }
.site-header { height:auto; min-height:88px; padding-block:18px; }
.home-shell { width:100%; }
.homepage-main { grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:clamp(32px,6vw,110px); }
.homepage-title { font-size:clamp(44px,5.6vw,108px); }
.homepage-description { max-width:660px; font-size:clamp(17px,1.3vw,22px); }
.homepage-action-card { padding:clamp(26px,3vw,54px); }
.homepage-create,.homepage-join-submit { justify-content:center; font-size:16px; }
.homepage-join label { font-size:16px; font-weight:600; }
.homepage-privacy { max-width:1000px; margin:34px auto 48px; font-size:14px; line-height:1.8; }
.homepage-counter { justify-content:flex-start; margin-top:28px; font-size:14px; }
.info-page,.nature-page,.pm-about { width:100%; max-width:none; }
.nature-intro,.nature-section-heading { max-width:1000px; }
.partner-image-reservations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-column:1/-1; gap:20px; width:100%; }
.partner-image-slot { display:flex; justify-content:center; align-items:center; min-width:0; aspect-ratio:16/10; padding:24px; border:1px dashed var(--line); border-radius:16px; background:var(--panel); color:var(--muted); text-align:center; font-size:14px; }
.site-header .header-controls #language.language { background-image:none; padding-inline:10px; text-align:center; }
.office-calendar .week-nav .week-arrow { width:auto; min-width:0; height:auto; min-height:42px; padding:9px 12px; font-size:12px; white-space:normal; }
@media(min-width:1600px) { body { font-size:17px; } .site-header .primary-nav { font-size:14px; gap:26px; } .site-header .primary-nav .nav-create { font-size:14px; padding:12px 20px; } }
@media(max-width:900px) { .homepage-main { grid-template-columns:1fr; gap:32px; } .homepage-action-card { max-width:none; } }
@media(max-width:650px) { .partner-image-reservations { grid-template-columns:1fr; } .homepage-title { font-size:clamp(42px,10vw,66px); } .homepage-privacy { font-size:13px; margin-block:28px 36px; } .homepage-counter { justify-content:flex-start; } .wrap { padding-inline:20px; } }

.office-calendar .week-nav { flex-wrap:wrap; }
