@media (max-width: 1440px) {
    .appmonisensa_bottom::before {
        right: 25px;
    }
}

@media (max-width: 1200px) {
    .first_title {
        font-size: 38px;
    }

    .second_title {
        font-size: 34px;
    }

    .lang-sw__toggle {
        padding: 5px 8px;
        font-size: 16px;
    }

    .lang-sw__flag {
        font-size: 16px;
    }

    .lang-sw__dropdown {
        right: 0;
        min-width: 160px;
    }

    .header_buy-btn {
        font-size: 16px;
        padding: 10px 20px;
        border-radius: 12px;
    }

    /* hero-section */
    .hero .container::before {
        display: none;
    }

    .hero_slider-nav {
        position: unset;
        width: auto;
        margin: 16px 0;
    }

    .hero_slider__button-next::before,
    .hero_slider__button-prev::before {
        display: none;
    }

    .hero_main-btn {
        position: unset;
        justify-content: center;
    }

    .hero_main .hero_slider__pagination {
        position: unset;
    }

    .footer_top {
        padding-bottom: 50px;
    }

    .footer_img-badge {
        bottom: 100px;
        right: -50px;
    }

    .footer_main-inner ul {
        gap: 16px;
    }

    .footer_main-inner ul li::before {
        display: none;
    }

    .footer_bottom-inner {
        flex-direction: column;
        align-items: start;
    }

    /* appmonisensa */

    .appmonisensa_bottom-sidebar {
        max-width: 300px;
    }
}

@media (max-width: 1200px) {
    .hero_play-btn::before {
        left: -185px;
    }

    .search__result-top {
        flex-direction: column;
        align-items: start;
        gap: 4px;
    }

    .search__result-top span:before {
        display: none;
    }

    .technology_form-content {
        padding: 67px 0;
    }

    .technology_form-img {
        max-width: 500px;
        height: 350px;
    }
}

@media (max-width: 1200px) {
    .hero_play-btn::before {
        left: -223px;
    }
}

@media (max-width: 1200px) {
    .tab-progress {
        top: 5%;
        right: 2%;
    }

    .application_content {
        flex-direction: column-reverse;
    }

    .application_tabs-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .application_tabs-item {
        flex-direction: column;
        align-items: start;
        padding: 16px;
        border-radius: 16px;
    }

    .sensor_btn-wrapper {
        display: flex;
        flex-direction: column;
        align-items: start;
        max-width: 630px;
    }

    .sensor_categories {
        grid-template-columns: repeat(2, 1fr);
    }

    .controls_apps-link {
        align-items: start;
        flex-direction: column;
    }

    /* appmonisensa */

    .appmonisensa_bottom-content {
        max-width: 560px;
    }

    .appmonisensa_form-img {
        max-width: 375px;
    }

    .appmonisensa_inner::after {
        left: 12%;
    }

    /* contacts — old solution rule removed */

    .product__main {
        max-width: 340px;
    }

    .product_wrapper {
        gap: 30px;
    }

    .product_gallery {
        align-items: start;
        flex-direction: column-reverse;
    }

    .product__thumbs {
        max-width: 340px;
    }

    .technology_form-content {
        padding: 51px 0;
    }

    .technology_form-img {
        max-width: 460px;
        height: 320px;
    }
}

