@media (max-width: 1680px) {
    #sidebar {
        min-width: 340px;
    }

    .map-ftr-div {
        right: 410px;
    }

    label {
        font-size: 14px;
        margin-bottom: 10px !important;
    }
}

@media (max-width: 1480px) {
    #sidebar {
        min-width: 320px;
    }

    .map-ftr-div {
        right: 385px;
    }

    #sidebar ul li a {
        font-size: 16px;
    }

    .box_lft_fltr {
        padding: 0 0 10px 0;
    }

    .pop-ttl {
        font-size: 17px
    }

    #accordionExample button.btn.btn-link {
        font-size: 14px !important;
    }

    div#accordionExample {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .card {
        padding: 5px 10px
    }

    .gm-style-iw.gm-style-iw-c {
        padding: 0 !important;
        max-width: 340px;
        min-width: 240px;
    }
}

@media (max-width: 1200px) {
    #sidebar {
        min-width: 280px;
    }

    .map-ftr-div {
        right: 345px;
    }

    .connection-form .form-control, .csp-accordion .card-body .form-control, .nat-stepper .form-control, .csp-modal-dialog .form-control, .form-control, .access-type-option {
        height: 40rem !important;
    }
}

@media (max-width: 1024px) {
    #sidebar {
        min-width: 260px;
    }

    label {
        font-size: 13px;

    }

    .map-ftr-div {
        right: 325px;
    }
}

@media (max-width: 575px) {
    .map-ftr-div {
        right: 50px !important;
    }

    .map-ftr-div.active {
        right: 311px !important;
    }

    .map-ftr-div.active {
        right: 50px !important;
        z-index: 1;
    }

    #sidebar {
        padding-top: 30px !important;

    }

    #sidebar.active {
        margin-right: -5px !important;
        z-index: 2;
    }

    .sidebar-close {
        position: absolute;
        right: 10px;
        top: -15px;
        padding: 20px 0;
        cursor: pointer;
        display: block;
    }

    .left_sidr.pt-5 {
        margin-top: 10px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MCC / IZO — landing & shared components
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 1200px) {
    .mcc-hero-content {
        padding: 0 40rem;
    }

    .mcc-hero-content .mcc-title-lg {
        font-size: 40rem;
    }

    .mcc-features {
        padding: 28rem 30rem 24rem;
    }

    .mcc-feature-card h3 {
        font-size: 16rem;
    }

    .mcc-feature-card p {
        font-size: 13rem;
    }
}

