
.gb-photo-card {
    position: relative;
    display: block;
    max-width: 460px;
    margin: 0 auto;
}

.gb-photo-card::before {
    content: '';
    position: absolute;
    inset: 18px -18px -18px 18px;
    background: var(--agriox-base, #f1cf69);
    border-radius: 20px;
    z-index: 1;
}

.gb-photo-card__frame {
    position: relative;
    z-index: 2;
    display: block;
    overflow: hidden;
    border-radius: 20px;
    background: #eceae0;
    box-shadow: 0 30px 60px -25px rgba(51, 75, 53, 0.45);
}

.gb-photo-card--portrait .gb-photo-card__frame {
    aspect-ratio: 9 / 10;
}

.gb-photo-card--landscape .gb-photo-card__frame {
    aspect-ratio: 4 / 3;
}

.gb-photo-card__frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    -webkit-transition: -webkit-transform 600ms ease;
    transition: transform 600ms ease;
}

.gb-photo-card:hover .gb-photo-card__frame img {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
}

.gb-photo-card__placeholder {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 260px;
    color: var(--agriox-secondary, #6d8c54);
    font-size: 64px;
    background: -webkit-gradient(linear, left top, right bottom, from(#eef2e6), to(#e3ead4));
    background: linear-gradient(135deg, #eef2e6 0%, #e3ead4 100%);
}

.gb-photo-card__badge {
    position: absolute;
    top: -16px;
    left: -16px;
    z-index: 3;
    width: 60px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 50%;
    background: var(--agriox-primary, #334b35);
    color: var(--agriox-base, #f1cf69);
    font-size: 22px;
    box-shadow: 0 14px 26px -10px rgba(51, 75, 53, 0.55);
}

@media (max-width: 991px) {
    .gb-photo-card {
        margin-top: 50px;
    }
}
