/*-----------------------------------------------------------------------------------

    [Master Stylesheet]

    Project:    BetterBeds
    
    Version:    1.0

-----------------------------------------------------------------------------------

    [Table of contents]
    
        01. header
        02. navbar
        03. btn
        04. hero-section
        05. get-a-quote
        06. heading
        07. shaps-img
        08. loading
        09. marquee
        10. presenting
        11. how-it-works
        12. video
        13. team-section
        14. accordion
        15. pricing-plans
        16. clients-section
        17. blog
        18. tag
        19. count-style
        20. footer
        21. widget-title
        22. all-rights
        23. scroll-percentage
        24. hero-section.for
        25. hero-section.two
        26. hero-section.three
        27. subscribe-text
        28. transition 


-----------------------------------------------------------------------------------*/


@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
    --bgcolor: #f5e93e;
    --main-color: #4337ed;
    --main-color-2: #9e55e2;
}

body,
html {
    font-family: "Inter";
    overflow-x: hidden;
}

p {
    font-size: 16px;
    line-height: 28px;
    color: #444;
    margin: 0;
    font-weight: 400;
}

* {
    margin: 0;
    padding: 0;
}

a,
h2,
h3,
h4,
h5,
h6 {
    color: #232323;
    margin: 0;
}

a {
    text-decoration: none;
    cursor: pointer;
}

h1 {
    font-size: 60px;
}

h2 {
    font-size: 60px;
}

h3 {
    font-size: 26px;
}

h4 {
    font-size: 24px;
}

h5 {
    font-size: 20px;
}

h6 {
    font-size: 18px;
}

img {
    max-width: 100%;
}

.gap {
    padding: 50px 0;
}



.no-top {
    padding-top: 0;
}

.no-bottom {
    padding-bottom: 0;
}

ul {
    padding: 0;
    margin: 0;
}

li {
    display: block;
}

figure {
    overflow: hidden;
}

hr {
    margin: 0;
}

/* reactivate inner-spin-button
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
*/

/* 01. header */
.top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #232323;
    padding: 24px 70px;
    border-radius: 20px;
    /* position: relative;
    z-index: 999; */
}

.top-bar ul {
    display: flex;
    align-items: flex-end;
}

.top-bar a i svg {
    width: 30px;
    fill: #fff;
    height: auto;
}

.top-bar a i {
    margin-right: 10px;
    color: #fff;
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
}

.top-bar a {
    font-size: 18px;
    color: #fff;
    display: flex;
    align-items: center;
}

.top-bar a .questions .btn span i {
    padding-right: 10px;
}

/* 02. navbar */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: -1;
    opacity: 0;
    transition: 1s all;
}

.navbar {
    display: flex;
    align-items: center;
    position: relative;
    justify-content: flex-end;
    padding: 0;
}

.navbar-logo {
    color: #ff3f34;
    text-decoration: none;
    font-size: 25px;
    padding: 0px 20px;
}

.navbar-nav {
    list-style-type: none;
    display: flex;
}



.navbar-nav .nav-link {
    display: block;
    text-decoration: none;
    color: #ffffff;
    transition: 0.4s all;
    padding-bottom: 10px;
    padding-top: 10px;
    cursor: pointer;
}

.navbar-nav .dropdown-menu {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    transform: translatey(44px);
    left: 0;
    width: 230px;
    box-shadow: 0px 10px 10px 3px hsl(0deg 0% 0% / 16%);
    z-index: 111;
    transition: 0.4s all;
    display: block;
    border-radius: 20px;
    background-color: #232323;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding-bottom: 14px;
}

.navbar-nav .dropdown-menu .dropdown-item {
    font-size: 16px;
    padding-left: 25px;
    padding-top: 15px;
    padding-bottom: 15px;
    font-weight: 700;
    border: 0;
    position: relative;
    color: #ffffff;
}

.navbar-nav .dropdown-menu .dropdown-item:hover {
    color: var(--bgcolor);
}

.navbar-links li.navbar-dropdown {
    position: relative;
}

.navbar-links li.navbar-dropdown:hover .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translatey(34px);
    z-index: 1111;
}

.navbar-links li.navbar-dropdown .sub-menu {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    transform: translatey(44px);
    left: 0;
    width: 230px;
    box-shadow: 0px 10px 10px 3px hsl(0deg 0% 0% / 16%);
    z-index: 111;
    transition: 0.4s all;
    display: block;
    border-radius: 20px;
    background-color: #232323;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding-bottom: 14px;
}

.navbar-links li.navbar-dropdown .sub-menu a {
    font-size: 16px;
    padding-left: 25px;
    padding-top: 15px;
    padding-bottom: 15px;
    font-weight: 700;
    border: 0;
    position: relative;
    color: #ffffff;
    /* background-color: #FFF; */
}

.navbar-links li.navbar-dropdown .sub-menu li a:hover {
    color: var(--bgcolor);
}

.navbar-links li.navbar-dropdown .sub-menu li {
    position: relative;
    padding: 0;
}

.navbar-links li.navbar-dropdown .sub-menu li:not(:last-child):before {
    content: "";
    z-index: 11;
    position: absolute;
    height: 1px;
    background-color: #6a6a6a;
    width: 75%;
    bottom: 0;
    left: 25px;
}

li.menu-item-children>a:before {
    content: "";
    background-image: url(../img/down-arrow.svg);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    right: 83px;
    width: 8px;
    height: 8px;
}

.navbar-links li>a {
    border-bottom: 5px solid transparent;
    color: white;
    font-size: 16px;
    font-weight: 500;
}

li.sub-menu-item-children:after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    z-index: 1;
    right: 31px;
    background-color: black;
    clip-path: polygon(68% 50%, 0 0, 0 100%);
    top: 44%;
}

.navbar-links li.navbar-dropdown .sub-menu li:hover .sub-menu {
    opacity: 1;
}

.navbar-links li.navbar-dropdown:hover .sub-menu .sub-menu {
    position: absolute;
    left: 100%;
    border-left: 3px solid var(--theme-colour);
    opacity: 0;
    top: 20%;
}

a.search-btn svg {
    width: 22px;
    height: auto;
    display: flex;
    fill: #fff;
}

.navbar-links li>a i {
    padding-right: 6px;
}

#stickyHeader.slideUp {
    top: 0;
    position: fixed;
    border-radius: 0;
    left: 0;
    padding-bottom: 20px;
    padding-top: 20px;
    z-index: 9999;
}

body.dark #stickyHeader.slideUp {
    background: #111;
}

body.light #stickyHeader.slideUp {
    background: #f6fafb;
}


header {
    padding-top: 25px;
    position: absolute;
    z-index: 1;
    width: 100%;
}

/* .top-bar ul li {
    padding-right: 50px;
} */
.top-bar ul li {
    padding-right: 20px;
}

.top-bar ul li a {
    color: white;
}

.top-bar ul li a:hover {
    color: var(--bgcolor);
}

/* 03. btn */
.btn {
    border: none;
    text-align: center;
    cursor: pointer;
    outline: none;
    position: relative;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    background-color: #232323;
    padding: 20px;
    border-radius: 20px;
    overflow: hidden;
}

.btn span {
    display: block;
    position: relative;
}

.btn>span {
    overflow: hidden;
}

.btn>span>span {
    overflow: hidden;
}

.btn:hover>span>span {
    animation: MoveUpInitial 0.2s forwards, MoveUpEnd 0.2s forwards 0.2s;
    color: #ffffff;
}

.button {
    pointer-events: auto;
    cursor: pointer;
    background: #4337ed;
    border: none;
    padding: 1.5rem 3rem;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    position: relative;
    display: inline-block;
}

.button::before,
.button::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@keyframes MoveUpInitial {
    to {
        transform: translate3d(0, -105%, 0);
    }
}

