/* ==========================================================================
   PRIDO Grilla — Estilos desacoplados de css-maestro.css
   Tienda / Categoría / Subcategoría
   ========================================================================== */

/* --- Clase reutilizable Liquid Glass --- */
.prido-glass-ui {
    background: var(--prido-grid-chip, var(--prido-glass-chip));
    -webkit-backdrop-filter: var(--prido-glass-backdrop);
    backdrop-filter: var(--prido-glass-backdrop);
    border: 1px solid var(--prido-grid-border, var(--prido-glass-border));
    box-shadow: var(--prido-grid-shadow, var(--prido-glass-shadow-soft));
    color: var(--prido-dark);
    transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
}
.prido-glass-ui:hover {
    background: var(--prido-grid-chip-hover, var(--prido-glass-chip-hover));
    color: var(--prido-dark);
    border-color: var(--prido-grid-border-strong, var(--prido-glass-accent-border));
    box-shadow: var(--prido-grid-shadow, var(--prido-glass-shadow-soft));
}

/* --- Wrapper principal --- */
.prido-grilla-wrapper {
    --prido-dark: var(--prido-theme-ink);
    --prido-muted: var(--prido-theme-muted);
    --prido-border-light: var(--prido-theme-border);
    --prido-bg-tint: var(--prido-theme-surface-alt);
    --prido-grid-surface: var(--prido-glass-shell);
    --prido-grid-surface-soft: var(--prido-glass-shell-soft);
    --prido-grid-border: var(--prido-glass-border);
    --prido-grid-border-strong: var(--prido-glass-accent-border);
    --prido-grid-shadow: var(--prido-glass-shadow-soft);
    --prido-grid-shadow-strong: var(--prido-glass-shadow);
    --prido-grid-chip: var(--prido-glass-chip);
    --prido-grid-chip-hover: var(--prido-glass-chip-hover);
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* --- Breadcrumbs --- */
.prido-grilla-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    padding: 10px 16px;
    margin: 0 0 18px;
    font-size: var(--prido-type-small);
    line-height: 1.45;
    color: var(--prido-muted);
    background: var(--prido-grid-chip);
    border: 1px solid var(--prido-grid-border);
    border-radius: 999px;
    box-shadow: var(--prido-grid-shadow);
    backdrop-filter: blur(14px) saturate(135%);
    -webkit-backdrop-filter: blur(14px) saturate(135%);
}
.prido-grilla-breadcrumbs a {
    color: var(--prido-muted);
    text-decoration: none;
    transition: color .25s ease;
}
.prido-grilla-breadcrumbs a:hover {
    color: var(--prido-teal);
}
.prido-bc-sep {
    color: var(--prido-border-light);
    font-size: 11px;
    user-select: none;
}
.prido-bc-current {
    color: var(--prido-dark);
    font-weight: 600;
}

/* --- Toolbar — Liquid Glass --- */
.prido-grilla-toolbar {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    padding: 18px 22px;
    margin-bottom: 24px;
    background: var(--prido-grid-surface);
    -webkit-backdrop-filter: var(--prido-glass-backdrop);
    backdrop-filter: var(--prido-glass-backdrop);
    border: 1px solid var(--prido-grid-border);
    border-radius: 30px;
    box-shadow: var(--prido-grid-shadow);
    overflow: visible;
}
.prido-grilla-toolbar::before {
    display: none;
}
.prido-grilla-result-count {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding: 0 6px;
    font-size: var(--prido-type-small);
    color: var(--prido-muted);
    white-space: nowrap;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.prido-grilla-controls {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Orderby select — glass */
.prido-grilla-orderby {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0;
    border: 1px solid var(--prido-grid-border);
    border-radius: 999px;
    background: var(--prido-grid-chip);
    box-shadow: var(--prido-grid-shadow);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    overflow: hidden;
    transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.prido-grilla-orderby:hover,
.prido-grilla-orderby:focus-within {
    transform: translateY(-1px);
    border-color: var(--prido-grid-border-strong);
    background: var(--prido-grid-chip-hover);
    box-shadow: var(--prido-grid-shadow);
}
.prido-orderby-select {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    border-radius: 999px;
    padding: 0 42px 0 18px;
    min-height: 44px;
    font-size: var(--prido-type-small);
    color: var(--prido-dark);
    cursor: pointer;
    transition: border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
    background-image: var(--prido-theme-arrow-url);
    background-repeat: no-repeat;
    background-position: right 12px center;
    min-width: 190px;
    box-shadow: none;
    outline: none;
}
.prido-orderby-select:hover,
.prido-orderby-select:focus {
    transform: none;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    outline: none;
}

/* Per page selector — glass pills */
.prido-grilla-per-page {
    display: flex;
    align-items: center;
    gap: 6px;
}
.prido-per-page-select {
    display: none;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--prido-dark);
    cursor: pointer;
    font-size: var(--prido-type-small);
    font-weight: var(--prido-weight-semibold);
    outline: none;
}
.prido-pp-label {
    font-size: var(--prido-type-small);
    color: var(--prido-muted);
    white-space: nowrap;
}
.prido-pp-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--prido-grid-border);
    border-radius: 999px;
    font-size: var(--prido-type-small);
    font-weight: var(--prido-weight-semibold);
    color: var(--prido-muted);
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease, color .22s ease, background .22s ease, box-shadow .22s ease;
    background: var(--prido-grid-chip);
    box-shadow: none;
}
.prido-pp-option:hover {
    transform: translateY(-1px);
    border-color: var(--prido-grid-border-strong);
    color: var(--prido-dark);
    background: var(--prido-grid-chip-hover);
    box-shadow: var(--prido-grid-shadow);
}
.prido-pp-option.is-active {
    background: var(--prido-glass-accent-fill);
    border-color: var(--prido-grid-border-strong);
    color: var(--prido-dark);
    font-weight: 700;
    pointer-events: none;
    box-shadow: var(--prido-grid-shadow);
}

/* ==========================================================================
   15-A. GRILLA ESTRICTA — Layout simétrico con alturas controladas
   ========================================================================== */

.prido-grilla-products {
    display: grid;
    grid-template-columns: repeat(var(--prido-grid-cols, 4), 1fr);
    gap: 20px;
    align-items: stretch;
    grid-auto-rows: 1fr;
    min-width: 0;
}

/* Forzar que cada celda ocupe 100% y sea un flex container vertical */
.prido-grilla-products .wd-product {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column;
    height: 100%;
    min-width: 0;
}
.prido-grilla-products .wd-col {
    --wd-col: 100%;
    flex: none;
    max-width: 100%;
    min-width: 0;
}

/* Product wrapper — flex column para alinear zonas internas */
.prido-grilla-products .product-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
    min-height: 100%;
    background: var(--prido-grid-surface);
    border-radius: 24px;
    border: 1px solid var(--prido-grid-border);
    transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
    box-shadow: var(--prido-grid-shadow);
    overflow: hidden;
    position: relative;
}

/* Glass highlight — reflejo sutil permanente (antes del hover) */
.prido-grilla-products .product-wrapper::before {
    display: none;
}

/* Hover — elevación + iluminación */
.prido-grilla-products .wd-product:hover .product-wrapper {
    transform: translateY(-2px);
    box-shadow: var(--prido-grid-shadow-strong);
    border-color: var(--prido-grid-border-strong);
}
.prido-grilla-products .wd-product:hover .product-wrapper::before {
    opacity: 1;
}

/* ==========================================================================
   15-B. IMAGEN DE PRODUCTO — 1:1 estricto, cover
   ========================================================================== */

.prido-grilla-products .product-element-top {
    position: relative;
    overflow: hidden;
    background: var(--prido-bg-tint);
    border-radius: 24px 24px 0 0;
    flex-shrink: 0;
    padding: 0 !important;
    margin: 0 !important;
}
.prido-grilla-products .product-image-link {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
    padding: 0 !important;
    margin: 0 !important;
}
.prido-grilla-products .product-image-link img,
.prido-grilla-products .attachment-woocommerce_thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 1;
    transition: transform 0.6s ease, opacity 0.25s ease;
}
.prido-grilla-products .wd-product:hover .product-image-link img,
.prido-grilla-products .wd-product:hover .attachment-woocommerce_thumbnail,
.prido-grilla-products .prido-product-card:hover .product-image-link img,
.prido-grilla-products .prido-product-card:hover .attachment-woocommerce_thumbnail {
    transform: scale(1.03);
}

/* Hover image (secondary) — también 1:1 cover */
.prido-grilla-products .wd-hover-img-wrap,
.prido-grilla-products .prido-product-card__hover-media {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 2;
    pointer-events: none;
    transition: opacity 0.35s ease;
}
.prido-grilla-products .wd-hover-img-wrap img,
.prido-grilla-products .prido-product-card__hover-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Hover-swap DESACTIVADO: la galería ahora se navega con flechas (no thumbnails). */
.prido-grilla-products .wd-hover-img-wrap,
.prido-grilla-products .prido-product-card__hover-media {
    display: none !important;
}

/* ==========================================================================
   15-C. ZONA DE INFO — Jerarquía tipográfica estricta
   ========================================================================== */

.prido-grilla-products .product-element-bottom {
    padding: 20px 20px 22px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    background: transparent;
}

.prido-product-card__body {
    gap: 7px;
}

/* Categoría — uppercase muted (+5% scale) */
.prido-grilla-products .wd-product-cats,
.prido-grilla-products .product-element-bottom .wd-product-cats {
    font-size: var(--prido-type-overline) !important;
    text-transform: uppercase;
    font-weight: var(--prido-weight-semibold);
    color: var(--prido-muted) !important;
    margin-bottom: 0 !important;
    letter-spacing: 0.08em;
    line-height: 1.25;
    min-height: 1.3em;
    overflow: hidden;
}
.prido-grilla-products .wd-product-cats a {
    color: var(--prido-muted) !important;
    text-decoration: none;
}

/* Título — semibold, 2 líneas max (+5% scale) */
.prido-grilla-products .wd-entities-title {
    margin: 0 !important;
    line-height: 1.18;
    min-height: 0;
    max-height: calc(1.18em * 2);
    overflow: hidden;
}
.prido-grilla-products .wd-entities-title a {
    font-family: var(--prido-font-heading) !important;
    font-size: var(--prido-type-large) !important;
    font-weight: var(--prido-weight-bold) !important;
    color: var(--prido-dark) !important;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease !important;
}
.prido-grilla-products .wd-product:hover .wd-entities-title a,
.prido-grilla-products .prido-product-card:hover .wd-entities-title a {
    color: var(--prido-primary) !important;
}

/* Precio — destacado, alineado al final (+5% scale) */
.prido-grilla-products .prido-product-card__pricing {
    margin-top: 0 !important;
    padding-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2px;
    min-height: 30px;
}

.prido-product-card__details {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 48px;
}

.prido-product-card__quote {
    margin-top: auto;
    padding-top: 10px;
}
.prido-grilla-products .prido-product-card__price {
    display: flex;
    align-items: center;
    min-height: 28px;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}
