/* Global Styles */
    :root {
      --primary-color: #100A55;
      --accent-color: #7065F0;
    }

    * {
      font-family: 'Plus Jakarta Sans', sans-serif;
    }

    .custom-container {
      max-width: 1440px;
      margin-left: auto;
      margin-right: auto;
    }


    /* Navbar CSS Starts */
    .navbar-custom {
      background-color: var(--primary-color);
      height: 80px;
      padding: 0 1rem;
    }

    .navbar-brand {
      color: white !important;
      font-size: 28px !important;
      font-weight: 800 !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }

    .navbar-brand:hover {
      color: #fff !important;
      text-decoration: none;
    }

    .navbar-nav .nav-link {
      color: rgba(255, 255, 255, 0.8) !important;
      font-size: 16px;
      font-weight: 400;
      padding: 1rem 1.5rem;
    }

    .navbar-nav .nav-link:hover {
      color: rgba(255, 255, 255, 1) !important;
    }

    .navbar-nav .nav-link.active {
      font-weight: 500;
      color: rgba(255, 255, 255, 1);
    }

    .get-quote-btn {
      background-color: var(--accent-color) !important;
      border-radius: 7px !important;
      color: white !important;
      font-size: 18px !important;
      font-weight: 700 !important;
      padding: 10px 20px !important;
      border: none !important;
      transition: all 0.3s ease !important;
    }

    .get-quote-btn:hover {
      background-color: var(--accent-color);
      transform: translateY(-2px);
      color: var(--primary-color);
    }

    .btn:hover {
      color: var(--primary-color);
    }

    .navbar-toggler {
      border: 1px solid rgba(255, 255, 255, 0.3);
      padding: 0.25rem 0.5rem;
    }

    .navbar-toggler-icon {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    @media (max-width: 992px) {
      .navbar-nav .nav-link {
        padding: 0.75rem 1rem;
      }

      .get-quote-btn {
        margin-top: 10px;
        margin-bottom: 10px;
        width: 100%;
        text-align: center;
      }

      .navbar-custom {
        height: auto;
        padding: 0.5rem 1rem;
      }

      .nav-link-text {
        padding-left: 0 !important;
        padding-right: 0 !important;
      }
    }

    /* Navbar CSS Starts */

    /* Hero Section Styling */
    .hero-section {
      background: url('../../assets/images//hero-image.png') center center / cover no-repeat;
      min-height: 100vh;
      display: flex;
      align-items: center;
      position: relative;
      width: 100%;
    }

    .text-accent {
      color: var(--accent-color);
    }

    .hero-heading {
      max-width: 712px;
      width: 100%;
      font-size: 50px;
    }

    .lead {
      font-size: 24px;
    }

    .hero-btn:hover {
      color: var(--primary-color);
    }

    /* Ensure text readability with gradient overlay */
    /* .hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(90deg,
                rgba(16, 10, 85, 0.72) 40%,
                rgba(16, 10, 85, 0.24) 100%);
            z-index: 1;
        } */

    /* Content positioning */
    .hero-content {
      position: relative;
      z-index: 2;
    }

    /* Custom Button Styling - Minimal CSS */
    .btn-custom {
      background-color: var(--accent-color);
      border-radius: 7px;
      color: white;
      font-weight: 700;
      padding: 12px 30px;
      border: none;
      transition: all 0.3s ease;
    }

    .btn-custom:hover {
      background-color: #5a50d0;
      transform: translateY(-2px);
      box-shadow: 0 4px 15px rgba(112, 101, 240, 0.3);
    }

    /* Responsive text sizes using Bootstrap breakpoints */
    @media (max-width: 768px) {
      .display-4 {
        font-size: calc(1.5rem + 2vw);
      }

      .lead {
        font-size: 1.1rem;
      }
    }

    /* Ensure proper spacing on mobile */
    @media (max-width: 576px) {
      .hero-section {
        text-align: center;
        padding: 2rem 0;
      }
    }


    /* About Us Section Styling Starts */
    .about-section {
      padding: 80px 0;
    }

    .about-title {
      color: var(--primary-color);
      font-size: 32px;
      font-weight: 700;
      line-height: 34px;
      margin-bottom: 30px;
    }

    .about-text {
      color: #222222;
      font-size: 18px;
      font-weight: 400;
      line-height: 26px;
      text-align: justify;
    }

    .about-btn {
      background-color: var(--accent-color);
      color: white;
      font-weight: 700;
      font-size: 16px;
      padding: 12px 30px;
      border-radius: 7px;
      border: none;
      transition: all 0.3s ease;
      margin-top: 20px;
    }

    .about-btn:hover {
      background-color: #5a50d0;
      transform: translateY(-2px);
      box-shadow: 0 4px 15px rgba(112, 101, 240, 0.3);
    }

    .main-img {
      width: 100%;
      height: 100%;
      min-height: 446px;
      height: auto;
      width: auto;
      object-fit: cover;
      border-radius: 10px;
    }

    .right-images-container {
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .experience-card {
      width: 100%;
      height: 220px;
      background: url('../../assets/images/about-2.png') center center / cover no-repeat;
      border-radius: 10px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      color: white;
      padding: 20px;
      margin-bottom: 0;
    }

    .experience-years {
      font-size: 36px;
      font-style: italic;
      font-weight: 600;
      line-height: 1.2;
    }

    .experience-text {
      font-size: 32px;
      font-style: italic;
      font-weight: 500;
      line-height: 1.2;
    }

    .small-img {
      width: 100%;
      height: calc(100% - 220px - 16px);
      /* Full height minus experience card height and gap */
      min-height: 209px;
      object-fit: cover;
      border-radius: 10px;
      margin-top: 16px;
    }

    /* Make sure both columns have equal height on desktop */
    @media (max-width: 1142px) {
      .main-img {
        width: 100% !important;
        object-fit: cover;
      }
    }

    @media (min-width: 768px) {
      .images-row {
        display: flex;
        height: 446px;
        /* Match the left image height */
      }

      .main-img {
        height: 100%;
        min-height: auto;
      }

      .right-images-container {
        height: 100%;
      }

      .experience-card {
        flex: 0 0 auto;
        height: 220px;
      }

      .small-img {
        flex: 1 1 auto;
        height: auto;
        margin-top: 16px;
      }
    }

    /* Responsive adjustments */
    @media (max-width: 992px) {
      .about-section {
        padding: 60px 0;
      }

      .main-img {
        min-height: 400px;
        margin-bottom: 20px;
      }

      .experience-card {
        height: 200px;
      }

      .small-img {
        height: calc(100% - 200px - 16px);
      }
    }

    @media (max-width: 768px) {
      .about-title {
        font-size: 28px;
      }

      .about-text {
        font-size: 16px;
        line-height: 24px;
      }

      .experience-years {
        font-size: 30px;
      }

      .experience-text {
        font-size: 26px;
      }

      .main-img {
        min-height: 350px;
      }

      .images-row {
        height: auto !important;
        display: block;
      }

      .small-img {
        height: 209px;
        margin-top: 16px;
      }
    }

    @media (max-width: 576px) {
      .about-section {
        padding: 40px 0;
      }

      .about-title {
        font-size: 24px;
        margin-bottom: 30px;
      }

      .about-text {
        font-size: 15px;
        line-height: 22px;
        text-align: left;
      }

      .experience-card {
        height: 180px;
      }

      .experience-years {
        font-size: 24px;
      }

      .experience-text {
        font-size: 20px;
      }

      .main-img {
        min-height: 300px;
      }

      .small-img {
        height: 180px;
        min-height: 180px;
      }

      .about-btn {
        width: 100%;
        max-width: 300px;
        display: block;
        margin-left: auto;
        margin-right: auto;
      }
    }

    /* About Us Section Styling Ends  */


    /* How It Works Section Styling Starts */
    .how-it-works-section {
      background-color: rgba(16, 10, 85, 0.9);
      background: url('../../assets/images/how-it-works.png') center center / cover no-repeat;
      padding: 80px 0;
      position: relative;
    }

    .section-title {
      color: white;
      font-size: 32px;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 20px;
    }

    .section-subtitle {
      color: white;
      font-size: 18px;
      font-weight: 500;
      line-height: 1.5;
      opacity: 0.9;
      max-width: 680px;
      margin: 0 auto 60px;
    }

    .step-card {
      background: transparent;
      border: 1.5px solid rgba(112, 101, 240, 0.3);
      border-radius: 10px;
      padding: 40px 30px;
      height: 100%;
      min-height: 380px;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    .step-card:hover {
      background: white;
      border-color: white;
      transform: translateY(-5px);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    }

    .step-card:hover .step-icon-bg {
      background-color: rgba(112, 101, 240, 0.1);
    }

    .step-card:hover .step-icon {
      color: var(--primary-color);
    }

    .step-card:hover .step-title {
      color: var(--primary-color);
    }

    .step-card:hover .step-description {
      color: rgba(16, 10, 85, 0.8);
    }

    .step-card:hover .step-btn {
      border-color: var(--accent-color);
      color: var(--accent-color);
    }

    .step-icon-bg {
      width: 96px;
      height: 96px;
      background-color: rgba(112, 101, 240, 1);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 0 30px 0;
      transition: all 0.3s ease;
    }

    .step-icon {
      font-size: 40px;
      color: #fff;
      transition: all 0.3s ease;
    }

    .step-title {
      color: white;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.4;
      margin-bottom: 15px;
      transition: all 0.3s ease;
    }

    .step-description {
      color: rgba(255, 255, 255, 0.8);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.6;
      margin-bottom: 25px;
      flex-grow: 1;
      transition: all 0.3s ease;
    }

    .step-btn {
      border: 1.5px solid rgba(255, 255, 255, 0.5);
      border-radius: 7px;
      background: transparent;
      color: white;
      font-weight: 600;
      font-size: 16px;
      padding: 8px 24px;
      transition: all 0.3s ease;
      text-decoration: none;
      display: inline-block;
      align-self: flex-end;
      margin-top: auto;
    }

    .step-btn:hover {
      background-color: var(--accent-color);
      border-color: var(--accent-color);
      color: white;
      transform: translateY(-2px);
      color: #fff !important;
    }

    /* First card is white by default */
    .step-card-active {
      background: white;
      border-color: white;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    }

    .step-card-active .step-icon-bg {
      background-color: var(--accent-color);
    }

    .step-card-active .step-icon {
      color: white;
    }

    .step-card-active .step-title {
      color: var(--primary-color);
    }

    .step-card-active .step-description {
      color: rgba(16, 10, 85, 0.8);
    }

    .step-card-active .step-btn {
      border-color: var(--accent-color);
      color: var(--accent-color);
    }

    /* Responsive adjustments */
    @media (max-width: 992px) {
      .how-it-works-section {
        padding: 60px 0;
      }

      .step-card {
        margin-bottom: 30px;
        min-height: 350px;
      }
    }

    @media (max-width: 768px) {
      .section-title {
        font-size: 28px;
      }

      .section-subtitle {
        font-size: 16px;
        margin-bottom: 40px;
      }

      .step-card {
        padding: 30px 20px;
        min-height: 320px;
      }

      .step-icon-bg {
        width: 80px;
        height: 80px;
        margin-bottom: 25px;
      }

      .step-icon {
        font-size: 32px;
      }

      .step-title {
        font-size: 18px;
      }

      .step-description {
        font-size: 15px;
      }
    }

    @media (max-width: 576px) {
      .how-it-works-section {
        padding: 40px 0;
      }

      .section-title {
        font-size: 24px;
        text-align: center;
      }

      .section-subtitle {
        font-size: 15px;
        text-align: center;
        margin-bottom: 30px;
      }

      .step-card {
        min-height: 300px;
      }

      .step-btn {
        align-self: stretch;
        text-align: center;
        width: 100%;
      }
    }

    /* How It Works Section Styling Ends */


    /* Featured Cars Section Styling Starts */
    .featured-cars-section {
      padding: 80px 0;
      background-color: #ffffff;
    }

    .section-title {
      color: var(--primary-color);
      font-size: 32px;
      font-weight: 700;
      line-height: 34px;
      margin-bottom: 20px;
    }

    .section-subtitle {
      color: var(--primary-color);
      font-size: 18px;
      font-weight: 500;
      line-height: 24px;
      max-width: 688px;
      margin: 0 auto 60px;
    }

    .car-card {
      background: white;
      border-radius: 15px;
      border: 1px solid #E5E4F7;
      overflow: hidden;
      transition: all 0.3s ease;
      height: 100%;
      margin-bottom: 30px;
      display: flex;
      flex-direction: column;
    }

    .car-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    }

    .car-image {
      width: 100%;
      height: 240px;
      object-fit: cover;
      border-top-left-radius: 15px;
      border-top-right-radius: 15px;
    }

    .car-content {
      padding: 25px;
      display: flex;
      flex-direction: column;
      flex-grow: 1;
    }

    .car-title {
      color: var(--primary-color);
      font-size: 20px;
      font-weight: 700;
      line-height: 1.3;
      margin-bottom: 15px;
    }

    .car-info {
      margin-bottom: 20px;
    }

    .info-item {
      display: flex;
      align-items: flex-start;
      margin-bottom: 12px;
    }

    .info-icon {
      width: 26px;
      height: 26px;
      background-color: rgba(112, 101, 240, 0.12);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 10px;
      flex-shrink: 0;
    }

    .info-icon i {
      color: var(--primary-color);
      font-size: 14px;
    }

    .info-text {
      color: rgba(16, 10, 85, 0.8);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.4;
    }

    .divider {
      height: 1px;
      background-color: #E5E4F7;
      margin: 5px 0;
      width: 100%;
    }

    .specs-container {
      display: flex;
      gap: 20px;
      margin: 5px 0;
      flex-wrap: wrap;
      align-items: center;
    }

    .spec-item {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .color-icon {
      border-radius: 50%;
      /* background-color: var(--accent-color); */
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .color-icon i {
      color: var(--accent-color);
      font-size: 15px;
    }

    .passenger-icon {
      width: 21px;
      height: 21px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .passenger-icon i {
      color: var(--accent-color);
      font-size: 14px;
    }

    .spec-text {
      color: #818181;
      font-size: 14px;
      font-weight: 400;
      line-height: 24px;
      white-space: nowrap;
    }

    .button-container {
      display: flex;
      gap: 15px;
      margin-top: auto;
      /* padding-top: 20px;
      border-top: 1px solid #E5E4F7; */
      margin-left: -25px;
      margin-right: -25px;
      margin-bottom: -25px;
      padding-left: 25px;
      padding-right: 25px;
      padding-bottom: 25px;
    }

    .btn-outline-accent {
      border: 1.5px solid var(--accent-color);
      border-radius: 7px;
      color: var(--accent-color);
      font-weight: 600;
      font-size: 16px;
      padding: 10px 15px;
      background: transparent;
      transition: all 0.3s ease;
      flex: 1;
      text-align: center;
      text-decoration: none;
      display: inline-block;
      white-space: nowrap;
    }

    .btn-outline-accent:hover {
      background-color: var(--accent-color);
      color: white;
      transform: translateY(-2px);
    }

    .btn-accent {
      background-color: var(--accent-color);
      border-radius: 7px;
      color: white;
      font-weight: 600;
      font-size: 16px;
      padding: 10px 15px;
      border: 1.5px solid var(--accent-color);
      transition: all 0.3s ease;
      flex: 1;
      text-align: center;
      text-decoration: none;
      display: inline-block;
      white-space: nowrap;
    }

    .btn-accent:hover {
      background-color: #5a50d0;
      border-color: #5a50d0;
      color: white;
      transform: translateY(-2px);
    }

    .view-all-btn {
      border: 1px solid var(--primary-color);
      border-radius: 7px;
      color: var(--primary-color);
      font-weight: 700;
      font-size: 16px;
      padding: 12px 40px;
      background: transparent;
      transition: all 0.3s ease;
      display: block;
      margin: 50px auto 0;
    }

    .view-all-btn:hover {
      background-color: var(--primary-color);
      color: white;
      transform: translateY(-2px);
    }

    /* Responsive adjustments */
    @media (max-width: 1200px) {
      .car-title {
        font-size: 18px;
      }

      .info-text {
        font-size: 15px;
      }

      .spec-text {
        font-size: 13px;
      }
    }

    @media (max-width: 992px) {
      .featured-cars-section {
        padding: 60px 0;
      }

      .section-title {
        font-size: 28px;
      }

      .section-subtitle {
        font-size: 16px;
        margin-bottom: 40px;
      }

      .car-image {
        height: 220px;
      }

      .car-content {
        padding: 20px;
      }

      .button-container {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
      }
    }

    @media (max-width: 768px) {
      .featured-cars-section {
        padding: 40px 0;
      }

      .section-title {
        font-size: 24px;
        text-align: center;
      }

      .section-subtitle {
        font-size: 15px;
        text-align: center;
        margin-bottom: 30px;
      }

      .car-title {
        font-size: 18px;
        margin-bottom: 12px;
      }

      .button-container {
        flex-direction: column;
        gap: 10px;
      }

      .btn-outline-accent,
      .btn-accent {
        width: 100%;
        text-align: center;
      }

      .specs-container {
        gap: 15px;
      }

      .info-item {
        margin-bottom: 10px;
      }

      .info-text {
        font-size: 14px;
      }
    }

    @media (max-width: 576px) {
      .car-image {
        height: 200px;
      }

      .view-all-btn {
        width: 100%;
        max-width: 300px;
        text-align: center;
      }

      .car-title {
        font-size: 17px;
      }

      .specs-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
      }

      .spec-text {
        white-space: normal;
      }
    }

    /* Featured Cars Section Styling Ends */


    /* Why Us Section Styling Starts */
    .why-us-section {
      padding: 80px 0;
      background-color: #ffffff;
    }

    .section-title {
      color: var(--primary-color);
      font-size: 32px;
      font-weight: 700;
      line-height: 34px;
      margin-bottom: 20px;
    }

    .section-subtitle {
      color: var(--primary-color);
      font-size: 18px;
      font-weight: 500;
      line-height: 24px;
      max-width: 650px;
      margin: 0 auto 60px;
    }

    .feature-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 20px;
      min-height: 432px;
    }

    .feature-item {
      display: flex;
      align-items: flex-start;
      margin-bottom: 25px;
      gap: 20px;
    }

    .feature-icon {
      width: 50px;
      height: 50px;
      background-color: var(--accent-color);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .feature-icon i {
      color: white;
      font-size: 24px;
    }

    .feature-content {
      flex: 1;
    }

    .feature-title {
      color: var(--primary-color);
      font-size: 20px;
      font-weight: 700;
      line-height: 28px;
      margin-bottom: 8px;
    }

    .feature-description {
      color: var(--primary-color);
      font-size: 18px;
      font-weight: 400;
      line-height: 24px;
      opacity: 0.9;
    }

    /* Responsive adjustments */
    @media (max-width: 1200px) {
      .feature-title {
        font-size: 19px;
        line-height: 26px;
      }

      .feature-description {
        font-size: 17px;
        line-height: 23px;
      }
    }

    @media (max-width: 992px) {
      .why-us-section {
        padding: 60px 0;
      }

      .section-title {
        font-size: 28px;
      }

      .section-subtitle {
        font-size: 16px;
        margin-bottom: 40px;
      }

      .feature-image {
        min-height: 400px;
        margin-bottom: 40px;
      }

      .feature-item {
        margin-bottom: 30px;
        gap: 15px;
      }

      .feature-icon {
        width: 45px;
        height: 45px;
      }

      .feature-icon i {
        font-size: 22px;
      }
    }

    @media (max-width: 768px) {
      .why-us-section {
        padding: 40px 0;
      }

      .section-title {
        font-size: 24px;
        text-align: center;
      }

      .section-subtitle {
        font-size: 15px;
        text-align: center;
        margin-bottom: 30px;
      }

      .feature-image {
        min-height: 350px;
        margin-bottom: 30px;
      }

      .feature-item {
        margin-bottom: 25px;
      }

      .feature-title {
        font-size: 18px;
        line-height: 24px;
      }

      .feature-description {
        font-size: 16px;
        line-height: 22px;
      }
    }

    @media (max-width: 576px) {
      .feature-image {
        min-height: 300px;
      }

      .feature-item {
        margin-bottom: 20px;
      }

      .feature-icon {
        width: 40px;
        height: 40px;
      }

      .feature-icon i {
        font-size: 20px;
      }

      .feature-title {
        font-size: 17px;
        margin-bottom: 5px;
      }

      .feature-description {
        font-size: 15px;
        line-height: 21px;
      }
    }
    /* Why Us Section Styling Ends */


    /* Testimonial Section Styling Starts */
        .testimonials-section {
      padding: 80px 0;
      background-color: #ffffff;
    }

    .section-title {
      color: var(--primary-color);
      font-size: 32px;
      font-weight: 700;
      line-height: 34px;
      margin-bottom: 20px;
      text-align: center;
    }

    .section-subtitle {
      color: var(--primary-color);
      font-size: 18px;
      font-weight: 400;
      line-height: 24px;
      max-width: 650px;
      margin: 0 auto 60px;
      text-align: center;
    }

    /* Carousel Container */
    .carousel-container {
      position: relative;
      overflow: hidden;
      padding: 10px 0 50px;
    }

    .carousel-wrapper {
      position: relative;
      padding: 0 50px;
    }

    .carousel-track {
      display: flex;
      transition: transform 0.5s ease-in-out;
      gap: 24px;
    }

    .testimonial-card {
      background: white;
      border-radius: 10px;
      border: 1px solid rgba(0, 0, 0, 0.08);
      padding: 35px 25px;
      min-height: 260px;
      transition: all 0.3s ease;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      flex: 0 0 calc((100% - 48px) / 3);
    }

    .testimonial-card:hover {
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    }

    .stars-container {
      display: flex;
      gap: 4px;
      margin-bottom: 17px;
    }

    .star-icon {
      width: 20px;
      height: 20px;
      background-color: #F9A000;
      clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    }

    .testimonial-text {
      color: var(--primary-color);
      font-size: 16px;
      font-weight: 400;
      line-height: 24px;
      margin-bottom: 25px;
      flex-grow: 1;
    }

    .testimonial-author {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .author-avatar {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      object-fit: cover;
      background-color: #e0e0e0;
    }

    .author-info {
      display: flex;
      flex-direction: column;
    }

    .author-name {
      color: var(--primary-color);
      font-size: 14px;
      font-weight: 800;
      margin-bottom: 2px;
    }

    .author-title {
      color: #505050;
      font-size: 10px;
      font-weight: 400;
    }

    /* Navigation Buttons */
    .carousel-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 29px;
      height: 29px;
      background-color: transparent;
      border: none;
      cursor: pointer;
      z-index: 10;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: opacity 0.3s;
    }

    .carousel-nav:disabled {
      cursor: not-allowed;
    }

    .carousel-nav.prev {
      left: 0;
    }

    .carousel-nav.next {
      right: 0;
    }

    .carousel-nav i {
      color: var(--accent-color);
      font-size: 24px;
      transition: color 0.3s;
    }

    .carousel-nav:disabled i {
      color: #D6D6D6;
    }

    /* Dots Navigation */
    .carousel-dots {
      display: flex;
      justify-content: center;
      gap: 12px;
      margin-top: 30px;
      list-style: none;
    }

    .carousel-dot {
      width: 13.5px;
      height: 13.5px;
      border-radius: 50%;
      background-color: transparent;
      border: 2px solid var(--accent-color);
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .carousel-dot.active {
      background-color: var(--accent-color);
      border-color: var(--accent-color);
    }

    /* Responsive Adjustments */
    @media (max-width: 992px) {
      .testimonials-section {
        padding: 60px 0;
      }

      .section-title {
        font-size: 28px;
      }

      .section-subtitle {
        font-size: 16px;
        margin-bottom: 40px;
      }

      .testimonial-card {
        flex: 0 0 calc((100% - 24px) / 2);
      }
    }

    @media (max-width: 768px) {
      .testimonials-section {
        padding: 40px 0;
      }

      .section-title {
        font-size: 24px;
      }

      .section-subtitle {
        font-size: 15px;
        margin-bottom: 30px;
      }

      .carousel-wrapper {
        padding: 0 40px;
      }

      .carousel-nav {
        width: 24px;
        height: 24px;
      }

      .carousel-nav i {
        font-size: 20px;
      }

      .testimonial-card {
        flex: 0 0 100%;
        padding: 25px 20px;
        min-height: 240px;
      }

      .carousel-track {
        gap: 16px;
      }

      .testimonial-text {
        font-size: 15px;
        line-height: 22px;
      }
    }

    @media (max-width: 576px) {
      .carousel-wrapper {
        padding: 0 30px;
      }

      .testimonial-card {
        min-height: 220px;
      }

      .testimonial-text {
        font-size: 14px;
      }

      .author-name {
        font-size: 13px;
      }
    }
    /* Testimonial Section Styling Ends */


    /* Footer Section Styling Starts */
        /* Newsletter Section */
    .newsletter-section {
      background-color: #F1F0FE;
      padding: 60px 0;
    }

    .newsletter-title {
      color: var(--primary-color);
      font-size: 40px;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 16px;
    }

    .newsletter-description {
      color: var(--primary-color);
      font-size: 20px;
      font-weight: 400;
      line-height: 30px;
      margin-bottom: 0;
    }

    .newsletter-form {
      display: flex;
      max-width: 530px;
      width: 100%;
      height: 66px;
      border-radius: 6px;
      overflow: hidden;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    }

    .newsletter-input {
      flex: 1;
      border: none;
      padding: 20px 32px;
      font-size: 18px;
      font-weight: 500;
      color: var(--primary-color);
      background: white;
      outline: none;
    }

    .newsletter-input::placeholder {
      color: var(--primary-color);
      opacity: 0.8;
    }

    .newsletter-btn {
      background-color: var(--accent-color);
      color: white;
      border: none;
      padding: 20px 32px;
      font-size: 18px;
      font-weight: 700;
      cursor: pointer;
      transition: all 0.3s ease;
      white-space: nowrap;
    }

    .newsletter-btn:hover {
      background-color: #5a50d0;
    }

    /* Main Footer Section */
    .main-footer {
      background-color: var(--primary-color);
      color: white;
      padding: 60px 0 30px 0;
    }

    .footer-logo {
      color: white;
      font-size: 38px;
      font-weight: 700;
      line-height: 40px;
      margin-bottom: 30px;
    }

    .footer-description {
      color: white;
      font-size: 16px;
      font-weight: 400;
      line-height: 24px;
      margin-bottom: 30px;
      opacity: 0.9;
    }

    .contact-info {
      margin-bottom: 40px;
    }

    .contact-item {
      display: flex;
      align-items: flex-start;
      margin-bottom: 20px;
    }

    .contact-icon {
      width: 21px;
      height: 21px;
      background-color: white;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 15px;
      flex-shrink: 0;
    }

    .contact-icon i {
      color: var(--primary-color);
      font-size: 12px;
    }

    .contact-text {
      color: white;
      font-size: 16px;
      font-weight: 400;
      line-height: 24px;
      opacity: 0.9;
    }

    .social-icons {
      display: flex;
      gap: 15px;
      margin-top: 20px;
    }

    .social-icon {
      width: 35px;
      height: 33px;
      border: 1.5px solid rgba(255, 255, 255, 0.25);
      border-radius: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-size: 18px;
      text-decoration: none;
      transition: all 0.3s ease;
    }

    .social-icon:hover {
      background-color: white;
      color: var(--primary-color);
      border-color: white;
    }

    .footer-heading {
      color: white;
      font-size: 18px;
      font-weight: 500;
      margin-bottom: 24px;
      line-height: 28px;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 10px;
    }

    .footer-links a {
      color: #CCCCCC;
      font-size: 16px;
      font-weight: 400;
      line-height: 40px;
      text-decoration: none;
      transition: all 0.3s ease;
    }

    .footer-links a:hover {
      color: white;
      padding-left: 5px;
    }

    /* Awards & Payment Section */
    .awards-payment-row {
      display: flex;
      align-items: flex-start;
      gap: 60px;
      margin-top: 40px;
      flex-wrap: wrap;
    }

    .awards-section {
      flex: 1;
      min-width: 300px;
    }

    .awards-heading {
      color: white;
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 20px;
    }

    .awards-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 15px;
      align-items: center;
    }

    .award-item {
      width: 70px;
      height: 55px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 3px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 5px;
    }

    .award-item img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
    }

    .payment-section {
      flex: 0 0 auto;
    }

    .payment-heading {
      color: white;
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 20px;
    }

    .payment-methods {
      display: flex;
      gap: 15px;
      align-items: center;
    }

    .payment-icon {
      width: 43px;
      height: 33px;
      background-color: white;
      border-radius: 6px;
      border: 1px solid #D9D9D9;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      color: var(--primary-color);
      font-weight: bold;
    }



    /* Footer Bottom */
    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.2);
      padding-top: 20px;
      margin-top: 40px;
    }

    .copyright {
      color: white;
      font-size: 16px;
      font-weight: 400;
      opacity: 0.9;
    }

    .footer-bottom-links {
      display: flex;
      gap: 20px;
      justify-content: flex-end;
    }

    .footer-bottom-links a {
      color: white;
      font-size: 16px;
      font-weight: 400;
      text-decoration: none;
      opacity: 0.9;
      transition: all 0.3s ease;
    }

    .location-text:hover{
        cursor: pointer ;
        text-decoration: underline;
    }

    .footer-bottom-links a:hover {
      opacity: 1;
      text-decoration: underline;
    }

    /* Responsive adjustments */
    @media (max-width: 1200px) {
      .newsletter-title {
        font-size: 36px;
      }

      .newsletter-description {
        font-size: 18px;
      }

      .footer-logo {
        font-size: 32px;
      }

      .awards-payment-row {
        gap: 40px;
      }

      .award-item {
        width: 65px;
        height: 50px;
      }
    }

    @media (max-width: 992px) {
      .newsletter-section {
        padding: 50px 0;
      }

      .newsletter-title {
        font-size: 32px;
        text-align: center;
      }

      .newsletter-description {
        font-size: 18px;
        text-align: center;
        margin-bottom: 30px;
      }

      .newsletter-form {
        max-width: 100%;
      }

      .main-footer {
        padding: 50px 0 25px 0;
      }

      .footer-heading {
        margin-top: 30px;
        margin-bottom: 15px;
      }

      .footer-links a {
        line-height: 32px;
      }

      .awards-payment-row {
        margin-top: 30px;
        gap: 30px;
      }

      .social-icons {
        justify-content: center;
      }

      .footer-bottom-links {
        justify-content: center;
        /* margin-top: 15px; */
      }

      .copyright {
        text-align: center;
      }
    }

    @media (max-width: 768px) {
      .newsletter-title {
        font-size: 28px;
      }

      .newsletter-description {
        font-size: 16px;
        line-height: 26px;
      }

      .newsletter-form {
        flex-direction: column;
        height: auto;
      }

      .newsletter-input {
        padding: 15px 20px;
        font-size: 16px;
        width: 100%;
      }

      .newsletter-btn {
        padding: 15px 20px;
        font-size: 16px;
        width: 100%;
      }

      .footer-logo {
        font-size: 28px;
        text-align: center;
      }

      .footer-description {
        text-align: center;
      }

      .contact-info {
        text-align: center;
      }

      .contact-item {
        justify-content: center;
      }

      .footer-heading {
        text-align: center;
      }

      .footer-links {
        text-align: center;
      }

      .payment-section {
        margin: 0 auto;
      }

      .awards-section, .payment-section {
        text-align: center;
      }

      .awards-heading, .payment-heading {
        text-align: center;
      }

      .awards-grid, .payment-methods {
        justify-content: center;
      }

      .awards-payment-row {
        flex-direction: column;
        gap: 30px;
      }

      .awards-section {
        min-width: 100%;
      }
    }

    @media (max-width: 576px) {
      .newsletter-title {
        font-size: 24px;
      }

      .newsletter-description {
        font-size: 15px;
      }

      .footer-logo {
        font-size: 24px;
      }

      .footer-description {
        font-size: 15px;
      }

      .contact-text {
        font-size: 15px;
      }

      .footer-heading {
        font-size: 16px;
      }

      .footer-links a {
        font-size: 15px;
        line-height: 28px;
      }

      .copyright {
        font-size: 14px;
      }

      .footer-bottom-links a {
        font-size: 14px;
      }

      .award-item {
        width: 60px;
        height: 45px;
      }

      .payment-icon {
        width: 40px;
        height: 30px;
        font-size: 16px;
      }
    }
    /* Footer Section Styling Ends */

/*script quote modal */

 :root {
     --primary-color: #100A55;
     --accent-color: #7065F0;
     --danger-color: #ED0006;
 }

* {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.custom-container {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

/* Button to open modal */
.open-modal-btn {
    background-color: var(--accent-color);
    color: white;
    font-weight: 700;
    font-size: 16px;
    padding: 12px 30px;
    border-radius: 7px;
    border: none;
    transition: all 0.3s ease;
    margin: 20px auto;
    display: block;
}

.open-modal-btn:hover {
    background-color: #5a50d0;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(112, 101, 240, 0.3);
}

/* Modal styling */
.quote-modal .modal-dialog {
    max-width: 700px;
}

.quote-modal .modal-content {
    border-radius: 8px;
    border: none;
    box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.10);
}

.modal-header {
    border-bottom: 1px solid #dee2e6;
    padding: 1.5rem 1.5rem 0.5rem 1.5rem;
    position: relative;
}

.modal-title {
    color: var(--primary-color);
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    width: 100%;
}

.close-btn {
    width: 40px;
    height: 40px;
    background: rgba(112, 101, 240, 0.10);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 0;
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
}

.close-btn i {
    color: var(--primary-color);
    font-size: 16px;
}

.modal-body {
    padding: 0 2.5rem 2rem 2.5rem;
}

.modal-subtitle {
    color: #717171;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    text-align: center;
    margin-bottom: 25px;
}

/* Form styling */
.form-label {
    color: #212529;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;
    margin-bottom: 8px;
}

.required-star {
    color: #FF383C;
}

.form-control, .form-select {
    border: 1px solid #CED4DA;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 16px;
    line-height: 24px;
    color: var(--primary-color);
    min-height: 44px;
    width: 100%;
}

.form-control::placeholder, .form-select:invalid {
    color: #6C757D;
}

.form-control:focus, .form-select:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 0.25rem rgba(112, 101, 240, 0.25);
}

/* Time input styling */
input[type="time"] {
    /* Custom styling for time input */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type="time"]::-webkit-calendar-picker-indicator {
    background: transparent;
    color: transparent;
    opacity: 1;
    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='%236C757D' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 12px;
    width: 20px;
    height: 20px;
    cursor: pointer;
}

/* Reserved slots section */
.reserved-slots-section {
    margin: 25px 0 20px 0;
}

.reserved-slots-title {
    color: var(--primary-color);
    font-size: 14px;
    font-weight: 700;
    line-height: 16px;
    margin-bottom: 10px;
}

.reserved-slots-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.reserved-slot {
    padding: 4px 20px;
    background: rgba(237, 0, 6, 0.10);
    border-radius: 50px;
    border: 1px solid rgba(237, 0, 6, 0.50);
    color: var(--danger-color);
    font-size: 12px;
    font-weight: 500;
    text-transform: capitalize;
    line-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 155px;
}

/*#reservedSlotsContainer .reserved-slot {*/
/*    padding: 4px 20px;*/
/*    background-color: rgba(255, 193, 7, 0.2); !* lighter warning color for slots *!*/
/*    border: 1px solid #FFC107;*/
/*    !*border: 1px solid rgba(237, 0, 6, 0.50);*!*/
/*    color: #856404;*/
/*    font-size: 12px;*/
/*    font-weight: 500;*/
/*    text-transform: capitalize;*/
/*    line-height: 30px;*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    min-width: 155px;*/
/*    box-sizing: border-box;*/
/*}*/

/* Submit button */
.submit-btn {
    background-color: var(--accent-color);
    color: white;
    font-weight: 700;
    font-size: 16px;
    padding: 12px 30px;
    border-radius: 7px;
    border: 1.5px solid var(--accent-color);
    width: 100%;
    transition: all 0.3s ease;
    margin-top: 10px;
    min-height: 45px;
}

.submit-btn:hover {
    background-color: #5a50d0;
    border-color: #5a50d0;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(112, 101, 240, 0.3);
}

/* Postcode inputs - initially hidden */
#postcodeInputs {
    display: none;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

#postcodeInputs.visible {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .quote-modal .modal-dialog {
        margin: 10px;
    }

    .modal-body {
        padding: 0 1.5rem 1.5rem 1.5rem;
    }

    .modal-header {
        padding: 1rem 1rem 0.5rem 1rem;
    }

    .close-btn {
        right: 1rem;
        top: 1rem;
        width: 35px;
        height: 35px;
    }

    .reserved-slot {
        min-width: calc(50% - 10px);
    }
}

@media (max-width: 576px) {
    .modal-body {
        padding: 0 1rem 1rem 1rem;
    }

    .reserved-slot {
        min-width: 100%;
    }

    .modal-title {
        font-size: 16px;
    }

    .modal-subtitle {
        font-size: 13px;
    }

    .row .col-md-6 {
        margin-bottom: 15px;
    }
}
.flatpickr-day.blocked-day {
    background: #dc3545 !important;
    color: #fff !important;
    text-decoration: line-through;
    font-weight: bold;
    cursor: not-allowed;
}