@keyframes MoveUpEnd {
    from {
        transform: translate3d(0, 100%, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.btn::before {
    content: '';
    background: #232323;
    transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
    transform-origin: 100% 50%;
    border-radius: 20px;
}

.btn:hover::before {
    transform: scale3d(0, 1, 1);
    transform-origin: 0% 50%;
}

.top-bar .btn {
    padding: 20px 26px;
}

header .btn:after {
    width: 136%;
}

li.navbar-dropdown.menu-item-children {
    padding-right: 100px;
}



/* .navbar-toggler.burger-icon {
    padding: 0;
    background-color: transparent;
}
.navbar-toggler.burger-icon svg{
    color: #fff;
    width: 50px;
    height: 50px;
} */
button.navbar-toggler.burger-icon:focus {
    box-shadow: none;
}

.navbar-toggler {
    border: none;
    background: transparent;
    outline: none;
    padding: 0;
}

.toggler-icon {
    display: block;
    width: 35px;
    height: 4px;
    margin: 7px auto;
    background-color: #fff;
    transition: all 0.3s ease-in-out;
}

/* When collapsed (default hamburger) */
.navbar-toggler.collapsed .top-line {
transform: rotate(0) translateY(0);
}
.navbar-toggler.collapsed .middle-line {
opacity: 1;
}
.navbar-toggler.collapsed .bottom-line {
transform: rotate(0) translateY(0);
}

/* When expanded (turn into X) */
.navbar-toggler .top-line {
transform: rotate(45deg) translateY(8px);
}
.navbar-toggler .middle-line {
opacity: 0;
}
.navbar-toggler .bottom-line {
transform: rotate(-45deg) translateY(-8px);
}
  



/* 4. hero-section */
.hero-section {
    position: relative;
    padding-top: 187px;
    overflow: hidden;
    background-color: var(--bgcolor);
    background-repeat: no-repeat;
    background-position: right;
    padding-bottom: 70px;
}

.hero-text {
    position: relative;
    margin-top: 40px;
}

.hero-text {
    padding-top: 50px;
    padding-bottom: 10px;
    /* padding-bottom: 64px; */
}

.hero-text p {
    font-size: 22px;
    color: #232323;
    line-height: 36px;
}

.hero-text span {
    background-color: #fff;
    padding: 4px 20px;
    border-radius: 50px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: inline-block;
}

.hero-text img.heroimg {
    position: absolute;
    right: -25%;
    z-index: 1;
    bottom: -47%;
    width: 52%;
    height: auto;
}

.hero-text h2 {
    /* color: #fff; */
    padding-bottom: 26px;
    line-height: 90px;
    font-weight: bold;
    font-size: 85px;
}

.hero-text h2 span {
    color: var(--main-color);
}

.hero-text ul li {
    color: white;
    padding-bottom: 18px;
    display: flex;
    align-items: center;
    font-size: 18px;
}

.hero-text ul li img {
    width: 30px;
    height: 30px;
    display: flex;
    border-radius: 50%;
    background-color: #ffffff30;
    margin-right: 17px;
    padding: 7px;
}

.listing {
    justify-content: space-between;
    width: 89%;
}

.hero-text>img {
    margin-left: auto;
    display: block;
    height: 263px;
    margin-top: 30px;
}

.review {
    display: flex;
    align-items: center;
}

.review h6 {
    font-weight: bold;
    padding-left: 8px;
}

.review ul {
    display: flex;
    /* margin-left: 20px; */
}

.review img {
    margin: 0px 30px;
}

.review ul li {
    padding-right: 4px;
}

/* 5. get-a-quote */
form#contact-form h3 {
    font-size: 40px;
    font-weight: bold;
    line-height: 46px;
    padding-bottom: 6px;
}

.get-a-quote h6 {
    color: #232323;
    font-size: 16px;
    font-weight: 400;
    padding-bottom: 30px;
}

.get-a-quote {
    z-index: 11;
    /* margin-bottom: 40px; */
    background-color: white;
    padding: 40px;
    border-radius: 20px;
    position: relative;
    box-shadow: 0px 30px 50px 0px rgb(0 0 0 / 55%);
    width: 94%;
    margin-left: auto;
}

.get-a-quote input[type="text"],
.get-a-quote input[type="email"],
.get-a-quote input[type="number"] {
    width: 100%;
    height: 60px;
    border: 0;
    outline: 0;
    margin-bottom: 20px;
    color: #444;
    font-size: 16px;
    background-color: #fafafa;
    border: 1px solid #cdcdcd;
    border-radius: 20px;
    padding-left: 20px;
}

.get-a-quote input:focus {
    border-color: var(--bgcolor);
}

.get-a-quote p {
    font-weight: 600;
    padding-bottom: 10px;
    color: #232323;
}

.radio-button {
    margin-right: 15px;
    font-size: 16px;
    font-weight: 600;
    align-items: center;
    display: flex;
    margin-bottom: 25px;
}

.radio-button label {
    padding-left: 10px;
}

.radio-button input {
    width: 22px;
    height: 22px;
    background-color: #ebebeb !important;
    border: 0 !important;
}

.group-img {
    position: relative;
}

.group-img svg {
    position: absolute;
    right: 0;
    width: 22px;
    height: auto;
    top: 21px;
}

.get-a-quote img {
    position: absolute;
    right: 34px;
    animation: top-bottom 2s infinite;
}

.get-a-quote .btn {
    width: 100%;
}

/* 06. heading */
.heading {
    text-align: center;
    width: 100%;
    margin: auto;
    margin-bottom: 40px;
}

.heading h2 {
    font-size: 70px;
    padding-top: 20px;
    font-weight: bold;
}

.heading span {
    font-weight: 600;
    font-size: 15px;
    background: white;
    border: 2px solid var(--main-color);
    color: var(--main-color);
    padding: 10px 18px;
    margin: 8px;
    display: inline-block;
    border-radius: 50px;
    box-shadow: 0 2px 10px rgba(67, 55, 237, 0.1);
    transition: all 0.3s ease;
}

.heading span:hover {
    background: linear-gradient(135deg, var(--main-color) 0%, var(--main-color) 80%, #5a4dff 100%);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(67, 55, 237, 0.25);
}

.heading span i {
    margin-right: 6px;
}

.heading h5 {
    padding-top: 20px;
    font-weight: bold;
    font-size: 35px;
}

/* 07. shaps-img */
ul.shaps-img li {
    position: absolute;
}

ul.shaps-img li:nth-child(1) {
    top: 20%;
    left: 11%;
    animation: 8s rotate infinite;
}

ul.shaps-img li:nth-child(2) {
    top: 52%;
    left: 8%;
    animation: 10s toptop infinite;
}

ul.shaps-img li:nth-child(3) {
    bottom: 23%;
    left: 4%;
    animation: 10s toptop infinite;
}

ul.shaps-img li:nth-child(4) {
    bottom: 16%;
    left: 50%;
    animation: 10s rotate infinite;
}

ul.shaps-img li:nth-child(5) {
    bottom: 3%;
    right: 4%;
    animation: 10s leftleft infinite;
}

/* 08. loading */

.loading-text {
    font-size: 5vw;
    line-height: 64px;
    letter-spacing: 10px;
    margin-bottom: 32px;
    display: flex;
    justify-content: space-evenly;
}

.loading-text span {
    -webkit-animation: moveLetters 2.4s infinite ease-in-out;
    animation: moveLetters 2.4s infinite ease-in-out;
    transform: translatex(0);
    position: relative;
    display: inline-block;
    opacity: 0;
    color: #232323;
    text-shadow: 0px 2px 10px rgba(46, 74, 81, 0.3);
}

.loading-text span:nth-child(1) {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}

.loading-text span:nth-child(2) {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}

.loading-text span:nth-child(3) {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}

.loading-text span:nth-child(4) {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}

.loading-text span:nth-child(5) {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

.loading-text span:nth-child(6) {
    -webkit-animation-delay: 0.6s;
    animation-delay: 0.6s;
}

.loading-text span:nth-child(7) {
    -webkit-animation-delay: 0.7s;
    animation-delay: 0.7s;
}

@keyframes moveLetters {
    0% {
        transform: translateX(-15vw);
        opacity: 0;
    }

    33.3%,
    66% {
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        transform: translateX(15vw);
        opacity: 0;
    }
}

/* .preloader {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 999999999999999999;
    right: 0;
    background-color: var(--bgcolor);
    top: 0;
    transition-duration: 1s;
    -webkit-transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1);
    -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1);
}

.preloader {
    top: 0%;
}

.page-loaded .preloader {
    top: -100%;
} */

/* Hintergrund-Overlay */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;
}

/* Kreis-Animation */
.spinner {
  border: 12px solid #f3f3f3;   /* heller Hintergrundrand */
  border-top: 12px solid #F3EA64; /* sattes Gelb */
  border-radius: 50%;
  width: 80px;
  height: 80px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


footer {
    background-repeat: no-repeat;
}

/* 09. marquee */
.marquee-icon,
.marquee-box-one {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
}

.marquee-content-one {
    display: flex;
    gap: 25px;
    padding-left: 20px;
    animation: scroll-one 30s linear infinite;
}

.marquee-content {
    animation: scroll-one 15s linear infinite;
}

.marquee-content-two {
    display: flex;
    gap: 25px;
    padding-left: 20px;
    animation: scroll-one 38s linear infinite;
}

@keyframes scroll-one {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

@keyframes scroll-two {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0);
    }
}

.marquee-three {
    margin-top: 20px;
    padding-left: 0;
}

.marquee-three,
.marquee-two {
    position: relative;
}

/*.marquee-two:before,
.marquee-three:before {
    content: "";
    width: 23%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background: linear-gradient(270deg, rgba(66, 201, 250, 0) 0%, hsl(0deg 0% 0%) 100%);
    position: absolute;
    z-index: 11;
}

.marquee-two:after,
.marquee-three:after {
    content: "";
    width: 23%;
    height: 100%;
    top: 0;
    right: 0;
    position: absolute;
    background: linear-gradient(90deg, rgba(66, 201, 250, 0) 0%, hsl(0deg 0% 0%) 100%);
    position: absolute;
    z-index: 11;
}*/

.marquee-content {
    display: flex;
}

.marquee {
    display: flex;
    overflow: hidden;
    position: relative;
}

.marquee-item {
    width: 200px;
    margin-left: 40px;
}

.marquee:before {
    content: "";
    width: 250px;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background: linear-gradient(270deg, rgba(66, 201, 250, 0) 0%, hsl(0deg 0% 100%) 100%);
    z-index: 1111;
}

.marquee:after {
    content: "";
    width: 250px;
    height: 100%;
    top: 0;
    right: 0;
    position: absolute;
    background: linear-gradient(90deg, rgba(66, 201, 250, 0) 0%, hsl(0deg 0% 100%) 100%);
}

.marquee img {
    width: 250px !important;
    max-width: max-content;
}

.marquee-text {
    text-align: center;
    padding-top: 60px;
}

.marquee-text p {
    font-size: 18px;
}


/* Popup styling same as before */
    .review-popup-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.6);
        justify-content: center;
        align-items: center;
        z-index: 9999;
    }
    ul#review-popup-stars {
        justify-content: center;
        color: #f1e63e;
    }
    .review-popup-content {
        background: #fff;
        padding: 20px;
        max-width: 500px;
        border-radius: 12px;
        position: relative;
        text-align: center;
        animation: scaleIn 0.3s ease;
    }

    /* .review-popup-content.large {
        max-height: 80vh;
        overflow-y: auto;
    } */

    .review-popup-close {
        position: absolute;
        top: 10px;
        right: 15px;
        width: 10px;
        height: 10px;
        border: none;
        background-color: transparent;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 100%;
        cursor: pointer;
        z-index: 10;
    }


  @keyframes scaleIn {
    from {transform: scale(0.8); opacity: 0;}
    to {transform: scale(1); opacity: 1;}
  }
  .popup-close {
    position:absolute;
    top:10px;
    right:15px;
    font-size:16px;
    cursor:pointer;
    z-index: 10;
  }
  /* .review-popup-close {
    position:absolute;
    top:10px;
    right:15px;
    font-size:16px;
    cursor:pointer;
  } */
  .review-popup-avatar, .clients-img img {
    width:60px;
    height:60px;
    border-radius:50%;
    object-fit:cover;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    font-size:24px;
    color:white;
    font-weight:bold;
  }
  #review-popup-img{
    width: 100px;
    height: 100px;
  }
  .reviews-track .review-popup-avatar,
  .reviews-track .clients-img img{
    margin-right: 20px;
  }

  .reviews-track  .clients-img h3{
    padding-bottom: 0;
  }
  
  #review-popup-country {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 16px;
    color: #555;
  }
  
  #review-popup-country img {
    width: 25px;
    height: 15px;
    object-fit: cover;
    border: 1px solid #ccc;
    border-radius: 2px;
  }

  .show-more-review{
    margin-top: 20px;
    background-color: #f5e93e;
    color: #232323;
    border: 1px solid;
  }
  .show-more-review:hover{
    margin-top: 20px;
    background-color: transparent;
    color: #f5e93e;
    border-color: #f5e93e;
  }


  /* Marquee Effect */
  .reviews-marquee {
    overflow: hidden;
    position: relative;
    width: 100%;
  }
  .reviews-track {
    display: flex;
    gap: 25px;
    animation: scrollLoop 480s linear infinite;
    width: max-content;
  }
  .review {
    flex: 0 0 auto;
    min-width: 250px;
    max-width: 300px;
  }
  @keyframes scrollLoop {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
  }

  .reviews-track .country,
  .reviews-grid .country {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    color: #fff;
  }
  
  .reviews-track .country img,
  .reviews-grid .country img {
    width: 18px;
    height: 12px;
    object-fit: cover;
    border: 1px solid #ccc;
    border-radius: 2px;
    margin: 0;
  }

/* Make the second popup larger */
div#all-reviews-popup {
    padding: 10px;
}
.review-popup-content.large {
    max-width: 1200px;
    width: 95%;
    max-height: 90vh;
    height: auto;
    padding: 30px;
    display: flex;
    flex-direction: column;
}

/* Grid layout for reviews */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

.reviews-grid .clients {
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 15px;
    width: 100%;
}

.reviews-grid .clients .clients-img h3{
    margin-bottom: 5px;
    font-size: 18px;
    text-align: start;
    padding: 0;
}

.reviews-grid .clients .review-popup-avatar,
.reviews-grid .clients .clients-img img{
    margin-right: 15px;
}

.reviews-grid .clients:hover {
    transform: translateY(-5px);
    transition: 0.2s;
}


.reviews-loader {
  text-align: center;
  padding: 15px;
  grid-column: 2 / 3;
}
.reviews-loader .spinner {
  width: 28px;
  height: 28px;
  border: 3px solid #ddd;
  border-top: 3px solid #f5e93e;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin: 0 auto;
}
@keyframes spin {
  100% { transform: rotate(360deg); }
}

.popup-scroll {
  max-height: 70vh;
  overflow-y: auto;
  padding-right: 10px;
}

/* Custom Scrollbar for popup */
.popup-scroll::-webkit-scrollbar {
    width: 8px;
}

.popup-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.popup-scroll::-webkit-scrollbar-thumb {
    background: #4337ed;
    border-radius: 10px;
    transition: background 0.3s ease;
}

.popup-scroll::-webkit-scrollbar-thumb:hover {
    background: #3528c9;
}

/* Firefox scrollbar */
.popup-scroll {
    scrollbar-width: thin;
    scrollbar-color: #4337ed #f1f1f1;
}

  



/* 10. presenting */
.presenting {
    display: flex;
    /* align-items: center; */
    margin-top: 40px;
    width: 97%;
    min-height: 200px;
}

.presenting i {
    width: 124px;
    height: 124px;
    background-color: var(--bgcolor);
    border-radius: 50%;
    margin-right: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 74px;
    border: 1px solid #7e8f83;
    outline: 8px solid var(--bgcolor);
    position: relative;
    z-index: 111;
}

.presenting:hover i:before {
    z-index: 11;
    color: #fff;
}

.presenting i:after {
    content: "";
    width: 124px;
    height: 124px;
    position: absolute;
    border-radius: 50%;
    border: 1px solid #444;
}

.presenting:hover i:after {
    border: 70px solid #444;
}

.presenting .presenting-content{
    border-bottom: 3px solid #e6e6e6;
    width: 100%;
}

.presenting h3 {
    font-weight: bold;
    padding-bottom: 7px;
}

.presenting p {
    font-size: 16px;
    /* border-bottom: 3px solid #e6e6e6; */
    /* padding-bottom: 58px; */
    margin-bottom: 28px;
}

.presenting-email,
.presenting-phone-ai{
    cursor: pointer;
}




/* 11. how-it-works  */
.how-it-works {
    background-color: #f4f4f7;
    background-size: cover;
}

.heading.two {
    width: 100%;
    text-align: left;
    margin-bottom: 24px;
}

.heading.two p {
    width: 78%;
    padding-top: 18px;
}

ul.chek li {
    padding-bottom: 12px;
    font-size: 18px;
}

ul.chek li img {
    margin-right: 12px;
    width: auto;
    height: auto;
}

.how-do-stap {
    text-align: center;
    position: relative;
    background-color: #fff;
    padding: 50px 24px;
    border-radius: 28px;
}

.how-do-stap span {
    position: absolute;
    left: 10px;
    top: 10px;
    background-color: var(--bgcolor);
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border-radius: 50%;
}

.how-do-stap h4 {
    color: #444;
    font-weight: bold;
    font-size: 18px;
    line-height: 26px;
    padding-top: 10px;
}

.how-do-stap i {
    font-size: 98px;
    padding-bottom: 0;
    transition: all .4s;
    line-height: 10px;
}

.how-do-stap.two {
    margin-top: 24px;
    background-color: var(--main-color);
}

.how-do-stap.two i,
.how-do-stap.two h4 {
    color: #fff;
}

.how-do-stap.three {
    margin-top: 60px;
    background-color: #232323;
    margin-bottom: 25px;
}

.how-do-stap.three i,
.how-do-stap.three h4 {
    color: #fff;
}

/* 12. video */
.video {
    position: relative;
    right: 0;
    text-align: center;
}

a.video-pop:hover i {
    color: #232323;
    background-color: #fff;
}

.video img {
    border-radius: 20px;
}

.video i {
    position: absolute;
    animation: shadow-pulse 1s infinite;
    width: 94px;
    height: 94px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: #fff 1px solid;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    /* margin: 10px; */
    /* outline: solid 1px #fff; */
    color: #fff;
    font-size: 20px;
}

@keyframes shadow-pulse {
    0% {
        box-shadow: 0 0 0 0px rgb(255 255 255);
    }

    100% {
        box-shadow: 0 0 0 35px rgba(0, 0, 0, 0);
    }
}

@keyframes top-bottom {

    0%,
    100%,
    20%,
    50%,
    80% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }

    40% {
        -webkit-transform: translateY(-8px);
        -ms-transform: translateY(-8px);
        transform: translateY(-8px);
    }

    60% {
        -webkit-transform: translateY(-4px);
        -ms-transform: translateY(-4px);
        transform: translateY(-4px);
    }
}

@keyframes toptop {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(20px);
    }

    100% {
        transform: translateY(0px);
    }
}

