@media (max-width: 1440px) {
    :root {
        --np-container-width: var(--np-container-lg);
    }

    .np-loop-four-columns,
    .np-page-grid-four {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1280px) {
    :root {
        --np-container-width: var(--np-container-md);
        --np-section-padding-y: clamp(2.75rem, 6vw, 5.5rem);
    }

    .np-header-inner {
        gap: var(--np-spacing-lg);
    }

    .np-loop,
    .np-index-loop,
    .np-archive-loop,
    .np-search-loop,
    .np-related-posts-grid,
    .np-page-grid,
    .np-page-grid-four,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-content-layout-right-sidebar,
    .np-content-layout-left-sidebar,
    .np-layout-right-sidebar .np-content-layout,
    .np-layout-left-sidebar .np-content-layout {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
        gap: var(--np-spacing-xl);
    }

    .np-footer-widgets-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    :root {
        --np-container-width: var(--np-container-sm);
        --np-card-padding: var(--np-spacing-lg);
    }

    .np-content-layout-right-sidebar,
    .np-content-layout-left-sidebar,
    .np-layout-right-sidebar .np-content-layout,
    .np-layout-left-sidebar .np-content-layout,
    .np-page-layout,
    .np-single-layout,
    .np-archive-layout,
    .np-search-layout,
    .np-index-layout,
    .np-404-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-content-layout-left-sidebar .np-content-main,
    .np-layout-left-sidebar .np-content-main,
    .np-content-layout-left-sidebar .np-sidebar-area,
    .np-layout-left-sidebar .np-sidebar-area {
        order: initial;
    }

    .np-sidebar-area,
    .np-layout-sidebar {
        margin-block-start: var(--np-spacing-xl);
    }

    .np-sidebar-inner,
    .np-layout-sidebar-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-header-inner {
        grid-template-columns: auto auto;
        justify-content: space-between;
    }

    .np-header-navigation-area {
        display: none;
    }

    .np-menu-toggle {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .np-mobile-navigation.is-open,
    .np-mobile-navigation:not([hidden]) {
        display: block;
    }

    .np-footer-inner {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .np-footer-navigation,
    .np-footer-menu,
    .np-footer-social-links,
    .np-footer-social-links-list {
        justify-content: flex-start;
    }

    .woocommerce-checkout .woocommerce-checkout {
        grid-template-columns: minmax(0, 1fr);
    }

    .woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    :root {
        --np-container-width: var(--np-container-xs);
        --np-header-height: 76px;
    }

    .np-content-area,
    .np-page-area,
    .np-single-area,
    .np-archive-area,
    .np-search-area,
    .np-404-area,
    .np-landing-area {
        padding-block: clamp(2.5rem, 6vw, 4.5rem);
    }

    .np-page-header {
        margin-block-end: var(--np-spacing-xl);
    }

    .np-page-title,
    .np-single-title,
    .woocommerce-products-header__title,
    .woocommerce-page .page-title {
        letter-spacing: -0.02em;
    }

    .np-single-content > *,
    .np-entry-content > *,
    .np-page-content > *,
    .np-full-width-main .np-entry-content > *,
    .np-blank-content > *,
    .np-canvas-content > *,
    .np-landing-content > * {
        max-width: min(100%, var(--np-container-narrow));
    }

    .np-single-content > .alignwide,
    .np-entry-content > .alignwide,
    .np-page-content > .alignwide,
    .np-full-width-main .np-entry-content > .alignwide,
    .np-blank-content > .alignwide,
    .np-canvas-content > .alignwide,
    .np-landing-content > .alignwide {
        max-width: min(100%, var(--np-container-width));
    }

    .np-footer-widgets {
        padding-block: var(--np-spacing-2xl);
    }

    .elementor-page .np-page-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-entry-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-canvas-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-landing-content .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: calc(100% - calc(var(--np-container-padding) * 2));
    }
}

@media (max-width: 900px) {
    .np-loop,
    .np-index-loop,
    .np-archive-loop,
    .np-search-loop,
    .np-loop-two-columns,
    .np-loop-three-columns,
    .np-loop-four-columns,
    .np-related-posts-grid,
    .np-page-grid,
    .np-page-grid-two,
    .np-page-grid-four,
    .woocommerce ul.products {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-sidebar-inner,
    .np-layout-sidebar-inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-post-navigation-inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-post-navigation-next {
        text-align: start;
    }

    .np-author-box {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-footer-bottom-inner {
        display: grid;
        justify-content: stretch;
        text-align: start;
    }

    .woocommerce .col2-set {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 782px) {
    :root {
        --np-admin-bar-height: 46px;
        --np-header-height: 72px;
        --np-container-padding: 1rem;
        --np-section-padding-y: 3rem;
        --np-card-padding: 1.25rem;
        --np-button-height-md: 2.875rem;
        --np-button-height-lg: 3.25rem;
    }

    html {
        font-size: 16px;
    }

    body {
        font-size: 0.975rem;
        line-height: var(--np-line-height-md);
    }

    h1,
    .np-page-title,
    .np-single-title,
    .woocommerce-products-header__title,
    .woocommerce-page .page-title {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    h2 {
        font-size: clamp(1.75rem, 8vw, 2.5rem);
    }

    h3 {
        font-size: clamp(1.375rem, 6vw, 2rem);
    }

    h4 {
        font-size: var(--np-font-size-2xl);
    }

    h5 {
        font-size: var(--np-font-size-xl);
    }

    h6 {
        font-size: var(--np-font-size-lg);
    }

    .np-container,
    .np-page-container,
    .np-single-container,
    .np-archive-container,
    .np-search-container,
    .np-index-container,
    .np-404-container,
    .np-footer-container,
    .np-header-container {
        width: min(100% - calc(var(--np-container-padding) * 2), var(--np-container-width));
    }

    .np-content-area,
    .np-page-area,
    .np-single-area,
    .np-archive-area,
    .np-search-area,
    .np-404-area,
    .np-landing-area {
        padding-block: var(--np-section-padding-y);
    }

    .np-canvas-area,
    .np-blank-area {
        padding-block: 0;
    }

    .np-header-inner {
        min-height: var(--np-header-height);
        gap: var(--np-spacing-md);
    }

    .np-custom-logo,
    .custom-logo {
        max-width: min(180px, 56vw);
        max-height: calc(var(--np-header-height) - 22px);
    }

    .np-site-title {
        font-size: var(--np-font-size-lg);
    }

    .np-site-description {
        display: none;
    }

    .np-mobile-navigation-container {
        padding-block: var(--np-spacing-md);
    }

    .np-mobile-menu {
        gap: var(--np-spacing-xs);
    }

    .np-card-body,
    .np-entry-body,
    .np-post-card-body,
    .np-archive-entry-body,
    .np-search-entry-body {
        padding: var(--np-spacing-lg);
    }

    .np-card-title,
    .np-entry-title,
    .np-post-card-title,
    .np-archive-entry-title,
    .np-search-entry-title {
        font-size: var(--np-font-size-lg);
    }

    .np-single-content,
    .np-entry-content,
    .np-page-content,
    .np-full-width-main .np-entry-content,
    .np-blank-content,
    .np-canvas-content,
    .np-landing-content {
        font-size: var(--np-font-size-md);
        line-height: var(--np-line-height-md);
    }

    .np-single-thumbnail,
    .np-page-thumbnail {
        aspect-ratio: 16 / 10;
    }

    .np-single-content h2,
    .np-entry-content h2,
    .np-page-content h2,
    .np-full-width-main .np-entry-content h2,
    .np-blank-content h2,
    .np-canvas-content h2,
    .np-landing-content h2 {
        margin-block-start: var(--np-spacing-2xl);
    }

    .np-page-featured-image,
    .np-single-featured-image {
        margin-block-end: var(--np-spacing-xl);
        border-radius: var(--np-radius-xl);
    }

    .np-page-content .wp-block-columns,
    .np-full-width-main .np-entry-content .wp-block-columns,
    .np-blank-content .wp-block-columns,
    .np-canvas-content .wp-block-columns,
    .np-landing-content .wp-block-columns,
    .np-single-content .wp-block-columns,
    .np-entry-content .wp-block-columns {
        gap: var(--np-spacing-lg);
    }

    .np-page-content .wp-block-cover,
    .np-full-width-main .np-entry-content .wp-block-cover,
    .np-blank-content .wp-block-cover,
    .np-canvas-content .wp-block-cover,
    .np-landing-content .wp-block-cover,
    .np-single-content .wp-block-cover,
    .np-entry-content .wp-block-cover {
        border-radius: var(--np-radius-xl);
    }

    .np-page-content .wp-block-pullquote,
    .np-full-width-main .np-entry-content .wp-block-pullquote,
    .np-blank-content .wp-block-pullquote,
    .np-canvas-content .wp-block-pullquote,
    .np-landing-content .wp-block-pullquote,
    .np-single-content .wp-block-pullquote,
    .np-entry-content .wp-block-pullquote {
        padding: var(--np-spacing-xl);
    }

    .np-form-grid,
    .np-page-grid,
    .np-page-grid-two,
    .np-page-grid-four {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-search-form,
    .search-form,
    .wp-block-search__inside-wrapper,
    .post-password-form p:last-child,
    .np-newsletter-form,
    .np-inline-form {
        display: grid;
    }

    .np-search-form-submit,
    .search-submit,
    .wp-block-search__button,
    .post-password-form input[type="submit"],
    .np-newsletter-form-submit {
        width: 100%;
    }

    .np-button,
    .wp-element-button,
    .wp-block-button__link,
    button,
    input[type="button"],
    input[type="reset"],
    input[type="submit"] {
        white-space: normal;
    }

    .np-button-group,
    .wp-block-buttons {
        width: 100%;
    }

    .np-button-group .np-button,
    .wp-block-buttons .wp-block-button,
    .wp-block-buttons .wp-block-button__link {
        width: 100%;
    }

    .np-content-none,
    .np-content-404 {
        padding: var(--np-spacing-2xl) var(--np-spacing-lg);
        border-radius: var(--np-radius-xl);
    }

    .np-content-404::before {
        font-size: clamp(7rem, 34vw, 12rem);
    }

    .np-404-area {
        min-height: auto;
    }

    .np-comment-list .children {
        margin-inline-start: var(--np-spacing-md);
    }

    .np-comment-form-wrapper,
    .post-password-form {
        padding: var(--np-spacing-lg);
    }

    .comment-author .avatar {
        width: 40px;
        height: 40px;
    }

    .np-footer-widgets-inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .np-footer-main {
        padding-block: var(--np-spacing-xl);
    }

    .np-footer-menu {
        flex-direction: column;
        align-items: flex-start;
    }

    .np-footer-menu .np-menu-link,
    .np-footer-menu a {
        min-height: 2rem;
        padding-inline: 0;
        background: transparent;
    }

    .np-footer-menu .np-menu-link:hover,
    .np-footer-menu .np-menu-link:focus,
    .np-footer-menu a:hover,
    .np-footer-menu a:focus {
        color: var(--np-color-accent-mint);
        background: transparent;
    }

    .np-footer .np-search-form {
        display: grid;
    }

    .np-back-to-top {
        inset-inline-end: var(--np-spacing-md);
        inset-block-end: var(--np-spacing-md);
        min-width: 2.75rem;
        min-height: 2.75rem;
        padding-inline: var(--np-spacing-sm);
    }

    .np-back-to-top-text {
        display: none;
    }

    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .alignleft,
    .alignright {
        float: none;
        margin-inline: 0;
    }

    .woocommerce-products-header__title,
    .woocommerce-page .page-title {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .woocommerce .woocommerce-ordering {
        width: 100%;
        margin-block-start: var(--np-spacing-md);
    }

    .woocommerce .woocommerce-ordering select {
        width: 100%;
    }

    .woocommerce table.shop_table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .woocommerce table.cart td.actions .coupon {
        display: grid;
    }

    .woocommerce table.cart td.actions .coupon .input-text {
        width: 100%;
    }

    .woocommerce .cart-collaterals .cart_totals {
        width: 100%;
        padding: var(--np-spacing-lg);
    }

    .woocommerce-billing-fields,
    .woocommerce-shipping-fields,
    .woocommerce-additional-fields,
    .woocommerce-checkout-review-order,
    .woocommerce-account-fields,
    .woocommerce-form-login,
    .woocommerce-form-register,
    .woocommerce-ResetPassword,
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: var(--np-spacing-lg);
    }

    .woocommerce-order-overview {
        grid-template-columns: minmax(0, 1fr);
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a {
        width: 100%;
    }

    .woocommerce #reviews #comments ol.commentlist li .comment-text,
    html[dir="rtl"] .woocommerce #reviews #comments ol.commentlist li .comment-text {
        margin-inline: 0;
        margin-block-start: var(--np-spacing-md);
    }

    .np-has-elementor .elementor-widget-button .elementor-button {
        width: auto;
        white-space: normal;
    }

    .np-has-elementor .elementor-widget-tabs .elementor-tabs-wrapper {
        display: grid;
    }

    .np-has-elementor .elementor-widget-tabs .elementor-tab-title {
        width: 100%;
    }

    .np-has-elementor .elementor-widget-tabs .elementor-tab-content {
        margin-block-start: var(--np-spacing-sm);
    }

    .elementor-page .np-page-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-entry-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-canvas-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-landing-content .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: calc(100% - calc(var(--np-container-padding) * 2));
    }
}

@media (max-width: 600px) {
    :root {
        --np-container-padding: 0.875rem;
        --np-spacing-xl: 1.5rem;
        --np-spacing-2xl: 2rem;
        --np-spacing-3xl: 3rem;
        --np-card-padding: 1rem;
    }

    h1,
    .np-page-title,
    .np-single-title {
        font-size: clamp(1.875rem, 11vw, 2.75rem);
    }

    h2 {
        font-size: clamp(1.625rem, 9vw, 2.25rem);
    }

    .np-header-inner {
        gap: var(--np-spacing-sm);
    }

    .np-custom-logo,
    .custom-logo {
        max-width: min(156px, 54vw);
    }

    .np-menu-toggle {
        width: 2.5rem;
        height: 2.5rem;
    }

    .np-mobile-menu .np-menu-link {
        min-height: 2.625rem;
        padding-inline: var(--np-spacing-sm);
    }

    .np-page-header::before {
        width: 3rem;
    }

    .np-card,
    .np-entry-card,
    .np-post-card,
    .np-archive-entry,
    .np-search-entry,
    .np-content-entry {
        border-radius: var(--np-radius-lg);
    }

    .np-card-media,
    .np-entry-media,
    .np-post-card-media,
    .np-archive-entry-media,
    .np-search-entry-media {
        aspect-ratio: 16 / 11;
    }

    .np-single-featured-image,
    .np-page-featured-image {
        border-radius: var(--np-radius-lg);
    }

    .np-post-navigation-link {
        padding: var(--np-spacing-md);
    }

    .np-footer-branding .custom-logo,
    .np-footer-branding .np-custom-logo {
        max-width: min(180px, 60vw);
    }

    .np-footer-social-links-list {
        justify-content: flex-start;
    }

    .np-footer-social-links-link {
        min-width: 2.35rem;
        min-height: 2.35rem;
    }
}

@media (max-width: 420px) {
    :root {
        --np-container-padding: 0.75rem;
    }

    .np-button,
    .wp-element-button,
    .wp-block-button__link,
    button,
    input[type="button"],
    input[type="reset"],
    input[type="submit"] {
        width: 100%;
    }

    .np-button-link,
    .np-entry-read-more,
    .np-card-link,
    .np-post-card-read-more,
    .np-archive-read-more,
    .np-search-read-more {
        width: auto;
    }

    .np-share-links {
        align-items: flex-start;
    }

    .np-share-links-list {
        width: 100%;
    }

    .np-term-list {
        align-items: flex-start;
    }

    .np-comments-navigation {
        display: grid;
    }

    .np-footer-copyright {
        font-size: var(--np-font-size-xs);
    }
}