/* general */
html:has(#widgetPopup.open) {
    overflow-y: hidden;
}
body {
    margin: 0 !important;
}

.sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.page-block {
    margin: 0 20px;
}
.page-block-bg {
    padding: 0 20px;
}

h1 {
    margin-top: 0;
    margin-bottom: 5px;
    color: var(--ws-main-color-1-dark);
    font-size: calc(1.3rem + 1.2vw);
    line-height: calc(1.4rem + 1.4vw);
    font-weight: bold;
}
h2 {
    margin-top: 0;
    margin-bottom: 15px;
    color: var(--ws-main-color-1-dark);
    font-size: calc(1.2rem + 1.1vw);
    line-height: calc(1.3rem + 1.3vw);
    font-weight: bold;
}
p.content + h2 {
    margin-top: 45px;
    margin-bottom: 15px;
}
h3 {
    margin-top: 35px;
    margin-bottom: 10px;
    color: var(--ws-main-color-1-dark);
    font-size: calc(1rem + .5vw);
    line-height: calc(1.1rem + .6vw);
    font-weight: bold;
}
h2 + h3 {
    margin-top: 15px;
    margin-bottom: 10px;
}
h4 {
    margin-top: 25px;
    margin-bottom: 5px;
    color: var(--ws-main-color-1-dark);
    font-size: calc(.9rem + .3vw);
    line-height: calc(.95rem + .4vw);
    font-weight: bold;
}

p.tldr {
    margin-bottom: 15px;
    color: var(--ws-main-color-1-lighter);
    font-size: .9rem;
    line-height: 1.1rem;
}
h2 + p.tldr {
    margin-top: -10px;
}
p.content,
.faq p {
    margin-bottom: 15px;
    box-sizing: border-box;
    color: var(--ws-main-color-1-dark);
    font-size: .95rem;
    line-height: 1.35rem;
}
p.content a {
    background-image: linear-gradient(var(--ws-main-color-2-vivid-dark), var(--ws-main-color-2-vivid-dark));
    color: var(--ws-main-color-2-vivid-dark);
    font-weight: bold;
    text-decoration: none;
}
p.content a:hover {
    color: var(--ws-main-color-2-vivid-dark);
    background-size: 100% 1px;
}

.page-block > ul,
.page-block > ol {
    margin-top: 0;
    margin-bottom: 15px;
    padding-left: 15px;
    box-sizing: border-box;
    list-style-type: disc;
    color: var(--ws-main-color-1-dark);
}
.page-block > ul {
    list-style-type: disc;
}
.page-block > ol {
    list-style-type: decimal;
}
.page-block > ul li,
.page-block > ol li {
    margin: 3px 0;
    font-size: .95rem;
    line-height: 1.35rem;
}

.page-block > h1,
.page-block > h2,
.page-block > h3,
.page-block > h4,
.page-block > p,
.page-block > ul,
.page-block > ol,
.page-block-bg > h1,
.page-block-bg > h2,
.page-block-bg > h3,
.page-block-bg > h4,
.page-block-bg > p,
.page-block-bg > ul,
.page-block-bg > ol {
    width: 100%;
    max-width: 800px;
    box-sizing: border-box;
}

.page-block > .image-row {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    margin-top: 15px;
    margin-bottom: 15px;
}
.page-block > .image-row .image-holder {
    max-width: 100%;
}
.page-block > .image-row .image-holder img {
    display: block;
    max-width: 100%;
    max-height: 500px;
    height: auto;
    width: auto;
    border-radius: 10px;
}
/* rows of two or more give every image the same box, so mixed source ratios line up */
.page-block > .image-row.count-2 .image-holder img,
.page-block > .image-row.count-3 .image-holder img,
.page-block > .image-row.count-4 .image-holder img {
    width: 100%;
    object-fit: cover;
}
.page-block > .image-row.count-2 .image-holder img {
    aspect-ratio: 3 / 2;
}
.page-block > .image-row.count-3 .image-holder img,
.page-block > .image-row.count-4 .image-holder img {
    aspect-ratio: 1 / 1;
}
.page-block > .image-row .image-holder p {
    margin: 15px 0;
    color: var(--ws-grey-medium);
    font-size: .8rem;
    line-height: 1.4rem;
}

@media only screen and (min-width: 480px) {
    
}
@media only screen and (min-width: 576px) {
    .page-block > .image-row {
        display: flex;
        flex-direction: row;
        gap: 0 10px;
    }
    .page-block > .image-row.count-2 .image-holder,
    .page-block > .image-row.count-3 .image-holder,
    .page-block > .image-row.count-4 .image-holder {
        flex: 1 1 0;
    }
}
@media only screen and (min-width: 768px) {
    
}
@media only screen and (min-width: 1024px) {
    .page-block {
        width: 90%;
        margin: 0 auto;
    }
    .page-block-bg {
        padding: 0 5%;
    }
    .page-block > .image-row {
        max-width: 800px;
    }
}
@media only screen and (min-width: 1280px) {
    .page-block {
        width: 1150px;
    }
    .page-block-bg {
        padding: 0 calc(50% - 575px);
    }
    h1 {
        font-size: 2rem;
        line-height: 2.2rem;
    }
    h2 {
        font-size: 1.7rem;
        line-height: 1.8rem;
    }
    h3 {
        font-size: 1.35rem;
        line-height: 1.45rem;
    }
    h4 {
        font-size: 1.1rem;
        line-height: 1.2rem;
    }
}
@media only screen and (min-width: 1536px) {
    .page-block {
        width: 1250px;
    }
    .page-block-bg {
        padding: 0 calc(50% - 625px);
    }
}

/* widget popup */

