

.video-swiper-button-prev,
.video-swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;   /* dopasuj do SVG */
    height: 40px;
    z-index: 10;
    cursor: pointer;
}

@media (max-width: 768px) {
    .video-swiper-button-prev,
    .video-swiper-button-next {
        top: auto;            /* wyłącz wyrównanie do środka */
        transform: translateY(-30%);
        bottom: 2%;           /* przyklej do dołu */
        /*transform: none;      !* usuń translate, bo niepotrzebny *!*/
    }
}

.video-swiper-button-prev {
    left: 10px;
}

.video-swiper-button-next {
    right: 10px;
}

.video-swiper-button-prev svg,
.video-swiper-button-next svg {
    width: 100%;
    height: 100%;
    display: block;
}

#video_swiper {
    background-color: #00B497;
    /*position: relative;*/
    z-index: 1;
}

#video_swiper .swiper-preloader {
    background-color: #00B497;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 200;

    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;

    background-image: url('{{ asset(sliders[0].img)  }}');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
#video_swiper .swiper-preloader img{
    width: 1920px;   /* naturalna szerokość */
    height: 1080px;  /* naturalna wysokość */
    max-width: none;
    object-fit: cover;
    object-position: center;
    display: block;  /* ważne, żeby nie był inline */
}

#video_swiper .swiper-button-next,
#video_swiper .swiper-button-prev {
    display: none!important;
}

.swiper-button-next:after{
    display: none!important;
}
.swiper-button-prev:after{
    display: none!important;
}

.swiper-arrows .swiper-button-next::after{
    display: none!important;
}

#video_swiper .swiper-pagination-bullets {
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-115%);
    z-index: 2;
    bottom: 2%;
    overflow: hidden;
    max-width: 100%;
}

#video_swiper .swiper-pagination-bullet {
    position: relative;
    width: 44px;       /* długość paseczka */
    height: 4px;       /* wysokość */
    background-color: rgba(255,255,255,.5);  /* kolor */
    border-radius: 1px; /* opcjonalnie lekko zaokrąglone */
}

#video_swiper .swiper-pagination-bullet::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: var(--progress, 0%);
    background-color: #fff; /* np. kolor wypełnienia */
    transition: width 0.1s linear;
}

@media (max-width: 768px) {
    #video_swiper .swiper-pagination-bullet {
        width: 28px;
    }
}

#video_swiper .swiper, #video_swiper .swiper-slide {
    width: 100%;
    height: 100vh;
}

#video_swiper .swiper-wrapper {
    height: 100vh;
}
#video_swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

#video_swiper .swiper-slide video {
    width: 1920px;   /* naturalna szerokość filmu */
    height: 1080px;  /* naturalna wysokość filmu */
    max-width: none; /* żeby nie zmniejszał się do viewportu
        /*width: 100%;*/
    /*height: 100%;*/
    /*object-fit: contain; !* cały film widoczny *!*/
    object-fit: cover; /* cały film widoczny */
    object-position: center; /* wyśrodkowany */
}

#video_swiper .swiper-slide img {
    width: 1920px;   /* naturalna szerokość */
    height: 1080px;  /* naturalna wysokość */
    max-width: none;
    object-fit: cover;
    object-position: center;
    display: block;  /* ważne, żeby nie był inline */
}

#video_swiper .slide-overlay {
    position: absolute;
    bottom: 8%;
    left: 3%;
    right:3%;
    /*transform: translateX(-50%);*/
    color: #fff;
    text-align: center;
    z-index: 200;
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: transform;
}

 .grid-container {
     display: grid;
     grid-template-columns: repeat(var(--homepage_tiles, 3), minmax(200px, 1fr));
     max-width: calc(var(--homepage_tiles, 3) * 416px + (var(--homepage_tiles, 3) - 1) * 5px);
     gap: 10px;
     justify-content: center; /* cała siatka wycentrowana */
     margin: 0 auto;
     width: 100%;
     box-sizing: border-box;
 }

