.np-grid {
    display: grid;
    gap: var(--np-grid-gap, 1.5rem);
}

.np-inline-grid {
    display: inline-grid;
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-auto {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-grid-auto-min, 260px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-auto-sm {
    --np-grid-auto-min: 220px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-grid-auto-min)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-auto-md {
    --np-grid-auto-min: 280px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-grid-auto-min)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-auto-lg {
    --np-grid-auto-min: 340px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-grid-auto-min)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-auto-xl {
    --np-grid-auto-min: 420px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-grid-auto-min)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-fill {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--np-grid-auto-min, 260px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-1 {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-5 {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-6 {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-12 {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
    gap: var(--np-grid-gap, 1.5rem);
    align-items: start;
}

.np-grid-dashboard-reverse {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 280px);
    gap: var(--np-grid-gap, 1.5rem);
    align-items: start;
}

.np-grid-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, var(--np-archive-sidebar-width, 320px));
    gap: var(--np-archive-gap, var(--np-spacing-xl, 2rem));
    align-items: start;
}

.np-grid-sidebar-start {
    display: grid;
    grid-template-columns: minmax(260px, var(--np-archive-sidebar-width, 320px)) minmax(0, 1fr);
    gap: var(--np-archive-gap, var(--np-spacing-xl, 2rem));
    align-items: start;
}

.np-grid-shop {
    display: grid;
    grid-template-columns: minmax(240px, var(--np-woocommerce-sidebar-width, 300px)) minmax(0, 1fr);
    gap: var(--np-woocommerce-layout-gap, var(--np-spacing-xl, 2rem));
    align-items: start;
}

.np-grid-shop-reverse {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, var(--np-woocommerce-sidebar-width, 300px));
    gap: var(--np-woocommerce-layout-gap, var(--np-spacing-xl, 2rem));
    align-items: start;
}

.np-grid-product {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    align-items: start;
}

.np-grid-product-reverse {
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    align-items: start;
}

.np-grid-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    gap: clamp(var(--np-spacing-xl, 2rem), 6vw, var(--np-spacing-4xl, 6rem));
    align-items: center;
}

.np-grid-hero-reverse {
    display: grid;
    grid-template-columns: minmax(360px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(var(--np-spacing-xl, 2rem), 6vw, var(--np-spacing-4xl, 6rem));
    align-items: center;
}

.np-grid-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    align-items: center;
}

.np-grid-split-start {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    align-items: start;
}

.np-grid-split-end {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    align-items: end;
}

.np-grid-aside {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
    gap: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    align-items: start;
}

.np-grid-aside-reverse {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
    gap: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    align-items: start;
}

.np-grid-masonry {
    column-count: 3;
    column-gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-masonry > * {
    display: inline-block;
    width: 100%;
    margin-block-end: var(--np-grid-gap, 1.5rem);
    break-inside: avoid;
}

.np-grid-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--np-product-card-min, 260px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-categories {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-category-card-min, 220px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-services {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-service-card-min, 260px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-posts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--np-post-card-min, 280px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-pricing {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-pricing-card-min, 300px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
    align-items: stretch;
}

.np-grid-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-stat-card-min, 180px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-team {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-team-card-min, 240px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-portfolio {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--np-portfolio-card-min, 300px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-testimonials {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-testimonial-card-min, 300px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-process {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-process-card-min, 220px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-footer {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr));
    gap: var(--np-footer-column-gap, var(--np-spacing-xl, 2rem));
    align-items: start;
}

.np-grid-footer-compact {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--np-footer-column-gap, var(--np-spacing-xl, 2rem));
    align-items: start;
}

.np-grid-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--np-header-gap, var(--np-spacing-lg, 1.5rem));
    align-items: center;
}

.np-grid-header-center {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: var(--np-header-gap, var(--np-spacing-lg, 1.5rem));
    align-items: center;
}

.np-grid-account {
    display: grid;
    grid-template-columns: minmax(240px, var(--np-account-sidebar-width, 280px)) minmax(0, 1fr);
    gap: var(--np-grid-gap, 1.5rem);
    align-items: start;
}

.np-grid-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    gap: var(--np-grid-gap, 1.5rem);
    align-items: start;
}

.np-grid-cart {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    gap: var(--np-grid-gap, 1.5rem);
    align-items: start;
}

.np-grid-template {
    display: grid;
    grid-template-columns: var(--np-grid-template-columns, repeat(12, minmax(0, 1fr)));
    grid-template-rows: var(--np-grid-template-rows, auto);
    gap: var(--np-grid-gap, 1.5rem);
}

.np-grid-flow-row {
    grid-auto-flow: row;
}

.np-grid-flow-column {
    grid-auto-flow: column;
}

.np-grid-flow-dense {
    grid-auto-flow: dense;
}

.np-grid-flow-row-dense {
    grid-auto-flow: row dense;
}

.np-grid-flow-column-dense {
    grid-auto-flow: column dense;
}

.np-grid-auto-rows {
    grid-auto-rows: var(--np-grid-auto-rows, auto);
}

.np-grid-auto-rows-fr {
    grid-auto-rows: 1fr;
}

.np-grid-auto-cols {
    grid-auto-columns: var(--np-grid-auto-columns, auto);
}

.np-grid-auto-cols-fr {
    grid-auto-columns: 1fr;
}

.np-col-1 {
    grid-column: span 1;
}

.np-col-2 {
    grid-column: span 2;
}

.np-col-3 {
    grid-column: span 3;
}

.np-col-4 {
    grid-column: span 4;
}

.np-col-5 {
    grid-column: span 5;
}

.np-col-6 {
    grid-column: span 6;
}

.np-col-7 {
    grid-column: span 7;
}

.np-col-8 {
    grid-column: span 8;
}

.np-col-9 {
    grid-column: span 9;
}

.np-col-10 {
    grid-column: span 10;
}

.np-col-11 {
    grid-column: span 11;
}

.np-col-12 {
    grid-column: span 12;
}

.np-col-full {
    grid-column: 1 / -1;
}

.np-col-auto {
    grid-column: auto;
}

.np-row-1 {
    grid-row: span 1;
}

.np-row-2 {
    grid-row: span 2;
}

.np-row-3 {
    grid-row: span 3;
}

.np-row-4 {
    grid-row: span 4;
}

.np-row-5 {
    grid-row: span 5;
}

.np-row-6 {
    grid-row: span 6;
}

.np-row-full {
    grid-row: 1 / -1;
}

.np-row-auto {
    grid-row: auto;
}

.np-col-start-1 {
    grid-column-start: 1;
}

.np-col-start-2 {
    grid-column-start: 2;
}

.np-col-start-3 {
    grid-column-start: 3;
}

.np-col-start-4 {
    grid-column-start: 4;
}

.np-col-start-5 {
    grid-column-start: 5;
}

.np-col-start-6 {
    grid-column-start: 6;
}

.np-col-start-7 {
    grid-column-start: 7;
}

.np-col-start-8 {
    grid-column-start: 8;
}

.np-col-start-9 {
    grid-column-start: 9;
}

.np-col-start-10 {
    grid-column-start: 10;
}

.np-col-start-11 {
    grid-column-start: 11;
}

.np-col-start-12 {
    grid-column-start: 12;
}

.np-col-start-auto {
    grid-column-start: auto;
}

.np-col-end-2 {
    grid-column-end: 2;
}

.np-col-end-3 {
    grid-column-end: 3;
}

.np-col-end-4 {
    grid-column-end: 4;
}

.np-col-end-5 {
    grid-column-end: 5;
}

.np-col-end-6 {
    grid-column-end: 6;
}

.np-col-end-7 {
    grid-column-end: 7;
}

.np-col-end-8 {
    grid-column-end: 8;
}

.np-col-end-9 {
    grid-column-end: 9;
}

.np-col-end-10 {
    grid-column-end: 10;
}

.np-col-end-11 {
    grid-column-end: 11;
}

.np-col-end-12 {
    grid-column-end: 12;
}

.np-col-end-13 {
    grid-column-end: 13;
}

.np-col-end-auto {
    grid-column-end: auto;
}

.np-gap-0 {
    gap: 0;
}

.np-gap-3xs {
    gap: var(--np-spacing-3xs, 0.125rem);
}

.np-gap-2xs {
    gap: var(--np-spacing-2xs, 0.25rem);
}

.np-gap-xs {
    gap: var(--np-spacing-xs, 0.5rem);
}

.np-gap-sm {
    gap: var(--np-spacing-sm, 0.75rem);
}

.np-gap-md {
    gap: var(--np-spacing-md, 1rem);
}

.np-gap-lg {
    gap: var(--np-spacing-lg, 1.5rem);
}

.np-gap-xl {
    gap: var(--np-spacing-xl, 2rem);
}

.np-gap-2xl {
    gap: var(--np-spacing-2xl, 3rem);
}

.np-gap-3xl {
    gap: var(--np-spacing-3xl, 4rem);
}

.np-gap-4xl {
    gap: var(--np-spacing-4xl, 6rem);
}

.np-row-gap-0 {
    row-gap: 0;
}

.np-row-gap-xs {
    row-gap: var(--np-spacing-xs, 0.5rem);
}

.np-row-gap-sm {
    row-gap: var(--np-spacing-sm, 0.75rem);
}

.np-row-gap-md {
    row-gap: var(--np-spacing-md, 1rem);
}

.np-row-gap-lg {
    row-gap: var(--np-spacing-lg, 1.5rem);
}

.np-row-gap-xl {
    row-gap: var(--np-spacing-xl, 2rem);
}

.np-row-gap-2xl {
    row-gap: var(--np-spacing-2xl, 3rem);
}

.np-row-gap-3xl {
    row-gap: var(--np-spacing-3xl, 4rem);
}

.np-column-gap-0 {
    column-gap: 0;
}

.np-column-gap-xs {
    column-gap: var(--np-spacing-xs, 0.5rem);
}

.np-column-gap-sm {
    column-gap: var(--np-spacing-sm, 0.75rem);
}

.np-column-gap-md {
    column-gap: var(--np-spacing-md, 1rem);
}

.np-column-gap-lg {
    column-gap: var(--np-spacing-lg, 1.5rem);
}

.np-column-gap-xl {
    column-gap: var(--np-spacing-xl, 2rem);
}

.np-column-gap-2xl {
    column-gap: var(--np-spacing-2xl, 3rem);
}

.np-column-gap-3xl {
    column-gap: var(--np-spacing-3xl, 4rem);
}

.np-place-start {
    place-items: start;
}

.np-place-center {
    place-items: center;
}

.np-place-end {
    place-items: end;
}

.np-place-stretch {
    place-items: stretch;
}

.np-items-start {
    align-items: start;
}

.np-items-center {
    align-items: center;
}

.np-items-end {
    align-items: end;
}

.np-items-stretch {
    align-items: stretch;
}

.np-justify-start {
    justify-items: start;
}

.np-justify-center {
    justify-items: center;
}

.np-justify-end {
    justify-items: end;
}

.np-justify-stretch {
    justify-items: stretch;
}

.np-content-start {
    align-content: start;
}

.np-content-center {
    align-content: center;
}

.np-content-end {
    align-content: end;
}

.np-content-between {
    align-content: space-between;
}

.np-content-around {
    align-content: space-around;
}

.np-content-evenly {
    align-content: space-evenly;
}

.np-self-start {
    align-self: start;
}

.np-self-center {
    align-self: center;
}

.np-self-end {
    align-self: end;
}

.np-self-stretch {
    align-self: stretch;
}

.np-justify-self-start {
    justify-self: start;
}

.np-justify-self-center {
    justify-self: center;
}

.np-justify-self-end {
    justify-self: end;
}

.np-justify-self-stretch {
    justify-self: stretch;
}

.np-order-first {
    order: -999;
}

.np-order-last {
    order: 999;
}

.np-order-0 {
    order: 0;
}

.np-order-1 {
    order: 1;
}

.np-order-2 {
    order: 2;
}

.np-order-3 {
    order: 3;
}

.np-order-4 {
    order: 4;
}

.np-flex-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-grid-gap, 1.5rem);
}