@media (max-width: 1200px) {
    .footer_top-img-wrapp {
        display: none;
    }

    .theme-toggle {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        margin-left: 8px;
    }

    /* ══════════════════════════════════════════════════
       MOBILE BOTTOM BAR — app-style navigation
       ══════════════════════════════════════════════════ */

    /* Kill horizontal overflow — clip is better than hidden
       (doesn't create a scrolling context) */
    html {
        overflow-x: clip;
    }

    /* Wrapper still has padding:12px above 768px.
       At ≤768px wrapper gets padding:0, so negative margins
       are unnecessary. But between 768-920 we need this. */
    .wrapper {
        overflow-x: clip;
    }

    /* Kill full-screen section heights on mobile */
    .section-screen {
        min-height: auto !important;
    }

    .main > .section-screen:first-child {
        min-height: auto !important;
    }

    /* Bar itself: pinned to bottom with gap */
    .header {
        top: auto;
        bottom: 12px;
        left: 12px;
        right: 12px;
        width: auto;
        max-width: 100%;
        padding: 0;
        box-sizing: border-box;
        z-index: 1400;
    }

    .scroll .header {
        padding: 0;
    }

    .header_section {
        height: 64px;
        padding: 0 14px;
        border-radius: 20px;
        background: var(--background-big-card);
        border: none;
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);
        gap: 10px;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        width: 100%;
        box-sizing: border-box;
        overflow: visible;
    }

    .scroll .header_section,
    [data-theme="dark"] .scroll .header_section {
        height: 64px;
        border-radius: 20px;
    }

    /* Inner — stretch full width, space items */
    .header_inner {
        width: 100%;
        gap: 8px;
    }

    /* Logo — clean, no background/frame */
    .header_logo {
        margin: 0;
        max-width: 52px;
        background: none;
        padding: 0;
        border-radius: 0;
    }

    /* Cart button — compact */
    .header_buy-btn,
    .scroll .header_buy-btn {
        min-height: 48px;
        font-size: 14px;
        padding: 10px 16px;
        border-radius: 14px;
        margin: 0;
        gap: 6px;
    }

    .header_buy-wrap {
        flex-shrink: 0;
    }

    .scroll .header_buy-btn:hover {
        opacity: 0.9;
    }

    /* Hamburger */
    .header_dropdown-btn {
        display: flex;
        width: 48px;
        height: 48px;
        padding: 0;
        border-radius: 50%;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        gap: 4px;
    }

    .header_dropdown-btn span {
        width: 20px;
        height: 2px;
        border-radius: 2px;
    }

    /* ── Menu sheet — edge-to-edge bottom sheet ── */
    .header_center {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        box-sizing: border-box;
        flex-direction: column;
        align-items: stretch;
        padding: 24px 20px calc(env(safe-area-inset-bottom, 0px) + 24px);
        max-height: 85vh;
        max-height: 85dvh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: var(--background-big-card);
        border-radius: 24px 24px 0 0;
        z-index: 1410;
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
        transform: translateY(100%);
        transition:
            transform 0.32s cubic-bezier(0.32, 0.72, 0, 1),
            opacity 0.25s ease,
            visibility 0.25s ease;
    }

    .header-drop-menu .header {
        bottom: 0;
        left: 0;
        right: 0;
        border-radius: 0;
    }

    .header-drop-menu .header_section {
        border-radius: 0;
    }

    .header-drop-menu .header_center {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.15);
    }

    .menu_title {
        display: flex;
    }

    .header_menu {
        width: 100%;
    }

    .nav_list {
        display: flex;
        align-items: stretch;
        gap: 6px;
        flex-direction: column;
    }

    .nav_list li {
        width: 100%;
    }

    .main-pc {
        display: flex;
    }

    .nav_list li a {
        display: flex;
        align-items: center;
        gap: 8px;
        font-family: var(--font-family);
        font-weight: 500;
        font-size: 15px;
        line-height: 1.4;
        color: var(--typograph-black);
        border-radius: 14px;
        padding: 12px 16px;
        border: 1px solid var(--stroke-secondary-interface);
        width: 100%;
        transition: all 0.15s ease;
    }

    .nav_list .current-menu-item a::before {
        display: none;
    }

    .nav_list .current-menu-item a {
        color: var(--typograph-blue);
        background: rgba(9, 75, 186, 0.06);
        border-color: rgba(9, 75, 186, 0.15);
        font-weight: 600;
    }

    .nav_list li a:hover {
        background: var(--background-cream-secondary);
    }

    .nav_list li a:active {
        background: var(--background-cream-primary);
    }

    .lang-sw {
        margin-top: 12px;
    }

    .lang-sw__flag {
        font-size: 16px;
    }

    .lang-sw__toggle {
        font-size: 14px;
        padding: 8px 12px;
    }

    .lang-sw__dropdown {
        top: auto;
        bottom: calc(100% + 8px);
        left: 0;
        right: auto;
        transform-origin: bottom left;
    }

    /* Mini-cart opens ABOVE the bottom bar */
    /* ── Mini-cart: bottom sheet ── */
    .header_buy-wrap {
        position: static;
    }

    .mini-cart {
        position: fixed !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        z-index: 9999999;
        border-radius: 24px 24px 0 0;
        max-height: 80vh;
        max-height: 80dvh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transform: translateY(100%);
        transform-origin: bottom center;
        transition:
            transform 0.32s cubic-bezier(0.32, 0.72, 0, 1),
            opacity 0.25s ease,
            visibility 0.25s ease;
        box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.3);
    }

    .mini-cart--open {
        transform: translateY(0) !important;
        box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.15);
    }

    body.mini-cart-open .header {
        z-index: 0 !important;
    }

    body.mini-cart-open .header_section {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .mini-cart__footer {
        padding: 12px 16px 40px;
    }

    /* ── Glass sections — side margins + top pad + centered content on mobile ── */
    .main > .section-screen,
    .main > .ct-hero,
    .main > .team-hero,
    .main > .pol-hero,
    .main > .earn-hero,
    .main > .st-hero {
        margin-left: 12px;
        margin-right: 12px;
    }

    .main > .section-screen:first-child,
    .main > .ct-hero:first-child,
    .main > .team-hero:first-child,
    .main > .pol-hero:first-child,
    .main > .earn-hero:first-child,
    .main > .st-hero:first-child {
        margin-top: 24px;
    }

    .main > .section-screen .container,
    .main > .ct-hero .container,
    .main > .team-hero .container {
        text-align: center;
    }

    .parameters .container,
    .tech-inside .container {
        text-align: left;
    }

    /* tech-hero left content — center on mobile */
    .tech-hero .hero_content-left {
        align-items: center;
        text-align: center;
    }

    /* ── Page content ── */
    .main {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .body--has-chat .main {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .main > .section-screen:first-child {
        min-height: auto;
    }

    /* appmonisensa */
    .appmonisensa {
        padding: 20px 0 48px;
    }

    .appmonisensa_top {
        align-items: stretch;
        flex-direction: column;
        gap: 24px;
    }

    .appmonisensa_top-content {
        order: 1;
        text-align: center;
    }

    .appmonisensa_title,
    .appmonisensa_top-descript {
        justify-content: center;
        text-align: center;
    }

    .appmonisensa_apps-link {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .appmonisensa_top-img {
        order: 2;
        max-width: min(100%, 260px);
        border-radius: 24px;
        margin: 0 auto;
    }

    .appmonisensa_apps-demo {
        max-width: none;
    }

    .appmonisensa_qr {
        display: none;
    }

    .appmonisensa_top-descript {
        margin: 8px 0 24px;
    }

    .appmonisensa_slider-nav {
        display: none;
    }

    .appmonisensa_bottom-content {
        max-width: 445px;
    }

    .appmonisensa_form-img {
        max-width: 320px;
        margin-right: 0;
    }

    .appmonisensa_inner::before {
        width: 345px;
        height: 345px;
    }

    .appmonisensa_inner::after {
        width: 345px;
        height: 345px;
        top: 50%;
    }

    .appmonisensa_popup-close {
        right: -15px;
    }

    /* contacts */

    .ct-grid {
        grid-template-columns: 1fr;
        gap: 48px;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .ct-profile {
        position: static;
        order: 2;
    }

    /* search */

    .search_img {
        max-width: 210px;
    }

    .category_list-link {
        align-items: start;
        flex-direction: column;
    }

    /* help */

    .archive_content-top {
        padding: 24px;
    }

    .archive_content-bottom {
        padding: 24px 0;
    }

    .help_archive-item a {
        padding: 12px 24px;
    }

    .parameters_block-list {
        column-gap: 15px;
    }

    .technology_form-content {
        padding: 30px 0;
    }

    .technology_form-img {
        max-width: 350px;
        height: 280px;
    }

    .article_top-info {
        flex-direction: column;
        align-items: start;
    }

    .my-widget {
        flex-direction: column;
    }

    .article_post-time,
    .my-widget__title {
        margin: 0;
    }

    .my-widget__light-btn,
    .my-widget__blue-btn {
        width: 100%;
    }
}

@media (max-width: 1200px) {
    .descript {
        font-size: 16px;
    }

    .wrapper {
        padding: 0;
        gap: 0;
        min-height: auto;
    }

    .main {
        flex-grow: 0;
    }

    /* wrapper padding=0, so kill the -12px compensating margins */
    .main > section.section-screen:not(.section_wht):not(.tech-hero),
    .main > section.parameters {
        margin-left: 0;
        margin-right: 0;
    }

    /* Non-glass sections go edge-to-edge on mobile */
    .main > .section-screen:not(.section_wht),
    .main > .earn-hero,
    .main > .st-hero {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Hero pages lose card appearance on mobile — edge-to-edge */
    .main > .earn-hero,
    .main > .st-hero {
        border-radius: 0 !important;
        box-shadow: none !important;
        border: none !important;
    }

    /* Glass wrapper sections KEEP their card look with margins */
    .main > .section_wht {
        margin-left: 12px !important;
        margin-right: 12px !important;
        border-radius: 20px !important;
    }

    /* Proper breathing room inside all sections */
    .container {
        padding: 0 20px;
    }

    .footer {
        padding: 0;
    }

    /* ══ Unified mobile section system ══
       - section-screen: 60px top/bottom, separator after
       - section_wht: 40px top/bottom, no separators
       - last child inside section: no bottom margin */
    .section-screen {
        padding: 60px 0 !important;
    }
    .section-screen.section_wht {
        padding: 40px 0 !important;
        border: 1px solid rgba(255, 255, 255, 0.14) !important;
    }
    .section-screen > .container > *:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* No gap between sections — backgrounds touch */
    .main > section + section,
    .main > div + section,
    .main > section + div {
        margin-top: 0;
        position: relative;
    }


    .first_title {
        font-size: 36px;
    }

    .second_title {
        font-size: 30px;
    }

    .section_wht {
        border-radius: 24px;
    }

    .section-scroll-down {
        display: none;
    }

    .hero {
        padding: 16px 0 24px;
        min-height: auto;
        overflow: visible;
    }

    section.hero .hero_content {
        flex-direction: column;
        gap: 0;
    }

    section.hero .hero_content-left {
        align-items: center;
        text-align: center;
    }

    section.hero .hero_cta-feats {
        justify-content: center;
    }

    section.hero .hero_cta-price {
        justify-content: center;
    }

    section.hero .hero_content-left,
    section.hero .hero_content-right {
        display: contents;
    }

    section.hero .hero_toggle {
        order: 1;
        align-self: center;
        margin-top: 8px;
        margin-bottom: 16px;
    }

    section.hero .hero_title {
        order: 2;
    }

    section.hero .hero_title.first_title {
        order: 2;
        margin: 0;
    }

    section.hero .hero_cta-desc {
        order: 3;
        margin-top: 10px;
        font-size: 16px;
        line-height: 160%;
    }

    section.hero .hero__app-frame {
        order: 4;
        width: min(100%, 240px);
        margin: 12px auto 0;
    }

    section.hero .hero__app-frame img {
        width: 100%;
        max-height: none;
        object-position: center top;
    }

    section.hero .hero_cta-note {
        order: 8;
    }

    section.hero .hero_cta-features {
        order: 5;
        margin-top: 14px;
    }

    section.hero .hero_cta-price {
        order: 6;
        margin-top: 14px;
    }

    section.hero .hero_cta-actions {
        order: 7;
        margin-top: 14px;
        margin-bottom: 8px;
    }

    .hero_content-right {
        max-width: 260px;
        margin: 0 auto;
    }

    .hero_title {
        max-width: 100%;
    }

    .hero_cta-price-new {
        font-size: 40px;
    }

    .hero_cta-actions {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .hero_cta-button {
        padding: 16px 40px;
        justify-content: center;
        width: 100%;
        box-sizing: border-box;
    }

    .hero_cta-secondary {
        justify-content: center;
    }

    /* Features pills — compact, not stretched */
    section.hero .hero_cta-features {
        justify-content: center;
    }

    /* energy breakdown */
    .eb {
        padding: 48px 0;
    }
    .eb__header {
        margin-bottom: 40px;
    }
    .eb__content {
        flex-direction: column;
        align-items: center;
    }
    .eb__card--chart {
        margin-top: 0;
    }
    .eb__card--legend {
        width: 100%;
        max-width: 520px;
        align-items: center;
    }
    .eb__chart-wrap {
        width: min(75vw, 360px);
        height: min(75vw, 360px);
    }
    .eb__chart-total-kwh {
        font-size: 36px;
    }
    .eb__chart-total-cost {
        font-size: 16px;
    }
    .eb__item {
        padding: 12px 12px;
    }

    /* tariff finder */
    .tf__header {
        margin-bottom: 40px;
    }
    .tf__cards {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .tf__card {
        padding: 20px;
    }
    .tf__card--best {
        order: -1;
    }
    .tf__cta-btn {
        width: 100%;
        justify-content: center;
    }

    /* pain block */
    .pain__shell {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 80px;
        margin-bottom: 64px;
        justify-items: center;
    }
    .pain__hero {
        width: 100%;
        max-width: 760px;
        min-height: 0;
        aspect-ratio: 4 / 3;
        border-radius: 22px;
    }
    .pain__hero-photo {
        object-position: center 30%;
    }
    .pain__eyebrow {
        font-size: 13px;
        letter-spacing: 0.06em;
        top: 18px;
        left: 18px;
    }
    .pain__hero-caption {
        padding: 20px 20px 24px;
    }
    .pain__lead {
        font-size: 17px;
        line-height: 155%;
    }
    .pain__grid {
        grid-template-columns: 1fr;
        gap: 16px;
        width: 100%;
        max-width: 760px;
    }
    .pain__card {
        min-height: auto;
        gap: 18px;
        padding: 20px;
        border-radius: 22px;
    }
    .pain__card-text {
        font-size: 16px;
        line-height: 160%;
    }
    .pain__index {
        font-size: 24px;
    }

    /* why nilm */
    .why-nilm__header {
        margin-bottom: 48px;
    }
    .why-nilm__grid {
        padding-bottom: 0 !important;
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .why-nilm__card {
        padding: 20px;
        gap: 14px;
    }
    /* hero steps */
    .hero_steps-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .hero_steps-photo {
        max-width: 300px;
        margin: 0 auto;
        aspect-ratio: auto;
        overflow: hidden;
    }

    /* hero steps */
    .hero_step-card {
        padding: 20px;
    }

    /* sensor redesign */
    .sensor_cat {
        padding: 20px;
    }
    .sensor_categories {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 0;
    }

    .logo-pc {
        display: none;
    }

    .logo-mb {
        display: block;
    }

    .video-pc {
        display: none;
    }

    .hero_play-btn-mb {
        display: flex;
        gap: 8px;
        padding: 11px;
    }

    .hero_main-btn {
        flex-direction: column;
    }

    /* ── Application section — immersive mobile redesign ── */
    .application.section_wht {
        border-radius: 0;
        box-shadow: none;
    }

    .application_inner {
        gap: 28px;
    }

    .application_tabs {
        overflow: hidden;
        width: 100%;
    }

    .application_tabs-item {
        max-width: none;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 28px 20px;
        gap: 16px;
        border-radius: 20px;
        background:
            radial-gradient(
                ellipse 70% 50% at 50% 0%,
                rgba(245, 166, 35, 0.12) 0%,
                transparent 100%
            ),
            rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.14);
        box-shadow:
            0 2px 12px rgba(0, 0, 0, 0.2),
            0 0 0 1px rgba(255, 255, 255, 0.14);
    }

    .application_tabs-item.apps-active,
    .application_tabs-item.swiper-slide-active {
        border-color: inherit !important;
        box-shadow: none !important;
    }

    .application_item-img {
        max-width: 64px;
    }

    .application_item-content {
        align-items: center;
    }

    .application_item-title {
        font-size: 19px;
        font-weight: 600;
    }

    .application_item-descript {
        font-size: 15px;
        line-height: 1.55;
        opacity: 0.65;
    }

    .application_slider-nav {
        display: flex !important;
        position: static !important;
        justify-content: center;
        gap: 12px;
        margin-top: 16px;
    }

    .application_slider-nav button {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.18);
        backdrop-filter: blur(8px);
    }

    .application_tabs-list {
        display: flex;
        flex-direction: unset;
        gap: 0;
    }

    .application_tabs-img {
        flex: unset;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow: visible;
        position: relative;
        margin: 0 auto;
    }

    .application_tabs-img::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 70%;
        height: 70%;
        background: radial-gradient(
            circle,
            rgba(20, 194, 79, 0.2) 0%,
            rgba(74, 144, 232, 0.1) 40%,
            transparent 70%
        );
        border-radius: 50%;
        filter: blur(40px);
        pointer-events: none;
        z-index: 0;
    }

    .application_img-item {
        position: relative;
        z-index: 1;
    }

    .application_img-item img {
        max-width: 300px;
        margin: 0 auto;
        display: block;
        filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.4));
    }

    .sensor {
        padding: 48px 0;
    }

    .controls_card-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .controls_card-item {
        border-radius: 16px;
    }

    .contols_card-wrap {
        align-items: start;
        padding: 20px;
        max-width: none;
        background: none;
    }

    .controls_qr {
        display: none;
    }

    .controls_apps-btn a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 11px;
    }

    .controls_apps {
        flex-direction: column;
        align-items: start;
    }

    .controls_apps-img {
        max-width: none;
    }

    .controls_apps-appstore,
    .controls_apps-rustore {
        font-size: 22px;
    }

    .controls_apps-btn {
        flex-wrap: wrap;
    }

    .answer {
        padding: 48px 0;
    }

    .footer {
        padding: 0 8px;
    }

    .footer_top {
        padding: 48px 0;
        mask-image:
            linear-gradient(
                to bottom,
                transparent,
                black 10%,
                black 95%,
                transparent
            ),
            linear-gradient(to right, black 97%, transparent 100%);
    }

    .footer_main {
        padding: 48px 0 40px;
    }

    .footer_main-inner {
        text-align: center;
    }

    .footer_main-logo {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-nav__col {
        text-align: center;
    }

    /* ── All forms single column on mobile ── */
    .mi-row {
        grid-template-columns: 1fr !important;
    }

    /* ── Business form section ── */
    .bz__form-section {
        padding: 40px 0 !important;
        border-bottom: none !important;
    }
    .bz__form-section > .container > *:last-child {
        padding-bottom: 40px !important;
        margin-bottom: 40px !important;
    }
    .bz__form-wrap {
        padding: 40px 20px 40px !important;
    }
    .bz__form-wrap .mi-row {
        grid-template-columns: 1fr !important;
    }
    .bz__form-wrap .form-checkbox-input {
        text-align: left;
    }

    /* ── Preorder/cart checkout blocks ── */
    .ck--preorder .ck__header {
        padding: 40px 0 !important;
    }
    .ck--preorder .ck__body {
        padding: 0 !important;
    }

    .footer {
        padding: 0 0 160px 0 !important;
    }
    .footer_main {
        padding: 60px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    }
    .footer-nav {
        padding: 60px 0 !important;
        border-bottom: none !important;
    }
    .footer_bottom {
        padding: 60px 0 0 !important;
        border-top: none !important;
        border-bottom: none !important;
    }

    .footer_btn-list {
        gap: 8px;
    }

    .footer_top-contact .container {
        padding: 0;
    }

    .footer_contact {
        flex-direction: column;
        align-items: start;
        text-align: left;
        gap: 48px;
    }

    .footer_contact-descript {
        text-align: left;
        margin-left: 8px;
    }

    .footer__emails {
        display: flex;
        flex-direction: column;
        align-items: start;
        padding: 16px;
        gap: 24px;
        width: 100%;
    }

    .footer__whatsapp {
        margin-top: 16px;
    }

    .sensor_popup {
        align-items: end;
    }

    .sensor_popup-wrapper {
        border-radius: 24px 24px 0 0;
        width: 100%;
    }

    .sensor_popup-top {
        padding: 16px;
    }

    .sensor_popup-main {
        padding: 0 16px;
    }

    .sensor_popup-item {
        gap: 24px;
        align-items: start;
    }

    .sensor_popup-img {
        margin-top: 24px;
        border-radius: 16px;
    }

    .sensor_popup-img svg {
        width: 64px;
        height: 64px;
    }

    .sensor_popup-content {
        padding-right: 0;
    }

    .hero_contact-popup {
        align-items: end;
    }

    .hero_contact-popup-wrapper {
        border-radius: 24px 24px 0 0;
        max-width: 100%;
        max-height: 85vh;
        padding: 24px 16px;
    }

    /* appmonisensa */

    .appmonisensa_bottom {
        flex-direction: column;
        gap: 48px;
    }

    .appmonisensa_form-content,
    .appmonisensa_form-top,
    .appmonisensa_bottom-content,
    .appmonisensa_bottom-sidebar,
    .appmonisensa_sidebar-item {
        max-width: none;
    }

    .appmonisensa_slider-item {
        max-width: 225px;
    }

    .appmonisensa_form {
        padding: 48px 0;
    }

    .appmonisensa_form-inner {
        align-items: center;
        flex-direction: column;
        gap: 40px;
        padding: 0 8px;
    }

    .appmonisensa_form-top {
        margin-bottom: 48px;
    }

    .appmonisensa_form .appmonisensa_form-title {
        margin: 0;
    }

    .appmonisensa_bottom::before {
        display: none;
    }

    .appmonisensa_sidebar-item {
        border-radius: 16px;
    }

    .appmonisensa_form-img::before {
        width: 400px;
        height: 465px;
    }

    .appmonisensa_inner::after {
        top: 30%;
    }

    /* contacts */
    .ct-hero {
        padding: 48px 0;
    }

    .ct-main {
        padding: 60px 0 !important;
        overflow: hidden;
    }

    .ct-photo-frame {
        width: 180px;
    }

    .ct-email-card {
        padding: 16px 18px;
        gap: 12px;
    }

    .ct-email-card__address {
        font-size: 15px;
        overflow-wrap: break-word;
        word-break: break-all;
    }

    .ct-email-card__body {
        min-width: 0;
    }

    .ct-profile__email {
        font-size: 16px;
        padding: 10px 18px;
    }

    /* search */
    .search {
        padding-bottom: 48px;
    }

    .search_inner-top {
        margin-top: 20px;
    }

    .search_img {
        display: none;
    }

    .search-active.search__form-wrapper {
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 999;
        border-radius: 16px 16px 0 0;
        overflow: hidden;
        box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.6);
    }

    .search__dropdown {
        position: static;
        max-height: 0;
        padding: 0;
    }

    .search-active .dropdow-form-title {
        display: flex;
        position: relative;
    }

    .dropdow-form-title::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 1px;
        height: 1px;
        pointer-events: none;
        background: linear-gradient(
            to right,
            rgba(0, 0, 0, 0.12) 0%,
            rgba(0, 0, 0, 0) 60%
        );
    }

    .search-active .search__dropdown {
        max-height: calc(100vh - 200px);
        border-radius: 0;
    }

    .search-active .search__form {
        padding: 24px 16px 12px;
        flex-direction: row;
        border-radius: 0;
        box-shadow: none;
        margin: 0;
    }

    .search-active .search__result-list {
        border-radius: 0;
        box-shadow: none;
        max-height: calc(100vh - 270px);
    }

    .search__btn {
        border-radius: 50%;
        font-size: 0;
    }

    .search-active .search__btn path {
        display: block;
        fill: var(--typograph-black);
    }

    .no-results-block {
        max-width: 300px;
    }

    .category {
        padding: 48px 0;
    }

    .category_inner {
        gap: 48px;
    }

    .category_list {
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: 8px;
    }

    .category_list-link {
        border-radius: 16px;
        align-items: center;
        flex-direction: row;
    }

    /* help */

    .help_archive {
        padding: 20px 0 0;
    }

    .help_archive .container {
        padding: 0;
    }

    .help_archive-inner {
        flex-direction: column;
    }

    .help_archive-sidebar {
        position: static;
        max-width: none;
    }

    .help_sidebar-open {
        display: flex;
        width: 100%;
    }

    .dropdow-help-title {
        display: flex;
    }

    .help_archive-sidebar {
        padding: 0 8px;
    }

    .help_sidebar-category-wrap {
        position: fixed;
        visibility: visible;
        bottom: 0;
        left: 0;
        flex-direction: column;
        align-items: start;
        padding: 24px 16px;
        background: #fff;
        border-radius: 16px 16px 0 0;
        transition: all 0.15s;
        transform: translateY(110%);
        z-index: 999;
        width: 100%;
    }

    .help-active .help_sidebar-category-wrap {
        transform: translateY(0);
        box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.6);
    }

    .archive_content-top {
        padding: 24px 16px;
    }

    .archive_content-bottom {
        padding: 12px 0;
    }

    .help_archive-item a {
        padding: 12px 16px;
    }

    /* Help Q&A page */
    .help-page {
        padding: 20px 0 60px;
    }

    .help-page__inner {
        flex-direction: column;
        gap: 0;
    }

    .help-page .help_archive-sidebar {
        position: static;
        max-width: none;
        padding: 0 8px;
    }

    .help-articles__header {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .qa-card {
        padding: 20px;
        gap: 16px;
    }

    .qa-card__votes {
        flex-direction: row;
        gap: 8px;
        min-width: auto;
    }

    .qa-card__title {
        font-size: 17px;
    }

    .qa-card__excerpt {
        font-size: 15px;
        -webkit-line-clamp: 2;
    }

    /* tech hero left side */
    .tech-hero__title {
        max-width: 100%;
    }
    .tech-hero__desc {
        max-width: 100%;
    }
    .tech-hero__price-value {
        font-size: 40px;
    }
    .tech-hero__price-value small {
        font-size: 24px;
    }
    .tech-hero__cta {
        padding: 16px 36px;
        font-size: 16px;
    }
    .tech-hero__plot-wrap {
        max-width: 420px;
    }
    /* tech hero trust */
    .tech-hero__status {
        align-self: center;
    }
    .tech-hero__trust {
        gap: 8px;
        margin-top: 32px;
        padding-top: 24px;
        justify-content: center;
        flex-wrap: wrap;
    }
    .tech-hero__trust-item {
        padding: 10px 14px;
        border-radius: 16px;
    }
    .tech-hero__trust-icon {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
    .tech-hero__trust-text {
        font-size: 14px;
    }

    /* science */
    .science {
        padding: 48px 0;
    }
    .science__header {
        margin-bottom: 48px;
    }
    .science__visual {
        flex-direction: column;
        align-items: center;
        gap: 0;
        margin-bottom: 48px;
    }
    .science__card {
        max-width: none;
        padding: 20px;
    }
    .science__arrow {
        transform: rotate(90deg);
        padding: 8px 0;
    }
    .science__examples-grid {
        grid-template-columns: 1fr;
    }
    .science__examples {
        padding: 28px;
    }
    .science__plot {
        padding: 24px;
        margin-top: 48px;
    }
    .science__plot-device {
        min-width: 110px;
    }
    .science__plot-svg {
        height: 100px;
    }
    .science__plot-svg--sm {
        height: 48px;
    }

    /* how it works */
    .how-nilm {
        padding: 48px 0;
    }
    .how-nilm__header {
        margin-bottom: 48px;
    }
    .how-nilm__steps {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }
    .how-nilm__step {
        max-width: 300px;
    }
    .how-nilm__connector {
        transform: rotate(90deg);
        padding: 8px 0;
    }

    /* tech inside */
    .tech-inside {
        padding: 48px 0;
    }
    .tech-inside__header {
        margin-bottom: 48px;
    }
    .tech-inside__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .tech-inside__card {
        padding: 20px;
        align-items: flex-start;
    }

    /* comparison */
    .comparison {
        padding: 48px 0;
    }
    .comparison__header {
        margin-bottom: 48px;
    }
    .comparison__table th,
    .comparison__table td {
        padding: 14px 16px;
        font-size: 14px;
    }

    /* comparison mobile — stacked cards */
    .comparison__table-wrap {
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        border: none;
        overflow: visible;
    }
    .comparison__table {
        display: block;
    }
    .comparison__table thead {
        display: none;
    }
    .comparison__table tbody {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .comparison__table tbody tr {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 8px;
        background: #1e1e1e;
        border: none;
        border-radius: 16px;
        padding: 16px;
    }
    .comparison__table tbody td {
        border-bottom: none !important;
        padding: 8px 4px;
        font-size: 14px;
        text-align: center;
    }
    .comparison__table tbody td:first-child {
        grid-column: 1 / -1;
        text-align: center;
        font-weight: 600;
        padding-bottom: 8px;
        margin-bottom: 4px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    }
    .comparison__table tbody td.comparison__td--highlight {
        background: rgba(20, 194, 79, 0.08);
        border-radius: 10px;
    }
    .comparison__table tbody td::before {
        display: block;
        font-size: 13px;
        color: rgba(255, 255, 255, 0.4);
        margin-bottom: 4px;
        font-weight: 500;
    }
    .comparison__table tbody td:nth-child(2)::before {
        content: "Monisensa";
    }
    .comparison__table tbody td:nth-child(3)::before {
        content: "Розетки";
    }
    .comparison__table tbody td:nth-child(4)::before {
        content: "Ваттметры";
    }
    .comparison__note {
        margin-top: 12px;
        font-size: 18px;
    }

    /* technology */
    .politic,
    .product {
        padding: 20px 0 48px;
        background: none;
    }

    .product_wrapper {
        flex-direction: column;
    }

    .product_gallery {
        align-items: center;
        gap: 6px;
        width: 100%;
    }

    .product__thumbs {
        max-width: 540px;
        margin: 0;
    }

    .product_content {
        max-width: none;
    }

    .product_slider-nav {
        display: none;
    }

    .product_features-list {
        flex-wrap: wrap;
        gap: 12px;
    }

    .product_features-item {
        max-width: none;
    }

    .parameters {
        padding: 48px 0;
    }

    .parameters_inner {
        gap: 48px;
        scroll-margin-top: 76px;
    }

    .parameters_block {
        gap: 24px;
    }

    .parameters_block-list {
        display: flex;
        flex-direction: column;
    }

    .parameters_block-item:nth-last-child(2) {
        border-bottom: 1px solid var(--stroke-secondary-interface);
    }

    .technology_form-content {
        padding: 48px 0 0;
    }

    .technology_form-content,
    .technology_form-inner,
    .technology_form-links {
        flex-direction: column;
        width: 100%;
    }

    .technology_form-links a {
        width: 100%;
    }

    .technology_form-img {
        box-shadow: none;
        max-width: 460px;
        height: auto;
    }

    .help_archive {
        border-bottom: none;
    }

    .help_article-top {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 24px 16px;
    }

    .article_content,
    .help_article-author {
        padding: 48px 16px;
    }

    .article_author-name {
        flex-direction: column;
        align-items: start;
        gap: 4px;
        grid-row: 1 / 3;
        margin-top: 24px;
    }

    .article_author-descript {
        grid-column: 1/3;
    }

    .article_category-badge {
        display: none;
    }

    .article_post-time {
        order: 999;
    }

    .article_content blockquote {
        padding: 64px 16px 16px 16px;
        box-shadow:
            0 8px 12px 0 rgba(206, 202, 180, 0.24),
            inset 0px 48px 0px 0px #f0d448;
    }

    .article_content blockquote::before {
        top: 12px;
        left: 24px;
    }

    .my-widget {
        padding: 24px 16px 16px 16px;
    }

    .my-widget__title {
        margin-bottom: 12px;
    }

    .article_thanks,
    .article_like {
        padding: 16px;
    }

    .form-success__message {
        padding: 24px 36px;
        gap: 8px;
        text-align: center;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .cookie_popup__title {
        font-size: 18px;
    }

    .cookie_popup__desc {
        font-size: 13px;
    }

    .cookie_popup__actions {
        flex-direction: column;
        gap: 10px;
    }
}

@media (max-width: 450px) {
    .descript {
        font-size: 15px;
    }

    .section_wht {
        border-radius: 16px;
    }

    .wrapper {
        padding: 0;
    }

    .section-scroll-down {
        display: none;
    }

    .main {
        margin-top: 0;
    }

    .container {
        padding: 0 16px;
    }

    .second_title,
    .first_title {
        margin-left: 0;
    }

    .first_title {
        font-size: 32px;
    }

    .second_title {
        font-size: 26px;
    }

    .second_title {
        font-size: 28px;
    }

    .cookie_popup__dialog {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 18px;
        border-radius: 22px;
    }

    .cookie_popup {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .cookie_popup__status {
        gap: 8px;
    }

    .cookie_popup__actions {
        width: 100%;
        justify-content: stretch;
    }

    .cookie_btn {
        flex: 1 1 0;
        min-width: 0;
        width: 100%;
    }

    .breadcrumb-list {
        margin-top: 88px;
        padding-left: 48px;
    }

    .breadcrumb span:not(:first-child) {
        display: none;
    }

    .breadcrumb span a {
        position: relative;
    }

    .breadcrumb span a:before {
        content: "";
        position: absolute;
        left: -28px;
        top: 3px;
        width: 20px;
        height: 20px;
        transform: rotate(-90deg);
        background: url(../image/icon/ic-checkmark.svg) 50% 50% / cover
            no-repeat;
    }

    .breadcrumb-list .breadcrumb_last {
        display: none;
    }

    .hero {
        padding: 12px 0 8px;
    }

    .hero_content-right {
        max-width: 220px;
    }

    .hero_cta-price-new {
        font-size: 36px;
    }

    .hero_cta-price-new small {
        font-size: 22px;
    }

    .hero_cta-price-old {
        font-size: 15px;
    }

    .hero_cta-price-save {
        font-size: 13px;
        padding: 5px 10px;
    }

    .hero_cta-feat {
        padding: 6px 12px;
    }

    .hero_cta-feat span:last-child {
        font-size: 14px;
    }

    .hero_cta-button {
        font-size: 16px;
        padding: 16px 32px;
    }

    .hero_cta-secondary {
        font-size: 15px;
        padding: 16px 20px;
    }

    .hero_badge {
        font-size: 13px;
    }

    .hero_toggle-btn {
        font-size: 14px;
        padding: 6px 16px;
        white-space: nowrap;
    }

    section.hero .hero_toggle {
        width: auto;
        max-width: 100%;
    }

    /* hero steps mobile */
    .hero_steps {
        padding: 40px 0;
    }

    .hero_steps-header {
        margin-bottom: 28px;
    }

    /* unified glass panel padding @450 = 16px */
    .pain__card,
    .why-nilm__card,
    .sensor_cat,
    .contols_card-wrap {
        padding: 16px;
    }
    .why-nilm__card,
    .pain__card,
    .science__card,
    .tech-inside__card {
        gap: 12px;
    }
    .why-nilm__icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }
    .why-nilm__icon .material-symbols-rounded {
        font-size: 24px;
    }

    .hero_step-card {
        padding: 16px;
        gap: 14px;
        flex-direction: column;
        align-items: flex-start;
    }

    .hero_step-card-title {
        font-size: 17px;
    }

    .hero_step-card-desc {
        font-size: 15px;
    }

    .hero_step-card-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 12px;
    }

    .hero_step-card-icon .material-symbols-rounded {
        font-size: 20px;
    }

    .hero_steps-pdf {
        padding: 12px 20px;
    }

    .hero_steps-pdf-text {
        font-size: 14px;
    }

    /* energy breakdown mobile */
    .eb {
        padding: 40px 0;
    }
    .eb__chart-wrap {
        width: min(85vw, 380px);
        height: min(85vw, 380px);
    }
    .eb__chart-total-kwh {
        font-size: 32px;
    }
    .eb__chart-total-cost {
        font-size: 14px;
    }
    .eb__chart-total-label {
        font-size: 11px;
    }
    .eb__item {
        padding: 10px 8px;
    }
    .eb__item-icon-wrap {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }
    .eb__item-icon-wrap .material-symbols-rounded {
        font-size: 18px;
    }
    .eb__item-name {
        font-size: 15px;
    }
    .eb__item-kwh {
        font-size: 14px;
        min-width: 50px;
    }
    .eb__item-cost {
        font-size: 14px;
        min-width: 44px;
    }
    .eb__savings-hint {
        font-size: 15px;
        padding: 12px 14px;
    }

    /* tariff finder small */
    .tf__card {
        padding: 16px;
        border-radius: 16px;
    }
    .tf__card-name {
        font-size: 16px;
    }
    .tf__card-rate {
        font-size: 14px;
    }
    .tf__card-row {
        font-size: 14px;
        padding: 8px 0;
    }
    .tf__card-total {
        font-size: 24px;
    }
    .tf__card-badge {
        font-size: 13px;
        padding: 4px 12px;
    }
    .tf__cta-btn {
        font-size: 16px;
        padding: 14px 24px;
    }

    /* sensor mobile */
    .sensor_device {
        padding: 12px 14px;
    }

    .sensor_device-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .sensor_device-icon .material-symbols-rounded {
        font-size: 18px;
    }

    .sensor_device-name {
        font-size: 15px;
    }

    .hero_top {
        padding-right: 0;
        margin-bottom: 16px;
    }

    .slide-pc {
        display: none;
    }

    .slide-mb {
        display: flex;
    }

    .sensor_btn,
    .apps_btn {
        border-radius: 16px;
        max-height: 134px;
    }

    .sensor_btn-content {
        margin: 16px 0 16px 16px;
    }

    .apps_btn-content {
        margin: 8px 0 8px 8px;
    }

    .application {
        padding: 40px 0;
    }

    .application_inner {
        gap: 24px;
    }

    .application_title {
        text-align: center;
        font-size: 28px;
    }

    .application_content {
        flex-direction: column-reverse;
        gap: 24px;
    }

    .application_tabs-item {
        padding: 24px 16px;
    }

    .application_item-title {
        font-size: 17px;
    }

    .application_tabs-img {
        max-width: 100%;
    }

    .application_img-item img {
        max-width: 100%;
    }

    .tab-progress {
        display: none;
    }

    /* section - controls */

    .controls {
        padding: 40px 0;
    }

    .controls_inner {
        gap: 56px;
    }

    .controls_card-descript {
        margin-bottom: 0;
    }

    .controls_card-img {
        max-width: 160px;
        order: -1;
        margin: 0 auto 12px;
    }

    .controls_card-img--home {
        max-width: 200px;
    }

    .controls_card-img--money {
        max-width: 150px;
    }

    .controls_card-img--child {
        max-width: 150px;
    }

    .controls_apps-content {
        align-items: center;
        padding: 16px 16px 40px 16px;
    }

    .controls_apps-descript {
        margin-left: 8px;
    }

    .controls_apps-link {
        width: 100%;
    }

    .controls_apps-btn {
        flex-direction: column;
        align-items: center;
        grid-area: 8;
        width: 100%;
    }

    .controls_apps-demo {
        margin-bottom: 16px;
    }

    .controls_apps-btn a {
        width: 100%;
    }

    .controls_apps-appstore,
    .controls_apps-rustore {
        font-size: 28px;
        padding: 6px;
    }

    .answer {
        padding: 40px 0;
    }

    .answer_title {
        text-align: center;
        margin-bottom: 48px;
    }

    .answer_show-more {
        text-align: center;
        width: 100%;
        margin-top: 8px;
    }

    .footer_title {
        margin: 0;
    }

    .footer_btn-list li {
        width: 100%;
    }

    .footer_btn {
        flex-direction: row-reverse;
        justify-content: center;
        align-items: center;
        width: 100%;
        font-size: 16px;
        gap: 8px;
        border-radius: 12px;
    }

    .footer_btn-item .blue_element {
        padding: 14px 0;
        margin-bottom: 16px;
        font-weight: 600;
        line-height: 156%;
    }

    .footer_btn-item .blue_element span {
        margin: 0;
    }

    .footer_btn svg {
        max-height: 56px;
    }

    .footer_main-inner ul {
        gap: 8px;
    }

    .appmonisensa_top,
    .appmonisensa_main,
    .appmonisensa_bottom-content {
        padding: 0 8px;
    }

    .appmonisensa_apps-btn {
        grid-template-columns: 1fr;
    }

    .appmonisensa_apps-demo {
        grid-column: auto;
        margin-bottom: 12px;
    }

    .appmonisensa_inner::after {
        width: 145px;
        height: 145px;
    }

    .appmonisensa_popup-close {
        right: -5px;
    }

    .appmonisensa_descript-title {
        margin: 0;
    }

    /* contacts */

    .ct-hero__title {
        font-size: 28px;
        white-space: normal;
    }

    .ct-photo-frame {
        width: 160px;
    }

    .ct-profile__email {
        font-size: 13px;
        padding: 10px 14px;
    }

    .ct-email-card {
        padding: 14px 14px;
        gap: 10px;
    }

    .ct-email-card__icon {
        width: 40px;
        height: 40px;
    }

    .ct-email-card__icon .material-symbols-rounded {
        font-size: 20px;
    }

    .ct-email-card__label {
        font-size: 15px;
    }

    .ct-email-card__address {
        font-size: 13px;
    }

    .ct-details {
        border-radius: 16px;
    }

    .ct-details__header {
        padding: 16px;
    }

    .contacts__details-list li {
        flex-direction: column;
        padding: 10px 16px;
        gap: 6px;
    }

    .contacts__details-list li span.descript {
        width: auto;
        font-size: 16px;
    }

    .contacts__details-list li:first-child .copy-btn-tooltip {
        right: -15px;
    }

    .contacts__value {
        align-items: start;
        font-size: 15px;
    }

    .contacts__value p {
        overflow-wrap: break-word;
        word-break: break-word;
    }

    .contacts__value {
        align-items: start;
    }

    /* search */
    .search_inner-content {
        margin: 0;
    }

    .search__form {
        padding: 8px;
        flex-direction: column;
    }

    .search__btn {
        width: 100%;
        border-radius: 20px;
        font-size: 16px;
    }

    .search-active .search__btn {
        border-radius: 50%;
        width: fit-content;
        font-size: 0;
    }

    .search-active .search__btn svg {
        display: block;
    }

    .search__btn svg {
        display: none;
    }

    .category_list-link {
        align-items: start;
        flex-direction: column;
    }

    .search__suggestions {
        display: none;
    }

    .product_wrapper {
        gap: 14px;
    }

    .product__main-wrap {
        width: 100%;
    }

    .product__main {
        max-width: none;
    }

    .product_content {
        padding: 0 8px;
    }

    .product__price.second_title {
        font-size: 22px;
    }

    .product__price span {
        font-size: 16px;
    }

    .product__badges {
        flex-wrap: wrap;
        gap: 8px;
    }

    .product__discount {
        font-size: 14px;
        padding: 4px 8px;
    }

    .product__marketplaces {
        flex-direction: column;
        gap: 8px;
        width: 100%;
        max-width: none;
    }

    .product_marketplace-btn {
        max-width: none;
        width: 100%;
        border-radius: 12px;
    }

    .product_marketplace-btn:first-child {
        max-width: none;
    }

    .product_marketplace-btn svg {
        width: 100%;
        height: 56px;
    }

    /* tech hero left side mobile */
    .tech-hero__status {
        margin-bottom: 16px;
    }
    .tech-hero__title {
        max-width: 100%;
        line-height: 1.15;
    }
    .tech-hero__desc {
        font-size: 15px;
        max-width: 100%;
        margin-bottom: 20px;
    }
    .tech-hero__features {
        gap: 6px;
        margin-bottom: 24px;
    }
    .tech-hero__feat {
        padding: 6px 12px;
        border-radius: 10px;
    }
    .tech-hero__feat .material-symbols-rounded {
        font-size: 18px;
    }
    .tech-hero__feat span:last-child {
        font-size: 14px;
    }
    .tech-hero__price-block {
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 20px;
    }
    .tech-hero__price-value {
        font-size: 36px;
    }
    .tech-hero__price-value small {
        font-size: 22px;
    }
    .tech-hero__price-old {
        font-size: 15px;
    }
    .tech-hero__price-save {
        font-size: 13px;
        padding: 5px 12px;
    }
    .tech-hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .tech-hero__cta {
        padding: 16px 32px;
        font-size: 16px;
        border-radius: 14px;
        justify-content: center;
    }
    .tech-hero__cta-secondary {
        padding: 14px 20px;
        font-size: 15px;
        justify-content: center;
    }
    .tech-hero__plot-wrap {
        max-width: 100%;
    }
    .tech-hero__plot-label {
        font-size: 12px;
    }
    .tech-hero__plot-watts {
        font-size: 16px;
    }
    .tech-hero__plot-watts small {
        font-size: 12px;
    }
    .tech-hero__plot-cost {
        font-size: 14px;
    }
    .tech-hero__channel-label {
        font-size: 14px;
    }
    .tech-hero__channel-w {
        font-size: 14px;
    }
    /* tech hero trust mobile */
    .tech-hero__trust {
        gap: 6px;
        margin-top: 24px;
        padding-top: 16px;
    }
    .tech-hero__trust-item {
        padding: 8px 12px;
        gap: 8px;
    }
    .tech-hero__trust-icon {
        width: 34px;
        height: 34px;
        font-size: 18px;
    }
    .tech-hero__trust-text {
        font-size: 14px;
    }

    /* science mobile */
    .science {
        padding: 40px 0;
    }
    .science__header {
        margin-bottom: 32px;
    }
    .science__subtitle {
        font-size: 15px;
    }
    .science__card {
        padding: 16px;
        border-radius: 16px;
    }
    .science__card-title {
        font-size: 17px;
    }
    .science__card-text {
        font-size: 14px;
    }
    .science__examples {
        padding: 20px;
        border-radius: 16px;
    }
    .science__examples-title {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .science__example {
        padding: 16px;
    }
    .science__example-name {
        font-size: 15px;
    }
    .science__example-pattern {
        font-size: 14px;
    }
    .science__plot {
        padding: 16px;
        margin-top: 32px;
        border-radius: 16px;
    }
    .science__plot-label {
        font-size: 13px;
    }
    .science__plot-svg {
        height: 80px;
    }
    .science__plot-svg--sm {
        height: 40px;
    }
    .science__plot-device {
        min-width: 90px;
        gap: 6px;
    }
    .science__plot-device-name {
        font-size: 13px;
    }
    .science__plot-device-icon {
        font-size: 16px;
    }
    .science__plot-row {
        gap: 8px;
        padding: 6px 10px;
    }
    .science__plot-arrow {
        padding: 16px 0;
    }

    /* how it works mobile */
    .how-nilm {
        padding: 40px 0;
    }
    .how-nilm__header {
        margin-bottom: 32px;
    }
    .how-nilm__step-icon {
        width: 56px;
        height: 56px;
    }
    .how-nilm__step-icon .material-symbols-rounded {
        font-size: 26px;
    }
    .how-nilm__step-title {
        font-size: 17px;
    }
    .how-nilm__step-text {
        font-size: 14px;
    }
    .how-nilm__badge {
        font-size: 13px;
        padding: 6px 16px;
    }

    /* tech inside mobile */
    .tech-inside {
        padding: 40px 0;
    }
    .tech-inside__header {
        margin-bottom: 32px;
    }
    .tech-inside__card {
        padding: 16px;
        border-radius: 16px;
    }
    .tech-inside__card-title {
        font-size: 17px;
    }
    .tech-inside__card-text {
        font-size: 14px;
    }

    .technology_form-inner {
        padding: 0 8px;
    }

    .technology_form-title {
        margin: 0;
    }

    .technology_form-links {
        gap: 8px;
    }

    .politic_inner {
        padding: 0 8px;
    }

    .politic_title {
        margin: 0;
    }

    .help_archive-title {
        margin: 0;
    }

    .help_article-title {
        margin: 0;
    }

    .article_like-wrap {
        overflow: hidden;
    }

    .article-like .article_like {
        height: 132px;
    }

    .article_like,
    .article_thanks {
        flex-direction: column;
        gap: 16px;
    }

    .article_like-btns {
        flex-direction: column;
        width: 100%;
        gap: 8px;
    }

    .article_dislike-button,
    .article_like-button {
        width: 100%;
    }

    .article_thanks {
        top: auto;
        bottom: 10px;
        width: 93%;
        box-shadow: 0 5px 0 20px #fff;
    }

    .article_thanks-btn {
        border-radius: 16px;
        gap: 8px;
        width: 100%;
    }

    .thanks_tooltip {
        position: static;
        padding: 0;
        background: transparent;
        opacity: 1;
        visibility: visible;
        font-weight: 500;
        font-size: 14px;
        line-height: 150%;
        color: var(--typograph-black);
    }

    .wpcf7-not-valid-tip {
        font-size: 14px;
    }
}

/* ── New sections responsive: metrics, roadmap, partners, testimonials ── */

@media (max-width: 1200px) {
    /* metrics */
    .metrics__header {
        margin-bottom: 36px;
    }
    .metrics__stats {
        flex-direction: column;
        gap: 24px;
        padding: 28px 24px;
    }
    .metrics__stat-sep {
        display: none;
    }
    .metrics__stat {
        justify-content: flex-start;
        padding: 0;
    }
    .metrics__ring {
        width: 180px;
        height: 180px;
    }
    .metrics__hero-number {
        font-size: 56px;
    }
    .metrics__ring-pct {
        font-size: 24px;
    }

    /* roadmap */
    .roadmap {
        --roadmap-marker-center: 11px;
        --roadmap-line-start: 30px;
        --roadmap-line-end: 34px;
        padding: 60px 0;
    }
    .roadmap__header {
        margin-bottom: 40px;
    }
    .roadmap__phase {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 18px;
    }
    .roadmap__phase-marker {
        width: 22px;
        padding-top: 22px;
    }
    .roadmap__phase-dot {
        width: 16px;
        height: 16px;
    }
    .roadmap__phase-title {
        font-size: 24px;
    }
    .roadmap__phase-icon {
        width: 50px;
        height: 50px;
        border-radius: 16px;
    }
    .roadmap__phase-icon .material-symbols-rounded {
        font-size: 24px;
    }
    .roadmap__phase-desc {
        font-size: 18px;
    }
    .roadmap__phase-card {
        padding: 24px 22px 22px;
        border-radius: 24px;
    }
    .roadmap__phase-status {
        font-size: 13px;
    }
    .roadmap__phase-features {
        gap: 10px;
    }
    .roadmap__feature {
        font-size: 17px;
    }

    /* partners */
    .partners__grid {
        gap: 48px;
    }
    .partners__item {
        height: 40px;
    }
    .partners__item img {
        max-height: 40px;
    }
    .partners__item-text {
        font-size: 24px;
    }

    /* testimonials — deck effect with mobile-sized cards */
    .testi__carousel {
        height: 520px;
    }
    .testi__review-card {
        height: 460px;
        padding: 36px 28px;
        border-radius: 20px;
    }
    .testi__review-text {
        margin-top: 30px;
        font-size: 18px;
        -webkit-line-clamp: 7;
    }
    .testi__review-stars {
        margin-left: 0;
        margin-top: 12px;
    }
    .testi__review-footer {
        flex-wrap: wrap;
    }
}

@media (max-width: 450px) {
    .metrics__hero-number {
        font-size: 48px;
    }
    .metrics__ring {
        width: 160px;
        height: 160px;
    }

    .roadmap {
        --roadmap-marker-center: 10px;
        --roadmap-line-start: 24px;
        --roadmap-line-end: 28px;
    }

    .roadmap__phase {
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 14px;
    }
    .roadmap__badge {
        gap: 10px;
        padding: 8px 14px 8px 12px;
        font-size: 14px;
    }
    .roadmap__phase-marker {
        width: 20px;
        padding-top: 18px;
    }
    .roadmap__phase-dot {
        width: 14px;
        height: 14px;
        box-shadow: 0 0 0 4px rgba(var(--roadmap-accent-rgb), 0.05);
    }
    .roadmap__phase-dot-inner {
        width: 6px;
        height: 6px;
    }
    .roadmap__phase-title {
        font-size: 17px;
        align-items: flex-start;
        gap: 10px;
    }
    .roadmap__phase-icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }
    .roadmap__phase-icon .material-symbols-rounded {
        font-size: 18px;
    }
    .roadmap__phase-features {
        gap: 8px;
    }
    .roadmap__feature {
        width: 100%;
        font-size: 16px;
        padding: 9px 12px 9px 9px;
    }
    .roadmap__feature-icon {
        width: 22px;
        height: 22px;
    }
    .roadmap__feature-icon .material-symbols-rounded {
        font-size: 15px;
    }

    .partners__grid {
        gap: 32px;
    }
    .partners__subtitle {
        font-size: 15px;
    }

    .testi__carousel {
        height: 540px;
    }
    .testi__review-card {
        height: 480px;
        padding: 24px 20px;
    }
    .testi__review-text {
        font-size: 14px;
        -webkit-line-clamp: unset;
    }
    .testi__quote-mark {
        font-size: 64px;
        top: 12px;
        left: 16px;
    }
    .testi__review-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .testi__review-stars {
        margin-left: 0;
    }
}

/* ── Blog page responsive ──────────────────────────── */

@media (max-width: 1200px) {
    .blog-featured__slide {
        min-height: 320px;
    }

    .blog-featured__title {
        font-size: 26px;
    }
}

@media (max-width: 1200px) {
    .blog-page__inner {
        flex-direction: column;
        gap: 0;
    }

    .blog-page .help_archive-sidebar {
        position: relative;
        top: 0;
        max-width: 100%;
    }

    .blog-articles__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .blog-articles__filters {
        width: 100%;
        flex-direction: column;
    }

    .blog-filter-select,
    .blog-filter-select select,
    .blog-search,
    .blog-search input {
        width: 100%;
        min-width: 0;
    }

    .blog-featured__slide {
        min-height: 280px;
    }

    .blog-featured__title {
        font-size: 22px;
    }

    .blog-featured__excerpt {
        font-size: 15px;
    }

    .blog-featured__content {
        padding: 24px;
    }

    .value-banner-section,
    [data-theme="dark"] .value-banner-section {
        padding: 60px 0 !important;
        border-bottom: none !important;
    }

    .blog-value-banner,
    [data-theme="dark"] .blog-value-banner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 32px 28px;
        min-height: 0;
        gap: 20px;
        margin: 0;
    }

    .blog-value-banner__title {
        font-size: 24px;
    }

    .blog-value-banner__text {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .blog-articles__title {
        font-size: 28px;
    }

    .blog-post {
        padding: 20px;
    }

    .blog-post__title {
        font-size: 17px;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   STORE & PRODUCT DETAIL — responsive
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1200px) {
    /* Store grid: sidebar above products on tablet */
    .st-grid {
        grid-template-columns: 1fr;
    }

    .st-sidebar {
        position: static;
        display: flex;
        gap: 16px;
    }

    .st-sidebar__card {
        flex: 1;
    }

    .st-sidebar__info {
        margin-top: 0;
        flex: 1;
    }

    /* Product detail: stack gallery and info */
    .pd__grid {
        grid-template-columns: 1fr;
    }

    .pd__info {
        position: static;
    }

    .pd__gallery-inner {
        max-width: 600px;
        margin: 0 auto;
    }
}

@media (max-width: 1200px) {
    /* Store hero */
    .st-hero__inner {
        flex-direction: column;
        padding: 28px 24px;
        text-align: center;
    }

    .st-hero__meta {
        justify-content: center;
    }

    .st-hero__title {
        font-size: 28px;
    }

    /* Sidebar collapses to row */
    .st-sidebar {
        flex-direction: column;
    }

    /* Product card */
    .st-products__grid {
        grid-template-columns: 1fr;
    }

    .st-card__img-wrap {
        min-height: 220px;
    }

    /* Product detail gallery */
    .pd__gallery-inner {
        flex-direction: column-reverse;
    }

    .pd__thumbs {
        width: auto;
        max-height: none;
        display: flex;
        gap: 8px;
    }

    .pd__thumbs .swiper-wrapper {
        flex-direction: row;
    }

    .pd__thumbs-item {
        width: 64px !important;
        height: 64px !important;
    }

    .pd__thumb-img {
        width: 60px;
        height: 60px;
    }

    /* Product info card */
    .pd__info-card {
        padding: 24px;
    }

    .pd__title {
        font-size: 24px;
    }

    .pd__price-now {
        font-size: 28px;
    }

    /* Tabs */
    .pd-tabs__bar {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .pd-tabs__btn {
        white-space: nowrap;
        padding: 10px 16px;
        font-size: 15px;
    }

    .pd-tabs__content {
        padding: 24px;
    }

    .pd-feat__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .st-hero__meta {
        flex-direction: column;
        align-items: center;
    }

    .st-card__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .st-card__cart-btn {
        margin-left: 0;
        justify-content: center;
    }

    .st-card__view-btn {
        justify-content: center;
    }

    .pd__trust {
        grid-template-columns: 1fr;
    }

    .pd__actions {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 16px;
        background: var(--background-big-card);
        border-top: 1px solid rgba(0, 0, 0, 0.06);
        z-index: 50;
        flex-direction: row;
        gap: 8px;
    }

    .pd__buy-btn {
        flex: 1;
        padding: 14px 16px;
        font-size: 16px;
    }

    .pd__buy-now {
        flex: 1;
        padding: 14px 16px;
        font-size: 16px;
    }

    .pd-tabs {
        padding-bottom: 120px;
    }
}

/* Hero Value — Live Monitor responsive */
@media (max-width: 1200px) {
    .hv-monitor {
        grid-template-columns: 1fr;
        max-width: 560px;
    }

    .hv-summary {
        min-height: auto;
        padding: 22px;
    }

    .hv-summary__status {
        flex-wrap: wrap;
    }

    .hv-summary__label {
        width: auto;
    }

    .hv-summary__orb {
        width: min(100%, 280px);
    }

    .hv-feed {
        max-height: 452px;
    }

    .hv-summary__number {
        font-size: 54px;
    }
}

@media (max-width: 450px) {
    .hv__header {
        margin-bottom: 24px;
    }

    .hv-summary {
        padding: 20px 16px;
    }

    .hv-summary__live,
    .hv-summary__delta {
        width: 100%;
        justify-content: center;
    }

    .hv-summary__orb {
        width: min(100%, 250px);
    }

    .hv-summary__number {
        font-size: 46px;
    }

    .hv-summary__unit {
        font-size: 14px;
    }

    .hv-breakdown {
        padding: 13px 14px;
    }

    .hv-event__meta {
        margin-left: 8px;
        margin-bottom: 8px;
    }

    .hv-event__stamp {
        font-size: 13px;
    }

    .hv-event__card {
        grid-template-columns: 36px minmax(0, 1fr) auto;
        gap: 8px;
        padding: 10px 12px;
    }

    .hv-event__icon {
        width: 36px;
        height: 36px;
        min-width: 36px;
        border-radius: 10px;
    }

    .hv-event__icon .material-symbols-rounded {
        font-size: 18px;
    }

    .hv-event__name {
        font-size: 13px;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .hv-event__category {
        font-size: 10px;
        padding: 2px 6px;
    }

    .hv-event__power {
        font-size: 13px;
        font-weight: 600;
        white-space: nowrap;
    }

    .hv-feed {
        max-height: 432px;
    }
}

/* ── Mobile polish: centered content + refined spacing ────────────── */

@media (max-width: 1200px) {
    /* All section headers stay centered like desktop */
    .eb__header,
    .tf__header,
    .why-nilm__header,
    .hero_steps-header,
    .testi__header,
    .hv__header,
    .comparison__header {
        text-align: center;
    }

    /* All badges centered */
    .eb__badge,
    .tf__badge,
    .why-nilm__badge,
    .hero_steps-badge,
    .testi__badge,
    .hv__badge {
        justify-content: center;
    }

    /* Subtitles / descriptions under headers — centered */
    .eb__subtitle,
    .tf__subtitle,
    .hv__subtitle,
    .why-nilm__desc,
    .comparison__desc {
        text-align: center;
    }

    /* Section descriptions (generic .descript inside headers) centered */
    .eb__header .descript,
    .tf__header .descript,
    .why-nilm__header .descript,
    .hero_steps-header .descript,
    .testi__header .descript,
    .hv__header .descript,
    .comparison__header .descript {
        text-align: center;
    }

    /* Controls section title + description centered */
    .controls_title {
        text-align: center;
    }

    .controls_card-descript {
        text-align: center;
    }

    /* Application title stays centered (override the 450px left-align) */
    .application_title {
        text-align: center;
    }

    /* FAQ title stays centered */
    .answer_title {
        text-align: center;
    }

    /* Hero steps: center the badge row */
    .hero_steps-header {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* Tariff finder CTA centered */
    .tf__cta {
        text-align: center;
    }

    /* Pain section — center header text */
    .pain__header {
        text-align: center;
    }

    /* Sensor section header centered */
    .sensor_header {
        text-align: center;
    }

    /* Card content stays left-aligned (not centered) */
    .why-nilm__card,
    .hero_step-card,
    .controls_card-item,
    .pain__card {
        text-align: left;
        align-items: flex-start;
    }

    .why-nilm__card-content,
    .why-nilm__card-title,
    .why-nilm__card-text,
    .pain__card-title,
    .pain__card-text {
        text-align: left;
    }

    /* Comparison table: clean on mobile */
    .comparison__table-wrap {
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }

    /* Testimonials: ensure badge + title center on mobile */
    .testi__header {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 450px) {
    /* Override any left-align overrides — keep everything centered */
    .application_title {
        text-align: center;
    }

    .answer_title {
        text-align: center;
    }

    .controls_title {
        text-align: center;
    }

    /* Tighter, more polished section paddings */
    .eb__header,
    .tf__header,
    .why-nilm__header,
    .hero_steps-header,
    .comparison__header,
    .hv__header {
        margin-bottom: 32px;
    }

    /* Badges: slightly smaller on small phones */
    .eb__badge,
    .tf__badge,
    .why-nilm__badge,
    .hero_steps-badge,
    .testi__badge,
    .hv__badge {
        font-size: 14px;
        padding: 6px 16px;
    }

    /* Subtitles tighter on small screens */
    .eb__subtitle,
    .tf__subtitle {
        font-size: 15px;
    }

    /* Controls description text smaller on mobile */
    .controls_card-descript {
        font-size: 15px;
    }

    /* Nicer card radius consistency */
    .why-nilm__card,
    .pain__card,
    .tf__card,
    .controls_card-item {
        border-radius: 16px;
    }

    /* Cards must stay left-aligned, not centered */
    .why-nilm__card,
    .why-nilm__card-content,
    .why-nilm__card-title,
    .why-nilm__card-text,
    .pain__card,
    .pain__card-title,
    .pain__card-text {
        text-align: left;
    }

    /* Tariff cards: ensure centered within single-column */
    .tf__cards {
        max-width: 100%;
    }

    /* Better hero image sizing on very small phones */
    section.hero .hero_content-right img {
        width: min(100%, 260px);
    }
}


/* ── Mobile navigation + overlay cleanup ───────────────────────────── */

@media (max-width: 1200px) {
    .header {
        top: 12px;
        bottom: auto;
        left: 12px;
        right: 12px;
        width: auto;
        padding: 0;
    }

    .header_section,
    .scroll .header_section,
    [data-theme="dark"] .scroll .header_section {
        height: 64px;
        border-radius: 22px;
        box-shadow:
            0 14px 40px rgba(4, 10, 24, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.06);
        backdrop-filter: blur(18px) saturate(132%);
        -webkit-backdrop-filter: blur(18px) saturate(132%);
    }

    .header_logo {
        max-width: 118px;
    }

    .header_center {
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100dvh - 40px);
        padding: 24px 20px calc(env(safe-area-inset-bottom, 0px) + 80px);
        border-radius: 24px 24px 0 0;
        transform: translateY(100%);
    }

    .header-drop-menu .header_center {
        transform: translateY(0);
        box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.15);
    }

    .menu_title {
        margin-bottom: 18px;
    }

    .nav_list {
        gap: 10px;
    }

    .nav_list li a {
        border-radius: 16px;
        padding: 14px 16px;
        font-size: 16px;
    }

    .main {
        margin-top: 96px !important;
        margin-bottom: 36px;
    }

    .body--has-chat .main {
        margin-bottom: 112px;
    }
}

@media (max-width: 1200px) {
    .cookie_popup {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .cookie_popup__dialog {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px;
        border-radius: 22px;
    }

    .cookie_popup__title {
        font-size: 18px;
    }

    .cookie_popup__desc {
        font-size: 13px;
    }

    .cookie_popup__status {
        display: none;
    }

    .cookie_popup__actions {
        width: 100%;
        flex-direction: row;
        gap: 10px;
    }

    .cookie_btn {
        min-height: 50px;
        width: 100%;
        padding: 14px 16px;
        font-size: 14px;
    }
}

@media (max-width: 450px) {
    .header {
        top: 10px;
        left: 10px;
        right: 10px;
    }

    .header_section {
        padding: 0 12px;
    }

    .header_logo {
        max-width: 108px;
    }

    .header_buy-btn,
    .scroll .header_buy-btn {
        min-height: 46px;
        padding: 10px 12px;
    }

    .header_buy-btn__text {
        font-size: 12px;
    }

    .header_center {
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 20px 16px calc(env(safe-area-inset-bottom, 0px) + 72px);
        max-height: calc(100dvh - 40px);
    }

    .main {
        margin-top: 88px !important;
        margin-bottom: 28px;
    }

    .body--has-chat .main {
        margin-bottom: 96px;
    }

    .cookie_popup__actions {
        flex-direction: column;
    }
}


/* ── Restore mobile bottom nav ─────────────────────────────────────── */
@media (max-width: 1200px) {
    .header {
        top: auto;
        bottom: 12px;
        left: 12px;
        right: 12px;
        width: auto;
        padding: 0;
    }

    .header_center {
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100dvh - 40px);
        padding: 24px 20px calc(env(safe-area-inset-bottom, 0px) + 80px);
        border-radius: 24px 24px 0 0;
        transform: translateY(100%);
    }

    .header-drop-menu .header {
        bottom: 0;
        left: 0;
        right: 0;
    }

    .header-drop-menu .header_section {
        border-radius: 0;
    }

    .header-drop-menu .header_center {
        transform: translateY(0);
        box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.15);
    }

    .main {
        margin-top: 0 !important;
        margin-bottom: 92px;
    }

    .body--has-chat .main {
        margin-bottom: 160px;
    }
}

@media (max-width: 450px) {
    .header {
        top: auto;
        bottom: 10px;
        left: 10px;
        right: 10px;
    }

    .header_center {
        bottom: 0;
        left: 0;
        right: 0;
        padding: 20px 16px calc(env(safe-area-inset-bottom, 0px) + 72px);
        max-height: calc(100dvh - 40px);
    }

    .main {
        margin-top: 0 !important;
        margin-bottom: 88px;
    }

    .body--has-chat .main {
        margin-bottom: 152px;
    }
}