@keyframes leftleft {
    0% {
        transform: translatex(0);
    }

    50% {
        transform: translatex(20px);
    }

    100% {
        transform: translatex(0px);
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(360deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

/* 13. team-section */
.team-section {
    background-color: var(--main-color);
    position: relative;
}

.team-section .heading h2,
.team-section .heading span,
.team-section .heading p {
    color: #fff;
}

.team-section .heading span {
    border: 1px solid #fff;
}

.team-section .heading p {
    width: 90%;
    padding-top: 10px;
    margin: auto;
}

.team img {
    border-radius: 50%;
    border: 9px solid #fff;
}

.team {
    position: relative;
    padding-bottom: 20px;
    text-align: center;
}

.team:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 74%;
    background-color: #855ff1;
    right: 0;
    bottom: 0;
    border-radius: 20px;
}

.team:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0%;
    background-color: #fff;
    right: 0;
    bottom: 0;
    border-radius: 20px;
}

.team:hover:after {
    height: 74%;
}

.team figure {
    position: relative;
    margin-bottom: 30px;
    z-index: 22;
}

.team span {
    position: relative;
    color: #fff;
    font-size: 18px;
    z-index: 22;
}

.team h4 {
    color: #fff;
    position: relative;
    font-size: 28px;
    padding-top: 8px;
    font-weight: bold;
    z-index: 10;
}

.team>a {
    position: relative;
    color: #fff;
    font-size: 18px;
    border: 1px solid #fff;
    display: flex;
    padding: 16px;
    width: 90%;
    margin: auto;
    border-radius: 20px;
    margin-top: 28px;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.team>a i {
    font-size: 28px;
    padding-right: 10px;
}

.team:hover span,
.team:hover a,
.team:hover h4 {
    color: #232323;
}

.team:hover a {
    border: 1px solid #bfbfbf;
}

.how-do-stap i {
    display: block;
}

.how-do-stap:hover i {
    animation: top-bottom 1s infinite;
}

.expert {
    text-align: center;
    position: relative;
}

.expert-icon {
    position: absolute;
    top: 44%;
    z-index: 1111;
    left: 16%;
}

.icon-share li {
    display: block;
}

.icon-share a:hover i {
    /* color: #fff; */
    transform: rotate(360deg);
    /* box-shadow: none; */
}

.expert-icon>i {
    color: #a5a5a5;
    background: #fafafa;
    height: 80px;
    width: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 53px;
    font-size: 30px;
    transition: 0.5s ease-in-out;
}

.expert-icon a i {
    width: 70px;
    height: 70px;
    display: flex;
    font-size: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #fff;
}

.expert-icon li {
    margin-top: 4px;
}

.team:hover .expert-icon a i {
    background-color: var(--bgcolor);
}

.team:hover .expert-icon ul.icon-share {
    opacity: 1;
    visibility: visible;
    top: -125px;
}

.expert-icon a {
    text-decoration: none;
    font-size: 25px;
    border: none!important;
}

ul.icon-share {
    position: absolute;
    top: -65px;
    left: 4px;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s ease-in-out;
}

.icon-share li i {
    width: 56px;
    height: 56px;
}

.center.review {
    justify-content: center;
    margin-top: 60px;
}

.center.review h6,
.center.review li i {
    color: #fff;
}

.team-section ul.shaps-img li:nth-child(1) {
    left: 69%;
    top: 24%;
    animation: 8s leftleft infinite;
}

.team-section ul.shaps-img li:nth-child(2) {
    top: 24%;
    left: 4%;
    animation: 10s inherit;
    animation: 20s rotate infinite;
}

/* 14. accordion */
.accordion-section .heading.two {
    width: 87%;
    text-align: left;
    margin-bottom: 24px;
    margin-left: 0;
}

.accordion-section {
    position: relative;
}

.accordion-section ul.shaps-img li:nth-child(1) {
    left: 72%;
    animation: 8s toptop infinite;
}

.accordion-item.active .icon:after {
    width: 0;
}

.accordion {
    width: 100%;
    border: 2px solid #4337ed;
    padding: 24px 40px;
    border-radius: 20px;
    margin-top: 33px;
}

.accordion-item {
    border: 0;
}

.accordion-item:last-of-type .title {
    border: 0;
}

.accordion-item.active .icon:before {
    background: #232323;
}

.accordion-img figure.accordion-img-two {
    background-color: var(--common-colour);
    margin-top: -156px;
    width: fit-content;
    margin-left: 130px;
}

.accordion-item .heading {
    width: 100%;
    display: block;
    text-decoration: none;
    color: #232323;
    font-weight: 700;
    font-size: 20px;
    position: relative;
    transition: 0.3s ease-in-out;
    /* padding-bottom: 12px; */
    margin-bottom: 0;
}

.accordion-item .icon {
    display: block;
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    transform: translateY(-50%);
    right: 10px;
    /* background-color: transparent; */
}

.accordion-item.active .title {
    color: #232323;
    background-color: #ffffff;
    border: 0;
    padding-bottom: 0;
}

.accordion-item .icon:before,
.accordion-item .icon:after {
    content: "";
    width: 20px;
    height: 1px;
    background: #232323;
    position: absolute;
    left: 50%;
    top: 50%;
    transition: 0.3s ease-in-out;
    transform: translate(-50%, -50%);
}

.accordion-item .icon:after {
    transform: translate(-50%, -50%) rotate(90deg);
    z-index: -1;
}

.accordion-item .content {
    display: none;
}

.content p {
    font-size: 16px;
    font-weight: 500;
    color: #232323;
}

.title {
    text-align: start;
    padding: 5px;
    padding-right: 0;
    color: black;
    font-size: 24px;
    background-color: #fff;
    padding-left: 0;
    font-weight: 700;
    border-bottom: 1px solid #d1d1d1;
}

.accordion-item.active .title {
    /* color: var(--common-colour); */
    padding-bottom: 15px;
}

.accordion-item.active {
    background-color: #fff;
    border: 0;
    border-bottom: 1px solid var(--bgcolor);
    border-radius: 0;
}

.content {
    margin-bottom: 20px;
    padding: 12px 0px;
    padding-top: 0px;
    background-color: #24243500;
    border: 0;
}

.accordion-item {
    background-color: transparent;
}

.accordion-img {
    position: relative;
}

.accordion-item:last-of-type {
    border: 0 !important;
}

.accordion-item:first-of-type {
    border-top: 0;
}

.accordion-img img.dots {
    top: auto;
    z-index: -0;
    right: -5%;
    bottom: 0;
}

.accordion-contact {
    background-color: var(--bgcolor);
    padding: 20px;
    border-radius: 20px;
    padding-bottom: 16px;
    padding-top: 56px;
    position: relative;
    z-index: 11;
}

.accordion-contact .btn {
    width: 100%;
    margin-top: 16px;
}

.accordion-contact h4 {
    font-size: 18px;
    padding-bottom: 16px;
    padding-left: 32px;
    font-weight: bold;
}

.accordion-contact h4:hover a {
    color: var(--main-color);
}

.accordion-img img {
    width: 100%;
    border-radius: 20px;
    margin-top: 30px;
    position: relative;
    z-index: 11;
}

.last-three-blog-img img{
    height: 316px;
    object-fit: cover;
    border-radius: 20px;
}

.accordion-item tr td a {
    text-decoration: underline;
}

.team>a:hover {
    background-color: var(--bgcolor);
    border: 1px solid var(--bgcolor);
}

/* 15. pricing-plans */
.pricing-plans {
    background-color: #f5e93e;
    padding: 20px 20px;
    border-radius: 20px;
}

.pricing-plans span {
    color: #232323;
    font-weight: 500;
    padding-bottom: 4px;
    display: block;
    font-size: 18px;
    font-weight: bold;
}

.pricing-plans h5 {
    font-size: 60px;
}

.pricing-plans h5 {
    font-size: 60px;
    color: #232323;
}

.pricing-plans sub {
    bottom: 20px;
    font-size: 16px;
}

.pricing-plans-text {
    padding-top: 0;
    position: relative;
}

.pricing-plans-text i {
    width: 74px;
    height: 90px;
    display: flex;
    border-radius: 30%;
    background-color: var(--main-color-2);
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 5%;
    top: -20%;
    font-size: 40px;
}

.pricing-plans-text:hover i {
    animation: top-bottom 2s infinite;
}

.pricing-plans-text img {
    height: 60px;
}

.pricing-plans-text .hero-text ul li {
    color: #444;
}

.pricing-plans-text .hero-text ul li img {
    background-color: #f5e93e;
}

.pricing-plans-text .btn {
    width: 100%;
}

.pricing-plans-text i svg {
    width: 50px;
    height: auto;
}

.pricing {
    padding: 30px;
    background-color: #ffffff;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.pricing-plans-text p {
    padding-top: 34px;
    width: 84%;
    margin: auto;
    font-size: 16px;
}

.pricing-plans-text ul {
    width: 84%;
    margin: auto;
    margin-top: 20px;
    margin-bottom: 30px;
}

.pricing-plans-text ul.chek li {
    font-size: 16px;
    color: #555;
}

.pricing:hover {
    border-color: var(--main-color);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(67, 55, 237, 0.15);
}

.pricing:hover ul.chek li img {
    filter: none;
}

/* 16. clients-section */
.clients-section {
    background-color: #232323;
}

.clients-section .heading h2 {
    width: 100%;
    color: #fff;
}

.clients-section .heading {
    width: 100%;
}

.clients-img img {
    border-radius: 50%;
    border: 1px solid var(--bgcolor);
    margin-right: 24px;
}

.clients-img {
    display: flex;
    align-items: center;
}

ul.star {
    display: flex;
    font-size: 14px;
    gap: 4px;
}

.clients-img i {
    color: #565656;
    font-size: 20px;
}

.clients-img ul.star i {
    color: var(--bgcolor);
    font-size: 12px;
}

.clients-img h3 {
    color: #fff;
    font-size: 24px;
    margin-right: 20px;
    padding-bottom: 10px;
}

.clients-img h4 {
    color: #313131;
    font-size: 24px;
    margin-right: 20px;
    padding-bottom: 10px;
}

.clients {
    width: 650px;
    background-color: #303034;
    padding: 40px;
    border-radius: 25px;
}

.clients p {
    padding-top: 20px;
    color: #fff;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.clients-section {
    position: relative;
}

.clients-section ul.shaps-img li:nth-child(1) {
    z-index: 111;
    top: 15%;
    animation: top-bottom 2s infinite;
}

.clients-section ul.shaps-img li:nth-child(2) {
    top: 18%;
    left: auto;
    right: 10%;
    animation: 22s rotate infinite;
}

.section-client {
    position: relative;
}

.section-client ul.shaps-img li:nth-child(2) {
    top: -20%;
}

.section-client ul.shaps-img li:nth-child(2) {
    top: -20%;
}

.section-client ul.shaps-img li:nth-child(1) {
    top: 68%;
    left: 89%;
    animation: 8s rotate infinite;
}

/* 17. blog */
.blog img {
    width: 100%;
    border-radius: 20px;
    transform: scale(1.1);
}

.blog figure {
    border-radius: 20px;
    overflow: hidden;
}

/* Einheitliche Bildgrößen auf der Hauptseite */
#blog .blog img {
    height: 450px;
    object-fit: cover;
}

#blog .blog figure {
    height: 450px;
}

#blog {
    position: relative;
}

#blog ul.shaps-img li:nth-child(1) {
    animation: 20s leftleft infinite;
    left: 2%;
}

.blog>a {
    color: #232323;
    font-size: 30px;
    font-weight: bold;
    line-height: 40px;
    padding-top: 10px;
    display: block;
    padding-bottom: 10px;
}

.blog {
    position: relative;
    /*z-index: 11;*/
}

.blog-img {
    position: relative;
}

.blog-img .tag {
    position: absolute;
    bottom: 10px;
    left: 20px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.blog p {
    width: 90%;
    min-height: 60px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Gallery layout fixes */
#gallery .row {
    --bs-gutter-x: 1rem;
    margin-left: calc(var(--bs-gutter-x) * -0.5);
    margin-right: calc(var(--bs-gutter-x) * -0.5);
}

#gallery .col-lg-8,
#gallery .col-lg-4 {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
}

#gallery .col-lg-8 .blog-img figure {
    height: 650px;
}

#gallery .col-lg-8 .blog-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

#gallery .col-lg-4 > .blog .blog-img figure {
    /* Zwei Kacheln + 16px Abstand = 650px Gesamthöhe */
    height: calc((650px - 16px) / 2);
}

#gallery .col-lg-4 > .blog .blog-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

#gallery .col-lg-4 > .blog.mt-3 {
    margin-top: 16px !important;
}

#gallery-slider .item figure {
    border-radius: 20px;
}

#gallery-slider.owl-carousel .owl-item img{
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
}

#gallery-slider.owl-carousel .owl-nav button.owl-prev{
    position: absolute;
    top: 50%;
    margin-top: -18px;
    fill: rgba(0, 0, 0, 0.5);
    background: rgba(255, 255, 255, 0.6);
    left: 0;
    width: 36px;
    height: 36px;
}
#gallery-slider.owl-carousel .owl-nav button.owl-next{
    position: absolute;
    top: 50%;
    margin-top: -18px;
    fill: rgba(0, 0, 0, 0.5);
    background: rgba(255, 255, 255, 0.6);
    left: auto;
    right: 0;
    width: 36px;
    height: 36px;
}



/* 18. tag */
.tag>span {
    background-color: var(--main-color);
    display: inline-block;
    padding: 4px 22px;
    border-radius: 20px;
    font-weight: bold;
    color: #fff;
}

.tag>a {
    background-color: var(--bgcolor);
    padding: 4px 24px;
    border-radius: 40px;
    font-size: 16px;
    display: block;
    margin-top: 10px;
    font-weight: bold;
}

.tag .blog-review {
    background: rgb(255, 223, 0);
    color: black;
    padding: 5px 10px;
    border-radius: 30px;
    font-size: 17px;
    display: inline-block;
    margin-top: 10px;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(255, 223, 0, 0.3);
    transition: all 0.3s ease;
}

.tag .blog-review:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(255, 223, 0, 0.4);
}

.tag>a span {
    padding-left: 20px;
}
.tag .blog-review span {
    padding-left: 20px;
}

.tag>a span i {
    padding-right: 10px;
}
.tag .blog-review span i {
    padding-right: 10px;
}

.blog a:hover {
    color: var(--bgcolor);
}

.blog:hover img {
    transform: scale(1.0);
}

