html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden !important;
}
/* Header.vue */


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

header {

    position: sticky;

    top: 0;

    z-index: 999;

    background: white;

    box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.1);

    transform: translateY(0);

    transition:
        transform 0.3s ease;

    font-family:
        'Nexa-bold',
        sans-serif;

}


header.header-hidden {

    transform:
        translateY(-100%);

}


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

.social-icons {

    display: flex;

    gap: 10px;

}


.social-icons img {

    width: 25px;

    aspect-ratio: 1 / 1;

    object-fit: contain;

}


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

.contactSec {

    display: flex;

    align-items: center;

    gap: 15px;

}


.contactSec a {

    font-family:
        "Merriweather Sans",
        sans-serif;

    display: inline-flex;

    align-items: center;

    gap: 5px;

}


.contactSec a span {

    font-size: 16px;

    color: #fff;

}


/* =====================================================
   NAVIGATION LINKS
===================================================== */

.main-nav a {

    font-family:
        'Nexa-bold',
        sans-serif;

}


.main-nav a.router-link-active,
.main-nav a.router-link-exact-active {

    color: #2095a2 !important;

    font-weight: 600;

}


.dropdown.active > .dropdown-toggle {

    color: #2095a2 !important;

    font-weight: 600;

}


/* =====================================================
   TOP BAR
===================================================== */

.top-bar {

    background:
        #f9c12e;

    padding:
        8px 0;

}


.top-links {

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap:
        24px;

}


.top-links a {

    color: white;

    text-decoration: none;

    font-size: 14px;

    transition:
        opacity 0.3s;

}


.top-links a:hover {

    opacity:
        0.8;

}


/* =====================================================
   APPOINTMENT BUTTON
===================================================== */

.apptBtn {

    background-color:
        #f9c12e;

    color:
        #164A87 !important;

    padding:
        12px 20px;

    border-radius:
        40px;

    text-decoration:
        none;

    border:
        none;

    margin-left:
        10px;

    cursor:
        pointer;

    font-family:
        'Nexa-bold',
        sans-serif;

}


.apptBtn:hover {

    background-color:
        #e9b229;

    transition:
        0.5s;

}


/* =====================================================
   MAIN HEADER
===================================================== */

.main-header {

    background:
        white;

    padding:
        15px 0;

    box-shadow:
        0px 4px 9px 0px
        rgb(0, 0, 0, 0.2);

}


.logo img {

    height:
        60px;

    width:
        auto;

}


/* =====================================================
   MOBILE MENU TOGGLE
===================================================== */

.mobile-menu-toggle {

    display:
        none;

    flex-direction:
        column;

    justify-content:
        space-between;

    width:
        30px;

    height:
        20px;

    background:
        transparent;

    border:
        none;

    cursor:
        pointer;

    padding:
        0;

    z-index:
        10;

}


.mobile-menu-toggle span {

    width:
        100%;

    height:
        2px;

    background-color:
        #333;

    transition:
        all 0.3s ease;

}


.mobile-menu-toggle.is-active span:first-child {

    transform:
        translateY(9px)
        rotate(45deg);

}


.mobile-menu-toggle.is-active span:nth-child(2) {

    opacity:
        0;

}


.mobile-menu-toggle.is-active span:last-child {

    transform:
        translateY(-9px)
        rotate(-45deg);

}


/* =====================================================
   MAIN NAV
===================================================== */

.main-nav .menuList {

    display:
        inline-flex;

    flex-wrap:
        wrap;

    flex-direction:
        row;

    list-style:
        none;

    gap:
        32px;

    margin:
        0;

    padding:
        0;

}


.main-nav a {

    text-decoration:
        none;

    color:
        #2095a2;

    font-size:
        16px;

    transition:
        color 0.3s;

    display:
        flex;

    align-items:
        center;

    gap:
        4px;

}


.main-nav a:hover {

    color:
        #f9c12e;

}


/* =====================================================
   DROPDOWN
===================================================== */

.dropdown {

    position:
        relative;

}


.dropdown-menu {

    position:
        absolute;

    top:
        30px;

    left:
        0;

    background:
        white;

    min-width:
        280px;

    max-height:
        450px;

    overflow-y:
        auto;

    box-shadow:
        0 4px 6px
        rgba(0, 0, 0, 0.1);

    border-radius:
        4px;

    opacity:
        0;

    visibility:
        hidden;

    transform:
        translateY(10px);

    transition:
        all 0.3s;

    z-index:
        1000;

    padding:
        0;

    list-style:
        none;

    display:
        block;

}


.dropdown:hover .dropdown-menu {

    opacity:
        1;

    visibility:
        visible;

    transform:
        translateY(0);

    display:
        block;

}


/* =====================================================
   DROPDOWN ITEMS
===================================================== */

.dropdown-menu li {

    padding:
        0;

}


.dropdown-menu a {

    padding:
        10px 16px;

    display:
        block;

    white-space:
        normal;

    line-height:
        1.4;

}


.dropdown-menu a:hover {

    background:
        #f5f5f5;

}


/* =====================================================
   DROPDOWN LOADING
===================================================== */

.dropdown-loading {

    padding:
        12px 16px;

    color:
        #777;

    font-size:
        14px;

}


/* =====================================================
   HEADER ACTIONS
===================================================== */

.header-actions {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        16px;

}


.cart-btn {

    background:
        none;

    border:
        none;

    cursor:
        pointer;

    padding:
        0;

    transition:
        0.3s;

}


.cart-btn img {

    width:
        40px;

    height:
        40px;

}


.login-btn {

    background:
        #f9c12e;

    color:
        white;

    border:
        none;

    padding:
        10px 24px;

    border-radius:
        40px;

    cursor:
        pointer;

    font-size:
        14px;

    white-space:
        nowrap;

}


.profileBtn {

    background:
        #f9c12e;

    color:
        white;

    border:
        none;

    padding:
        6px 15px 6px 6px;

    border-radius:
        40px;

    cursor:
        pointer;

    font-size:
        14px;

    white-space:
        nowrap;

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

}


.profileBtn img {

    width:
        30px;

    height:
        30px;

}


.profileBtn:hover {

    background:
        #d01950;

}


/* =====================================================
   NAV CONTENT
===================================================== */

.menuList {

    margin-right:
        10px !important;

}


.dropdown-toggle::after {

    display:
        none;

}