.np-flex-grid > * {
    flex: 1 1 var(--np-flex-grid-min, 260px);
    min-width: 0;
}

.np-flex-grid-sm {
    --np-flex-grid-min: 220px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-grid-gap, 1.5rem);
}

.np-flex-grid-sm > * {
    flex: 1 1 var(--np-flex-grid-min);
    min-width: 0;
}

.np-flex-grid-md {
    --np-flex-grid-min: 280px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-grid-gap, 1.5rem);
}

.np-flex-grid-md > * {
    flex: 1 1 var(--np-flex-grid-min);
    min-width: 0;
}

.np-flex-grid-lg {
    --np-flex-grid-min: 340px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-grid-gap, 1.5rem);
}

.np-flex-grid-lg > * {
    flex: 1 1 var(--np-flex-grid-min);
    min-width: 0;
}

.np-stack {
    display: grid;
    gap: var(--np-stack-gap, var(--np-spacing-md, 1rem));
}

.np-stack-2xs {
    --np-stack-gap: var(--np-spacing-2xs, 0.25rem);
    display: grid;
    gap: var(--np-stack-gap);
}

.np-stack-xs {
    --np-stack-gap: var(--np-spacing-xs, 0.5rem);
    display: grid;
    gap: var(--np-stack-gap);
}

