/*
 * Criamor — legal and content: footer legal details, cookie notice, institutional/legal pages and the customer
 * privacy page. Tokens only (--cm-*). Loaded on every store page by _Layout.
 */

/* ---------- Footer additions ---------- */
.cm-footer__contacts { display: flex; flex-direction: column; list-style: none; padding: 0; }
.cm-footer__contacts a {
  min-height: var(--cm-hit);
  display: inline-flex;
  align-items: center;
  color: var(--cm-text);
  font-size: var(--cm-fs-small);
}
.cm-footer__ral { max-width: 260px; font-size: 13px; line-height: 1.55; color: var(--cm-text-2); }
.cm-footer__ral a { color: var(--cm-text); }

/* ---------- Cookie notice (non-modal, bottom of the viewport) ---------- */
.cm-cookie-notice {
  position: sticky;
  bottom: 0;
  z-index: 900;
  border-top: 1px solid var(--cm-line-field);
  background: var(--cm-surface);
  box-shadow: var(--cm-shadow-md);
}
.cm-cookie-notice__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--cm-space-3) var(--cm-space-6);
  padding-block: var(--cm-space-4);
}
.cm-cookie-notice__text { flex: 1 1 320px; display: flex; flex-direction: column; gap: var(--cm-space-1); }
.cm-cookie-notice__title { font-family: var(--cm-font-body); font-size: var(--cm-fs-small); font-weight: 700; }
.cm-cookie-notice__text p { font-size: var(--cm-fs-small); line-height: 1.55; color: var(--cm-text-2); }
.cm-cookie-notice__text a { color: var(--cm-text); }

/* ---------- Content pages (/about, /terms, …) ---------- */
.cm-content {
  max-width: 820px;
  display: flex;
  flex-direction: column;
  gap: var(--cm-space-6);
  padding-top: var(--cm-space-6);
}
.cm-content__title { font-family: var(--cm-font-display); font-size: var(--cm-fs-h1); line-height: 1.15; }
.cm-content__panel {
  display: flex;
  flex-direction: column;
  gap: var(--cm-space-4);
  padding: var(--cm-space-6);
  border: 1px solid var(--cm-line);
  border-radius: var(--cm-radius-panel);
  background: var(--cm-surface);
}
.cm-content__panel h2 { font-family: var(--cm-font-display); font-size: var(--cm-fs-h3); }
.cm-content__facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--cm-space-1) var(--cm-space-6); margin: 0; }
.cm-content__facts dt { font-weight: 700; font-size: var(--cm-fs-small); }
.cm-content__facts dd { margin: 0 0 var(--cm-space-3); }
.cm-content__facts address { font-style: normal; }
.cm-content__updated { font-size: 13px; color: var(--cm-text-2); }
.cm-content__table-wrap { overflow-x: auto; }
.cm-content__table { width: 100%; border-collapse: collapse; font-size: var(--cm-fs-small); }
.cm-content__table th,
.cm-content__table td { padding: var(--cm-space-2) var(--cm-space-3); border-bottom: 1px solid var(--cm-line); text-align: left; vertical-align: top; }
.cm-content__table thead th { font-weight: 700; }
.cm-content__table code { white-space: normal; overflow-wrap: anywhere; }

@media (min-width: 48em) {
  .cm-content__facts { grid-template-columns: 180px minmax(0, 1fr); }
  .cm-content__facts dd { margin-bottom: var(--cm-space-2); }
}

/* Sanitised rich text (headings, paragraphs, lists, links) */
.cm-prose { display: flex; flex-direction: column; gap: var(--cm-space-4); line-height: 1.7; }
.cm-prose h2 { margin-top: var(--cm-space-4); font-family: var(--cm-font-display); font-size: var(--cm-fs-h2); line-height: 1.25; scroll-margin-top: var(--cm-space-4); }
.cm-prose h3 { margin-top: var(--cm-space-2); font-size: var(--cm-fs-h3); line-height: 1.3; scroll-margin-top: var(--cm-space-4); }
.cm-prose ul,
.cm-prose ol { margin: 0; padding-left: var(--cm-space-6); display: flex; flex-direction: column; gap: var(--cm-space-2); }
.cm-prose a { color: var(--cm-link); }
.cm-prose a:hover { color: var(--cm-link-hover); }

/* ---------- Customer privacy page (/account/privacy) ---------- */
.cm-privacy { max-width: 720px; display: flex; flex-direction: column; gap: var(--cm-space-6); padding-top: var(--cm-space-6); }
.cm-privacy__title { font-family: var(--cm-font-display); font-size: var(--cm-fs-h1); line-height: 1.15; }
.cm-privacy__form { display: flex; flex-direction: column; gap: var(--cm-space-4); }
.cm-privacy__danger { border-color: var(--cm-danger); }
.cm-status {
  display: flex;
  align-items: center;
  gap: var(--cm-space-3);
  padding: 14px var(--cm-space-4);
  border-radius: 10px;
  background: var(--cm-status-delivered-bg);
  color: var(--cm-status-delivered);
}

/* Turnstile widget (only rendered when configured) */
.cm-turnstile { min-height: 65px; }
