.shop_card { display: flex; flex-direction: column;
}
.shop_card a {  border-radius: var(--border-radius); overflow: hidden;display: flex; flex-direction: column; flex: 1;position: relative;

    box-shadow: 0px 8px 16px 0px rgba(167, 141, 252, 0.20), 0px 0px 16px 0px rgba(0, 0, 0, 0.12); color: black;

    /*box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);*/

    padding:32px; background:white; width:100%;
}


.shop_card div { flex: 1;  transition: all 0.2s ease-out; display: flex; flex-direction: column;  text-align:center; }
.shop_card div:not(:first-child) { padding-top:32px; }
.shop_card div p:not(.cta) { font-size:16px;  line-height:1.3; margin: 0 0 12px 0; }

.shop_card div p:first-child { font-size:22px; font-family:var(--headingfont);  }
.shop_card div p.cta:last-child { margin-top:auto; margin-bottom:0; padding-top:12px;  }



.shop_card div p.cta span { border-color:  currentColor;
    color: #000;
    background: #E1BC1E;
}
.shop_card a:is(:hover,:focus-visible) div p.cta span,
.shop_card a div p.cta span:hover {

    background: var(--dark-purple); color: white;;
}


.shop_card picture { width:100%; height: 240px; display:block; position:relative; }
.shop_card picture img{ display:block; height:100%; width:100%; position:absolute; top:50%; left:50%; object-fit:contain; transform:translate(-50%,-50%);

    /*
    filter: drop-shadow(0 0.2rem 0.25rem rgba(0, 0, 0, 0.2));
    filter: drop-shadow(0px 16px 32px rgba(0, 0, 0, 0.25));
    */
}

.shop_card a:is(:hover,:focus-visible) {

    background: white; color: #000;;
}
.shop_card a:focus-visible {
    box-shadow: var(--focus);
}


.shop_cards   { margin: 32px 0; }
.shop_cards:last-child   { margin: 32px 0 0; }
.shop_cards .shop_card {   margin: calc(var(--gutter) / 2);   width: calc(25% - var(--gutter)); }
.shop_cards.three .shop_card { width: calc(33.333% - var(--gutter)); }

.shop_cards:has(.shop_card:only-child){
    justify-content: center;
}

@media all and (max-width: 1199px) {

    .shop_cards .shop_card { width: calc(50% - var(--gutter)); }
    .shop_cards.three .shop_card { width: calc(33.333% - var(--gutter)); }
    .shop_cards .shop_card a { padding:24px; }
}

@media all and (max-width: 899px) {
    .shop_cards .shop_card { width: calc(50% - var(--gutter)); }

}


@media all and (max-width: 599px) {
    .shop_card picture {
        height:180px;
    }
    .shop_cards.three .shop_card ,
    .shop_cards .shop_card { width: 100%; margin: var(--gutter) 0; }
}






.pageheader .shop_card { margin:0; }
.pageheader .shop_card a { max-width:600px; margin:0 auto; }


@media all and (min-width: 1200px) {

    .pageheader .shop_card div p:not(.cta) { font-size:22px;  line-height:1.3; margin: 0 0 16px 0; }

    .pageheader .shop_card div p:first-child { font-size:28px;  }
    .pageheader .shop_card div p.cta:last-child {   padding-top:16px;  }

}