#widgetPopup {
    position: fixed;
    z-index: 999;
    display: none;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(100,100,100,.4);
}
#widgetPopup.open {
    display: flex;
}
#widgetPopup .holder {
    position: relative;
    width: 92%;
    max-width: 600px;
    max-height: 90vh;
    padding: 15px;
    overflow-y: scroll;
    border-radius: 10px;
    background: white;
}
#widgetPopup .holder::-webkit-scrollbar {
    width: 6px;
    background: transparent;
}
#widgetPopup .holder::-webkit-scrollbar-thumb {
    background: var(--ws-grey-lighter);
    border-radius: 3px;
}
#widgetPopup .holder::-webkit-scrollbar-track {
    background: transparent;
}
#widgetPopup .holder::-webkit-scrollbar-button {
    display: none;
}
#widgetPopup .holder > svg.cross {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 14px;
    height: 14px;
    padding: 8px;
    border-radius: 30px;
    fill: var(--ws-main-color-1-dark);
    cursor: pointer;
    transition: background-color .2s ease;
}
#widgetPopup .holder > svg.cross:hover {
    background-color: var(--ws-main-color-1-extra-lightest);
}

/* hero image */
.hero {
    position: relative;
    width: 100%;
    min-height: 250px;
}
.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            to top,
            color-mix(in oklab, #000 0%, transparent) 0%,
            color-mix(in oklab, #000 25%, transparent) 40%,
            color-mix(in oklab, #000 55%, transparent) 100%
        );
}
.hero > img {
    z-index: 0;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-content {
    z-index: 2;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    width: 100%;
    padding: 85px 15px 35px;
    box-sizing: border-box;
}

.hero .update {
    display: flex;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
}
.hero .update span {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--ws-grey-lighter), var(--ws-grey-light));
    box-shadow: 0 3px 10px 1px rgba(0,0,0,0.45);
    -webkit-box-shadow: 0 3px 10px 1px rgba(0,0,0,0.45);
    -moz-box-shadow: 0 3px 10px 1px rgba(0,0,0,0.45);
    color: var(--ws-main-color-1-dark);
    font-size: .7rem;
    user-select: none;
}

.hero .introduction {
    flex: 0 0 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    gap: 10px 0;
}
.hero .title {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 10px;
}
.hero .title p {
    color: var(--ws-grey-lightest);
    font-size: calc(1.3rem + 1.5vw);
    line-height: calc(1.5rem + 1.7vw);
    font-weight: bold;
    text-shadow: 0 0 15px rgba(0, 0, 0, 0.75);
}
.hero .title p + p {
    color: var(--ws-main-color-2-light);
}
.hero .subtitle {
    color: var(--ws-grey-lightest);
    font-size: calc(.85rem + .3vw);
    line-height: calc(1rem + .7vw);
    text-shadow: 0 0 15px rgba(0, 0, 0, 0.75);
}
.hero .benefits {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 50px 10px;
    height: 30px;
    margin-top: 10px;
    overflow-y: hidden;
}
.hero .benefit {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0 4px;
    padding: 4px 4px;
    border-radius: 25px;
    background-color: var(--ws-grey-lightest);
    box-shadow: 0 3px 5px 1px rgba(0,0,0,0.45);
    -webkit-box-shadow: 0 3px 5px 1px rgba(0,0,0,0.45);
    -moz-box-shadow: 0 3px 5px 1px rgba(0,0,0,0.45);
    color: var(--ws-main-color-1-dark);
    font-size: .7rem;
    user-select: none;
}
.hero .benefits svg {
    width: 15px;
    fill: #00A676;
}
.hero .benefits svg g {
    fill: #00A676;
}

.hero .booking-widget {
    flex: 0 0 100%;
    display: flex;
    flex-direction: column;
    max-width: 375px;
    min-height: 425px;
    box-sizing: border-box;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 3px 10px 1px rgba(0,0,0,0.45);
    -webkit-box-shadow: 0 3px 10px 1px rgba(0,0,0,0.45);
    -moz-box-shadow: 0 3px 10px 1px rgba(0,0,0,0.45);
}
.hero .booking-widget:not(:has(.cb--main)) {
    background-color: transparent;
    box-shadow: 0 3px 10px 1px rgba(0,0,0,0);
    -webkit-box-shadow: 0 3px 10px 1px rgba(0,0,0,0);
    -moz-box-shadow: 0 3px 10px 1px rgba(0,0,0,0);
}
.hero .booking-widget.hidden {
    visibility: hidden;
}

@media only screen and (min-width: 480px) {
    .hero {
        min-height: 250px;
    }
}
@media only screen and (min-width: 576px) {
    .hero {
        min-height: 300px;
    }
    .hero .update span {
        font-size: .75rem;
    }
    .hero .benefit {
        padding: 4px 7px;
        font-size: .8rem;
    }
    .hero .benefits svg {
        width: 20px;
    }
    .hero .booking-widget {
        min-height: 200px;
        max-width: unset;
    }
}
@media only screen and (min-width: 768px) {
    .hero {
        min-height: 350px;
    }
    .hero-content {
        justify-content: flex-start;
    }
    .hero .introduction {
        flex: 1;
        justify-content: center;
        padding-bottom: 25px;
    }
    .hero .booking-widget {
        flex: 0 0 325px;
        min-height: 425px;
    }
}
@media only screen and (min-width: 800px) {
    .hero-content {
        padding-top: 115px;
    }
}
@media only screen and (min-width: 1024px) {
    .hero {
        min-height: 400px;
    }
    .hero-content {
        padding-left: 5%;
        padding-right: 5%; 
    }
    .hero .introduction {
        flex: 1;
    }
    .hero .booking-widget {
        flex: 0 0 375px;
    }
}
@media only screen and (min-width: 1280px) {
    .hero {
        min-height: 500px;
    }
    .hero-content {
        justify-content: center;
        padding-left: 15px;
        padding-right: 15px; 
    }
    .hero .introduction {
        flex: 0 0 80%;
        justify-content: flex-start;
        padding-bottom: 0;
    }
    .hero .booking-widget {
        flex: 0 0 80%;
        min-height: 175px;
    }
    .hero .benefits {
        justify-content: center;
        margin: 15px 0 0;
    }
}
@media only screen and (min-width: 1536px) {
    .hero-content {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
    .hero .introduction {
        flex: unset;
        width: 1250px;
    }
    .hero .booking-widget {
        flex: unset;
        width: 1250px;
    }
}

/* breadcrumbs */

.bread-nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2px 5px;
    padding-top: 10px;
}
.bread-nav a {
    background-image: linear-gradient(var(--ws-main-color-1-lighter), var(--ws-main-color-1-lighter));
    color: var(--ws-main-color-1-lighter);
    font-size: .9rem;
    text-decoration: none;
}
.bread-nav a:hover {
    color: var(--ws-main-color-1-lighter);
    background-size: 100% 1px;
}
.bread-nav span {
    color: var(--ws-main-color-1-lighter);
}

