/* Carruseles de productos: [csg_carrusel] y [csg_portada]. Todas las tarjetas miden lo mismo. */
.csg-front{display:flex;flex-direction:column;gap:22px;max-width:1240px;margin:0 auto;padding:0 12px}
.csg-carousel{--csg-cols:5;position:relative;background:#fff;border-radius:12px;padding:16px 44px 30px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.csg-carousel__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.csg-carousel__track::-webkit-scrollbar{display:none}
.csg-card{flex:0 0 calc(100% / var(--csg-cols));box-sizing:border-box;padding:0 8px;scroll-snap-align:start;display:flex;flex-direction:column;text-align:center;text-decoration:none!important;color:inherit}
.csg-card__img{display:block;aspect-ratio:1/1;overflow:hidden}
.csg-card__img img{width:100%;height:100%;object-fit:contain;display:block}
.csg-card__title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.9em;font-size:13px;line-height:1.3;font-weight:600;color:var(--csg-dark,#0f3d2e);margin-top:8px}
.csg-card__price{display:block;margin-top:6px;font-size:15px;font-weight:700;color:var(--csg-accent,#008040)}
.csg-card__price del{display:block;font-size:12px;font-weight:400;opacity:.6}
.csg-card__price ins{text-decoration:none}
.csg-carousel__nav{position:absolute;top:calc(50% - 20px);width:34px;height:34px;border-radius:50%;border:0;background:#fff;color:var(--csg-dark,#0f3d2e);box-shadow:0 2px 8px rgba(0,0,0,.22);font-size:22px;line-height:1;cursor:pointer;padding:0;z-index:2}
.csg-carousel__nav:hover{background:var(--csg-accent,#008040);color:#fff}
.csg-carousel__prev{left:6px}
.csg-carousel__next{right:6px}
.csg-carousel__dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:7px}
.csg-carousel__dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#d4d4d4;cursor:pointer}
.csg-carousel__dots button.is-active{background:var(--csg-accent,#008040)}
[hidden]{display:none!important}
@media (max-width:1023px){.csg-carousel{--csg-cols:3!important;padding:14px 38px 30px}}
@media (max-width:599px){.csg-carousel{--csg-cols:2!important;padding:12px 40px 34px}.csg-carousel__nav{width:34px;height:34px;font-size:22px;left:2px}.csg-carousel__next{left:auto;right:2px}.csg-carousel__nav::after{content:"";position:absolute;inset:-5px}.csg-card{padding:0 5px}}
.csg-carousel__title{margin:0 0 10px;padding:0 8px;text-align:left;font-size:22px;line-height:1.2;font-weight:700;color:var(--csg-dark,#0f3d2e)}
.csg-carousel__title::after{content:"";display:block;width:44px;height:3px;margin-top:6px;border-radius:2px;background:var(--csg-accent,#008040)}
/* las flechas se centran en las tarjetas, no en el título */
.csg-carousel__title~.csg-carousel__nav{top:calc(50% + 14px)}
@media (max-width:599px){.csg-carousel__title{font-size:18px}}
.csg-front__title{margin:6px 0 2px;text-align:center;font-size:30px;line-height:1.2;font-weight:700;color:var(--csg-dark,#0f3d2e)}
.csg-front__title::after{content:"";display:block;width:56px;height:3px;margin:10px auto 0;border-radius:2px;background:var(--csg-accent,#008040)}
@media (max-width:599px){.csg-front__title{font-size:22px}}
