/* Azure Maps Sync – Frontend Styles (Brand) */
:root{
  --brand-green:  #1E5A39;
  --brand-orange: #C56A12;
  --brand-ivory:  #F5F2EA;
  --brand-white:  #FFFFFF;
  --ink:          #1A1A1A;
  --muted:        #6C6C6C;
  --border:       #DFDACE;
  --shadow:       0 6px 20px rgba(0,0,0,.08);
}

/* Telefonnummern in der Liste */
.ams-list-phones {
  font-size: 12.5px;
  color: var(--brand-green);
  margin-top: 4px;
  font-weight: 500;
}

.ams-list-phones a {
  color: var(--brand-green);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

.ams-list-phones a:hover {
  color: var(--brand-orange);
  border-bottom-color: var(--brand-orange);
}
/* Typography */
.ams-container,
.ams-container input,
.ams-container button,
.ams-container select {
  font-family: "Lato", Arial, Helvetica, sans-serif;
  color: var(--ink);
}

.ams-container h1,
.ams-container h2,
.ams-container h3,
.ams-container h4 {
  font-family: "Arbutus Slab", Arial, Helvetica, sans-serif;
  letter-spacing: .2px;
  color: var(--ink);
}

/* Layout */
.ams-container{
  background: var(--brand-ivory);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 18px;
  box-shadow: var(--shadow);
}

.ams-map-wrapper{
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 18px;
}

@media (max-width: 980px){
  .ams-map-wrapper{
    grid-template-columns: 1fr;
  }
}

/* Search Bar */
.ams-search-bar{
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.ams-search-input{
  flex: 1 1 260px;
  background: var(--brand-white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.ams-search-input:focus{
  border-color: var(--brand-green);
  box-shadow: 0 0 0 3px rgba(30,90,57,.12);
}

.ams-radius-select{
  flex: 0 0 200px;
  background: var(--brand-white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 12px;
  font-size: 15px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.ams-radius-select:focus{
  border-color: var(--brand-green);
  box-shadow: 0 0 0 3px rgba(30,90,57,.12);
}

/* Sidebar */
.ams-sidebar{
  background: var(--brand-white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
  max-height: 600px;
  overflow: auto;
}

.ams-sidebar h3{
  margin: 4px 0 10px;
  font-size: 20px;
}

.ams-loading{
  color: var(--muted);
  font-style: italic;
}

/* List */
.ams-location-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ams-list-item{
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 12px;
  background: var(--brand-ivory);
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
.ams-list-item:hover{
  background: #F9F6EF;
  border-color: #D6CFBF;
}

.ams-list-item h4{
  font-family: "Arbutus Slab", Arial, Helvetica, sans-serif;
  margin: 0 0 4px;
  font-size: 17px;
}

.ams-list-meta{
  font-size: 13.5px;
  color: var(--muted);
}

/* Map */
.ams-map-container{
  background: var(--brand-white);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}

#ams-map{
  width: 100%;
  min-height: 400px;
}

/* InfoWindow */
.ams-info{
  font-family: "Lato", Arial, Helvetica, sans-serif;
  color: var(--ink);
  max-width: 280px;
}
.ams-info h4{
  font-family: "Arbutus Slab", Arial, Helvetica, sans-serif;
  margin: 0 0 6px;
  font-size: 16px;
}
.ams-info .ams-info-line{
  font-size: 13px;
  color: var(--muted);
  margin: 2px 0;
}
.ams-info a{
  color: var(--brand-green);
  text-decoration: none;
  border-bottom: 1px solid rgba(30,90,57,.25);
}
.ams-info a:hover{
  color: var(--brand-orange);
  border-bottom-color: rgba(197,106,18,.45);
}