.nav-content {

    display:
        inline-flex;

    align-items:
        center;

    height:
        100%;

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 820px) {


    .menuList {

        flex-direction:
            column !important;

    }


    .container {

        padding:
            0 15px;

    }


    .top-links {

        justify-content:
            center;

        flex-wrap:
            wrap;

        gap:
            16px;

    }


    .mobile-menu-toggle {

        display:
            flex !important;

        margin-left:
            auto;

        right:
            20px;

        z-index:
            10;

        margin-right:
            5px;

    }


    .nav-content {

        display:
            flex;

        align-items:
            center;

        flex-direction:
            column;

        height:
            100%;

        width:
            100%;

    }


    .header-actions {

        justify-content:
            flex-start !important;

        width:
            100%;

    }


    /* MOBILE NAV */

    .main-nav {

        position:
            fixed;

        top:
            0;

        left:
            0;

        width:
            100%;

        height:
            100vh;

        background:
            white;

        padding:
            60px 20px 20px;

        transform:
            translateX(-100%);

        transition:
            transform 0.3s ease;

        z-index:
            5;

        overflow-y:
            auto;

    }


    .main-nav.is-open {

        transform:
            translateX(0);

    }


    .main-nav .menuList {

        margin-bottom:
            20px;

        width:
            100%;

        gap:
            20px;

    }


    .main-nav ul {

        flex-direction:
            column;

        gap:
            20px;

    }


    .apptBtn {

        margin:
            0;

    }


    .header-actions {

        margin-top:
            auto;

        padding:
            20px 0;

        display:
            flex;

        justify-content:
            center;

        gap:
            20px;

    }


    /* MOBILE DROPDOWN */

    .dropdown-menu {

        position:
            static;

        box-shadow:
            none;

        opacity:
            1;

        visibility:
            visible;

        transform:
            none;

        max-height:
            0;

        overflow-y:
            auto;

        overflow-x:
            hidden;

        transition:
            max-height 0.3s ease-out;

        border:
            0;

        width:
            100%;

        min-width:
            0;

    }


    .dropdown.is-open .dropdown-menu {

        max-height:
            450px;

        transition:
            max-height 0.5s ease-in;

        border:
            1px solid #e1e1e1;

        margin-top:
            10px;

        padding:
            8px 0;

    }


    .dropdown-toggle svg {

        transition:
            transform 0.3s ease;

    }


    .dropdown.is-open .dropdown-toggle svg {

        transform:
            rotate(180deg);

    }


    .logo img {

        height:
            55px;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {


    .top-links {

        font-size:
            12px;

        gap:
            12px;

    }


    .login-btn {

        padding:
            8px 20px;

        font-size:
            14px;

    }


    .header-actions {

        padding:
            12px;

        gap:
            20px;

    }


}


/* =====================================================
   578px
===================================================== */

@media (max-width: 578px) {


    #loginPopup .modal-content,
    #otpPopup .modal-content {

        margin:
            10px;

    }


    .social-icons {

        display:
            none;

    }


    .secondaryContact {

        display:
            none !important;

    }

}



/* BookAppointmentPopup.vue */


.BookAppointmentForm .mail{
    color: #435a47;
    text-decoration: none;
}
.BookAppointmentForm input,.BookAppointmentForm select{
  height: 40px;
  border: 1px solid #E1E1E1;
  border-radius: 5px;
  margin-bottom: 15px;
  background-color: #F9F9F9;
}
.BookAppointmentForm .submit{
  background-color: #F9C12E;
  color: #004646;
  border-radius: 6px;
  width: 100%;
  padding: 12px 15px;
  text-align: center;
  text-decoration: none;
  border: none;
}
.BookAppointmentForm .submit:hover{
  background-color: #e1ac26;
  transition: 0.3s;
}
.BookAppointmentForm .cancel{
  background-color: transparent;
  color: #999999d3;
  border: 1px solid #999999d3;
  border-radius: 6px;
  width: 100%;
  padding: 12px 15px;
  text-align: center;
  text-decoration: none;
}
#BookAppointmentPopup .modal-dialog{
  transition: 0.7s;
}
#BookAppointmentPopup .modal-header{
  padding: 0;
}
#BookAppointmentPopup .form-modal{
  padding: 25px;
  border-radius: 24px;
}
#BookAppointmentPopup .modal-content .btn-close{
    position: absolute;
    right: 28px;
    top: 28px;
    font-weight: 300;
    z-index: 10;
    background-image: url(image/closeImg.png);
    background-position: center;
    background-size: 25px, contain;
    background-repeat: no-repeat;
    opacity: 1;
}
.errormsg{
    color: #dc3545;
    font-size: 14px;
    display: none;
    margin-top: -10px;
    margin-bottom: 15px;
}






/* LoadingSpinner.vue */

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #2095A2;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

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


/* SpecialtyCard.vue */

.specialtyCard{
    color: #000;
    margin-bottom: 15px;
    overflow: hidden;
    margin-bottom: 20px;
    background-color: #fff;
    border-radius: 12px;
    padding: 20px 15px;
    aspect-ratio: 415/304;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
}
.specialtyCard:hover{
    background-color: #F9C12E;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.15);
    transition: 0.6s;
}
.specialtyCard:hover h4,
.specialtyCard:hover p{
    color: #fff !important;
}
.specialtyCard a{
    text-decoration: none;
}
.specialtyCard .content{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.specialtyCard:hover img{
    transition: all 0.5s ease;
}
.specialtyCard img{
    width: 60px;
    aspect-ratio: 1/1;
    object-fit: contain;
}
.specialtyCard .specialty-icon{
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.specialtyCard:hover img{
    filter: brightness(0) invert(1);
    transition: 0.3s;
}
.specialtyCard h4{
    color: #000;
}
.specialtyCard p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
    height: 48px;
    color: #999;
}


@media only screen and (max-width:1440px){
  
}
@media only screen and (max-width:1280px){

}
@media only screen and (max-width:1080px){

}
@media only screen and (max-width:780px){

}
@media only screen and (max-width:578px){

}



/* SuccessPopup.vue */

.success-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}

.success-content {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  text-align: center;
  max-width: 400px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.success-icon {
  width: 60px;
  height: 60px;
  background: #2095A2;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  margin: 0 auto 1rem;
}

h3 {
  color: #000000;
  margin-bottom: 0.5rem;
}

p {
  color: #666;
  margin-bottom: 1.5rem;
}

.close-btn {
  background: #2095A2;
  color: white;
  border: none;
  padding: 0.5rem 2rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}

.close-btn:hover {
  background: #1b8591;
}

.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}



/* ServiceCard.vue */

.serviceCard{
    background-color: #f8c12e;
    margin-bottom: 15px;
    overflow: hidden;
    margin: 0 10px 20px;
    border-radius: 12px;
    padding: 20px 15px 15px;
    /* aspect-ratio: 330/416; */
    margin: 0 12px 20px;
}
.serviceCard:hover img{
    transition: all 0.5s ease;
}
.serviceCard img{
    width: 100%;
    margin-bottom: 15px;
    aspect-ratio: 352/317;
    object-fit: cover;
}
.serviceCard h5{
    margin-bottom: 6px;
    color: #000000;
}
.serviceCard p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    overflow: hidden;
    height: 72px;
    color: #999;
}
.image-wrapper {
    aspect-ratio: 352/317;
    overflow: hidden;
    position: relative;
    border-radius: 12px;
}

.image-wrapper img {
    border-radius: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%); /* Keep image centered */
  transition: width 0.5s ease, height 0.5s ease;
}

.image-wrapper:hover img {
  width: 110%;
  height: 110%;
}

@media only screen and (max-width:1440px){
  
}
@media only screen and (max-width:1280px){

}
@media only screen and (max-width:1080px){

}
@media only screen and (max-width:780px){

}
@media only screen and (max-width:578px){

}



/* Footer.vue */

.footer {
    background-color: #2095A2;
    padding: 60px 0 0;
    position: relative;
    z-index: 4;
}
.footer p{
    color: #fff;
    font-family: "Merriweather Sans", sans-serif;
}
.footer h5{
    color: #fff;
}
.footer a{
    color: #fff;
    font-family: "Merriweather", serif;
}
.footerLogo{
    width: 80%;
    max-width: 180px;
    margin-bottom: 10px;
}
.footer ul{
    list-style-type: none;
    padding: 0;
}
.footer ul li a{
    text-decoration: none;
    line-height: 2;
}
.footer ul li a:hover{
    text-decoration: underline;
}
.contact{
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    margin-bottom: 5px;
}
.contact span{
    color: #fff;
    font-size: 18px;
}
.social-icons{
    display: flex;
    gap: 10px;
}
.social-icons img{
    width: 25px;
    aspect-ratio: 1/1;
    object-fit: contain;
}
.copyrightSec{
    text-align: center;
    padding: 15px 0;
    border-top: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.copyrightSec a{
    text-decoration: none;
    color: #fff;
}

@media only screen and (max-width:1440px) {

}
@media only screen and (max-width:1280px) {

}
@media only screen and (max-width:1080px) {

}
@media only screen and (max-width:830px) {
    .copyrightSec{
        flex-direction: column;
        gap: 10px;
    }
}
@media only screen and (max-width:578px) {

}


/* TextSlide.vue */

.text-slide {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease-out;
  will-change: transform, opacity;
}

.text-slide-visible {
  opacity: 1;
  transform: translateY(0);
}


/* TreatmentCard.vue */

.treatmentCard {
  background-color: #fff;
  border: 1px solid #2095A2;
  margin-bottom: 15px;
  overflow: hidden;
  margin: 0 10px 20px;
  border-radius: 12px;
  padding: 20px 15px 15px;
  cursor: pointer;
  /* aspect-ratio: 330/416; */
}
.treatmentCard a {
  text-decoration: none;
}
.treatmentCard:hover img {
  transition: all 0.5s ease;
}
.treatmentCard img {
  width: 100%;
  margin-bottom: 15px;
  aspect-ratio: 352/317;
  object-fit: cover;
  border-radius: 12px;
}
.treatmentCard h5 {
  margin-bottom: 6px;
  color: #000;
}
.treatmentCard p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  overflow: hidden;
  height: 72px;
  color: #999;
}
.image-wrapper {
  aspect-ratio: 352/317;
  overflow: hidden;
  position: relative;
  border-radius: 12px;
}

