/*--------------------------------------------------------------------- File Name: responsive.css ---------------------------------------------------------------------*/


/*------------------------------------------------------------------- 991px x 768px ---------------------------------------------------------------------*/

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .header-search {
        padding: 15px 0px;
    }
}


/*------------------------------------------------------------------- 767px x 599px ---------------------------------------------------------------------*/

@media only screen and (min-width: 599px) and (max-width: 767px) {
    .logo {
        text-align: center;
    }
    .cart-content-right {
        padding-bottom: 5px;
    }
    .mg {
        margin: 0px 0px;
    }
    .menu-area-main {
        height: 256px;
        overflow-y: auto;
    }
    .megamenu>.row [class*="col-"] {
        padding: 0px;
    }
    .menu-area-main .megamenu .men-cat {
        padding: 0px 15px;
    }
    .menu-area-main .megamenu .women-cat {
        padding: 0px 15px;
    }
    .menu-area-main .megamenu .el-cat {
        padding: 0px 15px;
    }
    .mean-container .mean-nav ul li a.mean-expand {
        height: 19px;
    }
    .category-box.women-box {
        display: none;
    }
    .cart-box {
        display: inline-block;
        margin: 0px 30px;
    }
    .wish-box {
        float: none;
        margin: 0px 30px;
        display: inline-block;
    }
    .menu-add {
        display: none;
    }
    .category-box {
        display: none;
    }
    .mean-container .mean-nav ul li ol {
        padding: 0px;
    }
    .mean-container .mean-nav ul li a {
        padding: 10px 20px;
        width: 94.8%;
    }
    .mean-container .mean-nav ul li li a {
        width: 92%;
        padding: 1em 4%;
    }
    .mean-container .mean-nav ul li li li a {
        width: 100%;
    }
    .header-search {
        padding: 15px 0px;
    }
    #collapseFilter.d-md-block {
        padding: 30px 0px;
    }
}


/*------------------------------------------------------------------- 599px x 280px ---------------------------------------------------------------------*/

