/* El Buen Fin · CAPES. Prefijo capes-bf- . Paleta del logo: rojo #DD220D, negro #1F1A17, blanco. */
:root{--bf-red:#DD220D;--bf-red2:#B81A08;--bf-ink:#1F1A17;--bf-cream:#FFF6E5;--bf-yellow:#FFD23F}
.capes-bf-bar{position:relative;z-index:30;overflow:hidden;background:var(--bf-red);color:#fff;border-bottom:4px solid var(--bf-ink);font:800 13.5px/1 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.capes-bf-track{display:flex;width:max-content;animation:capes-bf-run 28s linear infinite;padding:10px 0}
.capes-bf-track span{padding:0 22px;white-space:nowrap}
.capes-bf-track span:nth-child(even){color:var(--bf-ink)}
@keyframes capes-bf-run{to{transform:translateX(-50%)}}
.capes-bf-strip{position:relative;height:0;z-index:6;pointer-events:none}
.capes-bf-sheet{position:absolute;left:0;right:0;top:0;height:20px;background:
 conic-gradient(from -45deg at 50% 100%,var(--bf-red) 0 90deg,transparent 0) 0 0/28px 14px repeat-x;}
.capes-bf-sheet::after{content:"";position:absolute;left:0;right:0;top:-1px;height:4px;background:var(--bf-ink)}
.capes-bf-conf{position:fixed;top:-20px;width:10px;height:10px;opacity:.9;pointer-events:none;z-index:7;animation:capes-bf-fall linear infinite}
@keyframes capes-bf-fall{to{transform:translate3d(var(--dx),110vh,0) rotate(720deg)}}
.capes-bf-foot{position:relative;height:0;z-index:2}
.capes-bf-foot .strip{position:absolute;left:0;right:0;top:-40px;height:40px;background:
 linear-gradient(var(--bf-red),var(--bf-red)) 0 0/100% 26px no-repeat,
 repeating-linear-gradient(90deg,var(--bf-ink) 0 20px,#fff 20px 40px) 0 26px/100% 14px no-repeat;border-top:3px solid var(--bf-ink)}
.capes-bf-foot .strip::before{content:"EL BUEN FIN  :)   ·   EL BUEN FIN  :)   ·   EL BUEN FIN  :)   ·   EL BUEN FIN  :)   ·   EL BUEN FIN  :)   ·   EL BUEN FIN  :)   ·   EL BUEN FIN  :)   ·   EL BUEN FIN  :)";position:absolute;left:0;top:0;line-height:26px;white-space:nowrap;overflow:hidden;width:100%;color:#fff;font:900 12px/26px Inter,Arial,sans-serif;letter-spacing:.14em}
.capes-bf-badge{position:fixed;right:14px;bottom:86px;z-index:40;width:118px;display:block;transform:rotate(-6deg);filter:drop-shadow(0 8px 14px rgba(31,26,23,.4));animation:capes-bf-wob 3s ease-in-out infinite;text-decoration:none}
.capes-bf-badge img{width:100%;height:auto;display:block}
@keyframes capes-bf-wob{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(3deg) scale(1.05)}}
.capes-bf-intro{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;background:
 repeating-conic-gradient(from 0deg at 50% 62%,#E8290F 0 7.5deg,#C81E0A 7.5deg 15deg);color:#fff;transition:opacity .9s ease,visibility .9s;font-family:Inter,"Helvetica Neue",Arial,sans-serif;overflow:hidden}
.capes-bf-intro.is-out{opacity:0;visibility:hidden}
.capes-bf-intro img{width:clamp(240px,34vw,420px);height:auto;filter:drop-shadow(0 14px 0 rgba(31,26,23,.35));animation:capes-bf-pop .9s cubic-bezier(.2,1.4,.4,1) both}
@keyframes capes-bf-pop{from{transform:scale(.3) rotate(-14deg);opacity:0}to{transform:none;opacity:1}}
.capes-bf-intro p{margin:22px 0 0;font-weight:900;font-size:clamp(20px,3.4vw,34px);text-shadow:0 3px 0 var(--bf-ink)}
.capes-bf-intro .sub{display:inline-block;margin-top:12px;background:var(--bf-ink);color:#fff;padding:8px 18px;font-weight:800;font-size:clamp(13px,1.8vw,17px);letter-spacing:.06em;text-transform:uppercase}
.capes-bf-intro .go{margin-top:22px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.capes-bf-intro .sar{position:absolute;top:18px;left:0;right:0;font-weight:800;letter-spacing:.3em;font-size:12px;text-transform:uppercase}
@media(max-width:600px){.capes-bf-badge{width:92px;bottom:76px}.capes-bf-bar{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.capes-bf-track,.capes-bf-conf,.capes-bf-badge,.capes-bf-intro img{animation:none}}

/* Sello del Buen Fin sobre todas las portadas y «Ahorras X%» en rojo (Os, 2026-11-11) */
.course__media,.course-thumb,.pkg-card__media{position:relative}
.course__media::after,.course-thumb::after{content:"";position:absolute;right:8px;bottom:8px;width:76px;height:74px;background:url(/capes/assets/img/buen-fin.png) center/contain no-repeat;transform:rotate(-6deg);filter:drop-shadow(0 4px 8px rgba(31,26,23,.45));pointer-events:none;z-index:3}
.course--row .course__media::after{width:52px;height:50px;right:4px;bottom:4px}
.tag--bf{background:#DD220D!important;color:#fff!important;font-weight:800;font-size:13px;letter-spacing:.02em;padding:6px 11px;border-radius:6px;box-shadow:0 2px 8px rgba(184,26,8,.45);z-index:4}
.bf-save,.discount.bf-save{display:inline-block;background:#DD220D;color:#fff!important;font-weight:800;font-style:normal;padding:4px 10px;border-radius:6px}
@media(max-width:820px){.grid-courses .course__media .tag--bf,.course--row .course__media .tag--bf{display:none!important}.grid-courses .course__media::after,.course--row .course__media::after{width:44px;height:43px;right:3px;bottom:3px}}
.course--row .course__price::after,.grid-courses .course__price .bf-mini{content:none}
