/*
 * Catalogo dropshipping v0.4.64.
 * Replica la linea visual del snippet "Diseno tienda y producto":
 * tarjeta negra, imagen 1:1, tipografia, precio, cantidad y CTA normal.
 * Las variaciones siguen mostrandose como tarjetas independientes.
 */

body.azds-products-page{
    background:#000!important;
    color:#fff;
}
body.azds-products-page .site-main,
body.azds-products-page article.page,
body.azds-products-page .entry-content{
    background:transparent!important;
}
body.azds-products-page .azds-products-hero,
body.azds-products-page .azds-products-toolbar,
body.azds-products-page .azds-native-shop{
    display:none!important;
}

.azds-products-shell{
    width:100%;
    margin:0 auto;
    padding:8px 0 58px;
    color:#fff;
}

.azds-products-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:28px;
    align-items:stretch!important;
}

/* Relacionados: el renderer compartido necesita el ancho de contenido,
 * no todo el viewport. No modifica la rejilla de /productos/ ni la galeria. */
body.single-product .azds-related-products{
    box-sizing:border-box;
    width:min(100%,var(--theme-container-width-base,90vw));
    max-width:var(--theme-normal-container-max-width,1290px);
    margin-inline:auto;
}

/* Solo las tarjetas conservan el limite compacto, no el encabezado. */
body.single-product .azds-related-products > .azds-products-grid{
    width:100%;
    max-width:1200px;
    margin-inline:auto;
}

/* Variables independientes para que el H2 global no sustituya la fuente de pestañas. */
body.single-product .azds-related-products > .azds-related-heading{
    font-family:var(--theme-azds-related-font-family,inherit);
    font-size:var(--theme-azds-related-font-size,16px);
    font-weight:var(--theme-azds-related-font-weight,600);
    font-style:var(--theme-azds-related-font-style,normal);
    line-height:var(--theme-azds-related-line-height,1);
    letter-spacing:var(--theme-azds-related-letter-spacing,normal);
    text-transform:var(--theme-azds-related-text-transform,uppercase);
    text-decoration:var(--theme-azds-related-text-decoration,none);
    color:var(--azds-related-color,var(--theme-text-color,inherit));
    margin:0;
    padding:18px 0;
    border-top:1px solid var(--azds-related-border-color,var(--theme-border-color));
}

/* Tarjeta: mismos valores visuales del catalogo principal. */
.azds-product-card{
    position:relative;
    min-width:0;
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    padding:0!important;
    overflow:hidden;
    border-radius:16px;
    background:#000!important;
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    color:#fff;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.azds-product-card:hover{
    transform:translateY(-4px) scale(1.018);
    box-shadow:0 14px 34px rgba(0,0,0,.45);
    border-color:rgba(34,220,245,.65);
}

.azds-product-image{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    background:#000!important;
    text-decoration:none!important;
}
.azds-product-image img{
    display:block;
    width:100%!important;
    height:100%!important;
    aspect-ratio:1/1;
    object-fit:contain!important;
    margin:0!important;
    padding:0!important;
    background:#000!important;
    transition:transform .35s ease;
}
.azds-product-card:hover .azds-product-image img{
    transform:scale(1.04);
}

.azds-product-stock{
    position:static;
    z-index:auto;
    align-self:flex-start;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:calc(100% - 20px);
    margin:10px 10px 0;
    padding:7px 10px;
    border-radius:8px;
    background:#8dffb5;
    color:#000;
    box-shadow:0 3px 12px rgba(0,0,0,.35);
    font-size:11px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.35px;
    text-transform:uppercase;
    white-space:nowrap;
}
.azds-product-card.is-state-a_pedido .azds-product-stock{
    background:#ffc107;
    color:#000;
}
.azds-product-card.is-state-internacion .azds-product-stock{
    background:#22DCF5;
    color:#000;
}
.azds-product-card.is-state-proximamente .azds-product-stock{
    background:#fff;
    color:#000;
}
.azds-product-card.is-out .azds-product-stock,
.azds-product-card.is-state-sin_stock .azds-product-stock{
    background:#e32727;
    color:#fff;
}
/* En la tienda principal no existe un segundo badge de envio en la tarjeta. */
.azds-product-free{display:none!important;}