/* 19. count-style */
.count-style {
    padding: 50px 85px;
    background-color: var(--bgcolor);
    border-radius: 20px;
    text-align: center;
    padding-bottom: 60px;
    /*z-index: 11;*/
    position: relative;
}

.count-style h2 {
    font-weight: bold;
    font-size: 100px;
}

.count-style h2 sup {
    font-size: 58px;
}

.count-style h4 {
    font-size: 26px;
    font-weight: bold;
    padding-bottom: 20px;
    padding-top: 4px;
}

.count-style.two {
    background-color: #232323;
}

.count-style.two h2 {
    color: var(--bgcolor);
}

.count-style.two p,
.count-style.two h4 {
    color: #fff;
}

.count-style:hover {
    transform: translateY(20px);
}

/* 20. footer */
.footer-try {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 100px;
}

footer {
    position: relative;
}

.footer-try>div {
    width: 65%;
}

.footer-try h2 {
    color: #fff;
    font-size: 65px;
    font-weight: bold;
}

.footer-try p {
    color: #fff;
    padding-top: 10px;
}

.footer-logo p {
    color: #fff;
    width: 90%;
    padding-top: 30px;
    padding-bottom: 40px;
}

ul.social-media a i {
    color: #fff;
    font-size: 23px;
}

ul.social-media {
    display: flex;
    gap: 25px;
}

ul.social-media a:hover i {
    color: var(--bgcolor);
}

/* 21. widget-title */
.widget-title h3 {
    font-size: 26px;
    font-weight: bold;
    color: #fff;
    padding-bottom: 30px;
}

.widget-title ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 22px;
}

.widget-title ul li {
    width: 50%;
}

.widget-title ul li a {
    color: #fff;
}

.widget-title ul li a:hover {
    color: var(--bgcolor);
}

.widget-title ul li i {
    color: #b6a0f2;
    padding-right: 12px;
}

.get-in-touch i {
    width: 56px;
    height: 56px;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-right: 20px;
    color: #fff;
    font-size: 24px;
}

.get-in-touch.mb-0 span {
    padding-top: 0 !important;
}

.get-in-touch {
    display: flex;
    margin-bottom: 20px;
    align-items: center;
}

.get-in-touch:hover i {
    background-color: #fff;
    color: #232323;
}

.get-in-touch span {
    color: #fff;
    padding-bottom: 4px;
    display: block;
    font-size: 18px;
}

.get-in-touch h6 a {
    color: #fff;
}

.get-in-touch h6 a:hover {
    color: var(--bgcolor);
}

footer {
    padding-bottom: 40px !important;
}

/* 22. all-rights */
.all-rights {
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
    align-items: center;
}

.all-rights ul.star {
    color: #fff;
}

.all-rights .review h6 {
    color: #fff;
}

.all-rights p {
    color: #fff;
    font-size: 18px;
}

footer ul.shaps-img li:nth-child(2) {
    top: 42%;
    left: 6%;
    animation: top-bottom 2s infinite;
}

footer ul.shaps-img li:nth-child(1) {
    top: 9%;
}

footer ul.shaps-img li:nth-child(3) {
    bottom: 54%;
    left: 87%;
    animation: 10s toptop infinite;
}

/* 23. scroll-percentage */
#scroll-percentage {
    position: absolute;
    box-shadow: 0px 0px 20px 0px rgba(184, 184, 184, 0.75);
    height: 60px;
    width: 60px;
    background-color: var(--bgcolor);
    border-radius: 50%;
    position: fixed;
    bottom: 30px;
    right: 30px;
    transform: scale(0);
    display: grid;
    place-items: center;
    cursor: pointer;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;
    z-index: 1011;
}

@media (max-width: 1400px) {
    #scroll-percentage {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 992px) {
    #scroll-percentage {
        right: 10px;
    }
}

#scroll-percentage.active {
    bottom: 30px;
    transform: scale(1);
    opacity: 1;
    visibility: visible;
    animation: 500ms ease-in-out 0s normal none 1 running scrollToTop;
    transition: 0.3s;
}

@media (max-width: 1400px) {
    #scroll-percentage.active {
        bottom: 20px;
    }
}

#scroll-percentage-value {
    height: calc(100% - 6px);
    width: calc(100% - 6px);
    background-color: #ffffff;
    color: #232323;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 14px;
    font-weight: 600;
}

#scroll-percentage-value i {
    font-size: 20px;
}

@keyframes scrollToTop {
    0% {
        transform: translate3d(0, 80%, 0);
        visibility: visible;
    }

    to {
        transform: translateZ(0);
    }
}

@keyframes wobble-vertical {
    16.65% {
        transform: translateY(8px);
    }

    33.3% {
        transform: translateY(-6px);
    }

    49.95% {
        transform: translateY(4px);
    }

    66.6% {
        transform: translateY(-2px);
    }

    83.25% {
        transform: translateY(1px);
    }

    100% {
        transform: translateY(0);
    }
}

/* 24. hero-section.for */

.hs-responsive-embed-youtube iframe {
    width: 100%;
    height: 624px;
    margin-top: 70px;
    border-radius: 20px;
    border: 7px solid #232323;
}

.hero-section.for {
    text-align: center;
    background-position: top;
    background-size: auto;
    padding-bottom: 0;
    margin-bottom: 0;
    padding-top: 236px;
    background-size: 2392px;
    background-color: #fff;
}

.hero-section.for .listing {
    justify-content: space-between;
    width: 100%;
    justify-content: center;
}

.hero-section.for .hero-text,
.hero-section.two .hero-text {
    text-align: center;
    justify-content: center;
    width: 87%;
    margin: auto;
    padding-bottom: 30px;
}

.hero-section.for ul.shaps-img li:nth-child(4) {
    bottom: 49%;
    left: 27%;
}

.hero-section.for ul.shaps-img li:nth-child(5) {
    bottom: 49%;
    right: 4%;
    animation: 10s leftleft infinite;
}

/* 25. hero-section.two */
.hero-section.two .review img {
    margin-left: 0;
}

.hero-section.two {
    text-align: center;
    margin: auto;
    padding-top: 230px;
}

.hero-section.two .review {
    margin-top: 60px;
    justify-content: center;
}

.hero-section.two p {
    text-align: center;
    margin: auto;
}

.hero-section.two ul.shaps-img li:nth-child(4) {
    bottom: 16%;
    left: 31%;
}

.hero-section.two .listing {
    margin: auto;
}

/* 26. hero-section.three */
.hero-section.three {
    text-align: center;
    overflow: visible;
}

.hero-section.three .listing {
    margin: auto;
}

.hero-section.three .hero-text {
    width: 90%;
    margin: auto;
    text-align: center;
}

.hero-section.three {
    /* padding-top: 230px; */
    padding-top: 120px;
}

.hero-section.three ul.shaps-img li:nth-child(4) {
    bottom: 28%;
    left: 27%;
    animation: 10s rotate infinite;
}

.hero-section.three .searchtoggle-btn{
    color: #fff;
    padding: 15px 50px;
}
.hero-section.three .searchtoggle-btn span{
    display: flex;
}
.hero-section.three .searchtoggle-btn span i{
    margin-right: 10px;
    margin-top: 2px;
}

#searchForm.search-form-mobile{
    padding-top: 40px;
}

/* Booking Form Input Fields - No rounding on the left side */
#bookingForm .input-group .form-control {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

/* Booking Form Input Group Text (Icons) - Rounded on left only */
#bookingForm .input-group-text {
    border-top-left-radius: 20px !important;
    border-bottom-left-radius: 20px !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

#bookingForm input#dateRange,
#bookingForm input#travellersInput,
.modal .bb-daterange-picker {
    background-color: #fff !important;
    cursor: pointer;
}

#bookingForm input#dateRange,
.modal .bb-daterange-picker {
    border-top-right-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

select#inputState,
select#inputState option{
    cursor: pointer!important;
}



.travellers-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    width: auto;
    border: 1px solid #ddd;
    border-radius: 10px !important;
    margin-top: 5px;
}

/* Travellers Input readonly styling */
#travellersInput[readonly] {
    background-color: #fff !important;
    cursor: pointer;
    border-top-right-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

.traveller-row > div:first-child {
    text-align: left;
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.highlight-error {
    border: 2px solid red !important;
}

.traveller-row .btn-group,    
.travellers-dropdown .btn-group{    
    align-items: center;
}
.traveller-row .btn-group .btn,    
.travellers-dropdown .btn-group .btn{    
    border-radius: 5px!important;
    padding: 2px 10px;
    transition: all 0.3s ease;
}
.traveller-row .btn-group .btn:hover,    
.travellers-dropdown .btn-group .btn:hover{    
    background-color: #4337ed !important;
    border-color: #4337ed !important;
    color: #fff !important;
}
button#doneTravellers {
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    margin-top: 10px;
}

/* Children Age Dropdowns Styling */
#childrenAges .form-label {
    font-size: 13px;
    font-weight: 500;
    color: #232323;
    margin-bottom: 5px;
}

#childrenAges .form-select,
#childrenAges .form-control {
    font-size: 13px;
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 6px 12px;
    transition: all 0.3s ease;
}

#childrenAges .form-select:focus,
#childrenAges .form-control:focus {
    border-color: #4337ed;
    box-shadow: 0 0 0 0.2rem rgba(67, 55, 237, 0.15);
    outline: none;
}

#childrenAges .form-select:hover,
#childrenAges .form-control:hover {
    border-color: #4337ed;
}

#childrenAges .mb-2 {
    margin-bottom: 12px !important;
}

/* Location Dropdown Styling */
#locationDropdown {
    scrollbar-width: thin;
    scrollbar-color: #4337ed #f1f1f1;
}

/* Custom Scrollbar for Webkit browsers (Chrome, Safari, Edge) */
#locationDropdown::-webkit-scrollbar {
    width: 8px;
}

#locationDropdown::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

#locationDropdown::-webkit-scrollbar-thumb {
    background: #4337ed;
    border-radius: 10px;
    transition: background 0.3s ease;
}

#locationDropdown::-webkit-scrollbar-thumb:hover {
    background: #3528c9;
}

#locationDropdown .location-group {
    border-bottom: 1px solid #eee;
    margin-bottom: 10px;
    padding-bottom: 5px;
}
#locationDropdown .location-group:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
#locationDropdown .location-header {
    padding: 5px 0 3px 0;
    color: #232323;
    font-size: 14px;
    font-weight: bold;
    text-align: left;
}
#locationDropdown .location-option {
    transition: background-color 0.2s ease;
    padding: 5px 8px !important;
    margin: 2px 0;
    font-size: 13px;
    text-align: left;
}
#locationDropdown .location-option:hover {
    background-color: #f8f9fa !important;
}
#locationDropdown .location-option strong {
    color: #4337ed;
    font-size: 13px;
}

/* Location Input readonly styling - remove gray background */
#locationInput[readonly],
#modalLocationInput[readonly] {
    background-color: #fff !important;
    cursor: pointer;
    border-top-right-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

/* Location Dropdown - exact width of input field */
#bookingForm #locationDropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    margin-top: 5px;
    width: calc(100% - 0px) !important;
}

/* 27. subscribe-text */
.subscribe-text #subscribe-form .btn {
    border-color: var(--bgcolor);
    color: #232323;
}

.subscribe-text {
    display: flex;
    padding: 30px;
    background-color: #fff;
    border-radius: 20px;
    margin-top: 20px;
    text-align: left;
    align-items: center;
    z-index: 1;
    position: relative;
}

.subscribe-text #subscribe-form {
    position: relative;
}

.subscribe-text #subscribe-form .btn {
    right: 0;
    position: absolute;
    top: 53%;
    transform: translate(-4%, -54%);
    padding: 16px 25px;
}

.subscribe-text #subscribe-form input {
    width: 700px;
    height: 73px;
    padding-left: 20px;
    border-radius: 20px;
    border: 0;
    outline: none;
    background-color: #fafafa;
    border: 3px solid #cdcdcd;
}

.subscribe-text h3 {
    font-size: 30px;
    font-weight: bold;
}

.subscribe-text #subscribe-form .btn::before {
    background-color: var(--bgcolor);
    border-color: var(--bgcolor);
}

.subscribe-text>div {
    margin-right: auto;
    margin-left: 30px;
}

.hero-section.three {
    background-size: cover;
}


/* 28. transition */
.get-in-touch i,
ul.social-media a i,
a.video-pop i,
.icon-share li i,
.accordion-contact h4 a,
.pricing,
.tag>a,
.blog a,
.blog img,
.count-style,
.how-do-stap i,
.team:after,
.team span,
.team a,
.team h4,
.room:after,
.room__list-item:after,
.room__list3-item:after,
.room span,
.room p,
.room a,
.room h4,
ul.chek li img,
.widget-title ul li a,
footer a,
presenting i:after {
    transition: .4s all;
}

.translate-button img {
    width: 50px;
    height: 50px;
    border-radius: 20px;
}

/* Hide the "Powered by Google Translate" text and Google logo */
.goog-logo-link,
.goog-te-gadget>span {
    display: none !important;
}

.skiptranslate {
    display: none !important;
}

body {
    top: 0px !important;
}

/* Overlay Style */
.overlaygrey {
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    border-radius: 20px;
    pointer-events: none;
}

/* Sprachauswahl */
.language-option {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: left;
    cursor: pointer;
    padding: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 10px;
    transition: background-color 0.3s ease;
    gap: 10px;
}

.language-option:hover {
    background-color: #f5e93e;
}

.language-option img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: #dbdbdb 0px 0px 20px 0px;
    border: 1px solid #232323;
}

.language-option p {
    font-size: 12px;
    font-weight: bold;
    margin: 0;
    padding: 0;
}

#languageModal{
    z-index: 10050 !important;
    padding: 0 !important;
}

#languageModal + .modal-backdrop {
    z-index: 10040 !important;
}

#languageModal .modal-dialog{
    z-index: 10051 !important;
}

