/* DUUDU Commerce Visual V1.1.24 — Fatal recovery + safe empty state */
.duudu-cv-shop-tools-active .duudu-shop-tools{--duudu-shop-border:rgba(17,19,21,.12);--duudu-shop-soft:#f6f6f5;--duudu-shop-text:#151719;--duudu-shop-muted:#6d7073;--duudu-shop-radius:14px;position:relative;width:100%;margin:0 0 24px;color:var(--duudu-shop-text);font:inherit;clear:both;z-index:20}
.duudu-shop-tools *{box-sizing:border-box}
.duudu-shop-tools__form{margin:0}
.duudu-shop-tools__topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}
.duudu-shop-search{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;min-height:54px;padding:0 6px 0 17px;border:1px solid var(--duudu-shop-border);border-radius:var(--duudu-shop-radius);background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.duudu-shop-search svg,.duudu-shop-filter-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.duudu-shop-search input[type="search"]{width:100%;min-width:0;height:50px!important;margin:0!important;padding:0 12px!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font:inherit!important;font-size:15px!important}
.duudu-shop-search input[type="search"]::-webkit-search-cancel-button{opacity:.55}
.duudu-shop-search button,.duudu-shop-filter-toggle,.duudu-shop-apply{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin:0;border:1px solid #111315;border-radius:10px;background:#111315;color:#fff;font:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer;text-decoration:none}
.duudu-shop-search button{padding:0 18px}
.duudu-shop-filter-toggle{min-width:118px;min-height:54px;padding:0 17px;background:#fff;color:#111315;border-color:var(--duudu-shop-border)}
.duudu-shop-filter-toggle>span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#111315;color:#fff;font-size:10px}
.duudu-shop-tools__meta{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 2px 0}
.duudu-shop-result-count{font-size:13px;color:var(--duudu-shop-muted)}
.duudu-shop-result-count strong{color:var(--duudu-shop-text);font-size:16px}
.duudu-shop-tools__actions{display:flex;align-items:center;gap:10px}
.duudu-shop-view-toggle{display:flex;padding:3px;border:1px solid var(--duudu-shop-border);border-radius:9px;background:#fff}
.duudu-shop-view-toggle button{display:grid;place-items:center;width:34px;height:30px;margin:0;border:0;border-radius:6px;background:transparent;color:#7b7d80;font-size:18px;line-height:1;cursor:pointer}
.duudu-shop-view-toggle button.is-active{background:#111315;color:#fff}
.duudu-shop-ordering{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--duudu-shop-muted)}
.duudu-shop-ordering select{min-width:190px;height:38px!important;margin:0!important;padding:0 34px 0 12px!important;border:1px solid var(--duudu-shop-border)!important;border-radius:9px!important;background-color:#fff!important;font:inherit!important;font-size:12px!important;box-shadow:none!important}
.duudu-shop-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:13px}
.duudu-shop-active-filters__label{margin-right:3px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.055em;color:#85878a}
.duudu-shop-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border:1px solid var(--duudu-shop-border);border-radius:999px;background:#fff;color:var(--duudu-shop-text)!important;font-size:11px;text-decoration:none!important}
.duudu-shop-chip span{font-size:16px;line-height:1;color:#777}
.duudu-shop-clear-inline{margin-left:4px;color:#666!important;font-size:11px;text-underline-offset:3px}
.duudu-shop-filter-overlay{position:fixed;inset:0;z-index:99996;background:rgba(13,15,17,.38);opacity:0;transition:opacity .18s ease;backdrop-filter:blur(1px)}
.duudu-shop-filter-overlay.is-open{opacity:1}
.duudu-shop-filter-drawer{position:fixed;top:0;right:0;bottom:0;z-index:99997;display:flex;flex-direction:column;width:min(420px,calc(100vw - 26px));max-width:100%;background:#fff;box-shadow:-20px 0 60px rgba(0,0,0,.16);transform:translate3d(104%,0,0);transition:transform .22s cubic-bezier(.2,.8,.2,1);visibility:hidden}
.duudu-shop-filter-drawer.is-open{transform:translate3d(0,0,0);visibility:visible}
.duudu-shop-filter-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 24px 18px;border-bottom:1px solid var(--duudu-shop-border)}
.duudu-shop-filter-drawer__head small{font-size:9px;letter-spacing:.08em;font-weight:700;color:#85878a}
.duudu-shop-filter-drawer__head h2{margin:3px 0 0!important;font-size:25px!important;line-height:1.1!important;font-weight:600!important}
.duudu-shop-filter-drawer__head button{display:grid;place-items:center;width:38px;height:38px;margin:0;border:1px solid var(--duudu-shop-border);border-radius:9px;background:#fff;color:#111315;font-size:24px;line-height:1;cursor:pointer}
.duudu-shop-filter-drawer__body{flex:1;overflow:auto;padding:0 24px 24px;overscroll-behavior:contain}
.duudu-shop-filter-group{border-bottom:1px solid var(--duudu-shop-border);padding:0}
.duudu-shop-filter-group>summary{display:flex;align-items:center;justify-content:space-between;min-height:58px;cursor:pointer;list-style:none;font-size:14px;font-weight:600}
.duudu-shop-filter-group>summary::-webkit-details-marker{display:none}
.duudu-shop-filter-group>summary:after{content:'+';font-size:19px;font-weight:400;color:#777}
.duudu-shop-filter-group[open]>summary:after{content:'−'}
.duudu-shop-filter-options{max-height:290px;overflow:auto;padding:0 2px 16px;scrollbar-width:thin}
.duudu-shop-filter-search{width:100%!important;height:38px!important;margin:0 0 10px!important;padding:0 11px!important;border:1px solid var(--duudu-shop-border)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;font:inherit!important;font-size:12px!important}
.duudu-shop-check,.duudu-shop-radio{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;margin:0!important;padding-left:calc(var(--duudu-filter-depth,0) * 12px);cursor:pointer;font-size:12px;color:#3e4144}
.duudu-shop-radio{grid-template-columns:18px minmax(0,1fr)}
.duudu-shop-check[hidden]{display:none!important}
.duudu-shop-check input,.duudu-shop-radio input{width:15px!important;height:15px!important;margin:0!important;accent-color:#111315}
.duudu-shop-check small{font-size:10px;color:#999}
.duudu-shop-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:18px}
.duudu-shop-price-fields label>span{display:block;margin-bottom:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.045em;color:#888}
.duudu-shop-price-fields label>div{display:grid;grid-template-columns:auto 1fr;align-items:center;height:42px;border:1px solid var(--duudu-shop-border);border-radius:8px;background:#fff;overflow:hidden}
.duudu-shop-price-fields b{padding-left:11px;font-size:12px;font-weight:500;color:#777}
.duudu-shop-price-fields input{width:100%!important;height:40px!important;margin:0!important;padding:0 9px!important;border:0!important;background:transparent!important;box-shadow:none!important;font:inherit!important;font-size:12px!important}
.duudu-shop-filter-drawer__footer{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--duudu-shop-border);background:#fff}
.duudu-shop-clear{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--duudu-shop-border);border-radius:9px;color:#111315!important;font-size:12px;font-weight:600;text-decoration:none!important}
.duudu-shop-apply{min-height:44px}
html.duudu-shop-drawer-open{overflow:hidden}


.duudu-cv-shop-replace-toolbar .woocommerce-result-count,
.duudu-cv-shop-replace-toolbar .woocommerce-ordering{display:none!important}

/* Optional suppression of WooCommerce filter blocks. Intentionally does not hide generic sidebars. */
.duudu-cv-shop-hide-native-filters .wp-block-woocommerce-product-filters,
.duudu-cv-shop-hide-native-filters .wp-block-woocommerce-product-filter-price,
.duudu-cv-shop-hide-native-filters .wp-block-woocommerce-product-filter-taxonomy,
.duudu-cv-shop-hide-native-filters .wp-block-woocommerce-product-filter-stock-status,
.duudu-cv-shop-hide-native-filters .widget_price_filter,
.duudu-cv-shop-hide-native-filters .widget_product_categories{display:none!important}

/* List view: apply only to known WooCommerce loops, without changing product data. */
.duudu-cv-shop-view-list.woocommerce ul.products,
.duudu-cv-shop-view-list.woocommerce-page ul.products{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.duudu-cv-shop-view-list.woocommerce ul.products li.product,
.duudu-cv-shop-view-list.woocommerce-page ul.products li.product{display:grid!important;grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto!important;grid-template-rows:auto auto 1fr!important;column-gap:20px!important;align-items:center!important;width:100%!important;min-height:170px!important}
.duudu-cv-shop-view-list.woocommerce ul.products li.product>a:first-child,
.duudu-cv-shop-view-list.woocommerce-page ul.products li.product>a:first-child{grid-column:1;grid-row:1 / span 3;align-self:stretch}
.duudu-cv-shop-view-list.woocommerce ul.products li.product .woocommerce-loop-product__title,
.duudu-cv-shop-view-list.woocommerce-page ul.products li.product .woocommerce-loop-product__title{grid-column:2;grid-row:1;min-height:0!important;text-align:left!important;align-self:end}
.duudu-cv-shop-view-list.woocommerce ul.products li.product .price,
.duudu-cv-shop-view-list.woocommerce-page ul.products li.product .price{grid-column:2;grid-row:2;text-align:left!important;justify-content:flex-start!important}
.duudu-cv-shop-view-list.woocommerce ul.products li.product .button,
.duudu-cv-shop-view-list.woocommerce-page ul.products li.product .button{grid-column:3;grid-row:1 / span 3;align-self:center!important;width:auto!important;white-space:nowrap}

@media(max-width:720px){
    .duudu-shop-tools__topbar{grid-template-columns:1fr}
    .duudu-shop-search{grid-template-columns:20px minmax(0,1fr);padding-right:12px}
    .duudu-shop-search button{grid-column:1 / -1;width:100%;min-height:42px;margin:0 0 6px}
    .duudu-shop-filter-toggle{width:100%;min-height:46px}
    .duudu-shop-tools__meta{align-items:flex-start;flex-direction:column}
    .duudu-shop-tools__actions{width:100%;justify-content:space-between}
    .duudu-shop-ordering{flex:1;justify-content:flex-end}
    .duudu-shop-ordering>span{display:none}
    .duudu-shop-ordering select{width:100%;max-width:220px;min-width:0}
    .duudu-shop-active-filters{margin-top:11px}
    .duudu-shop-active-filters__label{width:100%}
    .duudu-cv-shop-view-list.woocommerce ul.products li.product,
    .duudu-cv-shop-view-list.woocommerce-page ul.products li.product{grid-template-columns:110px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;column-gap:14px!important;min-height:145px!important}
    .duudu-cv-shop-view-list.woocommerce ul.products li.product>a:first-child,
    .duudu-cv-shop-view-list.woocommerce-page ul.products li.product>a:first-child{grid-column:1;grid-row:1 / span 3}
    .duudu-cv-shop-view-list.woocommerce ul.products li.product .woocommerce-loop-product__title,
    .duudu-cv-shop-view-list.woocommerce-page ul.products li.product .woocommerce-loop-product__title{grid-column:2;grid-row:1}
    .duudu-cv-shop-view-list.woocommerce ul.products li.product .price,
    .duudu-cv-shop-view-list.woocommerce-page ul.products li.product .price{grid-column:2;grid-row:2}
    .duudu-cv-shop-view-list.woocommerce ul.products li.product .button,
    .duudu-cv-shop-view-list.woocommerce-page ul.products li.product .button{grid-column:2;grid-row:3;justify-self:start!important;align-self:start!important}
}

/* -------------------------------------------------------------------------
 * V1.1.20 — Search & Filters Builder / presentation modes / shortcodes
 * ---------------------------------------------------------------------- */
.duudu-shop-tools,
.duudu-shop-layout,
.duudu-shop-filter-form,
.duudu-shop-toolbar{--duudu-shop-border:rgba(17,19,21,.12);--duudu-shop-soft:#f6f6f5;--duudu-shop-text:#151719;--duudu-shop-muted:#6d7073;--duudu-shop-radius:14px;color:var(--duudu-shop-text);font:inherit;box-sizing:border-box}
.duudu-shop-tools{position:relative;width:100%;margin:0 0 24px;clear:both;z-index:20}
.duudu-shop-tools--shortcode{margin:16px 0 24px}
.duudu-shop-toolbar{position:relative;width:100%;margin:0 0 20px;z-index:20}
.duudu-shop-toolbar *,.duudu-shop-layout *,.duudu-shop-filter-form *{box-sizing:border-box}

/* Archive sidebar/hybrid wrapper. The product loop and pagination stay native
   WooCommerce children inside .duudu-shop-layout__main. */
.duudu-shop-layout{display:grid;grid-template-columns:minmax(220px,var(--duudu-sidebar-width,280px)) minmax(0,1fr);gap:30px;align-items:start;width:100%;margin:0 0 30px;clear:both}
.duudu-shop-layout__sidebar{min-width:0;position:sticky;top:24px}
.duudu-shop-layout__main{min-width:0}
.duudu-shop-layout__main>ul.products{width:100%!important}
.duudu-shop-layout__main>.woocommerce-pagination{clear:both}

/* Permanent vertical filters */
.duudu-shop-filter-form{width:100%;padding:20px;border:1px solid var(--duudu-shop-border);border-radius:14px;background:#fff}
.duudu-shop-filter-form .duudu-shop-filter-group:last-child{border-bottom:0}
.duudu-shop-filter-form .duudu-shop-filter-options{max-height:none}
.duudu-shop-filter-form__footer{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;padding-top:16px}
.duudu-shop-filter-form__footer a,.duudu-shop-filter-form__footer button{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}
.duudu-shop-filter-form__footer a{border:1px solid var(--duudu-shop-border);background:#fff;color:#222}
.duudu-shop-filter-form__footer button{border:1px solid #111315;background:#111315;color:#fff}
.duudu-shop-sidebar-search{margin-bottom:14px}
.duudu-shop-sidebar-search .duudu-shop-search{grid-template-columns:20px minmax(0,1fr);padding-right:12px;min-height:46px}
.duudu-shop-sidebar-search .duudu-shop-search input[type="search"]{height:44px!important;font-size:13px!important}
.duudu-shop-sidebar-search .duudu-shop-search button{grid-column:1 / -1;width:100%;min-height:38px;margin:0 0 8px}

/* Hybrid toolbar: search + price + filter access. */
.duudu-shop-toolbar--hybrid .duudu-shop-tools__topbar{grid-template-columns:minmax(260px,1.45fr) minmax(300px,1fr) auto}
.duudu-shop-toolbar-price{min-width:0;border:1px solid var(--duudu-shop-border);border-radius:var(--duudu-shop-radius);background:#fff;padding:7px 10px}
.duudu-shop-price-fields--inline{grid-template-columns:1fr 1fr;gap:8px;padding:0}
.duudu-shop-price-fields--inline label{display:grid;grid-template-columns:auto minmax(80px,1fr);align-items:center;gap:7px}
.duudu-shop-price-fields--inline label>span{margin:0;font-size:9px}
.duudu-shop-price-fields--inline label>div{height:38px}
.duudu-shop-price-fields--inline input{height:36px!important}

/* Filter button is a mobile fallback when a permanent sidebar exists. */
.duudu-shop-filter-toggle--mobile{display:none}

/* Shortcode sidebar layout. It does not assume a product loop is present. */
.duudu-shop-shortcode-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:24px;align-items:start}
.duudu-shop-shortcode-layout__main{min-width:0}
.duudu-shop-tools--filters-only .duudu-shop-filter-form{max-width:340px}
.duudu-shop-tools--search-only{max-width:100%}
.duudu-search-shortcode{margin:0}
.duudu-search-shortcode .duudu-shop-search{width:100%}

/* Hybrid shortcode: a compact filter strip underneath the toolbar. */
.duudu-shop-hybrid-filter-row .duudu-shop-filter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:14px 18px}
.duudu-shop-hybrid-filter-row .duudu-shop-filter-stack{display:contents}
.duudu-shop-hybrid-filter-row .duudu-shop-filter-group{border:0;min-width:0}
.duudu-shop-hybrid-filter-row .duudu-shop-filter-group>summary{min-height:38px}
.duudu-shop-hybrid-filter-row .duudu-shop-filter-form__footer{align-self:end}

/* Compact is deliberately visually light. */
.duudu-shop-tools--compact .duudu-shop-tools__meta{padding-top:10px}
.duudu-shop-tools--compact .duudu-shop-search{min-height:48px}
.duudu-shop-tools--compact .duudu-shop-filter-toggle{min-height:48px}

/* Give shortcodes sensible styling even outside WooCommerce archive body classes. */
.duudu-shop-tools .duudu-shop-search,
.duudu-shop-toolbar .duudu-shop-search{color:var(--duudu-shop-text)}

@media(max-width:1024px){
    .duudu-shop-layout{grid-template-columns:240px minmax(0,1fr);gap:20px}
    .duudu-shop-toolbar--hybrid .duudu-shop-tools__topbar{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr) auto}
}

@media(max-width:900px){
    .duudu-shop-layout{display:block}
    .duudu-shop-layout__sidebar{display:none}
    .duudu-shop-filter-toggle--mobile{display:inline-flex}
    .duudu-shop-toolbar--hybrid .duudu-shop-tools__topbar{grid-template-columns:minmax(0,1fr) auto}
    .duudu-shop-toolbar--hybrid .duudu-shop-toolbar-price{grid-column:1 / -1}
    .duudu-shop-shortcode-layout{grid-template-columns:1fr}
    .duudu-shop-shortcode-layout>aside{max-width:100%}
    .duudu-shop-hybrid-filter-row .duudu-shop-filter-form{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){
    .duudu-shop-hybrid-filter-row .duudu-shop-filter-form{grid-template-columns:1fr}
    .duudu-shop-tools--filters-only .duudu-shop-filter-form{max-width:none}
    .duudu-shop-filter-form{padding:16px}
    .duudu-shop-filter-form__footer{grid-template-columns:1fr 1fr}
}

/* -------------------------------------------------------------------------
 * V1.1.24 — Live filtering, stable empty state and real List view
 * ---------------------------------------------------------------------- */
.duudu-shop-live-region{position:relative;min-height:120px;transition:opacity .16s ease}
.duudu-shop-live-region.is-loading{opacity:.55;pointer-events:none}
.duudu-shop-live-region.is-loading:after{content:'';position:absolute;top:18px;right:18px;width:22px;height:22px;border:2px solid rgba(17,19,21,.16);border-top-color:#111315;border-radius:50%;animation:duudu-shop-spin .65s linear infinite;z-index:80}
@keyframes duudu-shop-spin{to{transform:rotate(360deg)}}

.duudu-shop-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:330px;padding:52px 28px;margin:8px 0 28px;border:1px solid var(--duudu-shop-border,rgba(17,19,21,.12));border-radius:16px;background:#fff;text-align:center}
.duudu-shop-empty-state__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:17px;border-radius:50%;background:#f4f4f3;color:#111315;font-size:29px;line-height:1}
.duudu-shop-empty-state h2{max-width:620px;margin:0 0 10px!important;font-size:clamp(22px,2vw,30px)!important;line-height:1.15!important;font-weight:600!important}
.duudu-shop-empty-state p{max-width:620px;margin:0!important;color:#6d7073;font-size:14px;line-height:1.65}
.duudu-shop-empty-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.duudu-shop-empty-state__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:9px;font-size:12px;font-weight:600;text-decoration:none!important}
.duudu-shop-empty-primary{border:1px solid #111315;background:#111315;color:#fff!important}
.duudu-shop-empty-secondary{border:1px solid var(--duudu-shop-border,rgba(17,19,21,.14));background:#fff;color:#111315!important}

/* The old implementation changed the body class but could still lose against
   catalog CSS or the classic WooCommerce link wrapper. V1.1.21 marks the
   actual loop and lays out the classic product link as a two-column unit. */
.duudu-cv-shop-view-list .duudu-shop-loop--list{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;width:100%!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product{display:grid!important;grid-template-columns:minmax(150px,190px) minmax(0,1fr) auto!important;grid-template-rows:1fr!important;gap:20px!important;align-items:center!important;width:100%!important;max-width:none!important;min-height:175px!important;margin:0!important;padding:16px!important;text-align:left!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{display:grid!important;grid-column:1 / 3!important;grid-row:1!important;grid-template-columns:minmax(150px,190px) minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:22px!important;row-gap:7px!important;align-items:center!important;width:100%!important;min-width:0!important;margin:0!important;text-align:left!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{grid-column:1!important;grid-row:1 / span 2!important;width:100%!important;height:145px!important;max-height:145px!important;margin:0!important;object-fit:contain!important;align-self:center!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a .woocommerce-loop-product__title{grid-column:2!important;grid-row:1!important;align-self:end!important;min-height:0!important;margin:0!important;padding:0!important;text-align:left!important;-webkit-line-clamp:2!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a .price{grid-column:2!important;grid-row:2!important;align-self:start!important;margin:0!important;text-align:left!important;justify-content:flex-start!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.woocommerce-loop-product__title{grid-column:2!important;grid-row:1!important;min-height:0!important;text-align:left!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.price{grid-column:2!important;grid-row:1!important;align-self:end!important;text-align:left!important;justify-content:flex-start!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.button,
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.added_to_cart{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;width:auto!important;min-width:132px!important;margin:0!important;white-space:nowrap!important}

/* WooCommerce Blocks fallback. */
.duudu-cv-shop-view-list .duudu-shop-loop--list.wc-block-grid__products,
.duudu-cv-shop-view-list .duudu-shop-loop--list.wp-block-woocommerce-product-template,
.duudu-cv-shop-view-list ul.duudu-shop-loop--list.wc-block-product-template{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>.wc-block-grid__product,
.duudu-cv-shop-view-list .duudu-shop-loop--list>.wc-block-product{display:grid!important;grid-template-columns:150px minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;width:100%!important;max-width:none!important;min-height:165px!important;text-align:left!important}

@media(max-width:720px){
    .duudu-shop-empty-state{min-height:260px;padding:38px 18px}
    .duudu-shop-empty-state__actions{width:100%}
    .duudu-shop-empty-state__actions a{flex:1 1 160px}
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product{grid-template-columns:105px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:12px!important;min-height:140px!important;padding:12px!important}
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{grid-column:1 / 3!important;grid-template-columns:105px minmax(0,1fr)!important;column-gap:14px!important}
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{height:110px!important;max-height:110px!important}
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.button,
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.added_to_cart{grid-column:2!important;grid-row:2!important;justify-self:start!important;min-width:0!important}
}

/* -------------------------------------------------------------------------
 * V1.1.24 — Dynamic filtered pagination
 * ---------------------------------------------------------------------- */
/* DUUDU owns archive pagination while Search & Filters is active. This also
   suppresses theme/WooCommerce pagers that can sit outside the live region and
   keep the unfiltered max page count. */
.duudu-cv-shop-tools-active .woocommerce-pagination:not(.duudu-shop-pagination){display:none!important}
.duudu-shop-pagination{display:flex;justify-content:center;clear:both;width:100%;margin:28px 0 8px;padding:0}
.duudu-shop-pagination__links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px}
.duudu-shop-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 11px;border:1px solid var(--duudu-shop-border,rgba(17,19,21,.14));border-radius:9px;background:#fff;color:#111315!important;font-size:12px;font-weight:600;line-height:1;text-decoration:none!important;transition:border-color .15s ease,background .15s ease,color .15s ease}
.duudu-shop-pagination a.page-numbers:hover{border-color:#111315;background:#f6f6f5}
.duudu-shop-pagination .page-numbers.current{border-color:#111315;background:#111315;color:#fff!important}
.duudu-shop-pagination .prev,.duudu-shop-pagination .next{padding-inline:14px}
@media(max-width:560px){
    .duudu-shop-pagination{margin-top:22px}
    .duudu-shop-pagination__links{gap:5px}
    .duudu-shop-pagination .page-numbers{min-width:34px;height:34px;padding:0 9px}
    .duudu-shop-pagination .prev span,.duudu-shop-pagination .next span{display:none}
}


/* -------------------------------------------------------------------------
 * V1.2.2 — Refined compact List view
 * ---------------------------------------------------------------------- */
.duudu-cv-shop-view-list .duudu-shop-loop--list{gap:10px!important}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product{
    grid-template-columns:minmax(96px,118px) minmax(0,1fr) minmax(138px,190px)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:18px!important;row-gap:6px!important;
    min-height:132px!important;padding:12px 14px!important;
    align-items:center!important;
}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{
    grid-column:1 / 3!important;grid-row:1 / span 3!important;
    grid-template-columns:minmax(96px,118px) minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;column-gap:18px!important;row-gap:5px!important;
    align-self:stretch!important;align-content:center!important;
}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{
    width:100%!important;height:104px!important;max-height:104px!important;object-fit:contain!important;
}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a .woocommerce-loop-product__title{
    align-self:end!important;font-size:clamp(12px,.9vw,15px)!important;line-height:1.3!important;
    -webkit-line-clamp:2!important;overflow:hidden!important;
}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a .price{
    align-self:start!important;font-size:clamp(13px,1vw,16px)!important;line-height:1.2!important;
}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.button{
    grid-column:3!important;grid-row:1!important;justify-self:stretch!important;align-self:end!important;
    width:100%!important;min-width:0!important;min-height:36px!important;padding:8px 12px!important;
    font-size:11px!important;line-height:1.1!important;
}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.added_to_cart{
    grid-column:3!important;grid-row:3!important;justify-self:stretch!important;text-align:center!important;
    width:100%!important;min-width:0!important;margin:0!important;font-size:11px!important;
}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card{
    grid-column:3!important;grid-row:2!important;align-self:center!important;justify-self:stretch!important;
    display:flex!important;flex-direction:column!important;gap:5px!important;width:100%!important;margin:0!important;
}
.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card .duudu-commerce-action{
    width:100%!important;min-height:34px!important;margin:0!important;padding:7px 10px!important;
    flex:0 0 auto!important;font-size:10.5px!important;line-height:1.1!important;
}

@media(max-width:900px){
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product{
        grid-template-columns:96px minmax(0,1fr) minmax(122px,155px)!important;
        min-height:120px!important;padding:10px 12px!important;column-gap:14px!important;
    }
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{
        grid-template-columns:96px minmax(0,1fr)!important;column-gap:14px!important;
    }
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{height:92px!important;max-height:92px!important}
}
@media(max-width:680px){
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product{
        grid-template-columns:86px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;
        min-height:112px!important;padding:10px!important;column-gap:12px!important;
    }
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{
        grid-column:1 / 3!important;grid-row:1!important;grid-template-columns:86px minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;column-gap:12px!important;
    }
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{height:82px!important;max-height:82px!important}
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.button{
        grid-column:2!important;grid-row:2!important;width:auto!important;justify-self:start!important;min-height:34px!important;
    }
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card{
        grid-column:2!important;grid-row:3!important;flex-direction:row!important;flex-wrap:wrap!important;justify-self:start!important;width:auto!important;
    }
    .duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card .duudu-commerce-action{width:auto!important;min-width:0!important}
}


/* -------------------------------------------------------------------------
 * V1.2.3 — True compact List view
 * ---------------------------------------------------------------------- */
/* Equal-height card rules are correct for Grid, but in List they created tall
   horizontal cards. List explicitly opts out and becomes a low, dense row. */
body.duudu-cv-shop-view-list .duudu-shop-loop--list{align-items:start!important;gap:8px!important}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product{
    height:auto!important;min-height:0!important;max-height:none!important;align-self:start!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(132px,176px)!important;
    grid-template-rows:auto auto!important;column-gap:14px!important;row-gap:5px!important;
    padding:9px 11px!important;overflow:visible!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{
    grid-column:1!important;grid-row:1 / 3!important;display:grid!important;
    grid-template-columns:78px minmax(0,1fr) minmax(72px,96px)!important;grid-template-rows:1fr!important;
    gap:12px!important;align-items:center!important;align-content:center!important;
    height:auto!important;min-height:78px!important;flex:0 0 auto!important;margin:0!important;padding:0!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{
    grid-column:1!important;grid-row:1!important;width:78px!important;height:72px!important;max-height:72px!important;
    aspect-ratio:auto!important;object-fit:contain!important;margin:0!important;border-radius:7px!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a .woocommerce-loop-product__title{
    grid-column:2!important;grid-row:1!important;align-self:center!important;margin:0!important;min-height:0!important;
    font-size:clamp(11.5px,.82vw,14px)!important;line-height:1.25!important;text-align:left!important;
    display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a .price{
    grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;
    display:block!important;margin:0!important;min-height:0!important;font-size:clamp(12px,.9vw,15px)!important;
    line-height:1.2!important;text-align:right!important;white-space:nowrap!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.woocommerce-loop-product__title{min-height:0!important;margin:0!important}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.price{min-height:0!important;margin:0!important}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.button,
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.added_to_cart{
    grid-column:2!important;grid-row:1!important;align-self:start!important;justify-self:stretch!important;
    width:100%!important;min-width:0!important;min-height:32px!important;height:32px!important;margin:0!important;
    padding:6px 9px!important;font-size:10.5px!important;line-height:1!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card{
    grid-column:2!important;grid-row:2!important;align-self:end!important;justify-self:stretch!important;
    display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:4px!important;width:100%!important;margin:0!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card .duudu-commerce-action{
    flex:1 1 62px!important;width:auto!important;min-width:0!important;min-height:31px!important;height:31px!important;
    margin:0!important;padding:5px 7px!important;font-size:9.5px!important;line-height:1!important;white-space:nowrap!important;
}
/* Comfortable mode is still compact, just with a larger media rail and air. */
body.duudu-cv-shop-view-list.duudu-cv-shop-list-comfortable .duudu-shop-loop--list>li.product{padding:13px 15px!important;grid-template-columns:minmax(0,1fr) minmax(145px,190px)!important;column-gap:18px!important}
body.duudu-cv-shop-view-list.duudu-cv-shop-list-comfortable .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
body.duudu-cv-shop-view-list.duudu-cv-shop-list-comfortable .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{grid-template-columns:96px minmax(0,1fr) minmax(82px,105px)!important;min-height:96px!important;gap:16px!important}
body.duudu-cv-shop-view-list.duudu-cv-shop-list-comfortable .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
body.duudu-cv-shop-view-list.duudu-cv-shop-list-comfortable .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{width:96px!important;height:90px!important;max-height:90px!important}
@media(max-width:760px){
    body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product{grid-template-columns:1fr!important;grid-template-rows:auto auto!important;padding:9px!important}
    body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
    body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{grid-column:1!important;grid-row:1!important;grid-template-columns:72px minmax(0,1fr) auto!important;min-height:72px!important;gap:10px!important}
    body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
    body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{width:72px!important;height:66px!important;max-height:66px!important}
    body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.button{grid-column:1!important;grid-row:2!important;width:auto!important;justify-self:start!important;min-height:31px!important;height:31px!important}
    body.duudu-cv-shop-view-list .duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card{grid-column:1!important;grid-row:2!important;justify-self:end!important;width:auto!important;max-width:70%!important}
}


/* -------------------------------------------------------------------------
 * V1.2.4 — Inventory-grade List rows
 * ---------------------------------------------------------------------- */
/*
 * List is intentionally not a horizontal "card". It is a compact inventory
 * row. These selectors are deliberately more specific than Catalog's Grid
 * equal-height rules so theme/Catalog styles cannot stretch the row again.
 */
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list,
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products.duudu-shop-loop--list{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:7px!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product,
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products.duudu-shop-loop--list>li.product{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    align-content:center!important;
    column-gap:10px!important;
    row-gap:0!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:7px 10px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{
    grid-column:1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:74px minmax(0,1fr) minmax(76px,96px)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    align-content:center!important;
    gap:11px!important;
    width:100%!important;
    height:74px!important;
    min-height:0!important;
    max-height:74px!important;
    margin:0!important;
    padding:0!important;
    flex:none!important;
    text-decoration:none!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    display:block!important;
    width:70px!important;
    height:66px!important;
    max-width:70px!important;
    max-height:66px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    margin:0!important;
    padding:0!important;
    border-radius:6px!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a .woocommerce-loop-product__title{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    width:auto!important;
    min-height:0!important;
    max-height:2.6em!important;
    margin:0!important;
    padding:0!important;
    font-size:12.5px!important;
    line-height:1.28!important;
    text-align:left!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a .price{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    display:block!important;
    width:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    font-size:13.5px!important;
    line-height:1.15!important;
    text-align:right!important;
    white-space:nowrap!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.woocommerce-loop-product__title,
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.price{
    min-height:0!important;
    height:auto!important;
    margin:0!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.button,
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.added_to_cart{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    width:auto!important;
    min-width:0!important;
    max-width:150px!important;
    min-height:30px!important;
    height:30px!important;
    margin:0!important;
    padding:5px 9px!important;
    border-radius:6px!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    width:auto!important;
    max-width:330px!important;
    margin:0!important;
    padding:0!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card .duudu-commerce-action{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:30px!important;
    height:30px!important;
    margin:0!important;
    padding:5px 8px!important;
    border-radius:6px!important;
    font-size:9.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
}
/* A slightly roomier variant without returning to card-like proportions. */
body.duudu-cv-shop-view-list.duudu-cv-catalog-active.duudu-cv-shop-list-comfortable ul.duudu-shop-loop--list>li.product{
    padding:9px 12px!important;
    column-gap:13px!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active.duudu-cv-shop-list-comfortable ul.duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
body.duudu-cv-shop-view-list.duudu-cv-catalog-active.duudu-cv-shop-list-comfortable ul.duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{
    grid-template-columns:88px minmax(0,1fr) minmax(82px,108px)!important;
    height:88px!important;
    max-height:88px!important;
    gap:14px!important;
}
body.duudu-cv-shop-view-list.duudu-cv-catalog-active.duudu-cv-shop-list-comfortable ul.duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
body.duudu-cv-shop-view-list.duudu-cv-catalog-active.duudu-cv-shop-list-comfortable ul.duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{
    width:84px!important;height:80px!important;max-width:84px!important;max-height:80px!important;
}
@media(max-width:980px){
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product{
        grid-template-columns:minmax(0,1fr) auto!important;
        grid-template-rows:auto auto!important;
        row-gap:5px!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{
        grid-column:1 / 3!important;grid-row:1!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.button,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.added_to_cart{
        grid-column:1!important;grid-row:2!important;justify-self:start!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card{
        grid-column:2!important;grid-row:2!important;justify-self:end!important;
    }
}
@media(max-width:640px){
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product{
        padding:7px!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link{
        grid-template-columns:62px minmax(0,1fr) auto!important;
        height:66px!important;max-height:66px!important;gap:8px!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-LoopProduct-link img,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>a.woocommerce-loop-product__link img{
        width:58px!important;height:56px!important;max-width:58px!important;max-height:56px!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.duudu-shop-loop--list>li.product>.duudu-commerce-actions.is-card{
        max-width:66vw!important;overflow-x:auto!important;justify-content:flex-end!important;
    }
}

/* -------------------------------------------------------------------------
 * V1.2.5 — Hard isolation for compact List rows
 * ---------------------------------------------------------------------- */
/*
 * Important: do not let the WooCommerce product-link wrapper become the
 * layout container in List mode. Some themes/Spectra rules stretch that
 * wrapper and its image to card proportions. `display: contents` keeps the
 * link semantics while allowing the actual product parts to occupy the row.
 */
@media (min-width: 981px){
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:8px!important;
        align-items:start!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product{
        display:grid!important;
        grid-template-columns:76px minmax(220px,1fr) minmax(78px,105px) auto auto!important;
        grid-template-rows:minmax(72px,auto)!important;
        align-items:center!important;
        align-content:center!important;
        column-gap:14px!important;
        row-gap:0!important;
        width:100%!important;
        min-width:0!important;
        min-height:88px!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        padding:8px 12px!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
    }

    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product>a.woocommerce-LoopProduct-link,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product>a.woocommerce-loop-product__link{
        display:contents!important;
        width:auto!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        padding:0!important;
        flex:none!important;
    }

    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product img,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product a img,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product img.wp-post-image,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product img.attachment-woocommerce_thumbnail{
        grid-column:1!important;
        grid-row:1!important;
        align-self:center!important;
        justify-self:center!important;
        display:block!important;
        width:72px!important;
        height:72px!important;
        min-width:72px!important;
        min-height:72px!important;
        max-width:72px!important;
        max-height:72px!important;
        aspect-ratio:1/1!important;
        object-fit:contain!important;
        margin:0!important;
        padding:0!important;
        border-radius:6px!important;
        transform:none!important;
    }

    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product .woocommerce-loop-product__title,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product h2.woocommerce-loop-product__title{
        grid-column:2!important;
        grid-row:1!important;
        align-self:center!important;
        justify-self:stretch!important;
        display:-webkit-box!important;
        -webkit-box-orient:vertical!important;
        -webkit-line-clamp:2!important;
        overflow:hidden!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        height:auto!important;
        max-height:2.7em!important;
        margin:0!important;
        padding:0!important;
        font-size:12.5px!important;
        line-height:1.3!important;
        text-align:left!important;
    }

    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product .price{
        grid-column:3!important;
        grid-row:1!important;
        align-self:center!important;
        justify-self:end!important;
        display:block!important;
        width:auto!important;
        min-width:0!important;
        min-height:0!important;
        height:auto!important;
        margin:0!important;
        padding:0!important;
        font-size:13px!important;
        line-height:1.2!important;
        text-align:right!important;
        white-space:nowrap!important;
    }

    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product>.button,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product>.added_to_cart{
        grid-column:4!important;
        grid-row:1!important;
        align-self:center!important;
        justify-self:end!important;
        width:auto!important;
        min-width:0!important;
        max-width:145px!important;
        min-height:32px!important;
        height:32px!important;
        margin:0!important;
        padding:6px 10px!important;
        border-radius:6px!important;
        font-size:10px!important;
        line-height:1!important;
        white-space:nowrap!important;
    }

    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product>.duudu-commerce-actions.is-card{
        grid-column:5!important;
        grid-row:1!important;
        align-self:center!important;
        justify-self:end!important;
        display:flex!important;
        flex-flow:row nowrap!important;
        align-items:center!important;
        gap:5px!important;
        width:auto!important;
        max-width:320px!important;
        margin:0!important;
        padding:0!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product>.duudu-commerce-actions.is-card .duudu-commerce-action{
        flex:0 0 auto!important;
        width:auto!important;
        min-width:0!important;
        min-height:32px!important;
        height:32px!important;
        margin:0!important;
        padding:6px 9px!important;
        border-radius:6px!important;
        font-size:9.5px!important;
        line-height:1!important;
        white-space:nowrap!important;
    }

    /* Comfortable = still a list, never a horizontal card. */
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active.duudu-cv-shop-list-comfortable ul.products>li.product{
        grid-template-columns:92px minmax(220px,1fr) minmax(82px,115px) auto auto!important;
        min-height:108px!important;
        padding:10px 14px!important;
        column-gap:16px!important;
    }
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active.duudu-cv-shop-list-comfortable ul.products>li.product img,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active.duudu-cv-shop-list-comfortable ul.products>li.product a img{
        width:88px!important;height:88px!important;min-width:88px!important;min-height:88px!important;max-width:88px!important;max-height:88px!important;
    }
}

/* Tablet/mobile: keep the image bounded even when actions wrap. */
@media (max-width: 980px){
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product img,
    body.duudu-cv-shop-view-list.duudu-cv-catalog-active ul.products>li.product a img{
        width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important;object-fit:contain!important;
    }
}

/* -------------------------------------------------------------------------
 * V1.2.6 — Normalized List renderer (final attempt)
 * ---------------------------------------------------------------------- */
/*
 * The store can be rendered by classic WooCommerce, Blocks or theme wrappers.
 * Instead of forcing those unrelated card DOMs into one layout, JS derives a
 * small normalized row from the already-rendered product data. The original
 * card remains in the DOM for Grid mode and is visually hidden only in List.
 */
body.duudu-cv-shop-view-list .duudu-shop-loop--list{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>.duudu-list-normalized{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
}
body.duudu-cv-shop-view-list .duudu-shop-loop--list>.duudu-list-normalized>*:not(.duudu-list-proxy){
    display:none!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy{
    display:grid!important;
    grid-template-columns:68px minmax(0,1fr) minmax(76px,105px) auto!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
    min-height:86px!important;
    height:auto!important;
    margin:0!important;
    padding:8px 12px!important;
    border:1px solid rgba(17,19,21,.13)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-sizing:border-box!important;
    text-align:left!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__media{
    display:grid!important;
    place-items:center!important;
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    min-height:68px!important;
    margin:0!important;
    padding:0!important;
    text-decoration:none!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__media img{
    display:block!important;
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    min-height:64px!important;
    max-width:64px!important;
    max-height:64px!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:6px!important;
    transform:none!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__info{
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__title{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    color:inherit!important;
    font-size:12.5px!important;
    font-weight:500!important;
    line-height:1.3!important;
    text-align:left!important;
    text-decoration:none!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__price{
    min-width:76px!important;
    margin:0!important;
    padding:0!important;
    font-size:13.5px!important;
    line-height:1.2!important;
    text-align:right!important;
    white-space:nowrap!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__price *{
    font-size:inherit!important;
    line-height:inherit!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__actions{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    width:auto!important;
    max-width:320px!important;
    margin:0!important;
    padding:0!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__actions:empty{display:none!important}
body.duudu-cv-shop-view-list .duudu-list-proxy__action{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:150px!important;
    min-height:32px!important;
    height:32px!important;
    margin:0!important;
    padding:6px 10px!important;
    border-radius:7px!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-decoration:none!important;
}
body.duudu-cv-shop-view-list.duudu-cv-shop-list-comfortable .duudu-list-proxy{
    grid-template-columns:86px minmax(0,1fr) minmax(82px,112px) auto!important;
    min-height:106px!important;
    padding:10px 14px!important;
    gap:16px!important;
}
body.duudu-cv-shop-view-list.duudu-cv-shop-list-comfortable .duudu-list-proxy__media{
    width:86px!important;height:86px!important;min-width:86px!important;min-height:86px!important;
}
body.duudu-cv-shop-view-list.duudu-cv-shop-list-comfortable .duudu-list-proxy__media img{
    width:82px!important;height:82px!important;min-width:82px!important;min-height:82px!important;max-width:82px!important;max-height:82px!important;
}
@media(max-width:760px){
    body.duudu-cv-shop-view-list .duudu-list-proxy{
        grid-template-columns:62px minmax(0,1fr) auto!important;
        grid-template-rows:auto auto!important;
        gap:7px 10px!important;
        min-height:82px!important;
        padding:8px!important;
    }
    body.duudu-cv-shop-view-list .duudu-list-proxy__media{grid-column:1;grid-row:1 / 3;width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important}
    body.duudu-cv-shop-view-list .duudu-list-proxy__media img{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;max-width:58px!important;max-height:58px!important}
    body.duudu-cv-shop-view-list .duudu-list-proxy__info{grid-column:2;grid-row:1}
    body.duudu-cv-shop-view-list .duudu-list-proxy__price{grid-column:3;grid-row:1;align-self:start!important}
    body.duudu-cv-shop-view-list .duudu-list-proxy__actions{grid-column:2 / 4;grid-row:2;justify-content:flex-start!important;max-width:none!important}
    body.duudu-cv-shop-view-list .duudu-list-proxy__action{height:30px!important;min-height:30px!important;padding:5px 8px!important;font-size:9.5px!important}
}

/* V1.2.7 — normalized List owns the visible commercial actions.
 * Commerce Tools keeps its original card actions in the DOM so Grid mode can
 * be restored instantly, but those originals must not remain visible beside
 * the normalized row. The proxy clones are direct .duudu-list-proxy__action
 * links and are therefore not affected by this rule. */
body.duudu-cv-shop-view-list .duudu-shop-loop--list .duudu-commerce-actions.is-card{
    display:none!important;
}


/* V1.2.8 — final List action ownership fix.
 * Some themes print Commerce Tools outside the product node/loop. In List
 * mode every original card-action container is hidden globally; only the
 * normalized proxy row remains visible. Grid mode is restored by JS. */
body.duudu-cv-shop-view-list .duudu-commerce-actions.is-card,
body.duudu-cv-shop-view-list [data-duudu-commerce-actions][data-context="card"]{
    display:none!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy .duudu-commerce-actions.is-card{
    display:flex!important;
}
body.duudu-cv-shop-view-list .duudu-list-proxy__primary-action{
    color:#fff!important;
    text-indent:0!important;
    font-size:10px!important;
    overflow:visible!important;
}
