

.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 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;
}

#block_swiper{
    background-color: black;
    color:white;
    /*padding-left: calc(var(--as-gutter-x) * 1);*/
    /*padding-right: calc(var(--as-gutter-x) * 1);*/
}
.block-swiper-button-next {
     right: 22px;
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     width: 20px;
     height: 20px;
     z-index: 10;
     cursor: pointer;
 }
.block-swiper-button-prev {
    left: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    z-index: 10;
    cursor: pointer;
}

#block_swiper .swiper-pagination-bullets {
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-115%);
    z-index: 2;
    bottom: 2%;
    overflow: hidden;
    max-width: 100%;
}

#block_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 */
}

#block_swiper .swiper-pagination-bullet::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: #fff; /* np. kolor wypełnienia */
}

#blog_swiper .slide-overlay a{
    text-decoration: none!important;
    color:black;
}

.blog-swiper-button-next {
    right: 22px;
    position: absolute;
    bottom: 2%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    z-index: 10;
    cursor: pointer;
}
.blog-swiper-button-prev {
    left: 10px;
    position: absolute;
    bottom: 2%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    z-index: 10;
    cursor: pointer;
}

#blog_swiper .swiper-pagination-bullets {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    bottom: 1%;
    overflow: hidden;
    max-width: 100%;
}

#blog_swiper .swiper-pagination-bullet {
    position: relative;
    width: 44px;       /* długość paseczka */
    height: 4px;       /* wysokość */
    background-color: #291F1F;  /* kolor */
    border-radius: 1px; /* opcjonalnie lekko zaokrąglone */
}

#blog_swiper .swiper-pagination-bullet::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}


.page section h2 {
    padding-top: 2rem !important;
    /*padding-bottom: 2rem !important;*/
}

 .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;
}



.offer-list .fill-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offer-list .item {
    margin: 20px 0px;
    display: block;
    /*height: 100%;*/
    position: relative;
    border:1px solid #C5C9C9;
}
.offer-list .item .item-photo:hover {
    transition: All 0.5s ease;
    -webkit-transition: All 0.5s ease;
    -moz-transition: All 0.5s ease;
    -o-transition: All 0.5s ease;
}
.offer-list .item .item-photo:hover figure {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}
.offer-list .item .item-photo:hover .item-cover {
    opacity: 1;
    transition: All 0.5s ease;
    -webkit-transition: All 0.5s ease;
    -moz-transition: All 0.5s ease;
    -o-transition: All 0.5s ease;
}
.offer-list .item .item-photo:hover .item-desc {
    opacity: 0.7;
}
.offer-list .item .item-photo {
    display: block;
    position: relative;
    overflow: hidden;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.offer-list .item .item-photo:before {
    content: "";
    display: block;
    padding-top: 55%;
}
.offer-list .item .item-photo .item-cover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(221, 221, 221, 0.7);
    opacity: 0;
    transition: All 0.5s ease;
    -webkit-transition: All 0.5s ease;
    -moz-transition: All 0.5s ease;
    -o-transition: All 0.5s ease;
}
.offer-list .item .item-photo .item-cover .item-more {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}
.offer-list .item .item-photo figure {
    padding:0;
    margin:0;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    transition: All 0.5s ease;
    -webkit-transition: All 0.5s ease;
    -moz-transition: All 0.5s ease;
    -o-transition: All 0.5s ease;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
}
.offer-list .item .item-desc {
    /*height:200px;*/
    margin-top: 0px;
    position: relative;
    overflow: hidden;
    padding: 20px;
    text-align: center;
    color: #000000;
}
.offer-list .item .item-desc h3 {
    font-size: 18px;
}

.offer-list .item .item-desc ul {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin:3px auto;
    word-break: break-word;
    width: fit-content; /* szerokość = tylko to, co dzieci */
    font-size: 14px;
}
.offer-list .item .item-desc ul li {
    margin: 0px 8px;
    display: flex;
    position: relative;
}
.offer-list .item .item-desc ul li:after {
    content: "";
    background: #ddd;
    height: 100%;
    left: auto;
    right: -8px;
    width: 1px;
    position: absolute;
}
.offer-list .item .item-desc ul li:last-child:after {
    display: none;
}

