/* Olten Medical cookie consent banner — site palette: text #18707b, accent #62c1b1, footer #75bec7, font Onest */
#olten-consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 2000;
  padding: 16px; font-family: 'Onest', sans-serif;
}
#olten-consent[hidden] { display: none; }
#olten-consent .oc-box {
  max-width: 980px; margin: 0 auto; background: #FFFEFE; color: #18707b;
  border-top: 5px solid #75bec7; border-radius: 18px;
  box-shadow: 0 10px 40px rgba(24, 112, 123, .25); padding: 22px 26px 20px;
}
#olten-consent .oc-title {
  font-weight: 700; font-size: 1.2rem; margin: 0 0 8px; color: #18707b;
  display: flex; align-items: center; gap: 10px;
}
#olten-consent .oc-title::before {
  content: ''; width: 12px; height: 12px; border-radius: 50%; background: #62c1b1; flex: none;
}
#olten-consent .oc-text { font-size: .95rem; line-height: 1.55; margin: 0 0 14px; color: #18707b; }
#olten-consent .oc-text a { color: #62c1b1; font-weight: 700; text-decoration: underline; }
#olten-consent .oc-settings {
  display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; padding: 12px 16px;
  background: #eef7f8; border-radius: 12px; font-size: .95rem; color: #18707b;
}
#olten-consent .oc-settings[hidden] { display: none; }
#olten-consent .oc-settings label { display: flex; align-items: center; gap: 10px; margin: 0; cursor: pointer; }
#olten-consent .oc-settings input { width: 18px; height: 18px; accent-color: #62c1b1; }
#olten-consent .oc-buttons { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
#olten-consent .oc-btn {
  font-family: 'Onest', sans-serif; border-radius: 50rem; padding: 9px 22px; font-size: .95rem;
  cursor: pointer; border: 1px solid #62c1b1; transition: background-color .15s, color .15s;
}
#olten-consent .oc-btn[hidden] { display: none; }
#olten-consent .oc-primary { background: #62c1b1; color: #FFFEFE; font-weight: 700; }
#olten-consent .oc-primary:hover { background: #18707b; border-color: #18707b; }
#olten-consent .oc-secondary { background: #FFFEFE; color: #62c1b1; }
#olten-consent .oc-secondary:hover { background: #62c1b1; color: #FFFEFE; }
@media (max-width: 576px) {
  #olten-consent { padding: 8px; }
  #olten-consent .oc-box { padding: 18px 16px 16px; }
  #olten-consent .oc-buttons { justify-content: stretch; }
  #olten-consent .oc-btn { flex: 1 1 45%; }
  #olten-consent .oc-primary { flex-basis: 100%; order: -1; }
}

/* footer legal links (on #75bec7) */
.footer-legal a { color: #FFFEFE; text-decoration: none; }
.footer-legal a:hover { text-decoration: underline; }

/* placeholders for external media before consent */
.consent-placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  gap: 12px; cursor: pointer; color: #fff; padding: 20px;
}
.consent-placeholder .consent-note { font-size: .85rem; max-width: 380px; text-shadow: 1px 1px 3px rgba(0, 0, 0, .8); }
.consent-map { background: #eef7f8; color: #18707b; border-radius: 12px; min-height: 350px; border: 1px dashed #75bec7; }
.consent-map .fa-map-marker-alt, .consent-map svg { color: #62c1b1; }
.consent-map .consent-note { text-shadow: none; color: #18707b; }
.consent-map .consent-btn {
  font-family: 'Onest', sans-serif; background: #62c1b1; color: #FFFEFE; border: 0; border-radius: 50rem;
  padding: 10px 24px; font-weight: 700; transition: background-color .15s;
}
.consent-map .consent-btn:hover { background: #18707b; }
