/* Post Hero Shortcode styles (GRID: 2/3 tekst po lewej, 1/3 obraz po prawej) */
.hero {
  position: relative;
  padding: 3rem 1rem;
  overflow: hidden;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.15;
 
}

.hero-content {
  position: relative;
  display: grid;
  grid-template-columns: 2fr 1fr;   /* 2/3 | 1/3 */
  align-items: center;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.hero-text {
  grid-column: 1;
  min-width: 320px;
  color: #fff;
  text-align: left;
}

.hero-text h1 {
  margin: 0 0 .5rem 0;
  color: #fff;
  line-height: 1.2;
}

.hero-text p {
  margin: 0;
}

.hero-image {
  grid-column: 2;          /* po prawej */
  justify-self: end;       /* doklej do prawej krawędzi kolumny */
  width: 100%;
  max-width: 440px;        /* twardy limit szerokości obrazka */
  max-height: 360px;       /* i limit wysokości – żeby baner nie był zbyt wysoki */
  aspect-ratio: 4 / 3;     /* utrzymaj proporcje; przycięcie przez object-fit */
  object-fit: cover;       /* ładne wypełnienie + crop bez zniekształceń */
  border-radius: 12px;
}

/* Tablet: lekko więcej miejsca dla obrazu (60/40) */
@media (max-width: 1024px) {
  .hero-content {
    grid-template-columns: 3fr 2fr; /* 60/40 */
  }
  .hero-image {
    max-width: 380px;
    max-height: 300px;
  }
}

/* Mobile: jedna kolumna; obraz pod tekstem i na całą szerokość */
@media (max-width: 768px) {
  .hero-content {
    grid-template-columns: 1fr;
  }
  .hero-text {
    grid-column: 1;
  }
  .hero-image {
    grid-column: 1;
    justify-self: stretch;
    max-width: 100%;
    width: 100%;
    max-height: 260px;
    aspect-ratio: 16 / 9; /* na mobile zwykle lepiej wygląda bardziej panoramicznie */
  }
}

/* Bardzo małe ekrany: ciaśniejsze odstępy */
@media (max-width: 480px) {
  .hero { padding: 2rem 1rem; }
}