@media (max-width: 991px) {
    .compare-cost-btn {
        font-size: 16rem;
    }

    .connection-sidebar {
        top: 10px;
        right: 10px;
        max-height: calc(100% - 20px);
        width: 100%;
    }

    .summary-label {
        font-size: 16rem;
    }

    .summary-subtext {
        font-size: 12rem;
    }

    .btn-calculation, .btn-outline-secondary {
        padding: 10rem 20rem;
        font-size: 14rem;
    }

    .cost-breakdown-title {
        font-size: 16rem;
    }

    .btn-icon-sm {
        width: 40rem;
        height: 40rem;
    }

    .connection-form {
        padding-top: 20rem;
    }

    .connection-sidebar-header {
        padding: 20rem;
    }

    .vnf-note {
        font-size: 12rem;
        padding: 15rem 0 0rem;
    }

    .connection-sidebar-footer {
        padding: 0rem 20rem 20rem 20rem;
    }

    .csp-empty-state {
        min-height: 350rem;
    }

    .csp-empty-add-btn {
        font-size: 14rem;
    }

    .connection-sidebar-body {
        padding: 0 20rem 20rem;
    }

    .csp-modal-header {
        padding: 20rem 20rem 0rem;
    }

    .csp-modal-content {
        padding: 20rem;
    }

    .d-flex.custom-gap {
        gap: 15rem;
    }

    span.refresh-icon {
        height: 18rem;
        width: 18rem;
    }

    .btn-icon-xs {
        width: 30rem;
        height: 30rem;
    }

    .btn-icon-xs svg {
        height: 16rem;
    }

    .csp-modal-footer {
        padding: 20rem;
    }

    .connection-sidebar-title {
        margin: 0 0 10rem 0;
    }

    .btn-icon-add svg, .reset-csp-icon {
        max-width: 16rem;
    }

    .cost-breakdown-header {
        padding: 10rem 0rem;
    }

    .csp-accordion .card-header .accordion-header-title .fa-chevron-down, .cost-breakdown-header .fa-chevron-down, .collapse-button .fa-chevron-down {
        width: 16rem;
        height: 16rem;
    }

    .cost-breakdown-accordion .cost-breakdown-card:not(:last-of-type) {
        margin-bottom: 5rem;
        padding-bottom: 5rem;
    }

    .cost-total {
        font-size: 18rem;
    }

    .cost-table-header .text-primary.main-text, .slab-rate-csp.text-primary.main-text, .total-charges, .slab-rate-csp, .cost-breakdown-header span, .slab-rate-row, .cost-table-col {
        font-size: 14rem;
    }


    .summary-value {
        font-size: 30rem;
    }

    .connection-sidebar.connection-sidebar--step-3 {
        max-width: 720rem;
    }

    .mcc-hero-content .mcc-text-body {
        font-size: 16rem;
    }

    .mcc-btn-primary svg {
        max-width: 20px;
        max-height: 20px;
    }

    .mcc-header {
        padding: 20rem 24rem;
    }

    .mcc-header.mcc-header--scrolled {
        padding-block: 12rem;
    }

    .mcc-hero-text {
        gap: 20rem;
    }

    .mcc-hero-content {
        padding: 40rem 24rem 40px;
        gap: 30rem;
    }

    .mcc-hero-content .mcc-title-lg {
        font-size: 34rem;
    }

    .mcc-hero-content .mcc-text-body {
        font-size: 16rem;
    }

    .mcc-btn-primary {
        font-size: 16rem;
        padding: 10rem 24rem;
    }

    .mcc-features-title {
        font-size: 20rem;
        margin-bottom: 20rem;
    }

    .mcc-btn-outline {
        font-size: 14rem;
        padding: 10rem 16rem;
    }

    .mcc-features {
        padding: 30rem 24rem;
    }

    .mcc-features-grid {
        flex-wrap: wrap;
        gap: 16rem;
        margin-left: 0;
        margin-right: 0;
    }

    .mcc-feature-card {
        flex: 1 1 calc(33.333% - 16rem);
        min-width: 200rem;
        padding: 0;
        gap: 10rem;
    }

    .mcc-feature-divider {
        display: none;
    }

    .mcc-feature-number {
        width: 40rem;
        height: 40rem;
        font-size: 16rem;
    }

    .mcc-logo img {
        height: 40rem;
    }

    .mcc-features-title {
        font-size: 18rem;
        margin-bottom: 16rem;
    }

    .mcc-feature-card h3 {
        font-size: 14rem;
    }

    .mcc-feature-card p {
        font-size: 12rem;
    }

    .mcc-feature-number {
        width: 32rem;
        height: 32rem;
        font-size: 14rem;
    }

    .mcc-header.mcc-header--scrolled {
        padding-block: 12rem;
    }

    .mcc-btn-primary svg {
        max-width: 20px;
        max-height: 20px;
    }

    .mcc-header {
        padding: 20rem 24rem;
    }

    .mcc-header.mcc-header--scrolled {
        padding-block: 12rem;
    }

    /* .mcc-hero {
        height: auto;
        min-height: 100vh;
      } */

    .mcc-hero-text {
        gap: 20rem;
    }

    .mcc-hero-content {
        padding: 40rem 24rem 40px;
        gap: 30rem;
    }

    .mcc-result-card--savings .mcc-result-title {
        font-size: 18rem;
    }

    .mcc-result-card--comparison .mcc-result-title, .mcc-result-card--download .mcc-result-title {
        font-size: 18rem;
    }

    .mcc-hero-content .mcc-title-lg {
        font-size: 34rem;
    }

    .mcc-savings-badge, .mcc-result-card--download .mcc-result-subtitle {
        font-size: 12rem;
    }

    .mcc-hero-content .mcc-text-body {
        font-size: 16rem;
    }

    .mcc-comparison-label span {
        font-size: 12rem;
    }

    .mcc-btn-primary {
        font-size: 16rem;
        padding: 10rem 24rem;
    }

    .mcc-btn-download {
        font-size: 14rem;
        padding: 10rem 24rem;
    }

    .mcc-features-title {
        font-size: 20rem;
        margin-bottom: 20rem;
    }

    .mcc-btn-outline {
        font-size: 14rem;
        padding: 10rem 16rem;
    }

    .mcc-features {
        position: relative;
        padding: 30rem 24rem;
    }

    .mcc-features-grid {
        flex-wrap: wrap;
        gap: 16rem;
    }

    .mcc-feature-card {
        flex: 1 1 calc(33.333% - 16rem);
        min-width: 200rem;
        padding: 0;
        gap: 10rem;
    }

    .mcc-feature-divider {
        display: none;
    }

    .mcc-footer {
        padding: 20rem 24rem;
    }

    .mcc-feature-number {
        width: 40rem;
        height: 40rem;
        font-size: 16rem;
    }

    .container {
        max-width: 100%;
        padding-left: 30rem;
        padding-right: 30rem;
    }

    .card-content-right {
        padding-left: 0;
        padding-top: 30rem;
    }

    .logo-section {
        padding: 20rem 0 60rem;
    }

    .card.imcc-card {
        padding: 25rem 30rem;
    }

    .card-content-left {
        padding-right: 0;
    }

    .mcc-calc-content {
        grid-template-columns: 1fr;
        padding: 0 24rem;
    }

    .mcc-calc-hero {
        padding: 24rem 24rem 24rem;
    }

    .mcc-calc-visual {
        display: none;
    }

    .mcc-results {
        order: -1;
    }

    .mcc-savings-value {
        font-size: 48rem;
    }

    .mcc-title-xl {
        font-size: 24rem;
    }

    .mcc-subtitle {
        font-size: 13rem;
    }

    .mcc-btn-primary {
        /* font-size: 14rem; */
        /* padding: 10rem 16rem; */
    }

    .mcc-features-title {
        font-size: 18rem;
        margin-bottom: 16rem;
    }

    .mcc-feature-card h3 {
        font-size: 14rem;
    }

    .mcc-feature-card p {
        font-size: 12rem;
    }

    .mcc-feature-divider {
        display: none;
    }

    .mcc-footer {
        padding: 20rem 24rem;
    }

    .mcc-feature-number {
        width: 32rem;
        height: 32rem;
        font-size: 14rem;
    }

    .mcc-calc-step-header h2 {
        font-size: 18rem;
    }

    .mcc-calc-step-header p {
        font-size: 12rem;
    }

    .mcc-calc-reset, .mcc-calc-add-btn {
        width: 34rem;
        height: 34rem;
        padding: 0;
    }

    .mcc-calc-reset svg, .mcc-calc-add-btn svg {
        width: 16rem;
        height: 16rem;
    }

    .mcc-btn-gradient {
        padding: 10rem 20rem;
        font-size: 14rem;
    }

    .mcc-modal-footer .mcc-btn-back {
        min-width: 110rem;
    }

    .mcc-btn-back {
        padding: 10rem 16rem;
        font-size: 14rem;
    }

    .mcc-step2-actions .mcc-btn-back {
        min-width: 100rem;
    }

    .mcc-logo img {
        height: 40rem;
    }

    .mcc-provider-action {
        width: 30rem;
        height: 30rem;
    }

    .mcc-provider-item-title {
        font-size: 14rem;
    }

    .mcc-calc-wrapper {
        padding-bottom: 0rem;
    }



}