.prido-grilla-products .prido-product-card__price:empty {
    display: block;
}
.prido-grilla-products .prido-product-card__price .price,
.prido-grilla-products .price {
    font-family: var(--prido-font-heading) !important;
    font-size: var(--prido-type-h6) !important;
    font-weight: var(--prido-weight-heavy) !important;
    color: var(--prido-dark) !important;
    line-height: var(--prido-leading-heading);
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: baseline;
    gap: 6px;
    white-space: nowrap !important;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
}
.prido-grilla-products .prido-product-card__price .price del,
.prido-grilla-products .price del {
    display: inline-flex !important;
    align-items: baseline;
    white-space: nowrap !important;
    font-size: 0.72em !important;
    font-weight: 600 !important;
    color: #94A3B8 !important;
    margin: 0 !important;
    text-decoration-thickness: 1.5px;
    text-decoration-color: rgba(148, 163, 184, 0.92);
}
.prido-grilla-products .prido-product-card__price .price ins,
.prido-grilla-products .price ins {
    display: inline-flex !important;
    align-items: baseline;
    white-space: nowrap !important;
    text-decoration: none;
    color: var(--prido-dark) !important;
}
.prido-grilla-products .prido-price-line,
.prido-grilla-products .prido-price-current,
.prido-grilla-products .prido-price-value,
.prido-grilla-products .prido-price-regular,
.prido-grilla-products .prido-price-sale {
    display: inline-flex !important;
    align-items: baseline;
    white-space: nowrap !important;
    max-width: 100%;
    min-width: 0;
}
.prido-grilla-products .prido-price-value {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    min-width: 0;
}
.prido-grilla-products .prido-product-card__price .woocommerce-Price-amount,
.prido-grilla-products .prido-product-card__price .amount,
.prido-grilla-products .prido-product-card__price bdi {
    display: inline-flex !important;
    align-items: baseline;
    white-space: nowrap !important;
}
.prido-grilla-products .prido-product-card__price .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
}
/* Sufijo de impuesto legacy (+5% scale) */
.prido-iva-suffix {
    font-size: 0.62em !important;
    font-weight: var(--prido-weight-semibold) !important;
    color: var(--prido-muted) !important;
    white-space: nowrap;
    letter-spacing: 0.02em;
}

/* ==========================================================================
   15-D. ATRIBUTOS DE VARIACIÓN VISIBLES
   ========================================================================== */

.prido-var-attrs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    padding-top: 8px;
    margin-top: 4px;
    border-top: 1px solid var(--prido-grid-border);
    min-height: 0;
}
.prido-var-attr {
    font-size: var(--prido-type-small);
    color: var(--prido-muted);
    line-height: 1.45;
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    vertical-align: top;
}
.prido-var-attr-label {
    font-weight: 700;
    color: var(--prido-dark);
}

/* ==========================================================================
   15-E. BADGES — Liquid Glass + Badge dinámico de variación
   ========================================================================== */

.prido-grilla-products .onsale,
.prido-grilla-products .product-label {
    background: var(--prido-grid-chip) !important;
    -webkit-backdrop-filter: saturate(155%) blur(14px) !important;
    backdrop-filter: saturate(155%) blur(14px) !important;
    border: 1px solid var(--prido-grid-border) !important;
    color: var(--prido-dark) !important;
    font-family: 'Outfit', sans-serif;
    font-size: var(--prido-type-overline);
    font-weight: var(--prido-weight-heavy);
    padding: 6px 12px;
    border-radius: 8px;
    box-shadow: var(--prido-grid-shadow);
    letter-spacing: 0.06em;
    text-shadow: none;
}
.prido-grilla-products .wd-label-new {
    background: var(--prido-glass-accent-fill) !important;
    border-color: var(--prido-grid-border-strong) !important;
    color: var(--prido-dark) !important;
}
.prido-grilla-products .wd-label-sale {
    background: var(--prido-grid-chip) !important;
}

/* Ocultar badge nativo de Woodmart sale (evitar duplicado con badge dinámico) */
.prido-grilla-products .onsale,
.prido-grilla-products .wd-label-sale {
    display: none !important;
}

/* Badge dinámico de variación (JS) — Liquid Glass unificado */
.prido-var-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--prido-grid-chip-hover);
    -webkit-backdrop-filter: saturate(145%) blur(12px);
    backdrop-filter: saturate(145%) blur(12px);
    border: 1px solid var(--prido-grid-border);
    color: var(--prido-dark);
    font-family: 'Outfit', sans-serif;
    font-size: var(--prido-type-small);
    font-weight: var(--prido-weight-heavy);
    padding: 6px 12px;
    border-radius: 10px;
    box-shadow: var(--prido-grid-shadow);
    z-index: 6;
    letter-spacing: 0.03em;
    line-height: 1;
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    text-shadow: none;
}

/* ==========================================================================
   15-F. BOTONES DE ACCIÓN — Eliminar nativos + Custom Liquid Glass
   ========================================================================== */

/* ── 1) Ocultar botones nativos de Woodmart en la grilla ── */
/* EXCEPCIÓN: NO ocultar los que están dentro de .prido-grilla-actions (nuestros botones) */
.prido-grilla-products .wd-buttons,
.prido-grilla-products .wd-add-btn,
.prido-grilla-products .wd-add-btn-wrap,
.prido-grilla-products .add_to_cart_button,
.prido-grilla-products .product_type_variable,
.prido-grilla-products .wd-quick-view-btn,
.prido-grilla-products .wd-swatches-grid,
.prido-grilla-products .wd-product-actions,
.prido-grilla-products .hover-content,
.prido-grilla-products .hover-content-inner,
.prido-grilla-products .wd-more-desc,
.prido-grilla-products > .wd-product > .product-wrapper .wd-wishlist-btn:not(.prido-grilla-wish-wrap),
.prido-grilla-products > .wd-product > .product-wrapper .wd-compare-btn:not(.prido-grilla-comp-wrap),
.prido-grilla-products > .wd-product > .product-wrapper .product-compare-button:not(.prido-grilla-comp-wrap),
.prido-grilla-products > .prido-product-card > .product-wrapper .wd-wishlist-btn:not(.prido-grilla-wish-wrap),
.prido-grilla-products > .prido-product-card > .product-wrapper .wd-compare-btn:not(.prido-grilla-comp-wrap),
.prido-grilla-products > .prido-product-card > .product-wrapper .product-compare-button:not(.prido-grilla-comp-wrap) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
}

/* Nuestros wrappers nativos DENTRO de .prido-grilla-actions deben ser visibles */
.prido-grilla-actions .wd-wishlist-btn,
.prido-grilla-actions .wd-compare-btn,
.prido-grilla-actions .product-compare-button {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    position: static !important;
}

/* ── 2) Container de botones — BARRA FLOTANTE (Design A) ──
   Antes: riel vertical arriba-izquierda. Ahora: barra horizontal que
   sube sobre la foto al hover/focus. Contenedor transparente; cada
   botón lleva su propio glass/sólido. */
.prido-grilla-actions {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    top: auto;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 7px;
    z-index: 6;
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transition: opacity 0.28s cubic-bezier(0.2, 0.7, 0.2, 1),
                transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
}
/* Reveal: hover (mouse) + focus-within (teclado). Sin visibility:hidden
   para que los botones sigan siendo enfocables con Tab y disparen focus-within. */
.wd-product:hover .prido-grilla-actions,
.prido-product-card:hover .prido-grilla-actions,
.wd-product:focus-within .prido-grilla-actions,
.prido-product-card:focus-within .prido-grilla-actions {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}

/* ── 3) Botón de acción individual — hereda .prido-glass-ui ── */
.prido-grilla-action-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--prido-dark, var(--prido-theme-ink));
    background: transparent;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    padding: 0;
    box-sizing: border-box;
    line-height: 0;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
}
.prido-grilla-action-btn svg {
    display: block;
    width: 19px;
    height: 19px;
    stroke-width: 2.25;
    transition: transform 0.3s ease;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1 !important;
    visibility: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    overflow: visible;
}
.prido-grilla-action-btn svg *,
.prido-grilla-action-btn svg path,
.prido-grilla-action-btn svg line,
.prido-grilla-action-btn svg polyline,
.prido-grilla-action-btn svg circle {
    opacity: 1 !important;
    visibility: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    vector-effect: non-scaling-stroke;
}
.prido-grilla-action-btn:hover {
    transform: translateY(-1px) scale(1.02);
}
.prido-grilla-action-btn:hover svg {
    transform: translate(-50%, -50%) scale(1.1);
}

/* Estado "added" — feedback visual */
.prido-grilla-action-btn.added {
    background: var(--prido-glass-accent-fill);
    border-color: var(--prido-grid-border-strong);
}
.prido-grilla-action-btn.added svg {
    fill: var(--prido-primary);
    color: var(--prido-primary);
}

/* Carrito → botón primario ancho (turquesa de marca) dentro de la barra.
   El detalle de ancho/forma/label vive en la sección "BARRA FLOTANTE" al final. */
.prido-grilla-btn-cart {
    color: #fff !important;
    background: var(--prido-secondary) !important;
}

.prido-grilla-btn-cart:hover,
.prido-grilla-btn-cart.added {
    color: #fff !important;
    background: color-mix(in srgb, var(--prido-secondary) 84%, #0b1f2e) !important;
}

/* Ensure action buttons respond to dark mode */
:root[data-theme="dark"] .prido-grilla-action-btn {
    color: var(--prido-theme-ink);
}
:root[data-theme="dark"] .prido-grilla-btn-cart {
    color: #fff !important;
    background: var(--prido-secondary) !important;
}
:root[data-theme="dark"] .prido-grilla-action-btn.added {
    background: var(--prido-glass-accent-fill);
}
:root[data-theme="dark"] .prido-grilla-action-btn.is-loading::after {
    border-color: rgba(255, 255, 255, 0.15);
    border-top-color: var(--prido-teal);
}
.prido-grilla-action-btn.is-disabled {
    opacity: 0.46;
    cursor: not-allowed;
}
.prido-grilla-action-btn.is-disabled:hover {
    transform: none;
}
.prido-grilla-action-btn.is-loading {
    opacity: 0.72;
    pointer-events: none;
}
.prido-grilla-action-btn.is-loading::after {
    content: "";
    position: absolute;
    inset: 9px;
    border-radius: 50%;
    border: 1.8px solid rgba(26, 42, 58, 0.18);
    border-top-color: var(--prido-teal);
    animation: prido-cart-spin 0.7s linear infinite;
}
@keyframes prido-cart-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Animación confirm — feedback elegante al agregar (premium, tipo Apple) */
@keyframes prido-btn-confirm {
    0%   { transform: scale(1); opacity: 1; }
    30%  { transform: scale(1.06); opacity: 0.9; }
    60%  { transform: scale(0.99); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}
.prido-grilla-action-btn.prido-btn-confirm {
    animation: prido-btn-confirm 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Header icon pulse — sutil, premium */
@keyframes prido-header-pulse {
    0%   { transform: scale(1); opacity: 1; }
    25%  { transform: scale(1.15); opacity: 0.85; }
    50%  { transform: scale(0.97); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}
.prido-header-pulse {
    animation: prido-header-pulse 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}
.prido-header-pulse .wd-tools-count {
    animation: prido-header-pulse 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.1s !important;
}

/* ── Toast notification ── */
.prido-grilla-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: var(--prido-grid-surface);
    -webkit-backdrop-filter: saturate(150%) blur(16px);
    backdrop-filter: saturate(150%) blur(16px);
    color: var(--prido-dark);
    font-family: 'Noto Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 18px;
    border: 1px solid var(--prido-grid-border);
    box-shadow: var(--prido-grid-shadow);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    white-space: nowrap;
    pointer-events: none;
}
.prido-grilla-toast.prido-toast-show {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* ── 4) Tooltip — mismo estilo que galería de productos relacionados ── */
.prido-grilla-tooltip {
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(6px, -50%);
    background: var(--prido-grid-chip);
    -webkit-backdrop-filter: var(--prido-glass-backdrop);
    backdrop-filter: var(--prido-glass-backdrop);
    color: var(--prido-dark);
    font-family: 'Noto Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 12px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    line-height: 1.2;
    text-transform: none;
    border: 1px solid var(--prido-grid-border);
    box-shadow: var(--prido-grid-shadow);
    z-index: 99;
}
.prido-grilla-tooltip::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent var(--prido-theme-surface-strong) transparent transparent;
}
.prido-grilla-action-btn:hover .prido-grilla-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(10px, -50%);
}

/* ==========================================================================
   15-D2. PRECIO TRANSFERENCIA DIRECTA
   ========================================================================== */

.prido-transfer-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 0;
    padding-top: 8px;
    border-top: 1px dashed var(--prido-grid-border);
    min-height: 42px;
}
.prido-transfer-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: var(--prido-teal);
    opacity: 0.7;
}
.prido-transfer-icon svg {
    width: 14px;
    height: 14px;
    display: block;
}
.prido-transfer-label {
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.35px;
    color: var(--prido-muted);
}
.prido-transfer-amount {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: var(--prido-teal);
}

