/* ==========================================
   ULTRAKIT GOOGLE MAPS ADVANCED — Premium
   ========================================== */

.ultrakit-gmp-wrapper {
    --gmp-h: 460px;
    --gmp-accent: #6c5ce7;
    position: relative;
    display: flex;
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
    background: #e8eaf0;
    box-sizing: border-box;
}
.ultrakit-gmp-wrapper *, .ultrakit-gmp-wrapper *::before, .ultrakit-gmp-wrapper *::after { box-sizing: border-box; }
.ultrakit-gmp-placeholder { padding: 30px; text-align: center; color: #888; background: #f0f0f5; border: 2px dashed #ccc; border-radius: 10px; }

.ultrakit-gmp-stage { position: relative; flex: 1; min-width: 0; height: var(--gmp-h); }
.ultrakit-gmp-map, .ultrakit-gmp-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Keyless embed: emulate skins with CSS filters */
.gmp-keyless.gmp-skin-greyscale .ultrakit-gmp-frame,
.gmp-keyless.gmp-skin-silver .ultrakit-gmp-frame { filter: grayscale(1); }
.gmp-keyless.gmp-skin-dark .ultrakit-gmp-frame,
.gmp-keyless.gmp-skin-night .ultrakit-gmp-frame,
.gmp-keyless.gmp-skin-aubergine .ultrakit-gmp-frame { filter: invert(92%) hue-rotate(180deg) contrast(0.9); }
.gmp-keyless.gmp-skin-retro .ultrakit-gmp-frame { filter: sepia(0.6) saturate(0.9); }
.gmp-keyless.gmp-skin-ocean .ultrakit-gmp-frame { filter: hue-rotate(-10deg) saturate(1.2); }

/* ---------- Location list ---------- */
.ultrakit-gmp-list { flex: 0 0 290px; height: var(--gmp-h); overflow-y: auto; background: #ffffff; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.gmp-list-right .ultrakit-gmp-list { order: 2; }
.ultrakit-gmp-list-item {
    display: flex; align-items: center; gap: 12px; width: 100%; text-align: left;
    padding: 12px 14px !important; box-sizing: border-box;
    background: #f6f6fb; color: #1a1a2e !important;
    border: 1.5px solid transparent; border-radius: 12px; cursor: pointer;
    font-family: inherit; font-size: 14px; line-height: 1.35;
    transition: all 0.25s ease;
}
.ultrakit-gmp-list-item:hover { background: #ffffff; border-color: var(--gmp-accent); }
.ultrakit-gmp-list-item.is-active { background: var(--gmp-accent); color: #ffffff !important; }
.ultrakit-gmp-list-num { flex: 0 0 30px; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #ffffff; color: var(--gmp-accent); font-weight: 800; font-size: 13px; }
.ultrakit-gmp-list-text { display: flex; flex-direction: column; min-width: 0; }
.ultrakit-gmp-list-text strong { font-weight: 700; }
.ultrakit-gmp-list-text em { font-style: normal; font-size: 12px; opacity: 0.75; }

/* ---------- Overlay card ---------- */
.ultrakit-gmp-card { position: absolute; z-index: 5; max-width: 270px; padding: 20px 22px; background: #ffffff; border-radius: 16px; box-shadow: 0 12px 34px rgba(0,0,0,0.2); border-top: 4px solid var(--gmp-accent); }
.gmp-card-top-left     { top: 18px; left: 18px; }
.gmp-card-top-right    { top: 18px; right: 18px; }
.gmp-card-bottom-left  { bottom: 18px; left: 18px; }
.gmp-card-bottom-right { bottom: 18px; right: 18px; }
.ultrakit-gmp-card-title { margin: 0 0 6px; font-size: 17px; font-weight: 800; color: #1a1a2e; }
.ultrakit-gmp-card-text { margin: 0 0 14px; font-size: 13.5px; line-height: 1.55; color: #55556a; }
.ultrakit-gmp-card-btn { display: inline-block; padding: 9px 18px; border-radius: 30px; background: var(--gmp-accent); color: #ffffff !important; font-size: 13px; font-weight: 700; text-decoration: none !important; transition: transform 0.25s ease, box-shadow 0.25s ease; }
.ultrakit-gmp-card-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,0.2); }

/* ---------- Info window (Google renders it outside our wrapper) ---------- */
.ultrakit-gmp-iw { font-family: inherit; min-width: 170px; max-width: 240px; padding: 2px 4px 0; }
.ultrakit-gmp-iw-title { margin: 0 0 4px; font-size: 15px; font-weight: 800; color: #1a1a2e; }
.ultrakit-gmp-iw-text { margin: 0 0 4px; font-size: 13px; color: #55556a; line-height: 1.45; }
.ultrakit-gmp-iw-link { display: inline-block; margin-top: 6px; font-size: 13px; font-weight: 700; color: #6c5ce7 !important; text-decoration: none; }
.ultrakit-gmp-iw-link:hover { text-decoration: underline; }

.ultrakit-gmp-error { display: none; position: absolute; inset: 0; align-items: center; justify-content: center; padding: 24px; text-align: center; background: #fff5f4; color: #b3261e; font-size: 14px; font-weight: 600; z-index: 8; }
.ultrakit-gmp-error.is-visible { display: flex; }

@media (max-width: 767px) {
    .ultrakit-gmp-wrapper { flex-direction: column; }
    .ultrakit-gmp-list { flex: 0 0 auto; height: auto; max-height: 200px; order: 2; }
    .ultrakit-gmp-card { max-width: calc(100% - 36px); }
}