.image-wrapper img {
  border-radius: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  transition: width 0.5s ease, height 0.5s ease;
}

.image-wrapper:hover img {
  width: 110%;
  height: 110%;
}

.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.popup-content {
  background-color: #fff;
  width: 100vw;
  max-width: 100vw;
  padding: 20px;
  border-radius: 12px;
  position: relative;
  height: 82vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.close-btn {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 30px;
  background: none;
  border: none;
  cursor: pointer;
  color: #333;
}

.testimonial_card {
  border: 1px solid #E7EAEC;
  background-color: #fff;
  padding: 4%;
  color: #133240;
}

.testimonial_card .userImg {
  width: 50px;
}

.testimonial_card .ratingImg {
  width: 35%;
  object-fit: contain;
}

.testimonial_card p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 5;
  -webkit-line-clamp: 5;
  overflow: hidden;
}

.testimonial-tabs {
  background-color: #F1F1F1;
  padding: 12px;
  border-radius: 50px;
  border: none;
  width: max-content;
}

.testimonial-tabs button {
  color: #000;
  border-radius: 40px;
  border: none;
  padding: 10px 16px;
  transition: 0.3s;
  min-width: 180px;
}

.testimonial-tabs button.active {
  background-color: #2095A2;
  color: #fff;
}

.videoTestimonial video {
  width: 70%;
  margin-left: 15%;
  border-radius: 15px;
}

@media only screen and (max-width: 578px) {
  .testimonial-tabs button {
    min-width: 150px;
  }
}


/* HomeServiceCard.vue */

.homeServiceCard{
    background-image: url(/public/assets/image/homeServiceVector.png),linear-gradient(to bottom,#2095A2,#2095A2);
    background-position: left;
    background-size: 20% 100%, contain;
    background-repeat: no-repeat;
    border-radius: 15px;
    overflow: visible;
    margin: 100px 0;
}
.homeServiceCard .imgSec{
    width: 100%;
}
.homeServiceCard .imgSec img{
    width: 100%;
    margin-top: -30%;
}
.homeServiceCard .link{
    font-size: 18px;
    background-color: #fff;
    border-radius: 30px;
    text-decoration: none;
    padding: 10px 35px;
    color: #164A87;
    display: flex;
        align-items: center;
        gap: 10px;
        width: max-content;
}
.homeServiceCard .link span {
    font-size: 22px;
}


@media only screen and (max-width:1440px){
  
}
@media only screen and (max-width:1280px){

}
@media only screen and (max-width:1080px){
}
@media only screen and (max-width:780px){
    .homeServiceCard .imgSec{
        height: 100%;
    }
    .homeServiceCard .imgSec img{
        height: 100%;
        margin: 0;
        object-fit: contain;
        object-position: bottom;
    }
    .link{
        padding: 10px !important;
    }
    .banner-title{
        font-size: 32px;
    }
    .homeServiceCard a{
        font-size: 16px;
    }
    .homeServiceCard .subHead{
        font-size: 30px;
    }
}
@media only screen and (max-width:578px){
    .homeServiceCard{
        flex-direction: column-reverse;
        align-items: start;
        background-image: linear-gradient(to bottom,#2095A2,#2095A2);
        background-size: 100%;
        gap: 30px;
        padding: 8%;
    }
    .homeServiceCard .imgSec{
        width: 80%;
        margin-left: 10%;
    }
}



/* BlogCard.vue */

.blogCard{
    color: #444;
    margin-bottom: 15px;
    border: 1px solid #e1e1e1;
    overflow: hidden;
    margin: 0 10px 20px;
    border-radius: 12px;
    padding: 12px;
    /* aspect-ratio: 376/500; */
    margin-bottom: 20px;
}
.blogCard a{
    text-decoration: none;
    color: inherit;
}

.blogCard img{
    width: 100%;
    border-radius: 10px;
    margin-bottom: 15px;
    aspect-ratio: 352/317;
    object-fit: cover;
}
.blogCard h5{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.blogCard .des{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    overflow: hidden;
    height: 72px;
    color: #999;
}
.blogCard .date{
    font-size: 15px;
}


@media only screen and (max-width:1440px){
  
}
@media only screen and (max-width:1280px){

}
@media only screen and (max-width:1080px){

}
@media only screen and (max-width:780px){

}
@media only screen and (max-width:578px){

}



/* Faq.vue */

.faqAccordion {
    width: 100%;
}

.accordion {
    padding: 1.2rem 0;
    border-radius: 1rem;
    margin-top: 60px;
}

.accordion .accordion__caption {
    color: #444;
    font-weight: 500;
}

.accordion .accordion__icon {
    color: #2095A2;
}

.accordion__heading {
    margin-bottom: 2rem;
    padding: 0 1.4rem;
}

.accordion__item {
    margin-bottom: 5px;
    border-bottom: 1px solid #E1E1E1;
}

.accordion__btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1.2rem 0;
    background: white;
    border: none;
    outline: none;
    font-size: 1.2rem;
    text-align: left;
    cursor: pointer;
    transition: 0.1s;
    border-radius: 6px;
}

.fa-lightbulb {
    padding-right: 1rem;
}

.accordion__icon {
    border-radius: 50%;
    transform: rotate(90deg);
    transition: 0.5s ease-in-out;
    opacity: 0.9;
}

.accordion__item--active .accordion__icon {
    transform: rotate(0deg);
}

.accordion__content {
    font-weight: 300;
    overflow: hidden;
    transition: height 0.5s ease, opacity 0.5s, transform 0.5s;
    font-family: 'Roboto', sans-serif;
}



/* Loader.vue */

.loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #DAF4F7, rgb(255, 255, 255));
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.5s ease-in-out;
}

.loader-container {
    text-align: center;
    position: relative;
}

.logo-container {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
}

.loader-logo {
    width: 200px;
    height: auto;
    position: relative;
    z-index: 2;
    animation: breathe 2s ease-in-out infinite;
}

@keyframes breathe {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
    }
}

@keyframes logoFloat {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
}

@keyframes textPulse {
    0%, 100% {
        opacity: 0.7;
    }
    50% {
        opacity: 1;
    }
}

@keyframes fadeOut {
    to {
        opacity: 0;
        visibility: hidden;
    }
}

@media only screen and (max-width: 780px) {
    .loader-logo {
        width: 150px;
    }
    
    .pulse-ring {
        width: 130px;
        height: 130px;
    }
    
    .loading-text {
        font-size: 16px;
    }
}

@media only screen and (max-width: 578px) {
    .loader-logo {
        width: 150px;
    }
    
    .pulse-ring {
        width: 110px;
        height: 110px;
    }
    
    .loading-text {
        font-size: 14px;
    }
}


/* pages/services.vue */



@media only screen and (max-width:1440px) {
    
}
@media only screen and (max-width:1280px) {
    
}
@media only screen and (max-width:1080px) {
    
}
@media only screen and (max-width:780px) {
    
}
@media only screen and (max-width:578px) {
    
}


/* pages/terms-and-conditions.vue */

