.cdy-wrap{--cdy-zoom:1.08;--cdy-lift:8px;--cdy-dur:600ms;--cdy-ov:rgba(10,30,90,.45);--cdy-hshadow:rgba(27,63,160,.28);--cdy-shine:rgba(255,255,255,.55);--cdy-ease:cubic-bezier(.22,1,.36,1);position:relative;width:100%}
.cdy-swiper{overflow:hidden;padding:14px 4px 36px}
.cdy-slide{display:flex;height:auto;box-sizing:border-box}

/* Tarjeta base (todas del mismo alto) */
.cdy-card{display:flex;flex-direction:column;position:relative;width:100%;height:auto;box-sizing:border-box;text-decoration:none;color:inherit;transition:transform var(--cdy-dur) var(--cdy-ease),box-shadow var(--cdy-dur) var(--cdy-ease)}
a.cdy-card:hover,a.cdy-card:focus{text-decoration:none}
.cdy-img{display:block;position:relative;overflow:hidden;line-height:0;border-radius:14px;flex:0 0 auto}
.cdy-img img{display:block;width:100%;height:180px;object-fit:cover;border-radius:0;transform:scale(1);transition:transform calc(var(--cdy-dur) * 1.4) var(--cdy-ease)}
.cdy-img::before,.cdy-img::after{content:'';position:absolute;pointer-events:none;z-index:2}
.cdy-img::before{inset:0;background:linear-gradient(to top,var(--cdy-ov),transparent 65%);opacity:0;transition:opacity var(--cdy-dur) ease}
.cdy-img::after{top:0;left:-80%;width:45%;height:100%;background:linear-gradient(110deg,transparent,var(--cdy-shine),transparent);transform:skewX(-20deg);opacity:0;transition:left calc(var(--cdy-dur) * 1.5) ease,opacity .3s ease}

/* Botón de la tarjeta */
.cdy-btn{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#fff;color:#1B3FA0;border:1px solid #dbe5f5;box-sizing:border-box;transition:background .25s,color .25s,border-color .25s,transform var(--cdy-dur) var(--cdy-ease),box-shadow var(--cdy-dur) var(--cdy-ease)}
.cdy-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--cdy-dur) var(--cdy-ease)}
.cdy-card:hover .cdy-btn{background:#1B3FA0;color:#fff;border-color:#1B3FA0}

/* Variante TARJETA */
.cdy-card--cards{background:#fff;border:1px solid #e3ebf7;border-radius:18px;padding:12px 12px 14px;box-shadow:0 6px 18px rgba(30,64,175,.08)}
.cdy-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:14px 4px 0}
.cdy-text{min-width:0}
.cdy-title{margin:0;font-size:16px;font-weight:600;line-height:1.25;color:#1B3FA0;transition:color .3s}
.cdy-count{margin:3px 0 0;font-size:14px;line-height:1.2;color:#2F6FDB}

/* Variante SOLO IMAGEN */
.cdy-card--images{border-radius:22px}
.cdy-card--images .cdy-img{border-radius:22px}
.cdy-card--images .cdy-img img{height:260px}
.cdy-card--images .cdy-btn{position:absolute;right:14px;bottom:14px;z-index:3;background:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(0,0,0,.15)}

/* ===== HOVER ===== */
/* Elevar */
.cdy-hv-lift .cdy-card:hover,.cdy-hv-premium .cdy-card:hover{transform:translateY(calc(var(--cdy-lift) * -1));box-shadow:0 18px 38px var(--cdy-hshadow)}
/* Zoom */
.cdy-hv-zoom .cdy-card:hover .cdy-img img,.cdy-hv-premium .cdy-card:hover .cdy-img img{transform:scale(var(--cdy-zoom))}
/* Degradado */
.cdy-hv-overlay .cdy-card:hover .cdy-img::before,.cdy-hv-premium .cdy-card:hover .cdy-img::before{opacity:1}
/* Brillo */
.cdy-hv-shine .cdy-card:hover .cdy-img::after,.cdy-hv-premium .cdy-card:hover .cdy-img::after{left:130%;opacity:1}
/* Premium: botón + inclinación 3D */
.cdy-hv-premium .cdy-card:hover .cdy-btn{transform:scale(1.12);box-shadow:0 8px 20px var(--cdy-hshadow)}
.cdy-hv-premium .cdy-card:hover .cdy-btn svg{transform:translateX(3px)}
.cdy-hv-premium .cdy-card.cdy-tilting{transition:transform 140ms ease-out,box-shadow var(--cdy-dur) var(--cdy-ease);transform:translateY(calc(var(--cdy-lift) * -1)) perspective(900px) rotateX(var(--cdy-rx,0deg)) rotateY(var(--cdy-ry,0deg))}

@media (prefers-reduced-motion:reduce){
.cdy-card,.cdy-img img,.cdy-btn,.cdy-btn svg{transition:none!important}
.cdy-img::after{display:none}
}

/* Flechas laterales */
.cdy-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:11px;border-radius:50%;background:#fff;color:#222;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:opacity .2s,background .2s,color .2s}
.cdy-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cdy-prev{left:0}.cdy-next{right:0}
.cdy-arrow.swiper-button-disabled{opacity:.35;cursor:default}

/* Paginación */
.cdy-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:4px;position:static;width:100%}
.cdy-wrap .cdy-pagination .swiper-pagination-bullet{width:10px;height:10px;border-radius:50%;background:rgba(252,20,23,.3);opacity:1;cursor:pointer}
.cdy-wrap .cdy-pagination .swiper-pagination-bullet-active{background:#FC1417}
.cdy-notice{padding:14px;background:#fff3f3;border:1px dashed #FC1417;color:#333;text-align:center}

/* Igualar alto de todas las tarjetas (refuerzo con mayor especificidad) */
.cdy-wrap .cdy-swiper .swiper-wrapper{align-items:stretch}
.cdy-wrap .cdy-swiper .swiper-slide.cdy-slide{display:flex;height:auto;align-self:stretch}
.cdy-wrap .cdy-swiper .cdy-card{flex:1 1 auto;align-self:stretch;height:auto}

/* Modo GRID */
.cdy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:14px 4px 36px;align-items:stretch}
.cdy-grid>.cdy-slide{min-width:0}
@media (max-width:1024px){.cdy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.cdy-grid{grid-template-columns:minmax(0,1fr)}}