#languageModal .modal-content {
    border: none;
    border-radius: 16px;
    padding: 15px;
    z-index: 10052 !important;
}

#languageModal .modal-content .modal-body {
    padding: 0;
}


#languageModal .row{
    width: 100%;
}

/* highlight active language */
/* .gtranslate-active {
  background-color: #f5e93e !important; 
  color: #000 !important;
  border-radius: 6px !important;
  transition: background-color 150ms !important;
} */

/* Hide Google Translate icon badge */
.goog-te-banner-frame.skiptranslate,
.goog-te-gadget-icon,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf {
  display: none !important;
}





/* cookie popup */

div#cc_div {
    color: #000;
}

.cc_div .cloud #c-txt{
    color: #000;
}

/* contact popup */

#CustomerService,
#contactModal,
#CareerModal,
#longtermStayModal {
    justify-content: center;
    padding-right: 0!important;
    z-index: 10001;
    background: rgba(0, 0, 0, 0.6);
}
#CustomerService .modal-dialog,
#contactModal .modal-dialog,
#CareerModal .modal-dialog,
#longtermStayModal .modal-dialog {
    width: 900px;
}
#CustomerService .modal-content,
#contactModal .modal-content,
#CareerModal .modal-content,
#longtermStayModal .modal-content {
    border: none;
    border-radius: 16px;
    padding: 15px;
}
.contact-popup-title {
    font-size: 34px;
    font-weight: 600;
    color: #282828;
}

/* Thank You Modals z-index */
#thankYouModal,
#careerThankYouModal,
#longtermThankYouModal,
#contactThankYouModal {
    z-index: 10002;
}

/* Dropdown Menu Z-Index Fix */
#CustomerService .dropdown-menu,
#contactModal .dropdown-menu,
#CareerModal .dropdown-menu,
#longtermStayModal .dropdown-menu {
    z-index: 10003 !important;
    border-radius: 8px;
    border: 1px solid #ddd;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Select Dropdown Arrow Styling */
#CustomerService .form-select,
#contactModal .form-select,
#CareerModal .form-select,
#longtermStayModal .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border-radius: 8px !important;
}

/* Dropdown Menu Items */
#CustomerService .dropdown-item,
#contactModal .dropdown-item,
#CareerModal .dropdown-item,
#longtermStayModal .dropdown-item {
    border-radius: 4px;
    margin: 2px 4px;
    transition: background-color 0.2s ease;
}

#CustomerService .dropdown-item:hover,
#contactModal .dropdown-item:hover,
#CareerModal .dropdown-item:hover,
#longtermStayModal .dropdown-item:hover {
    background-color: #007bff;
    color: white;
}

/* Fix for Bootstrap Select overlays */
.modal .bootstrap-select .dropdown-menu {
    z-index: 10003 !important;
    border-radius: 8px !important;
}

.modal .bootstrap-select .dropdown-toggle {
    border-radius: 8px !important;
}

/* General Z-Index fixes for all Modal overlays */
.modal-backdrop {
    z-index: 10000;
}

.modal {
    z-index: 10001;
}

.modal .dropdown-menu,
.modal .datepicker,
.modal .ui-datepicker,
.modal .select2-dropdown {
    z-index: 10003 !important;
}

/* Ensure all select elements in modals have rounded corners */
.modal select,
.modal .form-select,
.modal .custom-select {
    border-radius: 8px !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* CRITICAL: Very specific targeting for Longterm Modal dropdowns */
#longtermStayModal select,
#longtermStayModal .form-select,
#longtermStayModal select.form-select,
div#longtermStayModal .form-select,
.modal#longtermStayModal .form-select {
    border-radius: 8px !important;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
}

/* Bootstrap Override for all select elements */
select.form-select,
.form-select {
    border-radius: 8px !important;
}

/* ULTRA SPECIFIC: Force border radius on Langzeit Modal selects */
#longtermStayModal select#longterm_location,
#longtermStayModal select#longterm_guests,
#longtermStayModal select#longterm_duration,
#longtermStayModal .form-select#longterm_location,
#longtermStayModal .form-select#longterm_guests,
#longtermStayModal .form-select#longterm_duration {
    border-radius: 8px !important;
    -webkit-border-radius: 8px !important;
    -moz-border-radius: 8px !important;
    overflow: hidden !important;
}

/* Apply to all Bootstrap selects globally */
.form-select, 
select.form-select,
.form-control,
input.form-control {
    border-radius: 8px !important;
}

/* Dropdown menu positioning fix */
.modal .dropdown-menu {
    z-index: 10004 !important;
}

/* MODAL STYLING TO MATCH WEBSITE THEME */
/* Modal Buttons - Using Website Colors */
#CustomerService .btn,
#contactModal .btn,
#CareerModal .btn,
#longtermStayModal .btn {
    background: var(--main-color) !important; /* #4337ed */
    border: none;
    text-align: center;
    cursor: pointer;
    outline: none;
    position: relative;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    padding: 20px;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}

#CustomerService .btn::before,
#contactModal .btn::before,
#CareerModal .btn::before,
#longtermStayModal .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #232323;
    transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
    transform-origin: 100% 50%;
    border-radius: inherit;
    z-index: -1;
}

#CustomerService .btn:hover::before,
#contactModal .btn:hover::before,
#CareerModal .btn:hover::before,
#longtermStayModal .btn:hover::before {
    transform: scale3d(0, 1, 1);
    transform-origin: 0% 50%;
}

#CustomerService .btn:hover,
#contactModal .btn:hover,
#CareerModal .btn:hover,
#longtermStayModal .btn:hover {
    color: #ffffff;
}

/* Modal Secondary Buttons */
#CustomerService .btn-secondary,
#contactModal .btn-secondary,
#CareerModal .btn-secondary,
#longtermStayModal .btn-secondary {
    background: #232323 !important;
    color: #fff;
}

#CustomerService .btn-secondary::before,
#contactModal .btn-secondary::before,
#CareerModal .btn-secondary::before,
#longtermStayModal .btn-secondary::before {
    background: var(--main-color);
}

/* Success/Thank You Modal Buttons */
#thankYouModal .btn,
#contactThankYouModal .btn,
#careerThankYouModal .btn,
#longtermThankYouModal .btn {
    background: var(--main-color-2) !important; /* #9e55e2 */
    border: none;
    color: #fff;
    font-weight: 700;
    padding: 20px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

#thankYouModal .btn::before,
#contactThankYouModal .btn::before,
#careerThankYouModal .btn::before,
#longtermThankYouModal .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #232323;
    transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
    transform-origin: 100% 50%;
    border-radius: inherit;
    z-index: -1;
}

#thankYouModal .btn:hover::before,
#contactThankYouModal .btn:hover::before,
#careerThankYouModal .btn:hover::before,
#longtermThankYouModal .btn:hover::before {
    transform: scale3d(0, 1, 1);
    transform-origin: 0% 50%;
}

/* Modal Form Elements - Website Theme Colors */
#CustomerService .form-control,
#CustomerService .form-select,
#contactModal .form-control,
#contactModal .form-select,
#CareerModal .form-control,
#CareerModal .form-select,
#longtermStayModal .form-control,
#longtermStayModal .form-select {
    border-radius: 20px;
    border: 2px solid #e0e0e0;
    padding: 15px 20px;
    font-weight: 400;
    font-size: 16px;
    color: #232323;
    background-color: #fff;
    transition: all 0.3s ease;
}

#CustomerService .form-control:focus,
#CustomerService .form-select:focus,
#contactModal .form-control:focus,
#contactModal .form-select:focus,
#CareerModal .form-control:focus,
#CareerModal .form-select:focus,
#longtermStayModal .form-control:focus,
#longtermStayModal .form-select:focus {
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px rgba(67, 55, 237, 0.1);
    outline: none;
    background-color: #fff;
}



/* Simple close button like the original */
#contactModal .btn-close,
#CustomerService .btn-close,
#CareerModal .btn-close,
#longtermStayModal .btn-close {
    opacity: 0.5 !important;
    color: #666 !important;
    border: none !important;
    font-size: 1.5rem !important;
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 1000 !important;
    display: block !important;
    visibility: visible !important;
}

#contactModal .btn-close:hover,
#CustomerService .btn-close:hover,
#CareerModal .btn-close:hover,
#longtermStayModal .btn-close:hover {
    opacity: 0.8 !important;
}

/* Modal Content */
#CustomerService .modal-content,
#contactModal .modal-content,
#CareerModal .modal-content,
#longtermStayModal .modal-content {
    border-radius: 20px;
    border: none;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

#CustomerService .modal-body,
#contactModal .modal-body,
#CareerModal .modal-body,
#longtermStayModal .modal-body {
    padding: 30px;
    max-height: 70vh;
    overflow-y: auto;
}

/* Custom Scrollbar for Modal Bodies */
#CustomerService .modal-body::-webkit-scrollbar,
#contactModal .modal-body::-webkit-scrollbar,
#CareerModal .modal-body::-webkit-scrollbar,
#longtermStayModal .modal-body::-webkit-scrollbar {
    width: 8px;
}

#CustomerService .modal-body::-webkit-scrollbar-track,
#contactModal .modal-body::-webkit-scrollbar-track,
#CareerModal .modal-body::-webkit-scrollbar-track,
#longtermStayModal .modal-body::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

#CustomerService .modal-body::-webkit-scrollbar-thumb,
#contactModal .modal-body::-webkit-scrollbar-thumb,
#CareerModal .modal-body::-webkit-scrollbar-thumb,
#longtermStayModal .modal-body::-webkit-scrollbar-thumb {
    background: #4337ed;
    border-radius: 10px;
    transition: background 0.3s ease;
}

#CustomerService .modal-body::-webkit-scrollbar-thumb:hover,
#contactModal .modal-body::-webkit-scrollbar-thumb:hover,
#CareerModal .modal-body::-webkit-scrollbar-thumb:hover,
#longtermStayModal .modal-body::-webkit-scrollbar-thumb:hover {
    background: #3528c9;
}

/* Firefox scrollbar for modals */
#CustomerService .modal-body,
#contactModal .modal-body,
#CareerModal .modal-body,
#longtermStayModal .modal-body {
    scrollbar-width: thin;
    scrollbar-color: #4337ed #f1f1f1;
}

/* Modal Alerts - Website Theme */
#CustomerService .alert,
#contactModal .alert,
#CareerModal .alert,
#longtermStayModal .alert {
    border-radius: 15px;
    border: none;
    padding: 20px;
    background: linear-gradient(135deg, var(--bgcolor) 0%, #f9f5a3 100%);
    color: #232323;
    font-weight: 500;
}

#CustomerService .alert .fa-info-circle,
#contactModal .alert .fa-info-circle,
#CareerModal .alert .fa-info-circle,
#longtermStayModal .alert .fa-info-circle {
    color: var(--main-color);
}

/* Form Labels */
#CustomerService .form-label,
#contactModal .form-label,
#CareerModal .form-label,
#longtermStayModal .form-label {
    color: #232323;
    font-weight: 600;
    margin-bottom: 8px;
}

/* Invalid Feedback */
#CustomerService .invalid-feedback,
#contactModal .invalid-feedback,
#CareerModal .invalid-feedback,
#longtermStayModal .invalid-feedback {
    background: #ff3f34;
    color: #fff;
    padding: 8px 15px;
    border-radius: 10px;
    font-weight: 500;
    margin-top: 5px;
}

/* Prevent background scrolling when modal is open */
body.modal-open {
    overflow: hidden !important;
    padding-right: 0 !important;
}

body.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}

/* Fix for modal scrolling issues */
.modal.show {
    padding-right: 0 !important;
}

.modal-backdrop {
    z-index: 10000;
}

/* Modal specific overflow handling */
.modal-dialog {
    margin: 1.75rem auto;
    max-height: calc(100vh - 3.5rem);
}

.modal-content {
    max-height: calc(100vh - 3.5rem);
    overflow-y: auto;
}

/* Langzeit Modal now uses shared modal styling - no special rules needed */

/* Langzeit Modal Submit Button - Full Width */
#longtermStayModal button[type="submit"],
#longtermStayModal .btn-primary {
    width: 100% !important;
    display: block !important;
}

/* Modal Form Elements Styling */
#CustomerService .form-control,
#CustomerService .form-select,
#contactModal .form-control,
#contactModal .form-select,
#CareerModal .form-control,
#CareerModal .form-select,
#longtermStayModal .form-control,
#longtermStayModal .form-select {
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 10px 15px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

#CustomerService .form-control:focus,
#CustomerService .form-select:focus,
#contactModal .form-control:focus,
#contactModal .form-select:focus,
#CareerModal .form-control:focus,
#CareerModal .form-select:focus,
#longtermStayModal .form-control:focus,
#longtermStayModal .form-select:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    outline: none;
}

/* Modal Alert Styling */
#CustomerService .alert,
#contactModal .alert,
#CareerModal .alert,
#longtermStayModal .alert {
    border-radius: 8px;
    border: none;
    padding: 15px 20px;
}

/* Modal Button Styling */
#CustomerService .btn,
#contactModal .btn,
#CareerModal .btn,
#longtermStayModal .btn {
    border-radius: 8px;
    padding: 5px 15px;
    font-weight: 600;
    transition: all 0.3s ease;
}

#CustomerService .btn-primary,
#contactModal .btn-primary,
#CareerModal .btn-primary,
#longtermStayModal .btn-primary {
    background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
    border: none;
}

#CustomerService .btn-primary:hover,
#contactModal .btn-primary:hover,
#CareerModal .btn-primary:hover,
#longtermStayModal .btn-primary:hover {
    background: linear-gradient(135deg, #0056b3 0%, #004085 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3);
}

/* Modal Secondary Button */
#CustomerService .btn-secondary,
#contactModal .btn-secondary,
#CareerModal .btn-secondary,
#longtermStayModal .btn-secondary {
    background: linear-gradient(135deg, #6c757d 0%, #545b62 100%);
    border: none;
    color: white;
}

