/* ==========================================================================
   Tripaure — map place-search widget
   Shared by the public booking form and the admin location form, so it must
   not depend on either side's design tokens. Self-contained by design.
   ========================================================================== */

.tp-geo {
    position: relative;
    margin-top: .6rem;
    margin-bottom: .75rem;
}

.tp-geo-input {
    width: 100%;
    padding: .6rem .9rem .6rem 2.2rem;
    font-family: inherit;
    font-size: .92rem;
    color: #0d1b2a;
    background: #fff
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237b8794' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")
        no-repeat .75rem center;
    border: 1px solid rgba(13, 27, 42, .16);
    border-radius: 10px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

[dir="rtl"] .tp-geo-input {
    padding: .6rem 2.2rem .6rem .9rem;
    background-position: right .75rem center;
}

.tp-geo-input:focus {
    outline: 0;
    border-color: #38bdf8;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, .18);
}

.tp-geo-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1000;           /* above Leaflet's own panes (max 800) */
    max-height: 260px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid rgba(13, 27, 42, .14);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(13, 27, 42, .14);
}

.tp-geo-result {
    display: block;
    width: 100%;
    padding: .6rem .9rem;
    font-family: inherit;
    font-size: .88rem;
    line-height: 1.45;
    color: #0d1b2a;
    text-align: start;
    background: none;
    border: 0;
    border-bottom: 1px solid rgba(13, 27, 42, .06);
    cursor: pointer;
}

.tp-geo-result:last-child {
    border-bottom: 0;
}

.tp-geo-result:hover,
.tp-geo-result:focus {
    background: #f1f8fe;
    outline: 0;
}

.tp-geo-empty {
    padding: .75rem .9rem;
    font-size: .88rem;
    color: rgba(13, 27, 42, .55);
}