@media only screen and (max-width:1440px){
  
}
@media only screen and (max-width:1280px){

}
@media only screen and (max-width:1080px){

}
@media only screen and (max-width:830px){

}
@media only screen and (max-width:578px){

}


/* pages/home-service.vue */

.homeServiceBnr{
    background-image: url(image/homeServiceBnr.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
    padding: 10vh 0;
}
.formSecBg{
    padding: 100px 0;
}
.appointment-form {
    background: #f0f2f5;
    padding: 2.5rem;
    border-radius: 12px;
    width: 90%;
    margin: 0 auto;
    font-family: 'NexaLight', Arial, sans-serif;
    color: #4a4a4a;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.form-subtitle {
    font-weight: 400;
    font-size: 1rem;
    text-align: center;
    margin-bottom: 2rem;
    color: #7a7a7a;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 1.8rem;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.half-width {
    flex: 1 1 48%;
}

.small-width {
    flex: 1 1 12%;
}

.large-width {
    flex: 1 1 30%;
}

.gender-group {
    flex: 1 1 30%;
}

.gender-options button {
    background: #fff;
    border: 1px solid #ccc;
    padding: 0.6rem 1rem;
    margin-right: 8px;
    cursor: pointer;
    border-radius: 6px;
    font-weight: 600;
    color: #4a4a4a;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.gender-options button.active {
    background: #2095A2;
    color: white;
    border-color: #2095A2;
}

input{
    width: 100%;
}
label{
    margin-bottom: 5px;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="time"],
textarea {
    padding: 0.6rem 0.8rem;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1rem;
    resize: vertical;
    transition: border-color 0.3s ease;
    width: 100%;
    height: max-content;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
textarea:focus {
    border-color: #2095A2;
    outline: none;
}

.upload-area {
    border: 1px solid #E1E1E1;
    border-radius: 12px;
    padding: 2rem 1rem;
    text-align: center;
    cursor: pointer;
    color: #7a7a7a;
    background-color: #fff;
    user-select: none;
    transition: border-color 0.3s ease;
}
.upload-area, textarea{
    height: 150px;
}
.upload-area p{
    font-size: 14px;
}

.upload-area:hover {
    border-color: #2095A2;
}

.upload-area img {
    width: 50px;
    margin-bottom: 0.75rem;
}

.file-list {
    list-style: none;
    padding-left: 0;
    margin-top: 0.75rem;
    font-size: 0.9rem;
    color: #555;
}




.submit-btn {
    background: #f6bb42;
    border: none;
    border-radius: 40px;
    padding: 0.65rem 3rem;
    font-size: 1.1rem;
    color: #004646;
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 8px rgba(246, 187, 66, 0.5);
    transition: background-color 0.3s ease;
    width: max-content;
}

.submit-btn:hover {
    background: #d9a52a;
}

.submit-btn span {
    font-size: 20px;
    line-height: 1;
}


@media only screen and (max-width:1440px) {
    
}
@media only screen and (max-width:1280px) {
    
}
@media only screen and (max-width:1080px) {
    
}
@media only screen and (max-width:830px) {
    .appointment-form {
        width: 100%;
    }
}
@media only screen and (max-width:578px) {
    .upload-area{
        padding: 1rem 0.6rem;
    }
    .upload-area p{
        font-size: 12px;
    }
}

.errormsg {
    color: red;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    display: none;
}



/* pages/privacy-policy.vue */

@media only screen and (max-width:1440px){
  
}
@media only screen and (max-width:1280px){

}
@media only screen and (max-width:1080px){

}
@media only screen and (max-width:830px){

}
@media only screen and (max-width:578px){

}


/* pages/index.vue */

::v-deep(.serviceCard){
    color: #fff;
    background-color: #F9C12E;
}
::v-deep(.serviceCard h5){
    color: #fff;
}
::v-deep(.serviceCard p){
    color: #fff;
}
.homeBnr{
    background-color: #2095A2;
    position: relative;
}
.homeBnr .homeBnrImg{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    height: 90%;
    object-fit: contain;
    object-position: bottom right;
}
.homeBnr .content{
    padding: 20vh 0;
    color: #fff;
}
.homeBnr .content h1{
    text-transform: uppercase;
    font-size: 60px;
    line-height: 1;
}
.homeBnr .apptBtn {
    color: #164A87;
    background-color: #fff;
    border-radius: 50px;
    text-decoration: none;
    padding: 14px 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    width: max-content;
}
.homeBnr .apptBtn span {
    font-size: 22px;
}
.detSec{
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}
.detSec img{
    width: 40px;
    aspect-ratio: 1/1;
    object-fit: contain;
}
.detSec p{
    margin: 0;
}
.testimonial-tabs{
    background-color: #F1F1F1;
    padding: 14px;
    border-radius: 50px;
    border: none;
    width: max-content;
}
.testimonial-tabs button{
    color: #000;
    border-radius: 40px;
    border: none;
    padding: 12px 20px;
    transition: 0.3s;
    min-width: 190px;
}
.testimonial-tabs button.active{
    background-color: #2095A2;
    color: #fff;
}
.testimonial_card{
    border: 1px solid #E7EAEC;
    background-color: #fff;
    padding: 4%;
    /* aspect-ratio: 410/290; */
    height: 100%;
}
.testimonial_card .userImg{
    width: 50px;

}
.testimonial_card .ratingImg{
    width: 35%;
    object-fit: contain;
}
.testimonial_card{
    color: #133240;
}
.testimonial_card p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 7;
    -webkit-line-clamp: 7;
    overflow: hidden;
}
.videoTestimonial video{
    width: 70%;
    margin-left: 15%;
    border-radius: 15px;
}



@media only screen and (max-width:1440px) {

}
@media only screen and (max-width:1280px) {

}
@media only screen and (max-width:1080px) {

}
@media only screen and (max-width:780px) {

}
@media only screen and (max-width:578px) {
    .testimonial-tabs button{
        min-width: 150px;
        padding: 10px 13px;
    }
}


/* pages/template.vue */



@media only screen and (max-width:1440px) {
    
}
@media only screen and (max-width:1280px) {
    
}
@media only screen and (max-width:1080px) {
    
}
@media only screen and (max-width:780px) {
    
}
@media only screen and (max-width:578px) {
    
}


/* pages/contact-us.vue */


.formSec{
    /* background-color: #fff; */
    border-radius: 14px;
    padding: 10px;
    box-shadow: 0px 0px 60px 30px rgb(0, 0, 0, 0.03);
    width: 90%;
    margin: 0 auto;
}
.contactInfo{
    padding: 5% 0 0 5%;
}
.contactDetail{
    display: flex;
    align-items: start;
    gap: 15px;
    margin-bottom: 30px;
    width: 90%;
}
.contactDetail img{
    width: 20px;
    margin-top: 4px;
}
.contactDetail a{
    color: #444;
    text-decoration: none;
    display: inline-block;
    font-family: "Poppins", sans-serif;
}
.contactDetail a:hover{
    color: #000;
    transition: 0.4s;
}
.contactDetail p{
    font-family: "Poppins", sans-serif;
}
.socialMedia{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}
.socialMedia a{
    background-color: #E6E6E6;
    border-radius: 50%;
    width: 35px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.socialMedia svg{
    width: 20px;
}
.socialMedia svg path{
    width: 20px;
    fill: #2095A2;
}
.socialMedia a:hover{
    background-color: #2095A2;
    transition: 0.4s;
}
.socialMedia a:hover svg path{
    transition: 0.4s;
    fill: #F9C12E !important;
}
.formSec form{
    padding: 4%;
}
.formSec form label{
    color: #000;
    font-family: "Poppins", sans-serif;
}

.formSec form input, .formSec form textarea{
    color: #000;
    border: none;
    border-bottom: 1px solid #8D8D8D;
    border-radius: 0;
    margin-bottom: 30px;
    width: 100%;
    font-family: "Poppins", sans-serif;
    padding: 0.375rem 0;
}
.formSec form textarea{
    height: auto;
    outline: none;
    padding: 10px 0;
}

.formSec form input:focus{
    box-shadow: none;
}

.formSec form .submitBtn{
    border-radius: 6px;
    padding: 12px 30px;
    background-color: #F9C12E;
    color: #004646;
    text-decoration: none;
    border: none;
}
.formSec form .submitBtn:hover{
    background-color: #f3b824;
    transition: 0.4s;
}




@media only screen and (max-width:1440px){
  
}
@media only screen and (max-width:1280px){
    .formSec{
        width: 100%;
    }
}
@media only screen and (max-width:1080px){

}
@media only screen and (max-width:780px){

}
@media only screen and (max-width:578px){
    .formSec form{
        margin-top: 30px;
    }
}


/* pages/blogs/index.vue */

.blog-tabs{
    gap: 10px;
}
.blog-tabs button{
    border-radius: 40px;
    color: #999;
    border: 1px solid #999;
    padding: 10px 20px;
    font-family: 'Roboto', sans-serif;
    transition: 0.3s;
    white-space: nowrap;
}
.blog-tabs button.active{
    background-color: #F9C12E;
    border: 1px solid #F9C12E;
    color: #004646;
}


@media only screen and (max-width:1440px) {
    
}
@media only screen and (max-width:1280px) {
    
}
@media only screen and (max-width:1080px) {
    
}
@media only screen and (max-width:780px) {
    .blog-tabs button{
        padding: 10px 15px;
    }
}
@media only screen and (max-width:578px) {
    .blog-tabs{
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 12px 0;
        -webkit-overflow-scrolling: touch;
    }
    .blog-tabs button{
        flex-shrink: 0;
    }
}


/* pages/blogs/[blogs].vue */

.blogImg{
    width: 100%;
    aspect-ratio: 1440/487;
    object-fit: cover;
    border-radius: 12px;
}

@media only screen and (max-width:1440px) {
    
}
@media only screen and (max-width:1280px) {
    
}
@media only screen and (max-width:1080px) {
    
}
@media only screen and (max-width:780px) {
    
}
@media only screen and (max-width:578px) {
    
}


/* pages/specialty/index.vue */




@media only screen and (max-width:1440px) {
    
}
@media only screen and (max-width:1280px) {
    
}
@media only screen and (max-width:1080px) {
    
}
@media only screen and (max-width:780px) {
    
}
@media only screen and (max-width:578px) {
    
}


/* pages/specialty/[specialty].vue */

/* ==========================================
   PAIN MANAGEMENT CONTENT
========================================== */

.pain-management-content {
    background: #ffffff;
}

.pain-management-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.pain-management-content .subHead {
    color: #004646;
}

.pain-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.pain-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.pain-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.pain-content-card p {
    margin-bottom: 0;
}

.pain-condition-list {
    padding-left: 25px;
    margin-bottom: 0;
}

.pain-condition-list li {
    color: #555;
    font-size: 16px;
    line-height: 2;
    padding-left: 5px;
}

.pain-management-final-content {
    padding: 35px;
    background: #f8fcfc;
    border-radius: 15px;
    margin-top: 20px;
}

.pain-management-final-content p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 578px) {

    .pain-management-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .pain-management-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .pain-content-card {
        padding: 20px;
    }

    .pain-content-card h3 {
        font-size: 18px;
    }

    .pain-management-final-content {
        padding: 25px 18px;
    }
}

/* ==========================================
   ORTHO REHAB CONTENT
========================================== */

.ortho-rehab-content {
    background: #ffffff;
}

.ortho-rehab-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.ortho-rehab-content .subHead {
    color: #004646;
}

.ortho-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.ortho-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.ortho-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.ortho-content-card p {
    margin-bottom: 0;
}

.ortho-rehab-final-content {
    padding: 35px;
    background: #f8fcfc;
    border-radius: 15px;
    margin-top: 20px;
}

.ortho-rehab-final-content p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 578px) {

    .ortho-rehab-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .ortho-rehab-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .ortho-content-card {
        padding: 20px;
    }

    .ortho-content-card h3 {
        font-size: 18px;
    }

    .ortho-rehab-final-content {
        padding: 25px 18px;
    }
}