/* price info */

.pricing {
    padding: 50px 0;
}
.price-bars {
    max-width: 100%;
    max-height: 1200px;
    margin: 50px auto;
    padding-left: 0;
    box-sizing: border-box;
    overflow-y: hidden;
    list-style: none;
    list-style-type: none;
    transition: max-height .3s ease-in-out;
}
.pricing .card.closed .price-bars {
    max-height: 300px;
}
.price-bars * {
    user-select: none;
}
.price-bars .price-item {
    --price-item-width: .5;
    --price-item-label-width: 145px;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: 10px 0;
}
.price-bars .price-item .month {
    flex: 0 0 40px;
    color: var(--ws-main-color-1-dark);
    font-weight: bold;
}
.price-bars .price-item .bar {
    position: relative;
    flex: 1;
    height: 30px;
    border-radius: 8px;
    background-color: var(--ws-grey-lighter);
}
.price-bars .price-item .bar-filled {
    position: absolute;
    width: calc(
        var(--price-item-label-width) +
        var(--price-item-width) * max(0px, 100% - var(--price-item-label-width))
    );
    min-width: var(--price-item-label-width);
    height: 30px;
    border-radius: 8px;
    background-color: #7dcba1;
    background-color: color-mix(
        in oklab,
        #7dcba1,
        #d6f0e0
        clamp(0%, calc(var(--price-item-width) * 100%), 100%)
    );
    transition: width .3s ease-in-out;
}
.price-bars .price-item .bar-filled.cheap {
    background-color: #4db07e;
}
.price-bars .price-item .price {
    position: absolute;
    display: flex;
    flex-direction: row;
    align-items: center;
    right: 8px;
    height: 30px;
    white-space: nowrap;
}
@property --price-item-label-c1 { syntax: '<color>'; inherits: false; initial-value: #000; }
@property --price-item-label-c2 { syntax: '<color>'; inherits: false; initial-value: #000; }
.price-bars .price-item .price .currently {
    --price-item-label-c1: #20794e;
    --price-item-label-c2: #1a6342;
    padding: 4px 6px;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--price-item-label-c1), var(--price-item-label-c2));
    color: #fff;
    font-size: .75rem;
    font-weight: 600;
    cursor: pointer;
    transition: --price-item-label-c1 .25s ease, --price-item-label-c2 .25s ease;
}
.price-bars .price-item .price .currently:hover {
    --price-item-label-c1: #0f3a27;
    --price-item-label-c2: #20794e;
}
.pricing .opener {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: -50px 0 0;
    padding: 20px 0 20px;
    background: linear-gradient(0deg, rgba(255,255,255,1), rgba(255,255,255,.1));
    transition: margin .3s ease-in-out, padding .3s ease-in-out;
}
.pricing .card.closed + .opener {
    margin: -130px 0 0;
    padding: 65px 0 10px;
}
.pricing .opener .handle {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
    cursor: pointer;
}
.pricing .opener span {
    color: var(--ws-main-color-1);
    font-size: .9rem;
    font-weight: bold;
    transition: color .2s ease;
}
.pricing .opener .handle:hover span {
    color: var(--ws-main-color-1-light);
}
.pricing .card + .opener .open {
    display: none;
}
.pricing .card.closed + .opener .open {
    display: block;
}
.pricing .card.closed + .opener .close {
    display: none;
}
.pricing .opener svg {
    width: 10px;
    fill: var(--ws-main-color-1);
    transition: transform .2s ease, color .2s ease;
}
.pricing .opener .handle:hover svg {
    fill: var(--ws-main-color-1-light);
}
.pricing .card + .opener svg {
    transform: rotate(270deg);
}
.pricing .card.closed + .opener svg {
    transform: rotate(90deg);
}


/* vehicle preview */

.vehicles {
    margin-top: 30px;
}
.vehicles section {
    margin-bottom: 30px;
}
.vehicles-list {
    width: 100%;
    padding-bottom: 15px !important;
    box-sizing: border-box;
}
.vehicles-list .car-item {
    width: 300px;
    max-width: 100%;
    height: auto;
}
.vehicles-list .car-item .agencies {
    margin-bottom: 40px;
}
.vehicles-nav {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 5px;
}
.vehicles-prev,
.vehicles-next {
    flex: 0 0 auto;
    padding: 0;
    border: none;
    background: none;
    color: var(--ws-grey-dark);
    font-weight: 600;
    cursor: pointer;
    transition: color .2s ease;
}
.vehicles-prev:hover,
.vehicles-next:hover {
    color: var(--text-default);
}
.vehicles-prev.swiper-button-disabled,
.vehicles-next.swiper-button-disabled {
    color: var(--ws-grey-light);
    cursor: default;
}
.vehicles-scrollbar {
    position: relative;
    flex: 1 1 auto;
    height: 6px;
    border-radius: 3px;
    background-color: var(--ws-grey-light);
}
.vehicles-scrollbar .swiper-scrollbar-drag {
    height: 100%;
    border-radius: 3px;
    background-color: var(--ws-main-color-3);
    cursor: grab;
}
.vehicles-nav-hint {
    margin-top: 10px;
    color: var(--ws-grey-medium);
    font-size: 13px;
}
.car-item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 300px;
    max-width: 100%;
    height: 405px;
    padding: 10px;
    overflow: hidden;
    box-sizing: border-box;
    border-style: solid;
    border-width: .5px;
    border-color: var(--ws-grey-light);
    border-radius: 15px;
    transition: border-color .2s ease;
}
.car-item:hover {
    border-color: var(--ws-grey-medium);
    box-shadow: 0 3px 10px 1px rgba(0,0,0,0.15);
    -webkit-box-shadow: 0 3px 10px 1px rgba(0,0,0,0.15);
    -moz-box-shadow: 0 3px 10px 1px rgba(0,0,0,0.15);
}
.car-item * {
    color: var(--ws-main-color-1-dark);
    user-select: none;
}
.car-item h3 {
    margin: 0;
    max-width: 100%;
    overflow-x: hidden;
    white-space: nowrap;
    font-size: 1.2rem;
    line-height: 1.2rem;
}
.car-item h3 .similar {
    display: block;
    margin-top: 0;
    color: var(--ws-main-color-1-lighter);
    font-size: .85rem;
    font-weight: 600;
}
.car-item .car-image-holder {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80%;
    height: 120px;
    margin: 0 auto;
}
.car-item .car-image-holder img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
    min-width: 0;
    min-height: 0;
    content-visibility: auto;
    contain-intrinsic-size: 300px 150px;
}
.car-item .category {
    position: absolute;
    right: 10px;
    top: 33px;
    padding: 5px 8px;
    border-radius: 5px;
    background-color: var(--ws-main-color-1-extra-lighter);
    color: var(--ws-main-color-1-dark);
    font-size: .8rem;
}
.car-item .specs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 4px 6px;
    width: 100%;
    font-size: .85rem;
}
/* a group never breaks internally, so the row can only ever wrap between groups */
.car-item .specs__group {
    display: flex;
    align-items: center;
    gap: 0 6px;
    white-space: nowrap;
}
/* car-specs.js sets the modifier while both groups share a line, so the separator
   between them disappears when the row wraps */