.kafelek-card {
    background-size: cover;
    background-position: center;
    width: 100%;
    max-width: 416px; /* ogranicza maksymalną szerokość kafelka */

    background-size: cover;
    background-position: center;
    border-radius: 6px;

    margin-left: auto;
    margin-right: auto;
}

.kafelek-card .card-body {
    padding: 24px;
}

.kafelek-card .card-title{
    color:white;
}

.aston-link {
    text-decoration: none;
    color:white;
}
.aston-link .link-text {
    border-bottom: 1px solid #67b8af; /* cienki border */
    display: inline-block;          /* tylko pod tekstem */
    transition: border-color 1s ease;
}

.aston-link .link-text:hover {
    border-color: white;          /* animacja przy hover */
}

.aston-link-black {
    text-decoration: none;
    color:#00665E;
}
.aston-link-black .link-text {
    border-bottom: 1px solid #67b8af; /* cienki border */
    display: inline-block;          /* tylko pod tekstem */
    transition: border-color 1s ease;
}

.aston-link-black .link-text:hover {
    border-color: #0b625a;          /* animacja przy hover */
}

/* responsive */
@media (max-width: 1024px) {
    .grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 800px) {
    .grid-container {
        grid-template-columns: 1fr;
    }
}

.block-panorama-container {
    width: 100%;
    height: 60%;         /* zostaje środkowe 60% obrazka */
    overflow: hidden;
    position: relative;
}

.block-image-text-panorama {
    width: 100%;
    height: 60vh;
    object-fit: cover;
    object-position: 50% 50%;
}

@media (max-width: 1280px) {
    .block-image-text-panorama {
        height: 30vh;
    }
}

 .img-right-edge {
     max-width: none; /* zdjęcie może być większe niż kolumna */
     height: auto;
 }

/* na mobile (<1024px) kolumny jedna pod drugą */
@media (min-width: 1440px) {
    .img-right-edge {
        height: 65vh;
        width: auto;
    }
}

/* Mobile / tablet <1024px: kolumny jedna pod drugą */
@media (max-width: 1439.99px) {
    .img-right-edge {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-bottom: 15px;
    }
}

/* obrazek w tle w pierwszej kolumnie */
.first-col {
    /*position: relative;*/
    background-repeat: no-repeat;
    background-position: right bottom; /* przylega do prawej */
    background-size: contain; /* lub cover jeśli wolisz */
    /*min-height: 300px;*/

    /*background-repeat: no-repeat;*/
    /*background-position: right bottom;*/
    /*-o-background-size: cover;*/
    /*-moz-background-size: cover;*/
    /*-webkit-background-size: cover;*/
    /*background-size: cover;  !* <- to musi być na końcu *!*/
}

.first-col p {
    max-width: 50%;   /* zajmuje połowę szerokości kolumny */
    margin: 0 0;   /* wyśrodkowanie w kolumnie */
}

@media (max-width: 1439.99px) { /* lg breakpoint */
    .first-col {
        background-image: none!important;
    }

    .first-col p {
        max-width: 100%;   /* zajmuje połowę szerokości kolumny */
    }
}

.row-slider-image img{
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.row.match-height {
    display: flex;
    flex-wrap: wrap; /* ważne, żeby na mobile nadal stackowało */
}

.second-col {
    background-color: white;
}

.row-model-slider{
    height:100%;
    background-color: white;
    display: flex;
    border-style: solid;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-color: #E2E4E4;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

.full-width {
    overflow: hidden;
    position: relative;
}

.full-height h3, .full-height h1, .full-height p {
    color:white;
}

.full-height .header_title{
    width:100%;
}

.full-height img,
.full-height video{
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: 50% 100%;
}

@media (min-width: 1024px){
    .model-cnt .sticky-top {
        top: 60px;
    }
}

.btn-conf{
    color:#00665e;
}
.btn-conf:hover{
    color:#00665e;
    background-color: #e3f1f0;
}

.btn-cont{
    color:#00665e;
    background-color: #f4f4f2;
}
.btn-cont:hover{
    color:#00665e;
    background-color: #e3f1f0;
}