/* Mejora progresiva del bloque existente. Sin reglas para menús ni carruseles. */
.container.cl-marcas {
    --cl-marcas-celda: 176px;
    --cl-marcas-hueco: 24px;
    height: auto;
    min-height: 0;
    margin-top: 42px;
    margin-bottom: 30px;
    padding-top: 24px;
    padding-bottom: 18px;
    background: #fff;
    color: #20394c;
    content-visibility: visible;
    contain-intrinsic-size: none;
}
.cl-marcas > .row { display: block; margin-left: 0; margin-right: 0; text-align: center; }
.cl-marcas .titulomarcas { width: 100%; margin: 0 0 8px; padding: 0; color: #183b51; font-size: 28px; font-weight: 300; line-height: 1.3; }
.cl-marcas .subtitulomarcas { width: 100%; margin: 0 0 28px !important; padding: 0; color: #536977; font-size: 16px; font-weight: 400; line-height: 1.5; }
.cl-marcas .cl-marcas__ribbons { width: 100%; margin: 0; }
.cl-marcas .cl-marcas__lane { width: 100%; overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.cl-marcas .cl-marcas__lane + .cl-marcas__lane { margin-top: 10px; }
.cl-marcas .cl-marcas__track { display: flex; width: max-content; animation: cl-marcas-deslizar 52s linear infinite; animation-play-state: paused; }
.cl-marcas .cl-marcas__lane:nth-child(2) .cl-marcas__track { animation-direction: reverse; animation-duration: 58s; }
.cl-marcas .cl-marcas__group { display: flex; flex: 0 0 auto; align-items: center; gap: var(--cl-marcas-hueco); margin: 0; padding: 0 var(--cl-marcas-hueco) 0 0; }
.cl-marcas .cl-marcas__group .img_marcas { display: flex; flex: 0 0 var(--cl-marcas-celda); align-items: center; justify-content: center; float: none; width: var(--cl-marcas-celda); height: 72px; margin: 0; padding: 0 12px; box-sizing: border-box; }
.cl-marcas .cl-marcas__group .img_marcas img { display: block; width: 140px; max-width: 100%; height: 58px; margin: 0; object-fit: contain; }
.cl-marcas[data-cl-marcas-active="true"]:not([data-cl-marcas-paused="true"]) .cl-marcas__track { animation-play-state: running; }
.cl-marcas:focus-visible { outline: 3px solid #0087c9; outline-offset: 4px; }
.cl-marcas .cl-marcas__help { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (hover: hover) and (pointer: fine) {
    .cl-marcas:hover .cl-marcas__track { animation-play-state: paused !important; }
}
@keyframes cl-marcas-deslizar { from { transform: translateX(0); } to { transform: translateX(-33.333333%); } }
@media (max-width: 767px) {
    .container.cl-marcas { --cl-marcas-celda: 132px; --cl-marcas-hueco: 18px; margin-top: 32px; margin-bottom: 20px; padding-top: 20px; }
    .cl-marcas .titulomarcas { font-size: 25px; }
    .cl-marcas .subtitulomarcas { font-size: 15px; margin-bottom: 20px !important; }
    .cl-marcas .cl-marcas__group .img_marcas { height: 65px; padding: 0 8px; }
    .cl-marcas .cl-marcas__group .img_marcas img { width: 116px; height: 50px; }
    .cl-marcas .cl-marcas__lane + .cl-marcas__lane { margin-top: 6px; }
    .cl-marcas .cl-marcas__lane:nth-child(1) .cl-marcas__track { animation-duration: 46s; }
    .cl-marcas .cl-marcas__lane:nth-child(2) .cl-marcas__track { animation-duration: 50s; }
}
/* Sin animación, todas las marcas quedan visibles: nunca una tira recortada. */
@media (prefers-reduced-motion: reduce), print {
    .cl-marcas .cl-marcas__lane { overflow: visible; -webkit-mask-image: none; mask-image: none; }
    .cl-marcas .cl-marcas__track { display: block; width: 100%; animation: none !important; transform: none !important; }
    .cl-marcas .cl-marcas__group { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; width: 100%; padding: 0; }
    .cl-marcas .cl-marcas__group .img_marcas { width: 100%; min-width: 0; }
    .cl-marcas .cl-marcas__group[aria-hidden="true"] { display: none; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 767px) {
    .cl-marcas .cl-marcas__group { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
}
