/* =========================
   BAZA + RESET
   ========================= */
.esm-content{
  display:block;
  max-width:920px;
  font-family:sans-serif;
  margin:0 auto;
  padding:0;
  border:0;
  color:#000;
}
.esm-content *{ box-sizing:border-box; line-height:1.5; }
.esm-content a,.esm-content div,.esm-content img,.esm-content p,.esm-content span,.esm-content strong{ margin:0; padding:0; border:0; }

/* =========================
   LAYOUT (ROW/COL)
   — globalny flex-grid + siatka kolumn
   ========================= */
.esm-content .esm-row{ display:flex; flex-wrap:wrap; align-items:flex-start; width:100%; margin:0; }
.esm-content .esm-row.esm-row-reverse{ flex-direction:row-reverse; }
.esm-content [class*="esm-col-"]{ width:100%; padding:10px; margin:0 auto; min-width:0; }

.esm-content .esm-col-1{width:8.3333%}.esm-content .esm-col-2{width:16.6666%}.esm-content .esm-col-3{width:25%}
.esm-content .esm-col-4{width:33.3333%}.esm-content .esm-col-5{width:41.6666%}.esm-content .esm-col-6{width:50%}
.esm-content .esm-col-7{width:58.3333%}.esm-content .esm-col-8{width:66.6666%}.esm-content .esm-col-9{width:75%}
.esm-content .esm-col-10{width:83.3333%}.esm-content .esm-col-11{width:91.6666%}.esm-content .esm-col-12{width:100%}

/* aliasy kolumn */
@media (min-width:0px){
  .esm-content .esm-col-s-6{width:50%}
  .esm-content .esm-col-s-12{width:100%}
}
@media (min-width:600px){
  .esm-content .esm-col-m-6{width:50%}
  .esm-content .esm-col-m-12{width:100%}
}

/* =========================
   TYPOGRAFIA + OBRAZY
   ========================= */
.esm-content p{ font-size:14px; font-weight:400; color:#000; text-align:justify; }
.esm-content img{ display:block; max-width:100%; width:100%; height:auto; margin:0 auto; }
.esm-content .esm-title{ display:block; font-size:25px; font-weight:700; color:#000; padding-bottom:15px; text-align:center; }

/* =========================
   BLOKI OBRAZÓW (szerokie + L/P)
   ========================= */
.esm-content .esm-image{ max-width:920px; margin:0 auto; }
.esm-content .esm-image-left-right{ max-width:400px; margin:0 auto; }
.esm-content .esm-row > .esm-col-6 .esm-image img,
.esm-content .esm-image-left-right img{ width:100%; aspect-ratio:4/3; object-fit:cover; }

/* pionowe wyśrodkowanie tekstu przy L/P */
.esm-row.esm-vertical_align .esm-col-6:not(.esm-plr-25){
  display:flex; flex-direction:column; justify-content:center;
}

/* =========================
   UTILS
   ========================= */
.esm-content .esm-text-center{ text-align:center }
.esm-content .esm-plr-25{ padding:0 25px; }
.esm-vertical_align{ align-items:center !important; }

/* =========================
   WIDEO
   ========================= */
.esm-content .esm-video{ position:relative; width:100%; padding-bottom:56.25%; margin:15px auto; }
.esm-content .esm-video video,.esm-content .esm-video iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
}

/* =========================
   SEK. 2×2 (równy kadr)
   ========================= */
.esm-grid-2x2{ --tile-ratio:4/3; }
.esm-grid-2x2 .esm-col-6{ padding:15px; }
.esm-media-rect{ width:100%; aspect-ratio:var(--tile-ratio,4/3); overflow:hidden; border-radius:4px; }
.esm-media-rect>img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.esm-grid-2x2 h3{ margin:12px 0 6px; text-align:center; }
.esm-grid-2x2 p{ margin:0; text-align:center; }

/* 2×2 (podwójne nagłówki) – zgodność */
.esm-tiles-2x2 .tile-img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.esm-tiles-2x2 h3{ margin:10px 0 6px; text-align:center; }
.esm-tiles-2x2 p{ text-align:center; }

/* =========================
   „3 opisy obok siebie” pod szerokim zdjęciem
   ========================= */
.esm-feature3{ display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; margin-top:10px; }
.esm-feature3 .item{ flex:1 1 calc(33.333% - 16px); min-width:220px; text-align:center; }
.esm-feature3 .item p{ margin:6px 0; line-height:1.35; text-align:center; }
.esm-feature3 .item p strong{ display:block; }
/* fallback starego HTML */
.esm-triplet{ flex:0 0 33.333%; padding:10px 15px; text-align:center; }

/* =========================
   LISTA CECH (bullets)
   ========================= */
.esm-feature-list{
  font-size:15px; line-height:1.6;
  margin:0; padding:0 0 0 1.2em; list-style:disc;
}
.esm-feature-list li{ margin:6px 0; }
.esm-feature-list li strong{ display:block; margin-top:8px; font-weight:700; }

/* wyrównanie wierszy wewnątrz .esm-col-12 do góry + stary 2×2 */
.esm-content .esm-col-12 > .esm-row{ align-items:flex-start; }
.esm-content .esm-col-12 > .esm-row > .esm-col-6 > img.lazy{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }

/* =========================
   OPIS POD ZDJĘCIEM (sekcja_zdj_tekst_opis)
   ========================= */
.esm-lead{
  max-width:920px; width:100%;
  margin:0 auto 24px; padding:0 4px;
  font-size:18px; line-height:1.6; text-align:justify;
}
.esm-lead.esm-text-center{ text-align:center; text-align:justify;}
.esm-title + .esm-lead{ margin-top:6px; }
.esm-image + .esm-lead{ margin-top:14px; }

/* =========================
   KARTY (3 kolumny) – finalny, stabilny układ na Grid
   ========================= */
.esm-cards3 .esm-row{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
/* wyłączamy globalne width:100% i margin:auto tylko w kartach */
.esm-cards3 .esm-col-4{
  width:auto !important;
  margin:0 !important;
  padding:0;
  min-width:0;
}
/* wygląd karty + wnętrze */
.esm-cards3 .esm-col-4 > .esm-card{
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:22px 20px;
  border-radius:16px;
  background:#f6f7f9;
  box-shadow:0 0 0 1px #e9eaec inset;
  box-sizing:border-box;
}
.esm-card-eyebrow{
  display:inline-block;
  max-width:80%;
  margin:0 0 8px;
  font-size:11px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#6b6f76;
  font-weight:700;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.esm-card-title{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.3;
  font-weight:800;
}
.esm-card-text{
  margin:0 0 14px;
  font-size:13.5px;
  line-height:1.55;
  color:#1e1e1e;
  text-align:left;
}
.esm-card-icon{ margin-top:auto; padding-top:12px; display:flex; align-items:center; }
.esm-content .esm-card-icon img{ width:auto !important; height:32px; max-width:none; display:block; }

/* =========================
   RESPONSIVE
   ========================= */
@media (min-width:920px){
  .esm-content .esm-image-left-right{ max-width:460px; }
}
@media (max-width:980px){
  .esm-cards3 .esm-row{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
}
@media (max-width:599px){
  .esm-content .esm-col-6,.esm-content .esm-col-4{ width:100%; }
  .esm-content .esm-title{ text-align:center; }
  .esm-feature3 .item{ flex-basis:100%; }
  .esm-tiles-2x2 .tile-img{ aspect-ratio:auto; }
  .esm-triplet{ flex-basis:100%; }
  .esm-lead{ font-size:15px; padding:0 15px; }
  .esm-cards3 .esm-row{ grid-template-columns:1fr; }
}