@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
      font-family: "Poppins", sans-serif;

}
ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
a,a:hover{
    text-decoration: none;
}
:root{
    --primary-color: rgba(198, 40, 40, 1);
    --secondary-color: rgba(110, 110, 110, 1);
    --text-color: rgba(59, 59, 59, 1);
    --grey:rgba(245, 245, 245, 1)
}


.ct_header{
    border-top:3px solid var(--primary-color);
    background:#fff;
}

.navbar{
    min-height:82px;
}

.navbar-brand img{
    height:60px;
}

.navbar-nav{
    gap:25px;
}

.nav-link{
    color:rgba(85, 85, 85, 1);
    font-size:14px;
    font-weight:400;
    transition:.3s;
}

.nav-link:hover,
.nav-link.active{
    color:var(--primary-color);
}

.ct_header_right{
    gap:20px;
}

.ct_call{
    display:flex;
    align-items:center;
    gap:12px;
}

.ct_call_icon{
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--primary-color);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
}

.ct_call small{
    display:block;
    color:rgba(0, 0, 0, 1);
    line-height:1;
    margin-bottom:4px;
}

.ct_call h6{
    margin:0;
    font-size:18px;
    font-weight:400;
}

.ct_btn{
    background:var(--primary-color);
    color:#fff;
    text-decoration:none;
    padding:16px 28px;
    border-radius:10px;
    font-size:12px;
    font-weight:600;
    transition:.3s;
}

.ct_btn:hover{
    background:#000;
    color:#fff;
}

.offcanvas{
    width:300px;
    height:100dvh !important;
}

.offcanvas-body{
    overflow-y:auto;
}

.offcanvas .nav-link{
    padding:12px 0;
    border-bottom:1px solid #eee;
}


.ct_hero_section {
    position: relative;
    background: url("../img/banner.png") center center/cover no-repeat;
    display: flex;
    align-items: center;
}

.ct_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
}

.ct_hero_height{
    min-height:550px;
}

.ct_hero_content{
    position:relative;
    z-index:2;
    max-width:640px;
}

.ct_hero_content h1{
    color:#fff;
    font-size:34px;
    font-weight:700;
    line-height:1.1;
    margin-bottom:10px;
}

.ct_hero_content p{
    color:#fff;
    font-size:14px;
    font-weight:500;
    line-height:1.6;
    margin-bottom:18px;
}

.ct_location{
    display:block;
    color:#fff;
    font-size:14px;
    margin-bottom:35px;
}

.ct_btn_group{
    display:flex;
    gap:30px;
    flex-wrap:wrap;
}

.ct_btn_primary{
    background:var(--primary-color);
    color:#fff;
    text-decoration:none;
    padding:12px 34px;
    border-radius:4px;
    font-weight:500;
    transition:.3s;
    border:1px solid var(--primary-color);
}

.ct_btn_primary:hover{
    background:#000;
    color:#fff;
}

.ct_btn_outline{
    border:1px solid #fff;
    color:#fff;
    text-decoration:none;
    padding:12px 34px;
    border-radius:4px;
    font-weight:500;
    transition:.3s;
}

.ct_btn_outline:hover{
    background:#000 !important;
    color:#fff;
}


.ct_about_section{
    background:#fff;
}

.ct_about_img{
    width:100%;
    height:210px;
    object-fit:cover;
    border-radius:10px;
}

.ct_about_counter{
    background:var(--primary-color);
    color:#fff;
    border-radius:10px;
    padding:54px 15px;
    text-align:center;
}

.ct_about_counter h2{
    font-size:34px;
    font-weight:700;
    margin-bottom:8px;
    color:#fff;
}

.ct_about_counter p{
    margin:0;
    font-size:14px;
    color:#fff;
}

