/* AMPRO stock photo overlays — unified tone with brand palette */

.ampro-photo {
  position: relative;
  overflow: hidden;
  background: #16161a;
}

.ampro-photo--fill {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.ampro-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.ampro-photo__tone {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.ampro-photo__grid {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(15, 15, 18, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 15, 18, 0.07) 1px, transparent 1px);
  background-size: 32px 32px;
  opacity: 0.45;
}

.ampro-photo__mark {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 28px;
  z-index: 3;
  color: var(--c-accent);
  opacity: 0.85;
  pointer-events: none;
}

.pg-hero .ampro-photo__mark {
  color: rgba(255, 255, 255, 0.35);
}

/* Hero — cinematic, balanced visibility */
.ampro-photo--hero img {
  filter: saturate(0.82) contrast(1.04) brightness(0.94);
}

.ampro-photo--hero .ampro-photo__tone {
  background:
    radial-gradient(ellipse 55% 65% at 78% 38%, rgba(235, 35, 71, 0.1), transparent 62%),
    linear-gradient(180deg, rgba(8, 8, 11, 0.18) 0%, rgba(8, 8, 11, 0.42) 100%),
    linear-gradient(90deg, rgba(15, 15, 18, 0.48) 0%, rgba(15, 15, 18, 0.1) 48%, rgba(15, 15, 18, 0.28) 100%);
}

/* Editorial blocks on light sections */
.ampro-photo--editorial img {
  filter: saturate(0.82) contrast(1.04) brightness(0.94);
}

.ampro-photo--editorial .ampro-photo__tone {
  background:
    linear-gradient(180deg, transparent 45%, rgba(15, 15, 18, 0.22) 100%),
    linear-gradient(135deg, rgba(235, 35, 71, 0.06) 0%, transparent 48%);
}

.pg-section--ink .ampro-photo--editorial img,
.pg-hero--rich .ampro-photo--hero img {
  filter: saturate(0.8) contrast(1.05) brightness(0.9);
}

.pg-section--ink .ampro-photo--editorial .ampro-photo__tone,
.pg-hero--rich .ampro-photo--hero .ampro-photo__tone {
  background:
    linear-gradient(180deg, rgba(8, 8, 11, 0.1) 0%, rgba(8, 8, 11, 0.38) 100%),
    linear-gradient(135deg, rgba(235, 35, 71, 0.08) 0%, transparent 55%);
}

/* Wide panorama band */
.ampro-photo--wide img {
  filter: saturate(0.68) contrast(1.08) brightness(0.86);
}

.ampro-photo--wide .ampro-photo__tone {
  background:
    linear-gradient(90deg, rgba(15, 15, 18, 0.55) 0%, rgba(15, 15, 18, 0.08) 35%, rgba(15, 15, 18, 0.08) 65%, rgba(15, 15, 18, 0.5) 100%),
    linear-gradient(180deg, rgba(8, 8, 11, 0.12) 0%, rgba(8, 8, 11, 0.45) 100%),
    rgba(235, 35, 71, 0.05);
}

/* Service cards — editorial tone, spójne z ilustracjami projektu */
.ampro-photo--card img {
  filter: saturate(0.62) contrast(1.08) brightness(0.86);
}

.ampro-photo--card .ampro-photo__tone {
  background:
    linear-gradient(180deg, rgba(15, 15, 18, 0.08) 0%, rgba(15, 15, 18, 0.38) 100%),
    linear-gradient(135deg, rgba(235, 35, 71, 0.1) 0%, transparent 52%);
}

.svc-card:hover .ampro-photo--card img {
  filter: saturate(0.78) contrast(1.08) brightness(0.92);
  transition: filter 0.45s var(--ease, ease);
}

.svc-card .ampro-photo img {
  transition: filter 0.45s var(--ease, ease);
}

/* Warm section tint */
.ampro-photo--warm img {
  filter: saturate(0.8) contrast(1.03) brightness(0.92) sepia(0.08);
}

.ampro-photo--warm .ampro-photo__tone {
  background:
    linear-gradient(180deg, transparent 50%, rgba(15, 15, 18, 0.18) 100%),
    rgba(244, 242, 236, 0.12);
}

/* Blog / knowledge cards */
.ampro-photo--know img {
  filter: saturate(0.76) contrast(1.04) brightness(0.91);
}

.ampro-photo--know .ampro-photo__tone {
  background:
    linear-gradient(180deg, transparent 40%, rgba(15, 15, 18, 0.32) 100%),
    rgba(235, 35, 71, 0.05);
}

/* Case study fallback hero */
.ampro-photo--case img {
  filter: saturate(0.82) contrast(1.05) brightness(0.82);
  opacity: 1;
}

.ampro-photo--case .ampro-photo__tone {
  background:
    linear-gradient(180deg, rgba(8, 8, 11, 0.2) 0%, rgba(8, 8, 11, 0.48) 100%),
    linear-gradient(90deg, rgba(8, 8, 11, 0.38) 0%, rgba(8, 8, 11, 0.08) 55%),
    rgba(235, 35, 71, 0.05);
}

/* Realization rows on homepage */
.real-media .ampro-photo--real img,
.rcard-media .ampro-photo--card img {
  filter: saturate(0.74) contrast(1.06) brightness(0.88);
}

.real-media .ampro-photo--real .ampro-photo__tone {
  background:
    linear-gradient(135deg, rgba(235, 35, 71, 0.07) 0%, transparent 50%),
    linear-gradient(180deg, transparent 50%, rgba(15, 15, 18, 0.22) 100%);
}

.rcard-media .ampro-photo--fill {
  position: absolute;
  inset: 0;
}

.rcard-media {
  position: relative;
}

.rcard:hover .ampro-photo--card img {
  transform: scale(1.03);
  transition: transform 0.45s var(--ease, ease), filter 0.45s var(--ease, ease);
}

.rcard .ampro-photo img {
  transition: transform 0.45s var(--ease, ease), filter 0.45s var(--ease, ease);
}

.pg-media-frame .ampro-photo {
  position: absolute;
  inset: 0;
}

.pg-media-frame {
  background: #16161a;
}

.pg-section:not(.pg-section--ink) .pg-media-frame {
  background: #1a1a1e;
}

.know-card .know-card__media .ampro-photo--fill,
.know-grid__media .ampro-photo--fill {
  position: absolute;
  inset: 0;
}

.pg-know-card .img,
.know-card .know-card__media,
.know-grid__media {
  position: relative;
  overflow: hidden;
}
