/* Our Locations Section Styles */
.our-locations-section {
    background-color: #ffffff;
    padding: 80px 0;
    position: relative;
}

.our-locations-section .container {
    /* max-width: 1200px; */
    margin: 0 auto;
    padding: 0 20px;
}

.locations-header {
    text-align: center;
    margin-bottom: 60px;
}

.locations-title {
    font-size: 47px;
    font-weight: 700;
    color: #294E50;
    margin-bottom: 20px;
    font-family: 'fonnts_comHalyard_Display', sans-serif;
    line-height: 100%;
}

.locations-description {
    font-size: 16px;
    color: #676686;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
    font-family: 'DM Sans', sans-serif;
}

.locations-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.location-card {
    position: relative;
    height: 360px; 
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    display: block;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

.location-card:hover {
    text-decoration: none;
    color: inherit;
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.card-background {
    content: ' ';
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background: -moz-linear-gradient(top,rgba(0,0,0,0) 0%,black 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, black 100%);
    /* background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%); */
    /* opacity: .6; */
    -webkit-transition: opacity 0.3s 
ease;
    -ms-transition: opacity 0.3s ease;
    transition: opacity 0.3s 
ease;
    will-change: opacity;
}

.card-background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
}






/* Remove specific card backgrounds since we're using images */
.malqa-card,
.maseef-card,
.khobar-card,
.jeddah-card {
    background: none;
}



/* Responsive Design */
@media (max-width: 1200px) {
    .locations-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .location-card {
        height: 250px;
    }
    
    .card-title {
        font-size: 24px;
    }
    
    .card-address {
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    .our-locations-section {
        padding: 60px 0;
    }
    
    .locations-title {
        font-size: 40px;
    }
    
    .locations-description {
        font-size: 14px;
    }
    
    .locations-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
    
    .location-card {
        height: 200px;
        max-width: 400px;
        /* margin: 0 auto; */
    }
    
    .card-title {
        font-size: 26px;
    }
    
    .card-address {
        font-size: 15px;
    }
    
    .whatsapp-float {
        bottom: 20px;
        right: 20px;
    }
    
    .whatsapp-icon {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 480px) {
    .our-locations-section .container {
        padding: 0 15px;
    }
    
    .locations-title {
        font-size: 32px;
    }
    
    .location-card {
        height: 250px;
    }
    
    .card-content {
        padding: 20px 15px 15px;
    }
    
    .card-title {
        font-size: 22px;
    }
    
    .card-address {
        font-size: 13px;
    }
}

/* Section Base */
.our-locations-section {
    padding: 80px 0;
    text-align: center;
  }
  
  .locations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
    margin-top: 40px;
  }
  
  /* Location Card */
  .location-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.4s ease;
  }
  
  .location-card img.card-background-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
  }
  
  /* Default overlay */
  .location-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45); /* black overlay by default */
    z-index: 1;
    transition: background 0.4s ease;
  }
  
  /* Card content */
  .card-content {
    position: absolute;
    bottom: 25px;
    left: 0;
    right: 0;
    color: #fff;
    text-align: center;
    z-index: 2;
    transition: all 0.4s ease;
    z-index: 9;
  }
  
  .card-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 5px;
  }
  
  .card-address {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: #fff;
    margin-top: 10px;
  }
  
  /* Arrow styling */
  .card-arrow {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    color: #fff;
    opacity: 0;
    transition: all 0.4s ease;
    font-size: 18px;
    z-index: 99;
  }
  
  /* Hover Effects */
  .location-card:hover img.card-background-image {
    transform: scale(1.1);
  }
  
  .location-card:hover::before {
    background: rgba(41, 78, 80, 0.7); /* teal overlay on hover */
    z-index: 9;
  }
  
  .location-card:hover .card-content {
    bottom: 85px;
  }
  
  .location-card:hover .card-arrow {
    opacity: 1;
    bottom: 70px;
  }
  
  /* Responsive */
  @media (max-width: 991px) {
    .contact-area{
      padding: 12%  15%!important;
    }
    .locations-grid {
      grid-template-columns: repeat(4, 1fr);
    }
    .location-card{
      height: 200px;
    }
    .clinic-image video{
      height: auto!important;
    }
  }
  @media (max-width: 767px){
    .clinic-image video{
      height: 500px !important;
    }
    .contact-container{
      /* padding: 20px; */
    }
    .locations-grid {
      grid-template-columns: repeat(1, 1fr);
  }
  }
   .locations-title{
     color: var(--dark-accent-color);
   }