@media only screen and (max-width: 767px) {
    .summary-label {
        margin-bottom: 10rem;
    }

    .slab-rate-row {
        gap: 20px;
    }

    .slab-rate-details {
        gap: 10rem;
    }

    .cost-breakdown-body {
        margin-bottom: 10rem;
    }

    .chart-bar-container {
        height: 32rem;
    }

    .chart-item {
        margin-bottom: 20rem;
    }

    .connection-sidebar-footer .btn-outline-secondary, .csp-modal-footer .btn-outline-secondary {
        min-width: 100rem;
    }

    .connection-sidebar {
        max-width: calc(100% - 20px) !important;
    }

    .mb-30rem {
        margin-bottom: 20rem;
    }

    .compare-cost-btn {
        font-size: 14rem;
    }

    .compare-cost-btn svg {
        width: 20px;
        height: 20px;
    }

    .mcc-footer p {
        font-size: 10rem;
    }

    .d-mobile {
        display: block;
    }

    .d-desk {
        display: none;
    }

    .btn-logo-wrap .cta-btn-secoundary {
        padding: 0;
        height: auto;
        border: none;
    }

    .btn-logo-wrap .d-mobile img {
        width: 35rem;
    }

    .disclaimerText.show-disclaimer {
        padding-top: 0;
        margin-bottom: 0;
        transform: translateY(0);
        animation: none;
    }

    .pb-20 {
        padding-bottom: 20rem;
    }

    .margin-t-0 {
        margin-top: 0;
    }

    .btn.btn-dark {
        margin-top: 20rem;
        height: auto;
        padding: 10rem 15rem;
    }

    .cost-div1, .cost-div2 {
        padding: 20rem 20rem;
    }

    .card-content-right th, .card-content-right td {
        padding: 5rem;
        vertical-align: sub;
    }

    .card-content-right {
        padding-top: 20rem;
    }

    .partner-logo1, .partner-logo3, .partner-logo2 {
        width: 100%;
    }

    .tc-logo {
        width: 170rem;
    }

    .tata-logo {
        width: 35rem;
    }

    .logo-section {
        padding: 20rem 0 60rem;
        height: 130rem;
    }

    .card.imcc-card {
        padding: 20rem 20rem;
        margin-top: -60rem;
    }

    .disclaimerText {
        padding-top: 20rem;
        margin-bottom: 20rem;
    }

    .cta-btn-secoundary {
        padding: 5rem 10rem;
        font-size: 12rem;
    }

    .footer-text p {
        font-size: 12rem;
        line-height: 1.2em;
    }

    .cta-btn .cta-btn-secoundary {
        height: auto;
        line-height: 1.2em;
        font-size: 14rem;
        padding: 10rem 10rem;
    }

    .mcc-calc-hero, .mcc-calc-content {
        padding-left: 14rem;
        padding-right: 14rem;
    }

    .mcc-card-glass {
        padding: 20rem;
    }

    .mcc-calc-step-header h2 {
        font-size: 16rem;
    }
}

