
body {
	margin:0;
	font-family:sans-serif;
	display:flex;
	flex-direction:column;
	height: 100vh;
}

.service-icon {width:40px;height:40px;margin-right:15px;vertical-align:middle;}
.services-wrapper {background:#f9f9f9;padding:15px;border-radius:8px;border-left:5px solid #2ecc71;}
.service-item {display:flex;align-items:center;margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:10px;}
.service-label {font-size:1.1em;color:#2c3e50;}
.service-freq {color:#16a085;font-weight: bold;}
.service-mode {color:#7f8c8d;}
.service-none {padding:10px;color:#7f8c8d;}

#search-container {
	position:absolute;
	top:10px;
	left:80px;
	width:400px;
	max-width:calc(100vw - 100px);
	padding:10px;
	background: #f8f9fa;
	z-index:1000;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
	box-sizing:border-box;
}

#address-input {
	width:100%;
	padding:12px;
	font-size:16px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}
#results { 
	list-style:none;
	padding:0;margin:0; border: 1px solid #ccc;
	display:none;
	background:white;
	position: absolute;
	width: calc(100% - 20px);}
#results li { padding: 10px; cursor: pointer; border-bottom: 1px solid #eee; }
#results li:hover { background: #f0f0f0; }
#map { flex-grow: 1; }

#info-panel {
	position:absolute;
	bottom:20px;left:20px;
	background:white;
	width:fit-content;
	padding: 15px;
	border-radius: 8px;
	box-shadow: 0 0 15px rgba(0,0,0,0.2);
	z-index: 1000; display: none;
	}
#rotate-hint {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0,0,0,0.75);
    color: white;
    padding: 10px 20px;
    border-radius: 20px;
    font-size: 14px;
    z-index: 2000;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 768px) and (orientation: portrait) {
    #rotate-hint {
        display: block;
    }
}
@media (max-width: 480px) {
    #search-container {
        left: 10px;
        right: 10px;
        width: auto;
    }

    #info-panel {
        left: 10px;
        right: 10px;
        bottom: 10px;
        width: auto;
    }
}
