/* Nexvio Product Slider - values come from Elementor controls through CSS variables */
.nexvio-ps{
	--nexvio-ps-spv:5; --nexvio-ps-gap:18px; --nexvio-ps-peek:.15;
	--nexvio-ps-text:#e8edf4; --nexvio-ps-muted:#8f9aab;
	--nexvio-ps-card-bg:#1f252e; --nexvio-ps-card-border:#313945; --nexvio-ps-card-border-hover:#424b58; --nexvio-ps-card-radius:6px;
	--nexvio-ps-c1:#4d8dff; --nexvio-ps-c2:#5b2fb0; --nexvio-ps-base:#141920; --nexvio-ps-pattern-op:1;
	--nexvio-ps-ratio:1/1; --nexvio-ps-img-w:52%;
	--nexvio-ps-frame-c:rgba(255,236,170,.75); --nexvio-ps-frame-w:4px; --nexvio-ps-img-radius:8px;
	--nexvio-ps-accent:#3d8bff; --nexvio-ps-accent-hover:#5a9dff; --nexvio-ps-btn-icon:#fff; --nexvio-ps-btn-size:40px; --nexvio-ps-btn-cut:8px;
	--nexvio-ps-ok:#3ccf91; --nexvio-ps-low:#e8b949; --nexvio-ps-out:#ff6371;
	--nexvio-ps-lang-bg:rgba(10,13,17,.75); --nexvio-ps-lang-border:#3d8bff; --nexvio-ps-lang-text:#8cc8ff;
	--nexvio-ps-new-bg:#3d8bff; --nexvio-ps-new-text:#fff;
	--nexvio-ps-sale-bg:#ff6371; --nexvio-ps-sale-text:#fff;
	--nexvio-ps-pre-bg:#e8b949; --nexvio-ps-pre-text:#1d1606;
	--nexvio-ps-heart-bg:rgba(10,13,17,.6); --nexvio-ps-heart:#cfd7e2; --nexvio-ps-heart-on:#ff6b8a;
	--nexvio-ps-arrow-bg:#1f252e; --nexvio-ps-arrow-border:#313945; --nexvio-ps-arrow-color:#e8edf4; --nexvio-ps-arrow-hover:#3d8bff;
	--nexvio-ps-dot:#424b58; --nexvio-ps-dot-active:#3d8bff;
	color:var(--nexvio-ps-text);
	font-family:"Barlow","Segoe UI",system-ui,sans-serif;
}
.nexvio-ps *,.nexvio-ps *::before,.nexvio-ps *::after{box-sizing:border-box}