.azds-product-body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:0;
}

.azds-product-body h2{
    min-height:58px;
    margin:20px 0 10px!important;
    padding-left:18px;
    padding-right:18px;
    color:#fff!important;
    font-size:19px!important;
    font-weight:900!important;
    line-height:1.25!important;
    letter-spacing:-.4px;
    text-transform:none;
}
.azds-product-body h2 a{
    color:#fff!important;
    text-decoration:none!important;
}
.azds-product-body h2 a:hover{
    color:#fff!important;
}

.azds-product-subtitle{
    min-height:52px;
    margin:0 0 16px;
    padding-left:18px;
    padding-right:18px;
    color:rgba(255,255,255,.78);
    font-size:16px;
    font-style:italic;
    line-height:1.45;
    opacity:.9;
}

.azds-product-card .azds-card-price{
    display:block;
    margin-top:auto!important;
    margin-bottom:18px!important;
    padding-left:18px;
    padding-right:18px;
    color:#fff!important;
    font-size:28px!important;
    font-weight:900!important;
    line-height:1.1!important;
}
.azds-product-card .azds-card-price .woocommerce-Price-amount,
.azds-product-card .azds-card-price .woocommerce-Price-amount bdi,
.azds-product-card .azds-card-price bdi,
.azds-product-card .azds-card-price ins{
    color:#fff!important;
    font-weight:900!important;
}
.azds-product-card .azds-card-price ins{
    text-decoration:none!important;
}
.azds-product-card .azds-card-price del{
    color:rgba(255,255,255,.5)!important;
    font-size:.65em!important;
}
.azds-product-card .azds-card-price .woocommerce-Price-currencySymbol{
    font-size:24px!important;
}
.azds-product-card .azds-card-price small,
.azds-product-card .azds-card-price .tax_label,
.azds-product-card .azds-card-price .woocommerce-price-suffix,
.azds-product-card .azds-card-price .azds-tax-included{
    display:inline!important;
    margin-left:4px!important;
    color:#22dcf5!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:0;
    vertical-align:baseline!important;
}

.azds-card-form{
    width:100%;
    margin:0!important;
    padding:0 18px 18px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.azds-card-qty{
    width:100%;
    height:52px;
    display:grid;
    grid-template-columns:56px 1fr 56px;
    align-items:center;
    overflow:hidden;
    border:1px solid rgba(34,220,245,.45);
    border-radius:12px;
    background:#000;
}
.azds-card-qty button,
.azds-card-qty input{
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#fff!important;
}
.azds-card-qty button{
    width:56px;
    height:52px;
    padding:0!important;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px!important;
    font-weight:900!important;
    line-height:52px!important;
    cursor:pointer;
}
.azds-card-qty button:hover,
.azds-card-qty button:focus-visible{
    background:rgba(34,220,245,.16)!important;
    color:#22dcf5!important;
    outline:none!important;
}
.azds-card-qty input{
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    padding:0!important;
    text-align:center!important;
    font-size:22px!important;
    font-weight:900!important;
    line-height:52px!important;
    appearance:textfield;
    -moz-appearance:textfield;
}
.azds-card-qty input::-webkit-inner-spin-button,
.azds-card-qty input::-webkit-outer-spin-button{
    margin:0;
    -webkit-appearance:none;
}

.azds-card-submit{
    width:100%!important;
    min-height:56px!important;
    margin:0!important;
    padding:10px 14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:12px!important;
    background:#2b2b2b!important;
    background-image:none!important;
    color:#22dcf5!important;
    box-shadow:none!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-align:center!important;
    text-transform:none!important;
    text-decoration:none!important;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease!important;
}
.azds-card-submit:hover,
.azds-card-submit:focus-visible{
    transform:translateY(-1px);
    background:#22dcf5!important;
    background-image:none!important;
    color:#000!important;
    border-color:#22dcf5!important;
    box-shadow:none!important;
    filter:none!important;
    outline:none!important;
}
.azds-card-submit:disabled{
    cursor:wait;
    opacity:.72;
    transform:none;
}


/* Mismo flujo visual que las categorias WooCommerce: tras añadir por AJAX,
 * aparece Ver carrito dentro de la misma tarjeta sin recargar la pagina. */
.azds-card-view-cart{
    width:100%!important;
    min-height:50px!important;
    margin:0!important;
    padding:9px 14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(34,220,245,.28)!important;
    border-radius:12px!important;
    background:#1f1f1f!important;
    background-image:none!important;
    color:#22DCF5!important;
    box-shadow:none!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-align:center!important;
    text-transform:none!important;
    text-decoration:none!important;
    transition:background .2s ease,color .2s ease,border-color .2s ease!important;
}
.azds-card-view-cart:hover,
.azds-card-view-cart:focus-visible{
    background:#22DCF5!important;
    color:#000!important;
    border-color:#22DCF5!important;
    outline:none!important;
}


.azds-card-message{
    width:100%;
    margin:0!important;
    padding:9px 11px!important;
    border:1px solid rgba(255,80,80,.42);
    border-radius:9px;
    background:rgba(120,0,0,.20);
    color:#fff;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    text-align:left;
}

.azds-card-unavailable{
    margin:0 18px 18px;
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:#1f1f1f;
    color:rgba(255,255,255,.72);
    font-size:16px;
    font-weight:900;
}

.azds-products-empty{
    padding:38px 24px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:16px;
    background:#000;
    text-align:center;
}
.azds-products-empty strong{
    display:block;
    color:#fff;
    font-size:18px;
}
.azds-products-empty span{
    display:block;
    margin-top:6px;
    color:rgba(255,255,255,.68);
    font-size:13px;
}

.azds-products-pagination{
    margin-top:34px;
}
.azds-products-pagination ul{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}
.azds-products-pagination a,
.azds-products-pagination span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:10px;
    background:#000;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:800;
}
.azds-products-pagination .current,
.azds-products-pagination a:hover{
    border-color:#22dcf5;
    background:#22dcf5;
    color:#000!important;
}

