.nfxp-shop-archive { --catalog-columns: 3; padding-block: clamp(20px,3vw,44px) clamp(44px,6vw,88px); }
.nfxp-shop-cols-4 .nfxp-shop-archive { --catalog-columns: 4; }
.nfxp-shop-top { padding-bottom: clamp(16px,2.7vw,36px); margin-bottom: 28px; }
.nfxp-shop-top h1 { font-size: clamp(2rem,4.8vw,3.8rem); color: var(--nm-ink); line-height: 1.25; letter-spacing: -.035em; margin: .45em 0 0; }
.nfxp-shop-top .wp-block-term-description { color: var(--nm-muted); max-width: 70ch; }
.nfxp-shop-layout { display: grid; grid-template-columns: minmax(180px,248px) minmax(0,1fr); gap: clamp(20px,3vw,48px); align-items: start; }
.nfxp-shop-layout > * { min-width: 0; max-width: none; width: 100%; margin-block: 0; }
.nfxp-shop-sidebar-right .nfxp-shop-layout { grid-template-columns: minmax(0,1fr) minmax(180px,248px); }
.nfxp-shop-sidebar-right .nfxp-shop-aside { grid-column: 2; grid-row: 1; }
.nfxp-shop-sidebar-right .nfxp-shop-results { grid-column: 1; grid-row: 1; }
:is(.nfxp-shop-sidebar-none,.nfxp-filters-off) .nfxp-shop-layout { grid-template-columns: minmax(0,1fr); }
.nfxp-filters-off .nfxp-shop-results { grid-area: auto; }
.nfxp-shop-aside { background: #f7f9fa; border: 1px solid var(--nm-border); border-radius: 14px; padding: clamp(14px,1.8vw,25px); }
.nfxp-shop-aside :where(fieldset,input[type="text"]) { min-inline-size:0;max-inline-size:100%; }
.nfxp-shop-aside .wc-block-product-filter-price-slider__content:not(.wc-block-product-filter-price-slider__content--inline) { grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"price-slider price-slider" "left-input right-input"; }
.nfxp-shop-aside input[type="text"] { width:100%; }
.nfxp-shop-aside h3 { margin-block: 0 .6rem; font-size: 1rem; }
.nfxp-shop-aside .wp-block-woocommerce-product-filters { margin: 0; }
.nfx-shop-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .65rem 1rem; color: var(--nm-muted); font-size: .9rem; }
.nfx-shop-tools > *, .nfx-shop-tools .woocommerce-result-count, .nfx-shop-tools .woocommerce-ordering { margin: 0; }
.nfx-shop-tools select { max-width: 100%; min-height: 44px; padding: 7px 10px; border: 1px solid var(--nm-border); border-radius: var(--nfx-radius); color: var(--nm-ink); background: white; } :root {
--nfx-product-ink: #28282b;
--nfx-product-muted: #68615e;
--nfx-product-wine: #733249;
--nfx-product-gold: #94744b;
--nfx-product-paper: #f6f3ef;
--nfx-product-line: #e4ded7;
}
.nfm-product-collection { min-width: 0; }
.nfxp-shop-archive .nfm-product-collection ul.wc-block-product-template,
.nfm-products-section .nfm-product-collection ul.wc-block-product-template {
display: grid; grid-template-columns: repeat(var(--catalog-columns,4), minmax(0,1fr));
gap: clamp(24px,3vw,48px) clamp(12px,1.8vw,30px);
margin-inline: 0; padding: 0; align-items: stretch; list-style: none;
}
.wc-block-product-template > li.wc-block-product,
.nfvb-product-cards > .nfxp-builder-tile, .wc-block-grid__products > .wc-block-grid__product.nfxp-legacy-tile,
.woocommerce ul.products > li.product:not(.product-category) {
--tile-radius:14px; --tile-pad:clamp(9px,1vw,16px);
min-width:0; display:flex; flex-direction:column; position:relative; isolation:isolate;
padding:0 0 clamp(14px,1.35vw,22px); border:0; border-radius:calc(var(--tile-radius) + 5px);
background:#fff; box-shadow:var(--tile-shadow,0 2px 5px rgb(44 33 28 / 5%),0 8px 26px -6px rgb(44 33 28 / 16%)); text-align:start;
}
.wc-block-product-template > li.wc-block-product { margin:0; width:auto; }
.nfxp-card-style-premium { --tile-shadow:0 3px 6px rgb(63 40 29 / 7%),0 14px 30px -7px rgb(63 40 29 / 22%); }
.nfxp-card-style-minimal { --tile-shadow:0 2px 13px rgb(44 33 28 / 10%); }
.wc-block-product .wc-block-components-product-image, .nfxp-tile-media {
display: block; isolation: isolate; overflow: hidden; position: relative; width: 100%;
margin:0; border-radius:calc(var(--tile-radius,14px) + 5px) calc(var(--tile-radius,14px) + 5px) var(--tile-radius,14px) var(--tile-radius,14px); background: var(--nfx-product-paper);
}
.wc-block-product .wc-block-components-product-image > a, .nfxp-tile-photo {
display: block; position: relative; color: inherit;
}
.wc-block-product .wc-block-components-product-image img,
.nfxp-builder-tile .nfxp-tile-media img, .woocommerce ul.products li.product .woocommerce-loop-product__link img {
display: block; width: 100%; margin: 0; height: auto; aspect-ratio: var(--nfx-photo-ratio,3/4); object-fit: contain;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link img { border-radius:calc(var(--tile-radius) + 5px) calc(var(--tile-radius) + 5px) var(--tile-radius) var(--tile-radius); }
.wc-block-product .wc-block-components-product-image__inner-container { pointer-events:none; }
.wc-block-product .wc-block-components-product-sale-badge,
:is(.nfxp-builder-tile,.nfxp-legacy-tile) .nfxp-sale-mark, .woocommerce ul.products li.product .nfxp-sale-mark,
.nfm-product-page .nfm-product-detail .wp-block-woocommerce-product-image-gallery > span.nfxp-sale-mark {
display: inline-flex; align-items: center; align-self: flex-start; justify-content:center; float: none;
width: max-content; max-width: calc(100% - 12px); min-width: 0; min-height: 0;
margin:0; padding:.48em 1.02em .5em; border:0; border-radius:calc(var(--tile-radius,10px) + 5px) 0 1.15em 0;
background:#d51f26; color:#fff;
box-shadow: 0 2px 7px rgb(47 19 28 / 15%); font-weight: 700; font-size: clamp(.75rem,.85vw,.9rem); line-height: 1.18;
font-variant-numeric:tabular-nums; letter-spacing:.015em; text-transform:none; white-space: nowrap;
}
.wc-block-product .wp-block-woocommerce-product-image .wp-block-woocommerce-product-sale-badge,
.wc-block-product-template > li.wc-block-product > .wp-block-woocommerce-product-sale-badge,
:is(.nfxp-builder-tile,.nfxp-legacy-tile) .nfxp-sale-mark, .woocommerce ul.products li.product .nfxp-sale-mark,
.nfm-product-page .nfm-product-detail .wp-block-woocommerce-product-image-gallery > span.nfxp-sale-mark {
position:absolute; z-index:2; inset:0 auto auto 0; margin:0; transform:none; pointer-events:none;
}
.wc-block-product .wc-block-components-product-image .wc-block-components-product-sale-badge {
position:static; inset:auto; transform:none; align-self:flex-start;
}
.wc-block-product-template .wp-block-woocommerce-product-button,
.wc-block-all-products .wc-block-grid__product-add-to-cart { display: none; } .wc-block-grid.has-1-columns { --nfx-legacy-cols:1; }
.wc-block-grid.has-2-columns { --nfx-legacy-cols:2; }
.wc-block-grid.has-4-columns { --nfx-legacy-cols:4; }
.wc-block-grid.has-5-columns { --nfx-legacy-cols:5; }
.wc-block-grid.has-6-columns { --nfx-legacy-cols:6; }
.wc-block-grid .wc-block-grid__products:has(> .nfxp-legacy-tile) {
display:grid; grid-template-columns:repeat(var(--nfx-legacy-cols,3),minmax(0,1fr)); gap:clamp(12px,1.6vw,26px); margin:0; padding:0;
}
.wc-block-grid .wc-block-grid__products > li.wc-block-grid__product.nfxp-legacy-tile { width:auto; max-width:none; margin:0; padding-inline:0; }
@media (min-width:768px) and (max-width:1024px) {
.wc-block-grid:is(.has-4-columns,.has-5-columns,.has-6-columns) .wc-block-grid__products { --nfx-legacy-cols:3; }
}
@media (max-width:767px) {
.wc-block-grid:not(.has-1-columns) .wc-block-grid__products { --nfx-legacy-cols:2; }
}
.wc-block-grid__product.nfxp-legacy-tile .wc-block-grid__product-link { display: block; color: var(--nfx-product-ink); text-align: start; text-decoration: none; }
.nfxp-legacy-tile .nfxp-tile-media .wc-block-grid__product-image { margin: 0; }
.nfxp-legacy-tile .nfxp-tile-media img { display: block; width: 100%; height: auto; aspect-ratio: var(--nfx-photo-ratio,3/4); object-fit: contain; }
.wc-block-grid__product.nfxp-legacy-tile .wc-block-grid__product-title { color: var(--nfx-product-ink); font-weight: 500; font-size: 1.13rem; line-height: 1.3; }
.wc-block-grid__product.nfxp-legacy-tile .wc-block-grid__product-price { text-align: start; }
.wc-block-product-template li.wc-block-product .wp-block-post-title,
.nfxp-builder-tile .nfxp-tile-title, .woocommerce ul.products li.product .woocommerce-loop-product__title {
margin: 0 0 .44rem; padding: 0; color: var(--nfx-product-ink); text-align: start;
font-weight: 500; font-size: clamp(1rem,1.32vw,1.32rem); line-height: 1.43;
letter-spacing: -.015em; overflow-wrap: anywhere; text-wrap: pretty;
}
.wc-block-product-template li.wc-block-product > .wp-block-woocommerce-product-image,
.nfxp-builder-tile > :is(.nfxp-tile-photo,.nfxp-tile-media),
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.wc-block-grid__product.nfxp-legacy-tile .nfxp-tile-media { margin-bottom:clamp(10px,1vw,16px); }
.wc-block-product .wp-block-post-title a, .nfxp-builder-tile .nfxp-tile-title a { color: inherit; text-decoration: none; }
.wc-block-product .wp-block-post-title a:hover, .nfxp-builder-tile .nfxp-tile-title a:hover { color: var(--nfx-product-wine); text-decoration: underline; text-underline-offset: .17em; }
.wc-block-product .wp-block-woocommerce-product-price, .nfxp-builder-tile .nfxp-tile-price,
.woocommerce ul.products li.product .price {
margin: auto 0 0; padding-top: .18rem; color: var(--nfx-product-ink); text-align: start;
font-weight: 650; font-size: clamp(.88rem,1.04vw,1.05rem); line-height: 1.45; font-variant-numeric: tabular-nums;
}
.wc-block-product .wc-block-components-product-price { text-align: start; }
:is(.wc-block-components-product-price,.nfxp-tile-price,.wc-block-grid__product-price,.woocommerce-loop-product__link .price):has(> ins) {
display: flex; flex-wrap: wrap; align-items: baseline; gap: .08em .55em;
}
:is(.wc-block-components-product-price,.nfxp-tile-price,.wc-block-grid__product-price,.woocommerce-loop-product__link .price) > ins {
order: -1; text-decoration: none; background: none; color: var(--nfx-product-wine); font-weight: 700;
}
:is(.wc-block-components-product-price,.nfxp-tile-price,.wc-block-grid__product-price,.woocommerce-loop-product__link .price) > del {
font-size: .78em; font-weight: 400; color: var(--nfx-product-muted); opacity: 1; text-decoration-thickness: 1px;
}
.wc-block-product-template li.wc-block-product > :is(.wp-block-post-title,.wp-block-woocommerce-product-price,.wp-block-woocommerce-product-rating),
.nfxp-builder-tile > :is(.nfxp-tile-title,.nfxp-tile-price),
.woocommerce ul.products li.product .woocommerce-loop-product__link :is(.woocommerce-loop-product__title,.price),
.wc-block-grid__product.nfxp-legacy-tile :is(.wc-block-grid__product-title,.wc-block-grid__product-price,.wc-block-grid__product-rating) {
padding-inline:var(--tile-pad);
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
.wc-block-product .wc-block-components-product-image img, .nfxp-tile-photo img { transition: transform .35s ease; }
.wc-block-product .wc-block-components-product-image a:hover img, .nfxp-tile-photo:hover img { transform: scale(1.025); }
}
@media (min-width:768px) and (max-width:1024px) {
.nfxp-shop-archive { --catalog-columns: 2; }
.nfxp-shop-cols-4 .nfxp-shop-archive { --catalog-columns: 3; }
.nfm-products-section { --catalog-columns: 3; }
}
@media (max-width: 781px) {
.nfxp-shop-layout, .nfxp-shop-sidebar-right .nfxp-shop-layout { grid-template-columns: minmax(0,1fr); gap: 14px; }
.nfxp-shop-sidebar-right .nfxp-shop-layout > * { grid-area: auto; }
.nfxp-shop-aside { padding: 10px 12px; }
}
@media (max-width: 767px) {
.nfx-shop-tools .wc-block-catalog-sorting select.orderby { font-size: max(16px,1rem); }
.nfx-shop-tools .woocommerce-ordering { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.nfxp-shop-archive, .nfxp-shop-cols-4 .nfxp-shop-archive, .nfm-products-section { --catalog-columns: 2; }
.nfxp-mobile-cols-1 .nfxp-shop-archive { --catalog-columns: 1; }
}
.nfxp-shop-aside .wc-block-product-filter-price-slider .text input[type=text] { width:100%;max-width:100%;font-variant-numeric:tabular-nums; }