/* ==========================================
   FITNESS MANAGEMENT CONTENT
========================================== */

.fitness-management-content {
    background: #ffffff;
}

.fitness-management-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.fitness-management-content .subHead {
    color: #004646;
}

.fitness-list {
    padding-left: 25px;
    margin-bottom: 0;
}

.fitness-list li {
    color: #555;
    font-size: 16px;
    line-height: 2;
    padding-left: 5px;
}

.fitness-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.fitness-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.fitness-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.fitness-content-card p {
    margin-bottom: 0;
}

.fitness-final-content {
    padding: 35px;
    background: #f8fcfc;
    border-radius: 15px;
    margin-top: 20px;
}

.fitness-final-content p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 578px) {

    .fitness-management-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .fitness-management-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .fitness-content-card {
        padding: 20px;
    }

    .fitness-content-card h3 {
        font-size: 18px;
    }

    .fitness-final-content {
        padding: 25px 18px;
    }
}

/* ==========================================
   NEURO REHABILITATION CONTENT
========================================== */

.neuro-rehab-content {
    background: #ffffff;
}

.neuro-rehab-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.neuro-rehab-content .subHead {
    color: #004646;
}

.neuro-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.neuro-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.neuro-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.neuro-content-card p {
    margin-bottom: 0;
}

.neuro-list {
    padding-left: 25px;
    margin-bottom: 0;
}

.neuro-list li {
    color: #555;
    font-size: 16px;
    line-height: 2;
    padding-left: 5px;
}

.neuro-final-content {
    padding: 35px;
    background: #f8fcfc;
    border-radius: 15px;
    margin-top: 20px;
}

.neuro-final-content p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 578px) {

    .neuro-rehab-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .neuro-rehab-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .neuro-content-card {
        padding: 20px;
    }

    .neuro-content-card h3 {
        font-size: 18px;
    }

    .neuro-final-content {
        padding: 25px 18px;
    }

    .neuro-list li {
        font-size: 15px;
        line-height: 1.8;
    }
}

/* ==========================================
   HOME VISIT PHYSIOTHERAPY CONTENT
========================================== */

.home-visit-content {
    background: #ffffff;
}

.home-visit-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.home-visit-content .subHead {
    color: #004646;
}

.home-visit-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.home-visit-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.home-visit-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.home-visit-content-card p {
    margin-bottom: 0;
}

.home-visit-list {
    padding-left: 25px;
    margin-bottom: 0;
}

.home-visit-list li {
    color: #555;
    font-size: 16px;
    line-height: 2;
    padding-left: 5px;
}

.home-visit-final-content {
    padding: 35px;
    background: #f8fcfc;
    border-radius: 15px;
    margin-top: 20px;
}

.home-visit-final-content p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}


/* MOBILE */

@media only screen and (max-width: 578px) {

    .home-visit-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .home-visit-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .home-visit-content-card {
        padding: 20px;
    }

    .home-visit-content-card h3 {
        font-size: 18px;
    }

    .home-visit-final-content {
        padding: 25px 18px;
    }

    .home-visit-list li {
        font-size: 15px;
        line-height: 1.8;
    }
}

/* ==========================================
   HOME CARE PHYSIOTHERAPY
========================================== */

.home-care-physiotherapy-content {
    background: #ffffff;
}

.home-care-physiotherapy-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.home-care-physiotherapy-content .subHead {
    color: #004646;
}

.home-care-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.home-care-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.home-care-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.home-care-content-card p {
    margin-bottom: 0;
}

.home-care-content-card ul {
    margin: 0;
    padding-left: 22px;
}

.home-care-content-card li {
    color: #555;
    font-size: 16px;
    line-height: 2;
    padding-left: 5px;
}