/* How to Reach Here Section */
.reach-here-section {
    background-color: #f8f9fa;
    padding: 80px 0;
}

.reach-here-left {
    margin-bottom: 30px;
}

.reach-here-left h6 {
    margin-bottom: 30px;
}

.reach-here-title {
    font-size: 32px;
    color: var(--dark-accent-color);
    margin: 10px 0;
    font-family: 'fonnts_comHalyard_Display', sans-serif;
}
.reach-here-right-container{
    align-content: flex-end;
    align-items: flex-end;
}

.clinic-image {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.clinic-image video{
    height: 500px;
}

.clinic-photo {
    width: 100%;
    height: 400px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.clinic-photo:hover {
    transform: scale(1.05);
}

.reach-here-right {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.operating-hours {
    background-color: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.hours-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--dark-accent-color);
    margin: 0 0 15px 0;
    font-family: 'fonnts_comHalyard_Display', sans-serif;
}

.hours-text {
    font-size: 16px;
    color: var(--secondary-text-color);
    margin: 0;
    font-family: 'DM Sans', sans-serif;
    line-height: 1.6;
}

.map-container {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
    align-content: flex-end;
    align-items: flex-end;
}
.reach-here-row{
    padding: 20px;
}

.map-container iframe {
    width: 100%;
    height: 400px;
    border: none;
}

/* Responsive Design for Reach Here Section */
@media (max-width: 768px) {
    .reach-here-title {
        font-size: 28px;
    }
    
    .clinic-photo {
        height: 300px;
    }
    
    .map-container iframe {
        height: 300px;
    }
}

@media (max-width: 480px) {
    .reach-here-section {
        padding: 60px 0;
    }
    
    .reach-here-title {
        font-size: 24px;
    }
    
    .clinic-photo {
        height: 250px;
    }
    
    .map-container iframe {
        height: 250px;
    }
}
/* contact us section */
/* Contact Section */
.contact-area {
    background: #e6e6e1;
    padding: 80px 0;
    color: #294e50;
  }
  
  .contact-heading {
    font-size: 36px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 50px;
  }
  
  /* Layout */
  .contact-form-wrapper {
    max-width: 1000px;
    margin: 0 auto;
  }
  
  .contact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
  
  .contact-field {
    flex: 1;
    position: relative;
    margin-bottom: 40px;
  }
  
  .contact-field.contact-fullwidth {
    flex: 100%;
  }
  
  /* Inputs & Textareas */
  .contact-input,
  .contact-textarea {
    width: 100%;
    border: none!important;
    outline: none;
    background: transparent;
    font-size: 16px;
    color: #294e50;
    padding: 4px 0;
    margin: 0;
    border-bottom: 1px solid rgba(41, 78, 80, 0.4)!important;
    transition: background-size 0.4s ease, border-color 0.3s ease;
    background-image: linear-gradient(#294e50, #294e50);
    background-position: 0 100%;
    background-size: 0% 2px;
    background-repeat: no-repeat;
    border-radius: 0;
  }
  
  /* Hover + Focus Underline Animation */
  .contact-input:focus,
  .contact-textarea:focus,
  .contact-input:hover,
  .contact-textarea:hover {
    background-size: 100% 2px;
    border-color: transparent;
  }
  
  /* Checkbox & Consent */
  .contact-consent {
    margin-bottom: 30px;
    text-align: left;
    font-size: 15px;
  }
  .contact-consent .wpcf7-list-item{
    margin-left: 0;
  }
  .contact-consent input[type="checkbox"] {
    margin-right: 8px;
  }
  
  .contact-privacy-link {
    color: #294e50;
    text-decoration: underline;
    font-size: 14px;
    font-family: 'DM Sans', sans-serif;
  }
  
  .contact-privacy-link:hover {
    text-decoration: none;
  }
  
  /* Submit Button */
  .contact-btn {
    background: #294e50;
    color: #fff;
    border: none;
    padding: 14px 40px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  
  .contact-btn:hover {
    background: #173436;
  }
  
   /* Responsive */
   @media (max-width: 768px) {
     .contact-row {
       flex-direction: column;
     }
   }

/* Clinic Intro Section */
.clinic-intro-section {
    background-color: #ffffff;
    padding: 80px 0;
}

.clinic-intro-content {
    padding-right: 40px;
}

.clinic-intro-title {
    font-size: 42px;
    font-weight: 700;
    color: var(--dark-accent-color);
    margin-bottom: 30px;
    font-family: 'fonnts_comHalyard_Display', sans-serif;
    line-height: 1.2;
}

.clinic-intro-text p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--secondary-text-color);
    margin-bottom: 20px;
    font-family: 'DM Sans', sans-serif;
}

.clinic-intro-text p:last-child {
    margin-bottom: 0;
}

.clinic-intro-image {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}
.clinic-intro-image video {
    height: 630px;
    width: 100%;
}
.clinic-intro-button{
  margin-top: 60px;
}
.clinic-hallway-img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.clinic-hallway-img:hover {
    transform: scale(1.02);
}

/* Responsive Design for Clinic Intro Section */
@media (max-width: 992px) {
    .clinic-intro-content {
        padding-right: 0;
        margin-bottom: 40px;
    }
    
    .clinic-intro-title {
        font-size: 36px;
    }
    .map-contact-section-location-inner{
      flex-direction: column;
    }
    .map-contact-section-location-inner .map-container{
      width: 100%!important;
    }
    .map-contact-section-location-inner .contact-container-width{
      width: 100%!important;
    }
  
    .service-category{
      padding: 0 80px;
    }
    .services-list li{
      text-align: left;
    }
    .map-contact-section-location-inner .contact-area{
      padding: 20px!important;
    }
    .contact-row{
      gap: 0!important;
    }
    .clinic-intro-image video{
      height: 410px;
    }
    .clinic-intro-image{
      margin-top: 40px;
    }
    .clinic-intro-button{
      margin-top: 40px;
      text-align: center;
    }
}

@media (max-width: 768px) {
    .clinic-intro-section {
        padding: 60px 0;
    }
    
    .clinic-intro-title {
        font-size: 32px;
    }
    
    .clinic-intro-text p {
        font-size: 15px;
    }
    
    .clinic-hallway-img {
        height: 400px;
    }
}

@media (max-width: 480px) {
    .clinic-intro-title {
        font-size: 28px;
    }
    
    .clinic-intro-text p {
        font-size: 14px;
    }
    
    .clinic-hallway-img {
        height: 300px;
    }
}
/* service section  */
   /* =============================
   Our Services Section Styling
============================= */

.our-services-section {
    background: #538689; /* teal blue background */
    color: #fff;
    padding: 80px 0;
    text-align: center;
  }
  
  .services-section-title {
    font-weight: 700!important;
    margin-bottom: 50px;
    color: #fff;
  }
  .services-list a{
    color: #fff;
  }
  
  /* Grid Layout */
  .services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    justify-content: center;
    text-align: left;
  }
  
  /* Each category */
  .service-category {
    padding: 0 15px;
  }
  
  /* Category title */
  .category-title {
    font-size: 18px!important;
    font-weight: 700;
    margin-bottom: 15px;
    color: #fff;
    text-align: left;
  }
  
  /* Service list */
  .services-list {
    list-style-type: disc;
    padding-left: 20px;
    margin: 0;
  }
  
  .services-list li {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: #f2f2f2;
    transition: all 0.3s ease;
    cursor: default;
  }
  
  /* Hover effect for list items */
  .services-list li:hover {
    color: #ffffff;
    transform: translateX(5px);
  }
  
  /* Responsive adjustments */
  @media (max-width: 991px) {
    .services-section-title {
      font-size: 34px;
    }
    .services-grid {
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 30px;
    }
  }
  
  @media (max-width: 768px) {
    .our-services-section {
      padding: 60px 0;
    }
    .services-section-title {
      font-size: 28px;
    }
    .category-title {
      font-size: 17px;
    }
  }
  
  @media (max-width: 480px) {
    .services-grid {
      grid-template-columns: 1fr;
      text-align: center;
    }
    .category-title,
    .services-list {
      text-align: center;
      padding-left: 0;
    }
  }
  /* =========================================
   Info Summary Section (Hours / Address / Contact)
========================================= */

.info-summary-section {
    background: #ffffff;
    padding: 80px 0;
    text-align: center;
  }
  
  .info-summary-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }
  
  .info-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 60px;
    justify-content: center;
    align-items: start;
  }
  
  /* Each info box */
  .info-summary-item {
    text-align: center;
    color: #294e50;
    padding: 0 15px;
  }
  
  /* Icon */
  .info-summary-icon {
    font-size: 60px;
    color: #c8dfd8; /* soft mint green tone */
    margin-bottom: 20px;
    transition: transform 0.3s ease;
  }
  
 
  
  /* Title */
  .info-summary-title {
    font-size: 20px;
    font-weight: 700;
    color: #1f4647;
    margin-bottom: 10px;
  }
  
  /* Text */
  .info-summary-text {
    font-size: 16px;
    color: #4d5963;
    line-height: 1.6;
    margin-bottom: 8px;
  }
  
  /* Link */
  .info-summary-link {
    display: inline-block;
    font-size: 16px;
    color: #294e50;
    text-decoration: none;
    border-bottom: 1px solid #294e50;
    padding-bottom: 2px;
    transition: all 0.3s ease;
  }
  
  .info-summary-link:hover {
    color: #173436;
    border-color: #173436;
  }
  
  /* Responsive */
  @media (max-width: 768px) {
    .info-summary-section {
      padding: 60px 0;
    }
    .info-summary-grid {
      gap: 40px;
    }
    .info-summary-title {
      font-size: 18px;
    }
    .info-summary-icon {
      font-size: 50px;
    }
    .contact-submit{
      text-align: center;
    }
  }
