/* ===============================
   Arabic Website Styles (RTL)
   =============================== */
/* @font-face {
	font-family: 'DGHeaven';
	src: url('../fonts/DG-Heaven-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
} */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@200..1000&family=PT+Serif+Caption:ital@0;1&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
	--primary-color: #32519b;
	--secondary-color: #11b3cf;
	--text-dark: #333333;
	--text-light: #666666;
	--bg-light-blue: #f8fcfd;
	--bg-light: #f5f5f5;
	--white: #ffffff;
	--transition: all 0.3s ease;
}

html {
	direction: rtl;
}

body {
	/* font-family: 'DGHeaven', sans-serif; */
	font-family: "Cairo", sans-serif;
	/* background-color: var(--bg-light); */
	color: var(--text-dark);
	text-align: right;
}

.bg-light-blue {
	background-color: var(--bg-light-blue);
}

.bg-primary-custome {
	background: var(--primary-color);
}

/* Navbar */
.small-navbar {
	background-color: #fff !important;
	color: #000 !important;
}


.main-navbar {
	background-color: var(--primary-color);
	color: #fff !important;
	margin-top: 30px;
}

.navbar {
	direction: rtl;
	background-color: var(--primary-color);
	padding: 0;
	padding-top: 2px;
}

.navbar-brand {
	font-weight: 700;
	background: #fff;
	margin: 0px;
	padding: 6px 60px 12px 140px;
	clip-path: polygon(70px 0%, 100% 0%, 100% 100%, 0% 100%, 0% 70px);
	display: block;
}

.nav-item .nav-link.active {
	background: #fff;
	border-radius: 4px;
	color: #32519b !important;
}

.nav-item {
	margin: 4px 10px;
    font-weight: bold;
    white-space: nowrap;
}

.nav-item .nav-link {
	color: #fff;
}

/* Fix Bootstrap RTL spacing */
.ms-auto {
	margin-right: auto !important;
	margin-left: 0 !important;
}

/* Links */
a {
	color: var(--primary-color);
	transition: var(--transition);
}

a:hover {
	color: var(--secondary-color);
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
i {
	color: var(--primary-color);
}


/* Footer */
footer {
	/* background-color: #f0f2f5; */
	color: var(--text-light);
	border-top: 1px solid #fcfcfc;
	padding-top: 16px;

}

/* Buttons */
.btn-primary-custom {
	background-color: var(--primary-color);
	color: var(--white);
	border: none;
}

.btn-primary-custom:hover {
	background-color: var(--secondary-color);
}
.btn-outline-primary{
    border-color: var(--primary-color);
    color: var(--primary-color);
}
.btn-outline-primary:focus, .btn-outline-primary:active, .btn-outline-primary:focus-visible  {
    border-color: var(--primary-color) !important;
    background:var(--primary-color) !important;
}
/*=====================================
            Home page
=======================================*/
.home-header {
	position: relative;
    overflow: hidden;
	height: 60vh;
    margin-top: 100px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.home-header video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    z-index: -1;

}
.home-header .overlay {
	position: absolute;
	inset: 0;
	/* background: rgba(0, 0, 0, 0.55); */
}

.home-header .container {
	position: relative;
	z-index: 2;
}

.home-header h1 {
	font-size: 2.5rem;
	font-weight: 700;
	color: #fff !important;
}

.home-header p {
	font-size: 1.1rem;
	line-height: 1.8;
	padding: 0 120px;
    font-weight: 500;
}

/* _________ counters section ___________*/
.counters {
	background: #fff;
}

.counters .card {
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.16);
	border: none;
}

.counters .card img {
	width: 50px;
	align-self: center;
	padding: 8px 0;
}

.counters .card h2 {
	font-size: 22px;
    font-weight: bold;
}

.counters .card span {
	font-size: 16px;
	color: var(--primary-color);

}

/* _____________ Services section _________________ */

.services h1 {
	color: var(--secondary-color);
	font-size: 2rem;
    font-weight: bold;
}

.services .card {
	border: none;
	align-items: center;
	min-height: 130px;
}

.services .card img {
	width: 50px;
}

.services .card h3 {
	font-size: 18px;
    font-weight: bold;
    margin: 3px 0;
}

/* _________why choose us section___ */
.why_choose_us h1,
.ourTeam h1,
.Testimonials h1,
.contactUs h1 {
	font-size: 30px;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.13;
	letter-spacing: normal;
	text-align: center;
	color: #11b3cf;
    font-weight: bold;

}

.why_choose_us p,
.ourTeam p,
.Testimonials p,
.contactUs p {
	font-size: 20px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: normal;
	text-align: center;
	color: #000;
}