.home-care-final-content {
    padding: 35px;
    background: #f8fcfc;
    border-radius: 15px;
    margin-top: 20px;
}

.home-care-final-content p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 578px) {

    .home-care-physiotherapy-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .home-care-physiotherapy-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .home-care-content-card {
        padding: 20px;
    }

    .home-care-content-card h3 {
        font-size: 18px;
    }

    .home-care-content-card li {
        font-size: 15px;
        line-height: 1.8;
    }

    .home-care-final-content {
        padding: 25px 18px;
    }
}

/* ==========================================
   PHYSIOTHERAPY CLINIC NEAR ME
========================================== */

.physiotherapy-clinic-content {
    background: #ffffff;
}

.physiotherapy-clinic-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.physiotherapy-clinic-content .subHead {
    color: #004646;
}

.physio-clinic-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.physio-clinic-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.physio-clinic-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.physio-clinic-content-card p {
    margin-bottom: 0;
}

.physiotherapy-clinic-final-content {
    padding: 35px;
    background: #f8fcfc;
    border-radius: 15px;
    margin-top: 20px;
}

.physiotherapy-clinic-final-content p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 578px) {

    .physiotherapy-clinic-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .physiotherapy-clinic-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .physio-clinic-content-card {
        padding: 20px;
    }

    .physio-clinic-content-card h3 {
        font-size: 18px;
    }

    .physiotherapy-clinic-final-content {
        padding: 25px 18px;
    }
}

/* ==========================================
   PHYSIOTHERAPY DOCTORS IN ADYAR
========================================== */

.physiotherapy-doctors-content {
    background: #ffffff;
}

.physiotherapy-doctors-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.physiotherapy-doctors-content .subHead {
    color: #004646;
}

.physio-doctors-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.physio-doctors-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.physio-doctors-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.physio-doctors-content-card p {
    margin-bottom: 0;
}

.physio-doctors-list-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
}

.physio-doctors-list-card ul {
    margin: 0;
    padding-left: 25px;
}

.physio-doctors-list-card li {
    color: #555;
    font-size: 16px;
    line-height: 2;
    padding-left: 5px;
}

.physiotherapy-doctors-final-content {
    padding: 35px;
    background: #f8fcfc;
    border-radius: 15px;
    margin-top: 20px;
}

.physiotherapy-doctors-final-content p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 578px) {

    .physiotherapy-doctors-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .physiotherapy-doctors-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .physio-doctors-content-card {
        padding: 20px;
    }

    .physio-doctors-content-card h3 {
        font-size: 18px;
    }

    .physio-doctors-list-card {
        padding: 20px;
    }

    .physio-doctors-list-card li {
        font-size: 15px;
        line-height: 1.8;
    }

    .physiotherapy-doctors-final-content {
        padding: 25px 18px;
    }
}

/* ==========================================
   PHYSIOTHERAPY HOSPITAL IN ADYAR
========================================== */

.physiotherapy-hospital-content {
    background: #ffffff;
}

.physiotherapy-hospital-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 18px;
}

.physiotherapy-hospital-content .subHead {
    color: #004646;
}

.physiotherapy-hospital-content strong {
    color: #008c8c;
    font-weight: 600;
}


/* ==========================================
   CONTENT CARDS
========================================== */

.physio-hospital-content-card {
    height: 100%;
    padding: 25px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.physio-hospital-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 70, 70, 0.08);
}

.physio-hospital-content-card h3 {
    color: #008c8c;
    font-family: 'Nexa-bold', sans-serif;
    font-size: 20px;
    margin-bottom: 12px;
}

.physio-hospital-content-card p {
    margin-bottom: 0;
}


/* ==========================================
   FINAL CTA
========================================== */

.physiotherapy-hospital-final-content {
    padding: 35px;
    background: #f8fcfc;
    border: 1px solid #dceeee;
    border-radius: 12px;
}

.physiotherapy-hospital-final-content p {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
}

.physiotherapy-hospital-final-content p:last-child {
    margin-bottom: 0;
}


/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {

    .physiotherapy-hospital-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .physiotherapy-hospital-content p {
        font-size: 15px;
        line-height: 1.75;
    }

    .physio-hospital-content-card {
        padding: 20px;
    }

    .physio-hospital-content-card h3 {
        font-size: 18px;
    }

    .physiotherapy-hospital-final-content {
        padding: 25px 20px;
    }

}
.specialtyBnr{
    background-size: cover;
    background-position: center bottom 70px;
    background-repeat: no-repeat;
    padding-top: 100px;
    color: #fff !important;
}

.specialtyBnr .formSec .callbackForm {
    width: 100%;
    bottom: 30px;
    background-image: linear-gradient(-85deg, rgb(255, 255, 255, 0.5),rgb(255, 255, 255, 0.1));
    padding: 20px 30px 30px;
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
    border-radius: 15px;
}

.callbackForm input {
    height: 40px;
    margin-top: 5px;
    border-radius: 5px;
    border: 1px solid #e1e1e1;
}

.callbackForm .submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #F9C12E;
    color: #004646;
    width: 100%;
    height: 40px;
    border-radius: 5px;
    text-decoration: none;
    margin-top: 5px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.callbackForm .submit:hover:not(:disabled) {
    background-color: #e8b126;
}

.callbackForm .submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.techniquesList{
    line-height: 2.5;
    padding-left: 2.5rem;
    list-style-type: none;
}

.techniquesList li{
    font-family: 'Nexa-bold', sans-serif;
    font-size: 30px;
    position: relative;
}

.techniquesList li::before{
    position: absolute;
    content: '';
    background-image: url("image/tickImg.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 16px;
    height: 16px;
    left: -2rem;
    top: 28px;
}

@media only screen and (max-width:578px) {
    .callbackForm input{
        margin-bottom: 15px;
    }
}

/* Vanilla conversion helpers */
[data-specialty-slug]{display:none}

/* Dynamic specialty cards */
#specialtyTreatmentsList .treatmentCard, #specialtyBlogsList .blogCard { height: 100%; }
#specialtyTreatmentsList > div, #specialtyBlogsList > div { display: flex; }
#specialtyTreatmentsList .treatmentCard { width: 100%; }
#specialtyBlogsList .blogCard { width: 100%; }
/* Physiotherapy Doctors - Full Width Content */

.physiotherapy-doctors-content {
    width: 100%;
    background: #fff;
}

.physiotherapy-doctors-content .container-fluid {
    width: 100%;
}

.physiotherapy-doctors-content p {
    line-height: 1.8;
}

.physio-doctors-content-card,
.physio-doctors-list-card {
    height: 100%;
}

.fitness-rehab-content .subHead {
    color: #004646;
}

#servicesList .serviceCard {
    background-color: #ffffff;        
}

#homeServicesList h5{
    margin-bottom: 6px;
    color: #ffffff;
}
#homeServicesList p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    overflow: hidden;
    height: 72px;
    color: #ffffff;    
}

.blue-bg {
    background: #e4f5fa;
    /* padding: 70px 0; */
}

/* Heading */
.specialty-heading {
    padding-top: 5px;
    padding-right: 35px;
}

.specialty-heading h5 {
    font-size: 17px;
    font-weight: 600;
    color: #2d6f85;
    margin-bottom: 8px;
}

.specialty-heading h3 {
    font-size: 28px;
    line-height: 1.28;
    font-weight: 500;
    color: #1f2933;
    margin: 0;
    max-width: 280px;
}

/* Card */
.specialty-card {
    height: 275px;
    background: #fff;
    border-radius: 12px;
    padding: 20px 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 8px 20px rgba(45, 111, 133, 0.12);
    transition: all 0.3s ease;
}

.specialty-card:hover {
    background-color: #F9C12E;
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(45, 111, 133, 0.2);
}

/* Icon */
.specialty-icon img {
    width: 55px;
    height: 55px;
    object-fit: contain;
}

