@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
}

body { 
    font-family: "Nunito", sans-serif; 
    background: #f5f7fa; 
    padding: 40px 20px; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
}

h1 { 
    margin-bottom: 20px; 
    color: #2c3e50;
    text-align: center;
    font-size: 190%;
    font-weight: 750; 
}

h2 {
    margin-bottom: 10px; 
    color: #2c3e50;
    text-align: center;     
}

a {
    text-decoration: none;
}

.search-container { 
    display: flex; 
    gap: 30px; 
    flex-wrap: wrap; 
    justify-content: center; 
    margin-bottom: 30px; 
}

.search-box { 
    position: relative; 
    width: 280px; 
}

.search-box label { 
    font-weight: bold; 
    display: block; 
    margin-bottom: 5px; 
    color: #34495e; 
}

.search-box input { 
    width: 100%; 
    padding: 10px 14px; 
    border: 2px solid #bdc3c7; 
    border-radius: 8px; 
    font-size: 15px; 
    outline: none; 
    transition: border 0.2s; 
}

.search-box input:focus { 
    border-color: #3498db; 
}

.dropdown { 
    position: absolute; 
    top: 100%; 
    left: 0; 
    right: 0; 
    background: white; 
    border: 1px solid #ccc; 
    border-top: none; 
    max-height: 280px; 
    overflow-y: auto; 
    display: none; 
    z-index: 10; 
    box-shadow: 0 6px 12px rgba(0,0,0,0.1); 
    border-radius: 0 0 8px 8px; 
}

.dropdown div { 
    padding: 10px 14px; 
    cursor: pointer; 
    border-bottom: 1px solid #eee; 
    font-size: 14px; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
}

.dropdown div:hover { 
    background: #eaf2f8; 
}

#results { 
    width: 110%; 
    max-width: 1000px; 
    margin-top: 20px; 
    padding: 25px; 
    background: white; 
    border-radius: 2%; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); 
    display: none; 
}

#results h2 { 
    margin-bottom: 15px; 
    color: #2c3e50; 
}

.result-item {
    border-bottom: 1px solid #555; 
    text-align: center;
}

.result-item:last-child { 
    border-bottom: none; 
}

.result-item img { 
    width: 100%;
    object-fit: cover; 
    border-radius: 12px; 
    margin-top: 15px; 
    display: block; 
    margin-left: auto; 
    margin-right: auto; 
}

.result-item h3 { 
    margin-bottom: 8px; 
    color: #2980b9; 
    font-size: 35px; 
}

.result-item p { 
    color: #555; 
    font-size: 30px; 
    margin-bottom: 10px; 
}

.legend h3 {
    margin-bottom: 8px;
    padding-top: 20px;
}

.btn { 
    padding: 10px 20px; 
    background: #2c3e50; 
    color: white; 
    border: none; 
    border-radius: 8px; 
    font-size: 20px; 
    cursor: pointer; 
    margin-top: 10px;
    margin-bottom: 10px; 
}

.btn:hover { 
    background: #34495e; 
}

.keywords-display { 
    color: #888; 
    font-size: 13px; 
    margin-bottom: 8px; 
    font-style: italic; 
}

#lang {
    font-size: smaller;
    position: absolute;
    left:5px;
    top:0;
    text-align: left;
    padding:10px;
}

#floors_select img {
    width:60px;
    padding:10px;
    border-radius: 30%;
}

#floor_plan img {
    width:95%;
    display: block;
    margin-left: auto;
    margin-right: auto;    
}

#back img {
    width: 6%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 40px;
}

#floor_title {
    color: #2c3e50;    
    font-size:120%;
    text-align: center;    
}

#floor_subtitle {
    color: #2c3e50;
    font-size:110%;        
    padding-bottom:20px;
    text-align: center;    
}

#floor_subtitle img {
    width:100%;
}