.prido-product-card__quote .prido-cotizar-wrap--grilla {
    margin: 0;
}

/* ==========================================================================
   15-G. SELECTORES DE VARIACIÓN — Dots sobre imagen con scroll
   ========================================================================== */

/* Outer wrap — posiciona flechas + dots */
.prido-var-dots-wrap {
    position: absolute;
    bottom: 12px;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    z-index: 5;
    opacity: 0;
    transition: opacity 0.35s ease, transform 0.35s ease;
    transform: translateX(-50%) translateY(8px);
    --prido-var-nav-size: 30px;
    --prido-var-nav-gap: 6px;
    --prido-var-nav-space: 0px;
    width: min(calc(var(--prido-var-gallery-width, 60%) + var(--prido-var-nav-space)), calc(100% - 16px));
    max-width: min(calc(var(--prido-var-gallery-width, 60%) + var(--prido-var-nav-space)), calc(100% - 16px));
    min-width: 0;
    overflow: visible;
}
.prido-var-dots-wrap.has-navigation {
    gap: var(--prido-var-nav-gap);
}
.product-element-top:hover .prido-var-dots-wrap,
.wd-product:hover .prido-var-dots-wrap,
.prido-product-card:hover .prido-var-dots-wrap {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.prido-var-dots {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    background: var(--prido-grid-chip);
    -webkit-backdrop-filter: saturate(145%) blur(14px);
    backdrop-filter: saturate(145%) blur(14px);
    border: 1px solid var(--prido-grid-border);
    border-radius: 999px;
    box-shadow: var(--prido-grid-shadow);
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: 100%;
    max-width: 100%;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    justify-content: center;
    min-width: 0;
}
.prido-var-dots-wrap.is-scrollable .prido-var-dots {
    justify-content: flex-start;
}
.prido-var-dots::-webkit-scrollbar {
    display: none;
}

/* Flechas de navegación de variaciones — hereda .prido-glass-ui */
.prido-var-arrow {
    display: none !important;
    align-items: center;
    justify-content: center;
    width: var(--prido-var-nav-size);
    height: var(--prido-var-nav-size);
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    position: relative;
    color: var(--prido-dark) !important;
    border: 1px solid var(--prido-grid-border) !important;
    background: var(--prido-grid-chip) !important;
    -webkit-backdrop-filter: saturate(145%) blur(12px) !important;
    backdrop-filter: saturate(145%) blur(12px) !important;
    box-shadow: var(--prido-grid-shadow) !important;
    transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease, opacity 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, visibility 0.22s ease;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.prido-var-dots-wrap.is-scrollable .prido-var-arrow {
    display: inline-flex !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.prido-var-arrow svg {
    display: block;
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor !important;
    stroke-width: 2.35;
    stroke-linecap: round;
    stroke-linejoin: round;
    overflow: visible;
    opacity: 0 !important;
    visibility: hidden !important;
}
.prido-var-arrow svg path,
.prido-var-arrow svg polyline,
.prido-var-arrow svg line {
    stroke: currentColor !important;
    opacity: 0 !important;
    vector-effect: non-scaling-stroke;
}
.prido-var-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    border-right: 2.2px solid currentColor;
    border-bottom: 2.2px solid currentColor;
    transform-origin: center;
    opacity: 0.96;
}
.prido-var-arrow--prev::before {
    transform: translate(-38%, -50%) rotate(135deg);
}
.prido-var-arrow--next::before {
    transform: translate(-62%, -50%) rotate(-45deg);
}
.prido-var-arrow.prido-glass-ui:hover,
.prido-var-arrow:hover {
    transform: translateY(-1px) scale(1.02);
    background: var(--prido-grid-chip-hover);
    color: var(--prido-dark);
    border-color: var(--prido-grid-border-strong);
    box-shadow: var(--prido-grid-shadow);
}
.prido-var-arrow.is-disabled,
.prido-var-arrow.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(0.92);
}

/* Flechas de galería Woodmart dentro de la grilla — Liquid Glass unificado */
.prido-grilla-products .wd-nav-arrows > div,
.prido-grilla-products .wd-btn-arrow,
.prido-grilla-products .wd-gallery-toggle,
.prido-grilla-products .flickity-prev-next-button,
.prido-grilla-products .wd-product-gallery-arrow {
    background: var(--prido-grid-chip) !important;
    -webkit-backdrop-filter: saturate(145%) blur(12px) !important;
    backdrop-filter: saturate(145%) blur(12px) !important;
    border: 1px solid var(--prido-grid-border) !important;
    box-shadow: var(--prido-grid-shadow) !important;
    border-radius: 50% !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    color: var(--prido-dark) !important;
}
.prido-grilla-products .wd-nav-arrows > div:hover,
.prido-grilla-products .wd-btn-arrow:hover,
.prido-grilla-products .wd-gallery-toggle:hover,
.prido-grilla-products .flickity-prev-next-button:hover,
.prido-grilla-products .wd-product-gallery-arrow:hover {
    background: var(--prido-grid-chip-hover) !important;
    color: var(--prido-dark) !important;
    border-color: var(--prido-grid-border-strong) !important;
    box-shadow: var(--prido-grid-shadow) !important;
}

/* Dot base */
.prido-var-dot {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1.5px solid color-mix(in srgb, var(--prido-grid-border) 78%, white 22%);
    background-color: var(--prido-bg-product);
    background-size: cover;
    background-position: center;
    cursor: pointer;
    transition: all 0.25s ease;
    padding: 0;
    outline: none;
    flex-shrink: 0;
    box-shadow:
        0 8px 16px rgba(18, 29, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.42);
}
/* Fallback — nunca invisible */
.prido-var-dot:not([style*="background-image"]) {
    background-color: var(--prido-muted);
    opacity: 0.5;
}
.prido-var-dot:hover {
    border-color: var(--prido-grid-border-strong);
    transform: scale(1.08);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--prido-primary) 12%, transparent 88%);
}
.prido-var-dot.is-active {
    border-color: var(--prido-grid-border-strong);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--prido-primary) 16%, transparent 84%), var(--prido-grid-shadow);
    transform: scale(1.04);
}

