/*
 * R22-D — trust note, R22 content pages (legal, academy, agency), partner form, projects captions.
 * Dark theme tokens from tokens.css / design.css (fallbacks for pages without them).
 */

/* Trust note ---------------------------------------------------------------- */
.dmv-trust { margin: 16px 0; font-size: 14px; line-height: 1.8; }
.dmv-trust__box { background: var(--dmv-surface, #16171a); border: 1px solid var(--dmv-border, #2a2c31); border-radius: var(--dmv-radius-sm, 10px); }
.dmv-trust__sum { cursor: pointer; list-style: none; padding: 10px 14px; font-weight: 700; color: var(--dmv-white, #fff); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dmv-trust__sum::-webkit-details-marker { display: none; }
.dmv-trust__sum::after { content: ""; width: 8px; height: 8px; border-inline-end: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; margin-inline-start: 4px; }
.dmv-trust__box[open] .dmv-trust__sum::after { transform: rotate(-135deg); }
.dmv-trust__list { list-style: none; margin: 0; padding: 0 14px 12px; display: grid; gap: 8px; }
.dmv-trust__row { display: flex; align-items: flex-start; gap: 10px; color: var(--dmv-text, #d5d7db); margin: 0; }
.dmv-trust__ico { flex: none; color: var(--dmv-accent, #c9a45c); margin-top: 2px; }
.dmv-trust__txt strong { color: var(--dmv-white, #fff); margin-inline-end: 4px; }
.dmv-trust__link { color: var(--dmv-accent, #c9a45c); text-decoration: underline; text-underline-offset: 3px; }

/* R22 content pages ---------------------------------------------------------- */
.dmv-r22 { padding-block: 32px 56px; }
.dmv-r22__wrap { max-width: 820px; margin-inline: auto; }
.dmv-r22 .dmv-prose { line-height: 2; }
.dmv-r22 .dmv-prose h2 { font-size: 21px; margin: 32px 0 10px; color: var(--dmv-white, #fff); }
.dmv-r22 .dmv-prose h3 { font-size: 17px; margin: 22px 0 8px; color: var(--dmv-white, #fff); }
.dmv-r22 .dmv-prose p { margin: 0 0 12px; }
.dmv-r22 .dmv-prose ul, .dmv-r22 .dmv-prose ol { margin: 0 0 14px; padding-inline-start: 22px; }
.dmv-r22 .dmv-prose li { margin-bottom: 6px; }
.dmv-r22 .dmv-prose li::marker { color: var(--dmv-accent, #c9a45c); }
.dmv-r22 .dmv-prose a { color: var(--dmv-accent, #c9a45c); text-decoration: underline; text-underline-offset: 3px; }
.dmv-r22 .dmv-prose .wp-block-table { margin: 0 0 16px; overflow-x: auto; }
.dmv-r22 .dmv-prose table { width: 100%; border-collapse: collapse; margin: 0; font-size: 14.5px; }
.dmv-r22 .dmv-prose th, .dmv-r22 .dmv-prose td { border: 1px solid var(--dmv-border, #2a2c31); padding: 8px 10px; text-align: start; vertical-align: top; }
.dmv-r22 .dmv-prose th { background: var(--dmv-surface-2, #1d1f23); color: var(--dmv-white, #fff); }
.dmv-r22 .dmv-prose .dmv-r22-updated, .dmv-r22-updated { margin-top: 28px; padding-top: 12px; border-top: 1px solid var(--dmv-border, #2a2c31); color: var(--dmv-muted, #9a9ea6); font-size: 13.5px; }
.dmv-r22 .dmv-prose .dmv-r22-box { background: var(--dmv-surface, #16171a); border: 1px solid var(--dmv-border, #2a2c31); border-inline-start: 3px solid var(--dmv-accent, #c9a45c); border-radius: var(--dmv-radius-sm, 10px); padding: 12px 16px; margin: 0 0 18px; }
.dmv-r22 .dmv-prose .dmv-r22-toc { background: var(--dmv-surface, #16171a); border: 1px solid var(--dmv-border, #2a2c31); border-radius: var(--dmv-radius-sm, 10px); padding: 12px 16px 6px; margin: 0 0 24px; }
.dmv-r22__meta { color: var(--dmv-muted, #9a9ea6); font-size: 14px; margin: 0 0 18px; }
.dmv-r22__back { margin-top: 28px; }

/* Academy list --------------------------------------------------------------- */
.dmv-academy { list-style: none; margin: 8px 0 24px; padding: 0 !important; display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 700px) { .dmv-academy { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dmv-academy__item { margin: 0 !important; }
.dmv-r22 .dmv-prose .dmv-academy { margin: 8px 0 32px; }
.dmv-academy__card { box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 16px 18px; background: var(--dmv-surface, #16171a); border: 1px solid var(--dmv-border, #2a2c31); border-radius: var(--dmv-radius, 14px); text-decoration: none !important; transition: border-color .2s; }
.dmv-academy__card:hover, .dmv-academy__card:focus-visible { border-color: var(--dmv-accent, #c9a45c); }
.dmv-academy__title { color: var(--dmv-white, #fff); font-weight: 800; font-size: 17px; line-height: 1.7; }
.dmv-academy__excerpt { color: var(--dmv-text, #d5d7db); font-size: 14px; line-height: 1.9; }
.dmv-academy__more { color: var(--dmv-accent, #c9a45c); font-weight: 700; font-size: 14px; margin-top: auto; }
.dmv-academy-empty { color: var(--dmv-muted, #9a9ea6); }

/* Partner form --------------------------------------------------------------- */
.dmv-pform { position: relative; background: var(--dmv-surface, #16171a); border: 1px solid var(--dmv-border, #2a2c31); border-radius: var(--dmv-radius, 14px); padding: 18px; margin: 8px 0 24px; }
.dmv-pform__title { margin: 0 0 4px !important; font-size: 19px !important; }
.dmv-pform__lead { margin: 0 0 14px !important; color: var(--dmv-muted, #9a9ea6); font-size: 14px; }
.dmv-pform__grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 700px) { .dmv-pform__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dmv-pform__f--wide { grid-column: 1 / -1; } }
.dmv-pform__f { display: flex; flex-direction: column; gap: 6px; }
.dmv-pform__f label { font-weight: 700; color: var(--dmv-white, #fff); font-size: 14px; }
.dmv-pform__f .dmv-req { color: var(--dmv-accent, #c9a45c); }
.dmv-pform input[type="text"], .dmv-pform input[type="tel"], .dmv-pform select, .dmv-pform textarea { width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 12px; font: inherit; font-size: 16px; color: var(--dmv-white, #fff); background: var(--dmv-bg, #0b0b0d); border: 1px solid var(--dmv-border-2, #3a3d44); border-radius: var(--dmv-radius-sm, 10px); }
.dmv-pform textarea { min-height: 110px; resize: vertical; }
.dmv-pform input:focus, .dmv-pform select:focus, .dmv-pform textarea:focus { outline: 2px solid var(--dmv-accent, #c9a45c); outline-offset: 1px; }
.dmv-pform__hp { position: absolute !important; top: 0; inset-inline-start: 0; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.dmv-pform__actions { margin-top: 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.dmv-pform__submit { min-height: 46px; padding-inline: 24px; }
.dmv-pform__note { color: var(--dmv-muted, #9a9ea6); font-size: 13px; }
.dmv-pform__msg { border-radius: var(--dmv-radius-sm, 10px); padding: 12px 14px; margin: 0 0 14px; }
.dmv-pform__msg--ok { background: rgba(46, 160, 67, .12); border: 1px solid rgba(46, 160, 67, .55); color: #b7f0c2; }
.dmv-pform__msg--err { background: rgba(214, 69, 65, .12); border: 1px solid rgba(214, 69, 65, .55); color: #ffc9c6; }
.dmv-pform__msg ul { margin: 0; padding-inline-start: 18px; }

/* Projects / applications --------------------------------------------------- */
.dmv-apps .dmv-gallery__item { display: flex; }
.dmv-apps figure { display: flex; flex-direction: column; width: 100%; }
.dmv-apps__cap { flex: 1; display: flex; flex-direction: column; align-items: flex-start !important; gap: 6px !important; }
.dmv-apps__name { color: var(--dmv-white, #fff); font-weight: 800; font-size: 15.5px; }
.dmv-apps__desc { color: var(--dmv-text, #d5d7db); font-size: 14px; line-height: 1.9; margin: 0; }
.dmv-apps__links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 2px; }
.dmv-apps__links a { font-size: 13px; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--dmv-border-2, #3a3d44); color: var(--dmv-accent, #c9a45c); text-decoration: none; }
.dmv-apps__links a:hover { border-color: var(--dmv-accent, #c9a45c); }

/* About page: the two purchase paths --------------------------------------- */
.dmv-about-paths { margin: 0 0 16px; padding-inline-start: 22px; color: #CFD2D6; line-height: 1.9; }
.dmv-about-paths li { margin-bottom: 8px; }
.dmv-about-paths li::marker { color: var(--dmv-accent, #c9a45c); }
