.cgh-location-guide {
    margin: 0 0 16px;
    padding: 16px 18px;
    border: 1px solid #b9c9e8;
    border-left: 5px solid #254281;
    border-radius: 7px;
    color: #172b4d;
    background: #f3f7ff;
    box-shadow: 0 2px 8px rgba(23, 43, 77, .07);
}
.cgh-location-guide > strong { display: block; margin-bottom: 8px; font-size: 16px; }
.cgh-location-guide ol { margin: 0 0 10px 20px; padding: 0; }
.cgh-location-guide li { margin: 4px 0; }
.cgh-location-status { padding: 9px 11px; border-radius: 5px; font-weight: 700; }
.cgh-location-status.is-missing { color: #8a4b00; background: #fff4d6; }
.cgh-location-status.is-valid { color: #116329; background: #e5f6e9; }
.cgh-location-guide.is-valid { border-color: #8bc99a; border-left-color: #16833a; background: #f4fbf5; }
.cgh-location-guide.has-error { animation: cgh-location-shake .35s ease-in-out 2; border-color: #d63638; border-left-color: #d63638; }
.cgh-location-guide.has-error .cgh-location-status { color: #8f1719; background: #ffe8e8; }
.cgh-technical-coordinate { display: none !important; }
.cgh-search-pulse {
    position: relative;
    z-index: 1000;
    color: #fff !important;
    background-color: #254281 !important;
    box-shadow: 0 0 0 0 rgba(37, 66, 129, .65);
    animation: cgh-location-pulse 1.7s infinite;
}
@keyframes cgh-location-pulse {
    0% { box-shadow: 0 0 0 0 rgba(37, 66, 129, .65); }
    70% { box-shadow: 0 0 0 11px rgba(37, 66, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(37, 66, 129, 0); }
}
@keyframes cgh-location-shake {
    0%, 100% { transform: translateX(0); }
    35% { transform: translateX(-6px); }
    70% { transform: translateX(6px); }
}
@media (prefers-reduced-motion: reduce) {
    .cgh-search-pulse, .cgh-location-guide.has-error { animation: none; }
}
