/* --- GŁÓWNY KONTENER BLOKU --- */
.kmt-block-container {
    position: relative;
    margin: 2rem 0;
}

/* === TRYB KARUZELI === */
.kmt-block-container.mode-carousel {
    padding: 0 45px;
}

.mode-carousel .kmt-carousel-container {
    overflow: hidden;
    position: relative;
}

.mode-carousel .swiper-wrapper {
    display: flex;
    align-items: stretch;
}

.mode-carousel .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;
}

/* --- STRZAŁKI NAWIGACYJNE --- */
.mode-carousel .swiper-button-prev,
.mode-carousel .swiper-button-next {
    position: absolute;
    top: 40%;
    transform: translateY(-50%) translateZ(0px);
    z-index: 20;
    cursor: pointer;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: background-color 0.3s ease;
}
.mode-carousel .swiper-button-prev:hover,
.mode-carousel .swiper-button-next:hover {
    background-color: #fff;
}

.mode-carousel .swiper-button-prev { left: 5px; }
.mode-carousel .swiper-button-next { right: 5px; }

.mode-carousel .swiper-button-prev::after,
.mode-carousel .swiper-button-next::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
}

.mode-carousel .swiper-button-prev::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z' fill='%23333'/%3E%3C/svg%3E");
    transform: rotate(180deg);
}

.mode-carousel .swiper-button-next::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z' fill='%23333'/%3E%3C/svg%3E");
}

/* --- PAGINACJA (KROPKI) --- */
.mode-carousel .swiper-pagination {
    position: relative;
    bottom: auto;
    margin-top: 25px;
    width: 100%;
}
.mode-carousel .swiper-pagination-bullet-active {
    background: #17181c;
}

/* === TRYB SIATKI (GRID) === */
.kmt-block-container.mode-grid .kmt-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Responsywność siatki */
@media (max-width: 1024px) {
    .kmt-block-container.mode-grid .kmt-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .kmt-block-container.mode-grid .kmt-grid-container {
        grid-template-columns: 1fr;
    }
}


/* === STYLE WSPÓLNE DLA OBU TRYBÓW === */
.kmt-offer-item {
    display: flex;
    flex-direction: column;
    height: 100%; /* Ważne dla wyrównania w siatce */
    text-decoration: none;
    border: 1px solid #e0e0e0;
    background: #fff;
    transition: box-shadow 0.3s ease;
}
.kmt-offer-item:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.kmt-offer-item__bottom-box {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: 20px;
}

.kmt-offer-item__text-hld {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.kmt-offer-item__bottom-content {
    margin-top: auto;
}

.kmt-offer-item__img-hld{width:100%;padding-top:68.29%;position:relative;overflow:hidden}
.kmt-offer-item__img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover; transition: transform 0.4s ease;}
.kmt-offer-item:hover .kmt-offer-item__img { transform: scale(1.1); }
.kmt-offer-item__title .text{font-size:20px;font-weight:700;color:#17181c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.kmt-offer-item__summary{margin:15px 0 0 0;color:#6f7b7d}.kmt-offer-item__summary ul{list-style:none;padding:0;margin:0}.kmt-offer-item__summary ul li{padding-left:20px;position:relative;margin-bottom:8px}.kmt-offer-item__summary ul li:before{content:"•";position:absolute;left:0;color:#6f7b7d}.kmt-offer-item__special-info{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0; border-bottom:1px solid #e0e0e0; padding-bottom:15px; margin-bottom: 15px;}.kmt-offer-item__special-info .text{font-size:14px;color:#17181c}.kmt-offer-item__price-n-btn{display:flex;justify-content:space-between;align-items:center;}.kmt-offer-item__price{color:#17181c}.kmt-offer-item__price .from{font-size:14px}.kmt-offer-item__price .value{font-size:22px;font-weight:700}.kmt-offer-item__price .rate{font-size:14px}.kmt-offer-item__btn .text{font-weight:700;text-transform:uppercase;font-size:14px}