/* PROCTOLOGI components: from the design system's bundle.css */
.pr-btn{font:600 15px/20px var(--font-sans);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:2px solid var(--ink);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-stamp);transition:none}
.pr-btn--lg{font-size:17px;padding:14px var(--space-6)}
.pr-btn--primary{background:var(--brand);color:var(--on-brand)}
.pr-btn--primary:hover{background:var(--brand-strong)}
.pr-btn--secondary{background:var(--surface-raised);color:var(--ink)}
.pr-btn--secondary:hover{background:var(--brand-tint)}
.pr-btn--ghost{background:transparent;color:var(--brand);border-color:transparent;box-shadow:none;text-decoration:underline;text-underline-offset:4px}
.pr-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:var(--shadow-stamp-sm)}
.pr-btn:focus-visible,.pr-field__input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.pr-btn:disabled{background:var(--surface-sunken);color:var(--ink-muted);border-style:dashed;border-color:var(--border);box-shadow:none;cursor:not-allowed}
.pr-badge{display:inline-flex;align-items:center;gap:var(--space-2);font:500 13px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.pr-badge__tile{display:inline-grid;place-items:center;width:28px;height:28px;border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--brand);color:var(--on-brand);font-weight:600;letter-spacing:0}
.pr-badge--final .pr-badge__tile{background:var(--accent);color:var(--on-accent)}
.pr-card{background:var(--surface-raised);color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);font:400 16px/24px var(--font-sans)}
.pr-card:hover{box-shadow:var(--shadow-stamp)}
.pr-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}
.pr-card__letter{font:400 72px/68px var(--font-display);color:var(--brand)}
.pr-card__index{font:500 13px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.pr-card__title{margin:0;font:400 32px/36px var(--font-display);color:var(--ink)}
.pr-card__body{margin:0;color:var(--ink)}
.pr-card--final .pr-card__top{border-bottom:4px solid var(--accent);padding-bottom:var(--space-2)}
.pr-stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:var(--space-4) var(--space-3);color:var(--ink)}
.pr-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}
.pr-step__disc{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-pill);border:2px solid var(--ink);background:var(--surface-raised);color:var(--ink);font:600 15px/1 var(--font-mono)}
.pr-step--done .pr-step__disc{background:var(--ink);color:var(--surface)}
.pr-step--current .pr-step__disc{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-stamp-sm)}
.pr-step--final .pr-step__disc{background:var(--accent);color:var(--on-accent)}
.pr-step__label{overflow-wrap:anywhere;font:500 13px/16px var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.pr-step__num{font:400 13px/16px var(--font-mono);color:var(--ink-muted)}
.pr-callout{background:var(--surface-raised);color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius-lg);overflow:hidden;font:400 16px/24px var(--font-sans)}
.pr-callout__head{padding:var(--space-2) var(--space-4);font:600 13px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.pr-callout--note .pr-callout__head{background:var(--brand);color:var(--on-brand)}
.pr-callout--caution .pr-callout__head{background:var(--accent);color:var(--on-accent)}
.pr-callout--contraindicated .pr-callout__head{background:var(--danger);color:var(--on-danger)}
.pr-callout__body{padding:var(--space-4)}
.pr-callout__title{margin:0 0 var(--space-1);font:400 24px/28px var(--font-display)}
.pr-callout__text{margin:0}
.pr-quote{margin:0;background:var(--surface-raised);color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}
.pr-quote__text{margin:0;font:italic 400 32px/36px var(--font-display)}
.pr-quote__who{font:500 13px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.pr-quote__foot{font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.pr-field{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-sans);color:var(--ink)}
.pr-field__label{font:500 13px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.pr-field__input{font:400 16px/24px var(--font-sans);color:var(--ink);background:var(--surface-raised);border:2px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);width:100%;box-sizing:border-box}
.pr-field--error .pr-field__input{border-color:var(--danger)}
.pr-field__hint{font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.pr-field__error{font:600 14px/20px var(--font-sans);color:var(--danger)}