.np-stack-sm {
    --np-stack-gap: var(--np-spacing-sm, 0.75rem);
    display: grid;
    gap: var(--np-stack-gap);
}

.np-stack-md {
    --np-stack-gap: var(--np-spacing-md, 1rem);
    display: grid;
    gap: var(--np-stack-gap);
}

.np-stack-lg {
    --np-stack-gap: var(--np-spacing-lg, 1.5rem);
    display: grid;
    gap: var(--np-stack-gap);
}

.np-stack-xl {
    --np-stack-gap: var(--np-spacing-xl, 2rem);
    display: grid;
    gap: var(--np-stack-gap);
}

.np-stack-2xl {
    --np-stack-gap: var(--np-spacing-2xl, 3rem);
    display: grid;
    gap: var(--np-stack-gap);
}

.np-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--np-cluster-gap, var(--np-spacing-sm, 0.75rem));
}

.np-cluster-start {
    justify-content: flex-start;
}

.np-cluster-center {
    justify-content: center;
}

.np-cluster-end {
    justify-content: flex-end;
}

.np-cluster-between {
    justify-content: space-between;
}

.np-cluster-stretch {
    align-items: stretch;
}

.np-sidebar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, var(--np-sidebar-width, 320px));
    gap: var(--np-sidebar-layout-gap, var(--np-grid-gap, 1.5rem));
    align-items: start;
}