@media only screen and (min-width: 280px) and (max-width: 599px) {
    .cart-content-right {
        padding-bottom: 5px;
    }
    .megamenu>.row [class*="col-"] {
        padding: 0px;
    }
    .menu-area-main .megamenu .men-cat {
        padding: 0px 15px;
    }
    .menu-area-main .megamenu .women-cat {
        padding: 0px 15px;
    }
    .menu-area-main .megamenu .el-cat {
        padding: 0px 15px;
    }
    .mean-container .mean-nav ul li a {
        padding: 1em 4%;
        width: 92%;
    }
    .mean-container .mean-nav ul li li a {
        width: 90%;
        padding: 1em 5%;
    }
    .mean-container .sub-full.megamenu-categories ol li a {
        padding: 5px 0px;
        text-transform: capitalize;
        width: 100%;
    }
    .megamenu .sub-full.megamenu-categories .women-box .banner-up-text a {
        width: auto;
        border: none;
        float: none;
    }
    .menu-area-main {
        height: 45px;
        overflow-y: auto;
    }
    .mean-container .mean-nav ul li a.mean-expand {
        top: 0;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .navbar {
        padding: 8px 16px;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding: 11px 10px 10px 10px;
        font-size: 14px;
        margin: 0px 5px;
    }
    .login_bt {
        width: auto;
        font-size: 14px;
        padding: 0px 10px;
        margin-right: 4rem;
    }
    .login_bt .book_session_btn {
        padding: 10px 18px;
        font-size: 12px;
    }
    .login_bt ul {
        float: right;
    }
    a.navbar-brand {
        width: 15%;
    }
    .banner_menu {
        width: 80%;
        margin-top: 10px;
    }
    .customer_right {
        padding-top: 0px;
        padding-left: 20px;
    }
    .practising_taital {
        font-size: 18px;
    }
    .blog_text {
        font-size: 14px;
    }
    .blog_border {
        padding: 60px 20px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    
    .header_section {
        padding-top: 122px;
    }
    .navbar-expand-lg {
        padding: 15px 0px;
    }
    .top_banner_image {
        padding: 0px 15px;
    }
    .navbar-brand {
        width: 60%;
        padding: 0px;
    }
    .nav_logo {
        max-height: 82px;
        margin: 0;
    }
    .navbar {
        top: 8px;
        left: 12px;
        right: 12px;
        margin: 0;
        padding: 0;
        border-radius: 0;
    }
    .navbar-toggler {
        background-color: #fff;
        border: 1px solid rgba(124, 113, 140, 0.45);
    }
    .navbar-collapse {
        margin-top: 12px;
        padding: 14px 10px 10px;
        border-radius: 14px;
        background: transparent;
    }
    .navbar-light .navbar-nav .nav-link {
        display: block;
        width: 100%;
        max-width: 300px;
        padding: 10px 14px;
        margin: 0 auto 8px;
        text-align: center;
        color: #2f2a33;
    }
    .nav_actions {
        justify-content: center;
        padding-left: 0;
        margin-top: 4px;
    }
    .login_bt {
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 6px auto 0;
    }
    .login_bt li {
        float: none;
        text-align: center;
        margin-bottom: 10px;
    }
    .login_bt .book_session_btn {
        margin-right: 0;
    }
    .banner_menu {
        width: 100%;
        margin-top: 0px;
    }
    .started_text {
        margin-top: 20px;
    }
    .about_img img {
        height: auto;
    }
    .about_taital_main {
        width: 100%;
        padding: 0px 0px 0px 0px;
    }
    .about_text {
        font-size: 14px;
        padding-top: 15px;
    }
    .classes_border {
        padding: 60px 20px;
    }
    .therapy_card {
        padding: 22px 18px 26px;
    }
    .stat_number {
        font-size: 32px;
    }
    .stat_label {
        font-size: 15px;
    }
    .astanga_text {
        width: 100%;
        font-size: 14px;
        min-height: 0;
    }
    .customer_right {
        padding-top: 0px;
        padding-left: 0px;
    }
    .customer_text {
        font-size: 14px;
    }
    .box_main {
        border: 1px solid #787879;
        padding: 20px 10px;
    }
    .customer_img {
        margin-top: 0px;
    }
    .customer_nav {
        margin-top: 24px;
    }
    .yoga_text {
        font-size: 14px;
    }
    .practising_taital {
        font-size: 16px;
    }
    .blog_text {
        font-size: 12px;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
   
    .header_section {
        padding-top: 108px;
    }
    .banner_section::before {
        top: -14px;
        left: -14px;
        width: 260px;
        height: 200px;
        opacity: 0.2;
    }
    .navbar-expand-lg {
        padding: 15px 0px;
    }
    .top_banner_image {
        padding: 0px 15px;
    }
    .navbar-brand {
        width: 60%;
        padding: 0px;
    }
    .nav_logo {
        max-height: 72px;
        margin: 0;
    }
    .navbar {
        top: 8px;
        left: 10px;
        right: 10px;
        margin: 0;
        padding: 0;
    }
    .navbar-toggler {
        background-color: #fff;
        border: 1px solid rgba(116, 90, 56, 0.45);
    }
    .navbar-light .navbar-nav .nav-link {
        display: block;
        width: 100%;
        max-width: 280px;
        padding: 10px 14px;
        margin: 0 auto 8px;
        text-align: center;
        color: #2a241d;
    }
    .login_bt {
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 6px auto 0;
    }
    .login_bt li {
        float: none;
        text-align: center;
        margin-bottom: 10px;
    }
    .login_bt .book_session_btn {
        margin-right: 0;
    }
    .banner_taital {
        font-size: 50px;
    }
    .banner_text {
        width: 100%;
        font-size: 40px;
    }
    .header_section {
        background-size: cover;
    }
    .banner_section {
        padding: 90px 0px 0px 0px;
    }
    .banner_img {
        display: block;
        margin-top: 20px;
    }
    .started_text {
        margin-top: 20px;
    }
    .about_section_2 {
        margin-top: 30px;
    }
    .about_text {
        font-size: 15px;
        padding-top: 20px;
    }
    .about_img img {
        height: auto;
    }
    .about_section .row {
        display: flex;
        flex-direction: column-reverse;
    }
    .about_taital_main {
        width: 100%;
        padding: 0px;
    }
    .about_taital {
        font-size: 28px;
    }
    .about_img img {
        width: 100%;
        margin-top: 30px;
    }
    .classes_border {
        padding: 50px 10px;
    }
    .stats_wrapper {
        padding: 14px 12px;
    }
    .stat_number {
        font-size: 30px;
    }
    .stat_label {
        font-size: 15px;
    }
    .classes_taital {
        font-size: 32px;
    }
    .astanga_text {
        width: 100%;
        font-size: 14px;
        min-height: 0;
    }
    .astanga_taital {
        font-size: 18px;
    }
    .customer_taital {
        font-size: 30px;
    }
    .customer_right {
        width: 100%;
    }
    .box_main {
        padding: 40px 10px;
        display: block;
    }
    .customer_nav {
        margin-top: 24px;
    }
    .practising_taital {
        font-size: 18px;
    }
    .blog_text {
        font-size: 14px;
    }
    .blog_box {
        margin-top: 20px;
    }
    .blog_border {
        padding: 50px 10px;
    }
    .mail_section {
        width: 100%;
    }
    .useful_text {
        padding-top: 20px;
    }
}

@media (max-width: 575px) {
    .fixed_social_bar {
        right: 10px;
        left: auto;
        top: 64%;
        gap: 8px;
    }

    .fixed_social_link {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .contact_topbar {
        padding: 5px 0;
    }

    .contact_topbar_inner {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        align-items: center;
        gap: 4px;
        overflow: visible;
        white-space: normal;
    }

    .contact_topbar_note {
        font-size: 9px;
        letter-spacing: 0.04em;
    }

    .contact_topbar_inner a {
        font-size: 12px;
        line-height: 1.2;
        white-space: nowrap;
    }

    .contact_topbar_inner a i {
        margin-right: 4px;
    }

    .header_section {
        padding-top: 100px;
    }
    .banner_section::before {
        top: -10px;
        left: -10px;
        width: 220px;
        height: 170px;
        opacity: 0.18;
    }
    .navbar-expand-lg {
        padding: 15px 0px;
    }
    .top_banner_image {
        padding: 0px 15px;
    }
    .navbar-brand {
        width: 60%;
        padding: 0px;
    }
    .nav_logo {
        max-height: 66px;
        margin: 0;
    }
    .navbar {
        top: 8px;
        left: 10px;
        right: 10px;
        margin: 0;
        padding: 0;
    }
    .navbar-toggler {
        background-color: #fff;
        border: 1px solid rgba(116, 90, 56, 0.45);
    }
    .navbar-light .navbar-nav .nav-link {
        display: block;
        width: 100%;
        max-width: 240px;
        padding: 10px 14px;
        margin: 0 auto 8px;
        text-align: center;
        color: #2a241d;
    }
    .login_bt {
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 6px auto 0;
    }
    .login_bt li {
        float: none;
        text-align: center;
    }
    .login_bt .book_session_btn {
        margin-right: 0;
    }
    .banner_taital {
        font-size: 50px;
    }
    .banner_text {
        width: 100%;
        font-size: 40px;
    }
    .header_section {
        background-size: cover;
    }
    .banner_section {
        padding: 0px 0px 0px 0px;
    }
    .banner_img {
        display: block;
        margin-top: 20px;
    }
    .started_text {
        margin-top: 20px;
    }
    .about_section_2 {
        margin-top: 30px;
    }
    .about_text {
        font-size: 15px;
        padding-top: 20px;
    }
    .about_img img {
        height: auto;
    }
    .about_section .row {
        display: flex;
        flex-direction: column-reverse;
    }
    .about_taital_main {
        width: 100%;
        padding: 0px;
    }
    .about_taital {
        font-size: 28px;
    }
    .about_img img {
        width: 100%;
        margin-top: 30px;
    }
    .classes_border {
        padding: 50px 10px;
    }
    .stats_wrapper {
        padding: 12px 10px;
    }
    .stat_card {
        padding: 10px 10px;
    }
    .stat_number {
        font-size: 28px;
    }
    .stat_label {
        font-size: 14px;
    }
    .classes_taital {
        font-size: 30px;
    }
    .astanga_text {
        width: 100%;
        font-size: 14px;
        min-height: 0;
    }
    .astanga_taital {
        font-size: 18px;
    }
    .customer_taital {
        font-size: 30px;
    }
    .customer_right {
        width: 100%;
    }
    .box_main {
        padding: 40px 10px;
        display: block;
    }
    .customer_nav {
        margin-top: 24px;
    }
    .customer_section {
        padding-bottom: 0px;
    }
    .practising_taital {
        font-size: 18px;
    }
    .blog_text {
        font-size: 14px;
    }
    .blog_box {
        margin-top: 20px;
    }
    .blog_border {
        padding: 50px 10px;
    }
    .mail_section {
        width: 100%;
    }
    .useful_text {
        padding-top: 20px;
    }
}


@media (max-width: 767px) {

    .case-title {
        font-size: 28px;
    }

    .case-navigation {
        margin-top: 10px;
    }

    .case-wrapper {
        margin-top: 20px;
    }

    .case-content {
        margin-top: 20px;
    }

    .case-step {
        flex-direction: column;
    }
}

/* testimonial visibility responsive override start */
.case-study-section {
    display: block !important;
    clear: both !important;
    padding-top: 48px !important;
    padding-bottom: 56px !important;
}

.case-study-section .testimonial_center_heading,
.case-study-section .case-row,
.case-study-section .case-video,
.case-study-section .case-content {
    display: block;
    opacity: 1 !important;
    visibility: visible !important;
}

.case-study-section .case-row {
    display: flex !important;
}

.case-study-section .case-video-file {
    opacity: 1 !important;
}

.case-study-section .case-content {
    max-width: 80% !important;
    color: #2b2436 !important;
}

.case-study-section .case-step h4,
.case-study-section .case-step p,
.case-study-section .case-step li,
.case-study-section blockquote,
.case-study-section .method-boxes div,
.case-study-section .verified {
    color: inherit;
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 767px) {
    .case-study-section .case-row {
        display: block !important;
    }

    .case-study-section .case-video {
        width: 100% !important;
        margin-bottom: 18px !important;
    }

    .case-study-section .case-step {
        flex-direction: row !important;
    }
}
/* testimonial visibility responsive override end */

@media (max-width: 767px) {
    .navbar {
        top: 8px;
        left: 10px;
        right: 10px;
        margin: 0;
        padding: 0;
        border-radius: 0;
    }
    .nav_logo {
        max-height: 68px;
    }
    .navbar-collapse {
        margin-top: 10px;
        padding: 12px 10px 10px;
        border-radius: 12px;
        background: rgba(255, 244, 224, 0.98);
    }
    .navbar-light .navbar-nav .nav-link {
        color: #2a241d;
        border-radius: 999px;
        margin-bottom: 8px;
    }
    .nav_actions {
        justify-content: center;
        padding-left: 0;
        margin-top: 4px;
    }
}

/* Mobile responsiveness overrides */
@media (max-width: 991px) {
    .fixed_social_bar {
        right: 12px;
        left: auto;
        top: 62%;
        gap: 8px;
    }

    .fixed_social_link {
        width: 46px;
        height: 46px;
        font-size: 22px;
    }

    #back-to-top {
        right: 12px;
        bottom: 14px;
        width: 42px;
        height: 42px;
        font-size: 18px;
    }

    .contact_topbar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1045;
        padding: 5px 0;
    }

    .contact_topbar_inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        justify-items: center;
        gap: 4px 14px;
    }

    .contact_topbar_note {
        grid-column: 1 / -1;
        font-size: 10px;
        line-height: 1.1;
    }

    .contact_topbar_inner a {
        font-size: 13px;
        line-height: 1.2;
        white-space: nowrap;
    }

    html,
    body {
        overflow-x: hidden;
    }

    .container,
    .container-fluid {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .navbar {
        left: 0 !important;
        right: 0 !important;
        top: 30px !important;
        width: 100vw !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        padding: 12px 12px !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        border-top: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #ece7f2 !important;
        box-shadow: none !important;
    }

    .navbar-brand {
        margin: 0 !important;
        width: auto !important;
        padding: 0 !important;
    }

    .brand_chip {
        margin-left: 0 !important;
        padding: 0 !important;
    }

    .nav_logo {
        max-height: 58px !important;
        width: auto !important;
    }

    .navbar-toggler {
        margin-left: auto !important;
        border: 0 !important;
        background: transparent !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
    }

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

    .nav_capsule {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        border-radius: 0 !important;
        padding: 8px !important;
        background: #ffffff !important;
        border-top: 1px solid #ece7f2 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    .navbar-collapse {
        display: none !important;
    }

    .navbar-collapse.show {
        display: block !important;
    }

    .navbar-nav {
        width: 100% !important;
    }

    .navbar-expand-lg .navbar-nav .nav-link {
        display: block !important;
        width: 100% !important;
        margin: 4px 0 !important;
        padding: 10px 12px !important;
        border-radius: 8px !important;
        text-align: left !important;
    }

    .top_banner_image {
        padding: 0 !important;
    }

    .top_banner_image img {
        border-radius: 14px !important;
    }

    .banner_section {
        padding: 12px 0 0 !important;
        margin-top: 0 !important;
    }

    .banner_section .col-lg-7 {
        padding-top: 6px !important;
    }

    .banner_taital {
        font-size: clamp(40px, 11vw, 54px) !important;
        line-height: 0.96 !important;
        white-space: normal !important;
    }

    .banner_section .about_text {
        font-size: 15px !important;
        line-height: 1.55 !important;
        max-width: 100% !important;
    }

    .started_text {
        width: 100% !important;
        max-width: 250px !important;
        margin-top: 14px !important;
    }

    .banner_img {
        justify-content: center !important;
        margin-top: 6px !important;
    }

    .banner_img img {
        width: min(94vw, 400px) !important;
        height: auto !important;
    }

    .stats_section {
        padding-top: 4px !important;
    }

    .stats_row {
        row-gap: 8px !important;
    }
}

@media (max-width: 767px) {
    .layout_padding {
        padding-top: 36px !important;
    }

    .stats_row .col-md-3,
    .stats_row .col-sm-6 {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
    }

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

    .stat_label {
        font-size: 14px !important;
    }

    .insight_grid,
    .about_flow_section,
    .about_metrics_row,
    .about_story_grid,
    .journal_grid,
    .programs_grid {
        grid-template-columns: 1fr !important;
    }

    .founder_panel,
    .about_panel,
    .contact_page_panel,
    .scan_overview_panel,
    .journal_feature,
    .benefits_panel,
    .therapeutic_layout,
    .immersive_panel {
        flex-direction: column !important;
    }
}

@media (max-width: 575px) {
    .fixed_social_bar {
        right: 10px;
        left: auto;
        top: 64%;
        gap: 8px;
    }

    .fixed_social_link {
        width: 44px;
        height: 44px;
        font-size: 21px;
    }

    .navbar {
        top: 28px !important;
    }

    .nav_logo {
        max-height: 54px !important;
    }

    .header_section.header_bg + .inner_page_hero {
        padding-top: 108px !important;
    }

    #back-to-top {
        right: 10px;
        bottom: 12px;
        width: 40px;
        height: 40px;
        font-size: 17px;
    }

    .stats_row .col-md-3,
    .stats_row .col-sm-6 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .started_text {
        max-width: 180px !important;
        width: 180px !important;
    }

    .started_text a {
        width: 100% !important;
        text-align: center !important;
    }

    .read_bt a,
    .benefits_cta a,
    .program_cta,
    .program_page_cta {
        width: auto !important;
        min-width: 170px !important;
        display: inline-block !important;
        text-align: center !important;
    }
}

/* Inner pages mobile refinement (classes/about/blog/contact) */
@media (max-width: 991px) {
    .header_section.header_bg {
        padding-top: 16px !important;
    }

    .inner_page_hero {
        padding: 38px 0 34px !important;
    }

    .header_section.header_bg + .inner_page_hero {
        padding-top: 118px !important;
    }

    .inner_page_title {
        font-size: clamp(34px, 9vw, 44px) !important;
        line-height: 1.02 !important;
    }

    .inner_page_text {
        margin-top: 14px !important;
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .program_page_section {
        padding: 40px 0 40px !important;
    }

    .program_page_intro h2 {
        font-size: clamp(34px, 8.6vw, 42px) !important;
        line-height: 1.02 !important;
    }

    .program_page_intro p {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }

    .program_page_support {
        padding-bottom: 44px !important;
    }
}
