/* Conserva las tarjetas y las presenta en una pista horizontal. */
#soluciones .solution-grid { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#9cacbf transparent; padding:8px 2px 24px; scroll-padding-inline:2px; }
#soluciones .solution-card { flex:0 0 calc((100% - 48px) / 3); min-width:0; scroll-snap-align:start; }
#soluciones .solution-one { display:flex; }
#soluciones .solution-card:hover { transform:translateY(-3px); }
.solutions-carousel-controls { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:18px; }
.solutions-carousel-controls[hidden] { display:none; }
.solutions-carousel-arrow { display:grid; place-items:center; width:46px; height:46px; border:1px solid #ced9e5; border-radius:50%; color:var(--primary); background:white; font:24px/1 system-ui,sans-serif; cursor:pointer; transition:background .2s,color .2s; }
.solutions-carousel-arrow:hover:not(:disabled) { background:var(--primary); color:white; }
.solutions-carousel-arrow:disabled { opacity:.35; cursor:default; }
.solutions-carousel-dots { display:flex; align-items:center; gap:2px; }
.solutions-carousel-dot { width:30px; height:44px; border:0; background:transparent; display:grid; place-items:center; padding:0; cursor:pointer; }
.solutions-carousel-dot:before { content:''; width:7px; height:7px; border-radius:12px; background:#c4d0df; transition:width .25s,background .25s; }
.solutions-carousel-dot[aria-current="true"]:before { width:23px; background:var(--secondary); }
.solutions-carousel-arrow:focus-visible,.solutions-carousel-dot:focus-visible,#solutionsTrack:focus-visible { outline:3px solid var(--secondary); outline-offset:4px; }
@media(max-width:1000px) { #soluciones .solution-card { flex-basis:calc((100% - 24px) / 2); } }
@media(max-width:620px) { #soluciones .solution-grid { gap:16px; } #soluciones .solution-card { flex-basis:90%; } .solutions-carousel-controls { gap:12px; margin-top:10px; } }
@media(prefers-reduced-motion:reduce) { .solutions-carousel-dot:before,.solutions-carousel-arrow { transition:none; } }

.solutions-carousel-pause { font-size:14px; }
/* El enlace conserva su semántica y extiende su área a toda la tarjeta. */
#soluciones .solution-card { position:relative; }
#soluciones .solution-link::after { content:''; position:absolute; inset:0; z-index:1; cursor:pointer; border-radius:24px; }
#soluciones .solution-card:focus-within { outline:3px solid var(--secondary); outline-offset:3px; }