.map-contact-section-location-inner{
    display: flex;
    justify-content: space-between;
}
.map-contact-section-location-inner .map-container{
    width: 50%; 
}
.map-contact-section-location-inner .contact-container-width{
  width: 50%; 
}
.map-contact-section-location-inner .contact-area{
  padding: 70px;
}
.map-contact-section-location-inner .map-container{
  align-content: flex-start;
  align-items: flex-start;
  margin-bottom: 0;
}
.map-contact-section-location-inner .map-container iframe{
  height: 100%;
 
}

.contact-submit p{
  position: relative;
  max-width: 300px;
  margin: 0 auto;
}

.contact-submit p::before {
  content: "\f1d8";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 35px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  pointer-events: none;
  color: white;
}


.contact-submit .wpcf7-submit {
  padding-left: 40px; /* give space for the icon */
}
/* rtl css */
.rtl .location-card:hover .card-arrow{
  transform: rotate(180deg);
}
.rtl .locations-header{
  text-align: right;
}
.rtl .locations-description{
  margin: 0;
  text-align: right !important;
}
.rtl .locations-title{
  text-align: right!important;
}
.rtl .reach-here-title{
  text-align: right!important;
}
.rtl .contact-heading{
  text-align: right;
}
.rtl .contact-input, .rtl .contact-textarea{
  text-align: right;
}
  
.rtl .contact-consent{
  text-align: right;
}  
