.spoki-express {
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid var(--spoki-border, #e7ded3);
  border-radius: 8px;
  background: var(--spoki-surface, #fff);
}

.spoki-express[hidden] {
  display: none !important;
}

.spoki-express__control {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  margin: 0;
  cursor: pointer;
}

.spoki-express__control input {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  accent-color: var(--spoki-teal, #00838a);
}

.spoki-express__copy {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: var(--spoki-text, #2a2d34);
  font-family: Nunito, sans-serif;
  line-height: 1.45;
}

.spoki-express__copy strong {
  color: var(--spoki-navy, #2e3a67);
  font-size: 15px;
}

.spoki-express__copy span {
  font-size: 13px;
}

.spoki-express__price {
  color: var(--spoki-teal, #00838a);
  font-family: Nunito, sans-serif;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.spoki-express__status {
  min-height: 0;
  margin: 6px 0 0 34px;
  color: var(--spoki-teal, #00838a);
  font-size: 12px;
}

.spoki-express.is-loading {
  opacity: .65;
  pointer-events: none;
}

.spoki-express__control:has(input:focus-visible) {
  outline: 3px solid color-mix(in srgb, var(--spoki-teal, #00838a) 28%, transparent);
  outline-offset: 4px;
}

@media (max-width: 480px) {
  .spoki-express__control {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .spoki-express__price {
    grid-column: 2;
  }
}

/* Standard vs Priority processing choice (replaces the old single .spoki-express
   checkbox above; kept the old rules in place, unused, rather than risk deleting
   something another template still references). */
.spoki-express-choice {
  margin: 14px 0;
  padding: 0;
  border: 0;
  display: grid;
  gap: 10px;
}

.spoki-express-choice__legend {
  font-family: Nunito, sans-serif;
  font-weight: 800;
  font-size: 14px;
  color: var(--spoki-navy, #2e3a67);
  padding: 0;
  margin: 0 0 2px;
}

.spoki-express-choice__card {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px 14px;
  border: 1px solid var(--spoki-border, #e7ded3);
  border-radius: 8px;
  background: var(--spoki-surface, #fff);
  cursor: pointer;
}

.spoki-express-choice__card:has(input:checked) {
  border-color: var(--spoki-teal, #00838a);
}

.spoki-express-choice__card--disabled {
  cursor: default;
  opacity: .6;
}

.spoki-express-choice__card input {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  accent-color: var(--spoki-teal, #00838a);
}

.spoki-express-choice__body {
  display: grid;
  gap: 3px;
  min-width: 0;
  font-family: Nunito, sans-serif;
  line-height: 1.45;
}

.spoki-express-choice__title {
  color: var(--spoki-navy, #2e3a67);
  font-size: 15px;
}

.spoki-express-choice__price {
  color: var(--spoki-teal, #00838a);
  font-size: 13px;
  font-weight: 800;
}

.spoki-express-choice__price--free {
  color: var(--spoki-text, #2a2d34);
  font-weight: 600;
}

.spoki-express-choice__date {
  font-size: 13px;
  color: var(--spoki-text, #2a2d34);
}

.spoki-express-choice__note {
  font-size: 12px;
  color: #6b7280;
}

.spoki-express-choice__status {
  min-height: 0;
  margin: 4px 0 0 2px;
  color: var(--spoki-teal, #00838a);
  font-size: 12px;
}

#spoki-express-choice-wrap.is-loading .spoki-express-choice__card {
  opacity: .65;
  pointer-events: none;
}

.spoki-express-choice__card:has(input:focus-visible) {
  outline: 3px solid color-mix(in srgb, var(--spoki-teal, #00838a) 28%, transparent);
  outline-offset: 4px;
}