@media(max-width:1320px){
    .azds-products-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
}
@media(max-width:1024px){
    .azds-products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
    .azds-product-body h2{font-size:17px!important}
    .azds-product-card .azds-card-price{font-size:24px!important}
}
@media(max-width:768px){
    .azds-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .azds-product-card:hover{transform:none}
    .azds-product-body h2{
        min-height:auto;
        font-size:16px!important;
        padding-left:14px;
        padding-right:14px;
    }
    .azds-product-subtitle{
        min-height:auto;
        padding-left:14px;
        padding-right:14px;
        font-size:15px;
    }
    .azds-product-card .azds-card-price{
        padding-left:14px;
        padding-right:14px;
        font-size:22px!important;
    }
    .azds-product-card .azds-card-price small,
    .azds-product-card .azds-card-price .tax_label,
    .azds-product-card .azds-card-price .woocommerce-price-suffix,
    .azds-product-card .azds-card-price .azds-tax-included{
        font-size:14px!important;
    }
    .azds-card-form{padding:0 14px 14px}
    .azds-card-submit{min-height:52px!important;font-size:16px!important}
    .azds-card-qty{height:50px;grid-template-columns:50px 1fr 50px}
    .azds-card-qty button{width:50px;height:50px;line-height:50px!important}
    .azds-card-qty input{height:50px!important;min-height:50px!important;line-height:50px!important}
    .azds-product-stock{margin:7px 7px 0;font-size:10px;padding:5px 7px}
    .azds-card-unavailable{margin:0 14px 14px;min-height:52px;font-size:15px}
}
@media(max-width:480px){
    .azds-products-grid{grid-template-columns:1fr;gap:14px}
}

