.picmimos-public-route-modal[hidden] { display: none !important; }
.picmimos-public-route-modal { position: fixed; z-index: 99999; inset: 0; display: grid; place-items: center; padding: 20px; }
.picmimos-public-route-modal__backdrop { position: absolute; inset: 0; background: rgba(11, 35, 26, .62); backdrop-filter: blur(5px); }
.picmimos-public-route-modal__dialog { position: relative; width: min(100%, 700px); padding: clamp(28px, 5vw, 48px); border: 1px solid rgba(255, 255, 255, .35); border-radius: 22px; background: #f8fbf8; box-shadow: 0 28px 76px rgba(6, 28, 20, .38); color: #17241d; outline: none; }
.picmimos-public-route-modal__close { position: absolute; top: 15px; right: 17px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #d8e3db; border-radius: 50%; background: #fff; color: #315842; font-size: 24px; line-height: 1; cursor: pointer; }
.picmimos-public-route-modal__eyebrow { margin: 0 0 10px; color: #5b8c79; font: 800 10px/1.2 Poppins, Arial, sans-serif; letter-spacing: .18em; }
.picmimos-public-route-modal h2 { max-width: 500px; margin: 0; color: #18251e; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 5vw, 48px); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.picmimos-public-route-modal__product { margin: 14px 0 24px; color: #5d7165; font: 600 13px/1.5 Poppins, Arial, sans-serif; }
.picmimos-public-route-modal__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.picmimos-public-route-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; min-height: 154px; padding: 22px; border: 1px solid #cfded4; border-radius: 14px; background: #fff; color: #1d4030; font-family: Poppins, Arial, sans-serif; text-align: left; cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.picmimos-public-route-option:hover, .picmimos-public-route-option:focus-visible { border-color: #2d6954; box-shadow: 0 12px 24px rgba(34, 75, 57, .13); outline: none; transform: translateY(-2px); }
.picmimos-public-route-option strong { font-size: 16px; line-height: 1.25; }
.picmimos-public-route-option span { grid-column: 1 / -1; color: #63786b; font-size: 12px; font-weight: 500; line-height: 1.5; }
.picmimos-public-route-option b { color: #2d6954; font-size: 22px; line-height: 1; }
.picmimos-public-route-modal__cancel { display: block; margin: 20px auto 0; border: 0; background: transparent; color: #527060; font: 700 12px/1.3 Poppins, Arial, sans-serif; text-decoration: underline; cursor: pointer; }
.picmimos-public-route-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 4px 0 24px; padding: 0; border: 0; }
.picmimos-public-route-choice legend { width: 100%; margin-bottom: 10px; color: #314a3c; font-size: 14px; font-weight: 800; }
.picmimos-public-step .picmimos-public-route-card { position: relative; display: grid; gap: 5px; min-height: 116px; margin: 0; padding: 16px 16px 16px 42px; border: 1px solid #d7e1da; border-radius: 11px; background: #fbfdfb; color: #234331; cursor: pointer; transition: border-color .16s ease, background .16s ease; }
.picmimos-public-step .picmimos-public-route-card.is-selected { border-color: #2d6954; background: #eef6f0; }
.picmimos-public-route-card input { position: absolute; top: 18px; left: 16px; accent-color: #2d6954; }
.picmimos-public-route-card strong { font-size: 13px; line-height: 1.3; }
.picmimos-public-route-card small { color: #687c70; font-size: 11px; font-weight: 500; line-height: 1.45; }
@media (max-width: 560px) { .picmimos-public-route-modal { padding: 12px; } .picmimos-public-route-modal__dialog { padding: 30px 20px 24px; border-radius: 17px; } .picmimos-public-route-modal__actions, .picmimos-public-route-choice { grid-template-columns: 1fr; } .picmimos-public-route-option { min-height: 122px; } }
@media (prefers-reduced-motion: reduce) { .picmimos-public-route-option { transition: none; } }
