.cave-confirm [hidden],
.cave-confirm-input .cave-confirm-send,
.cave-confirm-input .wpcf7-spinner { display: none !important; }
.cave-confirm { --cave-accent: #c41924; margin: 0 0 24px; }
.cave-confirm .cave-confirm-steps { display: flex; list-style: none; margin: 0 0 32px; padding: 0; border-bottom: 1px solid #dedede; }
.cave-confirm .cave-confirm-steps li { flex: 1; margin: 0; padding: 15px 6px; text-align: center; font-size: 15px; color: #666; border-bottom: 3px solid transparent; }
.cave-confirm .cave-confirm-steps li[aria-current="step"] { color: #a3111c; border-color: var(--cave-accent); font-weight: 700; }
.cave-confirm-steps span { display: inline-grid; place-items: center; width: 26px; height: 26px; margin-right: 4px; border-radius: 50%; background: #eee; color: #555; }
.cave-confirm-steps [aria-current="step"] span { background: var(--cave-accent); color: #fff; }
.cave-confirm-input label { display: block; }
.cave-confirm-input input:not([type="hidden"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.cave-confirm-input select, .cave-confirm-input textarea { max-width: 100%; box-sizing: border-box; }
.cave-confirm h2 { margin: 0 0 18px; font-size: 24px; line-height: 1.5; }
.cave-confirm h2:focus { outline: none; }
.cave-confirm p { line-height: 1.8; }
.cave-confirm .cave-confirm-values { margin: 24px 0; border-top: 1px solid #ddd; }
.cave-confirm-values > div { display: grid; grid-template-columns: minmax(135px, 33%) minmax(0, 1fr); border-bottom: 1px solid #ddd; }
.cave-confirm-values dt, .cave-confirm-values dd { margin: 0; padding: 17px 18px; line-height: 1.7; overflow-wrap: anywhere; white-space: pre-wrap; }
.cave-confirm-values dt { background: #f5f5f5; font-weight: 700; }
.cave-confirm-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin: 28px 0 8px; }
.cave-confirm button, .cave-confirm input.cave-confirm-send { appearance: none; border: 1px solid var(--cave-accent); border-radius: 3px; background: var(--cave-accent); color: white; padding: 15px 25px; min-height: 48px; font: inherit; font-weight: 700; line-height: 1.5; cursor: pointer; }
.cave-confirm button.cave-confirm-back { background: #fff; color: #333; border-color: #999; }
.cave-confirm button:focus-visible, .cave-confirm input.cave-confirm-send:focus-visible { outline: 3px solid #222; outline-offset: 3px; }
.cave-confirm button:hover, .cave-confirm input.cave-confirm-send:hover { filter: brightness(.93); }
.cave-confirm button:disabled, .cave-confirm input.cave-confirm-send:disabled { opacity: .55; cursor: not-allowed; }
.cave-confirm .cave-confirm-notice { padding: 14px 18px; margin-top: 22px; border: 1px solid #ba202b; background: #fff5f5; color: #8c121d; }
.cave-confirm .cave-confirm-field-error { display: block; margin-top: 5px; color: #a3111c; font-size: 14px; }
.cave-confirm-complete { padding: 28px 0; }
@media (max-width: 600px) {
  .cave-confirm .cave-confirm-steps li { font-size: 13px; padding: 12px 2px; }
  .cave-confirm-steps span { width: 22px; height: 22px; }
  .cave-confirm h2 { font-size: 21px; }
  .cave-confirm-values > div { grid-template-columns: minmax(0, 1fr); }
  .cave-confirm-values dt { padding: 10px 14px; }
  .cave-confirm-values dd { padding: 12px 14px 18px; }
  .cave-confirm-actions { flex-direction: column-reverse; align-items: stretch; }
  .cave-confirm-actions .wpcf7-spinner { align-self: center; }
  .cave-confirm button, .cave-confirm input.cave-confirm-send { width: 100%; margin: 0; }
}