/* header */
.nexvio-ps__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.nexvio-ps__title{margin:0;color:var(--nexvio-ps-text);font-family:"Chakra Petch","Segoe UI",sans-serif;font-weight:600;font-size:clamp(26px,3.2vw,38px);line-height:1.1}
.nexvio-ps__subtitle{margin:8px 0 0;color:var(--nexvio-ps-muted);max-width:60ch}
.nexvio-ps__tools{display:flex;align-items:center;gap:16px}
.nexvio-ps__all{color:#8cc8ff;font:600 14px/1 "Chakra Petch",sans-serif;padding:8px 0;border-bottom:1px solid currentColor;text-decoration:none}
.nexvio-ps__all:hover{color:var(--nexvio-ps-text)}
.nexvio-ps__nav{display:flex;gap:8px}
.nexvio-ps__arrow{width:44px;height:44px;border:1px solid var(--nexvio-ps-arrow-border);background:var(--nexvio-ps-arrow-bg);color:var(--nexvio-ps-arrow-color);
	border-radius:4px;cursor:pointer;display:grid;place-items:center;padding:0;transition:border-color .15s,opacity .15s}
.nexvio-ps__arrow:hover{border-color:var(--nexvio-ps-arrow-hover)}
.nexvio-ps__arrow svg{width:20px;height:20px}
.nexvio-ps__arrow[disabled]{opacity:.35;cursor:default}

/* arrows on the sides */
.nexvio-ps__viewport{position:relative}
.nexvio-ps--arrows-sides .nexvio-ps__nav{position:absolute;inset:0;pointer-events:none;justify-content:space-between;align-items:center;z-index:5}
.nexvio-ps--arrows-sides .nexvio-ps__arrow{pointer-events:auto}
.nexvio-ps--arrows-sides .nexvio-ps__nav{padding:0 10px}
.nexvio-ps--arrows-sides .nexvio-ps__arrow{box-shadow:0 6px 18px rgba(0,0,0,.25)}

/* track */
.nexvio-ps__track{display:grid;grid-auto-flow:column;gap:var(--nexvio-ps-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;
	grid-auto-columns:calc((100% - var(--nexvio-ps-gap) * (var(--nexvio-ps-spv) - 1) - var(--nexvio-ps-gap) * min(var(--nexvio-ps-peek) * 100, 1)) / (var(--nexvio-ps-spv) + var(--nexvio-ps-peek)));
	padding-bottom:4px;overscroll-behavior-x:contain}
.nexvio-ps__track::-webkit-scrollbar{display:none}
.nexvio-ps__track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.nexvio-ps__track.is-dragging a{pointer-events:none}
.nexvio-ps__slide{scroll-snap-align:start;min-width:0}
/* the last card ends flush with the right edge: no empty space at the end */
.nexvio-ps__slide:last-child{scroll-snap-align:end}
.nexvio-ps{width:100%;max-width:100%;min-width:0}
.nexvio-ps__viewport,.nexvio-ps__track{width:100%;max-width:100%;min-width:0}
.nexvio-ps.is-few .nexvio-ps__nav{display:none}

/* card */
.nexvio-ps__card{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--nexvio-ps-card-bg);
	border:1px solid var(--nexvio-ps-card-border);border-radius:var(--nexvio-ps-card-radius);transition:border-color .2s}
.nexvio-ps__card:hover{border-color:var(--nexvio-ps-card-border-hover)}
.nexvio-ps__media{position:relative;display:grid;place-items:center;aspect-ratio:var(--nexvio-ps-ratio);overflow:hidden;text-decoration:none;
	background:radial-gradient(90% 90% at 30% 20%,var(--c1,var(--nexvio-ps-c1)),transparent 70%),linear-gradient(140deg,var(--c2,var(--nexvio-ps-c2)),var(--nexvio-ps-base))}
.nexvio-ps__media::before{content:"";position:absolute;inset:0;opacity:var(--nexvio-ps-pattern-op);pointer-events:none;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48.5' viewBox='0 0 28 48.5'%3E%3Cpath d='M14 .5 27.5 8.25v15.5L14 31.5.5 23.75V8.25z M14 31.5v17' fill='none' stroke='%23ffffff' stroke-opacity='.06'/%3E%3C/svg%3E")}
.nexvio-ps--no-pattern .nexvio-ps__media::before{display:none}
.nexvio-ps__img{position:relative;z-index:1;display:block;margin:0;max-width:none;transition:transform .25s}
.nexvio-ps--contain .nexvio-ps__img{width:var(--nexvio-ps-img-w);height:auto;max-height:86%;object-fit:contain;border-radius:var(--nexvio-ps-img-radius)}
.nexvio-ps--cover .nexvio-ps__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nexvio-ps--frame.nexvio-ps--contain .nexvio-ps__img{border:var(--nexvio-ps-frame-w) solid var(--nexvio-ps-frame-c)}
.nexvio-ps--shadow.nexvio-ps--contain .nexvio-ps__img{box-shadow:0 14px 30px rgba(0,0,0,.45)}
.nexvio-ps--hover-lift .nexvio-ps__card:hover .nexvio-ps__img{transform:translateY(-4px) rotate(-2deg)}
.nexvio-ps--hover-zoom .nexvio-ps__card:hover .nexvio-ps__img{transform:scale(1.05)}

/* badges */
.nexvio-ps__badges{position:absolute;top:10px;left:10px;z-index:3;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 56px)}
.nexvio-ps__badge{font:600 11px/1 "Chakra Petch",sans-serif;padding:5px 7px;border-radius:3px;letter-spacing:.04em;border:1px solid transparent}
.nexvio-ps__badge--lang{background:var(--nexvio-ps-lang-bg);border-color:var(--nexvio-ps-lang-border);color:var(--nexvio-ps-lang-text)}
.nexvio-ps__badge--cat{background:var(--nexvio-ps-cat-bg,#3d8bff);color:var(--nexvio-ps-cat-text,#fff);border-color:var(--nexvio-ps-cat-border,transparent);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.nexvio-ps__badge--new{background:var(--nexvio-ps-new-bg);color:var(--nexvio-ps-new-text)}
.nexvio-ps__badge--sale{background:var(--nexvio-ps-sale-bg);color:var(--nexvio-ps-sale-text)}
.nexvio-ps__badge--pre{background:var(--nexvio-ps-pre-bg);color:var(--nexvio-ps-pre-text)}

/* wishlist */
.nexvio-ps__wish{position:absolute;top:6px;right:6px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
	background:var(--nexvio-ps-heart-bg);color:var(--nexvio-ps-heart);text-decoration:none;border:0;cursor:pointer;padding:0}
.nexvio-ps__wish svg{width:19px;height:19px}
.nexvio-ps__wish:hover,.nexvio-ps__wish.is-on{color:var(--nexvio-ps-heart-on)}
.nexvio-ps__wish.is-on svg{fill:currentColor}

/* body */
.nexvio-ps__body{display:flex;flex-direction:column;gap:4px;flex:1;padding:14px 14px 16px}
.nexvio-ps__meta{font-size:13px;color:var(--nexvio-ps-muted);line-height:1.35}
.nexvio-ps__name{margin:0;font:600 16px/1.25 "Chakra Petch",sans-serif;color:var(--nexvio-ps-text)}
.nexvio-ps__name a{color:inherit;text-decoration:none}
.nexvio-ps__name a:hover{color:var(--nexvio-ps-accent-hover)}
.nexvio-ps__stock{font-size:12.5px;color:var(--nexvio-ps-ok)}
.nexvio-ps__stock.is-low{color:var(--nexvio-ps-low)}
.nexvio-ps__stock.is-out{color:var(--nexvio-ps-out)}
.nexvio-ps__stock.is-pre{color:var(--nexvio-ps-low)}
.nexvio-ps__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px}
.nexvio-ps__price{font:700 19px/1.1 "Chakra Petch",sans-serif;color:var(--nexvio-ps-text)}
.nexvio-ps__price del{opacity:.55;font-size:.72em;font-weight:500;margin-right:4px}
.nexvio-ps__price ins{text-decoration:none}
.nexvio-ps__price .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* add to cart */
.nexvio-ps__add{flex-shrink:0;width:var(--nexvio-ps-btn-size);height:var(--nexvio-ps-btn-size);display:grid;place-items:center;padding:0;border:0;cursor:pointer;
	background:var(--nexvio-ps-accent);color:var(--nexvio-ps-btn-icon);text-decoration:none;
	clip-path:polygon(var(--nexvio-ps-btn-cut) 0,100% 0,100% calc(100% - var(--nexvio-ps-btn-cut)),calc(100% - var(--nexvio-ps-btn-cut)) 100%,0 100%,0 var(--nexvio-ps-btn-cut));
	transition:background .15s}
.nexvio-ps__add:hover{background:var(--nexvio-ps-accent-hover);color:var(--nexvio-ps-btn-icon)}
.nexvio-ps__add svg{width:20px;height:20px}
.nexvio-ps__add.is-disabled{background:#424b58;cursor:not-allowed;pointer-events:none}
.nexvio-ps__add.loading{opacity:.6}
.nexvio-ps__add .nexvio-ps__ok{display:none}
.nexvio-ps__add.added .nexvio-ps__plus{display:none}
.nexvio-ps__add.added .nexvio-ps__ok{display:block}
.nexvio-ps .added_to_cart{display:none!important}

/* dots */
.nexvio-ps__dots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.nexvio-ps__dots:empty{display:none}
.nexvio-ps__dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--nexvio-ps-dot);cursor:pointer;transition:width .2s,background .2s}
.nexvio-ps__dot.is-active{width:22px;border-radius:4px;background:var(--nexvio-ps-dot-active)}

.nexvio-ps__empty{padding:30px;border:1px dashed #424b58;border-radius:6px;text-align:center;color:var(--nexvio-ps-muted)}

@media (prefers-reduced-motion:reduce){.nexvio-ps__img{transition:none}}

/* wishlist loading + toast */
.nexvio-ps__wish.is-loading{opacity:.55;pointer-events:none}
.nexvio-ps__wish.is-loading svg{animation:nexvio-ps-beat .7s ease-in-out infinite}
@keyframes nexvio-ps-beat{50%{transform:scale(.82)}}
.nexvio-ps-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:99999;display:flex;gap:14px;align-items:center;
	transform:translate(-50%,30px);opacity:0;pointer-events:none;transition:.25s;background:#fff;color:#12161c;padding:12px 18px;border-radius:4px;
	font:600 14.5px/1.3 "Barlow","Segoe UI",system-ui,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.4);max-width:calc(100vw - 32px)}