#CustomerService .btn-secondary:hover,
#contactModal .btn-secondary:hover,
#CareerModal .btn-secondary:hover,
#longtermStayModal .btn-secondary:hover {
    background: linear-gradient(135deg, #545b62 0%, #343a40 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(108, 117, 125, 0.3);
    color: white;
}

/* Modal Form Labels */
#CustomerService .form-label,
#contactModal .form-label,
#CareerModal .form-label,
#longtermStayModal .form-label {
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

/* Modal Invalid Feedback */
#CustomerService .invalid-feedback,
#contactModal .invalid-feedback,
#CareerModal .invalid-feedback,
#longtermStayModal .invalid-feedback {
    border-radius: 4px;
    padding: 5px 10px;
    margin-top: 5px;
}

/* Modal Textarea Specific Styling */
#CustomerService textarea.form-control,
#contactModal textarea.form-control,
#CareerModal textarea.form-control,
#longtermStayModal textarea.form-control {
    resize: vertical;
    min-height: 120px;
    border-radius: 8px;
}

/* Modal Input Groups */
#CustomerService .input-group,
#contactModal .input-group,
#CareerModal .input-group,
#longtermStayModal .input-group {
    border-radius: 8px;
}

#CustomerService .input-group .form-control,
#contactModal .input-group .form-control,
#CareerModal .input-group .form-control,
#longtermStayModal .input-group .form-control {
    border-radius: 0 8px 8px 0;
}

#CustomerService .input-group-text,
#contactModal .input-group-text,
#CareerModal .input-group-text,
#longtermStayModal .input-group-text {
    border-radius: 8px 0 0 8px;
    background-color: #f8f9fa;
    border: 1px solid #ddd;
}

/* Modal File Input Styling */
#CustomerService .form-control[type="file"],
#contactModal .form-control[type="file"],
#CareerModal .form-control[type="file"],
#longtermStayModal .form-control[type="file"] {
    border-radius: 8px;
    padding: 10px;
    background-color: #f8f9fa;
    border: 2px dashed #ddd;
    transition: all 0.3s ease;
}

#CustomerService .form-control[type="file"]:hover,
#contactModal .form-control[type="file"]:hover,
#CareerModal .form-control[type="file"]:hover,
#longtermStayModal .form-control[type="file"]:hover {
    border-color: #007bff;
    background-color: #e3f2fd;
}

#CustomerService .form-control[type="file"]:focus,
#contactModal .form-control[type="file"]:focus,
#CareerModal .form-control[type="file"]:focus,
#longtermStayModal .form-control[type="file"]:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
    background-color: #e3f2fd;
}

/* Responsive Modal Styles */
@media (max-width: 992px) {
    #CustomerService .modal-dialog,
    #contactModal .modal-dialog,
    #CareerModal .modal-dialog,
    #longtermStayModal .modal-dialog {
        max-width: 90%;
        margin: 1rem auto;
    }

    #CustomerService .modal-body,
    #contactModal .modal-body,
    #CareerModal .modal-body,
    #longtermStayModal .modal-body {
        max-height: 75vh;
        padding: 25px;
    }
}

@media (max-width: 768px) {
    #CustomerService .modal-dialog,
    #contactModal .modal-dialog,
    #CareerModal .modal-dialog,
    #longtermStayModal .modal-dialog {
        max-width: 95%;
        margin: 0.5rem auto;
    }

    #CustomerService .modal-body,
    #contactModal .modal-body,
    #CareerModal .modal-body,
    #longtermStayModal .modal-body {
        max-height: 80vh;
        padding: 20px 15px;
    }

    #CustomerService .modal-header,
    #contactModal .modal-header,
    #CareerModal .modal-header,
    #longtermStayModal .modal-header {
        padding: 15px;
    }

    #CustomerService .contact-popup-title,
    #contactModal .contact-popup-title,
    #CareerModal .contact-popup-title,
    #longtermStayModal .contact-popup-title {
        font-size: 24px;
    }

    #CustomerService .form-control,
    #contactModal .form-control,
    #CareerModal .form-control,
    #longtermStayModal .form-control,
    #CustomerService .form-select,
    #contactModal .form-select,
    #CareerModal .form-select,
    #longtermStayModal .form-select {
        font-size: 14px;
        padding: 10px 12px;
    }

    #CustomerService .btn,
    #contactModal .btn,
    #CareerModal .btn,
    #longtermStayModal .btn {
        padding: 12px 20px;
        font-size: 14px;
    }

    #CustomerService textarea.form-control,
    #contactModal textarea.form-control,
    #CareerModal textarea.form-control,
    #longtermStayModal textarea.form-control {
        min-height: 100px;
    }
}

@media (max-width: 576px) {
    #CustomerService .modal-dialog,
    #contactModal .modal-dialog,
    #CareerModal .modal-dialog,
    #longtermStayModal .modal-dialog {
        max-width: 100%;
        margin: 0;
    }

    #CustomerService .modal-body,
    #contactModal .modal-body,
    #CareerModal .modal-body,
    #longtermStayModal .modal-body {
        max-height: 85vh;
        padding: 15px 10px;
    }

    #CustomerService .modal-content,
    #contactModal .modal-content,
    #CareerModal .modal-content,
    #longtermStayModal .modal-content {
        border-radius: 0;
        min-height: 100vh;
    }

    #CustomerService .contact-popup-title,
    #contactModal .contact-popup-title,
    #CareerModal .contact-popup-title,
    #longtermStayModal .contact-popup-title {
        font-size: 20px;
    }

    #CustomerService .alert,
    #contactModal .alert,
    #CareerModal .alert,
    #longtermStayModal .alert {
        padding: 12px 15px;
        font-size: 13px;
    }

    #CustomerService .form-label,
    #contactModal .form-label,
    #CareerModal .form-label,
    #longtermStayModal .form-label {
        font-size: 13px;
        margin-bottom: 6px;
    }

    #CustomerService .btn-group,
    #contactModal .btn-group,
    #CareerModal .btn-group,
    #longtermStayModal .btn-group {
        gap: 5px;
    }

    #CustomerService .btn-group .btn,
    #contactModal .btn-group .btn,
    #CareerModal .btn-group .btn,
    #longtermStayModal .btn-group .btn {
        padding: 8px 12px;
        font-size: 13px;
    }
}


input.error {
    border: 2px solid red;
    background-color: #ffe6e6;
}

.error-message {
    color: red;
    font-size: 0.85rem;
    margin-left: 8px;
}


/* review popup */
#reviewsDrawer{
    width: 900px;
    z-index: 10000;
}
.offcanvas-backdrop.show{
    z-index: 9999;
}
#reviewsDrawer .modal-content{
    border: none;
}  

#reviewsDrawer .modal-content .row{
    flex-direction: column;
}

#reviewsContainer .review{
    max-width: 100%;
    width: 100%;
    flex-direction: column;
}



/* room-list  */

.room-section {
    position: relative;
}

/* .room-section .heading h2,
.room-section .heading span,
.room-section .heading p {
    color: #fff;
} */

.room-section .heading span {
    border: 1px solid #fff;
}

.room-section .heading p {
    width: 90%;
    padding-top: 10px;
    margin: auto;
}

.room-section .review img {
    margin: 0px 30px;
    filter: invert(1);
}

.room-section .center.review h6, 
.room-section .center.review li i {
    color: #232323;
}

.room img {
    border-radius: 20px;
    border: 5px solid #ffffff;
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.room {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 10px;
    text-align: center;
    z-index: 99;
}

.room:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 74%;
    background-color: #232323;
    right: 0;
    bottom: 0;
    border-radius: 20px;
    transition: background-color 0.3s ease;
}

.room:hover:before {
    background-color: var(--main-color-2);
}

.room:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0%;
    background-color: transparent;
    right: 0;
    bottom: 0;
    border-radius: 20px;
}

.room:hover:after {
    height: 0%;
}

.room figure {
    position: relative;
    margin-bottom: 15px;
    z-index: 22;
}

.room-data{
    width: 85%;
    margin: 0 auto;
}

.room p {
    position: relative;
    color: #fff;
    font-size: 18px;
    z-index: 22;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.4em;
    max-height: calc(2.8em);
    overflow: hidden;
}