.car-item .specs--inline .specs__group + .specs__group::before {
    content: "•";
}
.car-item .specs p {
    font-size: inherit;
}
.car-item .specs .seats,
.car-item .specs .doors {
    display: inline-flex;
    align-items: center;
}
.car-item .specs svg {
    flex: none;
    width: 14px;
    margin-right: 5px;
}
.car-item .from {
    margin: 5px 0 7px;
    text-align: center;
    font-style: italic;
}
.car-item .agencies {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    margin: 10px 0 10px;
}
.car-item .agencies h4 {
    margin: 0;
    font-size: 1rem;
    line-height: 1rem;
}
.car-item .agency {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.car-item .agency + .agency::before {
    content: "";
    position: absolute;
    width: 80%;
    height: 1px;
    left: 10%;
    top: 0;
    background-color: var(--ws-grey-light);
}
.car-item .brand {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0 5px;
    margin: 10px 0;
}
.car-item .brand img {
    order: 2;
    width: 60px;
    max-height: 20px;
    content-visibility: auto;
    contain-intrinsic-size: 300px 150px;
}
.car-item .brand p {
    order: 1;
    max-width: 110px;
    overflow: hidden;
    white-space: nowrap;
    font-size: .85rem;
    line-height: 1.05rem;
}
.car-item .price {
    font-size: .85rem;
    white-space: nowrap;
}
.car-item .price strong {
    font-size: 1.1rem;
}
.car-item .cta {
    position: absolute;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    bottom: 10px;
    width: calc(100% - 20px);
}
@property --car-item-submit-c1 { syntax: '<color>'; inherits: false; initial-value: #000; }
@property --car-item-submit-c2 { syntax: '<color>'; inherits: false; initial-value: #000; }
.car-item .submit {
    --car-item-submit-c1: var(--ws-main-color-3);
    --car-item-submit-c2: var(--ws-main-color-3-dark);
    width: 100%;
    padding: 10px 0;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--car-item-submit-c1), var(--car-item-submit-c2));
    color: white;
    font-size: .9rem;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: --car-item-submit-c1 .25s ease, --car-item-submit-c2 .25s ease;
}
.car-item .submit:hover {
    --car-item-submit-c1: var(--ws-main-color-3-light);
    --car-item-submit-c2: var(--ws-main-color-3);
}
@media (prefers-reduced-motion: reduce){
  .car-item .submit { transition: none; }
}
.car-item .cancel svg {
    width: 17px;
    margin-left: 5px;
}
.car-item .cancel svg path {
    fill: #00A676;
}

@media only screen and (min-width: 576px) {
    .car-item .brand img {
        width: 40px;
    }
    .car-item .brand p {
        max-width: 90px;
    }
}
@media only screen and (min-width: 650px) {
    .car-item .brand p {
        max-width: 110px;
    }
}
@media only screen and (min-width: 768px) {
    .car-item .brand p {
        max-width: calc(14vw - 40px);
    }
}
@media only screen and (min-width: 900px) {
    .car-item .brand img {
        width: 50px;
    }
}
@media only screen and (min-width: 1024px) {
    .car-item .brand p {
        max-width: calc(10vw - 50px);
    }
}
@media only screen and (min-width: 1280px) {
    .car-item .brand img {
        width: 60px;
    }
    .car-item .brand p {
        max-width: 100px;
    }
}
@media only screen and (min-width: 1536px) {
    .car-item .brand p {
        max-width: 110px;
    }
}

/* explainer */

.page-block.explainer {
    padding: 45px 0 20px;
}

/* key info */

.key-info {
    padding: 25px 0 35px;
}
.key-info .list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    width: fit-content;
    max-width: 100%;
    margin: 35px auto 0;
}
.key-info .list .item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px 0;
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
    border-style: solid;
    border-width: .5px;
    border-color: var(--ws-grey-light);
    border-radius: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.key-info .list .item:hover {
    border-color: var(--ws-main-color-2-vivid);
    box-shadow: 0 6px 16px rgba(0,0,0,.2);
}
.key-info .list .item .top {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.key-info .list .item .icon {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    height: 45px;
    border-radius: 10px;
    background-color: var(--ws-grey-lightest);
}
.key-info .list .item .icon svg {
    width: 35px;
    fill: var(--ws-main-color-1-light);
    transition: fill .2s ease;
}
.key-info .list .item .icon svg g {
    fill: var(--ws-main-color-1-light);
    transition: fill .2s ease;
}
.key-info .list .item .icon svg.credit-card path,
.key-info .list .item .icon svg.credit-card line {
    stroke: var(--ws-main-color-1-light);
    transition: stroke .2s ease;
}
.key-info .list .item .icon svg.traffic { width: 43px; }
.key-info .list .item h3 {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.2rem;
    transition: color .2s ease;
}
.key-info .list .item .top .content {
    width: 100%;
}
.key-info .list .item .content {
    margin: 0;
    transition: color .2s ease;
}
.key-info .list .item .link-style {
    display: inline-flex;
    align-items: center;
    gap: 0 6px;
    background-image: linear-gradient(var(--ws-main-color-2-vivid-dark), var(--ws-main-color-2-vivid-dark));
    color: var(--ws-main-color-2-vivid-dark);
    font-weight: bold;
    text-decoration: none;
}
.key-info .list .item .link-style:hover {
    color: var(--ws-main-color-2-vivid-dark);
    background-size: 100% 1px;
}

.key-info .list .item .link-style svg {
    width: 12px;
    margin-top: 2px;
    fill: var(--ws-main-color-2-vivid-dark);
}
@media only screen and (min-width: 650px) {
    .key-info .list .item {
        width: calc(50% - 10px);
    }
}

/* locations */

.locations {
    margin: 45px 0 0;
    padding-top: 55px;
    padding-bottom: 45px;
    background-color: var(--ws-main-color-1-extra-lightest);
}

.locations .map-holder {
    width: 100%;
    height: 450px;
    margin: 10px 0 40px;
    overflow: hidden;
    border-radius: 15px;
    background-color: var(--ws-main-color-2-extra-lightest);
}
.locations .map {
    width: 100%;
    height: 100%;
}
.locations .map .maplibregl-ctrl-attrib {
    display: none;
}
:root {

    --cluster-small: var(--ws-main-color-1-extra-lighter);
    --cluster-mid:   var(--ws-main-color-1-extra-light);
    --cluster-big:   var(--ws-main-color-1-lightest);
    --point-fill:    var(--ws-main-color-2-vivid);
    --point-stroke:  var(--ws-main-color-1);

}

.locations-list-holder {
    max-height: var(--locations-list-height);
    transition: max-height .5s ease-out;
}
.locations-list-holder.closed {
    max-height: 300px;
    overflow-y: hidden;
    transition: max-height .5s ease-in-out;
}
.locations-list {
    column-count: 1;
    column-gap: 20px;
    width: 100%;
    margin: 20px 0 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    list-style-type: none;
}
@media (min-width: 665px) {
    .locations-list:has(li:nth-child(6)) { column-count: 2; }
}
@media (min-width: 1024px) {
    .locations-list:has(li:nth-child(11)) { column-count: 3; }
}
@media (min-width: 1536px) {
    .locations-list:has(li:nth-child(16)) { column-count: 4; }
}
.locations-list li {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    break-inside: avoid;
    margin: 0 0 8px;
}
.locations-list li.region {
    margin: 20px 0 12px;
    break-after: avoid-column;
}
.locations-list li.region:first-child {
    margin: 0 0 10px;
}
.locations-list li svg {
    width: 12px;
    fill: var(--ws-main-color-1);
}
.locations-list li a {
    display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0 5px;
    color: var(--ws-main-color-1);
    text-decoration: none;
    cursor: pointer;
}
.locations-list li a .link-style {
    flex: 1;
    background-image: linear-gradient(var(--ws-main-color-1), var(--ws-main-color-1));
    color: var(--ws-main-color-1);
    line-height: 1.05rem;
    text-decoration: none;
}
.locations-list li a:hover .link-style {
    color: var(--ws-main-color-1);
    background-size: 100% 1px;
}
.locations-list li.region span {
    color: var(--ws-main-color-1-dark);
    font-size: 1rem;
    font-weight: bold;
}

.locations .opener {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 0 0 0;
    padding: 20px 0 20px;
    background: linear-gradient(0deg, rgba(245,243,251,1), rgba(245,243,251,.1));
    transition: margin .3s ease-in-out, padding .3s ease-in-out;
}
.locations .locations-list-holder.closed + .opener {
    margin: -80px 0 0;
    padding: 65px 0 10px;
}
.locations .opener .handle {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
    cursor: pointer;
}
.locations .opener span {
    color: var(--ws-main-color-1);
    font-size: .9rem;
    font-weight: bold;
    transition: color .2s ease;
}
.locations .opener .handle:hover span {
    color: var(--ws-main-color-1-light);
}
.locations .locations-list-holder + .opener .open {
    display: none;
}
.locations .locations-list-holder.closed + .opener .open {
    display: block;
}
.locations .locations-list-holder.closed + .opener .close {
    display: none;
}
.locations .opener svg {
    width: 10px;
    fill: var(--ws-main-color-1);
    transition: transform .2s ease, color .2s ease;
}
.locations .opener .handle:hover svg {
    fill: var(--ws-main-color-1-light);
}
.locations .locations-list-holder + .opener svg {
    transform: rotate(270deg);
}
.locations .locations-list-holder.closed + .opener svg {
    transform: rotate(90deg);
}

/* Popular locations */

.popular-locations {
    margin: 20px 0 0;
}
.popular-locations__head {
    margin: 0 0 25px;
}
.popular-locations__head p {
    margin: 8px 0 0;
    max-width: 640px;
    color: var(--ws-main-color-1-dark);
}
.popular-locations__cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 768px) {
    .popular-locations__cols {
        grid-template-columns: 1fr 1fr;
    }
}
.popular-locations__col {
    padding: 22px 26px 14px;
    border: 1px solid var(--ws-main-color-1-extra-lightest);
    border-radius: 16px;
    background-color: #fff;
    box-shadow: 0 10px 30px -18px rgba(40, 30, 90, .35);
}
.popular-locations__col-title {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0 9px;
    margin: 0 0 6px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--ws-main-color-1-extra-lightest);
    font-size: .78rem;
    font-weight: bold;
    color: var(--ws-main-color-1);
}
.popular-locations__col-title::before {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: var(--ws-main-color-1-vivid);
}
.popular-locations__col-title--cities {
    color: var(--ws-main-color-2-vivid-dark);
}
.popular-locations__col-title--cities::before {
    background-color: var(--ws-main-color-2-vivid);
}
.popular-locations__list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.popular-locations__item + .popular-locations__item {
    border-top: 1px solid var(--ws-main-color-1-extra-lightest);
}
.popular-locations__link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0 14px;
    margin: 0 -12px;
    padding: 13px 12px;
    border-radius: 12px;
    text-decoration: none;
    color: var(--ws-main-color-1-dark);
    transition: background-color .2s ease;
}
.popular-locations__link:hover {
    background-color: var(--ws-main-color-1-extra-lightest);
}
.popular-locations__rank {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: var(--ws-main-color-1-extra-lightest);
    font-size: .9rem;
    font-weight: bold;
    color: var(--ws-main-color-1);
}
.popular-locations__col-title--cities ~ .popular-locations__list .popular-locations__rank {
    background-color: var(--ws-main-color-2-extra-lightest);
    color: var(--ws-main-color-2-vivid-dark);
}
.popular-locations__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px 0;
    min-width: 0;
}
.popular-locations__name {
    font-size: .95rem;
    font-weight: bold;
    line-height: 1.25;
    color: var(--ws-main-color-1-dark);
}
.popular-locations__meta {
    font-size: .82rem;
    color: var(--ws-main-color-1-light);
}
.popular-locations__badge {
    flex: 0 0 auto;
    padding: 8px 9px;
    border-radius: 7px;
    background-color: var(--ws-main-color-1-extra-lightest);
    font-size: .72rem;
    font-weight: bold;
    letter-spacing: .06em;
    color: var(--ws-main-color-1);
}
.popular-locations__chevron {
    flex: 0 0 auto;
    font-size: 1.4rem;
    line-height: 1;
    color: var(--ws-main-color-1-lighter);
    transition: transform .2s ease, color .2s ease;
}
.popular-locations__link:hover .popular-locations__chevron {
    transform: translateX(3px);
    color: var(--ws-main-color-2-vivid);
}
.popular-locations__cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    margin: 20px 0 0;
    padding: 22px 26px;
    border: 1px solid var(--ws-main-color-1-extra-lightest);
    border-radius: 16px;
    background-color: #fff;
    box-shadow: 0 10px 30px -18px rgba(40, 30, 90, .35);
}
@media (min-width: 768px) {
    .popular-locations__cta {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}
.popular-locations__cta-title {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: bold;
    color: var(--ws-main-color-1-dark);
}
.popular-locations__cta-text {
    color: var(--ws-main-color-1-light);
}
.popular-locations__cta-link {
    flex: 0 0 auto;
    padding: 12px 22px;
    border-radius: 10px;
    background-color: var(--ws-main-color-1);
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    white-space: nowrap;
    transition: background-color .2s ease;
}
.popular-locations__cta-link:hover {
    background-color: var(--ws-main-color-1-dark);
}

/* FAQs */

.faq {
    padding: 50px 0 35px;
}
.faq--holder {
    margin: 30px auto;
    padding: 1px 22.5px 10px;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 20px;
    background-color: var(--ws-main-color-1-extra-lightest);
}
.faq--element {
    position: relative;
    margin: 20px 0 0;
}
.faq--question {
    cursor: pointer;
}
.faq--question h3 {
    width: calc(100% - 15px);
    margin: 0 0 15px;
    font-size: calc(.9rem + .1vw);
    line-height: calc(1.2rem + .4vw);
    font-weight: bold;
    transition: color .2s ease;
}
.faq--opener {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    transition: color .2s ease;
}
.faq--opener svg {
    width: 10px;
    transition: transform .2s ease;
}
.faq--question.opened svg {
    transform: rotate(270deg);
}
.faq--question.closed svg {
    transform: rotate(90deg);
}
.faq--question:hover h3,
.faq--question:hover .faq--opener {
    color: var(--ws-grey-medium);
}
.faq--answer {
    position: relative;
    overflow: hidden;
    max-height: 0;
    margin: 0 0 0;
    padding: 0 7.5px;
    line-height: 1.8rem;
    transition: max-height .5s ease-in-out;
}
.faq--answer p {
    margin: 10px 0;
    max-width: 800px;
}
.faq--question.opened + .faq--answer {
    max-height: 500px;
}


/* rental companies */

.page-block.rental-companies {
    padding: 30px 0;
}
.rental-companies .company-list {
    width: 100%;
    max-width: 1200px;
    margin: 25px auto 0;
    box-sizing: border-box;
}
.rental-companies .rental-company {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 15px 0;
    width: 180px !important;
    height: auto !important;
    padding: 15px;
    box-sizing: border-box;
    border-radius: 15px;
    user-select: none;
}
.rental-companies .rental-company .logo {
    max-width: 100%;
}
.rental-companies .rental-company .logo img {
    display: block;
    max-width: 100%;
    max-height: 80px;
    height: auto;
    width: auto;
    border-radius: 10px;
}
.rental-companies .rental-company p {
    font-size: .9rem;
    font-style: italic;
    text-align: center;
}
.companies-nav {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 5px;
}
.companies-prev,
.companies-next {
    flex: 0 0 auto;
    padding: 0;
    border: none;
    background: none;
    color: var(--ws-grey-dark);
    font-weight: 600;
    cursor: pointer;
    transition: color .2s ease;
}
.companies-prev:hover,
.companies-next:hover {
    color: var(--text-default);
}
.companies-prev.swiper-button-disabled,
.companies-next.swiper-button-disabled {
    color: var(--ws-grey-light);
    cursor: default;
}
.companies-scrollbar {
    position: relative;
    flex: 1 1 auto;
    height: 6px;
    border-radius: 3px;
    background-color: var(--ws-grey-light);
}
.companies-scrollbar .swiper-scrollbar-drag {
    height: 100%;
    border-radius: 3px;
    background-color: var(--ws-main-color-3);
    cursor: grab;
}
.companies-nav-hint {
    width: 100% !important;
    margin-top: 10px;
    color: var(--ws-grey-medium);
    font-size: 13px;
}

/* road trips */

.page-block.road-trips {
    margin: 0 auto;
    padding: 0;
}
.page-block.road-trips:has(*) {
    padding: 45px 0 20px;
}
@media only screen and (max-width: 1024px) {
    .page-block.road-trips > h1,
    .page-block.road-trips > h2,
    .page-block.road-trips > h3,
    .page-block.road-trips > h4,
    .page-block.road-trips > h5,
    .page-block.road-trips > h6,
    .page-block.road-trips .content {
        padding-left: 20px;
        padding-right: 20px;
    }
    .page-block.road-trips ol,
    .page-block.road-trips ul {
        padding-left: 35px;
        padding-right: 20px;
    }
}

.road-trips ul.summary {
    margin-top: 0;
    margin-bottom: 15px;
    padding-left: 15px;
    list-style-type: disc;
    color: var(--ws-main-color-1-dark);
}
.road-trips ul.summary li {
    margin: 3px 0;
    line-height: 1.4rem;
}

.road-trip-list {
    width: 100%;
    margin: 35px 0;
    padding: 10px 0;
    box-sizing: border-box;
}
.road-trip-slide {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 300px !important;
    height: auto !important;
    overflow: hidden;
    box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: var(--ws-grey-light);
    border-radius: 20px;
    transition: border-color .2s ease;
}
.road-trip-slide:hover {
    border-color: var(--ws-grey-medium);
    box-shadow: 0 3px 10px 1px rgba(0,0,0,0.15);
    -webkit-box-shadow: 0 3px 10px 1px rgba(0,0,0,0.15);
    -moz-box-shadow: 0 3px 10px 1px rgba(0,0,0,0.15);
}
.road-trip-slide * {
    user-select: none;
}
.road-trip-slide .thumbnail {
    position: relative;
    width: 100%;
    height: 150px;
}
.road-trip-slide .thumbnail img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    content-visibility: auto;
    contain-intrinsic-size: 300px 150px;
}
.road-trip-slide .thumbnail .road-trip-datas {
    position: absolute;
    display: flex;
    flex-direction: row;
    gap: 10px;
    top: 15px;
    right: 15px;
}
.road-trip-slide .thumbnail .road-trip-data {
    padding: 5px 8px;
    border-radius: 5px;
    background-color: var(--ws-main-color-1-dark);
    color: white;
    font-size: .8rem;
}
.road-trip-slide .detail {
    padding: 15px;
}
.road-trip-slide h4,
.road-trip-slide .content {
    margin: 0;
}
.road-trip-slide .road-trip-specs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3px;
    margin: 5px 0;
}
.road-trip-slide .road-trip-spec {
    padding: 5px 8px;
    border-radius: 5px;
    background-color: var(--ws-main-color-1-extra-lighter);
    color: var(--ws-main-color-1-dark);
    font-size: .8rem;
}
.road-trip-slide .road-trip-recommended {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0 10px;
    margin: 10px 0 30px;
    padding: 10px;
    border-style: solid;
    border-width: 2px;
    border-color: var(--ws-main-color-2-lighter);
    border-radius: 10px;
    background-color: var(--ws-main-color-2-extra-light);
}
.road-trip-slide .road-trip-recommended svg {
    width: 20px;
    fill: var(--ws-main-color-1-dark);
}
.road-trip-slide .road-trip-vehicle {
    display: flex;
    flex-direction: column;
    gap: 3px 0;
    color: var(--ws-main-color-1-dark);
    font-size: .9rem;
}
.road-trip-slide .road-trip-vehicle .title {
    font-weight: bold;
}
.road-trip-slide .content {
    position: absolute;
    bottom: 15px;
}
.road-trip-slide .link-style {
    display: inline-flex;
    align-items: center;
    gap: 0 6px;
}
.road-trip-slide .link-style svg {
    width: 12px;
    margin-top: 2px;
    fill: var(--ws-main-color-2-vivid-dark);
}
.roadtrips-nav {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 5px;
}
.roadtrips-prev,
.roadtrips-next {
    flex: 0 0 auto;
    padding: 0;
    border: none;
    background: none;
    color: var(--ws-grey-dark);
    font-weight: 600;
    cursor: pointer;
    transition: color .2s ease;
}
.roadtrips-prev:hover,
.roadtrips-next:hover {
    color: var(--text-default);
}
.roadtrips-prev.swiper-button-disabled,
.roadtrips-next.swiper-button-disabled {
    color: var(--ws-grey-light);
    cursor: default;
}
.roadtrips-scrollbar {
    position: relative;
    flex: 1 1 auto;
    height: 6px;
    border-radius: 3px;
    background-color: var(--ws-grey-light);
}
.roadtrips-scrollbar .swiper-scrollbar-drag {
    height: 100%;
    border-radius: 3px;
    background-color: var(--ws-main-color-3);
    cursor: grab;
}
.roadtrips-nav-hint {
    margin-top: 10px;
    color: var(--ws-grey-medium);
    font-size: 13px;
}

