/* Yumemira consent choice (js/consent.js). OWNER: PRIVACY. The site's own tokens (css/base.css); no divider lines.
   A very small card in the bottom corner. It never blocks the page: no backdrop, no scroll lock, the page stays usable.
   Reject and Accept are the same button: same size, same colour, same weight. */
.ymc {
  position: fixed; z-index: 95;
  right: max(14px, env(safe-area-inset-right, 0px)); bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  width: auto; max-width: min(430px, calc(100vw - 20px));
  display: flex; align-items: center; gap: 10px;
  margin: 0; padding: 7px 7px 7px 13px;
  background: #0F1A2B; border-radius: 12px;
  box-shadow: 0 6px 22px rgba(15, 26, 43, .28);
  font-family: "Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;
  animation: ymc-in .28s var(--ease, ease) both;
}
.ymc[hidden] { display: none; }
.ymc:focus { outline: none; }
.ymc:focus-visible { outline: 2px solid #8CC8FF; outline-offset: 3px; }
.ymc-text { margin: 0; flex: 1 1 auto; min-width: 0; font-size: 12px; line-height: 1.35; font-weight: 400; color: #E8EDF5; text-wrap: pretty; }
.ymc-link { color: #9CD0FF; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; white-space: nowrap; border-radius: 4px; }
.ymc-acts { display: flex; flex: 0 0 auto; gap: 6px; }
.ymc-btn {
  appearance: none; -webkit-appearance: none; margin: 0; border: 0; cursor: pointer; position: relative;
  min-height: 30px; min-width: 64px; padding: 0 11px; border-radius: 8px;
  background: rgba(255, 255, 255, .14); color: #fff;
  font: 500 12px/1.2 "Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .16s var(--ease, ease), transform .16s var(--ease, ease);
}
.ymc-btn::after { content: ""; position: absolute; inset: -7px -3px; }
.ymc-btn[hidden] { display: none; }
@media (hover: hover) { .ymc-btn:hover { background: rgba(255, 255, 255, .24); } }
.ymc-btn:active { transform: scale(.97); }
.ymc-btn:focus-visible { outline: 2px solid #8CC8FF; outline-offset: 2px; }
.ymc-btn[aria-pressed="true"]::before { content: "\2713\00a0"; }
@keyframes ymc-in { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 599.98px) {
  .ymc { left: max(10px, env(safe-area-inset-left, 0px)); right: max(10px, env(safe-area-inset-right, 0px)); bottom: calc(10px + env(safe-area-inset-bottom, 0px)); max-width: none; padding: 6px 6px 6px 11px; gap: 8px; }
  .ymc-text { font-size: 11.5px; }
  .ymc-btn { min-height: 32px; padding: 0 10px; }
  html[data-consent-banner] body { padding-bottom: calc(var(--ymc-h, 0px) + 20px); }
  html[data-consent-banner] .ymg-tz { bottom: calc(var(--ymc-h, 0px) + 20px + env(safe-area-inset-bottom, 0px)); }
}
/* Article pages on wide screens: the card lives in the empty right gutter so it never covers article lines.
   The article column is 700px + 2 x --gutter, centred (css/article.desktop.css .art-layout, >= 1280px; the left gutter holds the contents rail).
   The card takes the right gutter minus 28px of air (14px off the column, 14px off the screen edge), at most 340px, text above the buttons. */
@media (min-width: 1280px) {
  html:has(.art-layout) .ymc {
    width: min(340px, calc((100% - 700px - var(--gutter, 24px) * 2) / 2 - 28px)); max-width: none;
    flex-direction: column; align-items: stretch; gap: 8px; padding: 11px 9px 9px 13px;
  }
  html:has(.art-layout) .ymc-acts { justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) { .ymc { animation: none; } .ymc-btn { transition: none; } }
@media print { .ymc { display: none; } }

/* ---- footer: "Cookie settings" is a button that looks like the links around it ---- */
.site-footer button[data-consent-open] { appearance: none; -webkit-appearance: none; margin: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; text-align: left; }
.site-footer .v-desktop .foot-d-legal button[data-consent-open] { border-radius: 4px; text-decoration: underline; text-decoration-color: var(--edge-strong); text-underline-offset: 3px; }
@media (hover: hover) { .site-footer .v-desktop .foot-d-legal button[data-consent-open]:hover { color: var(--accent-edge); } }
.site-footer .v-mobile .ft-m-nav button[data-consent-open] {
  display: flex; align-items: center; width: calc(100% + 16px); min-height: 44px; margin: 0 -8px; padding: 0 8px; border-radius: 10px;
  font-size: 15px; font-weight: 400; line-height: 1.3; color: var(--body); -webkit-tap-highlight-color: transparent;
}
.site-footer .v-mobile .ft-m-nav button[data-consent-open]:active { background-color: var(--soft); }
.site-footer .v-mobile .ft-m-nav button[data-consent-open]:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

/* ---- privacy page: lists and the "what is kept" cards (cards, never ruled tables) ---- */
.doc-body ul.doc-list { margin: 0 0 14px; padding: 0 0 0 22px; }
.doc-body ul.doc-list li { font-size: 17px; line-height: 1.7; color: var(--body); margin: 0 0 6px; }
.doc-body ul.doc-list li::marker { color: var(--logo); }
.ck-list { display: grid; gap: 14px; margin: 18px 0 22px; padding: 0; list-style: none; }
.ck { margin: 0; padding: 18px 22px 16px; border-radius: 22px; background: #EEF7FE; }
.ck:nth-child(4n+2) { background: #FFF8E8; }
.ck:nth-child(4n+3) { background: #EDF8F2; }
.ck:nth-child(4n+4) { background: #FFF2EF; }
.doc-body .ck-name { margin: 0 0 4px; font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--ink); }
.doc-body .ck-name code { font: 500 14px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--secondary); margin-left: 6px; overflow-wrap: anywhere; }
.doc-body .ck p { margin: 0 0 6px; font-size: 16px; line-height: 1.6; }
.doc-body .ck-meta { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.doc-body .ck-meta li { margin: 0; padding: 4px 11px; border-radius: 999px; background: rgba(255, 255, 255, .78); font-size: 13.5px; line-height: 1.45; font-weight: 500; color: var(--body); }
.doc-body .ck-choice { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 6px 0 20px; }
.doc-body .ck-choice p { margin: 0; }
.doc-body .ck-btn {
  appearance: none; -webkit-appearance: none; border: 0; cursor: pointer; min-height: 44px; padding: 0 18px; border-radius: var(--r-button);
  background: var(--tint); color: var(--accent-edge); font: 500 15.5px/1.2 "Lexend", system-ui, sans-serif; box-shadow: inset 0 -1px 0 var(--tint-line);
  transition: background-color .16s var(--ease);
}
@media (hover: hover) { .doc-body .ck-btn:hover { background: var(--sky-1); } }
@media (max-width: 599.98px) { .ck { padding: 16px 16px 14px; border-radius: 18px; } }
