.journey-location {
  margin: 1.1rem 0;
  padding: 1rem;
  border: 1px solid #c4dacb;
  border-radius: 18px;
  background: #edf5ed;
  color: #234e3b;
}
.journey-location legend { float: none; width: auto; margin: 0; font-size: 1rem; font-weight: 700; }
.journey-location p { margin: .45rem 0; line-height: 1.5; }
.journey-location a { display: inline-flex; align-items: center; min-height: 44px; color: #23664b; font-weight: 700; }
.journey-location label { display: flex; align-items: flex-start; gap: .65rem; margin-top: .5rem; cursor: pointer; }
.landing-form .journey-location input { width: 22px; min-width: 22px; height: 22px; min-height: 0; padding: 0; margin: 2px 0 0; accent-color: #27674b; }
.journey-choices { display: grid; gap: 14px; margin: 1.5rem 0 .5rem; text-align: left; }
.journey-choice { display: grid; grid-template-columns: 42px minmax(0, 1fr) 20px; gap: 14px; align-items: center; padding: 20px; border-radius: 20px; border: 1px solid #c9dbcd; color: #1d503a; background: #edf5ec; text-decoration: none; animation: journey-arrive .45s ease both; }
.journey-choice--visit { background: #fff4d3; border-color: #ead79d; animation-delay: .09s; }
.journey-choice__icon { display: grid; place-items: center; height: 42px; border-radius: 50%; background: #fff; font-weight: 700; }
.journey-choice strong, .journey-choice small { display: block; }
.journey-choice strong { font-size: 1.05rem; line-height: 1.3; }
.journey-choice small { margin-top: 7px; color: #506358; line-height: 1.5; }
.journey-choice:hover { color: #16432f; border-color: #629477; }
.journey-choice:focus-visible, .journey-location a:focus-visible { outline: 3px solid #287554; outline-offset: 4px; }
.journey-prefill { margin: 12px 0; padding: 12px 16px; background: #edf5ec; color: #28543d; border: 1px solid #cddfcf; border-radius: 14px; font-size: .92rem; }
.journey-completion { width: min(680px, calc(100% - 32px)); margin: 24px auto 48px; padding: clamp(20px, 4vw, 36px); background: #fffdf7; border-radius: 26px; border: 1px solid #e3e8dd; box-shadow: 0 15px 35px #2445300d; }
.journey-completion h1 { font-size: clamp(1.75rem, 5vw, 2.25rem); color: #244e39; }
.journey-completion h2 { font-size: 1.15rem; margin: 28px 0 12px; }
.journey-completion ul { padding-left: 22px; line-height: 1.7; }
.journey-completion li { padding: 3px 0; }
.journey-completion__button { display: flex; justify-content: center; align-items: center; min-height: 52px; padding: 12px 18px; margin: 24px 0 10px; border-radius: 16px; background: #287554; color: #fff; font-weight: 700; text-decoration: none; }
.journey-completion__button:hover { background: #1b563a; color: #fff; }
@keyframes journey-arrive { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@media (max-width: 480px) { .journey-choice { grid-template-columns: 32px minmax(0, 1fr) 14px; gap: 10px; padding: 16px 12px; } .journey-choice__icon { height: 32px; font-size: .8rem; } }
@media (prefers-reduced-motion: reduce) { .journey-choice { animation: none; } }

.visit-receipt { min-height: calc(100dvh - 110px); display: grid; place-items: center; padding: 24px 16px 56px; background: radial-gradient(circle at 15% 10%, #edf6e9 0 120px, transparent 121px), #fbf7ef; }
.visit-receipt__card { width: min(620px, 100%); padding: clamp(24px, 6vw, 46px); text-align: center; background: #fffdf8; border: 1px solid #dfe9df; border-radius: 28px; box-shadow: 0 20px 50px rgba(35,77,57,.1); }
.visit-receipt__check { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 18px; color: #fff; font-size: 1.4rem; border-radius: 50%; background: #287554; }
.visit-receipt h1 { margin: 8px 0 24px; color: #173f30; font-size: clamp(1.8rem, 7vw, 2.55rem); }
.visit-receipt__slot { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 14px; }
.visit-receipt__slot > div { padding: 17px; text-align: left; border-radius: 16px; background: #edf5ec; }
.visit-receipt__slot span,.visit-receipt__slot strong,.visit-receipt__location span,.visit-receipt__location small { display: block; }
.visit-receipt__slot span { color: #6e8175; font-size: .77rem; text-transform: uppercase; }
.visit-receipt__slot strong { margin-top: 4px; color: #1e503b; }
.visit-receipt__location { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: start; padding: 18px; text-align: left; border: 1px solid #eadba9; border-radius: 16px; background: #fff5d8; }
.visit-receipt__location > i { color: #a87916; font-size: 1.2rem; }
.visit-receipt__location span { margin-top: 4px; line-height: 1.45; }
.visit-receipt__location small { margin-top: 5px; color: #755f2e; }
.visit-receipt__email { margin: 18px 0 0; color: #3d6250; font-size: .9rem; }
.visit-receipt__email.is-warning { color: #875a14; }
.visit-receipt__actions { display: grid; gap: 12px; margin-top: 24px; }
.visit-receipt__actions .journey-completion__button { gap: 9px; margin: 0; }
.visit-receipt__actions > a:last-child { color: #315b48; font-weight: 700; }
@media (max-width: 520px) { .visit-receipt__slot { grid-template-columns: 1fr; } .visit-receipt { padding-inline: 12px; } }
