/* Site navigation (partials/navbar.html). All classes are prefixed with sn- so the
   page styles (bootstrap, style.css, home.css) and the bar don't affect each other. */
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url("../fonts/manrope-latin-ext-wght-normal.91e6441f12d2.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url("../fonts/manrope-latin-wght-normal.fc03edc2c673.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

.sn-shell{position:fixed;top:0;left:0;right:0;z-index:9999;padding:12px 0;pointer-events:none;font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.4;-webkit-font-smoothing:antialiased;color:#1F1B16}
.sn-shell *,.sn-shell *::before,.sn-shell *::after{box-sizing:border-box}
.sn-shell a,.sn-shell a:hover{text-decoration:none}
.sn{position:relative;max-width:1236px;margin:0 auto;padding:0 18px;pointer-events:auto}

/* Bar */
.sn-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 10px;border-radius:999px;background:rgba(255,255,255,.84);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);border:1px solid rgba(224,215,207,.75);box-shadow:0 1px 0 rgba(47,39,34,.03),0 10px 30px rgba(47,39,34,.07);transition:box-shadow .35s ease,background .35s ease}
.sn-scrolled .sn-bar{background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(47,39,34,.04),0 16px 40px rgba(47,39,34,.13)}
.sn-brand{display:flex;align-items:center;gap:12px;min-width:0;padding-right:6px;color:#1F1B16}
.sn-brand:hover{color:#1F1B16}
.sn-logo{width:48px;height:48px;border-radius:50%;object-fit:contain;background:#fff;box-shadow:0 0 0 1px #EDE7DF,0 4px 12px rgba(47,39,34,.08);transition:transform .5s cubic-bezier(.2,.7,.2,1);flex:none}
.sn-brand:hover .sn-logo{transform:rotate(-8deg) scale(1.05)}
.sn-name{font-size:17px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.sn-ev{color:#9F8B72}

/* Links track with the gliding highlight */
.sn-links{position:relative;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:#F3EEE8}
.sn-item{position:relative}
.sn-link{position:relative;z-index:1;display:flex;align-items:center;gap:6px;margin:0;padding:10px 16px;border:0;border-radius:999px;background:transparent;font:inherit;font-size:14.5px;font-weight:700;color:#5E5246;white-space:nowrap;cursor:pointer;transition:color .25s ease}
.sn-link:hover,.sn-link:focus-visible,.sn-item.sn-open .sn-link,.sn-link.sn-active{color:#1F1B16}
.sn-link:focus-visible,.sn-drop a:focus-visible,.sn-cta:focus-visible,.sn-menu:focus-visible,.sn-brand:focus-visible,.sn-group summary:focus-visible,.sn-row:focus-visible,.sn-sub a:focus-visible{outline:3px solid rgba(78,90,46,.45);outline-offset:2px}
.sn-chev{opacity:.55;transition:transform .3s ease,opacity .2s ease}
.sn-item.sn-open .sn-chev{transform:rotate(180deg);opacity:1}
.sn-glide{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:999px;background:#fff;box-shadow:0 2px 10px rgba(47,39,34,.10);opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),width .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease;pointer-events:none}

/* Dropdown cards */
.sn-drop{position:absolute;top:calc(100% + 16px);left:50%;min-width:240px;padding:8px;border-radius:22px;background:#fff;border:1px solid #EDE7DF;box-shadow:0 24px 50px rgba(47,39,34,.16);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .28s}
.sn-drop::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.sn-item.sn-open .sn-drop{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s}
.sn-drop a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:14px;font-size:14.5px;font-weight:700;color:#1F1B16;white-space:nowrap;transition:background .2s ease,color .2s ease}
.sn-drop a::after{content:"";width:14px;height:14px;flex:none;opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .25s ease;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E5A2E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.sn-drop a:hover,.sn-drop a:focus-visible,.sn-drop a.sn-active{background:#F3EEE8;color:#1F1B16}
.sn-drop a:hover::after,.sn-drop a:focus-visible::after{opacity:1;transform:none}

/* Spenden button */
.sn-actions{display:flex;align-items:center;gap:8px;flex:none}
.sn-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;height:48px;padding:0 6px 0 22px;border-radius:999px;background:#4E5A2E;color:#fff;font-size:15px;font-weight:800;transition:background .25s ease,box-shadow .25s ease}
.sn-cta:hover,.sn-cta:focus-visible{background:#3B4522;color:#fff;box-shadow:0 10px 24px rgba(78,90,46,.28)}
.sn-shell .sn-cta{color:#fff}
.sn-cta-ic{width:36px;height:36px;border-radius:50%;background:#fff;color:#4E5A2E;display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.sn-cta:hover .sn-cta-ic{transform:rotate(-45deg)}

/* Menu button: two lines that turn into an X */
.sn-menu{display:none;position:relative;width:48px;height:48px;margin:0;border-radius:50%;border:0;background:#F3EEE8;cursor:pointer;padding:0;transition:background .25s ease;flex:none}
.sn-menu:hover{background:#E9E1D7}
.sn-menu-l{position:absolute;left:15px;right:15px;height:2px;border-radius:2px;background:#1F1B16;transition:transform .35s cubic-bezier(.2,.8,.2,1),top .35s cubic-bezier(.2,.8,.2,1)}
.sn-menu-l:first-child{top:19px}
.sn-menu-l:last-child{top:27px}
.sn-menu-open .sn-menu{background:#1F1B16}
.sn-menu-open .sn-menu-l{background:#fff;top:23px}
.sn-menu-open .sn-menu-l:first-child{transform:rotate(45deg)}
.sn-menu-open .sn-menu-l:last-child{transform:rotate(-45deg)}

/* Menu card (phones and tablets) */
.sn-sheet{position:absolute;left:18px;right:18px;top:calc(100% + 10px);max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;padding:10px;border-radius:28px;background:#fff;border:1px solid #EDE7DF;box-shadow:0 30px 60px rgba(47,39,34,.18);animation:sn-sheet .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes sn-sheet{from{opacity:0;transform:translate3d(0,-8px,0)}to{opacity:1;transform:none}}
.sn-sheet-links{display:flex;flex-direction:column}
.sn-group,.sn-row{animation:sn-row .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 45ms + 60ms)}
@keyframes sn-row{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sn-group summary,.sn-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 12px 14px 18px;border-radius:18px;font-size:20px;font-weight:800;letter-spacing:-.02em;color:#1F1B16;cursor:pointer;list-style:none;transition:background .2s ease}
.sn-group summary::-webkit-details-marker{display:none}
.sn-group summary:hover,.sn-row:hover,.sn-group[open] summary{background:#F3EEE8;color:#1F1B16}
.sn-plus,.sn-go{position:relative;width:36px;height:36px;border-radius:50%;background:#F3EEE8;display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s ease,transform .3s ease}
.sn-group summary:hover .sn-plus,.sn-group[open] .sn-plus{background:#fff}
.sn-plus::before,.sn-plus::after{content:"";position:absolute;left:11px;right:11px;top:17px;height:2px;border-radius:2px;background:#1F1B16;transition:transform .3s ease}
.sn-plus::after{transform:rotate(90deg)}
.sn-group[open] .sn-plus::after{transform:rotate(0)}
.sn-row:hover .sn-go{background:#4E5A2E;color:#fff;transform:translateX(2px)}
.sn-sub{display:flex;flex-direction:column;padding:4px 8px 10px 18px}
.sn-sub a{padding:11px 12px;border-radius:12px;font-size:16px;font-weight:700;color:#5E5246;transition:background .2s ease,color .2s ease}
.sn-sub a:hover,.sn-sub a.sn-active{background:#F8F4EF;color:#1F1B16}
.sn-sheet-cta{display:flex;width:100%;height:56px;margin-top:8px;font-size:16px}
.sn-soc{display:flex;justify-content:center;gap:10px;padding:14px 0 6px}
.sn-soc a{width:44px;height:44px;border-radius:50%;border:1.5px solid #EDE7DF;color:#1F1B16;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease,border-color .2s ease}
.sn-soc a:hover{background:#1F1B16;color:#fff;border-color:#1F1B16}

/* Space for the fixed bar on the homepage (other pages already leave room for a fixed header) */
.sn-spacer{height:96px}

@media (max-width:1180px){.sn-link{padding:10px 12px;font-size:14px}.sn-name{font-size:16px}}
@media (max-width:1060px){.sn-name{display:none}}
@media (max-width:960px){.sn-links{display:none}.sn-menu{display:block}.sn-name{display:inline}}
@media (min-width:961px){.sn-sheet{display:none!important}}
@media (min-width:641px) and (max-width:960px){.sn-sheet{left:auto;width:420px}}
@media (max-width:640px){.sn-shell{padding:10px 0}.sn{padding:0 12px}.sn-bar{padding:6px}.sn-actions .sn-cta{display:none}.sn-logo{width:54px;height:54px}.sn-name{font-size:16px}.sn-sheet{left:12px;right:12px}.sn-spacer{height:90px}}
@media (max-width:359px){.sn-name{font-size:14px}}
@media (prefers-reduced-motion:reduce){.sn-sheet,.sn-group,.sn-row{animation:none}.sn-drop,.sn-glide{transition:none}}