.ct_red_box{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ct_section_tag{
    color:#000;
    font-size:22px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
}

.ct_about_content h2{
    font-size:14px;
    font-weight:500;
    color:#000;
    line-height:1.2;
    margin:5px 0 20px;
}

.ct_about_content p{
    color:rgba(30, 30, 30, 1);
    font-size:14px;
    line-height:1.8;
    margin-bottom:18px;
}
.ct_fw_500{
    font-weight: 500 !important;
}

/* ================================
   SERVICES SECTION
================================ */

.ct_services_section{
    padding:70px 0;
    background:#fff;
}

.ct_section_heading{
    margin-bottom:35px;
}

.ct_section_heading h2{
    color:#000;
    font-size:34px;
    font-weight:600;
    line-height:1.2;
    margin:0 0 8px;
}

.ct_section_heading p{
    color:rgba(85, 85, 85, 1);
    font-size:14px;
    font-weight:500;
    line-height:1.4;
    margin:0;
}


/* Service Item */

.ct_service_item{
    height:100%;
}

.ct_service_item img{
    width:100%;
    height:200px;
    object-fit:cover;
    border-radius:8px;
    display:block;
}

.ct_service_item h3{
    color:rgba(30, 30, 30, 1);
    font-size:16px;
    font-weight:500;
    line-height:1.25;
    margin:10px 0 0;
}


/* Bottom Text */

.ct_services_bottom{
    margin-top:15px;
}

.ct_services_bottom p{
    color:var(--secondary-color);
    font-size:14px;
    font-weight:400;
    margin:0;
}


/* =================================
   WHY CHOOSE US
================================= */

.ct_choose_section{
    background:#f5f5f5;
}

.ct_choose_image{
    height:100vh;
}

.ct_choose_image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}


/* Content */

.ct_choose_content{
    min-height:520px;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:60px 8%;
}

.ct_choose_subtitle{
    display:block;
    color:rgba(30, 30, 30, 1);
    font-size:16px;
    font-weight:600;
    line-height:1.2;
    margin-bottom:10px;
}

.ct_choose_content h2{
    color:#222;
    font-size:32px;
    font-weight:700;
    line-height:1.05;
    margin:0 0 22px;
}


/* List */

.ct_choose_list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.ct_choose_item_new h3{
    color:#222;
    font-size:16px;
    font-weight:600;
    line-height:1.3;
    margin:0 0 5px;
}

.ct_choose_item_new h3 span{
    margin-right:4px;
}

.ct_choose_item_new p{
    color:rgba(112, 112, 112, 1);
    font-size:14px;
    font-weight:400;
    line-height:1.6;
    margin:0;
}
/* =================================
   HOW IT WORKS
================================= */

.ct_how_it_works_section{
    padding:60px 0;
    background:#fff;
}

.ct_how_it_works_section .ct_section_heading{
    margin-bottom:28px;
}

.ct_how_it_works_section .ct_section_heading h2{
    color:#000;
font-size:34px;
    font-weight:700;
    line-height:1.2;
    margin:0 0 7px;
}

.ct_how_it_works_section .ct_section_heading p{
    color:var(--secondary-color);
    font-size:12px;
    font-weight:400;
    margin:0;
}


/* Steps */


.ct_step_item{
    position:relative;
    height:100%;
    background:var(--primary-color);
    color:#fff;
    padding:40px 15px 40px;
    text-align:center;
    border-radius:6px;
}


/* Arrow */

.ct_step_item:before{
    content:"→";
    position:absolute;
    right:-21px;
    top:50%;
    transform:translateY(-50%);
    color:#111;
    font-size:16px;
    font-weight:500;
    z-index:5;
}

.ct_step_item_none:before{
    display:none;
}


/* Step Number */

.ct_step_item h3{
    color:#fff;
    font-size:18px;
    font-weight:600;
    line-height:1.2;
    margin:0 0 18px;
}


/* Step Title */

.ct_step_item h4{
    color:#fff;
    font-size:16px;
    font-weight:500;
    line-height:1.3;
    margin:0 0 10px;
}


/* Description */

.ct_step_item p{
    color:#fff;
    font-size:13px;
    font-weight:400;
    line-height:1.35;
    margin:0;
}

