#crt-route-status { margin: 0; padding: 8px 12px; background: #fff; color: #333; }
#crt-route-warning { margin: 0; padding: 6px 12px; background: #fff4d6; color: #403514; font-size: 14px; }
#map-w { position: relative; }
#go-custom-route-2 { top: 80px !important; }
.go-custom-route:disabled { opacity: .55; cursor: wait; }
.crt-history { overflow-y: auto; height: calc(100vh - 60px); }
#crt-undated { padding: 20px; }
#crt-undated article { margin: 25px 0; max-width: 800px; }
#crt-undated img { max-width: 100%; }
.crt-print { max-width: 1100px; margin: auto; padding: 20px; font-family: Arial, sans-serif; }
.crt-print-map { height: 440px; min-height: 300px; width: 100%; }
.crt-print #right-panel { width: 100%; }
.crt-print button { margin-bottom: 15px; padding: 8px 18px; cursor: pointer; }
.crt-print[dir="rtl"] { text-align: right; }
.crt-print[dir="rtl"] ol { padding-right: 30px; padding-left: 0; }
.crt-print[dir="rtl"] .adp { direction: rtl; }
@page { margin: 12mm; }
@media print {
  .crt-print { padding: 0; margin: 0; max-width: none; width: auto; }
  #crt-print-button { display: none; }
  .crt-print-map { height: 330px !important; break-inside: avoid; }
  .crt-print h2 { break-after: avoid; }
  .crt-print li, .crt-print .adp-directions tr { break-inside: avoid; }
}
/* Numbered Leaflet markers retain keyboard and touch interaction. */
.crt-map-pin { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 2px solid #fff; border-radius: 50% 50% 50% 4px; background: #71920b; color: #fff; box-shadow: 0 1px 5px #0006; font: bold 16px/1 Arial,sans-serif; transform: rotate(-10deg); }
.crt-marker-selected .crt-map-pin { background: #233700; box-shadow: 0 0 0 3px #94bd0f80; }
.crt-directions-summary { padding: 12px; background: #f2f5e9; font-weight: bold; }
.crt-directions-leg { border-top: 1px solid #ddd; padding-block: 12px; overflow-wrap: anywhere; }
.crt-directions-leg h3 { font-size: 17px; line-height: 1.5; margin: 0 0 6px; }
.crt-leg-summary { margin: 0 0 10px; color: #555; }
.crt-directions-steps { padding-inline-start: 28px; }
.crt-directions-steps li { padding: 7px 4px; border-bottom: 1px solid #eee; line-height: 1.6; }
.crt-step-distance { display: block; color: #555; font-size: .9em; }
.crt-maps-attribution { font: 400 14px/1.5 Arial,sans-serif; color: #5e5e5e; direction: inherit; text-align: start; }
.crt-map-copyrights { font-size: 12px; }
.crt-print #crt-print-button:disabled { cursor: wait; opacity: .6; }
@media print {
  .crt-directions-leg h3, .crt-leg-summary { break-after: avoid; }
  .crt-directions-steps li { break-inside: avoid; }
  .crt-print #crt-route-status { padding: 0; margin-block: 8px; }
  .crt-print-map { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

.leaflet-container { direction: ltr; font-family: Arial,sans-serif; background: #e8e5dc; }
.leaflet-container .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; }
.leaflet-control-attribution { max-width: calc(100% - 12px); white-space: normal; font-size: 11px; }
.leaflet-control-attribution a { color: #225900; }
.leaflet-marker-icon.crt-route-marker { background: none; border: 0; }
.leaflet-marker-icon.crt-route-marker:focus { outline: 3px solid #233700; outline-offset: 3px; }
.leaflet-popup-close-button { width: 44px !important; height: 44px !important; line-height: 44px !important; }
.leaflet-popup-content { margin-inline-end: 40px; }
.leaflet-popup-content-wrapper { direction: inherit; }
.rtl .leaflet-popup-content { direction: rtl; text-align: right; }
@media print {
 .leaflet-control-zoom { display: none; }
 .leaflet-container { overflow: hidden !important; }
 .leaflet-control-attribution { display: block !important; background: #fff !important; }
 .leaflet-pane, .leaflet-tile, .crt-map-pin { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

.crt-print-map-image { display: none; }
@media print {
 .crt-has-print-map .crt-print-map { display: none !important; }
 .crt-print .crt-print-map-image { display: block !important; width: 100%; height: auto; break-inside: avoid; }
}
