/* Frambuesa Discover 1.4.0 — tarjetas con sello, bordes personalizables y tamaño de producto. */
.frbd-card-host { min-width:0; box-sizing:border-box; list-style:none; overflow:hidden; align-self:stretch; }
.frbd-card, .frbd-card * { box-sizing:border-box; }
.frbd-card { --frbd-accent:#B23E71; --frbd-accent2:#C35B89; --frbd-border:#E3B4C8; --frbd-border-width:1px; --frbd-tint:#FFF9FB; height:100%; margin:0; overflow:hidden; border:var(--frbd-border-width) solid var(--frbd-border); border-radius:9px; background:var(--frbd-tint); box-shadow:0 2px 10px rgba(84,29,57,.045); font-family:inherit; position:relative; }
.frbd-card--gold { --frbd-accent:#936A21; --frbd-accent2:#BB9B42; --frbd-border:#DCCCA1; --frbd-tint:#FFFDF8; }
.frbd-card--black { --frbd-accent:#373139; --frbd-accent2:#665967; --frbd-border:#CBC5CC; --frbd-tint:#FFF; }
.frbd-card--custom { --frbd-accent:#B23E71; --frbd-accent2:#B23E71; --frbd-border:#E3B4C8; --frbd-tint:#FFF; }
.frbd-card__link { display:flex; flex-direction:column; height:100%; text-decoration:none!important; color:#30282d!important; }
.frbd-card__image { display:flex; flex:1 1 auto; min-height:0; position:relative; width:100%; align-items:center; justify-content:center; background:#FFF; overflow:hidden; }
.frbd-card__image img { display:block; position:absolute; inset:0; width:100%; height:100%; max-width:100%; object-fit:contain; }
.frbd-card__badge { position:absolute; z-index:2; top:8px; left:8px; max-width:calc(100% - 16px); display:flex; align-items:center; min-width:0; color:#fff; filter:drop-shadow(0 2px 3px rgba(0,0,0,.17)); font-size:9px; font-weight:750; letter-spacing:.01em; line-height:1; }
.frbd-card__medal { flex:0 0 33px; width:33px; height:33px; display:grid; place-items:center; position:relative; z-index:1; color:#fff; background:var(--frbd-accent); border:1px solid rgba(255,255,255,.8); border-radius:50%; outline:2px solid var(--frbd-accent); outline-offset:1px; font-size:15px; box-shadow:0 0 0 1px rgba(255,255,255,.7) inset; }
.frbd-card__medal:before,.frbd-card__medal:after { content:''; width:10px; height:16px; position:absolute; top:24px; z-index:-1; background:var(--frbd-accent); clip-path:polygon(0 0,100% 0,100% 100%,50% 77%,0 100%); }
.frbd-card__medal:before { left:3px; transform:rotate(15deg); }
.frbd-card__medal:after { right:3px; transform:rotate(-15deg); }
.frbd-card__badge-text { min-width:0; position:relative; display:block; background:var(--frbd-accent); border-radius:0 5px 5px 0; margin-left:-4px; padding:0 9px 0 11px; width:145px; max-width:calc(100% - 29px); height:22px; white-space:nowrap; overflow:hidden; }
.frbd-card__badge-text > span { display:flex; align-items:center; position:absolute; left:11px; right:7px; top:0; bottom:0; overflow:hidden; text-overflow:ellipsis; opacity:0; transform:translateY(4px); animation:frbdCycle 9s linear infinite; }
.frbd-card__badge-text > span:nth-child(1) { animation-delay:0s; }
.frbd-card__badge-text > span:nth-child(2) { animation-delay:3s; }
.frbd-card__badge-text > span:nth-child(3) { animation-delay:6s; }
@keyframes frbdCycle { 0%{opacity:0;transform:translateY(4px)} 3%,29%{opacity:1;transform:none} 33%,100%{opacity:0;transform:translateY(-4px)} }
.frbd-card__badge--static .frbd-card__badge-text>span { animation:none; opacity:0; }
.frbd-card__badge--static .frbd-card__badge-text>span:first-child { opacity:1; transform:none; }
.frbd-card__link:hover .frbd-card__badge-text>span,.frbd-card__link:focus-visible .frbd-card__badge-text>span { animation-play-state:paused; }
/* Alternative badge layouts share the same text and no extra vertical space. */
.frbd-card__badge--ribbon .frbd-card__medal { width:23px; height:24px; flex-basis:23px; border-radius:4px 4px 0 0; outline:none; box-shadow:none; font-size:12px; }
.frbd-card__badge--ribbon .frbd-card__medal:before { left:0; top:21px; width:23px; height:8px; transform:none; clip-path:polygon(0 0,100% 0,50% 100%); }
.frbd-card__badge--ribbon .frbd-card__medal:after { display:none; }
.frbd-card__badge--ribbon .frbd-card__badge-text { margin-left:0; padding-left:8px; }
.frbd-card__badge--ribbon .frbd-card__badge-text>span { left:8px; }
.frbd-card__badge--stripe .frbd-card__medal { display:none; }
.frbd-card__badge--stripe .frbd-card__badge-text { margin-left:0; border-radius:4px; width:145px; padding-left:8px; max-width:100%; }
.frbd-card__badge--stripe .frbd-card__badge-text>span { left:8px; }
.frbd-card__body { display:flex; flex-direction:column; flex:0 0 auto; gap:3px; padding:7px 8px; min-width:0; }
.frbd-card__category { display:block; color:var(--frbd-accent); font-size:12px; font-weight:700; line-height:1.2; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.frbd-card__product { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:1; font-size:11px; color:#635862; line-height:1.35; }
.frbd-card__footer { display:flex; flex-wrap:nowrap; align-items:center; gap:4px; justify-content:space-between; padding-top:5px; border-top:1px solid rgba(150,52,95,.09); }
.frbd-card__price { font-size:14px; color:#30262e; font-weight:750; line-height:1.35; font-variant-numeric:tabular-nums; white-space:nowrap; }
.frbd-card__cta { color:var(--frbd-accent); font-size:10px; font-weight:700; white-space:nowrap; }
.frbd-card__cta span { font-size:14px; vertical-align:middle; }
.frbd-card__link:hover .frbd-card__image img { transform:scale(1.02); transition:transform .22s ease; }
.frbd-card__link:hover { background:rgba(255,255,255,.6); }
.frbd-card__link:focus-visible { outline:2px solid var(--frbd-accent); outline-offset:-2px; }
@media(max-width:575px) { .frbd-card { border-radius:7px; } .frbd-card__badge { top:6px; left:6px; max-width:calc(100% - 12px); font-size:8px; } .frbd-card__medal { width:27px; height:27px; flex-basis:27px; font-size:13px; } .frbd-card__medal:before,.frbd-card__medal:after { top:20px; width:8px; height:12px; } .frbd-card__badge-text { height:20px; width:126px; max-width:calc(100% - 23px); } .frbd-card__badge--stripe .frbd-card__badge-text { max-width:100%; } .frbd-card__body { padding:6px; gap:2px; } .frbd-card__category { font-size:11px; } .frbd-card__product { font-size:10px; } .frbd-card__price { font-size:12px; } .frbd-card__cta { font-size:9px; } }
@media(prefers-reduced-motion: reduce) { .frbd-card__badge-text>span { animation:none!important; opacity:0; } .frbd-card__badge-text>span:first-child { opacity:1; transform:none; } .frbd-card__link:hover .frbd-card__image img { transform:none; transition:none; } }
