/* === 📄 /styles_core/front/toponyms.css === */

.geo-search-wrap{
    width:100%;
    max-width:900px;
    margin:0 auto;
    padding:var(--space-8) var(--space-4);
}

.geo-search{
    display:flex;
    flex-direction:column;
    gap:var(--space-4);
}

/* =========================================================
   INPUT
   ========================================================= */

.geo-search-input-wrap{
    position:relative;
}

#geo-search-input{
    width:100%;

    padding:18px 48px 18px 20px;

    box-sizing:border-box;

   border:1px solid transparent;
    border-radius:var(--radius-lg);

    background:var(--color-surface);
    box-shadow:var(--shadow-sm);
    color:var(--color-fg);

    font-size:1.05rem;
    line-height:1.4;

    transition:
        border-color var(--transition-base),
        box-shadow var(--transition-base),
        background var(--transition-base);
}

#geo-search-input::placeholder{
    color:var(--color-muted);
}

#geo-search-input:focus{
    outline:none;

    border-color:var(--color-primary);

    box-shadow:
        0 0 0 3px rgba(223,79,40,0.12);
}

/* =========================================================
   CLEAR BUTTON
   ========================================================= */

#geo-search-clear{
    position:absolute;

    right:12px;
    top:50%;

    transform:translateY(-50%);

    border:none;
    background:none;

    cursor:pointer;

    font-size:18px;
    color:var(--color-muted);

    opacity:0.7;

    transition:
        opacity var(--transition-base),
        color var(--transition-base);
}

#geo-search-clear:hover{
    opacity:1;
    color:var(--color-fg);
}

/* =========================================================
   RESULTS
   ========================================================= */

#geo-search-results{
    display:flex;
    flex-direction:column;
  gap:16px;

margin-top:8px;
}

.geo-result{
    padding:12px 18px;

    border:1px solid var(--color-border);
    border-radius:var(--radius-lg);

    background:var(--color-surface);

    transition:
        border-color var(--transition-base),
        transform var(--transition-base),
        background var(--transition-base);
}

.geo-result:hover{
    transform:translateY(-1px);

    border-color:var(--color-primary);
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:768px){

    #geo-search-input{
        font-size:16px;
    }

    .geo-result{
        padding:16px;
    }

}


.geo-result-name{
    font-weight:700;
}

.geo-result-registry{
    margin-top:4px;

    font-size:0.82rem;
    font-weight:600;

    color:var(--color-muted);

    opacity:0.8;
}

.geo-result-type{
    margin-top:6px;
}

.geo-result-note{
    margin-top:4px;

    color:var(--color-muted);
}



.geo-result-layout{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:var(--space-6);
}

.geo-result-main{
    flex:1;
}

.geo-result-map{
    width:160px;

    padding-left:var(--space-4);

    border-left:1px solid var(--color-border);

    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;

    text-align:right;

    opacity:0.9;
}

.geo-result-map-icon{
    font-size:1.2rem;
    line-height:1;
}

.geo-result-map-sheet{
    margin-top:6px;

    font-family:monospace;
    font-size:0.9rem;
    font-weight:700;

    color:var(--color-fg);
}

.geo-result-map-open{
    margin-top:4px;

    font-size:0.82rem;

    color:var(--color-muted);
}