.np-sidebar-layout-start {
    display: grid;
    grid-template-columns: minmax(260px, var(--np-sidebar-width, 320px)) minmax(0, 1fr);
    gap: var(--np-sidebar-layout-gap, var(--np-grid-gap, 1.5rem));
    align-items: start;
}

.np-holy-grail {
    display: grid;
    grid-template-columns: minmax(220px, var(--np-left-sidebar-width, 280px)) minmax(0, 1fr) minmax(220px, var(--np-right-sidebar-width, 280px));
    gap: var(--np-grid-gap, 1.5rem);
    align-items: start;
}

.np-cover-grid {
    display: grid;
    min-height: var(--np-cover-min-height, 100vh);
    place-items: center;
    padding: var(--np-cover-padding, var(--np-section-padding-y, 4rem) var(--np-container-padding, 2rem));
}

.np-overlay-grid {
    display: grid;
}

.np-overlay-grid > * {
    grid-area: 1 / 1;
}

.np-overlay-grid-content {
    z-index: var(--np-z-index-content, 10);
}

.np-scroll-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: var(--np-scroll-grid-column, minmax(260px, 32%));
    gap: var(--np-grid-gap, 1.5rem);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: var(--np-container-padding, 2rem);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}

.np-scroll-grid > * {
    scroll-snap-align: start;
}

.np-scroll-grid.is-centered > * {
    scroll-snap-align: center;
}

.np-scroll-grid-sm {
    --np-scroll-grid-column: minmax(220px, 26%);
}

.np-scroll-grid-md {
    --np-scroll-grid-column: minmax(280px, 32%);
}

.np-scroll-grid-lg {
    --np-scroll-grid-column: minmax(340px, 38%);
}

.np-auto-fit-160 {
    --np-grid-auto-min: 160px;
}

.np-auto-fit-180 {
    --np-grid-auto-min: 180px;
}

.np-auto-fit-200 {
    --np-grid-auto-min: 200px;
}

.np-auto-fit-220 {
    --np-grid-auto-min: 220px;
}

.np-auto-fit-240 {
    --np-grid-auto-min: 240px;
}

.np-auto-fit-260 {
    --np-grid-auto-min: 260px;
}

.np-auto-fit-280 {
    --np-grid-auto-min: 280px;
}

.np-auto-fit-300 {
    --np-grid-auto-min: 300px;
}

.np-auto-fit-320 {
    --np-grid-auto-min: 320px;
}

.np-auto-fit-360 {
    --np-grid-auto-min: 360px;
}

.np-auto-fit-420 {
    --np-grid-auto-min: 420px;
}

.wp-block-columns.np-grid-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--np-grid-auto-min, 260px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.wp-block-columns.np-grid-columns > .wp-block-column {
    margin: 0;
}