/* Content */
.specialty-content h3 {
    font-size: 24px;
    font-weight: 500;
    color: #17202a;
    margin-bottom: 6px;
}

.specialty-content p {
    font-size: 16px;
    line-height: 1.5;
    color: #6c757d;
    margin-bottom: 0;
}

/* Tablet */
@media (max-width: 991px) {

    .specialty-heading {
        padding-bottom: 20px;
    }

    .specialty-heading h3 {
        max-width: 100%;
    }
}

/* Mobile */
@media (max-width: 576px) {

    .blue-bg {
        /* padding: 45px 0; */
    }

    .specialty-heading h3 {
        font-size: 25px;
    }

    .specialty-card {
        height: 250px;
    }

    .specialty-content h3 {
        font-size: 21px;
    }
}

/* ================================
   APPOINTMENT FORM
================================ */

.formSecBg {
    background: #dff7fa;
    max-width: 100%;
    padding: 25px 20px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.formSec {
    max-width: 1100px;
    margin: 0 auto;
    background: #f1f3f6;
    border-radius: 8px;
    padding: 28px 26px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.10);
}

.formSec h4 {
    color: #17353e;
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 6px;
}

.form-subtitle {
    text-align: center;
    color: #6d747b;
    font-size: 15px;
    margin-bottom: 22px;
}

/* Labels */

.appointment-form label {
    display: block;
    color: #17353e;
        font-size: 15px;
    font-weight: 400;
    margin-bottom: 6px;
}

/* Inputs */

.appointment-form input[type="text"],
.appointment-form input[type="number"],
.appointment-form input[type="email"],
.appointment-form input[type="tel"],
.appointment-form input[type="date"],
.appointment-form input[type="time"],
.appointment-form textarea {
    width: 100%;
    border: 1px solid #d3d3d3;
    background: #fff;
    border-radius: 5px;
    padding: 8px 10px;
    font-size: 13px;
    color: #333;
    outline: none;
    box-sizing: border-box;
}

.appointment-form input[type="text"],
.appointment-form input[type="number"],
.appointment-form input[type="email"],
.appointment-form input[type="tel"],
.appointment-form input[type="date"],
.appointment-form input[type="time"] {
    height: 31px;
}

.appointment-form textarea {
    resize: vertical;
    min-height: 100px;
}

.appointment-form input:focus,
.appointment-form textarea:focus {
    border-color: #159ca8;
    box-shadow: 0 0 0 2px rgba(21, 156, 168, 0.08);
}

/* Gender */

.gender-options {
    display: flex;
    gap: 6px;
    align-items: center;
}

.gender-options button {
    height: 31px;
    padding: 0 13px;
    border: 1px solid #cfcfcf;
    background: #fff;
    color: #333;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
}

.gender-options button:first-child,
.gender-options button.active {
    background: #159ca8;
    border-color: #159ca8;
    color: #fff;
}

/* Upload */

.upload-group {
    position: relative;
}

.upload-area {
    width: 100%;
    min-height: 100px;
    background: #fff;
    border: 1px solid #d3d3d3;
    border-radius: 7px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
    padding: 12px;
    box-sizing: border-box;
}

.upload-area img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    margin-bottom: 5px;
    opacity: 0.75;
}

.upload-area p {
    color: #444;
    font-size: 10px;
    line-height: 1.5;
}

.upload-area small {
    font-size: 9px;
    color: #555;
}

.file-list {
    margin: 5px 0 0;
    padding: 0;
    list-style: none;
}

/* Error */

.errormsg {
    display: block;
    color: #dc3545;
    font-size: 10px;
    margin-top: 3px;
}

/* Date / Time */

.appointment-date-time {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 0;
    position: static !important;
}

.appointment-form > .d-flex {
    width: 100%;
    position: static !important;
}

/* Submit */

.submit-btn {
    min-width: 124px;
    height: 33px;
    border: none;
    border-radius: 20px;
    background: #fdbb38;
    color: #17353e;
    font-size: 12px;
    font-weight: 500;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.10);
    cursor: pointer;
    transition: 0.2s ease;
}

.submit-btn:hover {
    background: #f5ad20;
    transform: translateY(-1px);
}

.submit-btn .material-symbols-outlined {
    font-size: 16px;
}

/* ================================
   MOBILE
================================ */

@media (max-width: 767px) {

    .formSecBg {
        padding: 15px 10px;
    }

    .formSec {
        padding: 22px 16px;
    }

    .formSec h4 {
        font-size: 17px;
    }

    .form-subtitle {
        font-size: 11px;
        line-height: 1.5;
    }

    .appointment-form .col-6,
    .appointment-form .col-sm-6,
    .appointment-form .col-sm-4,
    .appointment-form .col-sm-2 {
        width: 100%;
    }

    .gender-options {
        flex-wrap: wrap;
    }

    .gender-options button {
        padding: 0 15px;
    }

    .appointment-form textarea {
        min-height: 100px;
    }

    .submit-btn {
        margin-top: 0;
    }
}


/* =========================================
   APPOINTMENT FORM - EXACT COMPACT DESIGN
========================================= */

.formSecBg {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 25px 20px;
    background: #dff7fa;
    box-sizing: border-box;
}

.formSec {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 28px 32px 30px;
    background: #f1f3f600;
    border-radius: 8px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.10);
    box-sizing: border-box;
}


/* TITLE */

.formSec h4 {
    margin: 0 0 5px !important;
    font-size: 25px;
    font-weight: 500;
    color: #17353e;
}

.form-subtitle {
    margin: 0 0 17px !important;
    text-align: center;
    color: #6d747b;
    font-size: 15px;
}


/* ROW */

.appointment-form > .row {
    margin-left: 0;
    margin-right: 0;
}


/* FIELD SPACING */

.appointment-form .my-3 {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}


/* LABEL */

.appointment-form label {
    display: block;
    margin-bottom: 5px;
    color: #17353e;
    font-size: 15px;
    font-weight: 400;
}


/* INPUT */

.appointment-form input[type="text"],
.appointment-form input[type="number"],
.appointment-form input[type="email"],
.appointment-form input[type="tel"],
.appointment-form input[type="date"],
.appointment-form input[type="time"] {
    width: 100%;
    height: 35px;
    padding: 6px 10px;
    background: #fff;
    border: 1px solid #d3d3d3;
    border-radius: 5px;
    outline: none;
    font-size: 12px;
    box-sizing: border-box;
}


/* TEXTAREA */

.appointment-form textarea {
    width: 100%;
    height: 90px;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid #d3d3d3;
    border-radius: 5px;
    outline: none;
    resize: none;
    font-size: 12px;
    box-sizing: border-box;
}


/* FOCUS */

.appointment-form input:focus,
.appointment-form textarea:focus {
    border-color: #159ca8;
    box-shadow: 0 0 0 2px rgba(21, 156, 168, 0.08);
}


/* GENDER */

.gender-options {
    display: flex;
    align-items: center;
    gap: 7px;
    height: 35px;
}

.gender-options button {
    height: 35px;
    padding: 0 14px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
}

.gender-options button.active {
    background: #159ca8;
    border-color: #159ca8;
    color: #fff;
}


/* RIGHT SIDE PHONE / ADDRESS */

.appointment-form .col-sm-6 > .row {
    margin-top: 0;
    margin-bottom: 0;
}

.appointment-form .col-sm-6 > .row .my-3 {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}


/* UPLOAD */

.upload-area {
    width: 100%;
    height: 118px;
    background: #fff;
    border: 1px solid #d3d3d3;
    border-radius: 7px;

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

    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
}

.upload-area img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    margin-bottom: 5px;
    opacity: 0.75;
}

.upload-area p {
    margin: 0;
    color: #444;
    font-size: 13px;
    line-height: 1.4;
}

.upload-area small {
    font-size: 11px;
}

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


/* DATE / TIME */

.appointment-date-time {
    margin-top: 2px !important;
    margin-bottom: 0 !important;
    position: static !important;
}

