/* === Oferta — misja i właściciel ===
   Układ odwzorowany ze starej strony: dwie kolumny.
   Lewa — dwa złote nadtytuły, nagłówek, tekst (2 akapity), podpis autora
   i złota linia. Prawa — zdjęcie, na którego dolny-lewy róg nachodzi
   ciemny panel z cytatem (ujemne marginesy, tak jak w oryginale). */
.block-offer_intro {
  background: var(--color-bg);
  border-top: 1px solid var(--color-border-soft);
}

.block-offer_intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3xl);
  align-items: start;
}

/* --- lewa kolumna --- */
.block-offer_intro__text {
  display: flex;
  flex-direction: column;
}

.block-offer_intro__kicker {
  margin: var(--space-2) 0 0;
  font-family: var(--font-display);
  font-weight: var(--fw-display);
  font-size: var(--fs-lg);
  line-height: 1.2;
  color: var(--color-gold);
}

.block-offer_intro__heading {
  margin: var(--space-4) 0 0;
  max-width: none;
}

.block-offer_intro__body {
  margin: var(--space-6) 0 0;
  font-size: var(--fs-base);
  color: var(--color-fg-2);
}

.block-offer_intro__body p {
  margin: 0 0 var(--space-4);
}

.block-offer_intro__body p:last-child {
  margin-bottom: 0;
}

.block-offer_intro__sign {
  margin: var(--space-8) 0 0;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-fg-2);
}

.block-offer_intro__rule {
  margin: var(--space-4) 0 0;
  border: 0;
  border-top: 1px solid var(--color-gold);
}

/* --- prawa kolumna: zdjęcie + nachodzący panel z cytatem --- */
.block-offer_intro__media {
  position: relative;
}

.block-offer_intro__image {
  display: block;
  width: 100%;
  height: auto;
}

.block-offer_intro__quote {
  position: relative;
  z-index: 1;
  width: calc(100% - var(--space-3xl) + var(--space-xl));
  margin: calc(-1 * var(--space-3xl)) 0 0 calc(-1 * var(--space-xl));
  padding: var(--space-xl);
  background: var(--color-fg);
  border-left: 4px solid var(--color-gold);
}

.block-offer_intro__quote p {
  margin: 0;
  padding-left: var(--space-5);
  font-size: var(--fs-sm);
  line-height: var(--leading-body);
  color: var(--color-on-accent);
  overflow-wrap: break-word;
}

/* Bez zdjęcia panel nie ma na czym nachodzić — traktujemy go jak zwykły blok. */
.block-offer_intro__media--bare .block-offer_intro__quote {
  width: 100%;
  margin: 0;
}

/* === Responsive === */
@media (max-width: 1024px) {
  .block-offer_intro__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-8);
  }

  /* Panel dalej nachodzi na zdjęcie, ale bez wystawania w bok (inaczej
     ujemny margines łamałby szerokość na wąskich ekranach). */
  .block-offer_intro__quote {
    width: 100%;
    margin: calc(-1 * var(--space-xl)) 0 0 0;
  }
}