/* trust */

.trust {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 0;
    padding-top: 55px;
    padding-bottom: 45px;
    background-color: var(--ws-main-color-1-extra-lightest);
}
.trust > h2 {
    width: 100%;
    max-width: unset;
    text-align: center;
}
.trust > p {
    width: 80%;
    max-width: 850px;
    margin: 10px auto;
    color: var(--ws-main-color-1);
    font-size: 1.05rem;
    line-height: 1.25rem;
    text-align: center;
}
.trust .badges-data {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: stretch;
    width: 90%;
    max-width: 900px;
    margin: 20px 0;
    padding: 25px;
    border-radius: 20px;
    background-color: white;
}
.trust .badges-data .badge {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: var(--ws-main-color-1-dark);
}
.trust .badges-data .badge .icon {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--ws-main-color-1-dark);
}
.trust .badges-data .badge svg {
    width: 35px;
    fill: white;
}
.trust .badges-data .badge .data {
    margin: 15px 0 5px;
    font-size: 1.4rem;
    font-weight: bold;
}
.trust .badges-data .badge .topic {
    font-size: .9rem;
    line-height: 1.15rem;
    text-align: center;
}
.trust .review-list {
    width: 100%;
    max-width: 1200px;
    margin: 25px auto 50px;
    box-sizing: border-box;
}
.trust .review {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 240px !important;
    height: auto !important;
    padding: 15px;
    box-sizing: border-box;
    border-radius: 15px;
    background-color: var(--ws-main-color-1-extra-light);
}
.trust .review .stars {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0 3px;
}
.trust .review .stars svg {
    width: 18px;
}
.trust .review .stars .true svg {
    fill: #ffaa00;
}
.trust .review .stars .false svg {
    fill: var(--ws-main-color-1-lighter);
}
.trust .review .message {
    margin: 10px 0;
    color: var(--ws-main-color-1-dark);
    font-size: .95rem;
    line-height: 1.15rem;
    text-align: center;
    user-select: none;
}
.trust .review .author {
    width: 100%;
    color: var(--ws-main-color-1-light);
    font-weight: bold;
    font-size: .95rem;
    line-height: 1.15rem;
    text-align: right;
    user-select: none;
}
.trust .review-list .swiper-button-prev,
.trust .review-list .swiper-button-next {
    padding: 10px 5px;
    background-color: rgba(255, 168, 0, .15);
    border-radius: 5px;
    color: var(--ws-main-color-2-vivid);
    transition: background-color .2s ease;
}
.trust .review-list .swiper-button-prev:hover,
.trust .review-list .swiper-button-next:hover {
    background-color: rgba(255, 168, 0, .6);
}
.trust .review-list .swiper-button-prev::after,
.trust .review-list .swiper-button-next::after {
    font-size: 25px;
}
.trust .review-list .swiper-button-prev {
    left: 5px;
    right: auto;
}
.trust .review-list .swiper-button-next {
    left: auto;
    right: 5px;
}
.trust .review-list .swiper-button-disabled {
    color: var(--ws-main-color-2-light);
    background-color: rgba(255, 168, 0, .15);
}
.trust .cta-title {
    font-size: 1.2rem;
    line-height: 1.5rem;
    font-weight: bold;
}
@property --trust-cta-c1 { syntax: '<color>'; inherits: false; initial-value: #000; }
@property --trust-cta-c2 { syntax: '<color>'; inherits: false; initial-value: #000; }
.trust .cta {
    --trust-cta-c1: var(--ws-main-color-2);
    --trust-cta-c2: var(--ws-main-color-2-light);
    padding: 10px 20px;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--trust-cta-c1), var(--trust-cta-c2));
    color: white;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: --trust-cta-c1 .25s ease, --trust-cta-c2 .25s ease;
}
.trust .cta:hover {
    --trust-cta-c1: var(--ws-main-color-2-vivid);
    --trust-cta-c2: var(--ws-main-color-2-vivid-dark);
}
@media (prefers-reduced-motion: reduce) {
    .trust .cta { transition: none; }
}
.trust .badges-pros {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 5px 15px;
    width: 100%;
    margin: 40px 0 20px;
}
.trust .badges-pros .badge {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0 5px;
    padding: 4px 10px;
    border-radius: 40px;
    background: linear-gradient(135deg, var(--ws-main-color-1-dark), var(--ws-main-color-1-light));
    color: white;
}
.trust .badges-pros .badge svg {
    width: 18px;
}
.trust .badges-pros .badge svg path {
    fill: #00c01a;
}
.trust .badges-pros .badge .topic {
    font-size: .8rem;
}