.wp-block-post-template.np-grid,
.wp-block-query .wp-block-post-template.np-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--np-post-card-min, 280px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.woocommerce ul.products.np-grid-products,
.woocommerce-page ul.products.np-grid-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--np-product-card-min, 260px)), 1fr));
    gap: var(--np-grid-gap, 1.5rem);
}

.woocommerce ul.products.np-grid-products::before,
.woocommerce ul.products.np-grid-products::after,
.woocommerce-page ul.products.np-grid-products::before,
.woocommerce-page ul.products.np-grid-products::after {
    display: none;
}

.woocommerce ul.products.np-grid-products li.product,
.woocommerce-page ul.products.np-grid-products li.product {
    width: auto;
    margin: 0;
    float: none;
}

.elementor .np-grid,
.elementor .np-grid-auto,
.elementor .np-grid-products,
.elementor .np-grid-services,
.elementor .np-grid-posts,
.elementor .np-grid-pricing,
.elementor .np-grid-categories,
.elementor .np-grid-portfolio,
.elementor .np-grid-team,
.elementor .np-grid-testimonials,
.elementor .np-grid-process,
.elementor .np-grid-stats {
    width: 100%;
}

@media (min-width: 1201px) {
    .np-xl-grid-1 {
        grid-template-columns: 1fr;
    }

    .np-xl-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-xl-grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .np-xl-grid-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .np-xl-grid-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .np-xl-grid-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 1200px) {
    .np-grid-5,
    .np-grid-6 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .np-grid-footer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-grid-footer-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-holy-grail {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    }

    .np-holy-grail > :first-child {
        grid-column: 1 / -1;
    }

    .np-lg-grid-1 {
        grid-template-columns: 1fr;
    }

    .np-lg-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-lg-grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .np-lg-grid-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .np-lg-col-full {
        grid-column: 1 / -1;
    }

    .np-lg-order-first {
        order: -999;
    }

    .np-lg-order-last {
        order: 999;
    }
}

