/* Direção visual: Estrada Editorial — dois caminhos de registro com a mesma presença tátil; cobre para memória histórica e verde-petróleo para presença no marco. */
.monument-registration-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.registration-choice { display:grid; align-content:center; gap:5px; min-height:88px; padding:14px 15px; border-radius:12px; color:#fff; box-shadow:0 9px 18px rgba(23,54,58,.12); text-decoration:none; transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .16s ease-out,filter .16s ease-out; }
.registration-choice:hover { box-shadow:0 13px 24px rgba(23,54,58,.19); filter:brightness(1.03); transform:translateY(-1px); }
.registration-choice:focus-visible { outline:3px solid rgba(23,54,58,.35); outline-offset:3px; }
.registration-choice:active { transform:scale(.98); }
.registration-choice--historical { background:#c65a35; }
.registration-choice--on-site { background:#1c5a54; }
.registration-choice:only-child { grid-column:1/-1; }
.registration-choice span { color:rgba(255,255,255,.82); font:800 .61rem/1.15 "DM Sans",sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.registration-choice strong { color:#fff; font:600 .92rem/1.18 "Sora",sans-serif; letter-spacing:-.025em; }

.registration-origin { display:inline-flex; align-items:center; width:max-content; margin-top:.44rem; padding:.23rem .48rem; border-radius:999px; font:700 .64rem/1.1 "DM Sans",sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.registration-origin--on-site { color:#15594d; background:#dcefe9; }
.registration-origin--historical { color:#677472; background:#eef1ef; }
.experience-detail__cover-date .registration-origin { margin-top:.6rem; }
.experience-card .registration-origin { margin-bottom:.2rem; }
.journal-entry .registration-origin { margin-top:.4rem; }
.on-site-registration-note { display:flex; gap:.8rem; margin-top:1rem; padding:1rem 1.05rem; border:1px solid #b7d9d0; border-radius:1rem; background:#edf7f3; color:#17363a; }
.on-site-registration-note>span { display:grid; flex:0 0 2rem; height:2rem; place-items:center; border-radius:50%; background:#d1eade; font-size:1.05rem; }
.on-site-registration-note strong { font:600 .87rem/1.2 "Sora",sans-serif; }
.on-site-registration-note p { margin:.22rem 0 0; color:#52716b; font-size:.82rem; line-height:1.45; }
.on-site-confirmed-date strong { display:block; margin-top:.45rem; font:600 1.1rem/1.2 "Sora",sans-serif; color:#17363a; }

.confirmation-page { max-width:40rem; margin:0 auto; padding-bottom:2rem; }
.confirmation-page__intro { max-width:34rem; }
.confirmation-page__intro h2 { margin:.25rem 0 0; font:600 clamp(1.9rem,8vw,3rem)/1.06 "Sora",sans-serif; color:#17363a; }
.confirmation-page__monument { display:grid; gap:.25rem; margin:1.45rem 0; padding:1rem 1.1rem; border-radius:1rem; background:#17363a; color:#fff; }
.confirmation-page__monument span { color:#e9b68b; font:700 .68rem/1 "DM Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.confirmation-page__monument strong { font:600 1.02rem/1.3 "Sora",sans-serif; }
.confirmation-page__monument small { color:#cfe0dc; }
.confirmation-page__camera { position:relative; overflow:hidden; aspect-ratio:1; border-radius:1.2rem; background:#102629; box-shadow:0 16px 32px rgba(23,54,58,.16); }
.confirmation-page__camera video { width:100%; height:100%; object-fit:cover; }
.confirmation-page__camera-frame { position:absolute; inset:20%; border:2px solid #e9b68b; border-radius:1rem; box-shadow:0 0 0 999px rgba(6,22,25,.24); }
.confirmation-page__steps { display:grid; gap:.45rem; margin:1.1rem 0; }
.confirmation-page__steps>div { display:flex; gap:.75rem; align-items:center; padding:.78rem .95rem; border:1px solid #e1e6e3; border-radius:.8rem; background:#fffdf9; }
.confirmation-page__steps>div>span { display:grid; flex:0 0 1.65rem; height:1.65rem; place-items:center; border-radius:50%; background:#e9eeeb; color:#56706c; font:700 .73rem/1 "DM Sans",sans-serif; }
.confirmation-page__steps strong { display:block; color:#17363a; font:600 .9rem/1.25 "Sora",sans-serif; }
.confirmation-page__steps>div[data-state="active"]>span { background:#e9b68b; color:#5a2a18; }
.confirmation-page__steps>div[data-state="done"]>span { background:#dcefe9; color:#15594d; }
.confirmation-page__feedback { margin:1rem 0; padding:.85rem 1rem; border-radius:.8rem; background:#eef4f1; color:#244d47; font-size:.9rem; line-height:1.45; }
.confirmation-page__feedback[data-state="error"] { background:#fff0eb; color:#8b3d29; }
.confirmation-page__actions { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-top:1.25rem; }

@media (max-width:430px) {
  .registration-choice { min-height:84px; padding:13px; }
  .registration-choice span { font-size:.56rem; }
  .registration-choice strong { font-size:.82rem; }
  .confirmation-page__actions .primary-action { padding:.82rem 1rem; font-size:.82rem; }
  .confirmation-page__actions .secondary-action { font-size:.8rem; }
}
@media (prefers-reduced-motion:no-preference) {
  .confirmation-page__camera { animation:confirmation-camera-in .22s cubic-bezier(.23,1,.32,1); }
  @keyframes confirmation-camera-in { from { opacity:0; transform:translateY(.5rem); } to { opacity:1; transform:none; } }
}