@media only screen and (max-width: 1536px) {
    
}
@media only screen and (max-width: 1280px) {
    
}
@media only screen and (max-width: 1024px) {
    
}
@media only screen and (max-width: 768px) {
    
}
@media only screen and (max-width: 576px) {
    .trust > p {
        width: 96%;
    }
    .trust .badges-data {
        flex-direction: column;
        gap: 35px 0;
        max-width: 300px;
    }
    .trust .badges-data .badge {
        flex: 0 0 100%;
    }
    .trust .badges-pros {
        flex-direction: column;
    }
    .trust .badges-pros .badge {
        display: inline-flex;
    }
}


/* insider tips */

.page-block.insider-tips {
    margin: 0 auto;
    padding: 0;
}
.page-block.insider-tips:has(*) {
    padding: 45px 0 20px;
}
@media only screen and (max-width: 1024px) {
    .page-block.insider-tips > h1,
    .page-block.insider-tips > h2,
    .page-block.insider-tips > h3,
    .page-block.insider-tips > h4,
    .page-block.insider-tips > h5,
    .page-block.insider-tips > h6,
    .page-block.insider-tips .content {
        padding-left: 20px;
        padding-right: 20px;
    }
    .page-block.insider-tips ol,
    .page-block.insider-tips ul {
        padding-left: 35px;
        padding-right: 20px;
    }
}

/* booking widget */

.cb--search {
    box-sizing: border-box;
}

/* cta's */

.cta.button-centered {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px 0;
}
.faq .cta.button-centered {
    margin: 75px 0 30px;
}
@property --cta-button-centered-c1 { syntax: '<color>'; inherits: false; initial-value: #000; }
@property --cta-button-centered-c2 { syntax: '<color>'; inherits: false; initial-value: #000; }
.cta.button-centered .button {
    --cta-button-centered-c1: var(--ws-main-color-3);
    --cta-button-centered-c2: var(--ws-main-color-3-dark);
    padding: 10px 25px;
    border-radius: 5px;
    background: linear-gradient(135deg, var(--cta-button-centered-c1), var(--cta-button-centered-c2));
    color: white;
    font-size: 1.15rem;
    line-height: 1.3rem;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    transition: --cta-button-centered-c1 .25s ease,--cta-button-centered-c2 .25s ease;
}
.cta.button-centered .button:hover {
    --cta-button-centered-c1: var(--ws-main-color-3-light);
    --cta-button-centered-c2: var(--ws-main-color-3);
}
