/* Dedicated track: independent of the home's mc-rail transform/grid overrides. */
.mrec-home{width:100%;min-width:0;color:#111b34;font-family:inherit;box-sizing:border-box}
.mrec-home *{box-sizing:border-box}
.mrec-home .mrec-track,.magister-rec--carousel .magister-rec__grid{display:flex!important;gap:20px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;scrollbar-width:none!important;transform:none!important;direction:ltr;padding:8px 2px 14px!important;width:100%;min-width:0;max-width:100%}
.mrec-track::-webkit-scrollbar,.magister-rec--carousel .magister-rec__grid::-webkit-scrollbar{display:none!important}
.mrec-home .mrec-card,.magister-rec--carousel .magister-rec__card{flex:0 0 clamp(240px,22vw,300px)!important;width:clamp(240px,22vw,300px)!important;max-width:none!important;min-width:0!important;scroll-snap-align:start;scroll-snap-stop:normal}
.mrec-home .mrec-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7e2f2;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #35206008}
.mrec-home .mrec-card>.mc-card{width:100%;height:auto;flex:1;border:0;box-shadow:none;border-radius:0;background:transparent;margin:0!important}
.mrec-home .mc-card:hover{transform:none}
.mrec-home .mc-card__media img{aspect-ratio:16/9;object-fit:cover;width:100%;height:100%}
.mrec-home .mc-card h3{font-size:15px;line-height:1.35}
.mrec-reason{display:flex;gap:8px;align-items:center;padding:9px 12px;border-top:1px solid #eeeaf7;color:#62677b;font-size:11px;line-height:1.4}
.mrec-reason span{flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mrec-reason button{border:0;background:#f4f0fd;color:#6432be;min-width:30px;min-height:30px;border-radius:50%;font:20px/1 inherit;cursor:pointer}
.mrec-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:9px 0 4px;min-height:36px}
.mrec-controls[hidden],.mrec-controls button[hidden],.magister-rec__dots[hidden]{display:none!important}
.mrec-controls button,.mrec-note button,.mrec-empty button{border:1px solid #ddd3f2;background:#fff;color:#662cce;border-radius:9px;padding:7px 12px;font:600 13px/1.2 inherit;min-height:36px;min-width:36px;cursor:pointer}
.mrec-controls button:hover{background:#f6f2ff}
.mrec-controls span{font-size:12px;color:#697083;font-variant-numeric:tabular-nums}
.mrec-home :focus-visible,.mrec-controls button:focus-visible{outline:3px solid #8b5cf6;outline-offset:3px}
.mrec-note{font-size:12px;color:#687187;margin:10px 2px}.mrec-note a{color:#7226dc}.mrec-note button{margin-left:6px}
.mrec-basic{display:flex;flex-direction:column;flex:1}.mrec-basic img{width:100%;aspect-ratio:16/9;object-fit:cover}.mrec-basic h3{margin:14px;font-size:16px;line-height:1.35}.mrec-basic a{color:inherit;text-decoration:none}.mrec-basic .mrec-cta{background:#7729e4;color:#fff;border-radius:9px;margin:auto 14px 14px;padding:10px;text-align:center;font-weight:700;font-size:13px}
.mrec-loading{display:flex;gap:20px;overflow:hidden;padding:8px 2px 14px}.mrec-skeleton{flex:0 0 clamp(240px,22vw,300px);height:340px;border:1px solid #eae6f3;border-radius:16px;background:linear-gradient(#f0edf7 0 48%,#fff 48% 55%,#f8f7fc 55% 75%,#fff 75%)}
.mrec-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.mrec-empty{padding:24px 16px;border:1px solid #eae4f6;border-radius:14px;color:#687187}
@media(max-width:900px){.mrec-home .mrec-card,.magister-rec--carousel .magister-rec__card{flex-basis:clamp(240px,40vw,300px)!important;width:clamp(240px,40vw,300px)!important}}
@media(max-width:600px){.mrec-home .mrec-track,.magister-rec--carousel .magister-rec__grid{gap:14px!important}.mrec-home .mrec-card,.magister-rec--carousel .magister-rec__card{flex-basis:min(82vw,300px)!important;width:min(82vw,300px)!important}.mrec-controls{justify-content:center}.mrec-skeleton{flex-basis:min(82vw,300px)}}
@media(prefers-reduced-motion:reduce){.mrec-track,.magister-rec--carousel .magister-rec__grid{scroll-behavior:auto!important}}
/* The host page may apply generic section spacing; keep the shortcode in its column. */
.mrec-home{margin:0!important;padding:0!important;max-width:100%!important}
body.home #magister-recommend-home{left:auto!important;right:auto!important}
.mrec-reason button{flex:0 0 36px;width:36px;max-width:36px;height:36px;min-height:36px;padding:0;display:grid;place-items:center;font-family:inherit;font-size:18px;line-height:1}
.mrec-controls button,.mrec-note button,.mrec-empty button{font-family:inherit;font-size:13px;font-weight:600;line-height:1.2}

/* Prevent stacked heading/widget spacing in the public Elementor home layout. */
body.home .magister-recommendations-section .magister-home-recommendations #mx-home-first{padding-bottom:0!important;margin-bottom:0!important}
body.home .magister-recommendations-section .magister-home-recommendations #mx-home-first>.mag-section:last-child,
body.home .magister-recommendations-section .magister-home-recommendations #mx-home-first>.mag-section:last-child>.mag-head{margin-bottom:0!important;padding-bottom:0!important}
body.home .magister-recommendations-section #magister-recommend-home{margin-top:0!important}
/* Elementor's shortcode widget has a -90px inner top margin. Reset the inner
   wrapper as well as the outer spacing so cards cannot overlap the heading. */
body.home .magister-recommendations-section #magister-recommend-home>.elementor-widget-container{margin-top:0!important}

/* 2.5.8 — Shell MagísterX: el carrusel del home ocupa exactamente el ancho de
   su columna (mismo ancho que el encabezado, Rewards y los bloques HTML).
   Neutraliza desplazamientos heredados (p. ej. left:16px en CSS adicional). */
html body #magister-recommend-home,
html body #magister-recommend-home>.elementor-widget-container,
html body #magister-recommend-home .elementor-shortcode,
html body .mrec-home{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
}
