/* DedSafe cookie notice: a calm card at the bottom of the screen. Big, clear buttons;
   "Essential cookies only" is exactly as easy to press as "Yes". */
.ds-ck { position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483600; padding: 0 16px 16px; pointer-events: none; font-family: inherit; }
.ds-ck__card { pointer-events: auto; max-width: 720px; margin: 0 auto; background: #ffffff; color: #193c46; border: 2px solid #0e4251; border-radius: 18px; padding: 22px 24px 18px; box-shadow: 0 18px 50px rgba(14, 66, 81, .3); max-height: calc(100vh - 32px); overflow-y: auto; }
.ds-ck__h { margin: 0 0 .4rem; font-family: var(--serif, var(--ds-font-head, Georgia, serif)); font-size: 1.6rem; font-weight: 700; color: #0e4251; line-height: 1.15; }
.ds-ck__p { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.55; }
.ds-ck__btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ds-ck__btns[hidden], .ds-ck__panel[hidden] { display: none; }
.ds-ck__btn { flex: 1 1 200px; min-height: 52px; border-radius: 12px; font-family: inherit; font-weight: 700; font-size: 1.05rem; line-height: 1.2; padding: 12px 18px; cursor: pointer; border: 2px solid #0e4251; }
.ds-ck__btn--yes, .ds-ck__btn--no { background: #0e4251; color: #fff; }
.ds-ck__btn:hover { background: #0b3540; }
.ds-ck__btn:focus-visible, .ds-ck__link:focus-visible, .ds-ck__sw input:focus-visible + span { outline: 3px solid #e8aa6f; outline-offset: 3px; }
.ds-ck__link { flex: 1 1 100%; background: none; border: 0; padding: 6px 0; color: #0e4251; font-family: inherit; font-weight: 700; font-size: 1rem; line-height: 1.2; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ds-ck__later { margin: .8rem 0 0; font-size: .9rem; color: #486673; }
.ds-ck__ph { margin: 0 0 .6rem; font-size: 1.15rem; color: #0e4251; }
.ds-ck__row { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 12px 0; border-top: 1px solid #cbd1c5; }
.ds-ck__row p { margin: .2rem 0 0; font-size: .95rem; color: #486673; line-height: 1.45; }
.ds-ck__row strong { font-size: 1.02rem; }
.ds-ck__always { flex: none; font-weight: 700; color: #4b6b4d; background: #e7efe3; border-radius: 999px; padding: 6px 12px; font-size: .9rem; }
.ds-ck__panel .ds-ck__btn { width: 100%; margin-top: 12px; }
.ds-ck__sw { flex: none; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; position: relative; }
.ds-ck__sw input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ds-ck__sw span { width: 54px; height: 30px; border-radius: 999px; background: #b9c2c5; position: relative; transition: background .2s; }
.ds-ck__sw span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.ds-ck__sw input:checked + span { background: #0e4251; }
.ds-ck__sw input:checked + span::after { transform: translateX(24px); }
.ds-ck__sw em { font-style: normal; font-weight: 700; min-width: 2.2em; }
.ds-ck__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ds-cookie-link { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 520px) { .ds-ck { padding: 0 8px 8px; } .ds-ck__card { padding: 18px 16px 14px; } .ds-ck__h { font-size: 1.4rem; } .ds-ck__btn { flex-basis: 100%; } }
@media print { .ds-ck { display: none; } }
@media (prefers-reduced-motion: reduce) { .ds-ck__sw span, .ds-ck__sw span::after { transition: none; } }
