/* ============================================
   RESPONSIVE STYLES - COSMO ARTS CLINIC
   Includes all original styles + mega menu
   Do not remove anything unless you know what you're doing.
============================================ */

@media only screen and (min-width: 1400px){}
@media only screen and (min-width: 1800px){}
@media only screen and (min-width: 2501px){}

@media (min-width: 768px){
  .header .mobile-buttons{ display:none;}
  .mobile-contact-box{ display:none;}
  .row.mobile-top{ display:none;}
}

@media only screen and (max-width: 2500px){}
@media only screen and (max-width: 1399px){}
@media only screen and (max-width: 1300px){}
@media (max-width: 1199px){}

/* ===== MOBILE & MEGA MENU (≤991px) ===== */
@media (max-width: 991px){
  .mid-header .heder-logo {display: block; width: 50%;}
  .mid-header .heder-logo img {width: 100px;}
  .mid-header .header-menu {width: 50%;}

  /* Hamburger button */
  .header-menu button.navbar-toggler {
    display: inline-block;
    float: right;
    padding: 0;
    position: relative;
    box-shadow: none;
  }
  .header-menu button.navbar-toggler.collapsed span.navbar-toggler-icon::before,
  .header-menu button.navbar-toggler.collapsed span.navbar-toggler-icon::after {
    content: "";
    width: 25px;
    height: 2px;
    background: #da2c83;
    position: absolute;
    left: 5px;
    top: 7px;
    transform: rotate(0deg);
  }
  .header-menu button.navbar-toggler.collapsed span.navbar-toggler-icon::after {
    top: 22px;
  }
  .header-menu button.navbar-toggler.collapsed span.navbar-toggler-icon span {
    width: 35px;
    height: 2px;
    background: #da2c83;
    display: inline-block;
    position: absolute;
    top: 15px;
    right: 0;
  }

  .header-menu button.navbar-toggler span.navbar-toggler-icon::before,
  .header-menu button.navbar-toggler span.navbar-toggler-icon::after {
    content: "";
    width: 30px;
    height: 2px;
    background: #000;
    position: absolute;
    left: 0;
    top: 7px;
  }
  .header-menu button.navbar-toggler span.navbar-toggler-icon::after {
    top: 14px;
    transform: rotate(-45deg);
  }
  .header-menu button.navbar-toggler span.navbar-toggler-icon::before {
    transform: rotate(45deg);
    top: 14px;
  }
  .header-menu button.navbar-toggler span.navbar-toggler-icon span {
    display: none;
  }

  .menu {
    position: absolute;
    left: 0;
    top: 0;
    height: 100vh;
  }
  .header-menu .navbar .navbar-collapse {
    position: fixed;
    left: 0;
    width: 40%;
    height: 100vh;
    background: #fff;
    z-index: 999;
    display: block;
    transform: translate(-800px, 0px);
    transition: all 0.5s ease;
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;
    padding: 15px;
  }
  .header-menu nav.navbar {
    display: block;
  }
  .header-menu .navbar .navbar-collapse .menu-logo {
    border-bottom: 1px solid #dd2b7f;
    padding: 0 0 10px 0;
    display: block;
    margin-bottom: 10px;
  }
  .header-menu .navbar .navbar-collapse .menu-logo img {
    width: 150px;
  }
  .header-menu .navbar .navbar-collapse.show {
    transform: translate(0px, 0px);
    transition: all 0.5s ease;
    background: #fff;
    top: 0;
  }
  .header-menu .navbar .navbar-collapse ul.navbar-nav {
    margin: 0 !important;
    padding: 0;
  }
  .header-menu .navbar .navbar-collapse ul.navbar-nav .nav-item {
    border-bottom: 1px solid #ebebeb;
    margin: 0;
    padding: 0;
  }
  .header-menu .navbar .navbar-collapse ul.navbar-nav a.nav-link {
    border: none;
    padding: 0;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 10px;
  }
  .header-menu .navbar .navbar-collapse ul.navbar-nav a.nav-link.active,
  .header-menu .navbar .navbar-collapse ul.navbar-nav a.nav-link:hover {
    color: #fff;
    background: #dd2b7f;
    padding: 15px 10px;
  }
  .navbar-collapse {
    /* existing properties */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
}
  .header-menu .navbar .navbar-collapse ul.navbar-nav a.nav-link.dropdown-toggle::after {
    position: absolute;
    right: 0;
    top: 15px;
    width: 25px;
    height: 25px;
    margin: 0;
    content: "\f107";
    font-family: 'FontAwesome';
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    left: auto;
    color: #fff;
    background: #dd2b7f;
  }
  .header-menu .navbar .navbar-collapse ul.navbar-nav li.show a.nav-link.dropdown-toggle::after {
    content: "\f106";
  }
  .header-menu .navbar ul.navbar-nav li.dropdown ul.dropdown-menu {
    width: 100%;
    left: 0;
    margin: 0px 0 0 0;
    border: none;
    padding: 10px;
    box-shadow: none;
    position: static;
    border-radius: 0;
    background: transparent;
  }
  .header-menu .navbar ul.navbar-nav li.dropdown ul.dropdown-menu li {
    width: 100%;
    margin: 0;
    padding: 0;
    border-color: #ebebeb;
  }
  .header-menu .navbar ul.navbar-nav li.dropdown ul.dropdown-menu li a.dropdown-item {
    padding: 5px 0 5px 0;
  }
  .header-menu .navbar ul.navbar-nav li.dropdown ul.dropdown-menu li:last-child {
    border: none;
  }

  /* ===== MEGA MENU MOBILE STYLES ===== */
  .header-menu .navbar .navbar-collapse ul.navbar-nav li.mega-dropdown {
    position: relative !important;
  }
  .header-menu .navbar .navbar-collapse ul.navbar-nav li.mega-dropdown .mega-menu {
    position: relative !important;
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
    padding: 15px !important;
    margin: 10px 0 !important;
    box-shadow: none !important;
    border: 1px solid #ebebeb !important;
    border-radius: 5px !important;
    background: #f9f9f9 !important;
    display: none;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .header-menu .navbar .navbar-collapse ul.navbar-nav li.mega-dropdown.show .mega-menu {
    display: block !important;
  }
  .header-menu .navbar .navbar-collapse .mega-menu-row {
    flex-direction: column !important;
    gap: 15px !important;
  }
  .header-menu .navbar .navbar-collapse .mega-column {
    width: 100% !important;
  }
  .header-menu .navbar .navbar-collapse .mega-column h4 {
    font-size: 15px !important;
    margin-bottom: 10px !important;
    color: #dd2b7f !important;
    border-bottom: 1px solid rgba(221, 43, 127, 0.3) !important;
  }
  .header-menu .navbar .navbar-collapse .mega-column a {
    padding: 8px 10px !important;
    font-size: 14px !important;
    border-bottom: 1px solid #ebebeb !important;
  }
  .header-menu .navbar .navbar-collapse .mega-column a:last-child {
    border-bottom: none !important;
  }
  .header-menu .navbar .navbar-collapse .mega-column a:hover {
    background: rgba(221, 43, 127, 0.05) !important;
    padding-left: 15px !important;
  }
  .header-menu .navbar .navbar-collapse ul.navbar-nav a.nav-link.dropdown-toggle::after {
    position: absolute;
    right: 0;              /* <-- now both use 0 */
    top: 15px;
    width: 25px;
    height: 25px;
    margin: 0;
    content: "\f107";
    font-family: 'FontAwesome';
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    left: auto;
    color: #fff;
    background: #dd2b7f;
}
  .header-menu .navbar .navbar-collapse ul.navbar-nav li.mega-dropdown.show > a.dropdown-toggle::after {
    content: "\f106" !important;
  }
}

/* ===== OTHER MOBILE BREAKPOINTS (unchanged) ===== */
@media (max-width: 800px){}

@media (max-width: 767px){
  body{ font-size:14px;}
  .header-navbar .header-btn {display: none;}
  .header-top{display: none;}
  .header-top .row {display: none;}
  .header-top .row.mobile-top{display: flex; align-items: center;}
  .row.mobile-top .top-right-content h6 a {color: #fff; font-size: 16px;}
  .row.mobile-top .top-right-content .fa {color: #fff; font-size: 16px; position: relative; top: 3px; margin: 0 5px 0 0;}
  .mid-header .top-right-content{ display:none;}
  .home-banner .banner-content .align{margin: 100px 0 0 0; text-align: center;}
  .accordion_active .accordion_content img {display: none;}
  .row_flex .row_inner img{height: auto; border-radius: 0; margin: 10px 0 0 0;}
  .inner-bnr-content {text-align: center;}
  .mobile-contact-box {width: 100%; position: fixed; bottom: 0; z-index: 9; display: flex; align-items: center; justify-content: space-between; opacity:1;}
  .mobile-contact-box a.item {display: flex; align-items: center; width: 100%; justify-content: center; padding: 15px 10px; color: #fff; font-size: 16px;}
  .mobile-contact-box a.item.whatsapp {background: #0c992a;}
  .mobile-contact-box a.item.call {background: #12bfa6;}
  .mobile-contact-box a.item.location {background: #ebb211;}
  .copy-right{margin: 0px 0 30px 0;}
}

@media (max-width: 639px){
  .row{ margin:0;}
  p, .inner-bnr-content ul li{ font-size:14px;}
  .sec-title {font-size: 28px;}
  section {padding: 20px 0 0!important;}
  section.header, section.banner.home-banner, section.map{ padding:0 !important;}
  .mid-header{padding: 15px 0 0;}
  .header-top .top-right {display: block;}
  .header-top .row.mobile-top .col-md-6 {width: 50%;}
  .sticky-header .mid-header{padding: 0px 0 0;}
  .heder-logo a img {width: 30px;}
  section.header.sticky-header{ padding: 0 !important;}
  section.header{ border:none;}
  section.header.sticky-header .heder-logo a img {width: 100px;}
  .header-menu .navbar .navbar-collapse{ width:80%;}
  .home-banner .banner-content {padding: 30px 20px;}
  .home-banner .owl-carousel .item {height: 400px;}
  .home-banner .owl-carousel .item img{ height:350px;}
  .banner .item .banner-content h6{ font-size:12px;}
  .banner .item .banner-content h1 {font-size: 28px; margin: 0;text-align: center; line-height: 32px; padding: 0 0 10px 0;}
  .banner .item .banner-content p {font-size: 16px; border: none; text-align: center;  margin: 0 0 10px 0;}
  .banner .item .banner-content p br {display: none;}
  .banner .item .banner-content button{ margin: 0 auto;}
  .home-banner .owl-dots{    bottom: 10px; display:none;}
  .banner-content{justify-content: center;}
  section.about {padding: 20px 0 20px;}
  section.about .left-img img{max-height: inherit; width: 100%;}
  .about-right {padding: 20px 0 0; text-align: center;}
  .about h2.sec-title {text-align: center;}
  .about-right ul {text-align: left;}
  .sec-img-content{padding: 50px 0 !important;}
  .general-services .procedures { display:none;}
  .popular-procedures .left-content-box{ padding:0px;}
  .patient-information .right-content-box{ padding:20px 0;}
  .client-testimonial h6.sub-heading, .client-testimonial h2.sec-title {text-align: center;}
  .count{padding: 20px 0;}
  .count .align{ display:block;}
  .count .count-info{    margin: 5px 5px;padding: 10px 0; width: 46%; display: inline-block;}
  .why-choose .choose-box img {width: 60px;}
  section.benefits {padding: 0 !important;}
  .benefits .right-content{ padding:20px;}
  .benefits .right-content .video-icon{ display:none;}
  .client-testimonial .owl-nav{bottom: -50px;}
  .client-testimonial .item-content{min-height: 230px; margin: 10px 0px; padding: 0; text-align: center;}
  .client-testimonial .client-details{ left:auto; right:auto;}
  .client-testimonial .owl-nav{ width:100%;}
  .client-testimonial .left-box{padding: 0 0 100px 0;}
  section.quick-contact {text-align: center; padding: 20px 0 !important;}
  .quick-contact .right-box{display: block;}
  section.footer{ padding:30px 0 0 0px;}
  section.footer .col-sm-3, .footer .col-sm-3.links, .footer .col-sm-3.service{ width:100%;}
  .footer-content a.ftr-logo img{ width: 100%; margin: 0 10px 20px 0;}
  section.footer ul li {padding: 5px 0 5px 0;}
  section.footer .col-sm-3 .footer-content p{ font-size:16px;}
  section.footer .col-sm-3 .footer-content {margin-bottom: 20px; border-bottom: 1px solid #ffffff5e; padding: 0 0px 15px;}
  .footer-content ul.social-link {margin: 40px 0 0px 0;}
  .btm-ftr{ margin:0; padding: 10px 0 50px;}
  .btm-ftr p.copyright{ text-align:center;}
  section.footer .btm-ftr ul {text-align: center; margin:0 0 10px 0;}
  section.footer .col-sm-3.ratings .footer-content {border: none;}
  .btm-ftr .btm-ftr-content {display: block;}
  .footer .row.btm-row{margin: 0px 0 0;}
  .footer .left-logo img{max-width: 150px;}
  .footer .row.btm-row ul.ftr-links{justify-content: space-between;}
  .footer .row.btm-row ul.ftr-links li{    padding: 0;}
  .footer .row.btm-row p.copyright{width: 100%; justify-content: center; margin: 10px 0 0 0;}
  .inner-banner {height: 200px; padding: 0px 0 0 !important;}
  .inner-bnr-content h1{font-size: 28px; margin: 0;}
  .inner-banner .banner-overlay{padding: 100px 0 0 0;}
  .content-details {padding: 0px 0 30px 0;}
  .page-service .content-details ul.numbered-list-lg li{padding: 0 0px 20px 50px;}
  .page-service .content-details .faq-box{padding: 15px;}
  .page-contact .row .col-md-5{ padding:20px;}
  .page-contact .row .col-md-7{padding: 20px; text-align: center; margin: 20px 0;}
  .contact-right hr { margin: 10px auto 20px;}
  .page-contact ul.contact-details li .fa{ padding:15px;}
  .page-contact ul.contact-details li h5{ font-size:18px;}
  .scrollup{right: 4px;}
  .page-service .col-md-3 {order: 2;}
  .page-service .left-panel {display: grid;}
  .page-service .left-panel .contact-box, .page-service .left-panel .left-form{order: 2;}
  .page-service .left-panel .left-img { margin: 0 0 20px 0;}
}

/* ===== DROPDOWN HOVER (DESKTOP ONLY) ===== */
@media (min-width: 992px) {
  .navbar-nav li.dropdown:hover > ul.dropdown-menu {
    display: block;
  }
}

/* ===== ADDITIONAL MOBILE DROPDOWN FIX ===== */
@media (max-width:991px){
  .header-menu .navbar ul.navbar-nav{
    flex-direction:column;
  }
  .header-menu .navbar ul.navbar-nav li{
    padding:10px 0;
  }
  .dropdown-menu{
    position:relative !important;
    width:100%;
    box-shadow:none;
  }
}

/* Ensure Bootstrap collapse works on mobile */
@media (max-width: 991px) {
    .navbar-collapse {
        position: fixed;
        top: 0;
        left: -280px;
        width: 280px;
        height: 100vh;
        background: #fff;
        transition: left 0.3s ease;
        z-index: 1050;
        padding: 20px;
        box-shadow: 0 0 15px rgba(0,0,0,0.1);
        display: block !important; /* Override Bootstrap's display to allow transform */
    }
    .navbar-collapse.show {
        left: 0;
    }
    .navbar-toggler {
        display: block;
    }
    /* Hide the mega menu's absolute positioning on mobile */
    .mega-menu {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        box-shadow: none;
        padding: 10px 0;
    }
    .mega-column {
        width: 100%;
        margin-bottom: 15px;
    }
    /* Ensure dropdown menus are hidden by default on mobile */
    .dropdown-menu {
        display: none;
    }
    .dropdown.show > .dropdown-menu {
        display: block;
    }
}

/* ===== FINAL MOBILE MEGA MENU FIX ===== */
@media (max-width: 991px) {
  /* Force mega menu to stack */
  .mega-menu {
    position: static !important;
    width: 100% !important;
    transform: none !important;
    box-shadow: none !important;
    padding: 15px !important;
    background: #f9f9f9 !important;
    border: 1px solid #ebebeb !important;
  }

  /* Make the row stack columns */
  .mega-menu-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
  }

  /* Each column full width */
  .mega-column {
    width: 100% !important;
    flex: none !important;
    min-width: auto !important;
  }

  /* Column headings */
  .mega-column h4 {
    margin-bottom: 10px !important;
    font-size: 16px !important;
    color: #dd2b7f !important;
    border-bottom: 1px solid rgba(221, 43, 127, 0.2) !important;
    padding-bottom: 5px !important;
  }

  /* Links – block and wrap */
  .mega-column a {
    display: block !important;
    padding: 8px 10px !important;
    font-size: 14px !important;
    color: #333 !important;
    border-bottom: 1px solid #ebebeb !important;
    white-space: normal !important;
    line-height: 1.4 !important;
  }

  .mega-column a:last-child {
    border-bottom: none !important;
  }

  .mega-column a:hover {
    background: rgba(221, 43, 127, 0.05) !important;
    padding-left: 15px !important;
    color: #dd2b7f !important;
  }
  .mega-column h4:nth-of-type(2) {
    margin-top: 20px !important;
  }
}

