/* =========================================================
   plan b — real-content layer (Originalbilder, Karte, Partner-Logos)
   Wird nach den Design-Stylesheets geladen und ergänzt sie nur.
   ========================================================= */

/* Bild-Container: ersetzt die .ph-Platzhalter, behält Rundung & Zuschnitt */
.imgbox { position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--paper-2); }
.imgbox > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* News-Karten-Bild bleibt eckig (oben in der Karte) */
.news-card__img.imgbox { border-radius: 0; height: 200px; }

/* Interaktive Karte (OpenStreetMap/Google Embed) */
.map-embed { display: block; width: 100%; height: 230px; border: 0; border-radius: var(--r-lg); box-shadow: var(--sh-1); background: var(--paper-2); }

/* Partner-Logos statt Text */
.partner img { max-height: 50px; max-width: 80%; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .25s, opacity .25s; }
.partner:hover img { filter: none; opacity: 1; }

/* ---------- Hero: dezentes Foto im Hintergrund (~15 %) ---------- */
.hero__photo {
  position: absolute; inset: 0; z-index: 0;
  background: url("../assets/img/header_photovoltaik_005.jpg") center/cover no-repeat;
  opacity: .15;
}
.hero__photo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(14,20,17,.30) 0%, rgba(14,20,17,.55) 100%);
}

/* ---------- Leistungs-Karten: echtes Foto mit Marken-Farbverlauf ---------- */
.svc-card__top { position: relative; overflow: hidden; min-height: 150px; align-items: flex-start; }
.svc-card__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.svc-card__top::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(155deg,
    color-mix(in srgb, var(--tint-c, var(--paper-2)) 86%, transparent) 0%,
    color-mix(in srgb, var(--tint-c, var(--paper-2)) 60%, transparent) 100%);
}
.svc-card__ic, .svc-card__tag { position: relative; z-index: 2; }
