.shootRouteSms { box-sizing: border-box; flex: 0 0 100%; width: 100%; min-width: 0; margin-top: 4px; border-radius: 8px; background: #393659; padding: 16px; color: #fff; text-align: left; }
.shootRouteSms * { box-sizing: border-box; }
.shootRouteSms [hidden] { display: none !important; }
.shootRouteSms-toggle { display: inline-flex; width: auto; max-width: 100%; min-height: 58px; flex-direction: column; gap: 5px; justify-content: center; padding: 13px 22px; border: 2px solid #fff; border-radius: 6px; background: #fff; color: #172435; list-style: none; cursor: pointer; text-align: left; font-family: Arial,sans-serif; }
.shootRouteSms-toggle::-webkit-details-marker { display: none; }
.shootRouteSms-toggle > span { font-size: 1rem; font-weight: 800; line-height: 1.4; }
.shootRouteSms-toggle > small { display: block; color: #384759; font-size: .82rem; font-weight: 400; line-height: 1.5; }
.shootRouteSms-toggle:hover { background: #f0f3fa; }
.shootRouteSms-toggle:focus-visible, .shootRouteSms-submit:focus-visible { outline: 3px solid #fdb21a; outline-offset: 4px; }
.shootRouteSms-panel { width: min(100%,640px); margin-top: 14px; border: 1px solid rgba(255,255,255,.45); border-radius: 8px; background: rgba(255,255,255,.06); padding: 22px; color: #fff; }
.shootRouteSms .shootRouteSms-panel h3 { margin: 0 0 10px; color: #fff; font: 800 1.15rem/1.5 Arial,sans-serif; }
.shootRouteSms-panel > p { margin: 0 0 18px; color: #fff; font: 400 .92rem/1.65 Arial,sans-serif; }
.shootRouteSms-form { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: 12px; }
.shootRouteSms-phoneLabel { color: #fff; font: 700 .94rem/1.4 Arial,sans-serif; }
.shootRouteSms .shootRouteSms-phone { display: block; width: 100%; max-width: 360px; min-height: 48px; margin: 0; border: 2px solid #d8dfeb; border-radius: 5px; background: #fff; padding: 11px 14px; color: #172435; font: 400 18px/1.4 Arial,sans-serif; opacity: 1; }
.shootRouteSms-phone:focus { outline: 3px solid #fdb21a; outline-offset: 2px; }
.shootRouteSms-navigators { display: flex; min-width: 0; flex-wrap: wrap; gap: 12px; margin: 4px 0; border: 0; padding: 0; }
.shootRouteSms-navigators legend { width: 100%; margin-bottom: 10px; color: #fff; font: 700 .94rem/1.5 Arial,sans-serif; }
.shootRouteSms-navigators label { display: inline-flex; min-height: 48px; align-items: center; gap: 9px; margin: 0; border: 1px solid rgba(255,255,255,.65); border-radius: 5px; padding: 10px 14px; color: #fff; cursor: pointer; font: 700 .94rem/1.4 Arial,sans-serif; }
.shootRouteSms input[type=radio], .shootRouteSms input[type=checkbox] { flex: 0 0 20px; width: 20px; min-width: 20px; height: 20px; margin: 0; accent-color: #fdb21a; }
.shootRouteSms-consent { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0; color: #fff; font: 400 .85rem/1.65 Arial,sans-serif; }
.shootRouteSms-consent input { margin-top: 3px; }
.shootRouteSms .shootRouteSms-submit { display: inline-flex; width: fit-content; max-width: 100%; min-height: 48px; align-items: center; justify-content: center; margin: 2px 0 0; border: 2px solid #fff; border-radius: 5px; background: #fff; padding: 12px 20px; color: #172435; font: 800 .94rem/1.4 Arial,sans-serif; cursor: pointer; }
.shootRouteSms-submit:disabled { opacity: .6; cursor: wait; }
.shootRouteSms .shootRouteSms-privacy { display: block; margin: 0; color: #fff; font: 400 .78rem/1.6 Arial,sans-serif; }
.shootRouteSms .shootRouteSms-notice { margin: 0 0 18px; border-left: 4px solid #ffcc63; border-radius: 3px; background: rgba(0,0,0,.18); padding: 12px 14px; color: #fff; font: 700 .9rem/1.6 Arial,sans-serif; }
.shootRouteSms .shootRouteSms-notice--success { border-left-color: #83e3b7; }
.shootRouteSms-honeypot { position: absolute; left: -10000px; top: 0; width: 1px; height: 1px; overflow: hidden; }
@media (max-width:680px) {
    .shootRouteSms-toggle { display: flex; width: 100%; }
    .shootRouteSms-panel { width: 100%; padding: 16px; }
    .shootRouteSms .shootRouteSms-phone, .shootRouteSms .shootRouteSms-submit { width: 100%; max-width: none; }
    .shootRouteSms-navigators label { flex: 1 1 auto; justify-content: center; }
}