/* =================================
   TESTIMONIAL SECTION
================================= */

.ct_testimonial_section{
    padding:60px 0;
    background:#fff;
}

.ct_testimonial_section .ct_section_heading{
    margin-bottom:28px;
}

.ct_testimonial_section .ct_section_heading h2{
    color:#000;
    font-size:34px;
    font-weight:600;
    line-height:1.2;
    margin:0;
}


/* =================================
   TESTIMONIAL CARD
================================= */

.ct_testimonial_card{
    height:100%;
    border:1px solid #999;
    padding:16px;
    background:#fff;
    max-width: calc(100% - 20px);
    margin: 0 auto;
    display:grid;
    height: 100%;
    
}


/* Quote Icon */

.ct_quote_icon{
    color:var(--primary-color);
    font-size:17px;
    line-height:1;
    margin-bottom:8px;
}

.ct_testimonial_card h3{
    color:rgba(30, 30, 30, 1);
    font-size:16px;
    font-weight:500;
    line-height:1.4;
    margin:0 0 8px;
}


/* Testimonial Content */

.ct_testimonial_text{
    color:rgba(85, 85, 85, 1);
    font-size:14px;
    font-style:italic;
    line-height:1.5;
    margin:0 0 12px;
}


/* =================================
   CLIENT INFORMATION
================================= */

.ct_testimonial_bottom{
    margin-top:auto;

    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:10px;
}

.ct_client_info h4{
    color:#111;
    font-size:18px;
    font-weight:500;
    line-height:1.3;
    margin:0 0 3px;
}

.ct_client_info p{
    color:rgba(85, 85, 85, 1);
    font-size:14px;
    font-weight:400;
    line-height:1.4;
    margin:0;
}


/* Rating */

.ct_rating{
    display:flex;
    align-items:center;
    gap:4px;
    margin-top:1px;
}

.ct_rating span{
    color:rgba(255, 218, 6, 1);
    font-size:14px;
    line-height:1;
}

.ct_rating small{
    color:var(--secondary-color);
    font-size:14px;
}


/* =================================
   OWL CAROUSEL
================================= */

.ct_testimonial_slider{
    position:relative;
}

.ct_testimonial_slider .owl-stage{
    display:flex;
    height: 100%;
}

.ct_testimonial_slider .owl-item{
    display:flex;
}

.ct_testimonial_slider .ct_testimonial_card{
    width:100%;
}


/* Remove Owl default nav */

.ct_testimonial_slider .owl-nav{
    display:none;
}


/* Dots */

.ct_testimonial_slider .owl-dots{
    display:flex;
    justify-content:center;
    align-items:center;

    gap:8px;

    margin-top:28px !important;
}

.ct_testimonial_slider .owl-dot span{
    width:8px;
    height:8px;

    padding:0 !important;
    margin:0 !important;

    border:0;
    border-radius:50%;

    background:#d9d9d9 !important;
}

.ct_testimonial_slider .owl-dot.active span{
    background:var(--primary-color) !important;
}

/* =================================
   CTA SECTION
================================= */

.ct_cta_content{
    position:relative;
    margin:100px 0;
    background:url("../img/newsletter_bg.png") center center/cover no-repeat;
   z-index: 9;
height: 380px;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
    overflow:hidden;
}

.ct_cta_content::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.52);
    z-index: -1;
}

.ct_cta_content{
    position:relative;
    z-index:2;
    width:100%;
    padding:50px 20px;
}

.ct_cta_content h2{
    color:#fff;
    font-size:32px;
    font-weight:600;
    line-height:1.2;
    margin:0 0 8px;
}

.ct_cta_content p{
    color:#fff;
    font-size:14px;
    font-weight:400;
    line-height:1.5;
    margin:0 0 20px;
}


/* Buttons */


/* =================================
   FOOTER
================================= */

.ct_footer{
    background:#050505;
    color:#fff;
    border-top:2px solid #777;
}


