﻿.alz-pcard {
    display: block;
    color: var(--alz-text);
}

.alz-pcard__media {
    position: relative;
    aspect-ratio: 4 / 5;
    background: #ece3d7;
    overflow: hidden;
    border: 1px solid rgba(74,49,36,.06);
}

.alz-pcard__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: none;
}

.alz-pcard__img--primary {
    opacity: 1;
    transition: opacity .35s ease;
}

.alz-pcard__img--secondary {
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}

@media (hover:hover) {
    .alz-pcard.has-hover-image:hover .alz-pcard__img--primary {
        opacity: 0;
    }

    .alz-pcard.has-hover-image:hover .alz-pcard__img--secondary {
        opacity: 1;
    }
}

.alz-pcard__tag {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(255,255,255,.94);
    color: var(--alz-text);
    font-size: 11px;
    line-height: 1;
    padding: 7px 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
    z-index: 2;
}

.alz-pcard__tag--discount {
    left: auto;
    right: 10px;
    background: var(--alz-accent);
    color: #fff;
}

.alz-pcard__oos {
    position: absolute;
    inset: auto 12px 12px 12px;
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(47,39,31,.82);
    color: #fff;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    z-index: 2;
}

.alz-pcard__body {
    padding: 12px 4px 2px;
}

.alz-pcard__title {
    min-height: 40px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--alz-text);
}

.alz-pcard__prices {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 6px;
    flex-wrap: wrap;
}

.alz-pcard__old {
    font-size: 13px;
    color: var(--alz-text-soft);
    text-decoration: line-through;
}

.alz-pcard__price {
    font-size: 16px;
    color: var(--alz-text);
    font-weight: 500;
}

@media (max-width: 575.98px) {
    .alz-pcard__media {
        aspect-ratio: 4 / 5;
    }

    .alz-pcard__body {
        padding: 8px 2px 0;
    }

    .alz-pcard__title {
        min-height: 34px;
        font-size: 12px;
        line-height: 1.35;
    }

    .alz-pcard__prices {
        gap: 6px;
        margin-top: 4px;
    }

    .alz-pcard__old {
        font-size: 11px;
    }

    .alz-pcard__price {
        font-size: 13px;
    }

    .alz-pcard__tag {
        top: 7px;
        left: 7px;
        font-size: 9px;
        padding: 5px 7px;
    }

    .alz-pcard__tag--discount {
        right: 7px;
    }

    .alz-pcard__oos {
        inset: auto 8px 8px 8px;
        min-height: 28px;
        font-size: 9px;
    }
}

/* --- Alaz premium campaign reveal --- */
.alz-pcard__img--primary,
.alz-pcard__img--secondary {
    transition: opacity .35s ease, transform .46s cubic-bezier(.2,.8,.2,1), filter .46s ease;
}

.alz-pcard.has-campaign .alz-pcard__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(47,39,31,0) 42%, rgba(47,39,31,.26) 100%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .32s ease;
}

.alz-pcard__tag--campaign,
.alz-pcard__tag--discount {
    z-index: 6;
}

.alz-pcard__campaignPanel {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 5;
    padding: 12px 13px 13px;
    border-radius: 0;
    border: 1px solid rgba(255,255,255,.70);
    background: linear-gradient(135deg, rgba(255,255,255,.95) 0%, rgba(248,240,232,.92) 100%);
    color: var(--alz-text);
    box-shadow: 0 18px 38px rgba(47,39,31,.20);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    transform: translateY(calc(100% + 14px));
    pointer-events: none;
    transition: opacity .28s ease, transform .34s cubic-bezier(.2,.8,.2,1);
}

    .alz-pcard__campaignPanel::before {
        content: "";
        position: absolute;
        left: 13px;
        top: 12px;
        bottom: 12px;
        width: 2px;
        background: linear-gradient(180deg, rgba(74,49,36,.70), rgba(183,139,100,.58));
    }

.alz-pcard__campaignPanelHead {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    padding-left: 12px;
    margin-bottom: 6px;
}

.alz-pcard__campaignPanelIcon {
    font-size: 11px;
    line-height: 1;
    color: var(--alz-accent);
}

.alz-pcard__campaignPanelTitle {
    font-size: 10px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(74,49,36,.82);
}

.alz-pcard__campaignPanelText {
    position: relative;
    padding-left: 12px;
    color: rgba(47,39,31,.92);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.48;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (hover:hover) {
    .alz-pcard.has-campaign:hover .alz-pcard__media::after {
        opacity: 1;
    }

    .alz-pcard.has-campaign:hover .alz-pcard__campaignPanel {
        opacity: 1;
        transform: translateY(0);
    }

    .alz-pcard.has-campaign:hover .alz-pcard__img {
        transform: translateY(-10px) scale(1.035);
        filter: saturate(.98) contrast(.98) brightness(.94);
    }
}

@media (hover:none) {
    .alz-pcard__campaignPanel {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .alz-pcard__campaignPanel {
        left: 7px;
        right: 7px;
        bottom: 7px;
        padding: 10px 11px 11px;
    }

    .alz-pcard__campaignPanelTitle {
        font-size: 9px;
    }

    .alz-pcard__campaignPanelText {
        font-size: 10.5px;
        line-height: 1.42;
        -webkit-line-clamp: 2;
    }
}