.why_choose_us .card {
	padding: 20px;
	border: none;
	/* min-height: 280px; */
}

.why_choose_us .card img {
	width: 50px;
	align-self: anchor-center;
}

.why_choose_us .card .why_us_feature {
	font-size: 16px;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	color: #32519b;
    font-weight: bold;
}

.why_choose_us .card .why_us_feature_description {
	font-size: 14px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.75;
	letter-spacing: normal;
	text-align: center;
	color: #000;
}

/* _______________ our team ______________ */
.ourTeam .card {
	border: none;
	border-bottom: 8px solid var(--primary-color);
}

.ourTeam .card img {
	border-top-right-radius: 4px;
	height: 200px;
	border-top-left-radius: 4px;
}

.ourTeam .card .doctor-data .doctor_name {
	font-size: 18px;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	color: #32519b;
    font-weight: bold;
}

.ourTeam .card .doctor-data .about-doctor {
	font-size: 16px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.25;
	letter-spacing: normal;
	text-align: center;
	color: #000;
}

/* _____________ Testimonials _____________ */
#testimonialsCarouselMobile,
#testimonialsCarouselDesktop {
	position: relative;
	/* ensures controls are positioned correctly */
}

.carousel-control-prev,
.carousel-control-next {
	width: 5%;
}

.Testimonials .card {
	border-radius: 8px;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.31);
	background-color: #fff;
	border: none;
	border-bottom: 8px solid var(--primary-color);
	min-height: 200px;
}

.Testimonials .card .stars i {
	align-self: anchor-center;
	color: #ffc107 !important;
}

.Testimonials .card .patient_review p {
	font-size: 16px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.33;
	letter-spacing: normal;
	text-align: center;
	color: #0e0e0e;
}

/* _________________contact us____________________ */

.contactUs .card img {
	width: 50px;
	align-self: anchor-center;
}

.contactUs .card h2 {
	font-size: 18px;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	color: #32519b;
	margin-top: 14px;
    font-weight: bold;
}

.contactUs .card p {
	font-size: 14px;
	margin-bottom: 4px;
}
/* =================================
        Doctors view
==================================== */
.search-box {
    max-width: 450px;
    height: 42px;
    border: 2px solid var(--primary-color);
    border-radius: 10px;
}

.search-box .form-control:focus {
    box-shadow: none;
}

.search-box .input-group-text {
    background-color: #fff;
}
.search-box.rtl {
    direction: rtl;
}
.search-box.rtl .input-group-text {
    border-radius: 0 8px 8px 0 !important;
    border-left: 0;
}
.search-box.rtl .form-control {
    border-radius: 0;
    border-right: 0;
    text-align: right;
}
.search-box.rtl .btn {
    border-radius: 8px 0 0 8px !important;
}
.doctor-card{
    border: none !important;
    border-bottom: 8px solid var(--primary-color) !important;
}
.doctor-card .doctorimg{
    height: 250px;
    width: 100%;
    object-fit: cover;
}
.pagination {
    direction: ltr;
}

.rtl .pagination {
    direction: rtl;
}

.page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.rtl .page-item:not(:last-child) {
    margin-left: 0.25rem;
}
.page-link{
    color: var(--primary-color);
    margin: 0 20px;
    border-radius: 4px;
    padding: 8px 16px;}
.pagination p.small.text-muted{
    display: none;
}
/* ===========================
        Doctor profile
===============================*/
.doctor-personal-data img{
    width: 270px;
}
.doctor-personal-data h1{
    font-size: 30px;
    font-weight: bold;
}

.doctor-personal-data h2{
    color:var(--secondary-color);
    font-size: 22px;
}
.doctor-personal-data p{
    font-size: 20px;
}
.doctor-professional-data h2{
    font-size: 28px;
    color:var(--secondary-color);
}
/* ==========================
        Service Details
============================*/
.service-details {
    position: relative;
        display: flex;
    flex-direction: row-reverse;
}

/* card hits window start */
.service-name-card {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
}

/* card styling */
.service-name-card .card {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding: 18px 60px 18px 20px;
    border: none;
    box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.14);
}
.service-name-card h1{
    font-size: 22px;
    font-weight: bold;
    margin-right: 20px;
}
.service-image-container{
        text-align: left;
    padding-left: 60px;

}
.service-image-container img{
    height: 400px;
}
.bg-primary{
    background-color:var(--primary-color) !important;
}
.about-service h2{
    color:var(--secondary-color);
    font-size: 24px;
    font-weight: bold;
}
.about-service .doctor-card{
    max-height: 320px;
    border-bottom:10px solid var(--primary-color);
}