/* =================================
   MAIN FOOTER
================================= */

.ct_footer_main{
    padding:45px 0 50px;
    background:#050505;
}


/* Logo */

.ct_footer_logo{
    display:inline-block;
    margin-bottom:18px;
}

.ct_footer_logo img{
    width:115px;
    height:auto;
    display:block;
}


/* Company Text */

.ct_footer_company p{
    max-width:245px;
    color:#fff;
    font-size:12px;
    font-weight:400;
    line-height:1.7;
    margin:0 0 18px;
}


/* =================================
   SOCIAL ICONS
================================= */

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

.ct_footer_social a{
    width:30px;
    height:30px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #fff;
    border-radius:50%;

    color:#fff;
    font-size:12px;

    transition:.3s;
}

.ct_footer_social a:hover{
    background:var(--primary-color);
    border-color:var(--primary-color);
    color:#fff;
}


/* =================================
   FOOTER COLUMNS
================================= */

.ct_footer_column h3,
.ct_footer_newsletter h3{
    color:#fff;
    font-size:16px;
    font-weight:500;
    line-height:1.3;

    margin:2px 0 17px;
}


/* Lists */

.ct_footer_column ul{
    list-style:none;
    padding:0;
    margin:0;
}

.ct_footer_column ul li{
    margin-bottom:11px;
    position:relative;
    padding-left:16px;
}

.ct_footer_column ul li::before{
    content:"•";
    position:absolute;
    left:0;
    top:0;
    color:#fff;
}

.ct_footer_column ul li a{
    color:#fff;
    font-size:12px;
    font-weight:400;
    transition:.3s;
}

.ct_footer_column ul li a:hover{
    color:var(--primary-color);
}


/* =================================
   CONTACT
================================= */

.ct_footer_contact{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.ct_footer_contact > a{
    color:#fff;
    font-size:12px;
    line-height:1.4;
    margin-bottom:5px;
}

.ct_footer_contact .ct_footer_phone{
    font-size:16px;
    font-weight:400;
    margin-bottom:2px;
}

.ct_footer_contact > a:hover{
    color:var(--primary-color);
}

.ct_footer_hours_title{
    color:#fff;
    font-size:12px;
    margin-top:10px;
    margin-bottom:5px;
}

.ct_footer_contact > span:not(.ct_footer_hours_title){
    color:#fff;
    font-size:12px;
    line-height:1.5;
}


/* =================================
   NEWSLETTER
================================= */

.ct_footer_newsletter p{
    max-width:245px;

    color:#fff;
    font-size:12px;
    font-weight:400;
    line-height:1.6;

    margin:0 0 10px;
}

.ct_newsletter_form{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}

.ct_newsletter_form input{
    width:100%;
    height:40px;

    padding:0 12px;

    border:0;
    border-radius:3px;

    background:#fff;
    color:#222;

    font-family:inherit;
    font-size:13px;

    outline:none;
}

.ct_newsletter_form input::placeholder{
    color:#999;
}

.ct_newsletter_form button{
    height:40px;

    padding:0 15px;

    border:1px solid var(--primary-color);
    border-radius:4px;

    background:var(--primary-color);
    color:#fff;

    font-family:inherit;
    font-size:13px;
    font-weight:500;

    cursor:pointer;
    transition:.3s;
}

.ct_newsletter_form button:hover{
    background:#fff;
    color:var(--primary-color);
}


/* =================================
   FOOTER BOTTOM
================================= */

.ct_footer_bottom{
    border-top:1px solid #292929;
    padding:15px 0;
    background:#050505;
}

.ct_footer_bottom p{
    color:#fff;
    font-size:13px;
    font-weight:400;
    margin:0;
}

.ct_footer_bottom_links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}

.ct_footer_bottom_links a{
    color:#fff;
    font-size:14px;
    transition:.3s;
}

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

.ct_footer_bottom_links span{
    color:#777;
    font-size:13px;
}

