/* Approved homepage gallery card. Data and purchase behavior belong to its caller. */
.genacol-product-card { display: flex; flex-direction: column; gap: 14px; height: 100%; min-width: 0; }
.genacol-product-card__media { position: relative; display: block; flex: none; background: radial-gradient(80% 60% at 50% 30%, #FFFFFF 0%, var(--g-surface-2) 70%, var(--g-surface-3) 100%); border-radius: 4px; aspect-ratio: 4/5; overflow: hidden; color: var(--g-text); box-shadow: inset 0 0 0 1px rgba(0,75,72,.06); transition: box-shadow .3s; }
.genacol-product-card__media:hover, .genacol-product-card__media:focus-visible { box-shadow: inset 0 0 0 1px var(--g-border), 0 24px 40px -20px rgba(0,75,72,.35); }
.genacol-product-card__shadow { position: absolute; left: 14%; right: 14%; bottom: 6%; height: 7%; border-radius: 50%; background: radial-gradient(50% 50% at 50% 50%, rgba(0,75,72,.28), rgba(0,75,72,0) 70%); }
.genacol-product-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.genacol-product-card__badge { position: absolute; top: 12px; left: 12px; max-width: calc(100% - 24px); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--g-dark); background: rgba(255,255,255,.9); padding: 5px 9px; border-radius: 2px; overflow-wrap: anywhere; }
.genacol-product-card__details { display: flex; flex-direction: column; gap: 6px; }
.genacol-product-card__title-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 10px; }
.genacol-product-card h3 { min-width: 0; overflow-wrap: anywhere; font-weight: 600; font-size: clamp(21px,1.9vw,27px); line-height: 1.1; min-height: 2.2em; color: var(--g-dark); }
.genacol-product-card__price { font-size: 18px; font-weight: 700; color: var(--g-dark); max-width: 100%; overflow-wrap: anywhere; line-height: 1.5; }
.genacol-product-card__benefit { font-size: 14px; line-height: 1.5; min-height: 3em; color: var(--g-text-muted); }
.genacol-product-card__format { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--g-description-text); }
.genacol-product-card__actions { display: flex; gap: 8px; margin-top: auto; padding-top: 4px; }
.genacol-product-card__purchase { min-width: 0; flex: 1; display: inline-flex; justify-content: center; align-items: center; height: 50px; background: var(--g-primary); color: #FFFFFF; font-size: 13.5px; font-weight: 700; letter-spacing: .06em; border-radius: 2px; box-shadow: 0 10px 20px -10px rgba(0,75,72,.7); text-align: center; }
.genacol-product-card__view { box-sizing: content-box; width: 50px; height: 50px; flex: none; display: grid; place-items: center; border: 1px solid rgba(0,75,72,.3); color: var(--g-dark); border-radius: 2px; }
a.genacol-product-card__purchase { transition: background .25s; }
a.genacol-product-card__purchase:hover { background: var(--g-primary-hover); color: #FFFFFF; }
a.genacol-product-card__view:hover { border-color: var(--g-dark); background: var(--g-surface-2); color: var(--g-dark); }
.genacol-product-card__missing { position: absolute; inset: 25% 10%; display: grid; place-items: center; text-align: center; }
