/* =========================================================
   DKTNY GARAGE PRODUCT CARD v1.5
   ========================================================= */


/* Full-width row */
.woocommerce ul.products li.product.dktny-card-product {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;

    margin: 0 0 10px !important;
    padding: 10px 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   DESKTOP
   ========================================================= */

.dktny-product-card {
    display: grid !important;

    grid-template-columns:
        minmax(175px, 195px)
        minmax(0, 1fr)
        minmax(210px, 230px) !important;

    grid-template-areas:
        "image info price"
        "image info cart"
        "image info brand"
        "image info meta" !important;

    column-gap: 12px !important;
    row-gap: 5px !important;

    align-items: start !important;

    width: 100% !important;

    box-sizing: border-box !important;
}


/* TITLE + DESCRIPTION */
.dktny-card-info {
    grid-area: info;

    min-width: 0;
}


.dktny-card-title {
    margin: 0 0 8px !important;
    padding: 0 0 0 10px !important;

    text-align: left !important;

    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}


.dktny-card-title a {
    text-decoration: none !important;
}


.dktny-card-description {
    margin: 0 !important;

    font-size: 13px !important;
    line-height: 1.45 !important;

    text-align: left !important;
}


.dktny-card-description > :first-child {
    margin-top: 0 !important;
}


.dktny-card-description > :last-child {
    margin-bottom: 0 !important;
}


/* IMAGE */
.dktny-card-image {
    grid-area: image;

    position: relative;

    min-width: 0;

    text-align: center;

    overflow: visible !important;
}


.dktny-card-image-link {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    overflow: visible !important;
}


.dktny-card-product-image {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: 145px !important;

    aspect-ratio: auto !important;

    object-fit: contain !important;

    margin: 0 auto !important;
}


.dktny-card-image .onsale {
    position: absolute !important;

    top: 4px !important;
    left: 4px !important;

    z-index: 2;
}


/* AWL labels */
.dktny-card-labels {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    margin-top: 5px !important;
}


.dktny-card-labels .advanced-woo-labels,
.dktny-card-labels .dktny-relocated-labels {
    position: static !important;

    display: flex !important;

    flex-direction: row !important;
    flex-wrap: wrap !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 5px !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
}


/* PRICE */
.dktny-card-price {
    grid-area: price;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-width: 0;
    min-height: 42px !important;

    margin: 0 !important;

    text-align: center !important;
}


.dktny-card-price .price {
    display: block !important;

    margin: 0 !important;

    font-size: 21px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}


/* CTA */
.dktny-card-cart {
    grid-area: cart;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


.dktny-card-cart .button,
.dktny-card-cart .add_to_cart_button,
.dktny-card-cart-button {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    min-width: 0 !important;
    min-height: 38px !important;

    padding: 8px !important;
    margin: 0 !important;

    box-sizing: border-box !important;

    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
}


/* MANUFACTURER */
.dktny-card-brand {
    grid-area: brand;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-width: 0;

    text-align: center !important;
}


.dktny-card-brand-logo-link {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
}


.dktny-card-brand img {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 125px !important;
    max-height: 70px !important;

    object-fit: contain !important;

    margin: 0 auto !important;
}


/* META */
.dktny-card-meta {
    grid-area: meta;

    width: 100% !important;

    padding:
        3px
        12px
        0
        0 !important;

    box-sizing: border-box !important;

    font-size: 10.5px !important;
    line-height: 1.3 !important;

    text-align: right !important;
}


.dktny-card-stock,
.dktny-card-stock .stock {
    margin: 0 !important;

    font-size: inherit !important;
    line-height: inherit !important;

    text-align: right !important;
}


/* =========================================================
   MOBILE
   EXACT REQUESTED GRID
   =========================================================

   IMAGE | TITLE / DESCRIPTION | TITLE / DESCRIPTION
   IMAGE | PRICE               | BRAND LOGO
   IMAGE | DODAJ               | SKU + STOCK

   ========================================================= */

@media (max-width: 768px) {

    .woocommerce ul.products li.product.dktny-card-product {
        padding: 10px 6px !important;
        margin-bottom: 8px !important;
    }


    .dktny-product-card {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        grid-template-areas:
            "image info info"
            "image price brand"
            "image cart meta" !important;

        column-gap: 7px !important;
        row-gap: 5px !important;

        align-items: start !important;
    }


    /* COLUMN 1 — IMAGE SPANS THE WHOLE CARD HEIGHT */
    .dktny-card-image {
        grid-area: image !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        align-self: stretch !important;
    }


    .dktny-card-image-link {
        width: 100% !important;
    }


    .dktny-card-product-image {
        max-width: 100% !important;
        max-height: 128px !important;
    }


    /* COLUMNS 2 + 3 — TITLE / DESCRIPTION */
    .dktny-card-info {
        grid-area: info !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 4px 3px !important;

        box-sizing: border-box !important;
    }


    .dktny-card-title {
        margin: 0 0 4px !important;

        padding:
            0
            0
            0
            10px !important;

        font-size: 15px !important;
        line-height: 1.22 !important;

        text-align: left !important;
    }


    .dktny-card-description {
        display: -webkit-box;

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;

        overflow: hidden;

        margin: 0 !important;
        padding: 0 6px !important;

        font-size: 11.5px !important;
        line-height: 1.3 !important;

        text-align: center !important;
    }


    /* COLUMN 2 — PRICE, CENTERED */
    .dktny-card-price {
        grid-area: price !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;

        min-height: 42px !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;
    }


    .dktny-card-price .price {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;

        font-size: 18px !important;
        line-height: 1.05 !important;
        font-weight: 700 !important;

        text-align: center !important;

        white-space: normal !important;
    }


    /* COLUMN 3 — BRAND LOGO, CENTERED */
    .dktny-card-brand {
        grid-area: brand !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;

        min-height: 42px !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;
    }


    .dktny-card-brand-logo-link {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        margin: 0 auto !important;
    }


    .dktny-card-brand img {
        display: block !important;

        width: auto !important;
        height: auto !important;

        max-width: 82px !important;
        max-height: 44px !important;

        object-fit: contain !important;

        margin: 0 auto !important;
    }


    /* COLUMN 2 — DODAJ */
    .dktny-card-cart {
        grid-area: cart !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    .dktny-card-cart .button,
    .dktny-card-cart .add_to_cart_button,
    .dktny-card-cart-button {
        width: 100% !important;
        max-width: none !important;

        min-width: 0 !important;
        min-height: 42px !important;

        padding: 8px 4px !important;

        font-size: 12px !important;
    }


    /* COLUMN 3 — SKU + STOCK */
    .dktny-card-meta {
        grid-area: meta !important;

        display: flex !important;

        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;

        margin: 0 !important;

        padding:
            1px
            6px
            0
            0 !important;

        box-sizing: border-box !important;

        font-size: 9.5px !important;
        line-height: 1.25 !important;

        text-align: right !important;
    }


    .dktny-card-stock,
    .dktny-card-stock .stock {
        text-align: right !important;
    }
}


/* Very narrow phones */
@media (max-width: 390px) {

    .dktny-product-card {
        column-gap: 5px !important;
    }


    .dktny-card-title {
        font-size: 14px !important;
    }


    .dktny-card-price .price {
        font-size: 17px !important;
    }


    .dktny-card-cart .button,
    .dktny-card-cart .add_to_cart_button,
    .dktny-card-cart-button {
        padding-left: 3px !important;
        padding-right: 3px !important;

        font-size: 11px !important;
    }


    .dktny-card-brand img {
        max-width: 72px !important;
        max-height: 40px !important;
    }
}


/* =========================================================
   v1.7 MOBILE ALIGNMENT OVERRIDES
   ========================================================= */

@media (max-width: 768px) {

    /* FULL LEFT ALIGN — TITLE + SHORT DESCRIPTION */
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-info {
        text-align: left !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-title,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-title a,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-description,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-description p,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-description div,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-description span {
        text-align: left !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* PRICE — DEAD CENTER OF COLUMN 2 */
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-price {
        justify-self: stretch !important;
        align-self: stretch !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-price > *,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-price .price,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-price .woocommerce-Price-amount,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-price bdi {
        display: block !important;

        width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;

        float: none !important;

        text-align: center !important;
    }

    /* MANUFACTURER LOGO — DEAD CENTER OF COLUMN 3 */
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand {
        justify-self: stretch !important;
        align-self: stretch !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand > *,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand a,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand div,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand span {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;

        float: none !important;

        text-align: center !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand img {
        display: block !important;

        width: auto !important;
        height: auto !important;

        max-width: 82px !important;
        max-height: 44px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        float: none !important;
    }
}



/* =========================================================
   v1.8 ALIGNMENT CLEANUP
   ========================================================= */

/* DESKTOP: title + short description fully left, no indent */
@media (min-width: 769px) {

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-info {
        text-align: left !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-title,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-title a,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-description,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-description p,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-description div,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-description span {
        text-align: left !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* MOBILE: manufacturer logo centered exactly in column 3 */
@media (max-width: 768px) {

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand {
        grid-area: brand !important;

        justify-self: stretch !important;
        align-self: center !important;

        display: grid !important;
        place-items: center !important;

        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;

        position: static !important;
        transform: none !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand > *,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand a,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand div,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand span {
        display: grid !important;
        place-items: center !important;

        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;

        position: static !important;
        left: auto !important;
        right: auto !important;

        transform: none !important;

        text-align: center !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand img {
        display: block !important;

        width: auto !important;
        height: auto !important;

        max-width: 82px !important;
        max-height: 44px !important;

        margin: 0 auto !important;
        padding: 0 !important;

        float: none !important;

        position: static !important;
        left: auto !important;
        right: auto !important;

        transform: none !important;
    }
}



/* =========================================================
   v1.9 MOBILE BRAND VISUAL OFFSET
   ========================================================= */

@media (max-width: 768px) {

    /*
     * Keep the logo inside column 3, but visually bias it
     * toward the right edge of that one-third cell.
     */
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand {
        justify-items: end !important;
        justify-content: end !important;

        padding-right: 8px !important;
        box-sizing: border-box !important;

        text-align: right !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand > *,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand a,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand div,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand span {
        justify-items: end !important;
        justify-content: end !important;

        margin-left: auto !important;
        margin-right: 0 !important;

        text-align: right !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand img {
        margin-left: auto !important;
        margin-right: 0 !important;
    }
}



/* =========================================================
   v2.0 BRAND POSITION
   Desktop = centered
   Mobile  = pushed right inside column 3
   ========================================================= */

/* DESKTOP: keep manufacturer logo centered */
@media (min-width: 769px) {

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand > *,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand a {
        width: auto !important;

        margin-left: auto !important;
        margin-right: auto !important;

        justify-content: center !important;
        justify-items: center !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand img {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* MOBILE: visually push logo to the RIGHT inside column 3 */
@media (max-width: 768px) {

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand {
        display: flex !important;

        align-items: center !important;
        justify-content: flex-end !important;

        justify-items: end !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 5px 0 0 !important;

        box-sizing: border-box !important;

        text-align: right !important;
    }

    /*
     * Important: previous versions made the BeRocket link 100% wide.
     * Shrink it back to its content width so "flex-end" can actually
     * move the logo visually to the right.
     */
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand > *,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand a,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand div,
    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand span {
        display: flex !important;

        align-items: center !important;
        justify-content: flex-end !important;

        width: auto !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: 0 !important;

        padding: 0 !important;

        float: none !important;

        text-align: right !important;
    }

    .woocommerce ul.products li.product.dktny-card-product .dktny-card-brand img {
        width: auto !important;
        height: auto !important;

        max-width: 82px !important;
        max-height: 44px !important;

        margin-left: auto !important;
        margin-right: 0 !important;

        float: none !important;
    }
}



/* =========================================================
   v2.1 DESKTOP SALE-PRICE FIT
   Keep discounted prices inside the right-hand price column.
   ========================================================= */

@media (min-width: 769px) {

    /*
     * WooCommerce sale prices contain:
     *   <del>old price</del>
     *   <ins>new price</ins>
     *
     * Stack them vertically on desktop so long PLN prices
     * cannot overflow the price column.
     */
    .woocommerce ul.products li.product.dktny-card-product
    .dktny-card-price .price:has(del) {
        display: flex !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 2px !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        text-align: center !important;
        white-space: normal !important;
    }

    .woocommerce ul.products li.product.dktny-card-product
    .dktny-card-price .price:has(del) del {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        font-size: 13px !important;
        line-height: 1.1 !important;
        font-weight: 400 !important;

        text-align: center !important;
        white-space: nowrap !important;

        opacity: .65;
    }

    .woocommerce ul.products li.product.dktny-card-product
    .dktny-card-price .price:has(del) ins {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        font-size: 20px !important;
        line-height: 1.05 !important;
        font-weight: 700 !important;

        text-align: center !important;
        white-space: nowrap !important;

        text-decoration: none !important;
    }

    .woocommerce ul.products li.product.dktny-card-product
    .dktny-card-price .price:has(del) del .woocommerce-Price-amount,
    .woocommerce ul.products li.product.dktny-card-product
    .dktny-card-price .price:has(del) ins .woocommerce-Price-amount {
        font-size: inherit !important;
        line-height: inherit !important;
        white-space: nowrap !important;
    }
}

