/* Shared additions for all pages (loaded after the page styles). */
[hidden]{display:none!important}

/* Respect "reduce motion" everywhere, also for animations without their own rule. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Content pages built by the build script (Kontakt, Sicherheit, 404) */
.cx-sec{font-family:Inter,sans-serif;color:#1c1641;max-width:800px;margin:0 auto;padding:56px 24px 104px;box-sizing:content-box}
.cx-sec h2{font-family:Urbanist,sans-serif;font-weight:500;font-size:28px;line-height:36px;margin:48px 0 12px}
.cx-sec h2:first-child{margin-top:0}
.cx-sec p,.cx-sec li{font-size:15px;line-height:25px;color:#4a4566}
.cx-sec p{margin:0 0 12px}
.cx-sec ul{margin:14px 0 22px;padding-left:24px}
.cx-sec li{margin:0 0 10px;padding-left:6px}
.cx-sec li::marker{color:#2a9aa4}
.cx-sec a{color:#2a9aa4;text-decoration:none}
.cx-sec a:hover{text-decoration:underline}
.cx-meta{font-size:13px!important;color:#8a86a0!important}
.cx-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start}
.cx-card{background:#fff;border:1px solid #ebe7f1;border-radius:20px;padding:28px}
.cx-card h2{margin-top:0}
.cx-aside p{margin:0 0 6px}
.cx-aside .cx-k{font-size:13px;color:#8a86a0;margin-top:18px}
.cx-aside .cx-k:first-child{margin-top:0}
.cx-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.cx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;font:600 15px Inter,sans-serif;text-decoration:none!important;cursor:pointer;border:1px solid #1c1641;background:#1c1641;color:#fff!important}
.cx-btn.cx-ghost{background:#fff;color:#1c1641!important;border-color:#e2ddeb}
.cx-btn:hover{opacity:.92}
.cx-btn[disabled]{opacity:.6;cursor:wait}

/* Forms */
.cx-form{display:grid;gap:16px}
.cx-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cx-field{display:grid;gap:6px}
.cx-field label{font-size:13px;font-weight:600;color:#1c1641}
.cx-field input,.cx-field select,.cx-field textarea{font:15px/22px Inter,sans-serif;color:#1c1641;background:#f7f5fa;border:1px solid #ebe7f1;border-radius:12px;padding:12px 14px;width:100%;box-sizing:border-box}
.cx-field textarea{min-height:140px;resize:vertical}
.cx-field input:focus,.cx-field select:focus,.cx-field textarea:focus{outline:2px solid #2a9aa4;outline-offset:1px;background:#fff}
.cx-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:21px;color:#4a4566}
.cx-check input{margin-top:3px;width:18px;height:18px;accent-color:#1c1641;flex-shrink:0}
.cx-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.cx-note{font-size:13px!important;line-height:20px!important;color:#8a86a0!important}
.cx-error{color:#b42318!important;font-size:14px!important}
.cx-ok{border:1px solid #bfe7ea;background:#e6f6f9;border-radius:16px;padding:22px}
.cx-ok b{display:block;font:500 22px/28px Urbanist,sans-serif;color:#1c1641;margin-bottom:6px}
.cx-ok p{margin:0}
.cx-inline{display:flex;gap:10px;flex-wrap:wrap}
.cx-inline input{flex:1 1 220px}

@media (max-width:767px){
  .cx-sec{padding:40px 20px 72px}
  .cx-grid,.cx-row{grid-template-columns:minmax(0,1fr)}
  .cx-card{padding:22px}
}
.cx-inline input{font:15px/22px Inter,sans-serif;color:#1c1641;background:#f7f5fa;border:1px solid #ebe7f1;border-radius:12px;padding:12px 14px;box-sizing:border-box;min-width:0}
.cx-inline input:focus{outline:2px solid #2a9aa4;outline-offset:1px;background:#fff}

/* Brand rule: "chainstaff" stays lowercase, also inside uppercase labels */
.cs-brand{text-transform:none!important;letter-spacing:.2px}

/* Cookie banner (only shown when a tracking tool is configured in src/config.mjs) */
.ck{position:fixed;z-index:9999;left:16px;bottom:16px;width:min(440px,calc(100% - 32px));box-sizing:border-box;background:#fff;color:#1c1641;border:1px solid #ebe7f1;border-radius:20px;box-shadow:0 18px 50px rgba(28,22,65,.16);padding:20px;font:14px/21px Inter,sans-serif}
.ck-t{margin:0 0 6px;font:500 18px/24px Urbanist,sans-serif}
.ck-p{margin:0 0 14px;color:#4a4566}
.ck-p a{color:#2a9aa4;text-decoration:none}
.ck-set{display:grid;gap:10px;margin:0 0 14px}
.ck-row{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;background:#f7f5fa;border-radius:12px;padding:10px 12px;cursor:pointer}
.ck-row b{display:block;font-weight:600;font-size:14px}
.ck-row small{display:block;color:#6e6a85;font-size:12.5px;line-height:18px}
.ck-row input{width:18px;height:18px;margin-top:2px;accent-color:#1c1641;flex-shrink:0}
.ck-b{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ck-btn{flex:1 1 140px;min-height:42px;border-radius:999px;border:1px solid #1c1641;background:#1c1641;color:#fff;font:600 14px Inter,sans-serif;cursor:pointer;padding:0 14px}
.ck-link{border:0;background:none;color:#1c1641;font:500 13px Inter,sans-serif;text-decoration:underline;cursor:pointer;padding:6px 2px}
.ck-btn:focus-visible,.ck-link:focus-visible{outline:2px solid #2a9aa4;outline-offset:2px}
@media (max-width:480px){.ck{left:8px;bottom:8px;width:calc(100% - 16px);padding:16px}}
