* { box-sizing: border-box; }

body { font-family: Arial, sans-serif; }

.quote-btn {
  background: #0b2b26;
  color: #ffd000;
  padding: 15px 28px;
  border: none;
  border-radius: 7px;
  font-weight: bold;
  cursor: pointer;
  font-size: 16px;
}

.quote-btn:hover { background: #123f38; }

.popup-overlay,
.map-overlay {
  display: none;
  position: fixed;
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.78);
}

.popup-box,
.map-box {
  background: #fff;
  max-width: 780px;
  margin: 25px auto;
  padding: 28px;
  border-radius: 12px;
  position: relative;
  max-height: 92vh;
  overflow-y: auto;
  border-top: 8px solid #ffd000;
}

.brand-header {
  border-bottom: 2px solid #0b2b26;
  margin-bottom: 20px;
}

.brand-header h2,
.map-box h3,
.popup-box h3 { color: #0b2b26; }

.popup-box h3 {
  margin-top: 25px;
  background: #f5f5f5;
  padding: 10px;
  border-left: 5px solid #ffd000;
}

.close-btn {
  position: absolute;
  top: 12px;
  right: 18px;
  font-size: 31px;
  cursor: pointer;
  color: #333;
}

label {
  display: block;
  margin-top: 14px;
  font-weight: bold;
  color: #0b2b26;
}

input,
textarea {
  width: 100%;
  padding: 12px;
  margin-top: 5px;
  border: 1px solid #bbb;
  border-radius: 6px;
  font-size: 15px;
}

.location-row {
  display: flex;
  gap: 8px;
}

.location-row input { flex: 1; }

.map-btn {
  margin-top: 5px;
  padding: 11px 15px;
  background: #ffd000;
  color: #0b2b26;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  white-space: nowrap;
}

.submit-btn {
  width: 100%;
  margin-top: 22px;
  padding: 15px;
  background: #0b2b26;
  color: #ffd000;
  border: none;
  border-radius: 7px;
  font-weight: bold;
  cursor: pointer;
  font-size: 16px;
}

.submit-btn:hover,
.map-btn:hover { opacity: 0.9; }

#map {
  width: 100%;
  height: 430px;
  margin-top: 15px;
  border-radius: 8px;
  border: 1px solid #ccc;
}

.autocomplete-holder {
  margin-top: 10px;
  min-height: 48px;
}

gmp-place-autocomplete { width: 100%; }

.distance-box {
  margin-top: 15px;
  padding: 13px;
  background: #f8f8f8;
  border-left: 5px solid #ffd000;
  color: #0b2b26;
  font-weight: bold;
  line-height: 1.5;
}

#formMessage {
  margin-top: 15px;
  font-weight: bold;
}

.success { color: green; }
.error { color: red; }

@media (max-width: 700px) {
  .popup-box,
  .map-box {
    width: 94%;
    margin: 15px auto;
    padding: 20px;
  }

  .location-row { flex-direction: column; }
  .map-btn { width: 100%; }
  #map { height: 340px; }
}