/* =================================
   INNER PAGE BANNER
================================= */

.ct_inner_banner{
    position:relative;

    min-height:300px;

    background:url("../img/inner_bg.png")
        center center/cover no-repeat;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;
}

.ct_inner_banner_overlay{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,.55);
}
.ct_red_text{
    color:var(--primary-color);
}
.ct_inner_banner_content{
    position:relative;
    z-index:2;
}

.ct_inner_banner_content h1{
    color:#fff;

    font-size:clamp(32px, 4vw, 48px);
    font-weight:600;

    line-height:1.2;

    margin:0 0 5px;
}

.ct_breadcrumb{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:10px;
}

.ct_breadcrumb a,
.ct_breadcrumb span{
    color:#fff;

    font-size:14px;
    font-weight:400;

    line-height:1.4;
}

.ct_breadcrumb a{
    transition:.3s;
}

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

.ct_breadcrumb span:last-child{
    font-weight:600;
}

.ct_mission_section {
    padding: 4px 10px;
}

.ct_mission_box {
    background-color: rgba(59, 59, 59, 1);
    border-radius: 20px;
    padding: 80px 30px 80px;
    color: #fff;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ct_mission_title {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 15px;
}

.ct_mission_text {
    max-width: 787px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    color: #fff;
}


.ct_why_choose_section {
    padding: 5px 12px;
}

.ct_why_choose_box {
    background: #ce2429;
    color: #fff;
    padding: 60px 50px 60px;
}

.ct_why_choose_title {
    font-size: 32px;
    font-weight: 600;
    margin: 0 0 13px;
    line-height: 1.2;
}

.ct_why_choose_subtitle {
    font-size: 14px;
    font-weight: 400;
    margin: 0;
    line-height: 1.5;
}

.ct_why_choose_row {
    margin-top: 28px;
}

.ct_choose_item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
}

.ct_check_icon {
    flex: 0 0 auto;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    margin-top: 1px;
}

.ct_choose_item h3 {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 7px;
    color: #fff;
}

.ct_choose_item p {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
    margin: 0;
    max-width: 380px;
    color: #fff;
}

.ct_service_detail_content h2 {
    color: var(--primary-color);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 8px;
}

.ct_service_detail_content > p {
    color: var(--text-color);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 0 8px;
    max-width: 470px;
}

.ct_service_detail_content h3 {
    color: var(--text-color);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 10px;
}

.ct_service_detail_list {
    padding-left: 15px;
    margin: 0 0 12px;
}

.ct_service_detail_list li {
    color: var(--text-color);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    list-style: disc;
    margin-bottom: 6px;
}

.ct_service_detail_img {
    width: 100%;
}

.ct_service_detail_img img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
    border-radius: 7px;
}
.ct_fs_14{
    font-size: 14px !important;
}
.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    box-shadow: unset;
}
/* Contact button */
.ct_service_contact_btn {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.ct_service_contact_btn:hover {
    background: var(--primary-color);
    color: #fff;
}
.ct_booking_section {
    padding: 45px 0 70px;
    background: #fff;
}

.ct_booking_form {
    margin: 0 auto;
}
.ct_booking_calendar_section{
    padding: 70px 0 70px;
    background: #fff;
}
.ct_booking_form h2 {
    color: var(--primary-color);
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    margin: 0 0 18px;
}

.ct_booking_intro {
    color: #111;
    font-size: 14px;
    font-weight: 400;
    max-width: 691px;
    line-height: 1.5;
    text-align: center;
    margin: 0 auto 28px;
}

.ct_booking_form .form-label {
    color: #222;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 5px;
}
.ct_booking_form form{
    max-width: 600px;
    margin-inline: auto;
}

.ct_booking_form .form-label span {
    color: var(--primary-color);
}

.ct_booking_form .form-select,
.ct_booking_form .form-control {
    height: 48px;
    border: 1px solid rgba(128, 131, 134, 1);
    border-radius: 0;
    color: rgba(128, 131, 134, 1);
    font-size: 14px;
    font-weight: 400;
    padding: 5px 12px;
    box-shadow: none;
}

.ct_booking_form .form-select:focus,
.ct_booking_form .form-control:focus {
    border-color: var(--primary-color);
    box-shadow: none;
}

.ct_booking_form .form-control[type="date"] {
    color: #777;
}

.ct_booking_form .ct_btn_primary {
    min-width: 240px;
   
}
.ct_calendar_title{
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 15px;
    color: var(--primary-color);
    text-align: center;
}

.fc .fc-daygrid-body{
    overflow-x: auto;
    width: 100% !important;
}

/* Calendar border */
#ct_calendar .fc-scrollgrid,
#ct_calendar .fc-scrollgrid-section > *,
#ct_calendar td,
#ct_calendar th {
    border-color: #bdbdbd !important;
}

