/* Raumfinder Brand Overrides v2
   Minimal-invasiv: nur CSS, keine Daten-/Logikänderungen.
*/

:root{
  --rf-black:#101010;
  --rf-paper:#fff8ec;
  --rf-paper-2:#fff2dc;
  --rf-yellow:#ffbd00;
  --rf-orange:#ff7a00;
  --rf-redorange:#ff4d2e;
  --rf-red:#ff3b24;
}

/* Grundton */
html, body{
  background:linear-gradient(180deg,var(--rf-paper) 0%,#fff 420px) !important;
  color:var(--rf-black);
}

/* Header wärmer und grafischer */
.navbar{
  background:var(--rf-paper) !important;
  border-bottom:2px solid var(--rf-black) !important;
  min-height:82px;
  box-shadow:none !important;
}

.navbar .container,
.navbar .container-fluid{
  align-items:center;
}

.navbar-brand{
  color:var(--rf-black) !important;
  font-weight:800;
  letter-spacing:-.02em;
  display:flex;
  align-items:center;
  gap:10px;
}

/* Logo grösser */
.navbar-brand img,
.navbar img[src*="logo"],
.navbar img[alt*="raumfinder"],
.navbar img[alt*="Raumfinder"]{
  height:58px !important;
  max-height:58px !important;
  width:auto !important;
}

.navbar .nav-link{
  color:var(--rf-black) !important;
  font-weight:600;
}

.navbar .nav-link:hover,
.navbar .dropdown-item:hover{
  color:var(--rf-redorange) !important;
}

.dropdown-menu{
  border:2px solid var(--rf-black) !important;
  border-radius:16px !important;
  box-shadow:6px 6px 0 rgba(16,16,16,.12);
}

/* Links */
a{
  color:var(--rf-black);
}

a:hover{
  color:var(--rf-redorange);
}

/* Buttons im alten Raumfinder-Look */
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary{
  color:#111 !important;
  background:linear-gradient(90deg,var(--rf-yellow) 0%,var(--rf-orange) 56%,var(--rf-redorange) 100%) !important;
  border:3px solid var(--rf-black) !important;
  border-radius:999px !important;
  box-shadow:6px 6px 0 rgba(255,77,46,.45);
  font-weight:700;
}

.btn-primary:hover,
button.btn-primary:hover,
input[type="submit"].btn-primary:hover{
  color:#111 !important;
  background:linear-gradient(90deg,#ffca1a 0%,#ff6d00 48%,var(--rf-red) 100%) !important;
  border-color:var(--rf-black) !important;
  transform:translate(1px,1px);
  box-shadow:5px 5px 0 rgba(255,77,46,.5);
}

.btn-outline-primary{
  color:#111 !important;
  border:2px solid var(--rf-black) !important;
  border-radius:999px !important;
  background:#fff !important;
  font-weight:700;
}

.btn-outline-primary:hover{
  color:#111 !important;
  background:linear-gradient(90deg,var(--rf-yellow),var(--rf-orange),var(--rf-redorange)) !important;
  border-color:var(--rf-black) !important;
}

/* Bootstrap-Blau entschärfen */
.text-primary{ color:var(--rf-redorange) !important; }
.bg-primary{ background:var(--rf-orange) !important; }
.border-primary{ border-color:var(--rf-orange) !important; }

/* Formulare */
.form-control,
.form-select{
  border-color:#11111133;
  border-radius:14px;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus{
  border-color:var(--rf-orange) !important;
  box-shadow:0 0 0 .22rem rgba(255,122,0,.22) !important;
}

.form-check-input:checked{
  background-color:var(--rf-orange) !important;
  border-color:var(--rf-black) !important;
}

/* Such-/Filterbereich */
.card,
.rounded-4,
.room-section,
.fields-panel,
.group-sidebar{
  border-color:#11111126 !important;
}

#filtersForm,
form[id*="filter"],
.filter-card{
  background:#fff !important;
}

/* Filter-Chips */
.btn-outline-primary.rounded-pill,
button.btn-outline-primary.rounded-pill,
.filter-chip,
.tag-chip,
[data-field-filter],
.room-field-filter button,
.field-filter button{
  color:#111 !important;
  border:2px solid var(--rf-black) !important;
  background:#fff !important;
  font-weight:600;
}

.btn-check:checked + .btn-outline-primary,
.btn-outline-primary.active,
.btn-outline-primary:active,
button.btn-outline-primary.active,
.filter-chip.active,
.tag-chip.active,
[data-field-filter].active{
  color:#111 !important;
  background:linear-gradient(90deg,var(--rf-yellow),var(--rf-orange),var(--rf-redorange)) !important;
  border-color:var(--rf-black) !important;
  box-shadow:3px 3px 0 rgba(255,77,46,.45);
}

/* Karte */
#roomsOverviewMap,
#roomMap,
.leaflet-container{
  border:3px solid var(--rf-black) !important;
  border-radius:24px !important;
}

#roomsOverviewMap{
  min-height:500px;
}

/* Leaflet Pins Richtung Orange/Rot.
   Keine JS-Änderung nötig, Standardmarker werden visuell umgefärbt. */
.leaflet-marker-icon{
  filter:hue-rotate(170deg) saturate(2.4) brightness(1.16) contrast(1.12) drop-shadow(2px 3px 0 rgba(0,0,0,.22));
}

/* Cluster oder eigene Marker ebenfalls orange */
.marker-cluster-small,
.marker-cluster-medium,
.marker-cluster-large{
  background-color:rgba(255,77,46,.25) !important;
}

.marker-cluster-small div,
.marker-cluster-medium div,
.marker-cluster-large div{
  background:linear-gradient(90deg,var(--rf-yellow),var(--rf-orange),var(--rf-redorange)) !important;
  color:#111 !important;
  border:2px solid #111;
}

/* Leaflet Controls */
.leaflet-control-zoom{
  border:2px solid var(--rf-black) !important;
  border-radius:14px !important;
  overflow:hidden;
}

.leaflet-control-zoom a{
  color:#111 !important;
  border-color:#111 !important;
}

.leaflet-popup-content-wrapper{
  border:2px solid var(--rf-black);
  border-radius:16px;
}

.leaflet-popup-tip{
  border:1px solid var(--rf-black);
}

/* Badges / Pagination */
.badge.text-bg-primary,
.text-bg-primary{
  color:#111 !important;
  background:var(--rf-orange) !important;
  border:1px solid #111;
}

.page-link{
  color:#111 !important;
}

.page-item.active .page-link{
  color:#111 !important;
  background:linear-gradient(90deg,var(--rf-yellow),var(--rf-orange),var(--rf-redorange)) !important;
  border-color:#111 !important;
}

/* Mobile */
@media(max-width:768px){
  .navbar{
    min-height:68px;
  }

  .navbar-brand img,
  .navbar img[src*="logo"],
  .navbar img[alt*="raumfinder"],
  .navbar img[alt*="Raumfinder"]{
    height:44px !important;
    max-height:44px !important;
  }

  .btn-primary,
  button.btn-primary{
    box-shadow:4px 4px 0 rgba(255,77,46,.45);
  }
}