@media (max-width: 1024px) {
    .np-grid-4,
    .np-grid-5,
    .np-grid-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-grid-12 {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .np-grid-dashboard,
    .np-grid-dashboard-reverse,
    .np-grid-sidebar,
    .np-grid-sidebar-start,
    .np-grid-shop,
    .np-grid-shop-reverse,
    .np-grid-product,
    .np-grid-product-reverse,
    .np-grid-hero,
    .np-grid-hero-reverse,
    .np-grid-split,
    .np-grid-split-start,
    .np-grid-split-end,
    .np-grid-aside,
    .np-grid-aside-reverse,
    .np-grid-account,
    .np-grid-checkout,
    .np-grid-cart,
    .np-sidebar-layout,
    .np-sidebar-layout-start {
        grid-template-columns: 1fr;
    }

    .np-grid-header {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .np-grid-header-center {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .np-grid-masonry {
        column-count: 2;
    }

    .np-scroll-grid {
        grid-auto-columns: var(--np-scroll-grid-column-tablet, minmax(280px, 44%));
    }

    .np-md-grid-1 {
        grid-template-columns: 1fr;
    }

    .np-md-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-md-grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .np-md-grid-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .np-md-col-full {
        grid-column: 1 / -1;
    }

    .np-md-col-auto {
        grid-column: auto;
    }

    .np-md-order-first {
        order: -999;
    }

    .np-md-order-last {
        order: 999;
    }

    .np-md-order-0 {
        order: 0;
    }

    .np-md-order-1 {
        order: 1;
    }

    .np-md-order-2 {
        order: 2;
    }

    .np-md-stack {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 782px) {
    .np-grid,
    .np-grid-auto,
    .np-grid-auto-sm,
    .np-grid-auto-md,
    .np-grid-auto-lg,
    .np-grid-auto-xl,
    .np-grid-fill,
    .np-grid-2,
    .np-grid-3,
    .np-grid-4,
    .np-grid-5,
    .np-grid-6,
    .np-grid-12,
    .np-grid-products,
    .np-grid-categories,
    .np-grid-services,
    .np-grid-posts,
    .np-grid-pricing,
    .np-grid-stats,
    .np-grid-team,
    .np-grid-portfolio,
    .np-grid-testimonials,
    .np-grid-process,
    .np-grid-footer,
    .np-grid-footer-compact,
    .np-holy-grail {
        grid-template-columns: 1fr;
    }

    .np-grid-12 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .np-grid-header,
    .np-grid-header-center {
        grid-template-columns: auto 1fr auto;
    }

    .np-grid-masonry {
        column-count: 1;
    }

    .np-scroll-grid {
        grid-auto-columns: var(--np-scroll-grid-column-mobile, minmax(260px, 82%));
        padding-inline: var(--np-container-padding, 1rem);
        margin-inline: calc(var(--np-container-padding, 1rem) * -1);
    }

    .np-col-1,
    .np-col-2,
    .np-col-3,
    .np-col-4,
    .np-col-5,
    .np-col-6,
    .np-col-7,
    .np-col-8,
    .np-col-9,
    .np-col-10,
    .np-col-11,
    .np-col-12 {
        grid-column: 1 / -1;
    }

    .np-sm-grid-1 {
        grid-template-columns: 1fr;
    }

    .np-sm-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-sm-col-full {
        grid-column: 1 / -1;
    }

    .np-sm-col-auto {
        grid-column: auto;
    }

    .np-sm-order-first {
        order: -999;
    }

    .np-sm-order-last {
        order: 999;
    }

    .np-sm-order-0 {
        order: 0;
    }

    .np-sm-order-1 {
        order: 1;
    }

    .np-sm-order-2 {
        order: 2;
    }

    .np-sm-stack {
        display: grid;
        grid-template-columns: 1fr;
    }

    .np-sm-gap-xs {
        gap: var(--np-spacing-xs, 0.5rem);
    }

    .np-sm-gap-sm {
        gap: var(--np-spacing-sm, 0.75rem);
    }

    .np-sm-gap-md {
        gap: var(--np-spacing-md, 1rem);
    }

    .np-sm-gap-lg {
        gap: var(--np-spacing-lg, 1.5rem);
    }
}

@media (max-width: 480px) {
    .np-grid-12 {
        grid-template-columns: 1fr;
    }

    .np-grid-header,
    .np-grid-header-center {
        gap: var(--np-spacing-sm, 0.75rem);
    }

    .np-scroll-grid {
        grid-auto-columns: var(--np-scroll-grid-column-small, minmax(250px, 88%));
    }

    .np-xs-grid-1 {
        grid-template-columns: 1fr;
    }

    .np-xs-grid-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .np-xs-col-full {
        grid-column: 1 / -1;
    }

    .np-xs-order-first {
        order: -999;
    }

    .np-xs-order-last {
        order: 999;
    }

    .np-xs-stack {
        display: grid;
        grid-template-columns: 1fr;
    }

    .np-xs-gap-xs {
        gap: var(--np-spacing-xs, 0.5rem);
    }

    .np-xs-gap-sm {
        gap: var(--np-spacing-sm, 0.75rem);
    }

    .np-xs-gap-md {
        gap: var(--np-spacing-md, 1rem);
    }
}

@media print {
    .np-grid,
    .np-inline-grid,
    .np-grid-auto,
    .np-grid-auto-sm,
    .np-grid-auto-md,
    .np-grid-auto-lg,
    .np-grid-auto-xl,
    .np-grid-fill,
    .np-grid-1,
    .np-grid-2,
    .np-grid-3,
    .np-grid-4,
    .np-grid-5,
    .np-grid-6,
    .np-grid-12,
    .np-grid-dashboard,
    .np-grid-dashboard-reverse,
    .np-grid-sidebar,
    .np-grid-sidebar-start,
    .np-grid-shop,
    .np-grid-shop-reverse,
    .np-grid-product,
    .np-grid-product-reverse,
    .np-grid-hero,
    .np-grid-hero-reverse,
    .np-grid-split,
    .np-grid-split-start,
    .np-grid-split-end,
    .np-grid-aside,
    .np-grid-aside-reverse,
    .np-grid-account,
    .np-grid-checkout,
    .np-grid-cart,
    .np-grid-footer,
    .np-grid-footer-compact,
    .np-sidebar-layout,
    .np-sidebar-layout-start,
    .np-holy-grail {
        display: block !important;
    }

    .np-grid > *,
    .np-inline-grid > *,
    .np-grid-auto > *,
    .np-grid-auto-sm > *,
    .np-grid-auto-md > *,
    .np-grid-auto-lg > *,
    .np-grid-auto-xl > *,
    .np-grid-fill > * {
        break-inside: avoid;
        margin-block-end: 1rem;
    }

    .np-scroll-grid {
        display: block !important;
        overflow: visible !important;
    }

    .np-scroll-grid > * {
        margin-block-end: 1rem;
    }

    .np-grid-masonry {
        column-count: 1 !important;
    }
}