/* Calendar header */
#ct_calendar .fc-col-header-cell {
    background: #fff;
}

#ct_calendar .fc-col-header-cell-cushion {
    color: #333;
}

/* Date numbers */
#ct_calendar .fc-daygrid-day-number {
    color: #555;
}

/* Normal available slots */
#ct_calendar .ct_slot_button {
    background: #f8dddd;
    border: 1px solid #d8a5a5;
    color: #333;
    word-break: break-word;
    white-space: normal;
}

/* Selected slot */
#ct_calendar .ct_slot_active .ct_slot_button {
    background: #c62828;
    border-color: #c62828;
    color: #fff;
}

/* No slots available date */
#ct_calendar .fc-daygrid-day:has(.ct_no_slots) {
    background: #fff1ed !important;
}

/* No slots text */
#ct_calendar .ct_no_slots .ct_slot_button {
    background: transparent;
    border: 0;
    color: #c62828;
}

/* Today / normal cells */
#ct_calendar .fc-daygrid-day,
#ct_calendar .fc-day-today {
    background: #fff !important;
}

/* Keep unavailable cell pink */
#ct_calendar .fc-daygrid-day:has(.ct_no_slots) {
    background: #fff1ed !important;
}
.fc-direction-ltr .fc-daygrid-event.fc-event-end, .fc-direction-rtl .fc-daygrid-event.fc-event-start{
    text-align: center;
    background: transparent;
    border: 0;
}

.fc-scroller{
    overflow-x: auto;
    overflow-y: hidden;
}




.ct_contact_section {
    padding: 60px 0;
    background: #fff;
}

.ct_contact_details,
.ct_contact_form {
    height: 100%;
}

.ct_contact_details h2,
.ct_contact_form h2 {
    color: #222;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 18px;
}

.ct_contact_intro {
    color: var(--text-color);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    max-width: 390px;
    margin: 0 0 28px;
}


/* Contact Details */

.ct_contact_item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
}

.ct_contact_icon {
    flex: 0 0 14px;
    color: var(--primary-color);
    font-size: 14px;
    line-height: 1.5;
}

.ct_contact_item h3 {
    color: #222;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 5px;
}

.ct_contact_item p {
    color: var(--secondary-color);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

.ct_contact_item ul {
    padding-left: 15px;
    margin: 0;
}

.ct_contact_item ul li {
    color: var(--secondary-color);
    font-size: 14px;
    line-height: 1.7;
    list-style: disc;
}


/* Contact Form */

.ct_contact_form .form-control,
.ct_contact_form .form-select {
    height: 48px;
    border: 1px solid #c5c5c5;
    border-radius: 3px;
    font-size: 14px;
    color: #555;
    padding: 8px 12px;
    box-shadow: none;
}

.ct_contact_form textarea.form-control {
    resize: none;
}

.ct_contact_form .form-control::placeholder {
    color: #999;
}

.ct_contact_form .form-control:focus,
.ct_contact_form .form-select:focus {
    border-color: var(--primary-color);
    box-shadow: none;
}

.ct_contact_form .ct_btn_primary {
    min-width: 96px;
 
}