.about-service .doctor-card img{
    height: 190px;
}
.about-service .doctor-card h3, .about-service .symptom-card h3{
    font-size: 18px;
}
.about-service .doctor-card p{
    font-size: 16px;
}
.service-faq .card h2{
    color:var(--secondary-color);
    font-size: 1.75rem;
    font-weight: bold;
}
.accordion {
    max-width: 600px;
    margin: auto;
    /* border: 1px solid #ddd; */
    /* border-radius: 8px; */
    overflow: hidden;
}
.accordion-header {
    width: 100%;
    padding: 10px 16px;
    background: var(--primary-color);
    color: #fff;
    border: none;
    font-size: 16px;
    text-align: right;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.accordion-content {
  display: none;
  padding: 0 16px;
  background: #fff;
  text-align: right;
}

.accordion-content p {
  padding: 16px 0;
  margin: 0;
}

.icon {
  font-size: 20px;
  transition: transform 0.3s;
}

.accordion-item.active .icon {
  transform: rotate(45deg);
}

/* ===========================
        About us
===============================*/

.vm-container .card h2{
    font-size: 1.5rem;
    line-height: 2.3;
    font-weight: bold;
}
.our-story h2{
    color:var(--secondary-color);
    font-weight: bold;
}
.our-story .card{
    text-align: center;
    /* min-height: 144px; */
}
.our-story .card h2{
    color:var(--secondary-color);
    font-size: 26px;
    font-weight: bold;
}
.our-story .card p{
    font-size: 18px;
    color:var(--primary-color);
}
.our-values h2{
     font-size: 28px;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.29;
  letter-spacing: normal;
  text-align: center;
  color: #11b3cf;
  font-weight: bold;
}
.our-values .card{
    /* min-height: 186px; */
    place-content: center;
    margin-bottom: 10px;
    border-radius:1rem;
}
.our-values .card h4{
    font-size: 20px;
    font-weight: bold;
}
.our-values .card p{
    font-size: 18px;
}
.our-values .card img{
    width: 50px;
    align-self: center;
}
/* ===============================
        Contact Us
==================================*/
.contact-us h1{
    color:var(--secondary-color);
    font-weight: bold;
}
.contact-us .contact-methods img{
    width: 40px;
    margin-left: 20px;
}
.contact-us .contact-methods h2{
     font-size: 20px;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: right;
    color:var(--primary-color);
    font-weight: bold;

}
.booking h2{
    font-weight: bold;
}
.booking form .form-control::placeholder {
    color: #aaaaaa !important;
    opacity: 1;
    text-align: right;
}
.booking form .form-control, .booking form .form-select{
    height: 56px !important;
}
.booking form label i{
    font-size: 10px !important;
    font-weight: normal !important;
}
/* intltelinput libarary start*/
.iti {
	width: 100%;
}

.iti--allow-dropdown .iti__flag-container {
	left: 0;
	right: auto;
}

.iti__selected-flag {
	direction: ltr;
	/* keep flag and code left-to-right */
}

input[type="tel"] {
	text-align: right;
	padding-right: 60px;
	/* space for flag dropdown */
}
.iti__country-list {
right:   0;
z-index: 1055;

}
.iti {
	width: 100%;
	display: block !important;
	direction: rtl !important;
}

.iti--separate-dial-code .iti__selected-flag {
	background: none !important;
}

.iti .iti__selected-flag .down-arrow {
	left: 20px !important;
}

.iti .iti__selected-flag {
	padding: 6px !important;
}

.iti .iti__selected-flag .iti__flag {
	left: 0;
	right: 0;
}

.iti .iti__selected-flag .iti__arrow {
	margin-left: 6px;
	margin-right: 0px;
}

.iti.iti--allow-dropdown .iti__flag-container {
      height: 40px;
    right: 0px;
    left: auto;
    border-right: none !important;
    border-left: 1px solid #979797 !important;
    align-self: center;
}
.iti .iti__selected-flag {
	border-left: solid 0.5px #979797;
	border-right: none !important;
}

.iti .iti__selected-flag:focus {
	outline: none;
}

.iti.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
	background-color: #ffffff;
}

.iti input {
	text-align: right !important;
	padding-right: 100px !important;
}

.iti__country-name,
.iti__flag-box {
	float: right;
	margin-right: 6px;
	margin-right: 0px !important;
}