.appointment-date-time .my-3 {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}


/* ERROR */

.errormsg {
    display: block;
    margin-top: 2px;
    color: #dc3545;
    font-size: 10px;
}


/* SUBMIT */

.submit-wrapper {
    width: 100%;
    margin-top: 13px !important;
    margin-bottom: 0 !important;
    position: static !important;
}

.submit-btn {
      width: 141px;
    height: 35px;
    padding: 0;
    border: none;
    border-radius: 20px;
    background: #fbbb38;
    color: #17353e;
    font-size: 20px;

    font-weight: 500;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.12);

    cursor: pointer;
}

.submit-btn .material-symbols-outlined {
    font-size: 15px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .formSecBg {
        padding: 15px 10px;
    }

    .formSec {
        padding: 22px 16px 25px;
    }

    .formSec h4 {
        font-size: 18px;
    }

    .form-subtitle {
        font-size: 11px;
        margin-bottom: 12px !important;
    }

    .appointment-form .col-6,
    .appointment-form .col-sm-6,
    .appointment-form .col-sm-4,
    .appointment-form .col-sm-2 {
        width: 100%;
    }

    .gender-options {
        flex-wrap: wrap;
        height: auto;
    }

    .appointment-date-time .col-sm-6 {
        width: 100%;
    }

    .upload-area {
        height: 110px;
    }
}
/* =========================================
   APPOINTMENT FORM - REMOVE EXTRA SPACING
========================================= */

.formSec {
    padding: 28px 32px 25px !important;
}

/* Remove Bootstrap row gaps */
.appointment-form > .row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Compact field spacing */
.appointment-form > .row > [class*="col-"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Remove my-3 extra spacing */
.appointment-form .my-3 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

/* Nested row - phone/address */
.appointment-form .col-sm-6 > .row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Phone and Address compact */
.appointment-form .col-sm-6 > .row > .col-12 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}


/* =========================================
   FIELD HEIGHTS
========================================= */

.appointment-form input[type="text"],
.appointment-form input[type="number"],
.appointment-form input[type="email"],
.appointment-form input[type="tel"],
.appointment-form input[type="date"],
.appointment-form input[type="time"] {
    height: 36px !important;
}

.appointment-form textarea {
    height: 95px !important;
}


/* =========================================
   REASON + PHONE/ADDRESS
========================================= */

.appointment-form #reason {
    height: 160px !important;
}

.appointment-form #notes {
    height: 95px !important;
}


/* =========================================
   UPLOAD BOX
========================================= */

.upload-area {
    height: 118px !important;
    margin: 0 !important;
}


/* =========================================
   DATE / TIME
========================================= */

.appointment-date-time {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.appointment-date-time .my-3 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}


/* =========================================
   SUBMIT BUTTON
========================================= */

.submit-wrapper {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}


/* =========================================
   LABEL
========================================= */

.appointment-form label {
    margin-bottom: 4px !important;
}


/* =========================================
   TITLE
========================================= */

.formSec h4 {
    margin-bottom: 4px !important;
}

.form-subtitle {
    margin-bottom: 12px !important;
}



.gender-options {
    display: flex;
    align-items: center;
    gap: 7px;
}

.gender-options button {
    height: 35px;
    padding: 0 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* Active gender */
.gender-options button.active {
    background: #159ca8;
    border-color: #159ca8;
    color: #fff;
}

.gender-options {
    display: flex;
    align-items: center;
    gap: 7px;
}

.gender-options button {
    height: 35px;
    padding: 0 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    outline: none;
    box-shadow: none;
}

/* ONLY selected button */
.gender-options button.active {
    background: #159ca8 !important;
    border-color: #159ca8 !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* Prevent browser focus from looking active */
.gender-options button:focus {
    outline: none !important;
    box-shadow: none !important;
}

.gender-options button:not(.active) {
    background: #fff !important;
    color: #333 !important;
    border-color: #ccc !important;
}

.blog-detail-section {
    width: 100%;
    background: #ffffff;
    padding: 42px 20px 50px;
}

.blog-detail-container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

/* Blog Title */
.blog-detail-title {
    margin: 0 0 18px;
    font-size: 42px;
    line-height: 1.18;
    font-weight: 500;
    color: #30445b;
    letter-spacing: 0;
}

/* Blog Image */
.blog-detail-image {
    width: 100%;
    height: 500px;
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 45px;
}

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

/* Blog Content */
.blog-detail-content {
    width: 100%;
}

.blog-detail-content p {
    margin: 0;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;
    color: #30445b;
}

@media (max-width: 768px) {

    .blog-detail-section {
        padding: 30px 15px 40px;
    }

    .blog-detail-title {
        font-size: 30px;
        line-height: 1.2;
        margin-bottom: 15px;
    }

    .blog-detail-image {
        height: 260px;
        border-radius: 8px;
        margin-bottom: 30px;
    }

    .blog-detail-content p {
        font-size: 15px;
        line-height: 1.6;
    }
}

@media (max-width: 480px) {

    .blog-detail-title {
        font-size: 26px;
    }

    .blog-detail-image {
        height: 220px;
    }
}



/* =========================================
   CONTACT PAGE - MOBILE RESPONSIVE
========================================= */

@media (max-width: 767px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
        margin: 0;
        padding: 0;
    }

    .container {
        width: 100%;
        max-width: 100%;
        padding-left: 18px;
        padding-right: 18px;
    }

    /* Contact page heading */
    .subHead {
        font-size: 32px !important;
        line-height: 1.2;
    }

    .des {
        font-size: 17px;
        line-height: 1.5;
        padding: 0 25px;
    }

    /* Contact main box */
    .formSec {
        width: 100%;
        max-width: 100%;
        margin: 25px 0 !important;
        padding: 30px 28px !important;
        overflow: hidden;
        border-radius: 10px;
    }

    /* Left + Right columns */
    .formSec > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .formSec > .row > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Contact information */
    .contactInfo {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .contactInfo h5 {
        font-size: 25px;
        line-height: 1.2;
        margin-bottom: 10px;
    }

    .contactInfo .small-text {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 35px !important;
    }

    /* Contact details */
    .contactDetail {
        width: 100%;
        max-width: 100%;
        display: flex;
        align-items: flex-start;
        gap: 14px;
        margin-bottom: 22px;
        padding-top: 0 !important;
    }

    .contactDetail img {
        width: 18px;
        min-width: 18px;
        height: 18px;
        object-fit: contain;
        margin-top: 3px;
    }

    .contactDetail a,
    .contactDetail p {
        min-width: 0;
        max-width: calc(100% - 32px);
        margin: 0;
        font-size: 16px;
        line-height: 1.5;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* Email specifically */
    .contactDetail a[href^="mailto"] {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    /* Address */
    .contactDetail p {
        white-space: normal;
    }

    /* Social icons */
    .socialMedia {
        margin-top: 25px;
    }

    /* Right side form */
    .formSec > .row > .col-sm-6:last-child {
        margin-top: 40px;
    }

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

    .formSec form .row {
        margin-left: 0;
        margin-right: 0;
    }

    .formSec form .row > [class*="col-"] {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 18px;
    }

    .formSec form input,
    .formSec form textarea {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .formSec form textarea {
        min-height: 100px;
    }

    .formSec form .d-flex {
        justify-content: center !important;
        margin-top: 20px !important;
    }

    .formSec form .submitBtn {
        width: 100%;
        max-width: 180px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .subHead {
        font-size: 30px !important;
    }

    .des {
        font-size: 16px;
        padding: 0 15px;
    }

    .formSec {
        padding: 28px 25px !important;
    }

    .contactInfo h5 {
        font-size: 24px;
    }

    .contactDetail {
        gap: 13px;
        margin-bottom: 20px;
    }

    .contactDetail a,
    .contactDetail p {
        font-size: 15px;
    }

    .contactDetail img {
        width: 17px;
        min-width: 17px;
        height: 17px;
    }
}