ul.room-detail-list{
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.room .room-detail-list li{
    display: inline-block;
    list-style: none;
    color: #fff;
}

.room .room-detail-list li p {
    font-size: 16px;
    line-height: 23px;
    color: rgb(255, 255, 255);
    margin: 0px;
    width: fit-content;
}
.room .room-detail-list li p i {
    color: rgb(245, 233, 62);
    display: inline-block;
    margin-right: 8px;
}

.room .room-detail-list li p span {
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: rgb(255, 255, 255);
    display: inline-block;
    margin-right: 10px;
}

.room h4 {
    color: #fff;
    position: relative;
    font-size: 28px;
    padding-top: 5px;
    font-weight: bold;
    z-index: 10;
}

.room-meta-data > span {
    font-size: 24px;
    line-height: 24px;
    font-weight: 600;
    font-family: var(--heading-font);
    color: rgb(245, 233, 62);
    text-align: center;
}

.room>a {
    position: relative;
    color: #fff;
    font-size: 18px;
    border: 1px solid #fff;
    display: flex;
    padding: 16px;
    width: 90%;
    margin: auto;
    border-radius: 20px;
    margin-top: 28px;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.room>a i {
    font-size: 28px;
    padding-right: 10px;
}

/* .room:hover span,
.room:hover a,
.room:hover h4 {
    color: #232323;
} */

.room:hover a {
    border: 1px solid #bfbfbf;
}

.room:hover .expert-icon a i {
    background-color: var(--bgcolor);
}

.expert-icon ul.icon-share{
    display: flex;
    gap: 10px;
    top: -4px;
}

.room:hover .expert-icon ul.icon-share {
    opacity: 1;
    visibility: visible;
    left: 55px;
}

.room-section ul.shaps-img li:nth-child(1) {
    left: 69%;
    top: 80%;
    animation: 8s leftleft infinite;
}

.room-section ul.shaps-img li:nth-child(2) {
    top: 5%;
    left: 4%;
    animation: 10s inherit;
    animation: 20s rotate infinite;
}
.room>a:hover {
    background-color: var(--bgcolor);
    border: 1px solid var(--bgcolor);
}

.room .expert-icon{
    position: absolute;
    left: 2%;
    z-index: 999;
}
.room .expert-icon a i{
    width: 45px;
    height: 45px;
}

.room .button.btn {
    background: transparent;
    margin-top: 15px;
}
.room .btn::before {
    content: '';
    background: #f5e93e;
    color: #232323;
    transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
    transform-origin: 0% 50%; /* Start from left */
    transform: scale3d(0, 1, 1); /* hidden initially */
    border-radius: 20px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.room .btn:hover::before {
    transform: scale3d(1, 1, 1); /* expand fully to the right */
    transform-origin: 0% 50%;
}

/* Make sure content stays above the background */
.room .btn span span {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 10px;
    align-items: center;
}

/* Optional: animate the arrow itself */
.room .btn:hover i {
    transform: translateX(6px); /* slide arrow to the right */
    transition: transform 0.3s ease;
}

.room > * {
    position: relative;
    z-index: 2;
}




.room__list.section-padding {
    padding: 40px 20px;
    position: relative;
}
.room__list.section-padding .row {
    justify-content: center;
}
.room__list.section-padding .row .room__list-items{
    width: 90%;
    z-index: 1;
}
.room__list-item {
    display: flex;
    align-items: center;
    border: 2px solid #f5e93e;
    border-radius: 12px;
    padding: 0;
    margin-bottom: 30px;
    background-color: #855ff1;
    color: #ffffff;
    position: relative;
}

.room__list-item:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #855ff1;
    right: 0;
    bottom: 0;
    border-radius: 10px;
}

.room__list-item:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0%;
    background-color: #232323;
    right: 0;
    bottom: 0;
    border-radius: 10px;
}

.room__list-item:hover:after {
    height: 100%;
}

.room__list-item > * {
    position: relative;
    z-index: 2;
}

.room__list-item:last-child {
    margin: 0;
}
.room__list-item-left {
    width: 35%;
}
.room__list-item-image img{
    border-radius: 10px;    
    height: 300px;
    object-fit: cover;
}
.room__list-item-right {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 65%;
    padding-left: 50px;
}
.room__list-item-right-content {
    border-right: 1px solid #f5e93e;
    padding-right: 65px;
}
.room__list-item-right-content h4 {
    color: #fff;
    font-size: 28px;
    font-weight: bold;
}
.room__list-item-right-content p {
    color: var(--color-1);
    /* max-width: 70%; */
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.4em;
    max-height: calc(1.4em * 2);
}
.room__list-item-right-content ul {
    padding: 0;
    margin: 0;
}
.room__list-item-right-content ul li {
    display: inline-block;
    list-style: none;
    margin-right: 25px;
}
.room__list-item-right-content ul li:last-child {
    margin: 0;
}
.room__list-item-right-content ul li i {
    color: var(--primary-color);
    margin-right: 10px;
}
.room__list-item-right-meta {
    text-align: center;
    padding: 20px;
}
.room__list-item-right-meta-top{
    margin-bottom: 20px;
}
.room__list-item-right-meta-top > span {
    font-size: 24px;
    line-height: 24px;
    font-weight: 600;
    font-family: var(--heading-font);
    color: #f5e93e;
}
.room__list-item-right-meta-top p {
    margin: 0;
    font-size: 16px;
    line-height: 23px;
    color: #fff;
}
.room__list-item-right-meta-top p i {
    color: #f5e93e;
    display: inline-block;
    margin-right: 8px;
}
.room__list-item-right-meta-top p span {
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: #fff;
    display: inline-block;
    margin-right: 10px;
}

.room__list-item-right-meta .button{
    padding: 15px 30px;
    font-size: 16px;
    width: 180px;
    font-weight: 500;
    border: 1px solid #855ff1;
}

.room__list ul.shaps-img li:nth-child(1) {
    top: 90%;
    left: 80%;
    animation: 8s rotate infinite;
    z-index: 0;
}

.room__list ul.shaps-img li:nth-child(2) {
    top: 2%;
    left: 5%;
    animation: 20s rotate infinite;
}




/*  room__list3 */


.room__list3.section-padding {
    padding: 60px 20px;
    position: relative;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}
.room__list3.section-padding .row {
    justify-content: center;
}
.room__list3.section-padding .row .room__list3-items{
    width: 100%;
    z-index: 1;
}

.room__list3-item-link {
    text-decoration: none;
    color: inherit;
    display: block;
    margin-bottom: 40px;
    transition: transform 0.3s ease;
}

.room__list3-item-link:hover {
    transform: translateY(-5px);
}

.room__list3-item {
    display: flex;
    align-items: stretch;
    border: none;
    border-radius: 30px;
    padding: 0;
    background: linear-gradient(135deg, #9e55e2 80%, #9370DB 100%);
    color: #ffffff;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(138, 43, 226, 0.2);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.room__list3-item-link:hover .room__list3-item {
    box-shadow: 0 15px 40px rgba(138, 43, 226, 0.3);
}

.room__list3-item:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #9e55e2 80%, #9370DB 100%);
    right: 0;
    bottom: 0;
    border-radius: 30px;
    z-index: 0;
}

.room__list3-item:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0%;
    background: linear-gradient(135deg, #4337ed 80%, #6366f1 100%);
    right: 0;
    bottom: 0;
    border-radius: 30px;
    transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}

.room__list3-item:hover:after {
    height: 100%;
}

.room__list3-item > * {
    position: relative;
    z-index: 2;
}

.room__list3-item-left {
    width: 45%;
    display: flex;
    align-items: center;
}

.room__list3-item-image {
    position: relative;
    width: 100%;
}

.room__list3-logo {
    position: absolute;
    bottom: 25px;
    left: 25px;
    width: 120px;
    height: auto;
    border-radius: 12px;
    border: 1px solid #ffffff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    object-fit: contain;
    padding: 8px;
    background-color: #d4d4d48c;
    transition: transform 0.3s ease;
}

.room__list3-item:hover .room__list3-logo {
    transform: scale(1.05);
}

img.room__list3-logo.room__list3-logo2 {
    left: 150px;
}

.room__list3-item-image .room__list3-preview-img{
    border-radius: 25px;
    width: 100%;    
    height: 380px;
    object-fit: cover;
    border: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.room__list3-item:hover .room__list3-preview-img {
    transform: scale(0.95);
}

.room__list3-item-right {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 55%;
    padding: 40px 40px 40px 30px;
}
.room__list3-item-right-content {
    border-right: 2px solid rgba(245, 233, 62, 0.3);
    padding-right: 40px;
    flex: 1;
}
/* .room__list3-item-right-content img {
    width: 100px;
    object-fit: cover;
    margin-bottom: 10px;
    border-radius: 12px;
} */
.room__list3-item-right-content h4 {
    color: #fff;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: -0.5px;
}
.room__list3-item-right-content p {
    color: rgba(255, 255, 255, 0.9);
    /* max-width: 70%; */
    margin-bottom: 25px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.6em;
    max-height: calc(1.6em * 2);
    font-size: 15px;
}
.room__list3-item-right-content ul {
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}
.room__list3-item-right-content ul li {
    display: flex;
    align-items: center;
    list-style: none;
    background: rgba(255, 255, 255, 0.15);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    backdrop-filter: blur(10px);
}
.room__list3-item-right-content ul li:last-child {
    margin: 0;
}
.room__list3-item-right-content ul li i {
    color: #f5e93e;
    margin-right: 8px;
    font-size: 16px;
}
.room__list3-item-right-meta {
    text-align: center;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.room__list3-item-right-meta-top{
    margin-bottom: 10px;
}
.room__list3-item-right-meta-top > span {
    font-size: 36px;
    line-height: 1;
    font-weight: 700;
    font-family: var(--heading-font);
    color: #f5e93e;
    display: block;
    margin-bottom: 8px;
}
.room__list3-item-right-meta-top p {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.room__list3-item-right-meta-top p i {
    color: #f5e93e;
    font-size: 16px;
}
.room__list3-item-right-meta-top p span {
    font-weight: 700;
    font-size: 20px;
    color: #fff;
}

.room__list3-item-right-meta .button{
    padding: 16px 32px;
    font-size: 15px;
    width: 200px;
    font-weight: 600;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.room__list3-item-right-meta .button:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
}

.room__list3-item-right-meta .button i{
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.room__list3-item:hover .button i {
    transform: translateX(5px);
}

.room__list3 ul.shaps-img li:nth-child(1) {
    top: 90%;
    left: 80%;
    animation: 8s rotate infinite;
    z-index: 0;
}

.room__list3 ul.shaps-img li:nth-child(2) {
    top: 2%;
    left: 5%;
    animation: 20s rotate infinite;
}

.room__list3-btn {
    margin: 40px auto;
    width: 100%;
    z-index: 10;
}


/* room-detail availability-table */

  .room-availability-table-wrapper {
    margin: 30px auto;
  }

  .room-availability-table-wrapper .title-animation {
    text-align: start;
    font-size: 44px;
    width: fit-content;
  }

  .room-table-wrapper {
    max-width: 100%;
    overflow-x: auto;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
  }
  .room-availability-table {
    width: 100%;
    min-width: 1000px;
    border-collapse: collapse;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
  }

  .room-availability-table thead {
    background: var(--bgcolor);
    color: #000;
  }

  .room-availability-table th,
  .room-availability-table td {
    padding: 14px 16px;
    text-align: left;
    font-size: 0.95rem;
  }

  .room-availability-table th {
    font-weight: bold;
  }

  .room-availability-table tbody tr {
    background: #fff;
    border-bottom: 1px solid #eee;
    transition: background 0.2s ease;
  }

  .room-availability-table tbody tr:hover {
    background: #fef9c3; /* light yellow hover */
  }

  .room-availability-btn {
    background: var(--main-color-2);
    color: #fff;
    padding: 8px 14px;
    border: none;
    border-radius: 20px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s ease;
    position: relative;
    overflow: hidden;
  }
  .room-availability-btn.btn::before {
    background: var(--main-color-2);
  }

  .room-availability-btn:hover {
    background: #232323;
  }

  .room-availability-icon {
    margin-right: 6px;
    color: var(--main-color-2);
  }

  .room-nosmoking i,
  .room-smoking i{
    margin-right: 5px;
  }

  .room-nosmoking {
    color: #38a169; /* Green */
  }

  .room-smoking {
    color: #e53e3e; /* Red */
  }

/* room-detail availability-table */

/* room-detail accommodations-list */

.accommodations-list .title-animation{
    text-align: start;
    font-size: 44px;
    width: fit-content;
}

.accommodations-list .room .expert-icon{
    top: 55%;
}

/* room-detail accommodations-list */

span#adultsCount,
span#childrenCount {
    width: 15px;
}


/* 400 page */

.error-wrapper {
    max-width: 600px;
    padding: 80px 25px;
    margin: auto;
    text-align: center;
}
.error-code {
    font-size: 80px;
    margin: 0;
    color: var(--main-color-2)
}
.page-error-message {
    font-size: 22px;
    margin: 20px 0;
    color: var(--main-color-2)
}
.error-image {
    max-width: 120px;
    height: auto;
    margin: 20px 0;
}
.error-btn {
    display: inline-block;
    padding: 14px 28px;
    background-color: #e74c3c;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
    transition: background-color 0.3s;
}
.error-btn:hover {
    background-color: #c0392b;
}


/* careers-accordion__content */

.job-posting__title {
  font-size: 1.4rem;
  font-weight: 600;
  color: #222;
  margin-bottom: 6px;
}

.job-posting__location {
  font-size: 0.95rem;
  color: #666;
  margin-bottom: 16px;
}

.job-posting__subtitle {
  font-size: 1.1rem;
  font-weight: 500;
  color: #4337ed; /* Accent color */
  margin: 18px 0 8px;
}

.job-posting__list {
  margin: 0 0 12px 20px;
  padding: 0;
  list-style: disc;
}

.job-posting__list li {
  margin-bottom: 6px;
  line-height: 1.5;
  display: list-item;
}

.job-posting__cta {
  margin-top: 20px;
  font-size: 1.05rem;
  color: #111;
  background: #f3f9ff;
  padding: 12px 15px;
  border-left: 4px solid #4337ed;
  border-radius: 8px;
}
.job-posting__cta strong {
  color: #4337ed;
}



/* floorplan-gallery */

.floorplan-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 40px 0;
}

.floorplan-item {
    overflow: hidden;
    border-radius: 10px;
    transition: transform 0.3s ease;
    cursor: pointer;
}

.floorplan-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.floorplan-item:hover img {
    transform: scale(1.05);
}

/* Green checkmarks for accordion tables */
.check-green {
    color: #28a745;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

/* Accordion table hover effect - same yellow as availability table */
.accordion-item .content table.table tbody tr {
    transition: background 0.2s ease;
}

.accordion-item .content table.table tbody tr:hover {
    background: #fef9c3; /* light yellow hover - same as room-availability-table */
}

/* Room Cards Section */
.room-availability-section {
    margin-top: 50px;
    background: #eeeeee;
    padding: 50px 50px;
    border-radius: 30px;
}

.room-cards-container {
    background: var(--main-color-2);
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.room-card {
    background: #ffffff;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.room-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(67, 55, 237, 0.15);
    border-color: #4337ed;
}

.room-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
}

.room-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #232323;
    margin: 0;
    line-height: 1.4;
    flex: 1;
}

.room-card-badge {
    background: #4c995d;
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
}

.room-card-badge i {
    font-size: 11px;
}

.room-card-body {
    flex: 1;
    margin-bottom: 20px;
}

.room-card-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.room-info-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: #555;
}

.room-info-item i {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #4337ed 0%, #4337ed 80%, #5a4dff 100%);
    color: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}

.room-card-footer {
    margin-top: auto;
}

.room-card-btn {
    width: 100%;
    margin: 0;
    padding: 12px 20px;
    font-size: 14px;
}

/* Room Card with Image */
.room-card-with-image {
    position: relative;
    overflow: hidden;
    padding: 0;
    border: none;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 10px 40px rgba(67, 55, 237, 0.15);
    transform: translateY(0);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.room-card-with-image:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(67, 55, 237, 0.25);
}

.room-card-image {
    width: 100%;
    height: 280px;
    position: relative;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
    display: block;
    margin: 0;
    line-height: 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.room-preview-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    display: block;
    border-radius: 20px 20px 0 0;
}

.room-card-with-image:hover .room-preview-img {
    transform: scale(1.15) rotate(1deg);
    opacity: 0.95;
}

.room-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 25px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.6) 100%);
    opacity: 0.95;
}

.room-overlay-title {
    font-size: 26px;
    font-weight: 900;
    color: #1a1a1a;
    margin: 0;
    background: linear-gradient(135deg, rgb(255, 223, 0) 0%, rgb(255, 240, 80) 100%);
    padding: 12px 28px;
    border-radius: 35px;
    box-shadow: 0 8px 25px rgba(255, 223, 0, 0.6), 0 0 0 3px rgba(255, 255, 255, 0.3);
    display: inline-block;
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
}

.room-card-with-image:hover .room-overlay-title {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 35px rgba(255, 223, 0, 0.7), 0 0 0 4px rgba(255, 255, 255, 0.4);
}

