/* === Tylko na stronie zawierającej #lp-bf-2025 (może być <i> lub <em>) === */
body:has(#lp-bf-2025) #layout{
  position: relative !important;
  overflow: visible !important;
  /* rezerwa na baner: 225/1400 = 16.072% + ~48px tekstu (dostosuj w razie potrzeby) */
  padding-top: calc(16.072% + 48px) !important;
}
body:has(#lp-bf-2025) #content{
  position: static !important;
  overflow: visible !important;
}

/* Wymuś widoczność sekcji (aktualnie .search_categoriesdescription_sub cm) */
body:has(#lp-bf-2025) .search_categoriesdescription_sub,
body:has(#lp-bf-2025) .search_categoriesdescription_sub.cm{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  transform: none !important;
  transition: none !important;
  clear: none !important; /* nadpisuje clear:both; z motywu */
}

/* Umieść blok na samej górze w obrębie #layout i rozciągnij na pełną szerokość */
body:has(#lp-bf-2025) #layout .search_categoriesdescription_sub,
body:has(#lp-bf-2025) #layout .search_categoriesdescription_sub.cm{
  position: absolute !important;
  top: 0; left: 0; right: 0;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  z-index: 999 !important;
}

/* Responsywny obraz + tekst wewnątrz */
body:has(#lp-bf-2025) .search_categoriesdescription_sub img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
body:has(#lp-bf-2025) .search_categoriesdescription_sub p{
  text-align: center !important;
  margin: 8px 0 0 0 !important;
}

/* Na wszelki wypadek — nie przycinaj rodziców */
body:has(#lp-bf-2025) #layout,
body:has(#lp-bf-2025) #layout > *,
body:has(#lp-bf-2025) #content,
body:has(#lp-bf-2025) #content > *{
  overflow: visible !important;
}

/* (opcjonalnie) jeżeli gdzieś jeszcze pojawi się „stara” wersja _next — też złap */
body:has(#lp-bf-2025) #layout .search_categoriesdescription_next.cm{
  position: absolute !important;
  top: 0; left: 0; right: 0;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  z-index: 999 !important;
}

/* === LP Black Friday – regulacja odstępów per breakpoint === */
body:has(#lp-bf-2025){
  /* proporcja obrazka 225/1400 + przestrzeń na tekst */
  --lp-banner-ratio: 16.072%;
  --lp-text-space: 64px;          /* było ~48px; +16px więcej na desktop */
}

/* Rezerwa miejsca pod baner (obraz + tekst) */
body:has(#lp-bf-2025) #layout{
  padding-top: calc(var(--lp-banner-ratio) + var(--lp-text-space)) !important;
}

/* Trochę większa przerwa pod tekstem na dużych ekranach */
@media (min-width: 1200px){
  body:has(#lp-bf-2025){
    --lp-text-space: 80px;        /* jeszcze odrobina luzu na desktop XL */
  }
  body:has(#lp-bf-2025) .search_categoriesdescription_sub p{
    margin-bottom: 12px !important;  /* widoczny „oddech” pod akapitem */
  }
}

/* Tablety – więcej miejsca, bo tekst częściej łamie się w 2 linie */
@media (max-width: 991.98px){
  body:has(#lp-bf-2025){
    --lp-text-space: 96px;
  }
}

/* Telefony – maks. rezerwa, żeby nic nie nachodziło na listing */
@media (max-width: 575.98px){
  body:has(#lp-bf-2025){
    --lp-text-space: 60px;       /* zwiększ, jeśli nadal dotyka listingu */
  }
  body:has(#lp-bf-2025) .search_categoriesdescription_sub p{
    font-size: 14px !important;
    line-height: 1.35 !important;
    padding: 0 8px !important;    /* odrobina bocznego marginesu na małych ekranach */
    margin-bottom: 10px !important;
  }
}