/* intltelinput libarary end */
/* ==============================
        Thank You
=================================*/
.thank-you .thanks-container i{
    font-size: 100px;
}
.thank-you .place-items-center{

    place-items: center;
}
.thank-you h2{
    color: #000;
    line-height: 3;
    font-size: 1.9rem;
    font-weight: bold;
}
.thank-you .card p{
    font-size: 20px;
}
.thank-you strong{
    color:var(--secondary-color);
}
/* ================================
        Footer
=================================== */
.footer-toggle {
	background: none;
	border: 0;
	color: var(--primary-color);
	font-weight: bold;
	width: 100%;
	text-align: right;
	padding: 0;
	margin-bottom: 10px;
	position: relative;
}

.footer-toggle::after {
	content: "+";
	position: absolute;
	left: 0;
	font-size: 20px;
}

.footer-toggle[aria-expanded="true"]::after {
	content: "−";
}

footer .list-unstyled {
	padding-left: 0;
	list-style: none;
	padding-right: 14px;
}

#footerContact i {
	color: var(--primary-color) !important;
	font-size: 14px;
	padding-left: 8px;
}

#socialLinks a {
	border: 1px solid var(--primary-color);
	border-radius: 50%;
	padding: 6px 12px;
	color: var(--primary-color) !important;
	margin: 0 4px;
	font-size: 16px;
	line-height: 1.8;
}

.dropdown-menu[data-bs-popper] {
	left: 0 !important;
	right: unset;
}
.whatsapp-float {
    position: fixed;
    bottom: 25px;
    width: 55px;
    height: 55px;
    /* background-color: #25d366; */
    color: #fff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
}

.whatsapp-float:hover {
    color: #fff;
    transform: scale(1.05);
    box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

/* LTR (English) */
.whatsapp-float.ltr {
    right: 25px;
}

/* RTL (Arabic) */
.whatsapp-float.rtl {
    left: 25px;
}
@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(37,211,102,0.6); }
    70% { box-shadow: 0 0 0 15px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
.whatsapp-float {
    animation: pulse 2s infinite;
}
/* Desktop: disable toggle UI */
@media (min-width: 768px) {
	.footer-toggle::after {
		display: none;
	}
}
/* iPad & iPad Air (portrait + landscape) */
@media (min-width: 768px) and (max-width: 1024px) {
    /* Your CSS here */
.navbar-brand{
    padding: 6px 30px 12px 60px;
}
.navbar-expand-md .navbar-nav{
    padding-right: 4px;
}
.nav-item{
    margin: 4px;
}
.home-header{
    height: 40vh;
}
}


/* iPad + Mobile */
@media (max-width: 767px) {

    /* ========== NAVBAR STRUCTURE ========== */
    .btn-outline-primary.w-100.selected {
        background: #f5f5f5;
        border: none;
        font-weight: bold;
        color: #000;
        }
    .nav_custome {
        width: 100%;
        flex-direction: column;
    }

    .dm-flex {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .navbar-brand {
        padding: 6px 20px 12px 60px;
        display: inline-block;
		clip-path: polygon(70px 0%, 100% 0%, 100% 100%, 0% 100%, 0% 70px);
    }

    /* Collapse menu full white background */
    #mainNavbar {
        background: #fff;
        padding: 15px 0;
        border-top: 1px solid #eee;
    }

    .nav-item {
        margin: 8px 0;
    }

    .nav-item .nav-link {
        color: #000 !important;
        font-size: 16px;
    }

    .nav-item .nav-link.active {
        color: var(--primary-color) !important;
    }

    /* ========== TOGGLER FIX ========== */

    .navbar-toggler {
        border: none;
        margin: 10px;
        box-shadow: none;
    }

    .navbar-toggler:focus {
        box-shadow: none;
    }

    .navbar-toggler-icon {
        filter: brightness(0) invert(1);
    }

    /* ========== TOP SMALL NAVBAR ========== */

    .small-navbar .d-flex.justify-content-between.w-100 {
        font-size: 12px !important;
    }

    .main-navbar {
        margin-top: 25px; /* fix overlap with fixed-top */
    }

    /* ========== HOME HEADER ========== */

    .home-header {
        text-align: center;
        margin-top: 96px;
    }

    .home-header h1 {
        font-size: 2rem;
        line-height: 1.6;
    }

    .home-header p {
        font-size: 1rem;
        padding: 0 20px;
    }

    /* ========== SERVICES & DOCTORS SLIDER STYLE ========== */

    .services-row,
    .doctors_row {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .services-row > [class*="col-"],
    .doctors_row > [class*="col-"] {
        flex: 0 0 auto;
        width: 70%;
        max-width: 70%;
    }

    .services-row::-webkit-scrollbar,
    .doctors_row::-webkit-scrollbar {
        display: none;
    }

}