.room-overlay-badge {
    background: linear-gradient(135deg, #00b894 0%, #00cec9 100%);
    color: white;
    padding: 10px 18px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 6px 20px rgba(0, 184, 148, 0.5), 0 0 0 2px rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.room-card-with-image:hover .room-overlay-badge {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 10px 30px rgba(0, 184, 148, 0.6), 0 0 0 3px rgba(255, 255, 255, 0.3);
}

.room-overlay-badge i {
    font-size: 12px;
    margin-top: 0;
    vertical-align: middle;
}

.room-card-with-image .room-card-body {
    padding: 25px;
}

.room-card-with-image .room-card-footer {
    padding: 0 25px 25px 25px;
}

/* Availability Cards - New Design */
.availability-cards-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

/* Availability Cards Carousel */
.availability-cards-carousel-wrapper {
    position: relative;
    margin-top: 40px;
}

.availability-cards-carousel {
    padding: 0 10px;
    margin-top: 70px;
}

.availability-cards-carousel .owl-nav {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    display: flex;
    gap: 15px;
    pointer-events: none;
    z-index: 10;
}

.availability-cards-carousel .owl-nav button {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: #4337ed !important;
    color: #ffffff !important;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    pointer-events: all;
    border: none;
    box-shadow: 0 6px 20px rgba(67, 55, 237, 0.4);
}

.availability-cards-carousel .owl-nav button:hover {
    background: #6366f1 !important;
    transform: scale(1.15);
    box-shadow: 0 8px 25px rgba(67, 55, 237, 0.6);
}

.availability-cards-carousel .owl-nav button.owl-prev {
    margin-left: 0;
}

.availability-cards-carousel .owl-nav button.owl-next {
    margin-right: 0;
}

.availability-cards-carousel .owl-nav button span {
    font-size: 28px;
    line-height: 1;
}

.availability-cards-carousel .owl-dots {
    text-align: center;
    margin-top: 30px;
}

.availability-cards-carousel .owl-dots .owl-dot {
    display: inline-block;
    margin: 0 5px;
}

.availability-cards-carousel .owl-dots .owl-dot span {
    width: 12px;
    height: 12px;
    background: #ddd;
    border-radius: 50%;
    display: block;
    transition: all 0.3s ease;
}

.availability-cards-carousel .owl-dots .owl-dot.active span,
.availability-cards-carousel .owl-dots .owl-dot:hover span {
    background: #4337ed;
    transform: scale(1.3);
}

@media (max-width: 768px) {
    .availability-cards-carousel {
        padding: 0 10px;
    }
    
    .availability-cards-carousel .owl-nav {
        padding: 0 10px;
    }
    
    .availability-cards-carousel .owl-nav button {
        width: 45px;
        height: 45px;
    }
    
    .room-availability-section {
        padding: 30px 20px;
    }
    
    .room-availability-section .heading h2 {
        font-size: 28px;
    }
}


.availability-card {
    background: #ffffff;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    cursor: pointer;
    position: relative;
}

.availability-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 40px rgba(67, 55, 237, 0.2);
}

.availability-card-featured {
    border: 3px solid #4337ed;
    box-shadow: 0 8px 30px rgba(67, 55, 237, 0.15);
}

.availability-card-featured:hover {
    box-shadow: 0 15px 50px rgba(67, 55, 237, 0.3);
}

.availability-card-image {
    width: 100%;
    height: 220px;
    position: relative;
    overflow: hidden;
}

.availability-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.availability-card:hover .availability-card-image img {
    transform: scale(1.1);
}

.availability-card-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.badge-available {
    background: #4c995d;
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 3px 10px rgba(76, 153, 93, 0.4);
}

.badge-available i {
    font-size: 10px;
}

.badge-balcony {
    background: #ff8c00;
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 3px 10px rgba(255, 140, 0, 0.4);
}

.badge-balcony i {
    font-size: 10px;
}

.availability-price-tag {
    position: absolute;
    bottom: 15px;
    left: 15px;
}

.availability-price-tag span {
    background: rgb(255, 223, 0);
    color: #000000;
    padding: 6px 16px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 700;
    display: inline-block;
    box-shadow: 0 3px 10px rgba(255, 223, 0, 0.4);
    transition: all 0.3s ease;
}

.availability-card:hover .availability-price-tag span {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(255, 223, 0, 0.5);
}

.availability-card-content {
    padding: 30px;
}

.availability-card-title {
    font-size: 24px;
    font-weight: 700;
    color: #232323;
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.featured-tag {
    background: linear-gradient(135deg, #4337ed 0%, #6c5ce7 100%);
    color: white;
    font-size: 11px;
    padding: 4px 12px;
    border-radius: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.availability-card-features {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 25px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: #555;
}

.feature-item i {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #4337ed 0%, #6c5ce7 100%);
    color: white;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.availability-card-btn {
    width: 100%;
    margin: 0;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .availability-cards-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .availability-card-content {
        padding: 25px;
    }
    
    .availability-card-title {
        font-size: 20px;
    }
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .room-cards-container {
        padding: 20px;
        gap: 15px;
        grid-template-columns: 1fr;
    }
    
    .room-card {
        padding: 20px;
    }
    
    .room-card-title {
        font-size: 16px;
    }
    
    .room-card-badge {
        font-size: 11px;
        padding: 5px 10px;
    }
    
    .room-info-item {
        font-size: 14px;
    }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .room-cards-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Desktop - 3 columns for 3 or more cards */
@media (min-width: 1025px) {
    .room-cards-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Feature Badges Responsive Layout */
.heading.sec-title-animation.animation-style2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    align-items: center;
}

/* Only apply vertical layout to headings that contain an h2 (title + location badge) */
.heading.sec-title-animation.animation-style2:has(h2) {
    flex-direction: column;
}

.heading.sec-title-animation.animation-style2 h2 {
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
}

.heading.sec-title-animation.animation-style2 span {
    margin: 5px;
}

@media (max-width: 768px) {
    .heading.sec-title-animation.animation-style2 {
        justify-content: flex-start;
        gap: 8px;
    }
    
    .heading.sec-title-animation.animation-style2 span {
        font-size: 14px;
        padding: 8px 14px;
        margin: 4px;
        flex: 0 1 auto;
        text-align: center;
    }
    
    .heading.sec-title-animation.animation-style2 span i {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .heading.sec-title-animation.animation-style2 {
        gap: 6px;
    }
    
    .heading.sec-title-animation.animation-style2 span {
        font-size: 12px;
        padding: 6px 10px;
        margin: 3px;
    }
    
    .heading.sec-title-animation.animation-style2 span i {
        font-size: 12px;
    }
}

/* Long-term Stay Offer */
.longterm-offer {
    display: flex;
    align-items: center;
    gap: 25px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    padding: 30px 35px;
    margin-top: 40px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.longterm-offer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #4337ed 0%, #6c5ce7 100%);
}

.longterm-offer:hover {
    border-color: #4337ed;
    box-shadow: 0 10px 30px rgba(67, 55, 237, 0.15);
    transform: translateY(-3px);
}

.longterm-icon {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #4337ed 0%, #6c5ce7 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 30px;
    box-shadow: 0 8px 20px rgba(67, 55, 237, 0.3);
}

.longterm-text {
    flex: 1;
}

.longterm-text h6 {
    font-size: 20px;
    font-weight: 700;
    color: #232323;
    margin: 0 0 8px 0;
}

.longterm-text p {
    font-size: 15px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

.longterm-text strong {
    color: #4337ed;
    font-weight: 700;
}

.longterm-btn {
    flex-shrink: 0;
    background: linear-gradient(135deg, #4337ed 0%, #6c5ce7 100%);
    color: white;
    border: none;
    padding: 15px 30px;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(67, 55, 237, 0.3);
}

.longterm-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(67, 55, 237, 0.4);
}

.longterm-btn i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.longterm-btn:hover i {
    transform: translateX(3px);
}

/* Responsive */
@media (max-width: 992px) {
    .longterm-offer {
        gap: 20px;
        padding: 25px 30px;
    }

    .longterm-icon {
        width: 60px;
        height: 60px;
        font-size: 26px;
    }

    .longterm-text h6 {
        font-size: 18px;
    }

    .longterm-text p {
        font-size: 14px;
    }

    .longterm-btn {
        padding: 12px 25px;
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    .longterm-offer {
        flex-direction: column;
        text-align: center;
        gap: 20px;
        padding: 30px 25px;
        margin-top: 30px;
    }

    .longterm-offer::before {
        width: 100%;
        height: 6px;
    }

    .longterm-icon {
        width: 80px;
        height: 80px;
        font-size: 32px;
    }

    .longterm-btn {
        width: 100%;
        justify-content: center;
        padding: 16px 30px;
    }
}

@media (max-width: 480px) {
    .longterm-offer {
        padding: 25px 20px;
    }

    .longterm-icon {
        width: 70px;
        height: 70px;
        font-size: 28px;
    }

    .longterm-text h6 {
        font-size: 17px;
    }

    .longterm-text p {
        font-size: 13px;
    }
}

/* Google Maps Container */
#googleMapsSection {
    background: white;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 2px solid transparent;
    transition: all 0.3s ease;
    height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#googleMapsSection:hover {
    border-color: var(--main-color);
    box-shadow: 0 8px 25px rgba(67, 55, 237, 0.15);
}

#googleMapsSection iframe {
    border-radius: 15px;
    width: 100%;
    height: 100%;
}

@media (max-width: 768px) {
    #googleMapsSection {
        height: 350px;
        padding: 15px;
    }
}

/* Pricing Box Spacing */
.pricing {
    margin-bottom: 0;
}

/* Feature Badges Section Spacing */
.heading.sec-title-animation.animation-style2 {
    margin-bottom: 50px;
}
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* NEW: Global Checkbox Container Styles */
#modalGlobalCheckboxes,
#bookingGlobalCheckboxes {
    margin-top: 15px;
}

#modalGlobalBabyCribContainer,
#bookingGlobalBabyCribContainer {
    background: linear-gradient(135deg, #ff9a9e 10%, #fecfef 90%);
    border: 2px solid #ff9a9e;
    border-radius: 15px;
    padding: 15px;
    margin-top: 10px;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

#modalGlobalBabyCribContainer[style*="display: block"],
#bookingGlobalBabyCribContainer[style*="display: block"] {
    opacity: 1;
    transform: translateY(0);
}

#modalGlobalBabyCribContainer .form-check,
#bookingGlobalBabyCribContainer .form-check {
    margin: 0;
}

#modalGlobalBabyCribContainer .form-check-input:checked,
#bookingGlobalBabyCribContainer .form-check-input:checked {
    background-color: #ff6b7a;
    border-color: #ff6b7a;
}

#modalGlobalBabyCribContainer .form-check-input:focus,
#bookingGlobalBabyCribContainer .form-check-input:focus {
    border-color: #ff9a9e;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(255, 154, 158, 0.25);
}

#modalGlobalBabyCribContainer .form-check-label,
#bookingGlobalBabyCribContainer .form-check-label {
    color: #333;
    font-weight: 600;
    font-size: 14px;
}

#modalGlobalBabyCribContainer .form-check-label i,
#bookingGlobalBabyCribContainer .form-check-label i {
    color: #fff;
}

#modalGlobalHighChairContainer,
#bookingGlobalHighChairContainer {
    background: linear-gradient(135deg, #4a90e2 10%, #7ab8ff 90%);
    border: 2px solid #4a90e2;
    border-radius: 15px;
    padding: 15px;
    margin-top: 10px;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

#modalGlobalHighChairContainer[style*="display: block"],
#bookingGlobalHighChairContainer[style*="display: block"] {
    opacity: 1;
    transform: translateY(0);
}

#modalGlobalHighChairContainer .form-check,
#bookingGlobalHighChairContainer .form-check {
    margin: 0;
}

#modalGlobalHighChairContainer .form-check-input:checked,
#bookingGlobalHighChairContainer .form-check-input:checked {
    background-color: #357abd;
    border-color: #357abd;
}

#modalGlobalHighChairContainer .form-check-input:focus,
#bookingGlobalHighChairContainer .form-check-input:focus {
    border-color: #4a90e2;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(74, 144, 226, 0.25);
}

#modalGlobalHighChairContainer .form-check-label,
#bookingGlobalHighChairContainer .form-check-label {
    color: #333;
    font-weight: 600;
    font-size: 14px;
}

#modalGlobalHighChairContainer .form-check-label i,
#bookingGlobalHighChairContainer .form-check-label i {
    color: #fff;
}

/* Similar Accommodations - Vertical Cards */
.similar-accommodations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    width: 100%;
}

/* Similar Accommodations Carousel */
.similar-accommodations-carousel-wrapper {
    position: relative;
    margin-top: 40px;
    background: #eeeeee;
    padding: 50px;
    border-radius: 30px;
}

.similar-accommodations-carousel {
    padding: 0 10px;
    margin-top: 70px;
}

.similar-accommodations-carousel .owl-nav {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    display: flex;
    gap: 15px;
    pointer-events: none;
    z-index: 10;
}

.similar-accommodations-carousel .owl-nav button {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: #4337ed !important;
    color: #ffffff !important;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    pointer-events: all;
    border: none;
    box-shadow: 0 6px 20px rgba(67, 55, 237, 0.4);
}

.similar-accommodations-carousel .owl-nav button:hover {
    background: #6366f1 !important;
    transform: scale(1.15);
    box-shadow: 0 8px 25px rgba(67, 55, 237, 0.6);
}

.similar-accommodations-carousel .owl-nav button span {
    font-size: 28px;
    line-height: 1;
}

.similar-accommodations-carousel .owl-dots {
    text-align: center;
    margin-top: 30px;
}

.similar-accommodations-carousel .owl-dots .owl-dot {
    display: inline-block;
    margin: 0 5px;
}

.similar-accommodations-carousel .owl-dots .owl-dot span {
    width: 12px;
    height: 12px;
    background: #ddd;
    border-radius: 50%;
    display: block;
    transition: all 0.3s ease;
}

.similar-accommodations-carousel .owl-dots .owl-dot.active span,
.similar-accommodations-carousel .owl-dots .owl-dot:hover span {
    background: #4337ed;
    transform: scale(1.3);
}


/* Similar Accommodations Cards - Purple Design */
.similar-card {
    background: var(--main-color-2);
    border-radius: 25px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.similar-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(158, 85, 226, 0.3);
}

.similar-card-image {
    width: 100%;
    height: 250px;
    overflow: hidden;
    border-radius: 25px 25px 0 0;
}

.similar-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.similar-card:hover .similar-card-image img {
    transform: scale(1.05);
}

.similar-card-content {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    color: #ffffff;
}

.similar-card-content h4 {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 12px;
    line-height: 1.3;
}

.similar-card-content p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.similar-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.similar-price {
    font-size: 24px;
    font-weight: 700;
    color: #f5e93e;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.similar-btn {
    background: #232323;
    color: #ffffff;
    padding: 12px 28px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}

.similar-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--main-color);
    z-index: -1;
    transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
    transform: scale3d(0, 1, 1);
    transform-origin: 100% 50%;
    border-radius: 25px;
}

.similar-btn:hover {
    color: #ffffff;
}

.similar-btn:hover::before {
    transform: scale3d(1, 1, 1);
    transform-origin: 0% 50%;
}

@media (max-width: 768px) {
    .similar-accommodations-grid {
        grid-template-columns: 1fr;
    }
    
    .similar-card {
        max-width: 100%;
    }
    
    .similar-accommodations-carousel {
        padding: 0 10px;
    }
    
    .similar-accommodations-carousel .owl-nav button {
        width: 45px;
        height: 45px;
    }
}

/* SweetAlert z-index fix - muss über Bootstrap Modals erscheinen */
/* Bootstrap Modal: 1055, Modal Backdrop: 1050 */
.swal-overlay {
    z-index: 99999 !important;
}

.swal-modal {
    z-index: 100000 !important;
}

/* Success Icons für Thank You Modals */
.success-icon,
.longterm-success-icon {
    font-size: 64px;
    color: #4caf50;
    margin-bottom: 20px;
}