.offer-list .item .item-btn a {
    margin-bottom:10px;
    width:100%;
}
.offer-list .item .item-btn a:last-child {
    margin:0;
}

     /*.inline_list_right {*/
     /*    float: right;*/
     /*}*/

 .my-block .bg-cover {
     background-size: cover;
     background-position: center;
 }


.my-block .object-fit-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;       /* usuwa dodatkową przerwę pod img */
}

.my-block .height-100, .my-block .h-100 {
    height: 100%;
}

.my-block .width-100, .my-block .w-100 {
    width: 100%;
}

.my-block .flex-fill {
    flex: 1 1 auto;
}

.my-block .section {
    padding-top:25px;
}
.my-block .section:first-child {
    padding-top:0px;
}

.models_content {
    margin-left: auto;
}

.my-btn .btn {
    margin:5px 0px;
}

@media (max-width: 1024px) {
    /*    .inline_list_right {*/
    /*        float: none;*/
    /*    }*/

    .models_content {
        margin-right:auto;
    }
    .flex-small-center {
        justify-content: center;
    }
    .my-block .height-100, .my-block .h-100 {
        height:auto;
    }
}
@media (max-width: 800px) {
    .models_content {
        margin:0;
    }
}

@media (min-width: 1024px) {
    .page_header .container.width-50 {
        float:left;
        max-width: 50%;
    }
}

.terms-container input[type="checkbox"] {
    display: none;
}

.checkcontainer {
    padding-left: 30px;
}

.terms-container .chkbox{
    border:none;
}

.checkcontainer input:checked ~ .chkbox {
    background-color: transparent;
}

.checkcontainer input:checked ~ .chkbox:after {
    background-image: none;
    width: 20px;
    height:20px;
}

.terms-container .chkbox {
    display: block;
    width: 20px;
    height: 20px;
    top:3px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23c0c2c2" class="bi bi-square" viewBox="0 0 16 16"><path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

.terms-container input[type="checkbox"]:checked ~ .chkbox {
    top: 1px;
    left: -2px;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="%2300665E" class="bi bi-check2-square" viewBox="0 0 16 16"><path d="M3 14.5A1.5 1.5 0 0 1 1.5 13V3A1.5 1.5 0 0 1 3 1.5h8a.5.5 0 0 1 0 1H3a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V8a.5.5 0 0 1 1 0v5a1.5 1.5 0 0 1-1.5 1.5z"/><path d="m8.354 10.354 7-7a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0"/></svg>');
}

#modal-form:not([data-type="testdrive"]) .hidden-not-testdrive {
    display: none;
}

.offcanvas-content .step-label{
    color:rgb(37, 37, 37);
}

.offcanvas-content .step-label.valid{
    color:#00665E;
    font-weight: bold;
}

.offcanvas-content input[type="text"],
.offcanvas-content input[type="email"],
.offcanvas-content input[type="tel"],
.offcanvas-content textarea {
    background-color: #F4F4F2;
    border: 1px solid #E2E4E4;
}

.offcanvas-content .step-label.valid:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="%2300665E" class="bi bi-check-circle-fill" viewBox="0 0 16 16"><path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/></svg>');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-color: transparent;
    content: "";
}

.offcanvas-content .step-label.current{
    color:black;
    font-weight: bold;
}

.step-label.current:before {
    color:white;
    background-color: black;
}

.step-label.valid:before {
    color:white;
    background-color: black;
}

.modal-form-left{
    padding-right: calc(var(--as-gutter-x) * 3);
}

.text-white {
    color:white;
}

.text-37{
    color: rgb(37, 37, 37)
}

.post-time {
    display: grid;
    grid-template-columns: max-content auto;
    column-gap: 10px;
    color:#949696;
}
.post-time .date {
    text-align: left;
    white-space: nowrap;
}

.post-toc{
    color: #00665E;
}

.post-toc ul{
    list-style-type: square;
}

.post-toc a{
    color: #00665E;
    text-decoration: none;
}

.video-overlay-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 80px;
    height: 80px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.video-overlay-show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.5);
}