/* =============================================================
   v0.4.87 - CATALOGO MOVIL COMPACTO /PRODUCTOS/
   Dos columnas y jerarquia de producto pensada para compra movil.
============================================================= */
@media(max-width:768px){
    .azds-products-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }

    .azds-product-card{
        border-radius:12px!important;
        box-shadow:0 6px 18px rgba(0,0,0,.24)!important;
    }

    .azds-product-image{
        aspect-ratio:1/1!important;
    }

    .azds-product-body h2{
        min-height:34.8px!important;
        max-height:34.8px!important;
        margin:12px 0 6px!important;
        padding-left:10px!important;
        padding-right:10px!important;
        display:-webkit-box!important;
        -webkit-box-orient:vertical!important;
        -webkit-line-clamp:2!important;
        overflow:hidden!important;
        color:#fff!important;
        font-size:14px!important;
        line-height:1.24!important;
        letter-spacing:-.18px!important;
    }

    /* En productos simples no mostramos el parrafo comercial largo. */
    .azds-product-card.is-simple .azds-product-subtitle{
        display:none!important;
    }

    .azds-product-card.is-simple.has-model .azds-product-subtitle{
        min-height:0!important;
        max-height:18px!important;
        margin:0 0 8px!important;
        padding-left:10px!important;
        padding-right:10px!important;
        display:block!important;
        overflow:hidden!important;
        color:rgba(255,255,255,.72)!important;
        font-size:12.5px!important;
        line-height:1.35!important;
        font-style:normal!important;
        white-space:nowrap!important;
        text-overflow:ellipsis!important;
    }

    /* En variaciones sí conservamos el modelo/variante en una linea. */
    .azds-product-card.is-variation .azds-product-subtitle{
        min-height:0!important;
        max-height:18px!important;
        margin:0 0 8px!important;
        padding-left:10px!important;
        padding-right:10px!important;
        display:-webkit-box!important;
        -webkit-box-orient:vertical!important;
        -webkit-line-clamp:1!important;
        overflow:hidden!important;
        color:rgba(255,255,255,.72)!important;
        font-size:12.5px!important;
        line-height:1.35!important;
        font-style:normal!important;
    }

    .azds-product-card .azds-card-price{
        margin-top:auto!important;
        margin-bottom:10px!important;
        padding-left:10px!important;
        padding-right:10px!important;
        font-size:18px!important;
        line-height:1.08!important;
    }

    .azds-product-card .azds-card-price .woocommerce-Price-currencySymbol{
        font-size:16px!important;
    }

    .azds-product-card .azds-card-price small,
    .azds-product-card .azds-card-price .tax_label,
    .azds-product-card .azds-card-price .woocommerce-price-suffix,
    .azds-product-card .azds-card-price .azds-tax-included{
        margin-left:2px!important;
        font-size:11px!important;
        line-height:1.05!important;
    }

    .azds-card-form{
        padding:0 10px 10px!important;
        gap:7px!important;
    }

    .azds-card-qty{
        height:40px!important;
        grid-template-columns:38px minmax(0,1fr) 38px!important;
        border-radius:9px!important;
    }

    .azds-card-qty button{
        width:38px!important;
        height:40px!important;
        font-size:19px!important;
        line-height:40px!important;
    }

    .azds-card-qty input{
        height:40px!important;
        min-height:40px!important;
        font-size:16px!important;
        line-height:40px!important;
    }

    .azds-card-submit{
        min-height:42px!important;
        padding:7px 6px!important;
        border-radius:9px!important;
        font-size:12.5px!important;
        line-height:1.16!important;
    }

    .azds-card-view-cart{
        min-height:40px!important;
        padding:7px 6px!important;
        border-radius:9px!important;
        font-size:12px!important;
    }

    .azds-product-stock{
        position:static!important;
        margin:7px 7px 0!important;
        padding:5px 7px!important;
        border-radius:7px!important;
        font-size:9px!important;
        line-height:1.15!important;
    }

    .azds-card-unavailable{
        min-height:42px!important;
        margin:0 10px 10px!important;
        border-radius:9px!important;
        font-size:12px!important;
    }
}

@media(max-width:480px){
    /* Se mantiene dos columnas incluso en moviles normales. */
    .azds-products-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
    }
}


/* v0.5.08 - estados comerciales tambien en /productos/. */
.azds-card-submit-a_pedido{
    background:#ffc107!important;
    color:#000!important;
    border-color:rgba(255,193,7,.85)!important;
}
@media(hover:hover) and (pointer:fine){
    .azds-card-submit-a_pedido:hover{
        background:#000!important;
        color:#ffc107!important;
        border-color:#ffc107!important;
    }
}
