:root{
    --agm-violet:#7c22bd;
    --agm-indigo:#4658d8;
    --agm-cyan:#168fc5;
    --agm-green:#078b68;
    --agm-amber:#ff9800;
    --agm-ink:#251d2b;
    --agm-muted:#756e7d;
    --agm-line:#e3d7e8;
}
.advik-map-tools{
    margin:12px 0 14px;
    padding:14px;
    border:1px solid var(--agm-line);
    border-radius:16px;
    background:
        radial-gradient(circle at 100% 0%,rgba(22,143,197,.075),transparent 34%),
        linear-gradient(145deg,#fbf6fd,#fff 62%);
    box-shadow:0 8px 24px rgba(48,29,58,.055);
}
.advik-map-tools-head,
.advik-route-estimate-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.advik-map-tools-title,
.advik-route-estimate-title{
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--agm-ink);
    font-size:13.5px;
    font-weight:850;
}
.advik-map-tools-title i,
.advik-route-estimate-title i{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#fff;
    background:linear-gradient(145deg,#9630d3,#5c4bd0);
    box-shadow:0 7px 16px rgba(105,34,175,.18);
}
.advik-map-current-btn,
.advik-route-estimate-btn{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 12px;
    border:1px solid #d6c6dd;
    border-radius:10px;
    color:#5c2b70;
    background:#fff;
    font-size:12.5px;
    font-weight:800;
    cursor:pointer;
}
.advik-map-current-btn:hover,
.advik-route-estimate-btn:hover{
    border-color:#bea2ca;
    box-shadow:0 8px 18px rgba(49,29,59,.08);
}
.advik-map-autocomplete-host{width:100%;margin-top:10px}
.advik-map-autocomplete-host gmp-place-autocomplete{width:100%;min-height:46px}
.advik-map-status{
    min-height:22px;
    margin-top:8px;
    color:var(--agm-muted);
    font-size:12px;
    line-height:1.45;
}
.advik-map-status.is-ok{color:#087357}
.advik-map-status.is-error{color:#a43d4d}
.advik-map-preview{
    display:none;
    width:100%;
    height:230px;
    margin-top:12px;
    overflow:hidden;
    border:1px solid #ddd0e4;
    border-radius:14px;
    background:#f1eef4;
}
.advik-map-preview.is-visible{display:block}
.advik-route-estimate{
    margin:14px 0 20px;
    padding:15px;
    border:1px solid #ddd2e4;
    border-radius:16px;
    background:
        radial-gradient(circle at 100% 0%,rgba(70,88,216,.08),transparent 36%),
        linear-gradient(145deg,#f5edfa,#fff 64%);
    box-shadow:0 9px 24px rgba(47,29,57,.06);
}
.advik-route-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
}
.advik-route-metric{
    padding:11px 12px;
    border:1px solid #e5dce9;
    border-radius:12px;
    background:rgba(255,255,255,.88);
}
.advik-route-metric span{
    display:block;
    color:#837b88;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.advik-route-metric strong{
    display:block;
    margin-top:4px;
    color:#2d2433;
    font-size:17px;
    font-weight:900;
}
.advik-route-estimate-message{
    margin-top:9px;
    color:#756e7d;
    font-size:11.75px;
    line-height:1.5;
}
.advik-map-disabled{
    margin:10px 0;
    padding:10px 12px;
    border:1px solid #eddab8;
    border-radius:11px;
    color:#7a5514;
    background:#fff6e3;
    font-size:12px;
}
@media(max-width:700px){
    .advik-map-tools-head,
    .advik-route-estimate-head{align-items:stretch;flex-direction:column}
    .advik-map-current-btn,
    .advik-route-estimate-btn{width:100%}
    .advik-route-metrics{grid-template-columns:1fr}
    .advik-map-preview{height:200px}
}
