/* CU Engine WordPress: block style variants beyond the static site's own (cu.css is copied unchanged).
   Only the brand palette, through the site's own variables. */

/* page colours (Page settings) */
body[data-tint="sand"] .sheet { --page-bg: var(--sand); }
body[data-tint="white"] .sheet { --page-bg: var(--white); }

/* media panels: mist is the base colour; sand added */
.media--mist { background: var(--mist); }
.media--sand { background: var(--sand); }
.media--sand .media__arc { color: var(--peach-2); }

/* Engine Room / contact details panels */
.panel--peach { background: var(--peach); }
.panel--mist { background: var(--mist); }
.panel--sand .panel__arc, .panel--white .panel__arc,
.panel--peach .panel__arc, .panel--mist .panel__arc { color: rgba(8, 27, 58, .06); }
.panel--sand .signup__group, .panel--peach .signup__group, .panel--mist .signup__group { background: #fff; }

/* media panel (pricing) in lighter colours */
.mediapanel--peach { background: var(--peach); }
.mediapanel--mist { background: var(--mist); }
.mediapanel--sand { background: var(--sand); }
.mediapanel--peach .mediapanel__arc, .mediapanel--mist .mediapanel__arc,
.mediapanel--sand .mediapanel__arc { color: rgba(8, 27, 58, .06); }
.mediapanel--peach .mediapanel__ghost use, .mediapanel--mist .mediapanel__ghost use,
.mediapanel--sand .mediapanel__ghost use { fill: var(--navy); }
.mediapanel > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Engine Room archive and blog lists (templates only, no static equivalent) */
.list { display: grid; gap: var(--gap); }
@media (min-width: 768px) { .list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.list a { color: inherit; text-decoration: none; }
.list .card:hover .h-card { text-decoration: underline; text-underline-offset: .15em; }
.meta { font-size: 15px; color: var(--ink-mute); }
.empty { max-width: 46ch; }
.entry { max-width: 760px; }
.entry > * + * { margin-top: 1.1em; }

/* forms: busy states while the server answers (buttons keep their size) */
.btn:disabled { cursor: progress; }
.btn.is-busy { position: relative; }
.btn.is-busy > span { visibility: hidden; }
.btn.is-busy::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px;
  border-radius: 50%; border: 3px solid rgba(255, 255, 255, .28); border-top-color: #fff;
  animation: spin .8s linear infinite;
}
.formcard__status.is-error, .signup__note.is-error { color: var(--orange-text); }
