.elementor-15 .elementor-element.elementor-element-e28de6c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-3800c8f{--spacer-size:50px;}.elementor-15 .elementor-element.elementor-element-1bd0439{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-15 .elementor-element.elementor-element-a8803c0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-4dee3ff .elementor-heading-title{font-family:"Yaldevi", Sans-serif;font-size:24px;font-weight:600;text-transform:uppercase;color:#E3423A;}.elementor-15 .elementor-element.elementor-element-e7be520 .elementor-heading-title{font-family:"Yaldevi", Sans-serif;font-size:52px;font-weight:600;text-transform:uppercase;line-height:62px;color:#000000;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-171880e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-15 .elementor-element.elementor-element-6cf65b4{--display:flex;}@media(min-width:768px){.elementor-15 .elementor-element.elementor-element-a8803c0{--width:50%;}.elementor-15 .elementor-element.elementor-element-171880e{--width:50%;}}@media(max-width:767px){.elementor-15 .elementor-element.elementor-element-1bd0439{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15 .elementor-element.elementor-element-4dee3ff .elementor-heading-title{font-size:16px;}.elementor-15 .elementor-element.elementor-element-e7be520 .elementor-heading-title{font-size:29px;line-height:1.5em;}}/* Start custom CSS for shortcode, class: .elementor-element-7eccac5 *//* === LISTA WSZYSTKICH OFERT === */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-all-offers {
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 20px;
}

.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-all-offers h2 {
    font-size: 32px;
    margin-bottom: 30px;
    font-weight: bold;
}

/* GRID */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-grid-all {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
    margin-top: 20px;
}

/* KARTA */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-card-all {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    background: #fff;
    transition: transform 0.3s;
}
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-card-all:hover { transform: translateY(-5px); }

/* OBRAZEK */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-image-all img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

/* OVERLAY TYTUŁ + CENA (dla dostępnych) */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-overlay-all {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 15px 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
    color: #fff;
}
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-overlay-all h3 { margin: 0 0 5px; font-size: 18px; font-weight: 700; }
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-overlay-all p  { margin: 0; font-size: 15px; }

/* Długie tytuły – 2 linie max */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-card-all .esti-overlay-all h3{
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
/* obrazek musi być kontekstem pozycjonowania */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-image-all { position: relative; }

/* .esti-status = NAKŁADKA NA ZDJĘCIU (tylko dla niedostępnych, bo tylko wtedy istnieje) */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-status{
  position: absolute;
  inset: 0;                       /* przykryj całe zdjęcie */
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(227,66,52,.35);/* czerwone „szkło” */
  pointer-events: none;           /* klik nadal działa na <a> */
  padding: 0; margin: 0;
  z-index: 3;
}

/* wygląd napisu na środku */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-status::before{
  content: "Niedostępne";
  background: rgba(255,255,255,.92);
  color: #e34234;
  font-weight: 800;
  font-size: 18px;
  padding: 8px 16px;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
}

/* delikatnie przytłum zdjęcie pod nakładką */
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-status + * img,
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-image-all img{ transition: .2s filter; }
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-status ~ img,
.elementor-15 .elementor-element.elementor-element-7eccac5 .esti-image-all .has-status img{ filter: saturate(105%) contrast(95%) brightness(.98); }

/* RWD */
@media (max-width:520px){
  .elementor-15 .elementor-element.elementor-element-7eccac5 .esti-status::before{ font-size:16px; padding:7px 14px; }
}/* End custom CSS */