@media (max-width: 1024px) {
    .prido-grilla-wrapper {
        max-width: none;
        padding-left: 12px;
        padding-right: 12px;
    }
    .prido-grilla-products .wd-product-cats,
    .prido-grilla-products .product-element-bottom .wd-product-cats {
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
    }
    .prido-var-attrs {
        min-height: 0;
        max-height: none;
        overflow: visible;
        flex-wrap: wrap;
        align-content: flex-start;
        gap: 4px 6px;
        padding-top: 6px;
        margin-top: 2px;
    }
    .prido-var-attrs .prido-var-attr:not(:first-child) {
        display: inline-block;
    }
    .prido-var-attr {
        display: inline-block;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .prido-transfer-price {
        min-height: 38px;
        display: grid;
        grid-template-columns: 16px minmax(0, 1fr);
        grid-template-areas:
            "icon label"
            "icon amount";
        gap: 2px 6px;
        align-items: start;
    }
    .prido-transfer-icon {
        grid-area: icon;
    }
    .prido-transfer-label {
        grid-area: label;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .prido-transfer-amount {
        grid-area: amount;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* ==========================================================================
   15-H. PAGINACIÓN — Liquid Glass, Desktop-first unificado con mobile
   ========================================================================== */

.prido-grilla-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 32px 0 20px;
}

/* ---- Arrows ---- */
.prido-grilla-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: var(--prido-dark, #1a2a3a);
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
.prido-grilla-arrow svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    width: 18px;
    height: 18px;
}
.prido-grilla-arrow:hover {
    background: var(--prido-grid-chip-hover);
    transform: scale(1.02);
}
.prido-grilla-arrow:active {
    transform: scale(0.95);
}
.prido-grilla-arrow.is-disabled {
    opacity: 0.3;
    pointer-events: none;
    cursor: default;
}

/* ---- Dots container (pill) ---- */
.prido-grilla-dots {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 4px 6px;
    background: var(--prido-grid-chip);
    -webkit-backdrop-filter: saturate(145%) blur(14px);
    backdrop-filter: saturate(145%) blur(14px);
    border: 1px solid var(--prido-grid-border);
    border-radius: 999px;
    box-shadow: var(--prido-grid-shadow);
}

/* ---- Dot (botón de página numérico) ---- */
.prido-grilla-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
    padding: 0;
    font-family: var(--prido-font-heading, 'Outfit', sans-serif);
    font-size: 13px;
    font-weight: 600;
    color: var(--prido-muted, #8a9bae);
    line-height: 1;
}
.prido-grilla-dot:hover {
    background: var(--prido-grid-chip-hover);
    color: var(--prido-dark, #1a2a3a);
}
.prido-grilla-dot.is-active {
    background: var(--prido-glass-accent-fill);
    color: var(--prido-dark);
    font-weight: 700;
    border: 1px solid var(--prido-grid-border-strong);
    box-shadow: var(--prido-grid-shadow);
    pointer-events: none;
}

/* ---- Ellipsis ---- */
.prido-grilla-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 34px;
    font-size: 13px;
    color: var(--prido-border-light, #c8d1da);
    letter-spacing: 1px;
    user-select: none;
    pointer-events: none;
}

/* ---- Page indicator (X / Y) ---- */
.prido-grilla-page-indicator {
    font-family: var(--prido-font-heading, 'Outfit', sans-serif);
    font-size: var(--prido-type-small);
    font-weight: var(--prido-weight-semibold);
    color: var(--prido-muted, #8a9bae);
    white-space: nowrap;
    letter-spacing: 0.02em;
    margin-left: 4px;
    padding: 4px 10px;
    background: var(--prido-grid-chip);
    border-radius: 999px;
    border: 1px solid var(--prido-grid-border);
    box-shadow: none;
}

/* ==========================================================================
   15-I. ESTADO VACÍO
   ========================================================================== */

.prido-grilla-empty {
    text-align: center;
    padding: 80px 20px;
    color: var(--prido-muted);
    font-size: var(--prido-type-base);
    background: var(--prido-grid-surface-soft);
    -webkit-backdrop-filter: saturate(140%) blur(12px);
    backdrop-filter: saturate(140%) blur(12px);
    border: 1px solid var(--prido-grid-border);
    border-radius: 24px;
    box-shadow: var(--prido-grid-shadow);
}

.prido-product-card__quote .prido-cotizar-wrap--grilla {
    width: 100%;
}

.prido-product-card__quote .prido-cotizar-wrap--grilla .prido-cotizar-btn--grilla {
    width: 100%;
    min-height: 38px;
    padding: 8px 14px !important;
    border: none !important;
    border-radius: 999px !important;
    /* Marca Prido: azul primario (se eliminó el naranja off-brand #E8721C) */
    background: var(--prido-primary) !important;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--prido-primary) 28%, transparent) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    gap: 5px;
}

.prido-product-card__quote .prido-cotizar-wrap--grilla .prido-cotizar-btn--grilla svg {
    width: 14px;
    height: 14px;
}

.prido-product-card__quote .prido-cotizar-wrap--grilla .prido-cotizar-btn--grilla:hover {
    transform: translateY(-1px);
    border: none !important;
    background: color-mix(in srgb, var(--prido-primary) 86%, #0b1f2e) !important;
    box-shadow: 0 4px 16px color-mix(in srgb, var(--prido-primary) 36%, transparent) !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* ==========================================================================
   15-R. GRILLA PRIDO — RESPONSIVE
   ========================================================================== */

/* Large Desktop (1400px+) */
@media (min-width: 1400px) {
    .prido-grilla-wrapper {
        max-width: 1400px;
    }
    .prido-grilla-products {
        gap: 22px;
    }
}

/* Desktop estándar */
@media (min-width: 1025px) and (max-width: 1399px) {
    .prido-grilla-products {
        gap: 18px;
    }
}

/* Tablet landscape */
@media (min-width: 769px) and (max-width: 1024px) {
    .prido-grilla-wrapper {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 2px;
        padding-right: 2px;
    }
    .prido-grilla-products {
        grid-template-columns: repeat(var(--prido-grid-cols-tablet, 3), 1fr);
        gap: 14px;
    }
    .prido-grilla-toolbar {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 22px;
        border-radius: 26px;
    }
    .prido-grilla-products .product-wrapper {
        border-radius: 20px;
    }
    .prido-grilla-products .product-element-top {
        border-radius: 20px 20px 0 0;
    }
    .prido-grilla-products .product-wrapper::before {
        border-radius: 20px 20px 0 0;
    }
}

/* Tablet portrait */
@media (min-width: 576px) and (max-width: 768px) {
    .prido-grilla-wrapper {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 10px;
        padding-right: 10px;
    }
    .prido-grilla-products {
        grid-template-columns: repeat(var(--prido-grid-cols-tablet, 3), 1fr);
        gap: 12px;
    }
    .prido-grilla-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 18px 20px;
        border-radius: 24px;
    }
    .prido-grilla-controls {
        width: 100%;
        justify-content: space-between;
    }
    .prido-orderby-select {
        min-width: 160px;
        font-size: 12px;
        min-height: 42px;
    }
    .prido-var-dot {
        width: 22px;
        height: 22px;
    }
    .prido-grilla-products .product-wrapper {
        border-radius: 18px;
    }
    .prido-grilla-products .product-element-top {
        border-radius: 18px 18px 0 0;
    }
    .prido-grilla-products .product-wrapper::before {
        border-radius: 18px 18px 0 0;
    }
    .prido-grilla-products .wd-entities-title a {
        font-size: 15px !important;
    }
    .prido-grilla-products .prido-product-card__price .price,
    .prido-grilla-products .price {
        font-size: 15px !important;
    }
    /* Pagination tablet */
    .prido-grilla-arrow {
        width: 34px;
        height: 34px;
    }
    .prido-grilla-arrow svg {
        width: 16px;
        height: 16px;
    }
}

/* Mobile */
@media (max-width: 575px) {
    .prido-grilla-wrapper {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 0 10px;
    }
    .prido-grilla-breadcrumbs {
        font-size: 12px;
        width: 100%;
        padding: 10px 14px;
        margin-bottom: 12px;
        gap: 4px;
        border-radius: 22px;
    }
    .prido-grilla-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 16px 18px;
        margin-bottom: 16px;
        border-radius: 24px;
    }
    .prido-grilla-result-count {
        font-size: 12px;
    }
    .prido-grilla-controls {
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }
    .prido-grilla-orderby {
        width: 100%;
    }
    .prido-orderby-select {
        width: 100%;
        min-width: unset;
        font-size: 13px;
        min-height: 42px;
        padding: 0 38px 0 16px;
        border-radius: 999px;
    }
    .prido-grilla-per-page {
        width: 100%;
        justify-content: flex-start;
    }
    .prido-pp-option {
        min-width: 38px;
        height: 36px;
        font-size: 13px;
        border-radius: 999px;
    }
    .prido-grilla-products {
        --prido-grid-cols-mobile: 1;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px;
    }
    /* Cards mobile */
    .prido-grilla-products .product-wrapper {
        border-radius: 18px;
    }
    .prido-grilla-products .product-wrapper::before {
        border-radius: 18px 18px 0 0;
    }
    .prido-grilla-products .product-element-top {
        border-radius: 18px 18px 0 0;
    }
    .prido-grilla-products .product-element-bottom {
        padding: 10px 10px 12px;
    }
    .prido-grilla-products .wd-product-cats {
        font-size: 10.5px !important;
        margin-bottom: 2px !important;
    }
    .prido-grilla-products .wd-entities-title a {
        font-size: 14px !important;
    }
    .prido-grilla-products .wd-entities-title {
        margin-bottom: 0 !important;
        min-height: 0;
        max-height: calc(1.18em * 2);
    }
    .prido-grilla-products .prido-product-card__price .price,
    .prido-grilla-products .price {
        font-size: 13px !important;
    }
    .prido-iva-suffix {
        font-size: 0.58em !important;
    }
    /* Var attrs mobile */
    .prido-var-attrs {
        padding-top: 4px;
    }
    .prido-var-attr {
        font-size: 10px;
    }
    .prido-var-dots {
        padding: 4px 6px;
        gap: 4px;
        border-radius: 16px;
    }
    .prido-var-arrow {
        width: 26px;
        height: 26px;
    }
    .prido-var-dot {
        width: 20px;
        height: 20px;
        border-width: 1.5px;
    }
    /* Transfer price mobile */
    .prido-transfer-price {
        margin-top: 4px;
        padding-top: 4px;
    }
    .prido-transfer-label {
        font-size: 9px;
    }
    .prido-transfer-amount {
        font-size: 12px;
    }
    /* Paginación mobile */
    .prido-grilla-pagination {
        padding: 24px 0 12px;
        gap: 4px;
    }
    .prido-grilla-arrow {
        width: 32px;
        height: 32px;
    }
    .prido-grilla-arrow svg {
        width: 15px;
        height: 15px;
    }
    .prido-grilla-dots {
        padding: 3px 4px;
        gap: 1px;
    }
    .prido-grilla-dot {
        width: 30px;
        height: 30px;
        min-width: 30px;
        min-height: 30px;
        font-size: 12px;
    }
    .prido-grilla-dot.is-active {
        font-size: 12px;
    }
    .prido-grilla-ellipsis {
        width: 20px;
        font-size: 12px;
    }
    .prido-grilla-page-indicator {
        font-size: 11px;
        padding: 3px 8px;
        margin-left: 2px;
    }
    .prido-grilla-actions {
        /* Barra flotante: anclada abajo, no arriba */
        top: auto;
        left: 8px;
        right: 8px;
        bottom: 8px;
        gap: 6px;
    }
    .prido-grilla-action-btn {
        width: 34px;
        height: 34px;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }
    /* Pero los botones anchos (carrito/avísame) mantienen su forma */
    .prido-grilla-cart-wrap .prido-grilla-btn-cart,
    .prido-grilla-notify-wrap .prido-grilla-btn-notify {
        width: 100%;
        height: 38px;
    }
    .prido-grilla-action-btn svg {
        width: 16px;
        height: 16px;
    }
    /* Tooltip hidden on mobile — touch tap is sufficient */
    .prido-grilla-tooltip {
        display: none;
    }
    /* Performance: reduce blur en mobile */
    .prido-grilla-products .product-wrapper::before {
        display: none; /* Glass highlight off en mobile para performance */
    }
}

@media (hover: none), (pointer: coarse) {
    .prido-grilla-actions,
    .prido-var-dots-wrap,
    .prido-var-badge {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .prido-var-dots-wrap {
        transform: translateX(-50%) translateY(8px);
    }

    .prido-var-dots-wrap.is-scrollable .prido-var-arrow {
        display: inline-flex !important;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
    }

    .wd-product.is-touch-active .prido-grilla-actions,
    .prido-product-card.is-touch-active .prido-grilla-actions,
    .wd-product.is-touch-active .prido-var-dots-wrap,
    .prido-product-card.is-touch-active .prido-var-dots-wrap,
    .wd-product.is-touch-active .prido-var-badge,
    .prido-product-card.is-touch-active .prido-var-badge {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .wd-product.is-touch-active .prido-var-dots-wrap,
    .prido-product-card.is-touch-active .prido-var-dots-wrap {
        transform: translateX(-50%) translateY(0);
    }

    .wd-product.is-touch-active .prido-var-dots-wrap.is-scrollable .prido-var-arrow,
    .prido-product-card.is-touch-active .prido-var-dots-wrap.is-scrollable .prido-var-arrow {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .wd-product.is-touch-active .prido-var-dots-wrap.is-scrollable .prido-var-arrow.is-hidden,
    .prido-product-card.is-touch-active .prido-var-dots-wrap.is-scrollable .prido-var-arrow.is-hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .wd-product.is-touch-active .product-wrapper,
    .prido-product-card.is-touch-active .product-wrapper {
        border-color: var(--prido-grid-border-strong);
        box-shadow: var(--prido-grid-shadow-strong);
    }
}

/* ==========================================================================
   15-A. BARRA FLOTANTE (Design A) — barra de acciones + estado sin stock
   --------------------------------------------------------------------------
   Convierte el antiguo riel vertical en una barra horizontal que sube sobre
   la foto: [favorito] [comparar] [Agregar al carro]. Sin stock → "Avísame".
   Todo theme-aware vía tokens --prido-*; transiciones solo transform/opacity.
   ========================================================================== */

/* Distribución: chips de icono a la izquierda, botón ancho a la derecha */
.prido-grilla-actions > .prido-grilla-wish-wrap,
.prido-grilla-actions > .prido-grilla-comp-wrap {
    flex: 0 0 auto;
}
.prido-grilla-actions > .prido-grilla-cart-wrap,
.prido-grilla-actions > .prido-grilla-notify-wrap {
    flex: 1 1 auto;
    min-width: 0;
}

/* Chips frosted para favorito/comparar (el contenedor ya no aporta fondo) */
.prido-grilla-actions .prido-grilla-btn-wish:not(.added),
.prido-grilla-actions .prido-grilla-btn-compare:not(.added) {
    background: var(--prido-glass-chip);
    border: 1px solid var(--prido-glass-border);
    -webkit-backdrop-filter: var(--prido-glass-backdrop);
    backdrop-filter: var(--prido-glass-backdrop);
    box-shadow: var(--prido-glass-shadow-soft);
}
.prido-grilla-actions .prido-grilla-btn-wish:not(.added):hover,
.prido-grilla-actions .prido-grilla-btn-compare:not(.added):hover {
    background: var(--prido-glass-chip-hover);
}

/* Botón primario ancho: carrito (turquesa) y avísame (ghost) comparten forma */
.prido-grilla-cart-wrap .prido-grilla-btn-cart,
.prido-grilla-notify-wrap .prido-grilla-btn-notify {
    width: 100%;
    height: 40px;
    border-radius: 12px;
    gap: 6px;
    padding: 0 8px;
    font-family: var(--prido-font-ui);
    font-size: 12px;
    font-weight: var(--prido-weight-bold);
    letter-spacing: 0;
}
/* En los botones anchos el SVG va inline (no centrado absoluto) junto al label */
.prido-grilla-btn-cart svg,
.prido-grilla-btn-notify svg {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    flex: none;
    width: 16px;
    height: 16px;
}
.prido-grilla-btn-cart:hover svg,
.prido-grilla-btn-notify:hover svg {
    transform: none;
}
.prido-grilla-btn-label {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1;
}
/* Los botones anchos tienen label visible → su tooltip sobra */
.prido-grilla-btn-cart .prido-grilla-tooltip,
.prido-grilla-btn-notify .prido-grilla-tooltip {
    display: none;
}

/* Botón "Avísame" (ghost de marca) */
.prido-grilla-btn-notify {
    color: var(--prido-theme-ink);
    background: var(--prido-glass-chip);
    border: 1px solid var(--prido-glass-accent-border);
    -webkit-backdrop-filter: var(--prido-glass-backdrop);
    backdrop-filter: var(--prido-glass-backdrop);
    box-shadow: var(--prido-glass-shadow-soft);
}
.prido-grilla-btn-notify:hover {
    background: var(--prido-glass-accent-fill);
    border-color: var(--prido-glass-accent-border-strong);
    color: var(--prido-theme-ink);
}

/* Intercambio carrito ↔ avísame según stock (reactivo a cambios de data-in-stock por JS) */
.prido-grilla-notify-wrap {
    display: none;
}
.prido-product-card[data-in-stock="0"] .prido-grilla-cart-wrap,
.wd-product[data-in-stock="0"] .prido-grilla-cart-wrap {
    display: none;
}
.prido-product-card[data-in-stock="0"] .prido-grilla-notify-wrap,
.wd-product[data-in-stock="0"] .prido-grilla-notify-wrap {
    display: flex;
}

/* Scrim suave para que los chips blancos se lean sobre cualquier foto */
.prido-grilla-products .product-element-top::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(to top,
        color-mix(in srgb, var(--prido-theme-overlay) 92%, transparent),
        transparent 44%);
    opacity: 0;
    transition: opacity 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.prido-grilla-products .wd-product:hover .product-element-top::after,
.prido-grilla-products .prido-product-card:hover .product-element-top::after,
.prido-grilla-products .wd-product:focus-within .product-element-top::after,
.prido-grilla-products .prido-product-card:focus-within .product-element-top::after {
    opacity: 1;
}

/* ── Estado SIN STOCK ─────────────────────────────────────────────── */
/* Badge "Agotado" — SSR en product-card.php, SIEMPRE visible (no solo hover),
   texto explícito (no transmitido solo por color). */
.prido-grilla-products .prido-product-card__stock-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 7;
    display: none;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border-radius: 10px;
    font-family: var(--prido-font-heading);
    font-size: var(--prido-type-small);
    font-weight: var(--prido-weight-heavy);
    letter-spacing: 0.03em;
    line-height: 1;
    background: color-mix(in srgb, #c0392b 14%, var(--prido-theme-surface-strong));
    color: #c0392b;
    border: 1px solid color-mix(in srgb, #c0392b 30%, transparent);
    -webkit-backdrop-filter: saturate(140%) blur(10px);
    backdrop-filter: saturate(140%) blur(10px);
    box-shadow: var(--prido-grid-shadow, var(--prido-glass-shadow-soft));
}
.prido-grilla-products .prido-product-card[data-in-stock="0"] .prido-product-card__stock-badge,
.prido-grilla-products .wd-product[data-in-stock="0"] .prido-product-card__stock-badge {
    display: inline-flex;
}
:root[data-theme="dark"] .prido-grilla-products .prido-product-card__stock-badge {
    background: color-mix(in srgb, #e27a6e 20%, var(--prido-theme-surface-strong));
    color: #eca99f;
    border-color: color-mix(in srgb, #e27a6e 36%, transparent);
}
/* Desaturación sutil de la foto agotada (acompaña al texto, nunca color solo) */
.prido-grilla-products .prido-product-card[data-in-stock="0"] .product-image-link img,
.prido-grilla-products .wd-product[data-in-stock="0"] .product-image-link img {
    filter: grayscale(0.5) opacity(0.85);
}

/* ── Formulario "Avísame" (inyectado por JS) ──────────────────────── */
.prido-grilla-notify-form {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 8;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 12px 10px;
    border-radius: 14px;
    background: var(--prido-theme-surface-strong);
    border: 1px solid var(--prido-glass-border);
    box-shadow: var(--prido-glass-shadow);
    -webkit-backdrop-filter: var(--prido-glass-backdrop-strong);
    backdrop-filter: var(--prido-glass-backdrop-strong);
}
.prido-grilla-notify-form[hidden] {
    display: none;
}
.prido-grilla-notify-form__title {
    margin: 0;
    font-family: var(--prido-font-heading);
    font-size: 12.5px;
    font-weight: var(--prido-weight-bold);
    color: var(--prido-theme-ink);
    padding-right: 22px;
    line-height: 1.2;
}
.prido-grilla-notify-form__row {
    display: flex;
    gap: 6px;
}
.prido-grilla-notify-form input[type="email"] {
    flex: 1 1 auto;
    min-width: 0;
    height: 36px;
    padding: 0 10px;
    border-radius: 9px;
    border: 1px solid var(--prido-glass-border);
    background: var(--prido-theme-surface);
    color: var(--prido-theme-ink);
    font-family: var(--prido-font-ui);
    font-size: 13px;
}
.prido-grilla-notify-form button[type="submit"] {
    flex: 0 0 auto;
    height: 36px;
    padding: 0 14px;
    border: 0;
    border-radius: 9px;
    background: var(--prido-secondary);
    color: #fff;
    font-family: var(--prido-font-ui);
    font-size: 12.5px;
    font-weight: var(--prido-weight-bold);
    cursor: pointer;
}
.prido-grilla-notify-form button[type="submit"][disabled] {
    opacity: 0.6;
    cursor: progress;
}
.prido-grilla-notify-form__close {
    position: absolute;
    top: 6px;
    right: 8px;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--prido-theme-muted);
    cursor: pointer;
    font-size: 17px;
    line-height: 1;
}
.prido-grilla-notify-form__status {
    margin: 0;
    font-size: 11.5px;
    line-height: 1.35;
    color: var(--prido-theme-muted);
}
.prido-grilla-notify-form__status.is-ok {
    color: var(--prido-secondary);
}
.prido-grilla-notify-form__status.is-err {
    color: #c0392b;
}
/* Mientras el form está abierto, oculta la barra para que no se solapen */
.prido-product-card.is-notify-open .prido-grilla-actions,
.wd-product.is-notify-open .prido-grilla-actions {
    opacity: 0;
    pointer-events: none;
}

/* ── Foco accesible (anillo de marca consistente) ─────────────────── */
.prido-grilla-action-btn:focus-visible,
.prido-product-card__quote .prido-cotizar-btn--grilla:focus-visible,
.prido-grilla-notify-form input:focus-visible,
.prido-grilla-notify-form button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--prido-secondary) 70%, transparent);
    outline-offset: 2px;
}

/* ── Touch: resetear el desplazamiento al revelar con .is-touch-active ── */
@media (hover: none), (pointer: coarse) {
    .wd-product.is-touch-active .prido-grilla-actions,
    .prido-product-card.is-touch-active .prido-grilla-actions {
        transform: none;
    }
    /* El badge "Agotado" debe verse siempre, también en touch */
    .prido-grilla-products .prido-product-card[data-in-stock="0"] .prido-product-card__stock-badge,
    .prido-grilla-products .wd-product[data-in-stock="0"] .prido-product-card__stock-badge {
        opacity: 1 !important;
        visibility: visible !important;
    }
}
@media (max-width: 480px) {
    .prido-grilla-actions {
        left: 8px;
        right: 8px;
        bottom: 8px;
        gap: 6px;
    }
    .prido-grilla-cart-wrap .prido-grilla-btn-cart,
    .prido-grilla-notify-wrap .prido-grilla-btn-notify {
        height: 38px;
        font-size: 11.5px;
    }
}

/* ── Movimiento reducido ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .prido-grilla-actions,
    .prido-grilla-products .product-element-top::after,
    .prido-grilla-products .product-image-link img,
    .prido-grilla-action-btn,
    .prido-grilla-action-btn svg {
        transition: none !important;
    }
    .prido-grilla-actions {
        transform: none;
    }
    .prido-grilla-products .wd-product:hover .product-image-link img,
    .prido-grilla-products .prido-product-card:hover .product-image-link img {
        transform: none;
    }
}

/* ==========================================================================
   15-P. PREMIUM v2 — flechas de galería, Cotizar hero teal, precio mockup,
          transferencia compacta, Avísame en el body (sin stock)
   ========================================================================== */

/* token CTA: teal profundo (AA con blanco) en claro; teal brillante en oscuro */
.prido-grilla-products { --prido-cta-teal: #0b6e6a; }
:root[data-theme="dark"] .prido-grilla-products { --prido-cta-teal: #2dc6c1; }

/* ── Galería: solo flechas (sin dots/thumbnails) ── */
.prido-grilla-products .prido-var-dots,
.prido-grilla-products .prido-var-dots-wrap { display: none !important; }

.prido-grilla-products .prido-gallery-nav {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
}
.prido-grilla-products .prido-gallery-nav .prido-var-arrow {
    position: absolute !important;
    top: 50%;
    transform: translateY(-50%) scale(0.9);
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;            /* vence al .prido-var-arrow { display:none !important } heredado */
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--prido-glass-border) !important;
    background: var(--prido-glass-chip) !important;
    color: var(--prido-theme-ink) !important;
    -webkit-backdrop-filter: var(--prido-glass-backdrop) !important;
    backdrop-filter: var(--prido-glass-backdrop) !important;
    box-shadow: var(--prido-glass-shadow-soft) !important;
    cursor: pointer;
    pointer-events: none;
    opacity: 0;
    visibility: visible !important;
    transition: opacity .24s cubic-bezier(.2,.7,.2,1), transform .24s cubic-bezier(.2,.7,.2,1), background .18s;
}
.prido-grilla-products .prido-gallery-nav .prido-var-arrow--prev { left: 8px; }
.prido-grilla-products .prido-gallery-nav .prido-var-arrow--next { right: 8px; }
/* el diseño viejo ocultaba el SVG y usaba ::before; aquí mostramos el SVG real */
.prido-grilla-products .prido-gallery-nav .prido-var-arrow::before { display: none !important; content: none !important; }
.prido-grilla-products .prido-gallery-nav .prido-var-arrow svg {
    width: 18px !important;
    height: 18px !important;
    opacity: 1 !important;
    visibility: visible !important;
    stroke: currentColor !important;
}
.prido-grilla-products .prido-gallery-nav .prido-var-arrow svg path,
.prido-grilla-products .prido-gallery-nav .prido-var-arrow svg polyline,
.prido-grilla-products .prido-gallery-nav .prido-var-arrow svg line {
    opacity: 1 !important;
    visibility: visible !important;
    stroke: currentColor !important;
}
.prido-grilla-products .wd-product:hover .prido-gallery-nav .prido-var-arrow,
.prido-grilla-products .prido-product-card:hover .prido-gallery-nav .prido-var-arrow,
.prido-grilla-products .wd-product:focus-within .prido-gallery-nav .prido-var-arrow,
.prido-grilla-products .prido-product-card:focus-within .prido-gallery-nav .prido-var-arrow {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(-50%) scale(1);
}
.prido-grilla-products .prido-gallery-nav .prido-var-arrow:hover {
    background: var(--prido-glass-chip-hover) !important;
    transform: translateY(-50%) scale(1.06);
}
.prido-grilla-products .prido-gallery-nav .prido-var-arrow:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--prido-secondary) 70%, transparent);
    outline-offset: 2px;
    opacity: 1;
    pointer-events: auto;
}
@media (hover: none), (pointer: coarse) {
    .prido-grilla-products .prido-gallery-nav .prido-var-arrow {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(-50%) scale(1);
    }
}

/* ── Precio: ahora · antes · -X% (orden mockup) ── */
.prido-grilla-products .prido-price-line {
    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    white-space: normal !important;
}
.prido-grilla-products .prido-price-line ins { order: 1; text-decoration: none; }
.prido-grilla-products .prido-price-line del { order: 2; }
.prido-grilla-products .prido-price-line .prido-price-off { order: 3; }
.prido-grilla-products .prido-price-now {
    font-family: var(--prido-font-heading);
    font-size: 21px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.01em;
    color: var(--prido-theme-ink);
}
.prido-grilla-products .prido-price-was {
    font-size: 13px;
    font-weight: 600;
    color: var(--prido-muted);
    text-decoration: line-through;
}
.prido-grilla-products .prido-price-off {
    align-self: center;
    font-family: var(--prido-font-heading);
    font-size: 11.5px;
    font-weight: 800;
    color: #c0392b;
    background: color-mix(in srgb, #c0392b 12%, transparent);
    padding: 2px 7px;
    border-radius: 6px;
    line-height: 1;
}
:root[data-theme="dark"] .prido-grilla-products .prido-price-off {
    color: #eca99f;
    background: color-mix(in srgb, #e27a6e 18%, transparent);
}

/* ── Transferencia: una línea compacta ── */
.prido-grilla-products .prido-transfer-price {
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    padding-top: 10px;
    min-height: 0;
    border-top: 1px solid var(--prido-grid-border);
}
.prido-grilla-products .prido-transfer-label {
    text-transform: none;
    letter-spacing: 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--prido-muted);
}
.prido-grilla-products .prido-transfer-amount { font-size: 14px; }
.prido-grilla-products .prido-transfer-icon { opacity: 0.9; }

/* ── Cotizar: hero teal full-width (vence al CSS del plugin) ── */
.prido-grilla-products .prido-product-card__quote { width: 100%; margin-top: auto; }
.prido-grilla-products .prido-product-card__quote .prido-cotizar-wrap--grilla {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: center;
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla {
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: 0 16px !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-family: var(--prido-font-ui) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    background: var(--prido-cta-teal) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--prido-cta-teal) 30%, transparent) !important;
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla svg {
    width: 16px !important;
    height: 16px !important;
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:hover {
    background: color-mix(in srgb, var(--prido-cta-teal) 88%, #000) !important;
}
:root[data-theme="dark"] .prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:not(.prido-cotizar-btn--disabled) {
    color: #06302d !important;  /* tinta oscura sobre teal brillante en modo oscuro */
}
/* Estado deshabilitado (visitante no-B2B / requiere variación): mismo tamaño, apagado */
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--disabled {
    background: var(--prido-glass-chip) !important;
    color: var(--prido-muted) !important;
    border: 1px solid var(--prido-glass-border) !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
}

/* ── Sin stock: ocultar Cotizar, mostrar "Avísame" hero en el body ── */
.prido-grilla-products .prido-card-notify-btn {
    display: none;
    box-sizing: border-box;
    width: 100%;
    margin-top: auto;
    min-height: 44px;
    padding: 0 16px;
    gap: 8px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    cursor: pointer;
    font-family: var(--prido-font-ui);
    font-size: 13.5px;
    font-weight: 700;
    background: transparent;
    color: var(--prido-cta-teal);
    border: 1.6px solid color-mix(in srgb, var(--prido-cta-teal) 45%, var(--prido-glass-border));
}
.prido-grilla-products .prido-card-notify-btn svg { flex: none; }
.prido-grilla-products .prido-card-notify-btn:hover {
    background: color-mix(in srgb, var(--prido-cta-teal) 10%, transparent);
}
:root[data-theme="dark"] .prido-grilla-products .prido-card-notify-btn {
    color: var(--prido-secondary);
    border-color: color-mix(in srgb, var(--prido-secondary) 45%, var(--prido-glass-border));
}
.prido-grilla-products .prido-product-card[data-in-stock="0"] .prido-product-card__quote,
.prido-grilla-products .wd-product[data-in-stock="0"] .prido-product-card__quote {
    display: none !important;
}
.prido-grilla-products .prido-product-card[data-in-stock="0"] .prido-card-notify-btn,
.prido-grilla-products .wd-product[data-in-stock="0"] .prido-card-notify-btn {
    display: flex;
}
/* restos del notify de la barra (ya no se crea en JS) */
.prido-grilla-actions .prido-grilla-notify-wrap { display: none !important; }

/* ==========================================================================
   15-Q. MINIMALISTA v3 — alineado al SISTEMA DEL CARRITO / mini-cart
   Base B&W (ink/blanco/gris). Acentos: SOLO Agregar (teal profundo),
   monto transferencia (teal profundo) y título-hover (azul, como los links
   del carrito). Cotizar = INK (como "Finalizar compra"). -34% se deja igual.
   ========================================================================== */
.prido-grilla-products {
    --pc-ink: #0B1E2E;          /* acción primaria (como --ck-ink) */
    --pc-ink-soft: #1F2D3D;     /* hover ink */
    --pc-teal: #0E7E7A;         /* acento valor/CTA (deep teal, AA con blanco) */
    --pc-outline: #C2CAD3;      /* outline secundario (como --ck-border-strong) */
}
:root[data-theme="dark"] .prido-grilla-products {
    --pc-ink: #3F5872;          /* steel en dark (como --ck-ink dark) */
    --pc-ink-soft: #4C6680;
    --pc-teal: #2dc6c1;
    --pc-outline: rgba(255, 255, 255, 0.18);
}

/* — Cotizar → INK sólido (activo) / outline (deshabilitado/no-B2B) — */
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla {
    background: var(--pc-ink) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 6px !important;
    font-family: var(--prido-font-ui) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:not(.prido-cotizar-btn--disabled):hover {
    background: var(--pc-ink-soft) !important;
}
:root[data-theme="dark"] .prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:not(.prido-cotizar-btn--disabled) {
    color: #fff !important;   /* blanco sobre steel ink en dark */
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--disabled {
    background: transparent !important;
    color: var(--prido-theme-ink) !important;
    border: 1.5px solid var(--pc-outline) !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
}

/* — Agregar al carro → único acento de color fuerte (teal profundo) — */
.prido-grilla-products .prido-grilla-btn-cart {
    background: var(--pc-teal) !important;
    color: #fff !important;
    border-radius: 8px !important;
}
.prido-grilla-products .prido-grilla-btn-cart:hover,
.prido-grilla-products .prido-grilla-btn-cart.added {
    background: color-mix(in srgb, var(--pc-teal) 86%, #000) !important;
    color: #fff !important;
}
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-btn-cart {
    background: #2dc6c1 !important;
    color: #06302d !important;   /* tinta oscura sobre teal brillante en dark */
}

/* — Avísame (sin stock) → outline ink (secundario del carrito) — */
.prido-grilla-products .prido-card-notify-btn {
    background: transparent;
    color: var(--prido-theme-ink);
    border: 1.5px solid var(--pc-outline);
    border-radius: 6px;
}
.prido-grilla-products .prido-card-notify-btn:hover {
    background: color-mix(in srgb, var(--prido-theme-ink) 6%, transparent);
}
:root[data-theme="dark"] .prido-grilla-products .prido-card-notify-btn {
    color: var(--prido-theme-ink);
    border-color: var(--pc-outline);
}

/* — Transferencia: monto = acento teal profundo, Noto Sans (no Outfit 800) — */
.prido-grilla-products .prido-transfer-amount {
    color: var(--pc-teal) !important;
    font-family: var(--prido-font-ui) !important;
    font-weight: 700 !important;
}

/* — De-ruido tipográfico: pesos ≤700; Noto Sans salvo título + precio-now — */
.prido-grilla-products .prido-product-card__price .price,
.prido-grilla-products .price {
    font-weight: 700 !important;        /* baja de 800 */
}
.prido-grilla-products .prido-price-now {
    font-weight: 700;
}
.prido-grilla-products .prido-price-was {
    font-weight: 500;
}
.prido-grilla-products .wd-product-cats,
.prido-grilla-products .product-element-bottom .wd-product-cats {
    font-family: var(--prido-font-ui) !important;
    font-weight: 600 !important;
}
.prido-grilla-products .prido-transfer-label,
.prido-grilla-products .prido-var-attr,
.prido-grilla-products .prido-var-attr-label {
    font-family: var(--prido-font-ui);
}

/* — Título: mantener ink también en hover (sin azul; el lift + barra ya dan feedback) — */
.prido-grilla-products .wd-product:hover .wd-entities-title a,
.prido-grilla-products .prido-product-card:hover .wd-entities-title a,
.prido-grilla-products .wd-product:focus-within .wd-entities-title a,
.prido-grilla-products .prido-product-card:focus-within .wd-entities-title a {
    color: var(--prido-theme-ink) !important;
}

/* ==========================================================================
   15-R. FIXES v4 — tooltips de la barra arriba del chip + Cotizar activo (<a>)
   ========================================================================== */

/* (1) Tooltips favorito/comparar: posicionar ARRIBA del chip (no a la derecha),
   así no quedan detrás del chip vecino (cada chip crea su propio stacking
   context por backdrop-filter). */
.prido-grilla-actions .prido-grilla-tooltip {
    top: auto;
    bottom: calc(100% + 8px);
    left: 0;                  /* anclado al borde izq. del chip → se extiende hacia la
                                 derecha (dentro de la tarjeta), no se corta en el borde */
    right: auto;
    transform: translateY(4px);
    z-index: 60;
}
.prido-grilla-actions .prido-grilla-action-btn:hover .prido-grilla-tooltip,
.prido-grilla-actions .prido-grilla-action-btn:focus-visible .prido-grilla-tooltip {
    transform: translateY(0);
}
.prido-grilla-actions .prido-grilla-tooltip::after { display: none; } /* sin flecha lateral */

/* (2) Cotizar ACTIVO es un <a> (logged-in): forzar el mismo layout/tipografía
   que el <span> deshabilitado — centrado, sin subrayado, MAYÚSCULAS, Noto Sans.
   (El plugin ya lo intenta, pero una regla de link de mayor especificidad lo pisa.) */
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:link,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:visited,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:hover,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:focus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    font-family: var(--prido-font-ui) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    gap: 8px !important;
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla > span {
    font: inherit !important;
    text-decoration: none !important;
    text-transform: inherit !important;
    color: inherit !important;
    line-height: 1 !important;
    border: 0 !important;
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla svg {
    flex: none !important;
}

/* ==========================================================================
   15-S. FORMAS + PESOS (referencia Image #6/#7) — sin tocar la paleta minimal
   chips cuadrados, badge -34% rojo sólido arriba-izq, precio 800, radios suaves,
   borde teal en hover.
   ========================================================================== */

/* Chips favorito/comparar: cuadrado redondeado (no círculo) */
.prido-grilla-products .prido-grilla-btn-wish,
.prido-grilla-products .prido-grilla-btn-compare {
    border-radius: 11px !important;
}

/* Badge de descuento: rojo sólido, arriba-IZQUIERDA */
.prido-grilla-products .prido-var-badge,
.prido-grilla-products .prido-product-card__sale-badge {
    left: 12px;
    right: auto;
    background: #c0392b !important;
    color: #fff !important;
    border: 0 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: 0 4px 12px color-mix(in srgb, #c0392b 32%, transparent) !important;
    font-weight: 800 !important;
}
/* sin stock: ocultar el badge de oferta (Agotado toma la esquina) */
.prido-grilla-products .prido-product-card[data-in-stock="0"] .prido-product-card__sale-badge,
.prido-grilla-products .wd-product[data-in-stock="0"] .prido-product-card__sale-badge {
    display: none !important;
}

/* Precio "ahora": bold 800 (como #6) */
.prido-grilla-products .prido-price-now {
    font-weight: 800 !important;
}
/* -34% en la línea de precio: texto rojo plano, sin pastilla (como #6) */
.prido-grilla-products .prido-price-off {
    background: transparent !important;
    padding: 0 !important;
    color: #c0392b !important;
}
:root[data-theme="dark"] .prido-grilla-products .prido-price-off {
    background: transparent !important;
    color: #eca99f !important;
}

/* Radios de botones más suaves (~10px, como #6) */
.prido-grilla-products .prido-grilla-btn-cart { border-radius: 10px !important; }
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla { border-radius: 10px !important; }
.prido-grilla-products .prido-card-notify-btn { border-radius: 10px; }

/* Borde teal en hover (acento, como #6/#7) */
.prido-grilla-products .wd-product:hover .product-wrapper,
.prido-grilla-products .prido-product-card:hover .product-wrapper,
.prido-grilla-products .wd-product:focus-within .product-wrapper,
.prido-grilla-products .prido-product-card:focus-within .product-wrapper {
    border-color: color-mix(in srgb, var(--prido-secondary) 45%, var(--prido-grid-border)) !important;
}

/* Eyebrow un poco más bold (como #6) */
.prido-grilla-products .wd-product-cats,
.prido-grilla-products .product-element-bottom .wd-product-cats {
    font-weight: 700 !important;
}

/* ==========================================================================
   15-T. REFERENCIA #8 — cards más ANCHAS + look premium
   3 por fila + sidebar angosto; Cotizar/Agregar TEAL; tipografía mayor;
   esquinas redondeadas; borde teal; eyebrow azul-acero.
   ========================================================================== */

/* (A) Layout: 3 columnas (desktop) + 2 (tablet) + filtro más angosto = cards anchas */
.prido-catalog-page,
.prido-catalog-archive { --prido-filters-width: 339px; } /* +50% (226→339); cards se angostan, gaps 24px simétricos */
@media (min-width: 1025px) {
    .prido-grilla-products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .prido-grilla-products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* (B) Card: más redondeada + borde teal sutil en reposo */
.prido-grilla-products .product-wrapper {
    border-radius: 26px !important;
    border-color: color-mix(in srgb, var(--prido-secondary) 26%, var(--prido-grid-border)) !important;
}
.prido-grilla-products .product-element-top { border-radius: 26px 26px 0 0 !important; }
.prido-grilla-products .wd-product:hover .product-wrapper,
.prido-grilla-products .prido-product-card:hover .product-wrapper,
.prido-grilla-products .wd-product:focus-within .product-wrapper,
.prido-grilla-products .prido-product-card:focus-within .product-wrapper {
    border-color: color-mix(in srgb, var(--prido-secondary) 55%, var(--prido-grid-border)) !important;
}

/* (C) Más aire en el cuerpo */
.prido-grilla-products .product-element-bottom { padding: 22px 22px 24px; gap: 9px; }

/* (D) Eyebrow azul-acero (como #8) */
.prido-grilla-products .wd-product-cats,
.prido-grilla-products .product-element-bottom .wd-product-cats {
    color: var(--prido-primary) !important;
    font-size: 12px !important;
    letter-spacing: 0.13em;
}

/* (E) Título + precio más grandes (como #8) */
.prido-grilla-products .wd-entities-title a { font-size: 22px !important; }
.prido-grilla-products .prido-price-now { font-size: 29px !important; }
.prido-grilla-products .prido-price-was { font-size: 17px !important; }
.prido-grilla-products .prido-price-off { font-size: 16px !important; }

/* (F) Chips favorito/comparar más grandes (cuadrado redondeado) */
.prido-grilla-products .prido-grilla-btn-wish,
.prido-grilla-products .prido-grilla-btn-compare {
    width: 50px !important;
    height: 50px !important;
    border-radius: 14px !important;
}
.prido-grilla-products .prido-grilla-btn-wish svg,
.prido-grilla-products .prido-grilla-btn-compare svg {
    width: 22px !important;
    height: 22px !important;
}

/* (G) Barra: botón Agregar más alto */
.prido-grilla-products .prido-grilla-actions { left: 12px; right: 12px; bottom: 12px; gap: 9px; }
.prido-grilla-products .prido-grilla-btn-cart {
    height: 50px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    gap: 8px !important;
}
.prido-grilla-products .prido-grilla-btn-cart svg { width: 19px !important; height: 19px !important; }

/* (H) Cotizar → TEAL (como #8), grande y redondeado; disabled = outline grande */
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:not(.prido-cotizar-btn--disabled) {
    background: var(--pc-teal) !important;
    color: #fff !important;
    min-height: 52px !important;
    border-radius: 14px !important;
    font-size: 14.5px !important;
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:not(.prido-cotizar-btn--disabled):hover {
    background: color-mix(in srgb, var(--pc-teal) 88%, #000) !important;
}
:root[data-theme="dark"] .prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla:not(.prido-cotizar-btn--disabled) {
    background: #2dc6c1 !important;
    color: #06302d !important;
}
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--disabled {
    min-height: 52px !important;
    border-radius: 14px !important;
    font-size: 14.5px !important;
}
.prido-grilla-products .prido-card-notify-btn {
    min-height: 52px;
    border-radius: 14px;
    font-size: 14.5px;
}

/* (I) Transferencia un poco más grande */
.prido-grilla-products .prido-transfer-label { font-size: 13px; }
.prido-grilla-products .prido-transfer-amount { font-size: 16px !important; }

/* (J) Badge -34%: pastilla más redondeada (como #8) */
.prido-grilla-products .prido-var-badge,
.prido-grilla-products .prido-product-card__sale-badge {
    border-radius: 999px !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
}

/* ==========================================================================
   15-U. AFINADO — pesos tipográficos más livianos + iconos finos (mockup)
   ========================================================================== */

/* Pesos más livianos (como el mockup, las letras se veían muy pesadas) */
.prido-grilla-products .wd-entities-title a { font-weight: 600 !important; }
.prido-grilla-products .wd-product-cats,
.prido-grilla-products .product-element-bottom .wd-product-cats { font-weight: 600 !important; }
.prido-grilla-products .prido-product-card__price .price,
.prido-grilla-products .price { font-weight: 700 !important; }
.prido-grilla-products .prido-price-now { font-weight: 700 !important; }
.prido-grilla-products .prido-price-was { font-weight: 400 !important; }
.prido-grilla-products .prido-price-off { font-weight: 700 !important; }
.prido-grilla-products .prido-transfer-label { font-weight: 500 !important; }
.prido-grilla-products .prido-var-badge,
.prido-grilla-products .prido-product-card__sale-badge { font-weight: 700 !important; }

/* Iconos más finos (trazo 1.7, como el mockup) — vence al base 2.25 de los chips
   y al stroke=2 del SVG del plugin Cotizar */
.prido-grilla-products .prido-grilla-action-btn svg,
.prido-grilla-products .prido-grilla-action-btn svg path,
.prido-grilla-products .prido-grilla-action-btn svg circle,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla svg,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla svg path,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla svg polyline,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla svg line,
.prido-grilla-products .prido-transfer-icon svg,
.prido-grilla-products .prido-transfer-icon svg path,
.prido-grilla-products .prido-card-notify-btn svg,
.prido-grilla-products .prido-card-notify-btn svg path {
    stroke-width: 1.7 !important;
}

/* ==========================================================================
   15-V. SIMETRÍA DESKTOP — gap entre cards = gap filtro↔grilla (ref. Steelcase)
   El shell-gap (sidebar↔grilla) se fijó en 24px en prido-catalog.css; aquí el
   gap de la grilla también a 24px → espaciado uniforme en todo el catálogo.
   ========================================================================== */
@media (min-width: 1025px) {
    .prido-grilla-products { gap: 24px !important; }
}

/* ==========================================================================
   15-W. MIGRACIÓN CARRITO/CHECKOUT — de-round + 1 fuente + pesos {400,600,700}
   Paneles 12px · botones/inputs 6px · chips 8px · badges 6px · Noto Sans
   (Outfit solo en H1 hero + título de card). Solo formas+tipografía+espaciado.
   ========================================================================== */
/* Cards / paneles → 12px (vence 26px de 15-T y variantes responsive) */
.prido-grilla-products .product-wrapper { border-radius: 12px !important; }
.prido-grilla-products .product-element-top { border-radius: 12px 12px 0 0 !important; }
.prido-grilla-products .product-wrapper::before { border-radius: 12px 12px 0 0 !important; }
/* Cuerpo: padding/gap simétrico (rítmica 16/8) */
.prido-grilla-products .product-element-bottom { padding: 16px 16px 18px !important; gap: 8px !important; }
/* Chips favorito/comparar → 8px (cuadrado crisp) */
.prido-grilla-products .prido-grilla-btn-wish,
.prido-grilla-products .prido-grilla-btn-compare { border-radius: 8px !important; }
/* Botones anchos (Agregar/Cotizar/Avísame) → 6px */
.prido-grilla-products .prido-grilla-btn-cart,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla,
.prido-grilla-products .prido-card-notify-btn { border-radius: 6px !important; }
/* Badges → 6px + Noto Sans (sin pastilla 999px) */
.prido-grilla-products .prido-var-badge,
.prido-grilla-products .prido-product-card__sale-badge,
.prido-grilla-products .prido-product-card__stock-badge {
    border-radius: 6px !important;
    font-family: var(--prido-font-ui) !important;
}
.prido-grilla-products .prido-product-card__stock-badge { font-weight: 700 !important; }
/* Precio → Noto Sans (Outfit queda solo en el título de la card + H1 hero) */
.prido-grilla-products .prido-product-card__price .price,
.prido-grilla-products .price,
.prido-grilla-products .prido-price-now,
.prido-grilla-products .prido-price-was,
.prido-grilla-products .prido-price-off { font-family: var(--prido-font-ui) !important; }
/* Toolbar de orden/resultados → 12px, padding/gap simétricos */
.prido-grilla-toolbar { border-radius: 12px !important; padding: 16px 20px !important; gap: 12px !important; }
.prido-grilla-orderby,
.prido-orderby-select,
.prido-per-page-select,
.prido-pp-option,
.prido-grilla-dots,
.prido-grilla-page-indicator { border-radius: 8px !important; }
.prido-grilla-dot,
.prido-grilla-ellipsis,
.prido-grilla-page-indicator { font-family: var(--prido-font-ui) !important; }
/* Empty / toast / notify-form → 12px; inputs notify → 6px */
.prido-grilla-empty,
.prido-grilla-toast,
.prido-grilla-notify-form { border-radius: 12px !important; }
.prido-grilla-notify-form input[type="email"],
.prido-grilla-notify-form button[type="submit"] { border-radius: 6px !important; }
.prido-grilla-notify-form__title { font-family: var(--prido-font-ui) !important; }


/* ==========================================================================
   PREMIUM NEUTRAL v2 — 2026-05-31
   Paleta neutra (negro/blanco/gris) + descuento ROJO original (no se toca).
   Sin teal en la grilla. Botones de acción unificados y legibles. Tipografía
   simplificada: peso fuerte solo en precio (700) + título (600). Light + dark.
   ========================================================================== */

/* (0) Quitar teal: redefinir tokens de acento → ink/neutro + flat grid tokens */
.prido-grilla-products {
    --pc-teal: var(--prido-theme-ink);
    --prido-cta-teal: var(--prido-theme-ink);
    --prido-grid-surface: var(--prido-theme-surface-strong);
    --prido-grid-surface-soft: var(--prido-theme-canvas-soft);
    --prido-grid-border: var(--prido-theme-border);
    --prido-grid-border-strong: var(--prido-theme-border-strong);
    --prido-grid-shadow: none;
    --prido-grid-shadow-strong: none;
    --prido-grid-chip: var(--prido-theme-canvas-soft);
    --prido-grid-chip-hover: var(--prido-theme-surface);
}
:root[data-theme="dark"] .prido-grilla-products {
    --pc-teal: var(--prido-theme-ink);
    --prido-cta-teal: var(--prido-theme-ink);
}

/* (1) Flatten: sin glass blur / sombras; radios calmados */
.prido-grilla-toolbar,
.prido-grilla-orderby,
.prido-grilla-products .product-wrapper {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.prido-grilla-toolbar {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--prido-theme-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 4px 2px 14px !important;
    margin-bottom: 18px !important;
}
.prido-grilla-orderby { border: 1px solid var(--prido-theme-border) !important; border-radius: 10px !important; background: transparent !important; box-shadow: none !important; }
.prido-grilla-orderby:hover,
.prido-grilla-orderby:focus-within { transform: none !important; border-color: var(--prido-theme-border-strong) !important; background: var(--prido-theme-canvas-soft) !important; box-shadow: none !important; }
.prido-pp-option { border: 1px solid var(--prido-theme-border) !important; border-radius: 10px !important; background: transparent !important; box-shadow: none !important; font-weight: var(--prido-weight-medium) !important; }
.prido-pp-option:hover { transform: none !important; background: var(--prido-theme-canvas-soft) !important; border-color: var(--prido-theme-border-strong) !important; box-shadow: none !important; }
.prido-pp-option.is-active { background: var(--prido-theme-canvas-soft) !important; border-color: var(--prido-theme-border-strong) !important; box-shadow: none !important; color: var(--prido-theme-ink) !important; font-weight: var(--prido-weight-semibold) !important; }
.prido-grilla-products .product-wrapper { border: 1px solid var(--prido-theme-border) !important; border-radius: 16px !important; box-shadow: none !important; background: var(--prido-theme-surface-strong) !important; }
.prido-grilla-products .wd-product:hover .product-wrapper { box-shadow: none !important; border-color: var(--prido-theme-border-strong) !important; }
.prido-grilla-products .product-element-top { border-radius: 16px 16px 0 0 !important; }
.prido-grilla-products .product-element-top::after { opacity: 0 !important; background: none !important; }
.prido-grilla-products .product-image-link img { filter: none !important; }

/* (2) Botones de acción (wishlist · comparar · Agregar al carro) — unificados,
       opacos y legibles sobre la imagen; hover = relleno ink + texto blanco */
.prido-grilla-products .prido-grilla-action-btn,
.prido-grilla-products .prido-grilla-btn-cart {
    background: rgba(255, 255, 255, 0.94) !important;
    color: var(--prido-theme-ink) !important;
    border: 1px solid var(--prido-theme-border) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.prido-grilla-products .prido-grilla-action-btn svg,
.prido-grilla-products .prido-grilla-btn-cart svg { color: var(--prido-theme-ink) !important; }
.prido-grilla-products .prido-grilla-action-btn:hover,
.prido-grilla-products .prido-grilla-action-btn.added,
.prido-grilla-products .prido-grilla-btn-cart:hover,
.prido-grilla-products .prido-grilla-btn-cart.added {
    background: #0B1E2E !important;
    color: #fff !important;
    border-color: #0B1E2E !important;
}
.prido-grilla-products .prido-grilla-action-btn:hover svg,
.prido-grilla-products .prido-grilla-btn-cart:hover svg { color: #fff !important; }
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-action-btn,
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-btn-cart {
    background: rgba(22, 30, 40, 0.94) !important;
    color: var(--prido-theme-ink) !important;
    border-color: var(--prido-theme-border) !important;
}
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-action-btn:hover,
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-action-btn.added,
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-btn-cart:hover,
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-btn-cart.added {
    background: #edf4f8 !important;
    color: #0B1E2E !important;
    border-color: #edf4f8 !important;
}
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-action-btn:hover svg,
:root[data-theme="dark"] .prido-grilla-products .prido-grilla-btn-cart:hover svg { color: #0B1E2E !important; }

/* (3) Transferencia → neutra (ink), sin teal; hairline */
.prido-grilla-products .prido-transfer-amount { color: var(--prido-theme-ink) !important; font-weight: var(--prido-weight-medium) !important; }
.prido-grilla-products .prido-transfer-icon { color: var(--prido-theme-muted) !important; opacity: 1 !important; }
.prido-grilla-products .prido-transfer-price { border-top: 1px solid var(--prido-theme-border) !important; }
.prido-grilla-products .prido-transfer-label { font-weight: var(--prido-weight-medium) !important; text-transform: none !important; letter-spacing: 0 !important; }

/* (4) Tipografía: peso fuerte solo en precio (700) + título (600); resto ≤500 */
.prido-grilla-products .prido-product-card__price .price,
.prido-grilla-products .price,
.prido-grilla-products .prido-price-now { font-weight: var(--prido-weight-bold) !important; }
.prido-grilla-products .wd-entities-title a { font-weight: var(--prido-weight-semibold) !important; }
.prido-grilla-products .wd-product:hover .wd-entities-title a { color: var(--prido-theme-ink) !important; }
.prido-grilla-products .wd-product-cats,
.prido-grilla-products .product-element-bottom .wd-product-cats,
.prido-grilla-products .wd-product-cats a { font-weight: var(--prido-weight-medium) !important; letter-spacing: 0.04em !important; color: var(--prido-theme-muted) !important; }
.prido-grilla-products .price del,
.prido-grilla-products .prido-price-was { color: var(--prido-theme-muted) !important; font-weight: var(--prido-weight-regular) !important; }
.prido-grilla-products .prido-grilla-btn-cart,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla { font-weight: var(--prido-weight-semibold) !important; }


/* ==========================================================================
   v3 AJUSTES — 2026-06-01: bordes rectos + precio alineado sin % inline
   ========================================================================== */
/* (1) Bordes rectos (squared) en cards, imagen, botones, badges, toolbar */
.prido-grilla-products .product-wrapper { border-radius: 4px !important; }
.prido-grilla-products .product-element-top { border-radius: 4px 4px 0 0 !important; }
.prido-grilla-products .prido-grilla-action-btn,
.prido-grilla-products .prido-grilla-btn-cart,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla,
.prido-grilla-products .prido-card-notify-btn { border-radius: 4px !important; }
.prido-grilla-orderby,
.prido-orderby-select,
.prido-pp-option { border-radius: 4px !important; }
.prido-grilla-products .prido-var-badge,
.prido-grilla-products .prido-product-card__sale-badge { border-radius: 4px !important; }

/* (2) Precio: alinear verticalmente normal + oferta; quitar -% inline (ya va en el badge) */
.prido-grilla-products .prido-product-card__price .price,
.prido-grilla-products .price { align-items: center !important; }
.prido-grilla-products .prido-price-off { display: none !important; }

/* COTIZAR de la tarjeta: forma RECTANGULAR igual que "Avísame" (.prido-card-notify-btn).
   Unifica el radio del botón de cotizar (anula los pill 999px heredados) en todos los
   estados, con la misma especificidad/orden para ganar la cascada. 2026-06-01 */
.prido-grilla-products .prido-product-card__quote .prido-cotizar-wrap--grilla .prido-cotizar-btn--grilla,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla.prido-cotizar-btn--active,
.prido-grilla-products .prido-product-card__quote .prido-cotizar-btn--grilla.prido-cotizar-btn--disabled {
    border-radius: 4px !important;
}


/* ==========================================================================
   Skeleton de carga — placeholders grises que reservan el espacio EXACTO de las
   cards mientras llegan los productos (filtrado / "Cargar más"). Son hermanos de
   las cards en el grid (.prido-grilla-products) → fluyen en las columnas existentes.
   Dimensiones medidas de la card real (radio 4px, bg surface-strong, border
   theme-border, media 1:1 radio 4px 4px 0 0, body padding 16px 16px 18px).
   Tokens GLOBALES theme-aware (la grilla está FUERA del panel de filtros). 2026-06-01
   ========================================================================== */
.prido-grilla-skeleton {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    background: var(--prido-theme-surface-strong, #fff);
    border: 1px solid var(--prido-theme-border, rgba(201, 212, 221, 0.74));
    border-radius: 4px;
    overflow: hidden;
}
.prido-grilla-skeleton__media {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 4px 4px 0 0;
    flex-shrink: 0;
}
.prido-grilla-skeleton__body {
    flex: 1;
    padding: 16px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.prido-grilla-skeleton__line {
    height: 11px;
    border-radius: 6px;
}
.prido-grilla-skeleton__line--cat    { width: 38%; }
.prido-grilla-skeleton__line--title  { width: 92%; }
.prido-grilla-skeleton__line--title2 { width: 60%; }
.prido-grilla-skeleton__line--price  { width: 48%; height: 18px; margin-top: 8px; }

/* Relleno gris + shimmer (theme-aware) */
.prido-grilla-skeleton__media,
.prido-grilla-skeleton__line {
    background-color: color-mix(in srgb, var(--prido-theme-border, #c9d4dd) 78%, transparent);
    background-image: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.45) 50%, transparent 100%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
    animation: prido-skeleton-shimmer 1.4s linear infinite;
}
@keyframes prido-skeleton-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
:root[data-theme="dark"] .prido-grilla-skeleton__media,
:root[data-theme="dark"] .prido-grilla-skeleton__line,
body.woodmart-dark .prido-grilla-skeleton__media,
body.woodmart-dark .prido-grilla-skeleton__line {
    background-color: rgba(255, 255, 255, 0.12);
    background-image: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.10) 50%, transparent 100%);
}
@media (prefers-reduced-motion: reduce) {
    .prido-grilla-skeleton__media,
    .prido-grilla-skeleton__line { animation: none; }
}