.nexvio-ps-toast.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.nexvio-ps-toast a{color:#2463c9;text-decoration:underline;white-space:nowrap}

/* ---------------- GRID (archive) ---------------- */
.nexvio-pg{--nexvio-pg-cols:4;--nexvio-pg-col-gap:18px;--nexvio-pg-row-gap:22px;
	--nexvio-pg-select-bg:#181d24;--nexvio-pg-select-border:#313945;--nexvio-pg-select-color:#e8edf4;
	--nexvio-pg-p-align:center;--nexvio-pg-p-space:40px;--nexvio-pg-p-size:42px;--nexvio-pg-p-gap:8px;--nexvio-pg-p-radius:4px;
	--nexvio-pg-p-bg:#1f252e;--nexvio-pg-p-color:#e8edf4;--nexvio-pg-p-border:#313945;
	--nexvio-pg-p-bg-h:#262d37;--nexvio-pg-p-color-h:#fff;--nexvio-pg-p-border-h:#3d8bff;
	--nexvio-pg-p-bg-a:#3d8bff;--nexvio-pg-p-color-a:#fff;--nexvio-pg-p-border-a:#3d8bff}
.nexvio-pg ul.products.nexvio-pg__grid{display:grid!important;grid-template-columns:repeat(var(--nexvio-pg-cols),minmax(0,1fr))!important;
	column-gap:var(--nexvio-pg-col-gap)!important;row-gap:var(--nexvio-pg-row-gap)!important;margin:0!important;padding:0!important;list-style:none!important;
	width:auto!important;float:none!important;clear:both}
.nexvio-pg ul.products.nexvio-pg__grid::before,.nexvio-pg ul.products.nexvio-pg__grid::after{display:none!important;content:none!important}
.nexvio-pg ul.products.nexvio-pg__grid:empty{display:none!important}
.nexvio-pg ul.products li.product.nexvio-pg__item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;clear:none!important;
	list-style:none!important;position:relative;min-width:0;text-align:left;background:none;border:0;box-shadow:none}
.nexvio-pg ul.products li.product.nexvio-pg__item::before,.nexvio-pg ul.products li.product.nexvio-pg__item::after{display:none!important}
.nexvio-pg .nexvio-ps__card{height:100%}

/* toolbar */
.nexvio-pg__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.nexvio-pg .woocommerce-result-count{margin:0!important;float:none!important;color:var(--nexvio-ps-muted);font-size:14.5px}
.nexvio-pg .woocommerce-ordering{margin:0!important;float:none!important}
.nexvio-pg .woocommerce-ordering select{appearance:none;-webkit-appearance:none;background:var(--nexvio-pg-select-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%238f9aab' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 12px center;
	color:var(--nexvio-pg-select-color);border:1px solid var(--nexvio-pg-select-border);border-radius:4px;padding:10px 36px 10px 12px;font:inherit;font-size:14.5px;cursor:pointer}
.nexvio-pg .woocommerce-ordering select:focus{outline:none;border-color:var(--nexvio-ps-accent)}

/* pagination */
.nexvio-pg nav.woocommerce-pagination.nexvio-pg__pagination{display:flex;justify-content:var(--nexvio-pg-p-align);margin-top:var(--nexvio-pg-p-space);text-align:initial;border:0;padding:0}
.nexvio-pg nav.woocommerce-pagination ul.page-numbers{display:flex!important;flex-wrap:wrap;gap:var(--nexvio-pg-p-gap);border:0!important;margin:0!important;padding:0!important;list-style:none;white-space:normal}
.nexvio-pg nav.woocommerce-pagination ul.page-numbers li{display:block;float:none!important;border:0!important;margin:0!important;padding:0!important;overflow:visible!important}
.nexvio-pg nav.woocommerce-pagination ul.page-numbers li .page-numbers{display:grid!important;place-items:center;min-width:var(--nexvio-pg-p-size);height:var(--nexvio-pg-p-size);padding:0 10px!important;margin:0;
	background:var(--nexvio-pg-p-bg)!important;color:var(--nexvio-pg-p-color)!important;border:1px solid var(--nexvio-pg-p-border)!important;border-radius:var(--nexvio-pg-p-radius);
	font:600 15px/1 "Chakra Petch","Segoe UI",sans-serif;text-decoration:none;transition:background .15s,border-color .15s,color .15s;box-sizing:border-box}
.nexvio-pg nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,.nexvio-pg nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible{
	background:var(--nexvio-pg-p-bg-h)!important;color:var(--nexvio-pg-p-color-h)!important;border-color:var(--nexvio-pg-p-border-h)!important}
.nexvio-pg nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current{background:var(--nexvio-pg-p-bg-a)!important;color:var(--nexvio-pg-p-color-a)!important;border-color:var(--nexvio-pg-p-border-a)!important}
.nexvio-pg nav.woocommerce-pagination ul.page-numbers li span.page-numbers.dots{background:transparent!important;border-color:transparent!important;min-width:auto;padding:0 4px!important}
.nexvio-pg nav.woocommerce-pagination ul.page-numbers li .nexvio-pg__of{background:transparent!important;border-color:transparent!important;color:var(--nexvio-ps-muted)!important}

/* empty + editor note */
.nexvio-pg .woocommerce-no-products-found{margin:0}
.nexvio-pg .nexvio-pg__empty{margin:0!important;padding:40px 24px!important;border:1px dashed #424b58;border-radius:6px;text-align:center;background:none!important;color:var(--nexvio-ps-muted)!important;list-style:none}
.nexvio-pg .nexvio-pg__empty::before{display:none!important}
.nexvio-pg__preview-note{margin:0 0 16px;padding:10px 14px;border-radius:4px;background:rgba(61,139,255,.12);color:#8cc8ff;font-size:13.5px}

/* fallbacks - Elementor's responsive settings override these */
@media (max-width:1024px){.nexvio-ps{--nexvio-ps-spv:3;--nexvio-ps-peek:.2}}
@media (max-width:767px){.nexvio-ps{--nexvio-ps-spv:1;--nexvio-ps-peek:.35;--nexvio-ps-gap:12px}.nexvio-ps__head{margin-bottom:20px}}
@media (max-width:1024px){.nexvio-pg{--nexvio-pg-cols:3}}
@media (max-width:767px){.nexvio-pg{--nexvio-pg-cols:2;--nexvio-pg-col-gap:10px;--nexvio-pg-row-gap:12px}.nexvio-pg .nexvio-ps__body{padding:10px}.nexvio-pg .nexvio-ps__name{font-size:14.5px}.nexvio-pg .nexvio-ps__price{font-size:16px}.nexvio-pg{--nexvio-ps-btn-size:36px}}


/* ======================================================================
   Continuous infinite scroll
   ====================================================================== */
.nexvio-ps.is-marquee .nexvio-ps__track{display:block;overflow:hidden;scroll-snap-type:none;touch-action:pan-y;cursor:grab;padding-bottom:0}
.nexvio-ps.is-marquee .nexvio-ps__track.is-dragging{cursor:grabbing}
.nexvio-ps__rail{display:flex;align-items:stretch;gap:var(--nexvio-ps-gap);width:max-content;will-change:transform;backface-visibility:hidden}
.nexvio-ps.is-marquee .nexvio-ps__slide{flex:0 0 var(--nexvio-ps-slide-w,260px);width:var(--nexvio-ps-slide-w,260px);scroll-snap-align:none}
.nexvio-ps.is-marquee .nexvio-ps__dots{display:none}
.nexvio-ps.is-marquee .nexvio-ps__track.is-dragging a{pointer-events:none}

/* ======================================================================
   Shared extras: rating, text button
   ====================================================================== */
.nexvio-ps__rating{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:12px;color:var(--nexvio-l-text,var(--nexvio-ps-muted))}
.nexvio-ps__stars{display:inline-block;width:calc(var(--nexvio-star-size,13px) * 5.85);height:var(--nexvio-star-size,13px);flex-shrink:0;
	background:linear-gradient(90deg,var(--nexvio-l-star,#f5b301) var(--nexvio-rating,0%),var(--nexvio-star-empty,rgba(150,160,180,.4)) var(--nexvio-rating,0%));
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M12 .8l3.3 6.7 7.4 1.1-5.4 5.2 1.3 7.3L12 17.6l-6.6 3.5 1.3-7.3L1.3 8.6l7.4-1.1z'/%3E%3C/svg%3E") left center/calc(var(--nexvio-star-size,13px) * 1.17) var(--nexvio-star-size,13px) repeat-x;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M12 .8l3.3 6.7 7.4 1.1-5.4 5.2 1.3 7.3L12 17.6l-6.6 3.5 1.3-7.3L1.3 8.6l7.4-1.1z'/%3E%3C/svg%3E") left center/calc(var(--nexvio-star-size,13px) * 1.17) var(--nexvio-star-size,13px) repeat-x}
.nexvio-ps__sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nexvio-ps__add-label{display:none;font-weight:600;font-size:13.5px;line-height:1;white-space:nowrap}
.nexvio-ps.nexvio-ps--btn-text .nexvio-ps__add{width:auto;min-width:var(--nexvio-ps-btn-size);padding:0 16px;gap:8px;display:inline-flex;align-items:center;justify-content:center}
.nexvio-ps.nexvio-ps--btn-text .nexvio-ps__add-label{display:inline}
.nexvio-ps.nexvio-ps--btn-text .nexvio-ps__add .nexvio-ps__plus{display:none}
.nexvio-ps.nexvio-ps--btn-text .nexvio-ps__add svg{width:16px;height:16px}
.nexvio-ps.nexvio-ps--btn-text .nexvio-ps__add.added .nexvio-ps__add-label{display:none}

/* ======================================================================
   New designs: shared base (everything except Classic Vault)
   Colours: high specificity. Typography / spacing: :where() so your
   Elementor typography and padding controls still win.
   ====================================================================== */
.nexvio-ps.nexvio-ps--l .nexvio-ps__card{background:var(--nexvio-l-card,#fff);border:var(--nexvio-l-bw,1px) solid var(--nexvio-l-border,#e7e8ec);border-radius:var(--nexvio-l-radius,14px);box-shadow:var(--nexvio-l-shadow,none);color:var(--nexvio-l-text,#6b7280);transition:transform .25s,box-shadow .25s,border-color .25s}
.nexvio-ps.nexvio-ps--l .nexvio-ps__media{aspect-ratio:var(--nexvio-l-ratio,1/1);background:var(--nexvio-l-media,#f3f4f6);margin:var(--nexvio-l-media-m,0);border-radius:var(--nexvio-l-img-radius,0);overflow:hidden}
.nexvio-ps.nexvio-ps--l .nexvio-ps__media::before{display:none}
.nexvio-ps.nexvio-ps--l .nexvio-ps__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:var(--nexvio-l-fit,cover);padding:var(--nexvio-l-img-pad,0);border:0;border-radius:0;box-shadow:none;transform:none;transition:transform .45s ease}
.nexvio-ps.nexvio-ps--l .nexvio-ps__card:hover .nexvio-ps__img{transform:scale(1.04)}
.nexvio-ps.nexvio-ps--l .nexvio-ps__name{color:var(--nexvio-l-title,#111827)}
.nexvio-ps.nexvio-ps--l .nexvio-ps__name a{color:inherit}
.nexvio-ps.nexvio-ps--l .nexvio-ps__name a:hover{color:var(--nexvio-l-accent-hover,var(--nexvio-l-title,#111827));opacity:.8}
.nexvio-ps.nexvio-ps--l .nexvio-ps__meta{color:var(--nexvio-l-text,#6b7280)}
.nexvio-ps.nexvio-ps--l .nexvio-ps__price{color:var(--nexvio-l-price,#111827)}
.nexvio-ps.nexvio-ps--l .nexvio-ps__price del{color:var(--nexvio-l-old,#9ca3af);opacity:1}
.nexvio-ps.nexvio-ps--l .nexvio-ps__add{background:var(--nexvio-l-accent,#111827);color:var(--nexvio-l-accent-text,#fff);clip-path:none;border-radius:var(--nexvio-l-btn-radius,999px);transition:filter .2s,transform .2s,background .2s}
.nexvio-ps.nexvio-ps--l .nexvio-ps__add:hover{filter:brightness(1.15);color:var(--nexvio-l-accent-text,#fff)}
.nexvio-ps.nexvio-ps--l .nexvio-ps__add.is-disabled{background:#d1d5db;color:#6b7280}
.nexvio-ps.nexvio-ps--l .nexvio-ps__badge--lang{background:rgba(255,255,255,.92);border-color:rgba(17,24,39,.12);color:#111827}
.nexvio-ps.nexvio-ps--l .nexvio-ps__wish{background:rgba(255,255,255,.92);color:#374151;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.nexvio-ps.nexvio-ps--l .nexvio-ps__wish:hover,.nexvio-ps.nexvio-ps--l .nexvio-ps__wish.is-on{color:var(--nexvio-ps-heart-on)}
:where(.nexvio-ps--l) .nexvio-ps__name{font-family:inherit;font-weight:600;font-size:15.5px;line-height:1.3}
:where(.nexvio-ps--l) .nexvio-ps__price{font-family:inherit;font-weight:700;font-size:17px}
:where(.nexvio-ps--l) .nexvio-ps__body{padding:14px 16px 16px}

/* 1. Minimal Light */
.nexvio-ps--layout-minimal{--nexvio-l-media-m:8px 8px 0}
.nexvio-ps.nexvio-ps--layout-minimal .nexvio-ps__media{border-radius:var(--nexvio-l-img-radius,10px);background:var(--nexvio-l-media,#f4f4f6)}
.nexvio-ps.nexvio-ps--layout-minimal .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,9%)}
.nexvio-ps.nexvio-ps--layout-minimal .nexvio-ps__card:hover{border-color:var(--nexvio-l-border,#d6d8de);box-shadow:var(--nexvio-l-shadow,0 10px 24px -12px rgba(16,24,40,.25))}

/* 2. Image Overlay */
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__card{background:var(--nexvio-l-card,#0b0d14);border:var(--nexvio-l-bw,0) solid var(--nexvio-l-border,transparent);border-radius:var(--nexvio-l-radius,16px);color:var(--nexvio-l-text,rgba(255,255,255,.75))}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__media{aspect-ratio:var(--nexvio-l-ratio,3/4);background:var(--nexvio-l-media,#1f2433)}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__body{position:absolute;left:0;right:0;bottom:0;z-index:2;background:linear-gradient(to top,var(--nexvio-l-overlay,rgba(8,10,18,.92)) 35%,transparent);pointer-events:none}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__body a,.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__body .nexvio-ps__add{pointer-events:auto}
:where(.nexvio-ps--layout-overlay) .nexvio-ps__body{padding:72px 16px 16px}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__name{color:var(--nexvio-l-title,#fff)}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__meta{color:var(--nexvio-l-text,rgba(255,255,255,.72))}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__price{color:var(--nexvio-l-price,#fff)}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__price del{color:var(--nexvio-l-old,rgba(255,255,255,.55))}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__add{background:var(--nexvio-l-accent,#fff);color:var(--nexvio-l-accent-text,#0b0d14)}
.nexvio-ps.nexvio-ps--layout-overlay .nexvio-ps__add:hover{color:var(--nexvio-l-accent-text,#0b0d14)}

/* 3. Horizontal */
.nexvio-ps.nexvio-ps--layout-horizontal .nexvio-ps__card{flex-direction:row;align-items:stretch;border-radius:var(--nexvio-l-radius,14px)}
.nexvio-ps.nexvio-ps--layout-horizontal .nexvio-ps__media{flex:0 0 var(--nexvio-l-media-w,42%);aspect-ratio:auto;min-height:150px;margin:8px 0 8px 8px;border-radius:var(--nexvio-l-img-radius,10px);background:var(--nexvio-l-media,#f1f3f7)}
.nexvio-ps.nexvio-ps--layout-horizontal .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,8%)}
.nexvio-ps.nexvio-ps--layout-horizontal .nexvio-ps__body{min-width:0;justify-content:center}
.nexvio-ps.nexvio-ps--layout-horizontal .nexvio-ps__badges{max-width:calc(var(--nexvio-l-media-w,42%) - 16px)}
.nexvio-ps.nexvio-ps--layout-horizontal .nexvio-ps__price{color:var(--nexvio-l-price,#4150d8)}
/* exact gap: the "Space between image and details" control replaces the text-area left padding */
.nexvio-ps.nexvio-ps--layout-horizontal.nexvio-ps--img-gap .nexvio-ps__body{padding-left:0}
/* phones: image on top, details below (switch: Design Layout > Horizontal: image on top on mobile) */
@media (max-width:767px){
	.nexvio-ps.nexvio-ps--layout-horizontal.nexvio-ps--h-stack .nexvio-ps__card{flex-direction:column}
	.nexvio-ps.nexvio-ps--layout-horizontal.nexvio-ps--h-stack .nexvio-ps__media{flex:0 0 auto;width:auto;max-width:none;min-height:0;aspect-ratio:var(--nexvio-l-ratio,4/3);margin:8px 8px 0}
	.nexvio-ps.nexvio-ps--layout-horizontal.nexvio-ps--h-stack .nexvio-ps__badges{max-width:calc(100% - 56px)}
	.nexvio-ps.nexvio-ps--layout-horizontal.nexvio-ps--h-stack.nexvio-ps--img-gap .nexvio-ps__body{padding-left:14px}
}

/* 4. Glass */
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__card{background:var(--nexvio-l-card,rgba(255,255,255,.12));border:var(--nexvio-l-bw,1px) solid var(--nexvio-l-border,rgba(255,255,255,.3));border-radius:var(--nexvio-l-radius,18px);
	-webkit-backdrop-filter:blur(var(--nexvio-l-blur,14px)) saturate(1.4);backdrop-filter:blur(var(--nexvio-l-blur,14px)) saturate(1.4);
	box-shadow:var(--nexvio-l-shadow,0 12px 32px rgba(0,0,0,.18)),inset 0 1px 0 rgba(255,255,255,.35);color:var(--nexvio-l-text,rgba(255,255,255,.78))}
.nexvio-ps--layout-glass{--nexvio-l-media-m:8px 8px 0}
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__media{background:var(--nexvio-l-media,rgba(255,255,255,.1));border-radius:var(--nexvio-l-img-radius,12px)}
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,9%)}
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__name{color:var(--nexvio-l-title,#fff)}
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__meta{color:var(--nexvio-l-text,rgba(255,255,255,.75))}
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__price{color:var(--nexvio-l-price,#fff)}
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__price del{color:var(--nexvio-l-old,rgba(255,255,255,.55))}
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__add{background:var(--nexvio-l-accent,rgba(255,255,255,.92));color:var(--nexvio-l-accent-text,#1e1b4b)}
.nexvio-ps.nexvio-ps--layout-glass .nexvio-ps__add:hover{color:var(--nexvio-l-accent-text,#1e1b4b)}

/* 5. Neon Outline */
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__card{background:var(--nexvio-l-card,#0b0f17);border:var(--nexvio-l-bw,1.5px) solid var(--nexvio-l-neon,#22d3ee);border-radius:var(--nexvio-l-radius,6px);color:var(--nexvio-l-text,#9ca3af);box-shadow:var(--nexvio-l-shadow,0 0 0 0 transparent)}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__card:hover{box-shadow:0 0 0 1px var(--nexvio-l-neon,#22d3ee),0 0 26px -4px var(--nexvio-l-neon,#22d3ee)}
.nexvio-ps--layout-neon{--nexvio-l-media-m:8px 8px 0}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__media{background:var(--nexvio-l-media,#111827);border-radius:var(--nexvio-l-img-radius,4px)}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,9%)}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__name{color:var(--nexvio-l-title,#e5e7eb)}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__price{color:var(--nexvio-l-price,var(--nexvio-l-neon,#22d3ee))}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__price del{color:var(--nexvio-l-old,#6b7280)}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__add{background:var(--nexvio-l-accent,transparent);color:var(--nexvio-l-accent-text,var(--nexvio-l-neon,#22d3ee));border:1.5px solid var(--nexvio-l-neon,#22d3ee);border-radius:var(--nexvio-l-btn-radius,4px)}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__add:hover{background:var(--nexvio-l-neon,#22d3ee);color:#0b0f17;filter:none}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__wish{background:rgba(11,15,23,.8);color:#e5e7eb}
.nexvio-ps.nexvio-ps--layout-neon .nexvio-ps__badge--lang{background:rgba(11,15,23,.85);border-color:var(--nexvio-l-neon,#22d3ee);color:var(--nexvio-l-neon,#22d3ee)}

/* 6. Elevated Shop */
.nexvio-ps.nexvio-ps--layout-elevated .nexvio-ps__card{border:var(--nexvio-l-bw,0) solid var(--nexvio-l-border,transparent);border-radius:var(--nexvio-l-radius,20px);box-shadow:var(--nexvio-l-shadow,0 18px 40px -16px rgba(16,24,40,.28))}
.nexvio-ps.nexvio-ps--layout-elevated .nexvio-ps__card:hover{transform:translateY(-4px)}
.nexvio-ps--layout-elevated{--nexvio-l-media-m:10px 10px 0}
.nexvio-ps.nexvio-ps--layout-elevated .nexvio-ps__media{border-radius:var(--nexvio-l-img-radius,14px);background:var(--nexvio-l-media,#eef1f8)}
.nexvio-ps.nexvio-ps--layout-elevated .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,8%)}
.nexvio-ps.nexvio-ps--layout-elevated .nexvio-ps__row{flex-direction:column;align-items:stretch;gap:12px}
.nexvio-ps.nexvio-ps--layout-elevated .nexvio-ps__add{width:100%;height:44px;border-radius:var(--nexvio-l-btn-radius,12px);background:var(--nexvio-l-accent,linear-gradient(90deg,#7c5cff,#2f9bff))}

/* 7. Compact Tiles */
.nexvio-ps.nexvio-ps--layout-compact .nexvio-ps__card{border-radius:var(--nexvio-l-radius,10px)}
.nexvio-ps--layout-compact{--nexvio-l-media-m:6px 6px 0;--nexvio-ps-btn-size:32px}
.nexvio-ps.nexvio-ps--layout-compact .nexvio-ps__media{border-radius:var(--nexvio-l-img-radius,8px);background:var(--nexvio-l-media,#f1f3f7)}
.nexvio-ps.nexvio-ps--layout-compact .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,8%)}
.nexvio-ps.nexvio-ps--layout-compact .nexvio-ps__badges{top:8px;left:8px}
.nexvio-ps.nexvio-ps--layout-compact .nexvio-ps__wish{top:6px;right:6px;width:30px;height:30px}
.nexvio-ps.nexvio-ps--layout-compact .nexvio-ps__wish svg{width:15px;height:15px}
.nexvio-ps.nexvio-ps--layout-compact .nexvio-ps__price{color:var(--nexvio-l-price,#4150d8)}
:where(.nexvio-ps--layout-compact) .nexvio-ps__body{padding:10px 10px 12px}
:where(.nexvio-ps--layout-compact) .nexvio-ps__name{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
:where(.nexvio-ps--layout-compact) .nexvio-ps__price{font-size:15px}
:where(.nexvio-ps--layout-compact) .nexvio-ps__meta,:where(.nexvio-ps--layout-compact) .nexvio-ps__stock{font-size:11.5px}

/* 8. Editorial */
.nexvio-ps.nexvio-ps--layout-editorial .nexvio-ps__card{background:var(--nexvio-l-card,transparent);border:var(--nexvio-l-bw,0) solid var(--nexvio-l-border,transparent);border-radius:var(--nexvio-l-radius,0);box-shadow:var(--nexvio-l-shadow,none)}
.nexvio-ps.nexvio-ps--layout-editorial .nexvio-ps__media{aspect-ratio:var(--nexvio-l-ratio,4/5);background:var(--nexvio-l-media,#ece7df);border-radius:var(--nexvio-l-img-radius,0)}
.nexvio-ps.nexvio-ps--layout-editorial .nexvio-ps__meta{color:var(--nexvio-l-text,#8a7f70);text-transform:uppercase;letter-spacing:.14em}
.nexvio-ps.nexvio-ps--layout-editorial .nexvio-ps__name{color:var(--nexvio-l-title,#1a1a1a)}
.nexvio-ps.nexvio-ps--layout-editorial .nexvio-ps__price{color:var(--nexvio-l-price,#1a1a1a)}
.nexvio-ps.nexvio-ps--layout-editorial .nexvio-ps__add{background:var(--nexvio-l-accent,transparent);color:var(--nexvio-l-accent-text,var(--nexvio-l-title,#1a1a1a));height:auto;min-width:0;padding:0 0 3px;border-radius:0;border-bottom:1.5px solid currentColor}
.nexvio-ps.nexvio-ps--layout-editorial .nexvio-ps__add:hover{filter:none;opacity:.7;color:var(--nexvio-l-accent-text,var(--nexvio-l-title,#1a1a1a))}
.nexvio-ps.nexvio-ps--layout-editorial .nexvio-ps__badge--lang{background:#fff;border-color:transparent}
:where(.nexvio-ps--layout-editorial) .nexvio-ps__body{padding:14px 2px 6px}
:where(.nexvio-ps--layout-editorial) .nexvio-ps__meta{font-size:11px}
:where(.nexvio-ps--layout-editorial) .nexvio-ps__name{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:19px;line-height:1.25}
:where(.nexvio-ps--layout-editorial) .nexvio-ps__price{font-size:15px;font-weight:600}

/* 9. Price Tag */
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__card{border-radius:var(--nexvio-l-radius,16px);text-align:center}
.nexvio-ps--layout-pricetag{--nexvio-l-media-m:8px 8px 0}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__media{border-radius:var(--nexvio-l-img-radius,12px);background:var(--nexvio-l-media,#f2f4fa)}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,9%)}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__price{position:absolute;top:16px;right:16px;z-index:4;padding:6px 11px;border-radius:999px;background:var(--nexvio-l-tag,#ef4444);color:var(--nexvio-l-tag-text,#fff);box-shadow:0 6px 14px rgba(0,0,0,.18)}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__price del{color:var(--nexvio-l-tag-text,#fff);opacity:.75;margin-right:3px}
:where(.nexvio-ps--layout-pricetag) .nexvio-ps__price{font-size:13.5px;line-height:1}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__wish{right:auto;left:14px;top:14px}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__badges{left:14px;top:60px;flex-direction:column;align-items:flex-start;max-width:58%}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__rating{justify-content:center}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__row{display:block;padding-top:12px}
.nexvio-ps.nexvio-ps--layout-pricetag .nexvio-ps__add{width:100%;height:42px;border-radius:var(--nexvio-l-btn-radius,999px)}

/* 10. Spotlight */
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__card{background:var(--nexvio-l-card,radial-gradient(120% 90% at 50% 0%,#1d2150 0%,#10132b 60%,#0b0d1d 100%));border:var(--nexvio-l-bw,1px) solid var(--nexvio-l-border,rgba(255,255,255,.07));border-radius:var(--nexvio-l-radius,18px);text-align:center;color:var(--nexvio-l-text,#a5b4fc)}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__media{aspect-ratio:1/1;margin:20px 20px 0;border-radius:50%;background:var(--nexvio-l-media,radial-gradient(circle,var(--nexvio-l-spot,rgba(124,92,255,.55)) 0%,transparent 68%));overflow:visible}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__media::after{content:"";position:absolute;inset:6%;border-radius:50%;border:1px solid var(--nexvio-l-spot,rgba(124,92,255,.55));opacity:.6}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,17%);filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__card:hover .nexvio-ps__img{transform:scale(1.07) rotate(-3deg)}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__name{color:var(--nexvio-l-title,#fff)}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__meta{color:var(--nexvio-l-text,#a5b4fc)}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__price{color:var(--nexvio-l-price,#c4b5fd)}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__price del{color:var(--nexvio-l-old,#6b6f9a)}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__rating{justify-content:center}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__row{flex-direction:column;align-items:stretch;gap:12px}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__add{width:100%;height:42px;background:var(--nexvio-l-accent,linear-gradient(90deg,#7c5cff,#2f9bff));color:var(--nexvio-l-accent-text,#fff)}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__wish{background:rgba(255,255,255,.1);color:#e0e7ff}
.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__badge--lang{background:rgba(255,255,255,.1);color:#e0e7ff;border-color:rgba(255,255,255,.2)}

@media (prefers-reduced-motion:reduce){.nexvio-ps.nexvio-ps--l .nexvio-ps__img,.nexvio-ps.nexvio-ps--l .nexvio-ps__card{transition:none}}
@media (max-width:767px){
	.nexvio-ps.nexvio-ps--layout-spotlight .nexvio-ps__media{margin:12px 12px 0}
	.nexvio-ps.nexvio-ps--layout-horizontal:not(.nexvio-ps--h-stack) .nexvio-ps__media{min-height:120px}
}

/* ======================================================================
   Products Archive: Grid / List view
   ====================================================================== */
.nexvio-pg__tools{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}
.nexvio-pg__view{display:inline-flex;gap:4px;padding:3px;border-radius:8px;border:1px solid var(--nexvio-pg-select-border,#313945);background:var(--nexvio-pg-select-bg,#181d24)}
.nexvio-pg .nexvio-pg__view button{width:34px;height:34px;display:grid;place-items:center;margin:0;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--nexvio-pg-select-color,#e8edf4);cursor:pointer;opacity:.65;transition:background .15s,opacity .15s;box-shadow:none}
.nexvio-pg .nexvio-pg__view button svg{width:17px;height:17px;fill:currentColor}
.nexvio-pg .nexvio-pg__view button:hover{opacity:1;background:transparent;color:var(--nexvio-pg-select-color,#e8edf4)}
.nexvio-pg .nexvio-pg__view button[aria-pressed="true"]{opacity:1;background:var(--nexvio-ps-accent,#3d8bff);border-color:var(--nexvio-ps-accent,#3d8bff);color:#fff}
.nexvio-pg .nexvio-pg__view button:focus-visible{outline:2px solid var(--nexvio-ps-accent,#3d8bff);outline-offset:2px}

.nexvio-ps__excerpt{margin:6px 0 2px;font-size:14px;line-height:1.55;color:var(--nexvio-l-text,var(--nexvio-ps-muted))}
.nexvio-pg:not(.nexvio-pg--list):not(.nexvio-ps--show-desc) .nexvio-ps__excerpt{display:none}

/* one product per row */
.nexvio-ps.nexvio-pg.nexvio-pg--list ul.products.nexvio-pg__grid{grid-template-columns:minmax(0,1fr)!important;row-gap:var(--nexvio-pg-list-gap,16px)!important}
/* image left, details right (wins over every design's own card rules) */
.nexvio-ps.nexvio-pg.nexvio-pg--list .nexvio-ps__card{flex-direction:row;align-items:stretch;column-gap:var(--nexvio-pg-list-inner-gap,8px);min-height:var(--nexvio-pg-list-min-h,190px);text-align:var(--nexvio-pg-list-talign,left)}
.nexvio-ps.nexvio-pg.nexvio-pg--list .nexvio-ps__media{flex:0 0 var(--nexvio-pg-list-img,30%);width:var(--nexvio-pg-list-img,30%);max-width:var(--nexvio-pg-list-img,30%);aspect-ratio:var(--nexvio-pg-list-ratio,auto);align-self:var(--nexvio-pg-list-media-align,stretch);height:auto;min-height:0;margin:var(--nexvio-pg-list-media-m,0)}
.nexvio-ps.nexvio-pg.nexvio-pg--list .nexvio-ps__body{flex:1 1 auto;min-width:0;justify-content:var(--nexvio-pg-list-valign,center)}
:where(.nexvio-pg--list) .nexvio-ps__body{padding:18px 22px}
.nexvio-ps.nexvio-pg.nexvio-pg--list .nexvio-ps__rating{justify-content:var(--nexvio-pg-list-justify,flex-start)}
:where(.nexvio-pg--list) .nexvio-ps__name{font-size:18px}
/* designs that frame the image inside the card */
.nexvio-pg--list.nexvio-ps--layout-minimal,.nexvio-pg--list.nexvio-ps--layout-glass,.nexvio-pg--list.nexvio-ps--layout-neon,.nexvio-pg--list.nexvio-ps--layout-elevated,.nexvio-pg--list.nexvio-ps--layout-compact,.nexvio-pg--list.nexvio-ps--layout-pricetag,.nexvio-pg--list.nexvio-ps--layout-horizontal{--nexvio-pg-list-media-m:10px 0 10px 10px;--nexvio-pg-list-media-ms:10px 10px 0}
.nexvio-pg--list.nexvio-ps--layout-spotlight{--nexvio-pg-list-media-m:16px 0 16px 16px;--nexvio-pg-list-media-ms:16px 16px 0}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-ps--layout-spotlight .nexvio-ps__media{aspect-ratio:1/1;align-self:center;flex-basis:min(var(--nexvio-pg-list-img,30%),230px);max-width:230px}
/* designs with floating parts become side by side in a list */
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-ps--layout-overlay .nexvio-ps__body{position:static;background:none;pointer-events:auto}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-ps--layout-pricetag .nexvio-ps__price{position:static;display:inline-flex;align-self:flex-start;box-shadow:none}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-ps--layout-pricetag .nexvio-ps__card{text-align:var(--nexvio-pg-list-talign,left)}

/* price and button in a column on the right */
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right .nexvio-ps__body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-auto-rows:min-content;column-gap:28px;align-content:var(--nexvio-pg-list-valign,center)}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right .nexvio-ps__body > *{grid-column:1}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right .nexvio-ps__row{display:flex;grid-column:2;grid-row:1 / span 8;align-self:stretch;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px;margin:0;padding:0 0 0 24px;border-left:1px solid var(--nexvio-l-border,rgba(127,127,127,.2))}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right.nexvio-ps--btn-text .nexvio-ps__add{min-width:150px}
/* price and button below the details */
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-below .nexvio-ps__row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding-top:14px}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-ps--btn-text .nexvio-ps__add{width:auto}

@media (max-width:1024px){
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right .nexvio-ps__body{column-gap:18px}
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right .nexvio-ps__row{padding-left:16px}
}
@media (max-width:767px){
	/* narrow screens: price and button always go below */
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right .nexvio-ps__body{display:flex;flex-direction:column}
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right .nexvio-ps__row{flex-direction:row;align-items:center;justify-content:space-between;padding:12px 0 0;border-left:0;margin-top:auto}
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right.nexvio-ps--btn-text .nexvio-ps__add{min-width:0}
	:where(.nexvio-pg--list) .nexvio-ps__body{padding:12px 14px}
	:where(.nexvio-pg--list) .nexvio-ps__name{font-size:15.5px}
	.nexvio-ps.nexvio-pg.nexvio-pg--list .nexvio-ps__excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
	/* Horizontal design: image above details (same switch as the grid) */
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-ps--layout-horizontal.nexvio-ps--h-stack .nexvio-ps__card{flex-direction:column;min-height:0}
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-ps--layout-horizontal.nexvio-ps--h-stack .nexvio-ps__media{flex:0 0 auto;width:auto;max-width:none;aspect-ratio:var(--nexvio-l-ratio,4/3);align-self:stretch;margin:8px 8px 0}
	/* stacked: image above details */
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--stack .nexvio-ps__card{flex-direction:column;min-height:0}
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--stack .nexvio-ps__media{flex:0 0 auto;width:auto;max-width:none;aspect-ratio:var(--nexvio-pg-list-ratio,4/3);align-self:stretch;margin:var(--nexvio-pg-list-media-ms,0)}
	.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--stack.nexvio-ps--layout-spotlight .nexvio-ps__media{aspect-ratio:1/1;max-width:none;flex-basis:auto}
}

/* ======================================================================
   Colour swatches
   ====================================================================== */
.nexvio-ps__swatches{display:flex;flex-wrap:wrap;align-items:center;justify-content:var(--nexvio-sw-justify,flex-start);gap:var(--nexvio-sw-gap,6px);margin:0 0 8px;min-height:var(--nexvio-sw-size,16px)}
.nexvio-ps .nexvio-ps__sw{position:relative;display:inline-grid;place-items:center;flex-shrink:0;width:var(--nexvio-sw-size,16px);height:var(--nexvio-sw-size,16px);min-height:0;margin:0;padding:0;
	border-radius:var(--nexvio-sw-radius,50%);background:var(--sw,#d1d5db);border:1px solid var(--nexvio-sw-border,rgba(127,127,127,.35));box-shadow:none;cursor:pointer;
	outline:2px solid transparent;outline-offset:2px;transition:transform .15s,outline-color .15s}
.nexvio-ps .nexvio-ps__sw:hover{transform:scale(1.15);background:var(--sw,#d1d5db)}
.nexvio-ps .nexvio-ps__sw[aria-pressed="true"]{outline-color:var(--nexvio-sw-ring,currentColor)}
.nexvio-ps .nexvio-ps__sw:focus-visible{outline-color:var(--nexvio-sw-ring,currentColor)}
.nexvio-ps .nexvio-ps__sw.is-light{border-color:var(--nexvio-sw-border,rgba(0,0,0,.25))}
.nexvio-ps .nexvio-ps__sw span{font-size:calc(var(--nexvio-sw-size,16px) * .55);line-height:1;color:#374151;font-weight:700;text-transform:uppercase}
.nexvio-ps__sw-more{font-size:12px;font-weight:600;color:var(--nexvio-sw-more,currentColor);opacity:.75;text-decoration:none;line-height:1}
.nexvio-ps__sw-more:hover{opacity:1}
.nexvio-ps__img{transition:opacity .2s}
.nexvio-ps__rnum,.nexvio-ps__rword{display:none}

/* ======================================================================
   11. Boutique
   ====================================================================== */
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__card{background:var(--nexvio-l-card,transparent);border:var(--nexvio-l-bw,0) solid var(--nexvio-l-border,transparent);border-radius:var(--nexvio-l-radius,0);box-shadow:var(--nexvio-l-shadow,none);color:var(--nexvio-l-text,#6b7280)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__media{aspect-ratio:var(--nexvio-l-ratio,12/13);background:var(--nexvio-l-media,#f1f1f1);border-radius:var(--nexvio-l-img-radius,18px)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__img{object-fit:var(--nexvio-l-fit,contain);padding:var(--nexvio-l-img-pad,10%)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__card:hover .nexvio-ps__img{transform:scale(1.03)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__badges{top:12px;left:12px}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__badge{background:#fff;color:#111827;border:0;border-radius:999px;padding:5px 9px;box-shadow:0 1px 4px rgba(0,0,0,.08);font-weight:500;letter-spacing:0}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__badge--new::before{content:"\2726";margin-right:4px;font-size:10px}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__badge--sale{color:#dc2626}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__wish{top:12px;right:12px;width:30px;height:30px;background:#fff;color:#111827;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__wish svg{width:16px;height:16px}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__wish.is-on{color:#e53935}
/* body: swatches, name, subtitle, then price on the left and rating on the right */
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__body{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"sw sw" "name name" "meta meta" "ex ex" "stock stock" "row rating";align-items:center;row-gap:3px}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__swatches{grid-area:sw;margin-bottom:12px}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__name{grid-area:name;color:var(--nexvio-l-title,#111827)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__meta{grid-area:meta;color:var(--nexvio-l-text,#6b7280)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__excerpt{grid-area:ex}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__stock{grid-area:stock}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__row{grid-area:row;margin:0;padding-top:12px}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__rating{grid-area:rating;justify-self:end;padding-top:12px;gap:4px;color:var(--nexvio-l-text,#6b7280)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__stars{width:calc(var(--nexvio-star-size,14px) * 1.08);height:var(--nexvio-star-size,14px);background:var(--nexvio-l-star,#f5b301);-webkit-mask-size:calc(var(--nexvio-star-size,14px) * 1.08) var(--nexvio-star-size,14px);mask-size:calc(var(--nexvio-star-size,14px) * 1.08) var(--nexvio-star-size,14px)}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__rnum,.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__rword{display:inline}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__price{color:var(--nexvio-l-price,#16a34a);border:1.5px solid var(--nexvio-l-price,#22c55e);border-radius:6px;padding:5px 9px;line-height:1.1}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__price del{color:var(--nexvio-l-old,#9ca3af)}
/* add to cart: under the heart, shown on hover (always shown on touch screens) */
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__add{position:absolute;top:50px;right:12px;z-index:3;width:30px;height:30px;--nexvio-ps-btn-size:30px;background:var(--nexvio-l-accent,#111827);opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s,filter .2s}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__add svg{width:15px;height:15px}
.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__card:hover .nexvio-ps__add,.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__add:focus-visible,.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__add.added{opacity:1;transform:none}
.nexvio-ps.nexvio-ps--layout-boutique.nexvio-ps--btn-text .nexvio-ps__add{width:auto;height:30px}
@media (hover:none){.nexvio-ps.nexvio-ps--layout-boutique .nexvio-ps__add{opacity:1;transform:none}}
:where(.nexvio-ps--layout-boutique) .nexvio-ps__body{padding:16px 8px 6px}
:where(.nexvio-ps--layout-boutique) .nexvio-ps__name{font-size:15px;font-weight:700}
:where(.nexvio-ps--layout-boutique) .nexvio-ps__meta{font-size:13.5px}
:where(.nexvio-ps--layout-boutique) .nexvio-ps__price{font-size:13.5px;font-weight:700}
:where(.nexvio-ps--layout-boutique) .nexvio-ps__rating{font-size:13px}
/* Boutique in the archive list view */
.nexvio-pg--list.nexvio-ps--layout-boutique{--nexvio-pg-list-media-m:0;--nexvio-pg-list-media-ms:0}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right.nexvio-ps--layout-boutique .nexvio-ps__body{grid-template-areas:none}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right.nexvio-ps--layout-boutique .nexvio-ps__body > *{grid-area:auto;grid-column:1}
.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right.nexvio-ps--layout-boutique .nexvio-ps__row{grid-column:2;grid-row:1 / span 8}
@media (max-width:767px){.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right.nexvio-ps--layout-boutique .nexvio-ps__body{display:grid;grid-template-columns:auto minmax(0,1fr)}.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right.nexvio-ps--layout-boutique .nexvio-ps__row{grid-column:1;grid-row:auto}.nexvio-ps.nexvio-pg.nexvio-pg--list.nexvio-pg--actions-right.nexvio-ps--layout-boutique .nexvio-ps__rating{grid-column:2}}

/* ======================================================================
   Short description & rating (all product widgets)
   ====================================================================== */
.nexvio-ps--show-desc .nexvio-ps__excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--nexvio-desc-lines,3);overflow:hidden;line-height:1.55;margin:6px 0 4px}
/* same height on every card: room for the chosen number of lines, even when a product has no description */
.nexvio-ps--desc-even .nexvio-ps__excerpt{min-height:calc(var(--nexvio-desc-lines,3) * 1.55em);min-height:calc(var(--nexvio-desc-lines,3) * 1lh)}
.nexvio-ps__excerpt.is-empty{visibility:hidden}
.nexvio-ps:not(.nexvio-ps--desc-even) .nexvio-ps__excerpt.is-empty,.nexvio-ps.nexvio-pg--list .nexvio-ps__excerpt.is-empty{display:none}
/* rating */
.nexvio-ps__rating.is-none{font-size:12px;opacity:.75}
.nexvio-ps--rating-words .nexvio-ps__rword,.nexvio-ps--rating-number .nexvio-ps__rnum{display:inline}
.nexvio-ps--rating-number .nexvio-ps__rnum{font-weight:600}
/* list rows stand alone: no reserved description height */
.nexvio-ps.nexvio-pg--list .nexvio-ps__excerpt{min-height:0}
.nexvio-ps .nexvio-ps__sw.is-image,.nexvio-ps .nexvio-ps__sw.is-image:hover{background:var(--sw-img) center/cover no-repeat,var(--sw,#d1d5db)}

/* Price taken from Extra Product Options (e.g. "6 personen €30.00") */
.nexvio-ps__price--tm{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.nexvio-ps__price--tm .nexvio-ps__tm-label{font-size:.72em;font-weight:500;opacity:.8}
.nexvio-ps__price--tm .nexvio-ps__tm-price{font-weight:700}