@media only screen and (max-width: 575px) {
    .cost-total {
        font-size: 15rem;
    }

    .cost-table-header .text-primary.main-text, .slab-rate-csp.text-primary.main-text, .total-charges, .slab-rate-csp, .cost-breakdown-header span, .slab-rate-row, .cost-table-col {
        font-size: 12rem;
    }

    .mcc-btn-outline {
        font-size: 12rem;
    }

    .mcc-hero-content .mcc-title-lg {
        font-size: 28rem;
    }

    .mcc-hero-content .mcc-text-body {
        font-size: 15rem;
    }

    .mcc-features-title {
        font-size: 20rem;
    }

    .mcc-feature-card {
        flex: 1 1 100%;
    }

    .mcc-title-xl {
        font-size: 26rem;
    }

    .mcc-subtitle {
        font-size: 13rem;
    }

    .mcc-calc-row {
        grid-template-columns: 1fr;
    }

    .mcc-calc-hero .mcc-title-xl {
        font-size: 24rem;
    }

    .mcc-savings-value {
        font-size: 36rem;
    }

    .mcc-result-card--savings {
        padding: 20rem 16rem 24rem;
    }

    .mcc-result-card--comparison {
        padding: 20rem 16rem;
    }

    .mcc-result-card--download {
        padding: 20rem 16rem;
    }

    .mcc-comparison-label strong {
        font-size: 18rem;
    }

    .mcc-access-type {
        flex-direction: column;
    }

    .cost-analysis {
        display: block;
        gap: 0;
    }

    input[type="number"] {
        font-size: 14rem;
    }

    .cost-div2 {
        margin-top: 20rem;
    }

    .text-head, h2.heading-h4, .cost-div1 .text-14 span {
        font-size: 24rem;
    }

    .text-20 {
        font-size: 18rem;
    }

    .text-16 {
        font-size: 14rem;
        margin-bottom: 20rem;
    }

    p.text-14 {
        font-size: 14rem;
    }

    div#cloud_options span {
        font-size: 14rem;
    }

    table.table.table-bordered {
        overflow-x: auto;
        display: block;
        width: 100%;
    }

    .partner-logo1, .partner-logo3 {
        width: 110rem;
    }

    .partner-logo2 {
        width: 150rem;
    }

    .card-content-right th, .card-content-right td {
        white-space: nowrap;
        padding-right: 15rem;
    }

    .footer-text {
        margin: 30rem 0;
        text-align: center;
    }

    .footer-text p {
        font-size: 12rem;
        line-height: 1.2em;
    }

    .mcc-btn-primary {
        font-size: 14rem;
        /* padding: 8rem 24rem; */
    }

    .mcc-btn-primary svg {
        max-width: 16px;
        max-height: 16px;
    }

    .mcc-hero-text {
        gap: 10rem;
    }

    .mcc-step2-actions {
        flex-direction: column-reverse;
    }

    .summary-cards-row {
        flex-direction: column;
        display: flex;
    }
}

@media only screen and (max-width: 400px) {
    .connection-sidebar-header-inner {
        flex-direction: column;
        gap: 10rem
    }

    .d-flex.w-100.custom-gap {
        flex-direction: column-reverse;
    }

    .access-type-toggle {
        flex-direction: column;
    }

    .access-type-option {
        padding: 8px !important;
    }
}

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


    .mcc-logo img {
        height: 28rem;
    }

    .btn-logo-wrap {
        display: flex;
        align-items: flex-end;
        gap: 10rem;
    }

    .btn-logo-wrap .d-mobile img {
        width: 30rem;
    }

    .tata-logo {
        width: 30rem;
    }

    .tc-logo {
        width: 155rem;
    }
}