/* One source-derived provider; scoped to its own card and current slot. */
.thrive-card { display:flex; flex-direction:column; width:100%; min-width:0; color:var(--thrive-card-text,#111); font-family:Lato,Arial,sans-serif; }
.thrive-card__media { position:relative; width:100%; aspect-ratio:3/4; background:var(--thrive-card-media-bg,#f5f5f5); overflow:hidden; }
.thrive-card__image-link { display:block; position:absolute; inset:0; }
.thrive-card__media img.thrive-card__primary,.thrive-card__media img.thrive-card__alternate { display:block; width:100%; height:100%; margin:0; object-fit:var(--thrive-card-fit,cover); object-position:center; }
.thrive-card__media img.thrive-card__alternate { position:absolute; inset:0; opacity:0; transition:opacity .2s ease; }
@media (hover:hover) { .thrive-card:hover .thrive-card__alternate { opacity:1; } }
.thrive-card:focus-within .thrive-card__alternate { opacity:1; }
.thrive-card__badge { position:absolute; z-index:2; right:5px; top:5px; max-width:calc(100% - 10px); padding:7px 8px; color:var(--thrive-card-badge-text,#111); background:var(--thrive-card-badge-bg,#efb5bb); font:500 10px/1.2 Lato,Arial,sans-serif; letter-spacing:.04em; text-align:center; overflow-wrap:anywhere; }
.thrive-card__details { display:flex; flex:1; flex-direction:column; align-items:stretch; padding-top:var(--thrive-card-gap,20px); }
.thrive-card a.thrive-card__title { display:block; color:var(--thrive-card-text,#111); font:400 var(--thrive-card-title,16px)/1.35 Lato,Arial,sans-serif; text-decoration:none; overflow-wrap:anywhere; }
.thrive-card a.thrive-card__buy { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:0 .3em; width:100%; min-height:52px; margin:30px 0 0; padding:11px 8px; border:1px solid var(--thrive-card-btn-text,#111); border-radius:0; background:var(--thrive-card-btn-bg,#fff); color:var(--thrive-card-btn-text,#111); font:500 var(--thrive-card-button,13px)/1.35 Lato,Arial,sans-serif; letter-spacing:.06em; text-align:center; text-transform:uppercase; text-decoration:none; white-space:normal; }
.thrive-card a.thrive-card__buy:hover,.thrive-card a.thrive-card__buy:focus-visible { background:var(--thrive-card-btn-text,#111); color:var(--thrive-card-btn-bg,#fff); }
.thrive-card__price { display:inline; font-size:inherit; text-transform:none; letter-spacing:0; color:inherit; }
.thrive-card__price del { color:#777; font-weight:400; }
.thrive-card__price ins { background:transparent; color:var(--thrive-card-accent,#007f77); font-weight:700; text-decoration:none; }
.thrive-card__buy:hover .thrive-card__price ins,.thrive-card__buy:focus-visible .thrive-card__price ins { color:inherit; }
.thrive-card__quick { position:absolute; left:0; right:0; bottom:0; z-index:3; text-align:center; }
.thrive-card__quick a.quick-view { display:block; padding:10px; background:#006c64; color:#fff; font:700 12px/1.2 Lato,Arial,sans-serif; text-shadow:none; }
.thrive-card__quick a.quick-view:hover,.thrive-card__quick a.quick-view:focus-visible { background:#004d47; color:#fff; }
.thrive-card a:focus-visible { outline:3px solid #e58927; outline-offset:2px; }
@media (hover:hover) { .thrive-card__quick { opacity:0; transform:translateY(4px); transition:opacity .2s,transform .2s; pointer-events:none; } .thrive-card:hover .thrive-card__quick,.thrive-card:focus-within .thrive-card__quick { opacity:1; transform:none; pointer-events:auto; } }
.thrive-card__stock { position:absolute; bottom:0; left:0; z-index:2; padding:5px 8px; color:#111; background:#fff; font:600 12px/1.2 Lato,Arial,sans-serif; }
@media (max-width:767px) { .thrive-card a.thrive-card__title { font-size:var(--thrive-card-title-mobile,16px); } .thrive-card a.thrive-card__buy { margin-top:20px; } }
@media (prefers-reduced-motion:reduce) { .thrive-card__media img.thrive-card__alternate,.thrive-card__quick { transition:none; } }
.thrive-card span.thrive-card__title { display:block; color:var(--thrive-card-text,#111); font:400 var(--thrive-card-title,16px)/1.35 Lato,Arial,sans-serif; }
.thrive-card .thrive-card__buy--static { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:0 .3em; width:100%; min-height:52px; margin:30px 0 0; padding:11px 8px; border:1px solid var(--thrive-card-btn-text,#111); background:var(--thrive-card-btn-bg,#fff); color:var(--thrive-card-btn-text,#111); font:500 var(--thrive-card-button,13px)/1.35 Lato,Arial,sans-serif; text-align:center; text-transform:uppercase; }
@media (max-width:767px) { .thrive-card span.thrive-card__title { font-size:var(--thrive-card-title-mobile,16px); } .thrive-card .thrive-card__buy--static { margin-top:20px; } }
